Explorar el Código

1.长兴修改bug

hujing hace 5 años
padre
commit
b809ac920f

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

@@ -10,6 +10,7 @@ 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 com.lantone.qc.pub.model.label.DiagLabel;
+import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -60,7 +61,9 @@ public class BEH0002 extends QCCatalogue {
             bool = true;
         }
         if (bool) {
-            String mainDiag = diags.get(0).getName();
+            String firstDiag = diags.get(0).getName();
+            String firstHDiag = diags.get(0).getHospitalDiagName();
+            String mainDiag = StringUtil.isBlank(firstHDiag) ? firstDiag : firstHDiag;
             List<String> symptoms = null;
             Map<String, Map<String, Object>> diagMap = redisUtil.getJsonStringValue(KernelConstants.CONCEPT_DIAG_PROPERTY_MAP);
             Map<String, Object> map = (Map<String, Object>) diagMap.get(mainDiag);

+ 7 - 10
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0014.java

@@ -21,7 +21,7 @@ import java.util.List;
 @Component
 public class BEH0014 extends QCCatalogue {
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
@@ -37,26 +37,23 @@ public class BEH0014 extends QCCatalogue {
             }
         }*/
         //硬规则匹配 前30个字有"体检"或"发现"或"检查"字样
-        if(inputInfo.getBeHospitalizedDoc() != null){
+        if (inputInfo.getBeHospitalizedDoc() != null) {
             String present = inputInfo.getBeHospitalizedDoc().getPresentLabel().getText();
             if (StringUtils.isNotEmpty(present)) {
-                if (present.length() > 30) present = present.substring(0, 30);
+                if (present.length() > 30) {
+                    present = present.substring(0, 30);
+                }
                 if (present.contains("体检") || present.contains("发现") || present.contains("检查")) {
                     status.set("0");
                     return;
                 }
             }
             List<Cause> causes = inputInfo.getBeHospitalizedDoc().getPresentLabel().getCauses();
-            if(causes != null && causes.size()>0){
+            if (causes != null && causes.size() > 0) {
                 status.set("0");
-                return;
             }
-        }else {
+        } else {
             status.set("0");
         }
-
-
-
-
     }
 }

+ 4 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0053.java

@@ -5,6 +5,7 @@ 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.Marryiage;
+import com.lantone.qc.pub.model.label.MaritalLabel;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -25,9 +26,9 @@ public class BEH0053 extends QCCatalogue {
             status.set("0");
             return;
         }
-        //未婚未育不判断
-        if(beHospitalizedDoc.getMaritalLabel().getText().contains("未婚")
-                || beHospitalizedDoc.getMaritalLabel().getText().contains("未婚")){
+        //硬规则 匹配未婚
+        MaritalLabel maritalLabel = beHospitalizedDoc.getMaritalLabel();
+        if (maritalLabel != null && maritalLabel.getText().contains("未婚")) {
             status.set("0");
             return;
         }

+ 8 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0054.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.Consanguineous;
+import com.lantone.qc.pub.model.label.MaritalLabel;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
@@ -17,7 +18,13 @@ public class BEH0054 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
+            status.set("0");
+            return;
+        }
+        //硬规则 未婚
+        MaritalLabel maritalLabel = inputInfo.getBeHospitalizedDoc().getMaritalLabel();
+        if (maritalLabel != null && maritalLabel.getText().contains("未婚")) {
             status.set("0");
             return;
         }

+ 6 - 4
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0056.java

@@ -3,6 +3,7 @@ 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.model.doc.BeHospitalizedDoc;
 import com.lantone.qc.pub.model.entity.ConjugalRelation;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -20,18 +21,19 @@ public class BEH0056 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        if(inputInfo.getBeHospitalizedDoc() == null){
+        if (inputInfo.getBeHospitalizedDoc() == null) {
             status.set("0");
             return;
         }
-        Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
+        BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
+        Map<String, String> structureMap = beHospitalizedDoc.getStructureMap();
         if (StringUtils.isNotEmpty(structureMap.get("夫妻关系"))) {
             status.set("0");
             return;
         }
         //婚育史未填写,直接返回;
-        if (inputInfo.getBeHospitalizedDoc().getMaritalLabel() == null
-                || StringUtils.isEmpty(inputInfo.getBeHospitalizedDoc().getMaritalLabel().getText())) {
+        if (beHospitalizedDoc.getMaritalLabel() == null
+                || StringUtils.isEmpty(beHospitalizedDoc.getMaritalLabel().getText())) {
             status.set("0");
             return;
         }

+ 10 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0058.java

@@ -6,6 +6,7 @@ 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.Family;
+import com.lantone.qc.pub.model.label.MaritalLabel;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
@@ -29,6 +30,15 @@ public class BEH0058 extends QCCatalogue {
             return;
         }
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
+        //硬规则 匹配未育
+        MaritalLabel maritalLabel = beHospitalizedDoc.getMaritalLabel();
+        if (maritalLabel != null){
+            String maritalLabelText = maritalLabel.getText();
+            if (maritalLabelText.contains("未育")){
+                status.set("0");
+                return;
+            }
+        }
         Map<String, String> structureMap = beHospitalizedDoc.getStructureMap();
         String familyMembersHealth = structureMap.get("家庭成员健康情况");
         List<Family> familyList = Lists.newArrayList();

+ 19 - 12
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0065.java

@@ -7,6 +7,7 @@ import com.lantone.qc.pub.model.entity.Clinical;
 import com.lantone.qc.pub.model.entity.Menses;
 import com.lantone.qc.pub.model.label.MenstrualLabel;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -28,19 +29,25 @@ public class BEH0065 extends QCCatalogue {
                 status.set("0"); //如果性别是男,就不报错
             } else if (inputInfo.getBeHospitalizedDoc().getMenstrualLabel() != null) {
                 MenstrualLabel menstrualLabel = inputInfo.getBeHospitalizedDoc().getMenstrualLabel();
-                List<Menses> mensesList = menstrualLabel.getMensesList();
-                if (ListUtil.isEmpty(mensesList)) {
-                    return;
-                }
-                for (Menses menses : mensesList) {
-                    if (menses.getClinicals() == null) {
-                        continue;
+                if (menstrualLabel != null) {
+                    if (StringUtil.isNotBlank(menstrualLabel.getText()) && menstrualLabel.getText().contains("颜色")){
+                        status.set("0");
+                        return;
+                    }
+                    List<Menses> mensesList = menstrualLabel.getMensesList();
+                    if (ListUtil.isEmpty(mensesList)) {
+                        return;
                     }
-                    List<Clinical> clinicals = menses.getClinicals();
-                    for (Clinical clinical : clinicals) {
-                        if (clinical.getName().contains("颜色")) {
-                            status.set("0");
-                            return;
+                    for (Menses menses : mensesList) {
+                        if (menses.getClinicals() == null) {
+                            continue;
+                        }
+                        List<Clinical> clinicals = menses.getClinicals();
+                        for (Clinical clinical : clinicals) {
+                            if (clinical.getName().contains("颜色")) {
+                                status.set("0");
+                                return;
+                            }
                         }
                     }
                 }

+ 4 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0375.java

@@ -5,6 +5,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.Family;
+import com.lantone.qc.pub.model.label.MaritalLabel;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -29,9 +30,9 @@ public class BEH0375 extends QCCatalogue {
             status.set("0");
             return;
         }
-        //未婚未育不判断
-        if(inputInfo.getBeHospitalizedDoc().getMaritalLabel().getText().contains("未婚")
-                || inputInfo.getBeHospitalizedDoc().getMaritalLabel().getText().contains("未婚")){
+        //硬规则 匹配未婚
+        MaritalLabel maritalLabel = inputInfo.getBeHospitalizedDoc().getMaritalLabel();
+        if (maritalLabel != null && maritalLabel.getText().contains("未婚")) {
             status.set("0");
             return;
         }

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

@@ -43,6 +43,12 @@ public class BEH0376 extends QCCatalogue {
             status.set("0");
             return;
         }
+        //硬规则 匹配未育
+        String maritalLabelText = maritalLabel.getText();
+        if (maritalLabelText.contains("未育")) {
+            status.set("0");
+            return;
+        }
         //未婚 无子女
         if (maritalLabel.getMaritalStatus() != null && maritalLabel.getMaritalStatus().getName().contains("未婚")) {
             status.set("0");

+ 12 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0398.java

@@ -5,6 +5,8 @@ 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.Family;
+import com.lantone.qc.pub.model.label.FamilyLabel;
+import com.lantone.qc.pub.model.label.MaritalLabel;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
@@ -29,6 +31,16 @@ public class BEH0398 extends QCCatalogue {
             status.set("0");
             return;
         }
+        //硬规则 匹配独生子 独生女
+        FamilyLabel familyLabel = inputInfo.getBeHospitalizedDoc().getFamilyLabel();
+        if (familyLabel != null) {
+            String familyLabelText = familyLabel.getText();
+            if (familyLabelText.contains("独生子") || familyLabelText.contains("独生女")
+                    || familyLabelText.contains("独子") || familyLabelText.contains("独女")) {
+                status.set("0");
+                return;
+            }
+        }
         Map<String, String> structureMap = inputInfo.getBeHospitalizedDoc().getStructureMap();
         if (StringUtils.isNotEmpty(structureMap.get("家庭成员健康情况"))) {
             status.set("0");

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/changx/ChangxOperationDocTrans.java

@@ -273,6 +273,10 @@ public class ChangxOperationDocTrans extends ModelDocTrans {
         if (StringUtil.isNotBlank(structureMap.get("签名"))) {
             structureMap.put("记录医师", structureMap.get("签名"));
         }
+        if (StringUtil.isNotBlank(structureMap.get("拟行治疗指征及禁忌症"))) {
+            structureMap.put("拟行术式", structureMap.get("拟行治疗指征及禁忌症"));
+        }
+
 
         String text = CxXmlUtil.getTextByNodePath(content, "//DocObjContent/Region/Content_Text");
         if (StringUtil.isBlank(text)) {