Browse Source

北仑:1.既往史未填写 就不用报 慢病史未描述了 2. 家族史未填写就不用报 父母健康状况未描述了

huj 4 năm trước cách đây
mục cha
commit
b6014fd12c

+ 30 - 23
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/behospitalized/BEH0031.java

@@ -5,7 +5,9 @@ import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.util.CatalogueUtil;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.label.PastLabel;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Component;
 
@@ -31,31 +33,36 @@ public class BEH0031 extends QCCatalogue {
             status.set("0");
             return;
         }
-
-        if (ListUtil.isNotEmpty(
-                CatalogueUtil.filterDiagsByNature(
-                        inputInfo.getBeHospitalizedDoc().getPastLabel().getDiags(),
-                        "chronic",
-                        "1"
-                )
-        )) {
-            status.set("0");
-        }
-        //硬规则匹配
-        String text = inputInfo.getBeHospitalizedDoc().getPastLabel().getText();
-        if (StringUtils.isNotEmpty(text)) {
-            List<String> words = Lists.newArrayList("高血压", "糖尿病", "阿尔茨海默病", "帕金森", "冠心病心律失常型"
-                    , "冠状动脉性心脏病", "冠状动脉粥样硬化性心脏病", "慢性肾炎综合征", "肾病", "慢性肾衰竭", "肾功能异常", "哮喘"
-                    , "肺结核", "腹膜透析", "慢性阻塞性肺病", "精神分裂症", "分裂情感性精神病", "双相情感障碍,目前为缓解状态", "前列腺增生"
-                    , "高脂血症", "高低密度脂蛋白胆固醇血症", "高胆固醇血症", "高甘油三酯血症", "骨质疏松", "慢性乙型病毒性肝炎"
-                    , "慢性庚型肝炎", "慢性肝炎", "慢性丁型肝炎", "慢性病毒性肝炎", "慢性丙型病毒性肝炎", "酒精性肝病", "脂肪肝"
-                    , "肝硬化", "肝恶性肿瘤", "肝恶性细胞瘤", "肝病", "类风湿性关节炎", "心脑血管", "内分泌");
-            for (String word : words) {
-                if (text.contains(word)) {
-                    status.set("0");
-                    return;
+        PastLabel pastLabel = inputInfo.getBeHospitalizedDoc().getPastLabel();
+        if (pastLabel != null && StringUtil.isNotBlank(pastLabel.getText())) {
+            if (ListUtil.isNotEmpty(
+                    CatalogueUtil.filterDiagsByNature(
+                            pastLabel.getDiags(),
+                            "chronic",
+                            "1"
+                    )
+            )) {
+                status.set("0");
+            }
+            //硬规则匹配
+            String text = pastLabel.getText();
+            if (StringUtils.isNotEmpty(text)) {
+                List<String> words = Lists.newArrayList("高血压", "糖尿病", "阿尔茨海默病", "帕金森", "冠心病心律失常型"
+                        , "冠状动脉性心脏病", "冠状动脉粥样硬化性心脏病", "慢性肾炎综合征", "肾病", "慢性肾衰竭", "肾功能异常", "哮喘"
+                        , "肺结核", "腹膜透析", "慢性阻塞性肺病", "精神分裂症", "分裂情感性精神病", "双相情感障碍,目前为缓解状态", "前列腺增生"
+                        , "高脂血症", "高低密度脂蛋白胆固醇血症", "高胆固醇血症", "高甘油三酯血症", "骨质疏松", "慢性乙型病毒性肝炎"
+                        , "慢性庚型肝炎", "慢性肝炎", "慢性丁型肝炎", "慢性病毒性肝炎", "慢性丙型病毒性肝炎", "酒精性肝病", "脂肪肝"
+                        , "肝硬化", "肝恶性肿瘤", "肝恶性细胞瘤", "肝病", "类风湿性关节炎", "心脑血管", "内分泌");
+                for (String word : words) {
+                    if (text.contains(word)) {
+                        status.set("0");
+                        return;
+                    }
                 }
             }
+        } else {
+            status.set("0");
+            return;
         }
     }
 

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

@@ -51,8 +51,11 @@ public class BEH0397 extends QCCatalogue {
             maritalText = maritalLabel.getText();
             familiesMl = maritalLabel.getFamily();
         }
-        if (StringUtil.isNotBlank(familyText)){
+        if (StringUtil.isNotBlank(familyText)) {
             familyText = StringUtil.removeBlank(familyText);
+        } else {
+            status.set("0");
+            return;
         }
         if ((StringUtil.isNotBlank(familyText) && (familyText.contains("父母") || familyText.contains("详见原病历") || familyText.contains("双亲") || familyText.contains("已故")))
                 || (StringUtil.isNotBlank(maritalText) && (maritalText.contains("父母") || maritalText.contains("详见原病历") || familyText.contains("双亲") || familyText.contains("已故")))) {