Parcourir la source

静态知识检索支持ICD-10编码

zhaops il y a 4 ans
Parent
commit
714300ad36

+ 4 - 0
src/main/java/com/diagbot/dto/StaticKnowledgeIndexDTO.java

@@ -15,6 +15,10 @@ public class StaticKnowledgeIndexDTO {
      * 术语名称
      */
     private String name;
+    /**
+     * 编码
+     */
+    private String code;
     /**
      * 词性
      */

+ 1 - 1
src/main/java/com/diagbot/entity/node/YiBaoDiseaseName.java

@@ -29,7 +29,7 @@ public class YiBaoDiseaseName extends BaseNode  {
 	@Property(name="分类")
 	private Integer category;
 
-	@Relationship(type = "医保疾病名称相关医保ICD-10代码", direction = Relationship.OUTGOING)
+	@Relationship(type = "医保疾病名称相关医保ICD_10代码", direction = Relationship.OUTGOING)
 	private Set<YiBaoDiseaseNameYiBaoICD_10Code> yiBaoDiseaseNameYibaoicd_10codes = new HashSet<>();
 
 	@Relationship(type = "医保疾病名称相关国临疾病名称", direction = Relationship.OUTGOING)

+ 1 - 1
src/main/java/com/diagbot/entity/node/YiBaoICD_10Code.java

@@ -17,7 +17,7 @@ import java.util.HashSet;
 public class YiBaoICD_10Code extends BaseNode  {
 
 
-	@Relationship(type = "医保疾病名称相关医保ICD-10代码", direction = Relationship.INCOMING)
+	@Relationship(type = "医保疾病名称相关医保ICD_10代码", direction = Relationship.INCOMING)
 	private Set<YiBaoDiseaseNameYiBaoICD_10Code> yibaodiseasenameYiBaoICD_10Codes = new HashSet<>();
 
 }

+ 1 - 1
src/main/java/com/diagbot/entity/relationship/YiBaoDiseaseNameYiBaoICD_10Code.java

@@ -8,7 +8,7 @@ import lombok.Setter;
 import org.neo4j.ogm.annotation.*;
 
 @Getter
-@Setter@RelationshipEntity(type = "医保疾病名称相关医保ICD-10代码")
+@Setter@RelationshipEntity(type = "医保疾病名称相关医保ICD_10代码")
 public class YiBaoDiseaseNameYiBaoICD_10Code extends BaseRelation {
     @StartNode
     private YiBaoDiseaseName yiBaoDiseaseName;

+ 12 - 0
src/main/java/com/diagbot/facade/RetrievalFacade.java

@@ -13,6 +13,7 @@ import com.diagbot.entity.node.Medicine;
 import com.diagbot.entity.node.YiBaoDiseaseName;
 import com.diagbot.entity.node.YiBaoOperationName;
 import com.diagbot.entity.relationship.LisNameLisSet;
+import com.diagbot.entity.relationship.YiBaoDiseaseNameYiBaoICD_10Code;
 import com.diagbot.enums.StaticTypeEnum;
 import com.diagbot.repository.*;
 import com.diagbot.util.EntityUtil;
@@ -26,6 +27,8 @@ import org.springframework.stereotype.Component;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
 
 /**
  * @Description:
@@ -453,6 +456,15 @@ public class RetrievalFacade {
                 staticDTO.setName(icdDisease.getName());
                 staticDTO.setType(StaticTypeEnum.DIS.getKey());
                 staticDTO.setTypeName(StaticTypeEnum.DIS.getName());
+                Set<YiBaoDiseaseNameYiBaoICD_10Code> yiBaoDiseaseNameYibaoicd_10codes
+                        = icdDisease.getYiBaoDiseaseNameYibaoicd_10codes();
+                if (yiBaoDiseaseNameYibaoicd_10codes != null && yiBaoDiseaseNameYibaoicd_10codes.size() > 0) {
+                    //升序排序
+                    Set<YiBaoDiseaseNameYiBaoICD_10Code> sortYiBaoDiseaseNameYibaoicd_10codes
+                            = new TreeSet<YiBaoDiseaseNameYiBaoICD_10Code>((o1, o2) -> o1.getYiBaoICD_10Code().getName().compareTo(o2.getYiBaoICD_10Code().getName()));
+                    sortYiBaoDiseaseNameYibaoicd_10codes.addAll(yiBaoDiseaseNameYibaoicd_10codes);
+                    staticDTO.setCode(sortYiBaoDiseaseNameYibaoicd_10codes.iterator().next().getYiBaoICD_10Code().getName());
+                }
                 retList.add(staticDTO);
             }
         }

+ 3 - 3
src/main/java/com/diagbot/repository/YiBaoDiseaseNameRepository.java

@@ -25,7 +25,7 @@ public interface YiBaoDiseaseNameRepository extends Neo4jRepository<YiBaoDisease
             "AND (toLower(n.`name`) = toLower($name)  OR  toLower(n.`拼音编码`) = toLower($pycode))\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n" +
             "UNION\n" +
-            "MATCH (n:`医保疾病名称`)-[r:`医保疾病名称相关医保ICD-10代码`]-(m:医保ICD_10代码) WHERE n.`静态知识标识` = $isKL \n" +
+            "MATCH (n:`医保疾病名称`)-[r:`医保疾病名称相关医保ICD_10代码`]-(m:医保ICD_10代码) WHERE n.`静态知识标识` = $isKL \n" +
             "AND toLower(m.`name`) = toLower($name)\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n" +
             "UNION\n" +
@@ -34,7 +34,7 @@ public interface YiBaoDiseaseNameRepository extends Neo4jRepository<YiBaoDisease
             "WITH n SKIP 0 LIMIT $size\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n" +
             "UNION \n" +
-            "MATCH (n:`医保疾病名称`)-[r:`医保疾病名称相关医保ICD-10代码`]-(m:医保ICD_10代码) WHERE n.`静态知识标识` = $isKL \n" +
+            "MATCH (n:`医保疾病名称`)-[r:`医保疾病名称相关医保ICD_10代码`]-(m:医保ICD_10代码) WHERE n.`静态知识标识` = $isKL \n" +
             "AND toLower(m.`name`) STARTS WITH toLower($name) \n" +
             "WITH n SKIP 0 LIMIT $size\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n" +
@@ -44,7 +44,7 @@ public interface YiBaoDiseaseNameRepository extends Neo4jRepository<YiBaoDisease
             "WITH n SKIP 0 LIMIT $size\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n"+
             "UNION \n" +
-            "MATCH (n:`医保疾病名称`)-[r:`医保疾病名称相关医保ICD-10代码`]-(m:医保ICD_10代码) WHERE n.`静态知识标识` = $isKL \n" +
+            "MATCH (n:`医保疾病名称`)-[r:`医保疾病名称相关医保ICD_10代码`]-(m:医保ICD_10代码) WHERE n.`静态知识标识` = $isKL \n" +
             "AND toLower(m.`name`) CONTAINS toLower($name)   \n" +
             "WITH n SKIP 0 LIMIT $size\n" +
             "RETURN n,[ (n)-[r]->(m) | [ r, m ] ], ID(n)\n")