浏览代码

1、修改部分规则条目,使用词硬匹配

louhr 5 年之前
父节点
当前提交
9b09bfe861

+ 5 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0053.java

@@ -17,6 +17,11 @@ public class BEH0053 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        if (inputInfo.getBeHospitalizedDoc().getMaritalLabel() == null
+                || StringUtil.isBlank(inputInfo.getBeHospitalizedDoc().getMaritalLabel().getText())) {
+            status.set("0");
+        }
+
         Marryiage marryiage = inputInfo.getBeHospitalizedDoc().getMaritalLabel().getMarryiage();
         if (marryiage != null && StringUtil.isNotBlank(marryiage.getName())) {
             status.set("0");

+ 4 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0073.java

@@ -39,5 +39,9 @@ public class BEH0073 extends QCCatalogue {
                 }
             }
         }
+        if (inputInfo.getBeHospitalizedDoc().getPastLabel().getText().contains("肝炎")
+                || inputInfo.getBeHospitalizedDoc().getPastLabel().getText().contains("结核")) {
+            status.set("0");
+        }
     }
 }

+ 6 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0378.java

@@ -56,6 +56,12 @@ public class BEH0378 extends QCCatalogue {
                 status.set("0");
             }
         }
+
+        //规则匹配
+        if (inputInfo.getBeHospitalizedDoc().getFamilyLabel() != null
+                && inputInfo.getBeHospitalizedDoc().getFamilyLabel().getText().contains("自然死亡")) {
+            status.set("0");
+        }
     }
 
 }

+ 13 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0442.java

@@ -4,6 +4,7 @@ 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.BeHospitalizedDoc;
+import com.lantone.qc.pub.model.entity.General;
 import com.lantone.qc.pub.model.entity.GeneralDesc;
 import org.springframework.stereotype.Component;
 
@@ -19,26 +20,23 @@ import java.util.List;
 @Component
 public class BEH0442 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        status.set("0");
-        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
-        if(beHospitalizedDoc != null && beHospitalizedDoc.getPresentLabel() != null){
-            String text = beHospitalizedDoc.getPresentLabel().getText();
-            if(text != null && (text.contains("便") || text.contains("血尿") || text.contains("多尿"))){
-                return;
-            }else {
-                status.set("-1");
-            }
-        }
-        /*List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
+        List<GeneralDesc> generals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGenerals();
         if(generals.size() > 0 || generals != null){
             for (GeneralDesc general:generals) {
-                if(general.getName().contains("二便") || general.getName().contains("小便")
-                        ||general.getName().contains("大便")||general.getName().contains("大小便")){
+                if(general.getName().contains("便") || general.getName().contains("尿")){
                     status.set("0");
                     break;
                 }
             }
-        }*/
-
+        }
+        List<General> gens = inputInfo.getBeHospitalizedDoc().getPresentLabel().getGens();
+        if(gens.size() > 0 || gens != null){
+            for (General general:gens) {
+                if(general.getName().contains("便") || general.getName().contains("尿")){
+                    status.set("0");
+                    break;
+                }
+            }
+        }
     }
 }

+ 8 - 0
kernel/src/main/java/com/lantone/qc/kernel/structure/ai/process/EntityProcessClinic.java

@@ -72,6 +72,14 @@ public class EntityProcessClinic extends EntityProcess {
             List<Diag> diags = entityProcessDiag.extractEntity(aiOut);
             presentLabel.setDiags(diags);
 
+            //一般情况信息
+            List<Lemma> geneLemmas = createEntityTree(aiOut, EntityEnum.GENERAL_DESCRIPT.toString());
+            for (Lemma lemma : geneLemmas) {
+                General general = new General();
+                general.setName(lemma.getText());
+                presentLabel.add(presentLabel.getGens(), general);
+            }
+
             //一般情况描述信息
             EntityProcessGenerals entityProcessGeneral = new EntityProcessGenerals();
             List<GeneralDesc> generals = entityProcessGeneral.extractEntity(aiOut);

+ 2 - 0
public/src/main/java/com/lantone/qc/pub/model/label/PresentLabel.java

@@ -25,6 +25,8 @@ public class PresentLabel extends GeneralLabel {
     //治疗
     private List<Treat> treats;
     //一般情况
+    private List<General> gens = new ArrayList<>();
+    //一般情况描述
     private List<GeneralDesc> generals;
     //疾病信息
     private List<Diag> diags = new ArrayList<>();