Browse Source

Merge remote-tracking branch 'origin/hb/beilun' into hb/beilun

chengyao 3 years ago
parent
commit
da55d03d2d

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

@@ -41,7 +41,7 @@ public class BEH0026 extends QCCatalogue {
         String pastText = pastLabel.getText();
         if (pastText.contains("食物过敏史") || pastText.contains("食物、药物过敏") || pastText.contains("详见") ||
                 pastText.contains("见旧病历") || pastText.contains("见既往病历") || pastText.contains("食物药物过敏史")
-                || pastText.contains("食物及药物过敏史")) {
+                || pastText.contains("食物及药物过敏史") || pastText.contains("食物、药物及其他过敏")) {
             status.set("0");
             return;
         }

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

@@ -37,7 +37,7 @@ public class BEH0034 extends QCCatalogue {
                         .filter(i ->
                                 i != null && StringUtil.isNotBlank(i.getName()) && i.getNegative() == null
                                         && !"手术史".equals(i.getName()) && !"手术".equals(i.getName()) && !"手术治疗".equals(i.getName())
-                                        && !"手术无手术史".equals(i.getName())
+                                        && !"手术无手术史".equals(i.getName())&& !"手术处理".equals(i.getName())&& !"其他手术史".equals(i.getName())
                         )
                         .map(i -> i.getName())
                         .distinct()

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

@@ -32,7 +32,8 @@ public class BEH0036 extends QCCatalogue {
             if (operation == null || StringUtil.isBlank(operation.getName())) {
                 continue;
             }
-            if ("手术史".equals(operation.getName()) || "手术".equals(operation.getName()) || "手术治疗".equals(operation.getName()) || "手术无手术史".equals(operation.getName())) {
+            if ("手术史".equals(operation.getName()) || "其他手术史".equals(operation.getName()) || "手术".equals(operation.getName())
+                    || "手术治疗".equals(operation.getName()) || "手术无手术史".equals(operation.getName()) || "手术处理".equals(operation.getName())) {
                 continue;
             }
             if ((operation.getNegative() == null || StringUtil.isBlank(operation.getNegative().getName()))

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

@@ -80,7 +80,7 @@ public class BEH0058 extends QCCatalogue {
         }
         if (StringUtil.isNotBlank(maritalText)) {
             List<String> words = Lists.newArrayList("未婚", "未育", "未婚育", "未生育", "未生", "0子0女"
-                    , "0-0-0-0", "详见", "0-0-0-0");
+                    , "0-0-0-0", "详见", "0-0-0-0","无子女","未孕");
             for (String word : words) {
                 if (maritalText.contains(word)) {
                     status.set("0");

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

@@ -60,10 +60,10 @@ public class BEH0397 extends QCCatalogue {
         if ((StringUtil.isNotBlank(familyText)
                 && ((familyText.contains("父") || familyText.contains("双亲") || familyText.contains("母"))
                 && (familyText.contains("已故") || familyText.contains("体健") || familyText.contains("去世") || familyText.contains("健康"))
-                || familyText.contains("详见") || familyText.contains("见旧病历") || familyText.contains("见既往病历"))
+                || familyText.contains("离世")|| familyText.contains("详见") || familyText.contains("见旧病历") || familyText.contains("见既往病历"))
                 || (StringUtil.isNotBlank(maritalText) && ((maritalText.contains("父") || maritalText.contains("双亲") || maritalText.contains("母"))
-                && (maritalText.contains("已故") || maritalText.contains("体健") || maritalText.contains("去世") || familyText.contains("健康"))
-                || maritalText.contains("详见") || maritalText.contains("见旧病历") || maritalText.contains("见既往病历"))))) {
+                && (maritalText.contains("已故") || maritalText.contains("体健") || maritalText.contains("去世") || maritalText.contains("健康"))
+                || maritalText.contains("离世")|| maritalText.contains("详见") || maritalText.contains("见旧病历") || maritalText.contains("见既往病历"))))) {
             status.set("0");
             return;
         }

+ 7 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/firstcourserecord/FIRC03086.java

@@ -40,16 +40,21 @@ public class FIRC03086 extends QCCatalogue {
             status.set("0");
             return;
         }
+        //规则匹配增加
+        if (structureV.contains("一级") || structureV.contains("二级") || structureV.contains("三级")) {
+            status.set("0");
+            return;
+        }
         if (StringUtil.isNotBlank(structureV) && structureV.contains("护理")) {
             findText = true;
         }
         if (treatPlanLabel.getNursingLevel() != null) {
-            if (findText && !treatPlanLabel.getNursingLevel().getName().contains("护理常规")) {
+            if (findText && !"护理常规".equals(treatPlanLabel.getNursingLevel().getName())) {
                 status.set("0");
                 return;
             }
         }
-        if (treatPlanLabel.getNursingLevel() == null || treatPlanLabel.getNursingLevel().getName().contains("护理常规")) {
+        if (treatPlanLabel.getNursingLevel() == null || "护理常规".equals(treatPlanLabel.getNursingLevel().getName())) {
             status.set("-1");
             return;
         }

+ 1 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/changshaxy/behospitalized/BEH0034.java

@@ -37,7 +37,7 @@ public class BEH0034 extends QCCatalogue {
                         .filter(i ->
                                 i != null && StringUtil.isNotBlank(i.getName()) && i.getNegative() == null
                                         && !"手术史".equals(i.getName()) && !"手术".equals(i.getName()) && !"手术治疗".equals(i.getName())
-                                        && !"手术无手术史".equals(i.getName()) && !"手术处理".equals(i.getName())
+                                        && !"手术无手术史".equals(i.getName()) && !"手术处理".equals(i.getName()) && !"其他手术史".equals(i.getName())
                         )
                         .map(i -> i.getName())
                         .distinct()

+ 3 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/changshaxy/behospitalized/BEH0397.java

@@ -60,10 +60,10 @@ public class BEH0397 extends QCCatalogue {
         if ((StringUtil.isNotBlank(familyText)
                 && ((familyText.contains("父") || familyText.contains("双亲") || familyText.contains("母"))
                 && (familyText.contains("已故") || familyText.contains("体健") || familyText.contains("健在") || familyText.contains("去世") || familyText.contains("健康"))
-                || familyText.contains("详见") || familyText.contains("见旧病历") || familyText.contains("见既往病历"))
+                || familyText.contains("离世")|| familyText.contains("详见") || familyText.contains("见旧病历") || familyText.contains("见既往病历"))
                 || (StringUtil.isNotBlank(maritalText) && ((maritalText.contains("父") || maritalText.contains("双亲") || maritalText.contains("母"))
-                && (maritalText.contains("已故") || maritalText.contains("体健")|| maritalText.contains("健在") || maritalText.contains("去世") || familyText.contains("健康"))
-                || maritalText.contains("详见") || maritalText.contains("见旧病历") || maritalText.contains("见既往病历"))))) {
+                && (maritalText.contains("已故") || maritalText.contains("体健")|| maritalText.contains("健在") || maritalText.contains("去世") || maritalText.contains("健康"))
+                || maritalText.contains("离世")|| maritalText.contains("详见") || maritalText.contains("见旧病历") || maritalText.contains("见既往病历"))))) {
             status.set("0");
             return;
         }

+ 0 - 61
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/changshaxy/firstcourserecord/FIRC03086.java

@@ -1,61 +0,0 @@
-package com.lantone.qc.kernel.catalogue.hospital.changshaxy.firstcourserecord;
-
-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.FirstCourseRecordDoc;
-import com.lantone.qc.pub.model.label.TreatPlanLabel;
-import com.lantone.qc.pub.util.StringUtil;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * @ClassName : FIRC03086
- * @Description : 治疗措施不具体(缺护理级别)
- * @Author : wsy
- * @Date: 2021-01-07 15:21
- */
-@Component
-public class FIRC03086 extends QCCatalogue {
-    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
-        FirstCourseRecordDoc firstCourseRecordDoc = inputInfo.getFirstCourseRecordDoc();
-        if (firstCourseRecordDoc == null) {
-            status.set("0");
-            return;
-        }
-        TreatPlanLabel treatPlanLabel = firstCourseRecordDoc.getTreatPlanLabel();
-        if (treatPlanLabel == null) {
-            status.set("0");
-            return;
-        }
-        String text = treatPlanLabel.getText();
-        boolean findText = false;
-        if (StringUtil.isNotBlank(text) && text.contains("护理")) {
-            findText = true;
-        }
-        Map<String, String> structureMap = firstCourseRecordDoc.getStructureMap();
-        String structureV = structureMap.get("诊疗计划");
-        if (StringUtil.isBlank(structureV) && StringUtil.isBlank(text)) {
-            status.set("0");
-            return;
-        }
-        if (structureV.contains("一级") || structureV.contains("二级") || structureV.contains("三级")) {
-            status.set("0");
-            return;
-        }
-        if (StringUtil.isNotBlank(structureV) && structureV.contains("护理")) {
-            findText = true;
-        }
-        if (treatPlanLabel.getNursingLevel() != null) {
-            if (findText && !treatPlanLabel.getNursingLevel().getName().contains("护理常规")) {
-                status.set("0");
-                return;
-            }
-        }
-        if (treatPlanLabel.getNursingLevel() == null || treatPlanLabel.getNursingLevel().getName().contains("护理常规")) {
-            status.set("-1");
-            return;
-        }
-    }
-}

+ 10 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/hospital/changshaxy/threelevelward/THR02900.java

@@ -115,6 +115,16 @@ public class THR02900 extends QCCatalogue {
                         .replace("主治医师", "")
                         .replace("经治医师", "")
                         .replace(" ", "");
+                firstAssistant = firstAssistant
+                        .replace("&nbsp", "")
+                        .replace("副教授", "")
+                        .replace("副主任医师", "")
+                        .replace("主任医师", "")
+                        .replace("总住院医师", "")
+                        .replace("住院医师", "")
+                        .replace("主治医师", "")
+                        .replace("经治医师", "")
+                        .replace(" ", "");
                 if(chiefSurgeon.contains("、")){
                     String[] split1 = chiefSurgeon.split("、");
                     for (String chiefSurgeons : split1) {

+ 8 - 0
kernel/src/main/java/com/lantone/qc/kernel/catalogue/leavehospital/LEA02968.java

@@ -3,6 +3,7 @@ package com.lantone.qc.kernel.catalogue.leavehospital;
 import com.google.common.collect.Lists;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.kernel.util.CatalogueUtil;
+import com.lantone.qc.pub.Content;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
 import com.lantone.qc.pub.util.StringUtil;
@@ -50,6 +51,13 @@ public class LEA02968 extends QCCatalogue {
         String text = CatalogueUtil.structureMapJoin(structureMap, keys);
 
         for (String noMatchWord : noMatchWords) {
+            if (noMatchWord.contains("附睾") && text.contains("附睾")) {
+                int index = text.indexOf("附睾");
+                String substring = text.substring(Math.max(0, index - 5), Math.min(index + 7, text.length()));
+                if (text.contains("附睾蛋白") || substring.contains("蛋白")) {
+                    continue;
+                }
+            }
             if (text.contains(noMatchWord)) {
                 status.set("-1");
                 info.set(noMatchWord);

+ 5 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyBeHospitalizedHtmlAnalysis.java

@@ -115,7 +115,11 @@ public class XyBeHospitalizedHtmlAnalysis implements XyHtmlAnalysis {
         }
 
         if (StringUtil.isNotBlank(map.get("入院日期"))) {
-            map.put("入院日期", map.get("入院日期").replace(",", " "));
+            String replaceStr = map.get("入院日期").replace(",", " ");
+            if(replaceStr.endsWith(":")){
+               replaceStr=replaceStr.substring(0,replaceStr.length()-1);
+            }
+            map.put("入院日期", replaceStr);
         }
     }
 

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyCrisisValueReportHtmlAnalysis.java

@@ -44,7 +44,8 @@ public class XyCrisisValueReportHtmlAnalysis implements XyHtmlAnalysis {
         if (bigDivElement.selectFirst("hr") != null) {
             bigDivElement.selectFirst("hr").previousElementSiblings().remove();
         }
-        String text = XyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
+        String text = XyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true)
+                .replace("956", "μ");
         XyCommonAnalysisUtil.extractWardInfo(recTitle,text, map);
         String bqjlText = "病情记录" + map.get("病情记录");
         List<String> titles = Lists.newArrayList(