Bläddra i källkod

规则判断修改bug:处理血压181/mmHg、血压/91mmHg情况

hujing 5 år sedan
förälder
incheckning
fb55a857f3
1 ändrade filer med 17 tillägg och 3 borttagningar
  1. 17 3
      nlp/src/main/java/org/diagbot/nlp/rule/pretreat/PretreatmentVital.java

+ 17 - 3
nlp/src/main/java/org/diagbot/nlp/rule/pretreat/PretreatmentVital.java

@@ -41,9 +41,10 @@ public class PretreatmentVital extends Pretreatment {
                         position++;
                         continue;
                     }
-                    String[] digits = l.getText().split("/");
+                    String[] digits = l.getText().split("/",-1);
                     if (digits.length == 2) {
-                        if (!NlpUtil.isNumberString(digits[0])){
+                        if (!NlpUtil.isNumberString(digits[0])) {
+                            position++;
                             continue;
                         }
                         PreResult result = new PreResult();
@@ -52,7 +53,8 @@ public class PretreatmentVital extends Pretreatment {
                         result.setValue(digits[0]);
                         result.setUnits("mmHg");
                         preResults.add(result);
-                        if (!NlpUtil.isNumberString(digits[1])){
+                        if (!NlpUtil.isNumberString(digits[1])) {
+                            position++;
                             continue;
                         }
                         result = new PreResult();
@@ -65,6 +67,18 @@ public class PretreatmentVital extends Pretreatment {
                     }
                     position++;
                 }
+            } else if ("/".equals(l.getText())) { //针对血压/91mmHg情况
+                int position = i + 1;
+                if (!NlpUtil.isNumberString(lexemes.get(position).getText())
+                        || !"mmHg".equals(lexemes.get(position + 1).getText())) {
+                    continue;
+                }
+                PreResult result = new PreResult();
+                result.setUniqueName("体征--舒张压");
+                result.setDetailName("舒张压");
+                result.setValue(lexemes.get(position).getText());
+                result.setUnits("mmHg");
+                preResults.add(result);
             }
         }
         return preResults;