|
@@ -3,7 +3,7 @@ package com.diagbot.facade;
|
|
|
import com.diagbot.biz.push.entity.Item;
|
|
|
import com.diagbot.biz.push.entity.Lis;
|
|
|
import com.diagbot.biz.push.entity.Pacs;
|
|
|
-import com.diagbot.entity.ResultBill;
|
|
|
+import com.diagbot.entity.ResultRule;
|
|
|
import com.diagbot.enums.LexiconEnum;
|
|
|
import com.diagbot.enums.RuleBaseTypeEnum;
|
|
|
import com.diagbot.util.StringUtil;
|
|
@@ -22,151 +22,154 @@ public class MedSearchDataFacade {
|
|
|
/**
|
|
|
* 生成开单合理性入参
|
|
|
*
|
|
|
- * @param resultBill
|
|
|
+ * @param result
|
|
|
* @return
|
|
|
*/
|
|
|
- public IndicationPushVO createBillVO(ResultBill resultBill) {
|
|
|
+ public IndicationPushVO createBillVO(ResultRule result) {
|
|
|
IndicationPushVO indicationPushVO = new IndicationPushVO();
|
|
|
indicationPushVO.setAge("20");
|
|
|
indicationPushVO.setSex(3);
|
|
|
indicationPushVO.setRuleType("2");
|
|
|
|
|
|
//开单项
|
|
|
- if (resultBill.getBillItemTypeCode().equals(LexiconEnum.LisName.getKey())) {
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.LisName.getKey())) {
|
|
|
//检验开单项
|
|
|
Lis lis = new Lis();
|
|
|
- lis.setName(resultBill.getBillItemHisName());
|
|
|
- lis.setUniqueName(resultBill.getBillItemName());
|
|
|
+ lis.setName(result.getRuleHisName());
|
|
|
+ lis.setUniqueName(result.getRuleLibName());
|
|
|
indicationPushVO.getLisOrder().add(lis);
|
|
|
}
|
|
|
- if (resultBill.getBillItemTypeCode().equals(LexiconEnum.PacsName.getKey())
|
|
|
- || resultBill.getBillItemTypeCode().equals(LexiconEnum.PacsSubName.getKey())) {
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.PacsName.getKey())
|
|
|
+ || result.getRuleLibType().equals(LexiconEnum.PacsSubName.getKey())) {
|
|
|
Pacs pacs = new Pacs();
|
|
|
- pacs.setName(resultBill.getBillItemHisName());
|
|
|
- pacs.setUniqueName(resultBill.getBillItemName());
|
|
|
+ pacs.setName(result.getRuleHisName());
|
|
|
+ pacs.setUniqueName(result.getRuleLibName());
|
|
|
indicationPushVO.getPacsOrder().add(pacs);
|
|
|
}
|
|
|
- if (resultBill.getBillItemTypeCode().equals(LexiconEnum.Operation.getKey())) {
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
Item operation = new Item();
|
|
|
- operation.setName(resultBill.getBillItemHisName());
|
|
|
- operation.setUniqueName(resultBill.getBillItemName());
|
|
|
+ operation.setName(result.getRuleHisName());
|
|
|
+ operation.setUniqueName(result.getRuleLibName());
|
|
|
indicationPushVO.getOperationOrder().add(operation);
|
|
|
}
|
|
|
- if (resultBill.getBillItemTypeCode().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
Drug drug = new Drug();
|
|
|
- drug.setName(resultBill.getBillItemHisName());
|
|
|
- drug.setUniqueName(resultBill.getBillItemName());
|
|
|
+ drug.setName(result.getRuleHisName());
|
|
|
+ drug.setUniqueName(result.getRuleLibName());
|
|
|
indicationPushVO.getDrugOrder().add(drug);
|
|
|
}
|
|
|
- if (resultBill.getBillItemTypeCode().equals(LexiconEnum.Transfusion.getKey())) {
|
|
|
+ if (result.getRuleLibType().equals(LexiconEnum.Transfusion.getKey())) {
|
|
|
ItemExt itemExt = new ItemExt();
|
|
|
- itemExt.setName(resultBill.getBillItemHisName());
|
|
|
- itemExt.setUniqueName(resultBill.getBillItemName());
|
|
|
+ itemExt.setName(result.getRuleHisName());
|
|
|
+ itemExt.setUniqueName(result.getRuleLibName());
|
|
|
indicationPushVO.getTransfusionOrder().add(itemExt);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 100 疾病 1
|
|
|
- * 101 药品通用名 1
|
|
|
- * 101 药品通用名 4
|
|
|
- * 103 症状 1
|
|
|
- * 104 体格检查项目 2
|
|
|
- * 105 体格检查结果 1
|
|
|
- * 106 手术和操作 1
|
|
|
- * 108 实验室检查子项目 2
|
|
|
- * 109 辅助检查项目 5
|
|
|
- * 112 辅助检查结果 1
|
|
|
- * 116 性别 1
|
|
|
- * 117 人群 1
|
|
|
- * 119 其他过敏原 4
|
|
|
- * 120 医疗器械及物品 1
|
|
|
- * 301 药品化学物质类别 4
|
|
|
- * 302 药品治疗学类别 4
|
|
|
- * 303 药品药理学类别 4
|
|
|
- * 410 年龄 2
|
|
|
- */
|
|
|
- if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Disease.getKey())) {
|
|
|
- Item diag = new Item();
|
|
|
- diag.setName(resultBill.getConflictItemHisName());
|
|
|
- diag.setUniqueName(resultBill.getConflictItemName());
|
|
|
- indicationPushVO.getDiag().add(diag);
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
- if (resultBill.getConflictType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ if (result.getRuleBaseLibType().equals(LexiconEnum.Disease.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ Item diag = new Item();
|
|
|
+ diag.setName(result.getRuleBaseHisName());
|
|
|
+ diag.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getDiag().add(diag);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Medicine.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
- (StringUtil.isNotBlank(resultBill.getConflictItemHisName())
|
|
|
- ? ("一直服用" + resultBill.getConflictItemHisName() + ",")
|
|
|
+ (StringUtil.isNotBlank(result.getRuleBaseHisName())
|
|
|
+ ? ("一直服用" + result.getRuleBaseHisName() + ",")
|
|
|
: ""));
|
|
|
- } else if (resultBill.getConflictType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
+ } else if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
indicationPushVO.setPasts(indicationPushVO.getPasts() +
|
|
|
- (StringUtil.isNotBlank(resultBill.getConflictItemHisName())
|
|
|
- ? ("对" + resultBill.getConflictItemHisName() + "过敏,")
|
|
|
+ (StringUtil.isNotBlank(result.getRuleBaseHisName())
|
|
|
+ ? ("对" + result.getRuleBaseHisName() + "过敏,")
|
|
|
: ""));
|
|
|
}
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Symptom.getKey())) {
|
|
|
- indicationPushVO.setSymptom(indicationPushVO.getSymptom() + resultBill.getConflictItemName() + ",");
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Vital.getKey())) {
|
|
|
- indicationPushVO.setVital(resultBill.getConflictItemName() + resultBill.getInputValue()
|
|
|
- + (StringUtil.isNotBlank(resultBill.getUnit()) ? resultBill.getUnit() : "")
|
|
|
- + ",");
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.VitalResult.getKey())) {
|
|
|
- indicationPushVO.setVital(resultBill.getConflictItemName() + resultBill.getInputValue() + ",");
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Operation.getKey())) {
|
|
|
- Item operation = new Item();
|
|
|
- operation.setName(resultBill.getConflictItemHisName());
|
|
|
- operation.setUniqueName(resultBill.getConflictItemName());
|
|
|
- indicationPushVO.getOperation().add(operation);
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
- Lis lis = new Lis();
|
|
|
- lis.setName(resultBill.getConflictItemHisName());
|
|
|
- lis.setDetailName(resultBill.getConflictItemHisDetailName());
|
|
|
- lis.setUniqueName(resultBill.getConflictItemName());
|
|
|
- lis.setUnits(resultBill.getUnit());
|
|
|
- if (resultBill.getMinValue() != null || resultBill.getMaxValue() != null) {
|
|
|
- lis.setValue(Double.valueOf(resultBill.getInputValue()));
|
|
|
- } else {
|
|
|
- lis.setOtherValue(resultBill.getInputValue());
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Symptom.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setSymptom(indicationPushVO.getSymptom() + result.getRuleBaseLibName() + ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Vital.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
+ indicationPushVO.setVital(result.getRuleBaseLibName() + result.getRuleBaseInputValue()
|
|
|
+ + (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : "")
|
|
|
+ + ",");
|
|
|
}
|
|
|
- if (resultBill.getMaxValue() != null) {
|
|
|
- lis.setMaxValue(resultBill.getMaxValue().doubleValue());
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.VitalResult.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setVital(result.getRuleBaseLibName() + result.getRuleBaseInputValue() + ",");
|
|
|
}
|
|
|
- if (resultBill.getMinValue() != null) {
|
|
|
- lis.setMinValue(resultBill.getMinValue().doubleValue());
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Operation.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ Item operation = new Item();
|
|
|
+ operation.setName(result.getRuleBaseHisName());
|
|
|
+ operation.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getOperation().add(operation);
|
|
|
}
|
|
|
- indicationPushVO.getLis().add(lis);
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.PacsName.getKey())) {
|
|
|
- if (resultBill.getConflictType().equals(RuleBaseTypeEnum.BillItem.getKey())) {
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.LisSubName.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
+ Lis lis = new Lis();
|
|
|
+ lis.setName(result.getRuleBaseHisName());
|
|
|
+ lis.setDetailName(result.getRuleBaseHisDetailName());
|
|
|
+ lis.setUniqueName(result.getRuleBaseLibName());
|
|
|
+ lis.setUnits(result.getRuleBaseUnit());
|
|
|
+ if (result.getRuleBaseMinValue() != null || result.getRuleBaseMaxValue() != null) {
|
|
|
+ lis.setValue(Double.valueOf(result.getRuleBaseInputValue()));
|
|
|
+ } else {
|
|
|
+ lis.setOtherValue(result.getRuleBaseInputValue());
|
|
|
+ }
|
|
|
+ if (result.getRuleBaseMaxValue() != null) {
|
|
|
+ lis.setMaxValue(result.getRuleBaseMaxValue().doubleValue());
|
|
|
+ }
|
|
|
+ if (result.getRuleBaseMinValue() != null) {
|
|
|
+ lis.setMinValue(result.getRuleBaseMinValue().doubleValue());
|
|
|
+ }
|
|
|
+ indicationPushVO.getLis().add(lis);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsName.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.BillItem.getKey())) {
|
|
|
Pacs pacs = new Pacs();
|
|
|
- pacs.setName(resultBill.getConflictItemHisName());
|
|
|
- pacs.setUniqueName(resultBill.getConflictItemName());
|
|
|
+ pacs.setName(result.getRuleBaseHisName());
|
|
|
+ pacs.setUniqueName(result.getRuleBaseLibName());
|
|
|
indicationPushVO.getPacsOrder().add(pacs);
|
|
|
}
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.PacsResult.getKey())) {
|
|
|
- Pacs pacs = new Pacs();
|
|
|
- pacs.setDesc(resultBill.getConflictItemName());
|
|
|
- pacs.setResult(resultBill.getConflictItemName());
|
|
|
- indicationPushVO.getPacs().add(pacs);
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Gender.getKey())) {
|
|
|
- if (resultBill.getConflictItemName().equals("男")) {
|
|
|
- indicationPushVO.setSex(1);
|
|
|
- } else if (resultBill.getConflictItemName().equals("女")) {
|
|
|
- indicationPushVO.setSex(2);
|
|
|
- } else {
|
|
|
- indicationPushVO.setSex(3);
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.PacsResult.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ Pacs pacs = new Pacs();
|
|
|
+ pacs.setDesc(result.getRuleBaseLibName());
|
|
|
+ pacs.setResult(result.getRuleBaseLibName());
|
|
|
+ indicationPushVO.getPacs().add(pacs);
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Gender.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ if (result.getRuleBaseLibName().equals("男")) {
|
|
|
+ indicationPushVO.setSex(1);
|
|
|
+ } else if (result.getRuleBaseLibName().equals("女")) {
|
|
|
+ indicationPushVO.setSex(2);
|
|
|
+ } else {
|
|
|
+ indicationPushVO.setSex(3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Group.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
+ result.getRuleBaseLibName() +
|
|
|
+ (result.getRuleBaseInputValue() != null ? result.getRuleBaseInputValue() : "") +
|
|
|
+ (StringUtil.isNotBlank(result.getRuleBaseUnit()) ? result.getRuleBaseUnit() : "") +
|
|
|
+ ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Allergen.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Allergen.getKey())) {
|
|
|
+ indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + result.getRuleBaseLibName() + "过敏,");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Device.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Eq.getKey())) {
|
|
|
+ indicationPushVO.setPasts(indicationPushVO.getPasts() + "有" + result.getRuleBaseLibName() + ",");
|
|
|
+ }
|
|
|
+ } else if (result.getRuleBaseLibType().equals(LexiconEnum.Age.getKey())) {
|
|
|
+ if (result.getRuleBaseType().equals(RuleBaseTypeEnum.Compare.getKey())) {
|
|
|
+ indicationPushVO.setAge(result.getRuleBaseInputValue());
|
|
|
}
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Group.getKey())) {
|
|
|
- indicationPushVO.setSymptom(indicationPushVO.getSymptom() +
|
|
|
- resultBill.getConflictItemName() +
|
|
|
- (resultBill.getInputValue() != null ? resultBill.getInputValue() : "") +
|
|
|
- (StringUtil.isNotBlank(resultBill.getUnit()) ? resultBill.getUnit() : "") +
|
|
|
- ",");
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Allergen.getKey())) {
|
|
|
- indicationPushVO.setPasts(indicationPushVO.getPasts() + "对" + resultBill.getConflictItemName() + "过敏,");
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Device.getKey())) {
|
|
|
- indicationPushVO.setPasts(indicationPushVO.getPasts() + "有" + resultBill.getConflictItemName() + ",");
|
|
|
- } else if (resultBill.getConflictItemTypeCode().equals(LexiconEnum.Age.getKey())) {
|
|
|
- indicationPushVO.setAge(resultBill.getInputValue());
|
|
|
}
|
|
|
-
|
|
|
return indicationPushVO;
|
|
|
}
|
|
|
}
|