|
@@ -47,8 +47,7 @@ public class GraphCalculate {
|
|
|
int age = searchData.getAge();
|
|
|
String sex = searchData.getSex();
|
|
|
logger.info("前端传来的年龄为 :"+age+" 前端传来的性别为 :"+sex);
|
|
|
- //获取缓存
|
|
|
-// Map<String, String> lexionCache = CacheUtil.getLexionCache();
|
|
|
+
|
|
|
Map<String, Map<String, String>> sexAgeCache = CacheUtil.getSexAgeCache();
|
|
|
Map<String, Map<String, String>> inputs = searchData.getGraphInputs();
|
|
|
Set<String> ss = new HashSet<>();
|
|
@@ -152,16 +151,20 @@ public class GraphCalculate {
|
|
|
responseData.setManagementEvaluation(mangementEvaluation1);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ String pacsOrder = searchData.getPacsOrder();
|
|
|
//指标推送
|
|
|
if (featureTypeList.contains("22") ) {
|
|
|
+ List<MedicalIndication> pacsMi = getPacsMi(pacsOrder, inputList,webDiag);
|
|
|
//查找指标
|
|
|
Set<String> indSet = neo4jAPI.getInd((String[]) inputList.toArray(new String[inputList.size()]));
|
|
|
logger.info("featureTypeList 包含22,走指标推送!!!,图谱推出的指标为:" + indSet);
|
|
|
if(indSet.contains("肾功能不全")){
|
|
|
List<MedicalIndication> idn = neo4jAPI.getIdn(indSet, age, sex);
|
|
|
- responseData.setMedicalIndications(idn);
|
|
|
+ pacsMi.addAll(idn);
|
|
|
+ responseData.setMedicalIndications(pacsMi);
|
|
|
}
|
|
|
+ responseData.setMedicalIndications(pacsMi);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
//诊断推送
|
|
@@ -171,6 +174,39 @@ public class GraphCalculate {
|
|
|
System.out.println("Total takes: " + (System.currentTimeMillis()-starttime)/1000d + 's');
|
|
|
return responseData;
|
|
|
}
|
|
|
+ public List<MedicalIndication> getPacsMi(String pacsOrder,List<String> inputList,String webDiag){
|
|
|
+ if(StringUtils.isNotEmpty(webDiag)){
|
|
|
+ String[] webDiagsplits = webDiag.split(",|,|、|;|:|;");
|
|
|
+ for (String wd:webDiagsplits
|
|
|
+ ) {
|
|
|
+ inputList.add(wd);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<MedicalIndication> pacsMi = new ArrayList<>();
|
|
|
+ Map<String, String> newInd = neo4jAPI.getNewInd((String[]) inputList.toArray(new String[inputList.size()]));
|
|
|
+ if(StringUtils.isNotEmpty(pacsOrder)){
|
|
|
+ String[] pacsOrders = pacsOrder.split(",|,");
|
|
|
+ for (String pacs:pacsOrders) {
|
|
|
+ if(newInd.containsKey(pacs)){
|
|
|
+ String causes = newInd.get(pacs);
|
|
|
+ MedicalIndication m = new MedicalIndication();
|
|
|
+ List<MedicalIndicationDetail> mds = new ArrayList<>();
|
|
|
+ MedicalIndicationDetail medicalIndicationDetail = new MedicalIndicationDetail();
|
|
|
+ medicalIndicationDetail.setType(4);
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ jsonObject.put("name", causes);
|
|
|
+ jsonObject.put("controlType",2);
|
|
|
+ medicalIndicationDetail.setContent(jsonObject);
|
|
|
+ mds.add(medicalIndicationDetail);
|
|
|
+ m.setName("不建议做:"+pacs);
|
|
|
+ m.setDetails(mds);
|
|
|
+ pacsMi.add(m);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pacsMi;
|
|
|
+ }
|
|
|
// 诊断过滤
|
|
|
public void filterDis(List<FeatureRate> graphFeatureRates,String sex,Integer age) throws Exception {
|
|
|
if(neo4jAPI == null){
|