Quellcode durchsuchen

优化手术和药物提醒修改

wangfeng vor 4 Jahren
Ursprung
Commit
0a2c4124b6
1 geänderte Dateien mit 15 neuen und 8 gelöschten Zeilen
  1. 15 8
      src/main/java/com/diagbot/process/BillProcess.java

+ 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());