Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

MarkHuang 4 vuotta sitten
vanhempi
commit
3f4321a836

+ 6 - 2
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -186,10 +186,14 @@ public class NeoFacade {
         List<String> symptom_chief = new ArrayList<>();
         List<String> symptom_present = new ArrayList<>();
         if(chiefPushVo != null){
-            symptom_chief = chiefPushVo.getSymptoms().stream().map(x -> x.getName()).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(chiefPushVo.getSymptoms())){
+                symptom_chief = chiefPushVo.getSymptoms().stream().map(x -> x.getName()).collect(Collectors.toList());
+            }
         }
         if(presentPushVo != null){
-            symptom_present = presentPushVo.getSymptoms().stream().map(x -> x.getName()).collect(Collectors.toList());
+            if (ListUtil.isNotEmpty(presentPushVo.getSymptoms())){
+                symptom_present = presentPushVo.getSymptoms().stream().map(x -> x.getName()).collect(Collectors.toList());
+            }
         }
         symptoms = Stream.of(symptom_chief,symptom_present).flatMap(Collection::stream).distinct().collect(Collectors.toList());
         //症状推疾病

+ 15 - 8
src/main/java/com/diagbot/process/BillProcess.java

@@ -11,6 +11,7 @@ import com.diagbot.enums.NeoEnum;
 import com.diagbot.facade.NeoFacade;
 import com.diagbot.model.entity.AllergyMedicine;
 import com.diagbot.model.entity.Clinical;
+import com.diagbot.model.entity.Medicine;
 import com.diagbot.model.entity.Operation;
 import com.diagbot.model.label.ChiefLabel;
 import com.diagbot.model.label.DiagLabel;
@@ -146,14 +147,18 @@ public class BillProcess {
         ChiefLabel chiefLabel = wordCrfDTO.getChiefLabel();
         PresentLabel presentLabel = wordCrfDTO.getPresentLabel();
         PastLabel pastLabel = wordCrfDTO.getPastLabel();
-        List<AllergyMedicine> allergyMedicines = pastLabel.getAllergyMedicines();
+        List<Medicine> allergyAll = new ArrayList<>();
+        List<Medicine> takeMedicine = presentLabel.getTakeMedicine();
+        List<Medicine> allergyDrug = new ArrayList<>();
         List<Drug> drug = wordCrfDTO.getDrug();
         for(Item item:drug){
-            AllergyMedicine operaData = new AllergyMedicine();
+            Medicine operaData = new Medicine();
             operaData.setName(item.getName());
             operaData.setStandName(item.getUniqueName());
-            allergyMedicines.add(operaData);
+            allergyDrug.add(operaData);
         }
+        allergyAll.addAll(allergyDrug);
+        allergyAll.addAll(takeMedicine);
         // 诊断数据
         List<Item> diags = wordCrfDTO.getDiag();
 
@@ -175,6 +180,7 @@ public class BillProcess {
         );
 
         // 手术数据
+        List<Operation> operations_all = new ArrayList<>();
         List<Operation> operations_present = presentLabel.getOperations();
         List<Operation> operations_past = pastLabel.getOperations();
         List<Item> operation = wordCrfDTO.getOperation();
@@ -185,8 +191,9 @@ public class BillProcess {
             operaData.setStandName(item.getUniqueName());
             operationsItem.add(operaData);
         }
-        operations_present.addAll(operations_past);
-        operations_present.addAll(operationsItem);
+        operations_all.addAll(operations_present);
+        operations_all.addAll(operations_past);
+        operations_all.addAll(operationsItem);
 
         // 临床表现数据
         List<Clinical> clinicals = new ArrayList<>();
@@ -222,13 +229,13 @@ public class BillProcess {
             commonRule.compareNameWithBill(bill.getClinicfindings(), clinicals, bill, billMsgList, NeoEnum.clinicfindings.getName());
 
             // 手术(既往史、现病史)
-            commonRule.compareNameWithBill(bill.getOperations(), operations_present, bill, billMsgList, NeoEnum.operations.getName());
+            commonRule.compareNameWithBill(bill.getOperations(), operations_all, bill, billMsgList, NeoEnum.operations.getName());
 
             // 禁忌过敏药品(既往史)
-            drugRule.compareDrugWithBill(bill.getAllergicmeds(), allergyMedicines, bill, billMsgList, NeoEnum.allergicmeds.getName());
+            drugRule.compareDrugWithBill(bill.getAllergicmeds(), pastLabel.getAllergyMedicines(), bill, billMsgList, NeoEnum.allergicmeds.getName());
 
             // 服用药品(现病史一般情况后的药品)
-            drugRule.compareDrugWithBill(bill.getOralmeds(), presentLabel.getTakeMedicine(), bill, billMsgList, NeoEnum.oralmeds.getName());
+            drugRule.compareDrugWithBill(bill.getOralmeds(), allergyAll, bill, billMsgList, NeoEnum.oralmeds.getName());
 
             // 禁用人群
             groupRule.compareGroupWithBill(wordCrfDTO, bill, billMsgList, NeoEnum.group.getName());