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