瀏覽代碼

中医院规则开发

chengyao 3 年之前
父節點
當前提交
318cad6539

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03214.java

@@ -16,7 +16,7 @@ import java.util.stream.Collectors;
  * @ClassName : FIRP03214
  * @Description : 出院中医主证编码未填写
  * @Author : cy
- * @Date: 2020-03-06 17:28
+ * @Date: 2022-03-06 17:28
  */
 @Component
 public class FIRP03214 extends QCCatalogue {

+ 40 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03215.java

@@ -0,0 +1,40 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+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.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP03215
+ * @Description : 出院主证入院病情未填写
+ * @Author : cy
+ * @Date: 2022-03-06 17:28
+ */
+@Component
+public class FIRP03215 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, Object> firstpageStructureMapExt = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            List<Map<String, String>> dischargeDiag = (List) firstpageStructureMapExt.get(Content.dischargeDiag);
+            if (ListUtil.isEmpty(dischargeDiag)) {
+                return;
+            }
+            for (Map<String, String> stringStringMap : dischargeDiag) {
+                if ("中医".equals(stringStringMap.get(Content.chinese_western_type))) {
+                    if ("主症".equals(stringStringMap.get(Content.diagnose_type)) && !CatalogueUtil.isEmpty(stringStringMap.get(Content.diagnose_name))
+                            && CatalogueUtil.isEmpty(stringStringMap.get(Content.inStatus))) {
+                        status.set("-1");
+                    }
+                }
+            }
+        }
+    }
+}

+ 43 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03216.java

@@ -0,0 +1,43 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+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.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP03216
+ * @Description : 出院主证入院病情填写错误
+ * @Author : cy
+ * @Date: 2022-03-06 17:28
+ */
+@Component
+public class FIRP03216 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+            Map<String, Object> firstpageStructureMapExt = inputInfo.getFirstPageRecordDoc().getStructureExtMap();
+            List<Map<String, String>> dischargeDiag = (List) firstpageStructureMapExt.get(Content.dischargeDiag);
+            if (ListUtil.isEmpty(dischargeDiag)) {
+                return;
+            }
+            for (Map<String, String> stringStringMap : dischargeDiag) {
+                if ("中医".equals(stringStringMap.get(Content.chinese_western_type))) {
+                    if ("主症".equals(stringStringMap.get(Content.diagnose_type)) && !CatalogueUtil.isEmpty(stringStringMap.get(Content.diagnose_name))
+                            && !CatalogueUtil.isEmpty(stringStringMap.get(Content.inStatus))) {
+                        String inStatus = stringStringMap.get(Content.inStatus);
+                        if(!Content.ADMISSIONCONDITION.stream().anyMatch(obj->inStatus.equals(obj))){
+                            status.set("-1");
+                        }
+                    }
+                }
+            }
+        }
+    }
+}

+ 32 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstpagerecord/FIRP03217.java

@@ -0,0 +1,32 @@
+package com.lantone.qc.kernel.catalogue.firstpagerecord;
+
+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.util.ListUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName : FIRP03217
+ * @Description : 实施临床路径未填写
+ * @Author : cy
+ * @Date: 2022-03-06 17:28
+ */
+@Component
+public class FIRP03217 extends QCCatalogue {
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getFirstPageRecordDoc() != null && inputInfo.getFirstPageRecordDoc().getStructureMap() != null) {
+
+            Map<String, String> structureMap = inputInfo.getFirstPageRecordDoc().getStructureMap();
+            if(CatalogueUtil.isEmpty(structureMap.get(Content.implementation_clinical_pathway))){
+                status.set("-1");
+            }
+        }
+    }
+}

+ 7 - 0
public/src/main/java/com/lantone/qc/pub/Content.java

@@ -164,6 +164,7 @@ public class Content {
 
     public static final String medical_classification = "病历分型";
 //    public static final String inStatus = "入院病情";
+public static final String implementation_clinical_pathway = "实施临床路径";
 
     public static final String outpatientEmergencyDiag = "门急诊诊断";
     public static final String diagCode = "诊断编码";
@@ -705,6 +706,12 @@ public class Content {
     public static List<String> NUMBERLIST = Arrays.asList(
             "枚","支","块","个");
 
+    /**
+     *   入院病情代码表
+     */
+    public static List<String> ADMISSIONCONDITION= Arrays.asList(
+            "有","临床未确定","情况不明","无");
+
 
 }