Procházet zdrojové kódy

台州出院记录规则添加

hujing před 5 roky
rodič
revize
591abd2435

+ 24 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0507.java

@@ -0,0 +1,24 @@
+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.util.StringUtil;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Description: 无出院记录
+ * @author: 胡敬
+ * @time: 2020/3/27 15:15
+ */
+@Component
+public class LEA0507 extends QCCatalogue {
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getLeaveHospitalDoc() == null) {
+            status = "-1";
+        }
+    }
+
+}

+ 38 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0509.java

@@ -0,0 +1,38 @@
+package com.lantone.qc.kernel.catalogue.leavehospital;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+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 LEA0509 extends QCCatalogue {
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstCourseRecordDoc() != null) {
+            DiagLabel beHospitalizedLabel = inputInfo.getLeaveHospitalDoc().getBeHospitalizedLabel();
+            DiagLabel initialDiagLabel = inputInfo.getFirstCourseRecordDoc().getInitialDiagLabel();
+            if (beHospitalizedLabel != null && initialDiagLabel != null) {
+                //出院记录入院诊断
+                List<Diag> beHospitalizedDiags = beHospitalizedLabel.getDiags();
+                //首程初步诊断
+                List<Diag> initialDiags = initialDiagLabel.getDiags();
+                if (!ListUtil.equals(beHospitalizedDiags, initialDiags)) {
+                    status = "-1";
+                }
+            }
+        }
+    }
+}

+ 54 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0514.java

@@ -0,0 +1,54 @@
+package com.lantone.qc.kernel.catalogue.leavehospital;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+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.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 出院记录出院诊断与首页出院诊断不一致
+ * @author: 胡敬
+ * @time: 2020/3/27 15:48
+ */
+@Component
+public class LEA0514 extends QCCatalogue {
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getLeaveHospitalDoc() != null || inputInfo.getFirstPageRecordDoc() != null) {
+            DiagLabel leaveDiagLabel = inputInfo.getLeaveHospitalDoc().getLeaveDiagLabel();
+            Map<String, Object> firstPageRecordStructureExtMap = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            List<Map<String, String>> dischargeDiagStructure = (List<Map<String, String>>) firstPageRecordStructureExtMap.get(Content.dischargeDiag);
+            if (ListUtil.isEmpty(dischargeDiagStructure)){
+                return;
+            }
+            //首页出院诊断
+            List<Diag> dischargeDiags = new ArrayList<>();
+            for (Map<String, String> dischargeDiagMap:dischargeDiagStructure) {
+                String diagnoseName = dischargeDiagMap.get(Content.diagnoseName);
+                if (CatalogueUtil.isEmpty(diagnoseName)){
+                    continue;
+                }
+                Diag diag = new Diag();
+                diag.setName(diagnoseName);
+                dischargeDiags.add(diag);
+            }
+            if (leaveDiagLabel != null) {
+                //出院记录出院诊断
+                List<Diag> beHospitalizedDiags = leaveDiagLabel.getDiags();
+                if (!ListUtil.equals(beHospitalizedDiags, dischargeDiags)) {
+                    status = "-1";
+                }
+            }
+        }
+    }
+}

+ 29 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA0515.java

@@ -0,0 +1,29 @@
+package com.lantone.qc.kernel.catalogue.leavehospital;
+
+import com.lantone.qc.kernel.catalogue.QCCatalogue;
+import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.model.InputInfo;
+import com.lantone.qc.pub.model.OutputInfo;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+/**
+ * @Description: 出院记录无健康教育
+ * @author: 胡敬
+ * @time: 2020/3/27 15:44
+ */
+@Component
+public class LEA0515 extends QCCatalogue {
+    @Override
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status = "0";
+        if (inputInfo.getLeaveHospitalDoc() != null && inputInfo.getLeaveHospitalDoc().getStructureMap() != null) {
+            Map<String, String> leaveHospitalStructureMap = inputInfo.getLeaveHospitalDoc().getStructureMap();
+            if (CatalogueUtil.isEmpty(leaveHospitalStructureMap.get("健康教育(包括饮食指导)"))) {
+                status = "-1";
+            }
+        }
+    }
+
+}