zhoutg 4 éve
szülő
commit
eb8b261ef5

+ 56 - 55
src/main/java/com/diagbot/facade/CommonFacade.java

@@ -129,7 +129,7 @@ public class CommonFacade {
     public StandConvert dataTypeGet(WordCrfDTO wordCrfDTO) {
         StandConvert standConvert = new StandConvert();
 
-        //所有症状(主诉、现病史)
+        //所有症状(主诉、现病史)
         List<String> clinicalList = new ArrayList<>();
         ChiefLabel chiefLabel = wordCrfDTO.getChiefLabel();
         clinicalList.addAll(CoreUtil.getPropertyList(chiefLabel.getClinicals()));
@@ -137,107 +137,108 @@ public class CommonFacade {
         clinicalList.addAll(CoreUtil.getPropertyList(presentLabel.getClinicals()));
         standConvert.setClinicalList(clinicalList);
 
-        //所有的疾病(主诉、现病史,诊断,既往史,下的诊断)
+        // 【所有疾病】
         DiagLabel diagLabel = wordCrfDTO.getDiagLabel();
         PastLabel pastLabel = wordCrfDTO.getPastLabel();
         List<String> diagList = new ArrayList<>();
-        CoreUtil.addList(diagList, CoreUtil.getPropertyList(chiefLabel.getDiags())); // 主诉诊断
-        CoreUtil.addList(diagList, CoreUtil.getPropertyList(presentLabel.getDiags())); // 现病史诊断
-        CoreUtil.addList(diagList, CoreUtil.getPropertyList(diagLabel.getDiags())); // 文本诊断
-        CoreUtil.addList(diagList, CoreUtil.getPropertyList(pastLabel.getDiags())); // 既往史诊断
-        // 开单项诊断
+        // 1、主诉诊断
+        CoreUtil.addList(diagList, CoreUtil.getPropertyList(chiefLabel.getDiags()));
+        // 2、现病史诊断
+        CoreUtil.addList(diagList, CoreUtil.getPropertyList(presentLabel.getDiags()));
+        // 3、文本诊断
+        CoreUtil.addList(diagList, CoreUtil.getPropertyList(diagLabel.getDiags()));
+        // 4、既往史诊断
+        CoreUtil.addList(diagList, CoreUtil.getPropertyList(pastLabel.getDiags()));
+        // 5、开单项诊断
         diagList.addAll(wordCrfDTO.getDiagOrder().stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
                 .map(x -> x.getName()).collect(Collectors.toList()));
-        // 结构化诊断
+        // 6、结构化诊断
         diagList.addAll(wordCrfDTO.getDiag().stream().filter(x ->
                 StringUtils.isBlank(x.getUniqueName()))
                 .map(x -> x.getName()).collect(Collectors.toList()));
-        // 选中诊断
+        // 7、选中诊断
         if (wordCrfDTO.getDiseaseName() != null && StringUtils.isBlank(wordCrfDTO.getDiseaseName().getUniqueName())) {
             diagList.add(wordCrfDTO.getDiseaseName().getName());
         }
         standConvert.setDiaglList(diagList);
 
-        //所有化验(结构化数据)
+        // 【所有化验】
         List<String> allLis = new ArrayList<>();
-        //普通化验——取明细
+        // 1、普通化验——取明细
         List<Lis> lis = wordCrfDTO.getLis();
         if (ListUtil.isNotEmpty(lis)) {
             List<String> lis_unique = lis.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
                     //                    .map(x -> x.getName() + x.getDetailName()).collect(Collectors.toList());
                     .map(x -> x.getDetailName()).collect(Collectors.toList());
-            allLis.addAll(lis_unique);
+            CoreUtil.addList(allLis, lis_unique);
         }
-        //开单化验——取套餐
+        // 2、开单化验——取套餐
         List<Lis> lisOrder = wordCrfDTO.getLisOrder();
         if (ListUtil.isNotEmpty(lisOrder)) {
             List<String> lis_unique = lisOrder.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
                     .map(x -> x.getName()).collect(Collectors.toList());
-            allLis.addAll(lis_unique);
+            CoreUtil.addList(allLis, lis_unique);
         }
         standConvert.setLisList(allLis);
 
-        //所有辅助项目(结构化数据)
+        // 【所有辅助项目】
         List<String> allPacs = new ArrayList<>();
+        // 1、模型解析辅检项目
         List<Item> pacsList = wordCrfDTO.getPacsLabel().getItem();
         if (ListUtil.isNotEmpty(pacsList)) {
             List<String> pacss_unique = pacsList.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
                     .map(x -> x.getName()).collect(Collectors.toList());
-            allPacs.addAll(pacss_unique);
+            CoreUtil.addList(allPacs, pacss_unique);
         }
-        // List<PacsNew> pacsNews = wordCrfDTO.getPacsLabel().getPacsNewList();
-        // if (ListUtil.isNotEmpty(pacsNews)) {
-        //     List<String> pacss_unique = pacsNews.stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
-        //             .map(x -> x.getName()).collect(Collectors.toList());
-        //     allPacs.addAll(pacss_unique);
-        // }
-        allPacs.addAll(wordCrfDTO.getPacs().stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
+        // 2、结构化辅检项目
+        CoreUtil.addList(allPacs, wordCrfDTO.getPacs().stream().filter(x -> StringUtils.isBlank(x.getUniqueName()))
                 .map(x -> x.getName()).collect(Collectors.toList()));
-        //开单检查
-        allPacs.addAll(wordCrfDTO.getPacsOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        // 3、开单辅检项目
+        CoreUtil.addList(allPacs, wordCrfDTO.getPacsOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         standConvert.setPacsList(allPacs);
-        //所有药品(现病史、既往史)
+
+        // 【所有药品】
         List<String> drugList = new ArrayList<>();
-        //1、现病史中的药品
-        drugList.addAll(CoreUtil.getPropertyList(presentLabel.getMedicines()));
-        drugList.addAll(CoreUtil.getPropertyList(presentLabel.getTakeMedicine()));
-        //2、既往史(药物过敏)
-        drugList.addAll(CoreUtil.getPropertyList(pastLabel.getAllergyMedicines()));
-        //3、开单药品
-        drugList.addAll(wordCrfDTO.getDrugOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
-        standConvert.setDrugList(drugList);
-        //4、医嘱药品
-        drugList.addAll(wordCrfDTO.getDrug().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        // 1、主诉药品
+        CoreUtil.addList(drugList, CoreUtil.getPropertyList(chiefLabel.getMedicines()));
+        // 2、现病史药品
+        CoreUtil.addList(drugList, CoreUtil.getPropertyList(presentLabel.getMedicines()));
+        // 3、既往史(药物过敏)
+        CoreUtil.addList(drugList, CoreUtil.getPropertyList(pastLabel.getAllergyMedicines()));
+        // 4、既往史(药物)
+        CoreUtil.addList(drugList, CoreUtil.getPropertyList(pastLabel.getMedicines()));
+        // 5、开单药品
+        CoreUtil.addList(drugList, wordCrfDTO.getDrugOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        // 6、医嘱药品
+        CoreUtil.addList(drugList, wordCrfDTO.getDrug().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         standConvert.setDrugList(drugList);
 
-        //所有手术(现病史、既往史)
+        // 【所有手术】
         List<String> operationList = new ArrayList<>();
-        //1、现病史中的手术
-        operationList.addAll(CoreUtil.getPropertyList(presentLabel.getOperations()));
-        //2、既往史中的手术
-        operationList.addAll(CoreUtil.getPropertyList(pastLabel.getOperations()));
-        //3.开单手术
-        operationList.addAll(wordCrfDTO.getOperationOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
-        standConvert.setOperationList(operationList);
-        //4.手术及操作
-        operationList.addAll(wordCrfDTO.getOperation().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
-        //5.选中的诊断
+        // 1、现病史手术
+        CoreUtil.addList(drugList, CoreUtil.getPropertyList(presentLabel.getOperations()));
+        // 2、既往史手术
+        CoreUtil.addList(drugList, CoreUtil.getPropertyList(pastLabel.getOperations()));
+        // 3、开单手术
+        CoreUtil.addList(drugList, wordCrfDTO.getOperationOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        // 4、结构化手术
+        CoreUtil.addList(drugList, wordCrfDTO.getOperation().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
+        // 5、选中手术
         if (wordCrfDTO.getOperationName() != null && StringUtils.isBlank(wordCrfDTO.getOperationName().getUniqueName())) {
             operationList.add(wordCrfDTO.getOperationName().getName());
         }
         standConvert.setOperationList(operationList);
-        //所有体征
+
+        // 【所有体征】(临床表现、体征结果)
         List<String> vitalList = new ArrayList<>();
         VitalLabel vitalLabel = wordCrfDTO.getVitalLabel();
-        vitalList.addAll(CoreUtil.getPropertyList(vitalLabel.getVitals()));
-        vitalList.addAll(CoreUtil.getPropertyList(vitalLabel.getClinicals()));
+        CoreUtil.addList(vitalList, CoreUtil.getPropertyList(vitalLabel.getVitals()));
+        CoreUtil.addList(vitalList, CoreUtil.getPropertyList(vitalLabel.getClinicals()));
         standConvert.setVitalList(vitalList);
 
-        // 输血
+        // 输血
         List<String> transfusionList = new ArrayList<>();
-        if (ListUtil.isNotEmpty(wordCrfDTO.getTransfusionOrder())) {
-            transfusionList.addAll(wordCrfDTO.getTransfusionOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
-        }
+        CoreUtil.addList(transfusionList, wordCrfDTO.getTransfusionOrder().stream().filter(z -> StringUtils.isBlank(z.getUniqueName())).map(x -> x.getName()).collect(Collectors.toList()));
         standConvert.setTransfusionList(transfusionList);
 
         return standConvert;
@@ -266,7 +267,7 @@ public class CommonFacade {
         CoreUtil.setPropertyList(wordCrfDTO.getDiseaseName(), "name", "uniqueName", map.get(StandConvertEnum.disease.toString())); // 选中诊断
         //药品回填
         CoreUtil.setPropertyList(presentLabel.getMedicines(), map.get(StandConvertEnum.drug.toString()));
-        CoreUtil.setPropertyList(presentLabel.getTakeMedicine(), map.get(StandConvertEnum.drug.toString()));
+        // CoreUtil.setPropertyList(presentLabel.getTakeMedicine(), map.get(StandConvertEnum.drug.toString()));
         CoreUtil.setPropertyList(pastLabel.getAllergyMedicines(), map.get(StandConvertEnum.drug.toString()));
         CoreUtil.setPropertyList(wordCrfDTO.getDrugOrder(), "name", "uniqueName", map.get(StandConvertEnum.drug.toString()));
         CoreUtil.setPropertyList(wordCrfDTO.getDrug(), "name", "uniqueName", map.get(StandConvertEnum.drug.toString()));

+ 2 - 2
src/main/java/com/diagbot/model/ai/BeHospitalizedAI.java

@@ -348,8 +348,8 @@ public class BeHospitalizedAI extends ModelAI {
         }
         entityProcessPacs.extractEntity(aiOut, pacsLabel,false);
         //服用药品
-        List<Medicine> medicines = takeMedicine(presentLabel);
-        presentLabel.setTakeMedicine(medicines);
+        // List<Medicine> medicines = takeMedicine(presentLabel);
+        // presentLabel.setTakeMedicine(medicines);
         wordCrfDTO.setPresentLabel(presentLabel);
 
     }

+ 1 - 1
src/main/java/com/diagbot/model/label/PresentLabel.java

@@ -41,7 +41,7 @@ public class PresentLabel extends GeneralLabel {
     //现病史中所有时间实体存入
     private List<PD> pds = new ArrayList<>();
     //现病史一般情况之后的服用药品
-    List<Medicine> takeMedicine = new ArrayList<>();
+    // List<Medicine> takeMedicine = new ArrayList<>();
     //体征内容
     private List<Vital> vitals = new ArrayList<>();
 

+ 1 - 1
src/main/java/com/diagbot/process/BillProcess.java

@@ -181,7 +181,7 @@ public class BillProcess {
             allergyDrug.add(operaData);
         }
         CoreUtil.addList(allergyAll, chiefLabel.getMedicines()); // 主诉药品
-        CoreUtil.addList(allergyAll,  presentLabel.getTakeMedicine()); // 现病史药品
+        CoreUtil.addList(allergyAll,  presentLabel.getMedicines()); // 现病史药品
         CoreUtil.addList(allergyAll, pastLabel.getMedicines());  // 既往史药品
         CoreUtil.addList(allergyAll, allergyDrug);  // 结构化药品