Sfoglia il codice sorgente

完成反推LIS,PACS接口

kongwz 6 anni fa
parent
commit
4f8d34efdc

+ 10 - 0
graph-web/src/main/java/org/diagbot/graphWeb/controller/GraphController.java

@@ -7,6 +7,8 @@ import org.diagbot.graph.javabean.GdbResponse;
 import org.diagbot.graph.jdbc.DriverManager;
 import org.diagbot.graph.jdbc.Neo4jAPI;
 import org.diagbot.common.work.FeatureRate;
+import org.diagbot.graphWeb.dao.BackResponse;
+import org.diagbot.graphWeb.work.BackPush;
 import org.diagbot.graphWeb.work.GraphCalculate;
 import org.diagbot.graphWeb.work.HighRiskCalculate;
 import org.diagbot.graphWeb.work.ParamsDataProxy;
@@ -43,5 +45,13 @@ public class GraphController {
         Response<GdbResponse> gdbResponseResponse = highRiskCalculate.calculateHighRisk(request, searchData);
         return gdbResponseResponse;
     }
+    @RequestMapping(value = "/backPush", method = RequestMethod.POST)
+    @ResponseBody
+    public  Response<BackResponse> getBackPush(HttpServletRequest request, @RequestBody JSONObject searchData) throws Exception {
+
+        BackPush backPush = new BackPush();
+        Response<BackResponse> gdbResponseResponse = backPush.calculateBackPush(request, searchData);
+        return gdbResponseResponse;
+    }
 }
 

+ 10 - 10
graph-web/src/main/java/org/diagbot/graphWeb/controller/gdbcontroller.java

@@ -5,7 +5,7 @@ import org.diagbot.graph.jdbc.DriverManager;
 import org.diagbot.graph.jdbc.Neo4jAPI;
 import org.diagbot.graph.jdbc.Neo4jModel;
 import org.diagbot.graphWeb.dao.GdbResponse;
-import org.diagbot.graphWeb.dao.TestResponse;
+import org.diagbot.graphWeb.dao.BackResponse;
 import org.diagbot.pub.api.Response;
 import org.diagbot.pub.web.BaseController;
 import org.neo4j.driver.v1.Driver;
@@ -150,15 +150,15 @@ public class gdbcontroller extends BaseController {
      */
     @RequestMapping(value = "/HighRisk1", method = RequestMethod.POST)
     @ResponseBody
-    public Response<TestResponse> HighRisk1(HttpServletRequest request, @RequestBody JSONObject bodyobj) throws Exception {
-        Response<TestResponse> response = new Response<TestResponse>();
-        TestResponse testResponse = new TestResponse();
-        String diseases = bodyobj.getString("disease");//疾病
-        JSONObject JS = new JSONObject();
-        JS.put("name","jack");
-        JS.put("hobby",new String[]{"swing","sing"});
-        testResponse.setResult(JS);
-        response.setData(testResponse);
+    public Response<BackResponse> HighRisk1(HttpServletRequest request, @RequestBody JSONObject bodyobj) throws Exception {
+        Response<BackResponse> response = new Response<BackResponse>();
+//        BackResponse testResponse = new BackResponse();
+//        String diseases = bodyobj.getString("disease");//疾病
+//        JSONObject JS = new JSONObject();
+//        JS.put("name","jack");
+//        JS.put("hobby",new String[]{"swing","sing"});
+//        testResponse.setResult(JS);
+//        response.setData(testResponse);
         return response;
     }
 

+ 5 - 5
graph-web/src/main/java/org/diagbot/graphWeb/dao/TestResponse.java

@@ -1,10 +1,10 @@
 package org.diagbot.graphWeb.dao;
 
-import com.alibaba.fastjson.JSONObject;
+import org.diagbot.graph.javabean.BackLisPacs;
 
-public class TestResponse {
+public class BackResponse {
     private String status = "unknown";
-    private JSONObject Result=new JSONObject();
+    private BackLisPacs Result=new BackLisPacs();
 
     public String getStatus() {
         return status;
@@ -14,11 +14,11 @@ public class TestResponse {
         this.status = status;
     }
 
-    public JSONObject getResult() {
+    public BackLisPacs getResult() {
         return Result;
     }
 
-    public void setResult(JSONObject js) {
+    public void setResult(BackLisPacs js) {
         this.Result = js;
     }
 }

+ 31 - 0
graph-web/src/main/java/org/diagbot/graphWeb/work/BackPush.java

@@ -0,0 +1,31 @@
+package org.diagbot.graphWeb.work;
+
+import com.alibaba.fastjson.JSONObject;
+import org.diagbot.graph.javabean.BackLisPacs;
+import org.diagbot.graph.jdbc.DriverManager;
+import org.diagbot.graph.jdbc.Neo4jAPI;
+import org.diagbot.graphWeb.dao.BackResponse;
+import org.diagbot.pub.api.Response;
+import org.neo4j.driver.v1.Driver;
+import javax.servlet.http.HttpServletRequest;
+
+public class BackPush {
+    private Driver driver=null;
+    private Neo4jAPI n4api=null;
+    public Response<BackResponse> calculateBackPush(HttpServletRequest request, JSONObject searchData) throws Exception {
+        String diseaseName = searchData.getString("name");
+        BackResponse responseData = new BackResponse();
+        Response<BackResponse> objectResponse = new Response<>();
+        BackLisPacs RSet = null;
+        if (driver == null) {
+            driver = DriverManager.newDrive();
+        }
+        if (driver != null && driver.session() != null) {
+            n4api = new Neo4jAPI(driver);
+            RSet = n4api.getLisPacs(diseaseName);
+            responseData.setResult(RSet);
+        }
+        objectResponse.setData(responseData);
+        return objectResponse;
+    }
+}

+ 33 - 0
graph/src/main/java/org/diagbot/graph/javabean/BackLisPacs.java

@@ -0,0 +1,33 @@
+package org.diagbot.graph.javabean;
+
+import java.util.List;
+
+public class BackLisPacs {
+    private String diseaseName;
+    private List<String> lisList;
+    private  List<String> pacsList;
+
+    public String getDiseaseName() {
+        return diseaseName;
+    }
+
+    public void setDiseaseName(String diseaseName) {
+        this.diseaseName = diseaseName;
+    }
+
+    public List<String> getLisList() {
+        return lisList;
+    }
+
+    public void setLisList(List<String> lisList) {
+        this.lisList = lisList;
+    }
+
+    public List<String> getPacsList() {
+        return pacsList;
+    }
+
+    public void setPacsList(List<String> pacsList) {
+        this.pacsList = pacsList;
+    }
+}

+ 39 - 0
graph/src/main/java/org/diagbot/graph/jdbc/Neo4jAPI.java

@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject;
 import org.diagbot.common.work.Drugs;
 import org.diagbot.common.work.Filnlly;
 import org.diagbot.common.work.Medicition;
+import org.diagbot.graph.javabean.BackLisPacs;
+import org.diagbot.pub.utils.PropertiesUtil;
 import org.neo4j.driver.v1.*;
 import org.neo4j.driver.v1.types.Node;
 import org.neo4j.driver.v1.types.Path;
@@ -30,6 +32,7 @@ public class Neo4jAPI {
     int YY = calendar.get(Calendar.YEAR);
     int MM = calendar.get(Calendar.MONTH) + 1;
     SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ssss");
+    PropertiesUtil propertiesUtil = new PropertiesUtil("bolt.properties");
 
     public Neo4jAPI(Driver driver) {
         this.driver = driver;
@@ -1232,7 +1235,43 @@ public class Neo4jAPI {
             return riskMap;
         }
     }
+    /**
+     * 反推LIS,PACS
+     * @param diseaseName
+     * @return
+     */
+    public BackLisPacs getLisPacs(String diseaseName){
+        BackLisPacs backLisPacs = new BackLisPacs();
+        List<String> lisList = new ArrayList<>();
+        List<String> pacsList = new ArrayList<>();
+        Session session = null;
+        StatementResult result =null;
+        String serchLisPacs = propertiesUtil.getProperty("serchLisPacs");
+        String query = serchLisPacs.replace("diseaseNmae", diseaseName);
+        try {
+            session = driver.session(AccessMode.WRITE);
+            result = session.run(query);
+            while (result.hasNext()){
+                Record next = result.next();
+                String lei = next.get("lei").toString().replaceAll("\"","");
+                String name = next.get("n").toString().replaceAll("\"","");
+                if("LIS".equals(lei)){
+                    lisList.add(name);
+                }else if("PACS".equals(lei)){
+                    pacsList.add(name);
+                }
+            }
+            backLisPacs.setDiseaseName(diseaseName);
+            backLisPacs.setLisList(lisList);
+            backLisPacs.setPacsList(pacsList);
+        }catch (Exception e){
+            e.printStackTrace();
 
+        }finally {
+            CloseSession(session);
+            return backLisPacs;
+        }
+    }
     /**
      * 化验结果文本化
      * @param lisres

+ 7 - 0
graph/src/main/java/org/diagbot/graph/medicationProcess/MainProcess.java

@@ -0,0 +1,7 @@
+package org.diagbot.graph.medicationProcess;
+
+public class MainProcess {
+    public static void main(String[] args) {
+
+    }
+}

+ 8 - 0
graph/src/main/java/org/diagbot/graph/medicationProcess/MedicationProcess.java

@@ -0,0 +1,8 @@
+package org.diagbot.graph.medicationProcess;
+
+/**
+ * 处理医学术语库中的药品数据
+ */
+public class MedicationProcess {
+
+}

+ 4 - 1
graph/src/main/resources/bolt.properties

@@ -23,4 +23,7 @@ sql1=with "+newList+" as data unwind data as row\n \
   return m.name as condition, count(distinct r)>=m.path as jundgement, labels(m)[0] as label
 
 #\u67E5\u627E\u4E00\u4E9B\u8BCD\u662F\u5426\u5728\u56FE\u8C31\u4E2D
-searchWords=match(d) where d.name in fildList return distinct d.name as name
+searchWords=match(d) where d.name in fildList return distinct d.name as name
+#\u6839\u636E\u75BE\u75C5\u67E5\u627E\u76F8\u5E94\u7684Lis Pacs
+serchLisPacs=match (d:Disease)-[r1:\u63A8\u8350]->(m)\n \
+where d.name= "diseaseNmae" return distinct labels(m)[0] as lei,m.name as n