Forráskód Böngészése

1.诊断与体征描述相互矛盾添加提示信息
2.添加规则:体征前后描述矛盾

huj 5 éve
szülő
commit
25b36dc12f

+ 6 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03060.java

@@ -10,6 +10,7 @@ import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName : BEH03060
@@ -31,17 +32,20 @@ public class BEH03060 extends QCCatalogue {
         }
 
         List<String> diags = Lists.newArrayList(initialDiagLabel.getText().split("\n"));
-        long matchNum = diags.stream().filter(x -> x.contains("房扑") || x.contains("房颤")).count();
-        if (matchNum > 0) {
+        List<String> matchDiag = diags.stream().filter(x -> x.contains("房扑") || x.contains("房颤")).collect(Collectors.toList());
+        if (matchDiag.size() > 0) {
+            String diag = matchDiag.get(0);//取第一个包含房扑或房颤的疾病名称
             Map<String, String> behStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
             String heartRate = behStructureMap.get("心律");
             if (StringUtil.isNotBlank(heartRate) && "齐".equals(heartRate)) {
                 status.set("-1");
+                info.set(diag + "->心律齐");
                 return;
             }
             String specialCheck = behStructureMap.get("专科体格检查");
             if (StringUtil.isNotBlank(specialCheck) && specialCheck.contains("律齐")) {
                 status.set("-1");
+                info.set(diag + "->心律齐");
             }
         }
     }

+ 47 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH03061.java

@@ -0,0 +1,47 @@
+package com.lantone.qc.kernel.catalogue.behospitalized;
+
+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;
+
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * @ClassName : BEH03061
+ * @Description : 体征前后描述矛盾
+ * @Author : 胡敬
+ * @Date: 2020-08-11 15:28
+ */
+@Component
+public class BEH03061 extends QCCatalogue {
+
+    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        status.set("0");
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            return;
+        }
+        Map<String, String> behStructureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+        String heartRate = behStructureMap.get("心律");
+        String specialCheck = behStructureMap.get("专科体格检查");
+        if (StringUtil.isNotBlank(heartRate) && StringUtil.isNotBlank(specialCheck)) {
+            Pattern p = Pattern.compile("心律.*齐");
+            Matcher m = p.matcher(specialCheck);
+            if (m.find()) {
+                String matchVital = m.group(0);
+                if (StringUtil.isNotBlank(matchVital)) {
+                    if ("齐".equals(heartRate) && matchVital.contains("不")) {
+                        status.set("-1");
+                        info.set("心律齐->" + matchVital);
+                    } else if ("不齐".equals(heartRate) && !matchVital.contains("不")) {
+                        status.set("-1");
+                        info.set("心律不齐->" + matchVital);
+                    }
+                }
+            }
+        }
+    }
+}