Browse Source

修改规则判断代码

hujing 5 years ago
parent
commit
196fba3586

+ 2 - 2
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentDiag.java

@@ -20,8 +20,8 @@ public class PretreatmentDiag extends Pretreatment {
             Lexeme l = lexemes.get(i);
             if (NlpUtil.isFeature(l.getProperty(), nees_disease)) {
                 PreResult result = new PreResult();
-                result.setUniqueName("诊断--");
-                result.setDetailName("诊断--");
+                result.setUniqueName("诊断");
+                result.setDetailName("诊断");
                 result.setValue(NlpUtil.concept(l, NegativeEnum.DISEASE));
                 preResults.add(result);
             }

+ 2 - 2
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentMakeList.java

@@ -20,8 +20,8 @@ public class PretreatmentMakeList extends Pretreatment {
         for (int i = 0; i < lexemes.size(); i++) {
             Lexeme l = lexemes.get(i);
             PreResult result = new PreResult();
-            result.setUniqueName("开单--");
-            result.setDetailName("开单--");
+            result.setUniqueName("开单");
+            result.setDetailName("开单");
             if (NlpUtil.isFeature(l.getProperty(), nees_pacs_name)) {
                 result.setValue(NlpUtil.concept(l, NegativeEnum.PACS_NAME));
                 preResults.add(result);

+ 3 - 3
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentNormal.java

@@ -20,8 +20,8 @@ public class PretreatmentNormal extends Pretreatment {
                 Lexeme afterLexeme = lexemes.get(i + 1);
                 if ("男性".equals(afterLexeme.getText()) || "女性".equals(afterLexeme.getText())) {
                     PreResult result = new PreResult();
-                    result.setUniqueName(l.getText()+"--");
-                    result.setDetailName(l.getText()+"--");
+                    result.setUniqueName(l.getText());
+                    result.setDetailName(l.getText());
                     result.setValue(afterLexeme.getText());
                     preResults.add(result);
                     return preResults;
@@ -39,7 +39,7 @@ public class PretreatmentNormal extends Pretreatment {
         if (cursor > 0) cursor--;
         Lexeme leftLexeme = lexemes.get(cursor);
         if (leftLexeme.getText().equals("年龄")) {
-            return leftLexeme.getText()+"--";
+            return leftLexeme.getText();
         }
         return null;
     }

+ 4 - 4
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentOther.java

@@ -21,13 +21,13 @@ public class PretreatmentOther extends Pretreatment {
             Lexeme l = lexemes.get(i);
             PreResult result = new PreResult();
             if (NlpUtil.isFeature(l.getProperty(), nees_disease)) {
-                result.setUniqueName("诊断--");
-                result.setDetailName("诊断--");
+                result.setUniqueName("诊断");
+                result.setDetailName("诊断");
                 result.setValue(NlpUtil.concept(l, NegativeEnum.DISEASE));
                 preResults.add(result);
             } else if (NlpUtil.isFeature(l.getProperty(), nees_operation)) {
-                result.setUniqueName("手术--");
-                result.setDetailName("手术--");
+                result.setUniqueName("手术");
+                result.setDetailName("手术");
                 result.setValue(NlpUtil.concept(l, NegativeEnum.OPERATION));
                 preResults.add(result);
             }

+ 2 - 2
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentSymptom.java

@@ -19,8 +19,8 @@ public class PretreatmentSymptom extends Pretreatment {
         for (int i = 0; i < lexemes.size(); i++) {
             Lexeme l = lexemes.get(i);
             PreResult result = new PreResult();
-            result.setUniqueName("症状--");
-            result.setDetailName("症状--");
+            result.setUniqueName("症状");
+            result.setDetailName("症状");
             if (NlpUtil.isFeature(l.getProperty(), nees_symptom)) {
                 result.setValue(NlpUtil.concept(l, NegativeEnum.SYMPTOM));
                 preResults.add(result);

+ 4 - 4
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentVital.java

@@ -20,14 +20,14 @@ public class PretreatmentVital extends Pretreatment {
             Lexeme l = lexemes.get(i);
             if (NlpUtil.isFeature(l.getProperty(), nees_vital_result)) {
                 PreResult result = new PreResult();
-                result.setUniqueName("体征结果--");
-                result.setDetailName("体征结果--");
+                result.setUniqueName("体征结果");
+                result.setDetailName("体征结果");
                 result.setValue(NlpUtil.concept(l, NegativeEnum.VITAL_RESULT));
                 preResults.add(result);
             }else if (NlpUtil.isFeature(l.getProperty(), nees_vital_index)) {
                 PreResult result = new PreResult();
-                result.setUniqueName("体征结果--");
-                result.setDetailName("体征结果--");
+                result.setUniqueName("体征结果");
+                result.setDetailName("体征结果");
                 result.setValue(NlpUtil.concept(l, NegativeEnum.VITAL_INDEX));
                 preResults.add(result);
             }

+ 23 - 1
rule/src/main/java/org/diagbot/rule/crisis/CrisisApplication.java

@@ -1,6 +1,7 @@
 package org.diagbot.rule.crisis;
 
 import org.diagbot.common.push.bean.CrisisDetail;
+import org.diagbot.common.push.bean.PreResult;
 import org.diagbot.common.push.bean.Rule;
 import org.diagbot.common.push.bean.RuleApp;
 import org.diagbot.common.push.bean.SearchData;
@@ -41,7 +42,7 @@ public class CrisisApplication {
                     for (Rule suitRule : suitRules.getValue()) {
                         if (ruleId.equals(suitRule.getId())) {
                             isFindRule = true;
-                            standardText += suitRule.getPub_name() + ";";
+                            standardText = mergeStandardText(suitRule);
                             originText += suitRule.getOriginText() + ";";
                             break;
                         }
@@ -77,4 +78,25 @@ public class CrisisApplication {
         }
         return crisisMap;
     }
+
+    private String mergeStandardText(Rule rule) {
+        //标准值最优先匹配
+        StringBuffer sb = new StringBuffer();
+        if (org.apache.commons.lang3.StringUtils.isNotEmpty(rule.getEq_value())) {
+            sb.append(rule.getPub_name()).append(rule.getEq_operator()).append(rule.getEq_value());
+        } else if (org.apache.commons.lang3.StringUtils.isNotEmpty(rule.getMax_value()) && org.apache.commons.lang3.StringUtils.isNotEmpty(rule.getMin_value())) {
+            sb.append(rule.getPub_name()).append(rule.getMin_operator()).append(rule.getMin_value())
+                    .append(rule.getMin_unit()).append(";")
+                    .append(rule.getPub_name()).append(rule.getMax_operator()).append(rule.getMax_value())
+                    .append(rule.getMax_unit());
+        } else if (org.apache.commons.lang3.StringUtils.isNotEmpty(rule.getMin_value())) {
+            sb.append(rule.getPub_name()).append(rule.getMin_operator()).append(rule.getMin_value())
+                    .append(rule.getMin_unit());
+        } else if (org.apache.commons.lang3.StringUtils.isNotEmpty(rule.getMax_value())) {
+            sb.append(rule.getPub_name()).append(rule.getMax_operator()).append(rule.getMax_value())
+                    .append(rule.getMax_unit());
+        }
+        return sb.toString();
+    }
+
 }