|
@@ -1,5 +1,6 @@
|
|
|
package com.diagbot.rule;
|
|
|
|
|
|
+import com.diagbot.biz.push.entity.Lis;
|
|
|
import com.diagbot.biz.push.entity.Pacs;
|
|
|
import com.diagbot.dto.BillMsg;
|
|
|
import com.diagbot.dto.BillNeoMaxDTO;
|
|
@@ -31,6 +32,8 @@ public class OtherRule {
|
|
|
CommonRule commonRule;
|
|
|
@Autowired
|
|
|
VitalRule vitalRule;
|
|
|
+ @Autowired
|
|
|
+ AgeRule ageRule;
|
|
|
|
|
|
/**
|
|
|
* 70岁及以上开【内镜检查】时,需要先做【心电图检查】
|
|
@@ -159,4 +162,68 @@ public class OtherRule {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检验开单:【血常规】
|
|
|
+ * 1、禁忌疾病:血友病
|
|
|
+ *
|
|
|
+ * @param wordCrfDTO
|
|
|
+ * @param res
|
|
|
+ */
|
|
|
+ public void lisDiseaseRule(WordCrfDTO wordCrfDTO, IndicationDTO res) {
|
|
|
+ // 特殊值处理
|
|
|
+ // List<String> drugNameList = CoreUtil.getPropertyList(wordCrfDTO.getDrugOrder(), "uniqueName");
|
|
|
+ List<Lis> lisOrderList = wordCrfDTO.getLisOrder();
|
|
|
+ for (Lis lis : lisOrderList) {
|
|
|
+ String lisOrderName = "血常规";
|
|
|
+ if (lisOrderName.equals(lis.getUniqueName())) {
|
|
|
+ // 开单项信息
|
|
|
+ BillNeoMaxDTO billNeoMaxDTO = new BillNeoMaxDTO();
|
|
|
+ billNeoMaxDTO.setOrderName(lis.getName());
|
|
|
+ billNeoMaxDTO.setOrderStandName(lisOrderName);
|
|
|
+
|
|
|
+ // 禁忌疾病
|
|
|
+ List<NodeNeoDTO> diseaseNode = new ArrayList<>();
|
|
|
+ List<String> diseaseList = Lists.newArrayList("血友病");
|
|
|
+ for (String str : diseaseList) {
|
|
|
+ NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
+ nodeNeoDTO.setName(str);
|
|
|
+ nodeNeoDTO.setTermtype(NeoEnum.disease.getName());
|
|
|
+ diseaseNode.add(nodeNeoDTO);
|
|
|
+ }
|
|
|
+ billNeoMaxDTO.setDisease(diseaseNode);
|
|
|
+ commonRule.compareItemWithBill(diseaseNode, wordCrfDTO.getDiagSource(), billNeoMaxDTO, res.getBillMsgList(), NeoEnum.disease.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 检验开单:【孕酮测定】
|
|
|
+ * 1、禁忌年龄:1岁2个月
|
|
|
+ *
|
|
|
+ * @param wordCrfDTO
|
|
|
+ * @param res
|
|
|
+ */
|
|
|
+ public void lisAgeRule(WordCrfDTO wordCrfDTO, IndicationDTO res) {
|
|
|
+ // 特殊值处理
|
|
|
+ // List<String> drugNameList = CoreUtil.getPropertyList(wordCrfDTO.getDrugOrder(), "uniqueName");
|
|
|
+ List<Lis> lisOrderList = wordCrfDTO.getLisOrder();
|
|
|
+ for (Lis lis : lisOrderList) {
|
|
|
+ String lisOrderName = "孕酮测定";
|
|
|
+ if (lisOrderName.equals(lis.getUniqueName())) {
|
|
|
+ // 开单项信息
|
|
|
+ BillNeoMaxDTO billNeoMaxDTO = new BillNeoMaxDTO();
|
|
|
+ billNeoMaxDTO.setOrderName(lis.getName());
|
|
|
+ billNeoMaxDTO.setOrderStandName(lisOrderName);
|
|
|
+
|
|
|
+ // 禁忌年龄
|
|
|
+ NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
|
|
|
+ nodeNeoDTO.setMax(new BigDecimal(10));
|
|
|
+ nodeNeoDTO.setTermtype(NeoEnum.ageNeoDTO.getName());
|
|
|
+
|
|
|
+ billNeoMaxDTO.setAgeNeoDTO(nodeNeoDTO);
|
|
|
+ ageRule.bill(wordCrfDTO, billNeoMaxDTO, res.getBillMsgList(), NeoEnum.ageNeoDTO.getName());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|