Sfoglia il codice sorgente

主诉中的症状在现病史中未找到 规则更新

kongwz 5 anni fa
parent
commit
57581963ae

+ 35 - 9
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0560.java

@@ -23,14 +23,31 @@ public class BEH0560 extends QCCatalogue {
         status.set("0");
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         if(beHospitalizedDoc != null){
-            int cnt = 0;
-
-            List<Clinical> clinicals_present = beHospitalizedDoc.getPresentLabel().getClinicals();
-
+//            int cnt = 0;
             String chief_txt = beHospitalizedDoc.getChiefLabel().getText();
-            String present_txt = beHospitalizedDoc.getPresentLabel().getText();
+            if(chief_txt.contains("检查") || chief_txt.contains("术后") || chief_txt.contains("药物") || chief_txt.contains("发现")){
+                status.set("0");
+                return;
+            }
+            List<Clinical> clinicals_chief = beHospitalizedDoc.getChiefLabel().getClinicals();
+            List<Clinical> clinicals_present = beHospitalizedDoc.getPresentLabel().getClinicals();
+            List<String> chief_symp = new ArrayList<>();
+            if(clinicals_chief != null && clinicals_chief.size()>0){
+                for (Clinical clinical:clinicals_present) {
+                    if (clinical.getNegative()==null) {
+                        if (chief_symp.indexOf(clinical.getName()) == -1) {
+                            chief_symp.add(clinical.getName());
+                        }
+                    }
+                    else {
+                        continue;
+                    }
+                }
+            }
+//            String chief_txt = beHospitalizedDoc.getChiefLabel().getText();
+//            String present_txt = beHospitalizedDoc.getPresentLabel().getText();
 
-            String present_chief_txt = present_txt.split("伴")[0];
+//            String present_chief_txt = present_txt.split("伴")[0];
 
             List<String> present_symp = new ArrayList<>();
 
@@ -41,10 +58,19 @@ public class BEH0560 extends QCCatalogue {
                     }
                 }
                 else {
-                    break;
+                    continue;
+                }
+            }
+            if(chief_symp.size()>0 && present_symp.size()>0){
+                for (String cli:chief_symp
+                     ) {
+                    if(!present_symp.contains(cli)){
+                        status.set("-1");
+                        return;
+                    }
                 }
             }
-            for (String symp:present_symp) {
+            /*for (String symp:present_symp) {
                 if (present_chief_txt.contains(symp) && !chief_txt.contains(symp)) {
                     cnt += 1;
                 }
@@ -52,7 +78,7 @@ public class BEH0560 extends QCCatalogue {
 
             if(cnt>0){
                 status.set("-1");
-            }
+            }*/
         }
     }
 }