Browse Source

对结果有范围的开单合理性数据结构的更新

MarkHuang 4 years ago
parent
commit
5954f3c5a7

+ 3 - 3
src/main/java/com/diagbot/dto/DrugBillNeoDTO.java

@@ -19,7 +19,7 @@ public class DrugBillNeoDTO {
     private RangeNeoDTO ageNeoDTO;
 
     // 临床表现
-    private List<String> clinicfindings = new ArrayList<>();
+    private List<RangeNeoDTO> clinicfindings = new ArrayList<>();
 
     // 禁忌手术
     private List<String> operations = new ArrayList<>();
@@ -28,10 +28,10 @@ public class DrugBillNeoDTO {
     private List<String> procedures = new ArrayList<>();
 
     // 禁忌实验室检查
-    private List<String> lis = new ArrayList<>();
+    private List<RangeNeoDTO> lis = new ArrayList<>();
 
     // 禁忌辅助检查
-    private List<String> Pacs = new ArrayList<>();
+    private List<RangeNeoDTO> Pacs = new ArrayList<>();
 
     // 禁忌过敏药品
     private List<String> allergicmeds = new ArrayList<>();

+ 2 - 2
src/main/java/com/diagbot/dto/LisBillNeoDTO.java

@@ -20,7 +20,7 @@ public class LisBillNeoDTO {
     private RangeNeoDTO ageNeoDTO;
 
     // 临床表现
-    private List<String> clinicfindings = new ArrayList<>();
+    private List<RangeNeoDTO> clinicfindings = new ArrayList<>();
 
     // 服用药品
     private List<String> prescribe = new ArrayList<>();
@@ -35,7 +35,7 @@ public class LisBillNeoDTO {
     private List<String> procedures = new ArrayList<>();
 
     // 禁忌辅助检查
-    private List<String> Pacs = new ArrayList<>();
+    private List<RangeNeoDTO> Pacs = new ArrayList<>();
 
     // 禁忌疾病
     private List<String> disease = new ArrayList<>();

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

@@ -7,6 +7,7 @@ import lombok.Getter;
 import lombok.Setter;
 import org.neo4j.ogm.annotation.Labels;
 import org.neo4j.ogm.annotation.NodeEntity;
+import org.neo4j.ogm.annotation.Property;
 import org.neo4j.ogm.annotation.Relationship;
 
 import java.io.Serializable;
@@ -19,6 +20,15 @@ import java.util.Set;
 @NodeEntity(label = "辅助检查")
 public class PACS extends BaseNode  {
 
+    @Property(name = "最大值")
+    private String maxval;
+
+    @Property(name = "最小值")
+    private String minval;
+
+    @Property(name = "单位")
+    private String unit;
+
     @Relationship(type = "辅助检查禁忌性别", direction = Relationship.OUTGOING)
     private Gender gender;
 

+ 27 - 2
src/main/java/com/diagbot/repository/LISNode.java

@@ -28,8 +28,20 @@ public class LISNode {
 
 		Set<ClinicalFinding> clinicalfindings = lis.getClinicalfindings();
 		for (ClinicalFinding clinicalfinding : clinicalfindings) {
+			RangeNeoDTO rangeNeoDTO = new RangeNeoDTO();
 			String clinicalfinding_val = (clinicalfinding==null)?"":clinicalfinding.getName();
-			lisBillNeoDTO.getClinicfindings().add(clinicalfinding_val);
+			rangeNeoDTO.setName(clinicalfinding_val);
+
+			if (clinicalfinding.getUnit()!=null) {
+				rangeNeoDTO.setUnit(clinicalfinding.getUnit());
+				if (null!=clinicalfinding.getMinval()) {
+					rangeNeoDTO.setMin(new BigDecimal(clinicalfinding.getMinval()));
+				}
+				if (null!=clinicalfinding.getMaxval()) {
+					rangeNeoDTO.setMax(new BigDecimal(clinicalfinding.getMaxval()));
+				}
+			}
+			lisBillNeoDTO.getClinicfindings().add(rangeNeoDTO);
 		}
 
 		Set<Medicine> conflict_medicines = lis.getConflict_medicines();
@@ -58,8 +70,21 @@ public class LISNode {
 
 		Set<PACS> pacss = lis.getPacs();
 		for (PACS pacs : pacss) {
+			RangeNeoDTO rangeNeoDTO = new RangeNeoDTO();
 			String pacs_val = (pacs==null)?"":pacs.getName();
-			lisBillNeoDTO.getPacs().add(pacs_val);
+			rangeNeoDTO.setName(pacs_val);
+
+			if (pacs.getUnit()!=null) {
+				rangeNeoDTO.setUnit(pacs.getUnit());
+				if (null!=pacs.getMinval()) {
+					rangeNeoDTO.setMin(new BigDecimal(pacs.getMinval()));
+				}
+				if (null!=pacs.getMaxval()) {
+					rangeNeoDTO.setMax(new BigDecimal(pacs.getMaxval()));
+				}
+			}
+
+			lisBillNeoDTO.getPacs().add(rangeNeoDTO);
 		}
 
 		Set<Disease> diseases = lis.getDiseases();

+ 45 - 7
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -28,23 +28,61 @@ public class MedicineNode {
 
 
         Set<ClinicalFinding> clinicalfindings = medicine.getClinicalfindings();
-        for (ClinicalFinding clinicalFinding : clinicalfindings) {
-            String clinicalfinding_val = (clinicalFinding == null) ? "" : clinicalFinding.getName();
-            drugBillNeoDTO.getClinicfindings().add(clinicalfinding_val);
+        for (ClinicalFinding clinicalfinding : clinicalfindings) {
+            RangeNeoDTO rangeNeoDTO = new RangeNeoDTO();
+            String clinicalfinding_val = (clinicalfinding==null)?"":clinicalfinding.getName();
+            rangeNeoDTO.setName(clinicalfinding_val);
+
+            if (clinicalfinding.getUnit()!=null) {
+                rangeNeoDTO.setUnit(clinicalfinding.getUnit());
+                if (null!=clinicalfinding.getMinval()) {
+                    rangeNeoDTO.setMin(new BigDecimal(clinicalfinding.getMinval()));
+                }
+                if (null!=clinicalfinding.getMaxval()) {
+                    rangeNeoDTO.setMax(new BigDecimal(clinicalfinding.getMaxval()));
+                }
+            }
+            drugBillNeoDTO.getClinicfindings().add(rangeNeoDTO);
         }
 
 
         Set<LIS> lisset = medicine.getLisset();
         for (LIS lis : lisset) {
-            String lis_val = (lis == null) ? "" : lis.getName();
-            drugBillNeoDTO.getLis().add(lis_val);
+            RangeNeoDTO rangeNeoDTO = new RangeNeoDTO();
+            String lis_val = (lis==null)?"":lis.getName();
+            rangeNeoDTO.setName(lis_val);
+
+            if (lis.getUnit()!=null) {
+                rangeNeoDTO.setUnit(lis.getUnit());
+                if (null!=lis.getMinval()) {
+                    rangeNeoDTO.setMin(new BigDecimal(lis.getMinval()));
+                }
+                if (null!=lis.getMaxval()) {
+                    rangeNeoDTO.setMax(new BigDecimal(lis.getMaxval()));
+                }
+            }
+
+            drugBillNeoDTO.getLis().add(rangeNeoDTO);
         }
 
 
         Set<PACS> pacsset = medicine.getPacs();
         for (PACS pacs : pacsset) {
-            String pacs_val = (pacs == null) ? "" : pacs.getName();
-            drugBillNeoDTO.getPacs().add(pacs_val);
+            RangeNeoDTO rangeNeoDTO = new RangeNeoDTO();
+            String pacs_val = (pacs==null)?"":pacs.getName();
+            rangeNeoDTO.setName(pacs_val);
+
+            if (pacs.getUnit()!=null) {
+                rangeNeoDTO.setUnit(pacs.getUnit());
+                if (null!=pacs.getMinval()) {
+                    rangeNeoDTO.setMin(new BigDecimal(pacs.getMinval()));
+                }
+                if (null!=pacs.getMaxval()) {
+                    rangeNeoDTO.setMax(new BigDecimal(pacs.getMaxval()));
+                }
+            }
+
+            drugBillNeoDTO.getPacs().add(rangeNeoDTO);
         }