|
@@ -66,8 +66,8 @@ public class ParamsDataProxy {
|
|
|
}
|
|
|
}
|
|
|
//所有信息参与推送
|
|
|
- searchData.setSymptom(searchData.getSymptom() + searchData.getVital()
|
|
|
- + searchData.getLis() + searchData.getPacs() + searchData.getPast() + searchData.getOther() + searchData.getIndications());
|
|
|
+// searchData.setSymptom(searchData.getSymptom() + searchData.getVital()
|
|
|
+// + searchData.getLis() + searchData.getPacs() + searchData.getPast() + searchData.getOther() + searchData.getIndications());
|
|
|
searchData.setSymptom(searchData.getSymptom().trim());
|
|
|
//一次推送多个类别信息
|
|
|
String[] featureTypes = searchData.getFeatureType().split(",");
|
|
@@ -83,14 +83,23 @@ public class ParamsDataProxy {
|
|
|
FeatureAnalyze fa = new FeatureAnalyze();
|
|
|
|
|
|
if (!StringUtils.isEmpty(searchData.getSymptom())) {
|
|
|
- //特征(不含化验 辅检)
|
|
|
+ //提取现病史
|
|
|
List<Map<String, Object>> featuresList = fa.start(searchData.getSymptom(), FeatureType.FEATURE);
|
|
|
paramFeatureInit(searchData, featuresList);
|
|
|
+ //提取体征
|
|
|
+ featuresList = fa.start(searchData.getVital(), FeatureType.FEATURE);
|
|
|
+ paramFeatureInit(searchData, featuresList);
|
|
|
+ //提取既往史
|
|
|
+ featuresList = fa.start(searchData.getPast(), FeatureType.FEATURE);
|
|
|
+ paramFeatureInit(searchData, featuresList);
|
|
|
+ //提取其他史等
|
|
|
+ featuresList = fa.start(searchData.getOther() + searchData.getIndications(), FeatureType.FEATURE);
|
|
|
+ paramFeatureInit(searchData, featuresList);
|
|
|
|
|
|
- featuresList = fa.start(searchData.getSymptom(), FeatureType.PACS);
|
|
|
+ featuresList = fa.start(searchData.getPacs(), FeatureType.PACS);
|
|
|
paramFeatureInit(searchData, featuresList);
|
|
|
|
|
|
- featuresList = fa.start(searchData.getSymptom(), FeatureType.LIS);
|
|
|
+ featuresList = fa.start(searchData.getLis(), FeatureType.LIS);
|
|
|
paramFeatureInit(searchData, featuresList);
|
|
|
|
|
|
// 清洗特征词,去除词性不匹配的词
|
|
@@ -227,7 +236,6 @@ public class ParamsDataProxy {
|
|
|
*/
|
|
|
private void paramFeatureInit(SearchData searchData, List<Map<String, Object>> featuresList) throws Exception {
|
|
|
if (featuresList != null && featuresList.size() > 0) {
|
|
|
- // BeanUtils.setProperty(searchData, property_list, featuresList);
|
|
|
Map<String, Object> featureMap = null;
|
|
|
for (int i = 0; i < featuresList.size(); i++) {
|
|
|
featureMap = featuresList.get(i);
|
|
@@ -237,13 +245,15 @@ public class ParamsDataProxy {
|
|
|
}
|
|
|
map.put("featureType", String.valueOf(featureMap.get("feature_type")));
|
|
|
map.put("featureName", String.valueOf(featureMap.get("feature_name")));
|
|
|
+ map.put("property", String.valueOf(featureMap.get("property")));
|
|
|
+ map.put("concept", String.valueOf(featureMap.get("concept")));
|
|
|
if (Constants.default_negative.equals(featureMap.get("negative"))) {
|
|
|
- searchData.getInputs().put(map.get("feature_name"), map);
|
|
|
+ if (searchData.getInputs().get(map.get("feature_name")) == null) {
|
|
|
+ searchData.getInputs().put(map.get("feature_name"), map);
|
|
|
+ }
|
|
|
} else {
|
|
|
searchData.getFilters().put(map.get("feature_name"), map);
|
|
|
}
|
|
|
- map.put("property", String.valueOf(featureMap.get("property")));
|
|
|
- map.put("concept", String.valueOf(featureMap.get("concept")));
|
|
|
}
|
|
|
}
|
|
|
}
|