Browse Source

诊断依据后台处理lis和pacs

kongwz 5 years ago
parent
commit
8fbe72f2c2

+ 17 - 2
graphdb/src/main/java/org/diagbot/repository/DiseaseRepository.java

@@ -136,13 +136,13 @@ public interface DiseaseRepository extends Neo4jRepository<Disease, Long> {
     @Query("match(d:Disease{disId:{0}}),(s:DifferentDis{name:{1}}) merge(d)-[r:鉴别诊断]->(s)")
     void mergeRelationDifferentDis(Long disId,String name);
     //创建公表名
-    @Query("merge(l:LIS(name:{0}))")
+    @Query("merge(l:LIS{name:{0}})")
     void mergePublicLIS(String lisName);
     //疾病和鉴别诊断创建关系
     @Query("match(d:Disease{disId:{0}}),(s:LIS{name:{1}}) merge(d)-[r:推荐]->(s)")
     void mergeRelationLIS(Long disId,String name);
     //创建化验结果节点
-    @Query("merge(l:LISResult(name:{0}))")
+    @Query("merge(l:LISResult{name:{0}})")
     void mergeLISRESULT(String name);
     //公表名和化验结果创建关系
     @Query("match(d:LIS{name:{0}}),(s:LISResult{name:{1}}) merge(d)-[r:结果]->(s)")
@@ -150,5 +150,20 @@ public interface DiseaseRepository extends Neo4jRepository<Disease, Long> {
     //化验结果和对应的codeCondition创建关系
     @Query("match(d:Condition{name:{0}}),(s:LISResult{name:{1}}) merge(d)<-[r:诊断依据]-(s)")
     void mergeRelationCondiLisRes(String codeCondition,String lisRes);
+    //创建辅检项目
+    @Query("merge(p:PACS{name:{0}})")
+    void mergePacs(String pacsName);
+    //疾病推荐辅检
+    @Query("match(d:Disease{disId:{0}}),(s:PACS{name:{1}}) merge(d)-[r:推荐]->(s)")
+    void mergeRelationDis2Pacs(Long disId,String name);
+    //创建辅检结果节点
+    @Query("merge(p:PACSResult{name:{0}})")
+    void mergePacsResult(String name);
+    //创建辅检和辅检结果的关系
+    @Query("match(d:PACS{name:{0}}),(s:PACSResult{name:{1}}) merge(d)-[r:结果]->(s)")
+    void mergeRelationPacsResult(String pacs,String pacsResult);
+    //辅检结果和对应的codeCondition创建关系
+    @Query("match(d:Condition{name:{0}}),(s:PACSResult{name:{1}}) merge(d)<-[r:诊断依据]-(s)")
+    void mergeRelationCondiPacsRes(String codeCondition,String pacsRes);
 }
 

+ 23 - 7
graphdb/src/main/java/org/diagbot/service/impl/KnowledgeServiceImpl.java

@@ -1856,12 +1856,7 @@ public class    KnowledgeServiceImpl implements KnowledgeService {
                             }
                         }
                     }
-                }else {
-                    LIS lis = new LIS();
-                    lis.setLabel("LIS");
-                    lis.setName("lis");
-                }
-                /*else if("3".equals(type)){ //处理化验
+                } else if("3".equals(type)){ //处理化验
                     String lis = "";
                     //查找化验大项的标准词
                     if(StringUtils.isNotEmpty(relation) && standard.equals(relation)){
@@ -1893,7 +1888,28 @@ public class    KnowledgeServiceImpl implements KnowledgeService {
                             }
                         }
                     }
-                }*/
+                }else if("4".equals(type)){ //辅检
+                    //查找辅检的标准词
+                    //创建辅检标准词的节点
+                    diseaseRepository.mergePacs(standard);
+                    //疾病推荐辅检
+                    diseaseRepository.mergeRelationDis2Pacs(disId,standard);
+                    if(StringUtils.isNotEmpty(relation)){
+                        pacsResultSplit = relation.split("、");
+                        if(pacsResultSplit != null && pacsResultSplit.length>0){
+                            for (String pacs:pacsResultSplit) {
+                                //查找辅检结果的标准词
+                                if(StringUtils.isNotEmpty(pacs)){
+                                    diseaseRepository.mergePacsResult(pacs);
+                                    //创建辅检和辅检结果关系
+                                    diseaseRepository.mergeRelationPacsResult(standard,pacs);
+                                    //创建辅检结果和对应的pacsCondition的关系
+                                    diseaseRepository.mergeRelationCondiPacsRes(disName+code,pacs);
+                                }
+                            }
+                        }
+                    }
+                }
             }
         }