|
@@ -3,10 +3,13 @@ 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.dto.BillMsg;
|
|
|
import com.diagbot.dto.BillNeoDTO;
|
|
|
import com.diagbot.dto.IndicationDTO;
|
|
|
+import com.diagbot.dto.NodeNeoDTO;
|
|
|
import com.diagbot.dto.WordCrfDTO;
|
|
|
import com.diagbot.process.BillProcess;
|
|
|
+import com.diagbot.util.CoreUtil;
|
|
|
import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.vo.BillNeoVO;
|
|
|
import com.diagbot.vo.Drug;
|
|
@@ -15,6 +18,7 @@ import com.diagbot.vo.ItemExt;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -51,6 +55,40 @@ public class BillFacade {
|
|
|
commonFacade.dealMsg(res.getBillMsgList());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 体征特殊值规则处理(图谱数据不好录入)
|
|
|
+ *
|
|
|
+ * @param wordCrfDTO
|
|
|
+ * @param res
|
|
|
+ */
|
|
|
+ public void otherRule(WordCrfDTO wordCrfDTO, IndicationDTO res) {
|
|
|
+ // 特殊值处理
|
|
|
+ List<String> drugNameList = CoreUtil.getPropertyList(wordCrfDTO.getDrugOrder(), "name");
|
|
|
+ String drugOrderName = "阿托品";
|
|
|
+ if (drugNameList.contains(drugOrderName)) {
|
|
|
+ // 体征数值比较(例如:体温,血压)
|
|
|
+ NodeNeoDTO ssyNode = new NodeNeoDTO();
|
|
|
+ ssyNode.setName("收缩压");
|
|
|
+ ssyNode.setMax(new BigDecimal(100));
|
|
|
+ ssyNode.setMin(new BigDecimal(1));
|
|
|
+ Map<String, Object> objectMap = CoreUtil.compareVital(ssyNode, wordCrfDTO.getVitalLabel());
|
|
|
+
|
|
|
+ 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)) {
|
|
|
+ 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) {
|
|
|
BillNeoVO billNeoVO = new BillNeoVO();
|
|
|
|