zhoutg %!s(int64=4) %!d(string=hai) anos
pai
achega
a56d5b1733

+ 3 - 1
src/main/java/com/diagbot/enums/BaseDiagnoseTypeEnum.java

@@ -13,7 +13,9 @@ public enum BaseDiagnoseTypeEnum implements KeyedNamed {
     equals(1, "等于术语本身"),
     compare(2, "存在比较"),
     regexChiefSymptom(3, "主诉现病史正则"),
-    regexPast(4, "既往史正则");
+    regexPast(4, "既往史正则"),
+    regexVital(5, "查体正则"),
+    regexPacs(6, "辅检正则");
 
     @Setter
     private int key;

+ 10 - 0
src/main/java/com/diagbot/rule/CommonRule.java

@@ -33,6 +33,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @description: 通用规则提取
@@ -483,6 +484,15 @@ public class CommonRule {
                 case regexPast: // 既往史正则
                     getRegexResPush(wordCrfDTO.getPasts() + wordCrfDTO.getPersonal() + wordCrfDTO.getMenstrual() + wordCrfDTO.getMarital() + wordCrfDTO.getFamily(),
                             base.getBaseEqValue(), baseIdList, baseIds);
+                case regexVital: // 查体正则
+                    getRegexResPush(wordCrfDTO.getVitalLabel().getText(),
+                            base.getBaseEqValue(), baseIdList, baseIds);
+                case regexPacs: // 辅检正则
+                    if (ListUtil.isNotEmpty(wordCrfDTO.getPacs())) {
+                        String content = wordCrfDTO.getPacs().stream().map(r -> r.getResult())
+                                .filter(r -> StringUtil.isNotBlank(r)).collect(Collectors.joining("。"));
+                        getRegexResPush(content, base.getBaseEqValue(), baseIdList, baseIds);
+                    }
                     break;
             }
         }