浏览代码

1、分开提取特征 化验 辅检 体征等

louhr 6 年之前
父节点
当前提交
470a90d3d7
共有 1 个文件被更改,包括 16 次插入8 次删除
  1. 16 8
      bigdata-web/src/main/java/org/diagbot/bigdata/work/ParamsDataProxy.java

+ 16 - 8
bigdata-web/src/main/java/org/diagbot/bigdata/work/ParamsDataProxy.java

@@ -83,37 +83,45 @@ public class ParamsDataProxy {
 
         //获取入参中的特征信息
         FeatureAnalyze fa = new FeatureAnalyze();
-
+        List<Map<String, Object>> featuresList = new ArrayList<>();
         if (!StringUtils.isEmpty(searchData.getSymptom())) {
             //提取现病史
-            List<Map<String, Object>> featuresList = fa.start(searchData.getSymptom(), FeatureType.FEATURE);
+            featuresList = fa.start(searchData.getSymptom(), FeatureType.FEATURE);
             paramFeatureInit(searchData, featuresList);
+        }
+        if (!StringUtils.isEmpty(searchData.getVital())) {
             //提取体征
             featuresList = fa.start(searchData.getVital(), FeatureType.FEATURE);
             paramFeatureInit(searchData, featuresList);
+        }
+        if (!StringUtils.isEmpty(searchData.getPast())) {
             //提取既往史
             featuresList = fa.start(searchData.getPast(), FeatureType.FEATURE);
             paramFeatureInit(searchData, featuresList);
+        }
+        if (!StringUtils.isEmpty(searchData.getOther()) || !StringUtils.isEmpty(searchData.getIndications())) {
             //提取其他史等
-            featuresList = fa.start(searchData.getOther() + searchData.getIndications(), FeatureType.FEATURE);
+            featuresList = fa.start(searchData.getOther() == null?"":searchData.getOther() + searchData.getIndications() == null?"":searchData.getIndications(), FeatureType.FEATURE);
             paramFeatureInit(searchData, featuresList);
-
+        }
+        if (!StringUtils.isEmpty(searchData.getPacs())) {
             featuresList = fa.start(searchData.getPacs(), FeatureType.PACS);
             paramFeatureInit(searchData, featuresList);
-
+        }
+        if (!StringUtils.isEmpty(searchData.getLis())) {
             featuresList = fa.start(searchData.getLis(), FeatureType.LIS);
             paramFeatureInit(searchData, featuresList);
-
+        }
             // 清洗特征词,去除词性不匹配的词
             searchData = cleanFeature(featuresList, fa, searchData);
-
+        if (!StringUtils.isEmpty(searchData.getOther())) {
             //如果既往史中诊断信息,需要提取这个特征
             featuresList = fa.start(searchData.getOther(), FeatureType.DIAG);
             paramFeatureInit(searchData, featuresList);
         }
 
         if (!StringUtils.isEmpty(searchData.getDiag()) && StringUtils.isEmpty(searchData.getSymptom())) {
-            List<Map<String, Object>> featuresList = fa.start(searchData.getDiag(), FeatureType.DIAG);
+            featuresList = fa.start(searchData.getDiag(), FeatureType.DIAG);
             paramFeatureInit(searchData, featuresList);
         }
     }