|
@@ -22,34 +22,6 @@ public class ClassifyDiag {
|
|
|
//每个诊断所在的级别缓存
|
|
|
Map<String, Integer> diagClassifyJiCache = CacheUtil.getDiagClassifyJiCache();
|
|
|
|
|
|
- /* public static void main(String[] args) {
|
|
|
-
|
|
|
- List<String> disList = new LinkedList<>();
|
|
|
- String[] disArray = {"急性胰腺炎","冠心病","急性冠状动脉综合征","急性非ST段抬高型心肌梗死","急性ST段抬高型心肌梗死"
|
|
|
- ,"三度房室传导阻滞","心力衰竭","急性心力衰竭"};
|
|
|
- disList = Arrays.asList(disArray);
|
|
|
- System.out.println("输入的诊断"+disList);
|
|
|
- List<FeatureRate> inintFeature = new ArrayList<>();
|
|
|
- Double inintNumber = 0.95;
|
|
|
- String rate = "";
|
|
|
- for (String dis:disList) {
|
|
|
- FeatureRate featureRate = new FeatureRate();
|
|
|
- featureRate.setFeatureName(dis);
|
|
|
- inintNumber = inintNumber - 0.1;
|
|
|
- rate = String.valueOf(inintNumber);
|
|
|
- featureRate.setRate(rate);
|
|
|
- inintFeature.add(featureRate);
|
|
|
- }
|
|
|
-
|
|
|
- ClassifyDiag classifyDiag = new ClassifyDiag();
|
|
|
- List<FeatureRate> classify = classifyDiag.diagClassify(inintFeature);
|
|
|
- System.out.println("hao hai you");
|
|
|
- for (FeatureRate d:classify) {
|
|
|
- System.out.println(d.getFeatureName()+"\t"+d.getRate()+"\t"+d.getExtraProperty());
|
|
|
- }
|
|
|
-
|
|
|
- }*/
|
|
|
-
|
|
|
/**
|
|
|
* 根据诊断依据规则过滤诊断
|
|
|
* @param graphResponseData 把过滤的诊断包装在这个对象里
|
|
@@ -91,16 +63,6 @@ public class ClassifyDiag {
|
|
|
String desc = featureRate.getDesc();
|
|
|
Map<String,Object> d = new HashMap<>();
|
|
|
if(desc != null){
|
|
|
- /* JSONObject jsonObject = JSONObject.parseObject(desc);
|
|
|
- d = jsonObject;
|
|
|
- if(d.keySet().size() == 1 && "警惕".equals(d.keySet().toArray()[0])){
|
|
|
- highDiagList.add(featureName);
|
|
|
- }else if(d.keySet().size() == 1 && ("鉴别诊断".equals(d.keySet().toArray()[0])
|
|
|
- || "页面急诊".equals(d.keySet().toArray()[0])) || "急诊".equals(d.keySet().toArray()[0])){
|
|
|
- diffDiagList.add(featureName);
|
|
|
- }else {
|
|
|
- queDiagList.add(featureName);
|
|
|
- }*/
|
|
|
if(desc.contains("确诊") || desc.contains("拟诊")){
|
|
|
queDiagList.add(featureName);
|
|
|
}else {
|
|
@@ -117,7 +79,7 @@ public class ClassifyDiag {
|
|
|
FeatureRate featureRate = updateFeatures.get(j);
|
|
|
String featureName = featureRate.getFeatureName();
|
|
|
int i = highDiagList.indexOf(featureName);
|
|
|
- if(i >= 0){
|
|
|
+ if(i >= 0 && featureRate.getDesc() != null){
|
|
|
finalDiagList.add(featureRate);
|
|
|
}
|
|
|
}
|
|
@@ -128,7 +90,7 @@ public class ClassifyDiag {
|
|
|
FeatureRate featureRate = updateFeatures.get(j);
|
|
|
String featureName = featureRate.getFeatureName();
|
|
|
int i = diffDiagList.indexOf(featureName);
|
|
|
- if(i >= 0){
|
|
|
+ if(i >= 0 && featureRate.getDesc() != null){
|
|
|
finalDiagList.add(featureRate);
|
|
|
}
|
|
|
}
|
|
@@ -211,6 +173,8 @@ public class ClassifyDiag {
|
|
|
bigDataIDiagList.add(featureName);
|
|
|
}else if("Ⅱ".equals(s)){
|
|
|
bigDataIIDiagList.add(featureName);
|
|
|
+ }else {
|
|
|
+ bigDataIDiagList.add(featureName);
|
|
|
}
|
|
|
}else {
|
|
|
bigDataIDiagList.add(featureName);
|
|
@@ -218,13 +182,23 @@ public class ClassifyDiag {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- finalDiagList.addAll(neoDiagList);
|
|
|
+// finalDiagList.addAll(neoDiagList);
|
|
|
finalDiagList.addAll(bigDataIDiagList);
|
|
|
finalDiagList.addAll(bigDataIIDiagList);
|
|
|
+ if(neoDiagList !=null && neoDiagList.size()>0){
|
|
|
+ for (String diag:neoDiagList) {
|
|
|
+ for (FeatureRate feature:updateFeatureRates) {
|
|
|
+ if(diag.equals(feature.getFeatureName())&& "neo4j".equals(feature.getSource())){
|
|
|
+ finalDiagFeature.add(feature);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
if(finalDiagList != null && finalDiagList.size()>0){
|
|
|
for (String diag:finalDiagList){
|
|
|
for (FeatureRate f:updateFeatureRates) {
|
|
|
- if(diag.equals(f.getFeatureName())){
|
|
|
+ if(diag.equals(f.getFeatureName())&& f.getSource()==null){
|
|
|
finalDiagFeature.add(f);
|
|
|
break;
|
|
|
}
|