فهرست منبع

北仑-增加频率的处理

wangsy 4 سال پیش
والد
کامیت
b48c23347d
1فایلهای تغییر یافته به همراه28 افزوده شده و 3 حذف شده
  1. 28 3
      kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03077.java

+ 28 - 3
kernel/src/main/java/com/lantone/qc/kernel/catalogue/beilun/threelevelward/THR03077.java

@@ -295,12 +295,16 @@ public class THR03077 extends QCCatalogue {
             sb = new StringBuffer();
             String behindWord = "";
             String lastBehindWord = "";
+            String keyword = "";
+            String lastKeyword = "";
             String wardDrug = drug.getName();
+            boolean front = false;
+            boolean latter = false;
             int position = content.indexOf(wardDrug);
             int lastPosition = content.lastIndexOf(wardDrug);
             if (position != -1 && lastPosition != -1) {
-                String keyword = content.substring(Math.max(0, position - 10), position);
-                String lastKeyword = content.substring(Math.max(0, lastPosition - 10), lastPosition);
+                keyword = content.substring(Math.max(0, position - 10), position);
+                lastKeyword = content.substring(Math.max(0, lastPosition - 10), lastPosition);
                 if (position != lastPosition) {
                     if (lastKeyword.contains("继续") || lastKeyword.contains("停")) {
                         continue;
@@ -309,6 +313,9 @@ public class THR03077 extends QCCatalogue {
                 if (keyword.contains("继续") || keyword.contains("停")) {
                     continue;
                 }
+                if (frequencyDispose(keyword) || frequencyDispose(lastKeyword)) {
+                    front = true;
+                }
 
                 behindWord = content.substring(position, Math.min(position + 20, content.toCharArray().length));
                 lastBehindWord = content.substring(lastPosition, Math.min(lastPosition + 20, content.toCharArray().length));
@@ -320,6 +327,9 @@ public class THR03077 extends QCCatalogue {
                 if (behindWord.contains("阴性")) {
                     continue;
                 }
+                if (frequencyDispose(behindWord) || frequencyDispose(lastBehindWord)) {
+                    latter = true;
+                }
             }
             wardDrug = removeBracket(wardDrug);
             String drugUsageWard = wardDrug;
@@ -352,7 +362,9 @@ public class THR03077 extends QCCatalogue {
                 }
             }
             if (drug.getFrequency() == null) {
-                concatInfo(dateStr, sb, "频率");
+                if (!front && !latter) {
+                    concatInfo(dateStr, sb, "频率");
+                }
             }
             if (sb.toString().length() > 0) {
                 if (antibioticDateWard.containsKey(wardDrug)) {
@@ -379,6 +391,19 @@ public class THR03077 extends QCCatalogue {
         return flag;
     }
 
+    /**
+     * 增加频率的处理
+     *
+     * @param content
+     */
+    public boolean frequencyDispose(String content) {
+        if (StringUtil.isNotBlank(content) &&
+                (content.contains("术前") || content.contains("术后") || content.contains("围手术期"))) {
+            return true;
+        }
+        return false;
+    }
+
     /**
      * 拼接抗生素缺失信息
      *