فهرست منبع

医院扩展规则

zhoutg 4 سال پیش
والد
کامیت
2168562fa3
1فایلهای تغییر یافته به همراه16 افزوده شده و 9 حذف شده
  1. 16 9
      src/main/java/com/diagbot/facade/BillFacade.java

+ 16 - 9
src/main/java/com/diagbot/facade/BillFacade.java

@@ -51,6 +51,9 @@ public class BillFacade {
         // 规则处理
         billProcess.process(billNeoDTOList, wordCrfDTO, res);
 
+        // 医院特殊规则处理
+        otherRule(wordCrfDTO, res);
+
         // 结果去重处理
         commonFacade.dealMsg(res.getBillMsgList());
     }
@@ -64,29 +67,33 @@ public class BillFacade {
     public void otherRule(WordCrfDTO wordCrfDTO, IndicationDTO res) {
         // 特殊值处理
         List<String> drugNameList = CoreUtil.getPropertyList(wordCrfDTO.getDrugOrder(), "name");
-        String drugOrderName = "阿托品";
+        String drugOrderName = "去甲肾上腺素";
         if (drugNameList.contains(drugOrderName)) {
             // 体征数值比较(例如:体温,血压)
             NodeNeoDTO ssyNode = new NodeNeoDTO();
             ssyNode.setName("收缩压");
-            ssyNode.setMax(new BigDecimal(100));
-            ssyNode.setMin(new BigDecimal(1));
+            // ssyNode.setMax(new BigDecimal(100));
+            ssyNode.setMin(new BigDecimal(140));
             Map<String, Object> objectMap = CoreUtil.compareVital(ssyNode, wordCrfDTO.getVitalLabel());
+            if (CoreUtil.getMapFlag(objectMap)) {
+                BillMsg billMsg = new BillMsg();
+                billMsg.setOrderName(drugOrderName);
+                billMsg.setMsg(String.format("该患者%s,不宜开%s", objectMap.get("msg"), drugOrderName));
+                res.getBillMsgList().add(billMsg);
+            }
 
             NodeNeoDTO szyNode = new NodeNeoDTO();
             szyNode.setName("舒张压");
-            szyNode.setMax(new BigDecimal(100));
-            szyNode.setMin(new BigDecimal(1));
-
-            Map<String, Object> objectMap1 = CoreUtil.compareVital(szyNode, wordCrfDTO.getVitalLabel());
-            if (CoreUtil.getMapFlag(objectMap) || CoreUtil.getMapFlag(objectMap1)) {
+            // szyNode.setMax(new BigDecimal(100));
+            szyNode.setMin(new BigDecimal(90));
+            objectMap = CoreUtil.compareVital(szyNode, wordCrfDTO.getVitalLabel());
+            if (CoreUtil.getMapFlag(objectMap)) {
                 BillMsg billMsg = new BillMsg();
                 billMsg.setOrderName(drugOrderName);
                 billMsg.setMsg(String.format("该患者%s,不宜开%s", objectMap.get("msg"), drugOrderName));
                 res.getBillMsgList().add(billMsg);
             }
         }
-
     }
 
     public BillNeoVO fillBillNeo(WordCrfDTO wordCrfDTO) {