فهرست منبع

电子病历评级

Zhaops 6 سال پیش
والد
کامیت
81e9308f0b

+ 9 - 0
icss-service/src/main/java/com/diagbot/client/TranServiceClient.java

@@ -173,4 +173,13 @@ public interface TranServiceClient {
      */
     @PostMapping("/introduceTitleConfig/getTitleMappingHosCode")
     RespDTO<Map<String, String>> getTitleMappingHosCode(@RequestBody HosCodeVO hosCodeVO);
+
+    /**
+     * 根据医院编码查询诊断icd映射
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @PostMapping("/diseaseIcd/getDiseaseIcdByHosCode")
+    RespDTO<Map<String, String>> getDiseaseIcdByHosCode(@RequestBody HosCodeVO hosCodeVO);
 }

+ 12 - 0
icss-service/src/main/java/com/diagbot/client/hystrix/TranServiceHystrix.java

@@ -158,4 +158,16 @@ public class TranServiceHystrix implements TranServiceClient {
         log.error("【hystrix】调用{}异常", "getTitleMappingHosCode");
         return null;
     }
+
+    /**
+     * 根据医院编码查询诊断icd映射
+     *
+     * @param hosCodeVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, String>> getDiseaseIcdByHosCode(@RequestBody HosCodeVO hosCodeVO) {
+        log.error("【hystrix】调用{}异常", "getDiseaseIcdByHosCode");
+        return null;
+    }
 }

+ 3 - 1
icss-service/src/main/java/com/diagbot/dto/PushEMRDTO.java

@@ -4,9 +4,10 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.util.List;
+import java.util.Map;
 
 /**
- * @Description:
+ * @Description:推理返回数据
  * @Author:zhaops
  * @time: 2019/3/11 16:36
  */
@@ -15,4 +16,5 @@ import java.util.List;
 public class PushEMRDTO {
     private List<String> lisList;
     private List<String> pacsList;
+    private Map<String, List<String>> dis;
 }

+ 24 - 0
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -526,6 +526,30 @@ public class PushFacade {
                 pushEMRDTO.setPacsList(pacsList);
             }
         }
+        if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Disease.getKey()))) {
+            List<FeatureRate> dis = data.getDis();
+            Map<String, List<String>> retDisMap = new LinkedHashMap<>();
+            RespDTO<Map<String, String>> respDisDTO = tranServiceClient.getDiseaseIcdByHosCode(hosCodeVO);
+            Map<String, String> disMap = respDisDTO.data;
+
+            //诊断分类
+            for (FeatureRate featureRate : dis) {
+                if (StringUtil.isBlank(featureRate.getDesc())) {
+                    featureRate.setDesc("{\"可能诊断\":\"\"}");
+                }
+                Map<String, Object> descMap = FastJsonUtils.getJsonToMap(featureRate.getDesc());
+                for (String disClass : descMap.keySet()) {
+                    List<String> retDisList = Lists.newLinkedList();
+                    if (retDisMap.get(disClass) != null) {
+                        retDisList = retDisMap.get(disClass);
+                    }
+                    //转icd10名称
+                    retDisList.add(disMap.get(featureRate.getFeatureName()));
+                    retDisMap.put(disClass, retDisList);
+                }
+            }
+            pushEMRDTO.setDis(retDisMap);
+        }
         return pushEMRDTO;
     }
 }

+ 22 - 0
tran-service/src/main/java/com/diagbot/facade/DiseaseIcdFacade.java

@@ -0,0 +1,22 @@
+package com.diagbot.facade;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.diagbot.entity.DiseaseIcd;
+import com.diagbot.entity.PacsConfig;
+import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.service.impl.DiseaseIcdServiceImpl;
+import com.diagbot.util.EntityUtil;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/3/18 17:29
+ */
+@Component
+public class DiseaseIcdFacade extends DiseaseIcdServiceImpl {
+
+}

+ 18 - 1
tran-service/src/main/java/com/diagbot/facade/TranDiseaseIcdFacade.java

@@ -1,7 +1,11 @@
 package com.diagbot.facade;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.dto.GetDiseaseIcdDTO;
+import com.diagbot.entity.DiseaseIcd;
+import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.service.impl.DiseaseIcdServiceImpl;
+import com.diagbot.util.EntityUtil;
 import com.diagbot.vo.GetDiseaseIcdVO;
 import org.springframework.stereotype.Component;
 
@@ -30,4 +34,17 @@ public class TranDiseaseIcdFacade extends DiseaseIcdServiceImpl {
         paramMap.put("hospitalCode", getDiseaseIcdVO.getHospitalCode());
         return this.getDiseaseIcds(paramMap);
     }
-}
+
+    /**
+     * 根据医院编码获取疾病映射关系 Map<icssName,diseaseName>
+     *
+     * @return
+     */
+    public Map<String, String> getDiseaseIcdByHosCode(String hosCode) {
+        QueryWrapper<DiseaseIcd> diseaseIcdQueryWrapper = new QueryWrapper<>();
+        diseaseIcdQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("hospital_code",hosCode);
+        List<DiseaseIcd> diseaseIcdList = this.list(diseaseIcdQueryWrapper);
+        Map<String, String> retMap= EntityUtil.makeMapWithKeyValue(diseaseIcdList, "icssQuestionName", "diseaseName");
+        return retMap;
+    }
+}

+ 11 - 1
tran-service/src/main/java/com/diagbot/web/TranDiseaseIcdController.java

@@ -6,6 +6,7 @@ import com.diagbot.dto.GetDiseaseIcdDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.TranDiseaseIcdFacade;
 import com.diagbot.vo.GetDiseaseIcdVO;
+import com.diagbot.vo.HosCodeVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,6 +18,7 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.validation.Valid;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -39,8 +41,16 @@ public class TranDiseaseIcdController {
     @PostMapping("/getDiseaseIcds")
     @SysLogger("getDiseaseIcds")
     @ApiIgnore
-    public RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(@RequestBody @Valid GetDiseaseIcdVO getDiseaseIcdVO){
+    public RespDTO<List<GetDiseaseIcdDTO>> getDiseaseIcds(@RequestBody @Valid GetDiseaseIcdVO getDiseaseIcdVO) {
         List<GetDiseaseIcdDTO> data = diseaseIcdFacade.getDiseaseIcds(getDiseaseIcdVO);
         return RespDTO.onSuc(data);
     }
+
+    @ApiOperation(value = "根据医院编码查询诊断icd映射:[by:zhaops]",
+            notes = "hosCode: 医院编码,必填<br>")
+    @PostMapping("/getDiseaseIcdByHosCode")
+    @SysLogger("getDiseaseIcdByHosCode")
+    public RespDTO<Map<String, String>> getDiseaseIcdByHosCode(@RequestBody HosCodeVO hosCodeVO) {
+        return RespDTO.onSuc(diseaseIcdFacade.getDiseaseIcdByHosCode(hosCodeVO.getHosCode()));
+    }
 }