Browse Source

出院小结入院诊断与入院记录初步诊断不一致 添加

rengb 5 years ago
parent
commit
78cc01cc8c

+ 46 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA03030.java

@@ -0,0 +1,46 @@
+package com.lantone.qc.kernel.catalogue.leavehospital;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.doc.DeathRecordDoc;
+import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
+import com.lantone.qc.pub.model.entity.Diag;
+import com.lantone.qc.pub.model.label.DiagLabel;
+import com.lantone.qc.pub.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * @Description: 出院小结入院诊断与入院记录初步诊断不一致
+ * @author: 胡敬
+ * @time: 2020/3/27 15:15
+ */
+@Component
+public class LEA03030 extends QCCatalogue {
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        LeaveHospitalDoc leaveHospitalDoc = inputInfo.getLeaveHospitalDoc();
+        if (leaveHospitalDoc == null) {
+            return;
+        }
+        DeathRecordDoc deathRecordDoc = inputInfo.getDeathRecordDoc();
+        if (deathRecordDoc == null || deathRecordDoc.getText() == null) {
+            if (inputInfo.getBeHospitalizedDoc() != null) {
+                DiagLabel beHospitalizedLabel = leaveHospitalDoc.getBeHospitalizedLabel();
+                DiagLabel initialDiagLabel = inputInfo.getBeHospitalizedDoc().getInitialDiagLabel();
+                if (beHospitalizedLabel != null && initialDiagLabel != null) {
+                    //出院记录入院诊断
+                    List<Diag> beHospitalizedDiags = beHospitalizedLabel.getDiags();
+                    //入院记录初步诊断
+                    List<Diag> initialDiags = initialDiagLabel.getDiags();
+                    if (!ListUtil.equals(beHospitalizedDiags, initialDiags)) {
+                        status.set("-1");
+                    }
+                }
+            }
+        }
+    }
+}