|
@@ -1,25 +1,14 @@
|
|
|
-/*
|
|
|
+
|
|
|
package com.diagbot.facade;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
-import com.diagbot.entity.node.BillItem;
|
|
|
-import com.diagbot.entity.node.LisCritical;
|
|
|
-import com.diagbot.entity.node.LisRemind;
|
|
|
-import com.diagbot.entity.node.MedNameRegName;
|
|
|
-import com.diagbot.entity.node.MedRegName;
|
|
|
-import com.diagbot.entity.node.PacsCritical;
|
|
|
-import com.diagbot.entity.node.PacsRemind;
|
|
|
-import com.diagbot.entity.node.TransfusionRemind;
|
|
|
-import com.diagbot.entity.node.TransfusionSuggest;
|
|
|
-import com.diagbot.entity.node.YiBaoOperationName;
|
|
|
-import com.diagbot.entity.relationship.LisNameLisCritical;
|
|
|
-import com.diagbot.entity.relationship.LisRemindMedicine;
|
|
|
-import com.diagbot.entity.relationship.LisRemindYiBaoDiseaseName;
|
|
|
-import com.diagbot.entity.relationship.TransfusionSuggestYiBaoDiseaseName;
|
|
|
-import com.diagbot.entity.relationship.TransfusionSuggestYiBaoOperationName;
|
|
|
+import com.diagbot.dto.MedClassMedDTO;
|
|
|
+import com.diagbot.dto.RuleDTO;
|
|
|
+import com.diagbot.entity.ResultRule;
|
|
|
import com.diagbot.enums.GraphLabelEnum;
|
|
|
+import com.diagbot.enums.LexiconEnum;
|
|
|
import com.diagbot.enums.StatusEnum;
|
|
|
-import com.diagbot.repository.MedicineRepository;
|
|
|
+import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.EntityUtil;
|
|
|
import com.diagbot.util.ListUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
@@ -33,28 +22,26 @@ import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-*/
|
|
|
+
|
|
|
/**
|
|
|
* @Description:
|
|
|
* @Author:zhaops
|
|
|
* @time: 2021/1/7 15:32
|
|
|
- *//*
|
|
|
+ */
|
|
|
|
|
|
@Component
|
|
|
public class UnUsedMappingFacade {
|
|
|
-
|
|
|
@Autowired
|
|
|
- private MedicineRepository medicineRepository;
|
|
|
+ private KlRelationFacade klRelationFacade;
|
|
|
|
|
|
- */
|
|
|
-/**
|
|
|
+ /**
|
|
|
* 未使用映射关系
|
|
|
*
|
|
|
* @param items
|
|
|
* @param usedNames
|
|
|
* @param <T>
|
|
|
* @return
|
|
|
- *//*
|
|
|
+ */
|
|
|
|
|
|
public <T> List<T> unUsedMapping(List<T> items, List<String> usedNames) {
|
|
|
List<T> retList = Lists.newLinkedList();
|
|
@@ -70,390 +57,116 @@ public class UnUsedMappingFacade {
|
|
|
return retList;
|
|
|
}
|
|
|
|
|
|
- */
|
|
|
-/**
|
|
|
- * 开单合理性包含的术语
|
|
|
- *
|
|
|
- * @param billItems
|
|
|
+ /**
|
|
|
+ * 规则包含术语
|
|
|
+ * @param list
|
|
|
* @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> billUsedNames(List<BillItem> billItems) {
|
|
|
+ */
|
|
|
+ public Map<String, List<String>> usedNames(List<RuleDTO> list) {
|
|
|
Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(billItems)) {
|
|
|
+
|
|
|
+ if (ListUtil.isEmpty(list)) {
|
|
|
return retMap;
|
|
|
}
|
|
|
- //开单项使用
|
|
|
- List<String> lisBillNames = billItems.stream()
|
|
|
- .filter(i -> i.getConceptLabel().equals(GraphLabelEnum.LisSet.getName()))
|
|
|
- .map(i -> i.getConceptName())
|
|
|
- .distinct()
|
|
|
+ List<String> lisNames = list.stream()
|
|
|
+ .filter(i -> i.getRuleLibType().equals(LexiconEnum.LisName.getKey()) || i.getRuleLibType().equals(LexiconEnum.LisSubName.getKey()))
|
|
|
+ .map(RuleDTO::getRuleLibName)
|
|
|
.collect(Collectors.toList());
|
|
|
- //禁忌项使用
|
|
|
- lisBillNames.addAll(billItems.stream()
|
|
|
- .filter(i -> i.getConditionLabel().equals(GraphLabelEnum.Lis.getName()))
|
|
|
- .map(i -> i.getConditionName())
|
|
|
- .distinct()
|
|
|
+ lisNames.addAll(list.stream()
|
|
|
+ .filter(i -> i.getHasSubCond() != null && i.getHasSubCond().equals(1) && (i.getRuleBaseLibType().equals(LexiconEnum.LisName.getKey()) || i.getRuleBaseLibType().equals(LexiconEnum.LisSubName.getKey())))
|
|
|
+ .map(RuleDTO::getRuleBaseLibName)
|
|
|
.collect(Collectors.toList()));
|
|
|
- //开单项使用
|
|
|
- List<String> pacsBillNames = billItems.stream()
|
|
|
- .filter(i -> i.getConceptLabel().equals(GraphLabelEnum.PacsName.getName()) || i.getConceptLabel().equals(GraphLabelEnum.PacsSubName.getName()))
|
|
|
- .map(i -> i.getConceptName())
|
|
|
- .distinct()
|
|
|
+ lisNames = lisNames.stream().distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<String> pacsNames = list.stream()
|
|
|
+ .filter(i -> i.getRuleLibType().equals(LexiconEnum.PacsName.getKey()) || i.getRuleLibType().equals(LexiconEnum.PacsSubName.getKey()))
|
|
|
+ .map(RuleDTO::getRuleLibName)
|
|
|
.collect(Collectors.toList());
|
|
|
- //禁忌项使用
|
|
|
- pacsBillNames.addAll(billItems.stream()
|
|
|
- .filter(i -> i.getConditionLabel().equals(GraphLabelEnum.BillConflictItem.getName()))
|
|
|
- .map(i -> i.getConditionName())
|
|
|
- .distinct()
|
|
|
+ pacsNames.addAll(list.stream()
|
|
|
+ .filter(i -> i.getHasSubCond() != null && i.getHasSubCond().equals(1) && (i.getRuleBaseLibType().equals(LexiconEnum.PacsName.getKey()) || i.getRuleBaseLibType().equals(LexiconEnum.PacsSubName.getKey())))
|
|
|
+ .map(RuleDTO::getRuleBaseLibName)
|
|
|
.collect(Collectors.toList()));
|
|
|
- //开单项使用
|
|
|
- List<String> operationBillNames = billItems.stream()
|
|
|
- .filter(i -> i.getConceptLabel().equals(GraphLabelEnum.YiBaoOperationName.getName()))
|
|
|
- .map(i -> i.getConceptName())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- //禁忌项使用
|
|
|
- */
|
|
|
-/*operationBillNames.addAll(billItems.stream()
|
|
|
- .filter(i -> i.getConditionLabel().equals("手术"))
|
|
|
- .map(i -> i.getConditionName())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList()));*//*
|
|
|
+ pacsNames = pacsNames.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
|
- //开单项使用
|
|
|
- List<String> diseaseBillNames = billItems.stream()
|
|
|
- .filter(i -> i.getConceptLabel().equals(GraphLabelEnum.YiBaoDiseaseName.getName()))
|
|
|
- .map(i -> i.getConceptName())
|
|
|
- .distinct()
|
|
|
+ List<String> diseaseNames = list.stream()
|
|
|
+ .filter(i -> i.getRuleLibType().equals(LexiconEnum.Disease.getKey()))
|
|
|
+ .map(RuleDTO::getRuleLibName)
|
|
|
.collect(Collectors.toList());
|
|
|
- //禁忌项使用
|
|
|
- diseaseBillNames.addAll(billItems.stream()
|
|
|
- .filter(i -> i.getConditionLabel().equals(GraphLabelEnum.Disease.getName()))
|
|
|
- .map(i -> i.getConditionName())
|
|
|
- .distinct()
|
|
|
+ diseaseNames.addAll(list.stream()
|
|
|
+ .filter(i -> i.getHasSubCond() != null && i.getHasSubCond().equals(1) && (i.getRuleBaseLibType().equals(LexiconEnum.Disease.getKey())))
|
|
|
+ .map(RuleDTO::getRuleBaseLibName)
|
|
|
.collect(Collectors.toList()));
|
|
|
- //开单项使用
|
|
|
- List<String> drugRegNames = billItems.stream()
|
|
|
- .filter(i -> i.getConceptLabel().equals(GraphLabelEnum.MedRegName.getName()))
|
|
|
- .map(i -> i.getConceptName())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- //药品注册名转药品通用名
|
|
|
- List<String> drugBillNames = Lists.newArrayList();
|
|
|
- if (ListUtil.isNotEmpty(drugBillNames)) {
|
|
|
- List<MedNameRegName> medNameRegNames = medicineRepository.findCustomByNameAndRegName(StatusEnum.Enable.getKey());
|
|
|
- Map<String, List<MedNameRegName>> medNameRegNameMap
|
|
|
- = EntityUtil.makeEntityListMap(medNameRegNames, "medRegName");
|
|
|
- for (String regName : drugRegNames) {
|
|
|
- if (medNameRegNameMap.containsKey(regName)) {
|
|
|
- drugBillNames.addAll(medNameRegNameMap.get(regName).stream().map(i -> i.getMedName()).collect(Collectors.toList()));
|
|
|
+ diseaseNames = diseaseNames.stream().distinct().collect(Collectors.toList());
|
|
|
+
|
|
|
+ //药品分类转换
|
|
|
+ List<MedClassMedDTO> medClassMedList = klRelationFacade.getMedClassMedList();
|
|
|
+ Map<String, List<String>> medClassMedMap =
|
|
|
+ medClassMedList.stream().collect(Collectors.groupingBy(MedClassMedDTO::getMedClassLibName,
|
|
|
+ HashMap::new,
|
|
|
+ Collectors.mapping(MedClassMedDTO::getMedLibName, Collectors.toList())));
|
|
|
+ List<RuleDTO> medList = Lists.newLinkedList();
|
|
|
+ for (RuleDTO result : list) {
|
|
|
+ if (result.getHasSubCond() != null && result.getHasSubCond().equals(1)) {
|
|
|
+ if (result.getRuleBaseLibType().equals(LexiconEnum.MedChemClass.getKey())
|
|
|
+ || result.getRuleBaseLibType().equals(LexiconEnum.MedZhiLiaoClass.getKey())
|
|
|
+ || result.getRuleBaseLibType().equals(LexiconEnum.MedYaoLiClass.getKey())) {
|
|
|
+ List<String> medicines = medClassMedMap.get(result.getRuleBaseLibName());
|
|
|
+ if (ListUtil.isNotEmpty(medicines)) {
|
|
|
+ for (String med : medicines) {
|
|
|
+ RuleDTO medResult = new RuleDTO();
|
|
|
+ BeanUtil.copyProperties(result, medResult);
|
|
|
+ medResult.setRuleBaseLibName(med);
|
|
|
+ medResult.setRuleBaseLibType(LexiconEnum.Medicine.getKey());
|
|
|
+ medResult.setRuleBaseLibTypeName(LexiconEnum.Medicine.getName());
|
|
|
+ medList.add(medResult);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ medList.add(result);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ medList.add(result);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ medList.add(result);
|
|
|
}
|
|
|
}
|
|
|
- drugBillNames.addAll(billItems.stream()
|
|
|
- .filter(i -> i.getConditionLabel().equals(GraphLabelEnum.OralMedicine.getName())
|
|
|
- || i.getConditionLabel().equals(GraphLabelEnum.MedAllergen.getName()))
|
|
|
- .map(i -> i.getConditionName())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList()));
|
|
|
- retMap.put("lis", lisBillNames);
|
|
|
- retMap.put("pacs", pacsBillNames);
|
|
|
- retMap.put("disease", diseaseBillNames);
|
|
|
- retMap.put("drug", drugBillNames);
|
|
|
- retMap.put("operation", operationBillNames);
|
|
|
-
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 开单合理性-输血使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
|
|
|
- public Map<String, List<String>> billTransfusionUsedNames(List<TransfusionRemind> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
- List<String> diseaseNames = items.stream()
|
|
|
- .filter(i -> StringUtil.isNotBlank(i.getNode_label()) && i.getNode_label().equals(GraphLabelEnum.YiBaoDiseaseName.getName()))
|
|
|
- .map(i -> i.getIndex_name())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<String> operationNames = items.stream()
|
|
|
- .filter(i -> StringUtil.isNotBlank(i.getNode_label()) && i.getNode_label().equals(GraphLabelEnum.YiBaoOperationName.getName()))
|
|
|
- .map(i -> i.getIndex_name())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<String> lisNames = items.stream()
|
|
|
- .filter(i -> StringUtil.isNotBlank(i.getNode_label()) && i.getNode_label().equals(GraphLabelEnum.LisName.getName()))
|
|
|
- .map(i -> i.getIndex_name())
|
|
|
- .distinct()
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<String> transfusionNames = items.stream()
|
|
|
- .map(i -> i.getTransfusion_type())
|
|
|
- .distinct()
|
|
|
+ List<String> drugNames = medList.stream()
|
|
|
+ .filter(i -> i.getRuleLibType().equals(LexiconEnum.Medicine.getKey()))
|
|
|
+ .map(RuleDTO::getRuleLibName)
|
|
|
.collect(Collectors.toList());
|
|
|
- retMap.put("lis", lisNames);
|
|
|
- retMap.put("disease", diseaseNames);
|
|
|
- retMap.put("operation", operationNames);
|
|
|
- retMap.put("transfusion", transfusionNames);
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 实验室检查危急值使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> criticalLisUsedNames(List<LisCritical> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
- List<String> lisNames = Lists.newArrayList();
|
|
|
- for (LisCritical item : items) {
|
|
|
- Set<LisNameLisCritical> lisNameLisCriticalSet = item.getLisnameLisCriticals();
|
|
|
- if (lisNameLisCriticalSet != null && lisNameLisCriticalSet.size() > 0) {
|
|
|
- lisNameLisCriticalSet.forEach(lisNameLisCritical -> {
|
|
|
- if (lisNameLisCritical.getLisName() != null) {
|
|
|
- lisNames.add(lisNameLisCritical.getLisName().getName());
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- retMap.put("lis", lisNames);
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 辅助检查危急值使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> criticalPacsUsedNames(List<PacsCritical> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
- List<String> pacsNames = items.stream().map(i -> i.getPacsname()).distinct().collect(Collectors.toList());
|
|
|
- retMap.put("pacs", pacsNames);
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 高危药品使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> highriskDrugUsedNames(List<MedRegName> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
- List<String> medRegNames = items.stream().map(i -> i.getName()).distinct().collect(Collectors.toList());
|
|
|
- List<String> medNames = Lists.newLinkedList();
|
|
|
-
|
|
|
- List<MedNameRegName> medNameRegNames = medicineRepository.findCustomByNameAndRegName(StatusEnum.Enable.getKey());
|
|
|
- Map<String, List<MedNameRegName>> medNameRegNameMap
|
|
|
- = EntityUtil.makeEntityListMap(medNameRegNames, "medRegName");
|
|
|
- for (String regName : medRegNames) {
|
|
|
- if (medNameRegNameMap.containsKey(regName)) {
|
|
|
- medNames.addAll(medNameRegNameMap.get(regName).stream().map(i -> i.getMedName()).collect(Collectors.toList()));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- retMap.put("drug", medNames);
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 高危手术使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> highriskOperationUsedNames(List<YiBaoOperationName> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
+ drugNames.addAll(medList.stream()
|
|
|
+ .filter(i -> i.getHasSubCond() != null && i.getHasSubCond().equals(1) && (i.getRuleBaseLibType().equals(LexiconEnum.Medicine.getKey())))
|
|
|
+ .map(RuleDTO::getRuleBaseLibName)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ drugNames = drugNames.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
|
- items = items.stream()
|
|
|
- .filter(i -> StringUtil.isNotBlank(i.getOpgrade())
|
|
|
- && !i.getOpgrade().equals("0")
|
|
|
- && !i.getOpgrade().equals("1"))
|
|
|
+ List<String> operationNames = list.stream()
|
|
|
+ .filter(i -> i.getRuleLibType().equals(LexiconEnum.Operation.getKey()))
|
|
|
+ .map(RuleDTO::getRuleLibName)
|
|
|
.collect(Collectors.toList());
|
|
|
+ operationNames.addAll(list.stream()
|
|
|
+ .filter(i -> i.getHasSubCond() != null && i.getHasSubCond().equals(1) && (i.getRuleBaseLibType().equals(LexiconEnum.Operation.getKey())))
|
|
|
+ .map(RuleDTO::getRuleBaseLibName)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ operationNames = operationNames.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- List<String> operationNames = items.stream()
|
|
|
- .map(i -> i.getName()).distinct().collect(Collectors.toList());
|
|
|
-
|
|
|
- List<String> lisNames = Lists.newArrayList();
|
|
|
- List<String> diseaseNames = Lists.newArrayList();
|
|
|
-
|
|
|
- for (YiBaoOperationName item : items) {
|
|
|
- String highriskcond = item.getHighriskcond();
|
|
|
- JSONObject jobj = JSONObject.parseObject(highriskcond);
|
|
|
- if (null != jobj) {
|
|
|
- // 合并疾病
|
|
|
- JSONObject diagobj = jobj.getJSONObject("合并疾病");
|
|
|
- if (null != diagobj) {
|
|
|
- for (Map.Entry<String, Object> entry : diagobj.entrySet()) {
|
|
|
- diseaseNames.add(entry.getKey());
|
|
|
- }
|
|
|
- }
|
|
|
- // 化验结果
|
|
|
- JSONObject lisobj = jobj.getJSONObject("化验结果");
|
|
|
- if (null != lisobj) {
|
|
|
- for (Map.Entry<String, Object> entry : lisobj.entrySet()) {
|
|
|
- lisNames.add(entry.getKey());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- retMap.put("operation", operationNames);
|
|
|
- retMap.put("lis", lisNames);
|
|
|
- retMap.put("disease", diseaseNames);
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 化验其他提醒使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> otherLisUsedNames(List<LisRemind> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- List<String> lisNames = items.stream()
|
|
|
- .map(i -> i.getLisname())
|
|
|
+ List<String> transfusionNames = list.stream()
|
|
|
+ .filter(i -> i.getRuleLibType().equals(LexiconEnum.Transfusion.getKey()))
|
|
|
+ .map(RuleDTO::getRuleLibName)
|
|
|
.collect(Collectors.toList());
|
|
|
+ transfusionNames.addAll(list.stream()
|
|
|
+ .filter(i -> i.getHasSubCond() != null && i.getHasSubCond().equals(1) && (i.getRuleBaseLibType().equals(LexiconEnum.Transfusion.getKey())))
|
|
|
+ .map(RuleDTO::getRuleBaseLibName)
|
|
|
+ .collect(Collectors.toList()));
|
|
|
+ transfusionNames = transfusionNames.stream().distinct().collect(Collectors.toList());
|
|
|
|
|
|
- List<String> diseaseNames = Lists.newArrayList();
|
|
|
- List<String> drugNames = Lists.newArrayList();
|
|
|
-
|
|
|
- for (LisRemind item : items) {
|
|
|
- Set<LisRemindYiBaoDiseaseName> lisDisSet = item.getLisReminddisease();
|
|
|
- if (lisDisSet != null && lisDisSet.size() > 0) {
|
|
|
- lisDisSet.forEach(lisDis -> {
|
|
|
- if (lisDis.getYiBaoDiseaseName() != null) {
|
|
|
- diseaseNames.add(lisDis.getYiBaoDiseaseName().getName());
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- Set<LisRemindMedicine> lisMedSet = item.getLisRemindmedicines();
|
|
|
- if (lisMedSet != null && lisMedSet.size() > 0) {
|
|
|
- lisMedSet.forEach(lisMed -> {
|
|
|
- if (lisMed.getMedicine() != null) {
|
|
|
- drugNames.add(lisMed.getMedicine().getName());
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- retMap.put("disease", diseaseNames);
|
|
|
retMap.put("lis", lisNames);
|
|
|
- retMap.put("drug", drugNames);
|
|
|
- return retMap;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 辅检其他提醒使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> otherPacsUsedNames(List<PacsRemind> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- List<String> diseaseNames = items.stream()
|
|
|
- .filter(i -> StringUtil.isNotBlank(i.getDisease()))
|
|
|
- .map(i -> i.getDisease())
|
|
|
- .collect(Collectors.toList());
|
|
|
-
|
|
|
- retMap.put("disease", diseaseNames);
|
|
|
-
|
|
|
- return retMap;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- */
|
|
|
-/**
|
|
|
- * 输血其他提醒使用术语
|
|
|
- *
|
|
|
- * @param items
|
|
|
- * @return
|
|
|
- *//*
|
|
|
-
|
|
|
- public Map<String, List<String>> otherTransfusionUsedNames(List<TransfusionSuggest> items) {
|
|
|
- Map<String, List<String>> retMap = new HashMap<>();
|
|
|
- if (ListUtil.isEmpty(items)) {
|
|
|
- return retMap;
|
|
|
- }
|
|
|
-
|
|
|
- List<String> transfusionNames = items.stream().map(i -> i.getTransfusion_type()).distinct().collect(Collectors.toList());
|
|
|
- List<String> diseaseNames = Lists.newArrayList();
|
|
|
- List<String> operationNames = Lists.newArrayList();
|
|
|
-
|
|
|
- for (TransfusionSuggest item : items) {
|
|
|
- Set<TransfusionSuggestYiBaoDiseaseName> transDisSet = item.getTransfusionSuggestDiseases();
|
|
|
- if (transDisSet != null && transDisSet.size() > 0) {
|
|
|
- transDisSet.forEach(transDis -> {
|
|
|
- if (transDis.getYiBaoDiseaseName() != null) {
|
|
|
- diseaseNames.add(transDis.getYiBaoDiseaseName().getName());
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- Set<TransfusionSuggestYiBaoOperationName> transOptSet = item.getTransfusionSuggestOperations();
|
|
|
- if (transOptSet != null && transOptSet.size() > 0) {
|
|
|
- transOptSet.forEach(transOpt -> {
|
|
|
- if (transOpt.getYiBaoOperationName() != null) {
|
|
|
- operationNames.add(transOpt.getYiBaoOperationName().getName());
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- retMap.put("transfusion", transfusionNames);
|
|
|
+ retMap.put("pacs", pacsNames);
|
|
|
retMap.put("disease", diseaseNames);
|
|
|
+ retMap.put("drug", drugNames);
|
|
|
retMap.put("operation", operationNames);
|
|
|
+ retMap.put("transfusion", transfusionNames);
|
|
|
return retMap;
|
|
|
}
|
|
|
}
|
|
|
-*/
|