ソースを参照

主诉中缺少主症状规则更新

kongwz 5 年 前
コミット
2d88294444

+ 30 - 17
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0009.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.entity.Clinical;
+import com.lantone.qc.pub.model.entity.Diag;
 import com.lantone.qc.pub.model.label.ChiefLabel;
 import org.springframework.stereotype.Component;
 
@@ -24,26 +25,38 @@ public class BEH0009 extends QCCatalogue {
         Map<String,Integer> indexMap = new HashMap<>();
 
         ChiefLabel chiefLabel = inputInfo.getBeHospitalizedDoc().getChiefLabel();
-        String chiefLabelText = chiefLabel.getText();
-        List<Clinical> clinicals = chiefLabel.getClinicals();
-        if(clinicals.size()>0){
-            for (Clinical clinical:clinicals) {
-                indexMap.put(clinical.getName(),chiefLabelText.indexOf(clinical.getName()));
+        List<Diag> diags = chiefLabel.getDiags();
+        if(diags.size()>0){
+            for (Diag diag:diags) {
+                String hospitalDiagName = diag.getHospitalDiagName();
+                if(hospitalDiagName.contains("术后")||hospitalDiagName.contains("癌")||
+                hospitalDiagName.contains("瘤") || hospitalDiagName.contains("复诊")){
+                    status = "0";
+                    break;
+                }
             }
-        }
-        int index_ban = chiefLabelText.indexOf("伴");
-        if(indexMap.size()>0){
-            if(index_ban == -1){
-                status = "0";
-            }else {
-                for (Map.Entry<String,Integer> s:indexMap.entrySet()) {
-                    Integer value = s.getValue();
-                    if(value<index_ban){
-                        status = "0";
-                        break;
-                    }
+        }else{
+            String chiefLabelText = chiefLabel.getText();
+            List<Clinical> clinicals = chiefLabel.getClinicals();
+            if(clinicals.size()>0){
+                for (Clinical clinical:clinicals) {
+                    indexMap.put(clinical.getName(),chiefLabelText.indexOf(clinical.getName()));
+                }
             }
+            int index_ban = chiefLabelText.indexOf("伴");
+            if(indexMap.size()>0){
+                if(index_ban == -1){
+                    status = "0";
+                }else {
+                    for (Map.Entry<String,Integer> s:indexMap.entrySet()) {
+                        Integer value = s.getValue();
+                        if(value<index_ban){
+                            status = "0";
+                            break;
+                        }
+                    }
 
+                }
             }
         }
     }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0010.java

@@ -29,7 +29,7 @@ public class BEH0010 extends QCCatalogue {
             Iterator<Diag> diagIterator = diags.iterator();
             while (diagIterator.hasNext()){
                 Diag diag = diagIterator.next();
-                String diagName = diag.getName();
+                String diagName = diag.getHospitalDiagName();
                 if(diagName.contains("癌") || diagName.contains("瘤") || diagName.contains("复诊")|| diagName.contains("术后")){
                     diagIterator.remove();
                 }