Explorar o código

更新图谱实体及查询的方法

MarkHuang %!s(int64=4) %!d(string=hai) anos
pai
achega
fca783c428

+ 14 - 7
src/main/java/com/diagbot/dto/DrugBillNeoDTO.java

@@ -2,6 +2,7 @@ package com.diagbot.dto;
 
 import lombok.Data;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -21,23 +22,29 @@ public class DrugBillNeoDTO {
     private Integer maxage;
 
     // 临床表现
-    private List<String> clinicfindings;
+    private List<String> clinicfindings = new ArrayList<>();
 
     // 禁忌手术
-    private List<String> operations;
+    private List<String> operations = new ArrayList<>();
 
     // 禁忌操作
-    private List<String> procedures;
+    private List<String> procedures = new ArrayList<>();
+
+    // 禁忌实验室检查
+    private List<String> lis = new ArrayList<>();
 
     // 禁忌辅助检查
-    private List<String> PACS;
+    private List<String> PACS = new ArrayList<>();
+
+    // 禁忌过敏药品
+    private List<String> allergicmeds = new ArrayList<>();
 
     // 禁忌疾病
-    private List<String> disease;
+    private List<String> disease = new ArrayList<>();
 
     // 禁用人群
-    private List<String> group;
+    private List<String> group = new ArrayList<>();
 
     // 配伍禁忌
-    private List<String> meds;
+    private List<String> conflictmeds = new ArrayList<>();
 }

+ 2 - 3
src/main/java/com/diagbot/entity/node/AgeMax.java

@@ -3,15 +3,14 @@ package com.diagbot.entity.node;
 import lombok.Data;
 import com.diagbot.entity.node.base.BaseNode;
 import lombok.EqualsAndHashCode;
-import org.neo4j.ogm.annotation.Labels;
 import org.neo4j.ogm.annotation.NodeEntity;
 import org.neo4j.ogm.annotation.Relationship;
 
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "年龄最大值")
 public class AgeMax extends BaseNode  {
 

+ 2 - 3
src/main/java/com/diagbot/entity/node/AgeMin.java

@@ -4,15 +4,14 @@ import com.diagbot.model.ai.model.Relation;
 import lombok.Data;
 import com.diagbot.entity.node.base.BaseNode;
 import lombok.EqualsAndHashCode;
-import org.neo4j.ogm.annotation.Labels;
 import org.neo4j.ogm.annotation.NodeEntity;
 import org.neo4j.ogm.annotation.Relationship;
 
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "年龄最小值")
 public class AgeMin extends BaseNode {
 

+ 2 - 2
src/main/java/com/diagbot/entity/node/AllergicMed.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "过敏药品")
 public class AllergicMed extends BaseNode  {
 

+ 2 - 3
src/main/java/com/diagbot/entity/node/ClinicalFinding.java

@@ -3,15 +3,14 @@ package com.diagbot.entity.node;
 import lombok.Data;
 import com.diagbot.entity.node.base.BaseNode;
 import lombok.EqualsAndHashCode;
-import org.neo4j.ogm.annotation.Labels;
 import org.neo4j.ogm.annotation.NodeEntity;
 import org.neo4j.ogm.annotation.Relationship;
 
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "临床表现")
 public class ClinicalFinding extends BaseNode  {
 

+ 3 - 3
src/main/java/com/diagbot/entity/node/Conflict.java

@@ -10,10 +10,10 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "配伍")
-public class Conflict extends BaseNode  {
+public class ConflictMed extends BaseNode  {
 
     @Relationship(type="药品通用名禁忌配伍", direction = Relationship.INCOMING)
     private Set<Medicine> medicines;

+ 2 - 2
src/main/java/com/diagbot/entity/node/Disease.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "疾病")
 public class Disease extends BaseNode  {
 

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

@@ -11,7 +11,7 @@ import java.io.Serializable;
 import java.util.Set;
 
 @Data
-@EqualsAndHashCode(callSuper = false)
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "性别")
 public class Gender extends BaseNode  {
 

+ 2 - 2
src/main/java/com/diagbot/entity/node/Group.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "人群")
 public class Group extends BaseNode  {
 

+ 2 - 2
src/main/java/com/diagbot/entity/node/LIS.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "实验室检查")
 public class LIS extends BaseNode  {
 

+ 16 - 12
src/main/java/com/diagbot/entity/node/Medicine.java

@@ -10,6 +10,7 @@ import org.neo4j.ogm.annotation.NodeEntity;
 import org.neo4j.ogm.annotation.Relationship;
 
 import java.io.Serializable;
+import java.util.HashSet;
 import java.util.Set;
 
 @Data
@@ -20,37 +21,40 @@ public class Medicine extends BaseNode implements Serializable {
     @Relationship(type = "药品通用名禁忌年龄最小值", direction = Relationship.OUTGOING)
     private AgeMin ageMin;
 
+    @Relationship(type = "药品通用名禁忌年龄最大值", direction = Relationship.OUTGOING)
+    private AgeMax agemax;
+
     @Relationship(type = "药品通用名禁忌性别", direction = Relationship.OUTGOING)
     private Gender gender;
 
-    @Relationship(type = "药品通用名禁忌年龄最大值", direction = Relationship.OUTGOING)
-    private AgeMax agemax;
 
     @Relationship(type = "药品通用名禁忌临床表现", direction = Relationship.OUTGOING)
-    private ClinicalFinding clinicalfinding;
+    private Set<ClinicalFinding> clinicalfindings = new HashSet<>();
+
 
     @Relationship(type = "药品通用名禁忌实验室检查", direction = Relationship.OUTGOING)
-    private LIS lis;
+    private Set<LIS> lisset = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌辅助检查", direction = Relationship.OUTGOING)
-    private PACS pacs;
+    private Set<PACS> pacsset = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌过敏药品", direction = Relationship.OUTGOING)
-    private AllergicMed allergicmed;
+    private Set<AllergicMed> allergicmeds = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌手术", direction = Relationship.OUTGOING)
-    private Operation operation;
+    private Set<Operation> operations = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌操作", direction = Relationship.OUTGOING)
-    private Procedure procedure;
+    private Set<Procedure> procedures = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌疾病", direction = Relationship.OUTGOING)
-    private Disease disease;
+    private Set<Disease> diseases = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌人群", direction = Relationship.OUTGOING)
-    private Group group;
+    private Set<Group> groups = new HashSet<>();
 
     @Relationship(type = "药品通用名禁忌配伍", direction = Relationship.OUTGOING)
-    private Conflict conflict;
+    private Set<ConflictMed> conflictmeds = new HashSet<>();
+
+}
 
-}

+ 0 - 21
src/main/java/com/diagbot/entity/node/Medicinebk.java

@@ -1,21 +0,0 @@
-package com.diagbot.entity.node;
-
-import com.diagbot.entity.node.base.BaseNode;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.neo4j.ogm.annotation.NodeEntity;
-import org.neo4j.ogm.annotation.Relationship;
-
-import java.io.Serializable;
-
-@Data
-@EqualsAndHashCode(callSuper = false)
-@NodeEntity(label = "药品通用名")
-public class Medicinebk extends BaseNode implements Serializable{
-
-    @Relationship(type="药品通用名禁忌年龄最小值", direction = Relationship.OUTGOING)
-    private AgeMin ageMin;
-
-    @Relationship(type="药品通用名禁忌性别", direction = Relationship.OUTGOING)
-    private Gender gender;
-}

+ 2 - 2
src/main/java/com/diagbot/entity/node/Operation.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "手术")
 public class Operation extends BaseNode  {
 

+ 2 - 2
src/main/java/com/diagbot/entity/node/PACS.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "辅助检查")
 public class PACS extends BaseNode  {
 

+ 2 - 2
src/main/java/com/diagbot/entity/node/Procedure.java

@@ -10,8 +10,8 @@ import org.neo4j.ogm.annotation.Relationship;
 import java.io.Serializable;
 import java.util.Set;
 
-@Data
-@EqualsAndHashCode(callSuper = false)
+//@Data
+//@EqualsAndHashCode(callSuper = false)
 @NodeEntity(label = "操作")
 public class Procedure extends BaseNode  {
 

+ 75 - 3
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -1,13 +1,14 @@
 package com.diagbot.repository;
 
 import com.diagbot.dto.DrugBillNeoDTO;
-import com.diagbot.entity.node.AgeMin;
-import com.diagbot.entity.node.Gender;
-import com.diagbot.entity.node.Medicine;
+import com.diagbot.entity.node.*;
+
+import java.util.Set;
 
 public class MedicineNode {
 
     private String age_ch = "岁";
+
     public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine) {
         DrugBillNeoDTO drugBillNeoDTO = new DrugBillNeoDTO();
 
@@ -17,10 +18,81 @@ public class MedicineNode {
         drugBillNeoDTO.setMinage(Integer.parseInt(ageMin_val));
 
 
+        AgeMax ageMax = medicine.getAgemax();
+        String ageMax_val = (ageMax==null)?"":ageMax.getName();
+        ageMax_val = ageMax_val.replace(age_ch, "").trim();
+        drugBillNeoDTO.setMaxage(Integer.parseInt(ageMax_val));
+
+
         Gender gender = medicine.getGender();
         String gender_val = (gender==null)?"":gender.getName();
         drugBillNeoDTO.setGender(gender_val);
 
+
+        Set<ClinicalFinding> clinicalfindings = medicine.getClinicalfindings();
+        for (ClinicalFinding clinicalFinding : clinicalfindings) {
+            String clinicalfinding_val = (clinicalFinding == null) ? "" : clinicalFinding.getName();
+            drugBillNeoDTO.getClinicfindings().add(clinicalfinding_val);
+        }
+
+
+        Set<LIS> lisset = medicine.getLisset();
+        for (LIS lis : lisset) {
+            String lis_val = (lis == null) ? "" : lis.getName();
+            drugBillNeoDTO.getLis().add(lis_val);
+        }
+
+
+        Set<PACS> pacsset = medicine.getPacsset();
+        for (PACS pacs : pacsset) {
+            String pacs_val = (pacs == null) ? "" : pacs.getName();
+            drugBillNeoDTO.getPACS().add(pacs_val);
+        }
+
+
+        Set<AllergicMed> allergicmeds = medicine.getAllergicmeds();
+        for (AllergicMed allergicmed: allergicmeds) {
+            String allergicmed_val = (allergicmed == null) ? "" : allergicmed.getName();
+            drugBillNeoDTO.getAllergicmeds().add(allergicmed_val);
+        }
+
+
+        Set<Operation> operations = medicine.getOperations();
+        for (Operation operation : operations) {
+            String operation_val = (operation == null) ? "" : operation.getName();
+            drugBillNeoDTO.getOperations().add(operation_val);
+        }
+
+
+        Set<Procedure> procedures = medicine.getProcedures();
+        for (Procedure procedure : procedures) {
+            String procedure_val = (procedure == null) ? "" : procedure.getName();
+            drugBillNeoDTO.getProcedures().add(procedure_val);
+        }
+
+
+        Set<Disease> diseases = medicine.getDiseases();
+        for (Disease disease : diseases) {
+            String disease_val = (disease == null) ? "" : disease.getName();
+            drugBillNeoDTO.getDisease().add(disease_val);
+        }
+
+
+        Set<Group> groups = medicine.getGroups();
+        for (Group group : groups) {
+            String group_val = (group == null) ? "" : group.getName();
+            drugBillNeoDTO.getGroup().add(group_val);
+        }
+
+
+        Set<ConflictMed> conflictmeds = medicine.getConflictmeds();
+        for (ConflictMed conflictMed : conflictmeds) {
+            String conflict_val = (conflictMed == null) ? "" : conflictMed.getName();
+            drugBillNeoDTO.getConflictmeds().add(conflict_val);
+        }
+
+
         return drugBillNeoDTO;
     }
 }
+