|
@@ -1,5 +1,6 @@
|
|
|
package com.diagbot.process;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.diagbot.biz.push.entity.Item;
|
|
|
import com.diagbot.biz.push.entity.Lis;
|
|
|
import com.diagbot.biz.push.entity.Scale;
|
|
@@ -9,11 +10,10 @@ import com.diagbot.dto.RuleBaseDTO;
|
|
|
import com.diagbot.dto.RuleConditionDTO;
|
|
|
import com.diagbot.dto.RuleExtDTO;
|
|
|
import com.diagbot.dto.WordCrfDTO;
|
|
|
-import com.diagbot.enums.LexiconEnum;
|
|
|
-import com.diagbot.enums.RedisEnum;
|
|
|
-import com.diagbot.enums.RuleTypeEnum;
|
|
|
-import com.diagbot.enums.TypeEnum;
|
|
|
+import com.diagbot.entity.KlDiagHospital;
|
|
|
+import com.diagbot.enums.*;
|
|
|
import com.diagbot.facade.CommonFacade;
|
|
|
+import com.diagbot.facade.KlDiagHospitalFacade;
|
|
|
import com.diagbot.model.entity.PacsNum;
|
|
|
import com.diagbot.model.label.PacsLabel;
|
|
|
import com.diagbot.rule.AgeRule;
|
|
@@ -33,6 +33,7 @@ import com.google.common.collect.Lists;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
|
|
@@ -59,6 +60,9 @@ public class OtherTipProcess {
|
|
|
@Autowired
|
|
|
AgeRule ageRule;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private KlDiagHospitalFacade klDiagHospitalFacade;
|
|
|
+
|
|
|
/**
|
|
|
* 处理业务——化验
|
|
|
*
|
|
@@ -260,6 +264,51 @@ public class OtherTipProcess {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 处理业务——超过基层医院诊治范围
|
|
|
+ *
|
|
|
+ * @param wordCrfDTO
|
|
|
+ * @param res
|
|
|
+ */
|
|
|
+ public void processGrassroots(WordCrfDTO wordCrfDTO, IndicationDTO res) {
|
|
|
+ List<BillMsg> otherList = res.getOtherList();
|
|
|
+ // 诊断
|
|
|
+ List<Item> diagList = wordCrfDTO.getDiag();
|
|
|
+ if (ListUtil.isEmpty(diagList)) {
|
|
|
+ diagList = wordCrfDTO.getDiagOrder();
|
|
|
+ }
|
|
|
+ // 诊断名称结果
|
|
|
+ List<String> diagNameList = new ArrayList<>();
|
|
|
+ if (ListUtil.isNotEmpty(diagList)) {
|
|
|
+ for (Item diag : diagList) {
|
|
|
+ String name = diag.getName();
|
|
|
+ if (StringUtil.isNotBlank(name)) {
|
|
|
+ diagNameList.add(name);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取基层医院不能真正的疾病
|
|
|
+ if (ListUtil.isNotEmpty(diagNameList)) {
|
|
|
+ QueryWrapper<KlDiagHospital> diagQueryWrapper = new QueryWrapper<>();
|
|
|
+ diagQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey());
|
|
|
+ List<KlDiagHospital> diagHospitalList = klDiagHospitalFacade.list(diagQueryWrapper);
|
|
|
+ List<String> diagLists = new ArrayList<>();
|
|
|
+ diagHospitalList.forEach(item -> {
|
|
|
+ if (StringUtil.isNotEmpty(item.getDisName())) {
|
|
|
+ diagLists.add(item.getDisName());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ for (String name : diagNameList) {
|
|
|
+ if (diagLists.contains(name)) {
|
|
|
+ String msg = name + ",已超出基层诊治范围,建议转诊";
|
|
|
+ BillMsg billMsg = MsgUtil.getCommonOtherMsg(TypeEnum.other.getName(), msg, null, null, null);
|
|
|
+ CoreUtil.addBeanToList(otherList, billMsg);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 是否有效医嘱(6天)
|
|
|
*
|