Browse Source

义乌:处理出院带药中含有(基)情况

wangsy 4 years ago
parent
commit
6f5e1ec958

+ 24 - 15
kernel/src/main/java/com/lantone/qc/kernel/catalogue/yiwu/leavehospital/LEA02987.java

@@ -71,6 +71,12 @@ public class LEA02987 extends QCCatalogue {
             String type = adviceDocStructureMap.get("医嘱类型判别");
             if (StringUtil.isNotBlank(type) && type.equals("出院带药")) {
                 if (StringUtil.isNotBlank(name)) {
+                    if (name.contains("(基)")) {
+                        name = name.substring(0, name.indexOf("(基)"));
+                    }
+                    if (name.contains("(基)")) {
+                        name = name.substring(0, name.indexOf("(基)"));
+                    }
                     name = name.replaceAll("[^\u4e00-\u9fa5]", "");
                     drugs.add(name);
                 }
@@ -90,24 +96,27 @@ public class LEA02987 extends QCCatalogue {
             boolean isFind = false;
             String drugStandardWord = similarityUtil.getDrugStandardWord(drug);
             if (StringUtil.isNotBlank(drugStandardWord) && (leaveDrugStandard.contains(drugStandardWord)
-                    || dischargeOrder.contains(drugStandardWord) || dischargeOrder.contains(drug))) {
+                    || dischargeOrder.contains(drugStandardWord))) {
+                isFind = true;
+            }
+            if (dischargeOrder.contains(drug) || notContainsDrugs.contains(drug)) {
+                isFind = true;
+            }
+            Set<String> splitDrugs = CatalogueUtil.getRegexWords(drug, "[((\\[][^\\[\\]()()]+[\\]))]");
+            for (String sd : splitDrugs) {
+                if (dischargeOrder.contains(sd)) {
                     isFind = true;
-                }
-                Set<String> splitDrugs = CatalogueUtil.getRegexWords(drug, "[((\\[][^\\[\\]()()]+[\\]))]");
-                for (String sd : splitDrugs) {
-                    if (dischargeOrder.contains(sd)) {
-                        isFind = true;
-                        break;
-                    }
-                }
-                if (!isFind) {
-                    infoStr = CatalogueUtil.concatInfo(infoStr, drug);
+                    break;
                 }
             }
-            if (StringUtil.isNotBlank(infoStr)) {
-                status.set("-1");
-                info.set(infoStr);
+            if (!isFind) {
+                infoStr = CatalogueUtil.concatInfo(infoStr, drug);
             }
         }
-
+        if (StringUtil.isNotBlank(infoStr)) {
+            status.set("-1");
+            info.set(infoStr);
+        }
     }
+
+}