소스 검색

术语搜索疾病的时候同时带出疾病的icd10编码

gaodm 4 년 전
부모
커밋
5817b9ee5a

+ 23 - 0
src/main/java/com/diagbot/dto/DiseaseInfoDTO.java

@@ -0,0 +1,23 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/9/15 10:07
+ */
+@Getter
+@Setter
+public class DiseaseInfoDTO {
+    /**
+     * 疾病名称
+     */
+    private String name;
+
+    /**
+     * ICD10编码
+     */
+    private String icd10Code;
+}

+ 1 - 1
src/main/java/com/diagbot/dto/RetrievalDTO.java

@@ -28,7 +28,7 @@ public class RetrievalDTO {
     /**
      * 诊断
      */
-    private List<String> diseaseNames;
+    private List<DiseaseInfoDTO> diseaseNames;
     /**
      * 药品
      */

+ 3 - 2
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.diagbot.dto.DiseaseInfoDTO;
 import com.diagbot.dto.DrugInfoDTO;
 import com.diagbot.dto.LisDetailDTO;
 import com.diagbot.dto.OperationInfoDTO;
@@ -128,10 +129,10 @@ public class RetrievalFacade {
     /*
      * 获取疾病名称列表
      */
-    public List<String> getDiseases(String name) {
+    public List<DiseaseInfoDTO> getDiseases(String name) {
 
         YiBaoDiseaseNode yiBaoDiseaseNode = new YiBaoDiseaseNode();
-        List<String> diseaselist = yiBaoDiseaseNode.getDiseaseNameList(name, icdDiseaseRepository);
+        List<DiseaseInfoDTO> diseaselist = yiBaoDiseaseNode.getDiseaseNameList(name, icdDiseaseRepository);
 
         return diseaselist;
     }

+ 9 - 3
src/main/java/com/diagbot/repository/YiBaoDiseaseNode.java

@@ -240,10 +240,11 @@ public class YiBaoDiseaseNode {
 	/**
 	 * 获取疾病名称列表
 	 */
-	public List<String> getDiseaseNameList(String name, YiBaoDiseaseRepository diseaseRepository) {
+	public List<DiseaseInfoDTO> getDiseaseNameList(String name, YiBaoDiseaseRepository diseaseRepository) {
 		String icdname;
 
 		List<String> dislist = new ArrayList<>();
+		List<DiseaseInfoDTO> diseaseInfoDTOList = new ArrayList<>();
 
 		List<YiBaoDiseaseName> diseases = diseaseRepository.findByNameContaining(name);
 
@@ -251,11 +252,16 @@ public class YiBaoDiseaseNode {
 			icdname = dis.getName();
 			if (!dislist.contains(icdname)) {
 				dislist.add(icdname);
+				DiseaseInfoDTO diseaseInfoDTO = new DiseaseInfoDTO();
+				diseaseInfoDTO.setName(icdname);
+				if (!dis.getYibaoicd_10codes().isEmpty()){
+					diseaseInfoDTO.setIcd10Code(dis.getYibaoicd_10codes().iterator().next().getName());
+				}
+				diseaseInfoDTOList.add(diseaseInfoDTO);
 			}
 		}
 
-
-		return dislist;
+		return diseaseInfoDTOList;
 	}
 }