فهرست منبع

更新药品开单合理性的方法

MarkHuang 4 سال پیش
والد
کامیت
2279097509

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

@@ -28,7 +28,7 @@ public class Age extends BaseNode  {
 	@Property(name = "名称")
 	private String termname;
 
-	@Relationship(type = "药品注册名称禁忌年龄", direction = Relationship.INCOMING)
-	private Set<MedRegName> medRegNames = new HashSet<>();
+	@Relationship(type = "药品通用名称禁忌年龄", direction = Relationship.INCOMING)
+	private Set<Medicine> medicines = new HashSet<>();
 
 }

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

@@ -31,4 +31,7 @@ public class Disease extends BaseNode  {
 	@Relationship(type = "辅助检查子项目名称禁忌疾病", direction = Relationship.INCOMING)
 	private Set<PacsSubName> pacssubnames = new HashSet<>();
 
+	@Relationship(type = "药品通用名称禁忌疾病", direction = Relationship.INCOMING)
+	private Set<Medicine> medicines = new HashSet<>();
+
 }

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

@@ -34,4 +34,7 @@ public class Group extends BaseNode  {
 	@Relationship(type = "辅助检查子项目名称禁忌禁忌人群", direction = Relationship.INCOMING)
 	private Set<PacsSubName> pacssubnames = new HashSet<>();
 
+	@Relationship(type = "药品通用名称禁忌禁忌人群", direction = Relationship.INCOMING)
+	private Set<Medicine> medicines = new HashSet<>();
+
 }

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

@@ -31,4 +31,7 @@ public class MedAllergen extends BaseNode  {
 	@Relationship(type = "联合项目禁忌药物过敏原", direction = Relationship.INCOMING)
 	private Set<CombiOperation> combioperations = new HashSet<>();
 
+	@Relationship(type = "药品通用名称禁忌药物过敏原", direction = Relationship.INCOMING)
+	private Set<Medicine> medicines = new HashSet<>();
+
 }

+ 0 - 12
src/main/java/com/diagbot/entity/node/MedRegName.java

@@ -21,17 +21,5 @@ public class MedRegName extends BaseNode  {
 	@Relationship(type = "药品相关药品注册名称", direction = Relationship.INCOMING)
 	private Set<MedCodeName> medcodenames = new HashSet<>();
 
-	@Relationship(type = "药品注册名称禁忌禁忌人群", direction = Relationship.OUTGOING)
-	private Set<Group> group = new HashSet<>();
-
-	@Relationship(type = "药品注册名称禁忌年龄", direction = Relationship.OUTGOING)
-	private Set<Age> age = new HashSet<>();
-
-	@Relationship(type = "药品注册名称禁忌疾病", direction = Relationship.OUTGOING)
-	private Set<Disease> disease = new HashSet<>();
-
-	@Relationship(type = "药品注册名称禁忌药物过敏原", direction = Relationship.OUTGOING)
-	private Set<MedAllergen> medAllergens = new HashSet<>();
-
 
 }

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

@@ -21,5 +21,17 @@ public class Medicine extends BaseNode  {
 	@Relationship(type = "化验提醒指标相关药品通用名称", direction = Relationship.INCOMING)
 	private Set<LisRemind> lisreminds = new HashSet<>();
 
+	@Relationship(type = "药品通用名称禁忌禁忌人群", direction = Relationship.OUTGOING)
+	private Set<Group> group = new HashSet<>();
+
+	@Relationship(type = "药品通用名称禁忌年龄", direction = Relationship.OUTGOING)
+	private Set<Age> age = new HashSet<>();
+
+	@Relationship(type = "药品通用名称禁忌疾病", direction = Relationship.OUTGOING)
+	private Set<Disease> disease = new HashSet<>();
+
+	@Relationship(type = "药品通用名称禁忌药物过敏原", direction = Relationship.OUTGOING)
+	private Set<MedAllergen> medAllergens = new HashSet<>();
+
 
 }

+ 2 - 2
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -569,8 +569,8 @@ public class NeoFacade {
      */
     public List<BillNeoDTO> getDrugBill(Map<String, String> medsterm) {
 
-        MedicineCodeNode medicineNode = new MedicineCodeNode();
-        List<BillNeoDTO> billNeoDTOs = medicineNode.getDrugBill(medsterm, medicineCodeRepository);
+        MedicineNode medicineNode = new MedicineNode();
+        List<BillNeoDTO> billNeoDTOs = medicineNode.getMedicineBill(medsterm, medicineRepository);
 
         return billNeoDTOs;
     }

+ 0 - 97
src/main/java/com/diagbot/repository/MedRegNameNode.java

@@ -74,102 +74,5 @@ public class MedRegNameNode {
     }
 
 
-    public DrugBillNeoDTO MedicinetoDrugDTO(MedRegName medicine, MedRegNameRepository medRegNameRepository) {
-        DrugBillNeoDTO drugBillNeoDTO = new DrugBillNeoDTO();
-
-        Set<Age> ages = medicine.getAge();
-        for (Age age : ages) {
-            NodeNeoDTO nodeNeoDTO = fillNodeNeoDTO(age);
-            drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
-        }
-
-        Set<Group> groups = medicine.getGroup();
-        for (Group group : groups) {
-            NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
-            nodeNeoDTO.setName(group.getName());
-            nodeNeoDTO.setTermtype(Constants.group);
-            drugBillNeoDTO.getGroup().add(nodeNeoDTO);
-        }
-
-
-        Set<MedAllergen> medAllergens = medicine.getMedAllergens();
-        for (MedAllergen medAllergen : medAllergens) {
-            NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
-            nodeNeoDTO.setName(medAllergen.getName());
-            nodeNeoDTO.setTermtype(Constants.medallergen);
-            drugBillNeoDTO.getAllergicmeds().add(nodeNeoDTO);
-        }
-
-
-        Set<Disease> diseases = medicine.getDisease();
-        for (Disease disease : diseases) {
-            NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
-            nodeNeoDTO.setName(disease.getName());
-            nodeNeoDTO.setTermtype(Constants.disease);
-            drugBillNeoDTO.getDisease().add(nodeNeoDTO);
-        }
-
-        return drugBillNeoDTO;
-    }
-
-
-    public NodeNeoDTO fillNodeNeoDTO(Age age) {
-        NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
-        Integer range;
-        BigDecimal max, min;
-
-        nodeNeoDTO.setName(age.getName());
-
-        max = (age.getMaxval()==null)?null:new BigDecimal(age.getMaxval());
-        nodeNeoDTO.setMax(max);
-
-        min = (age.getMinval()==null)?null:new BigDecimal(age.getMinval());
-        nodeNeoDTO.setMin(min);
-
-        range = (age.getRange()==null)?0:age.getRange();
-        nodeNeoDTO.setValType(range);
-
-        nodeNeoDTO.setName(age.getTermname());
-
-        return nodeNeoDTO;
-    }
-
-
-
-    /**
-     * 处理处方开单合理性
-     */
-    public List<BillNeoDTO> getMedicineBill(Map<String, String> medsterm, MedRegNameRepository medRegNameRepository) {
-        List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
-        BillNeoDTO billNeoDTO;
-
-        DrugBillNeoDTO drugBillNeoDTO;
-
-        List<MedRegName> medicine;
-        String medname;
-
-        for (String term : medsterm.keySet()) {
-            billNeoDTO = new BillNeoDTO();
-            medname = medsterm.get(term);
-            billNeoDTO.setName(term);
-            billNeoDTO.setStandname(medname);
-
-            drugBillNeoDTO = new DrugBillNeoDTO();
-
-            medicine = medRegNameRepository.findByNameIs(medname);
-
-            if (medicine != null && medicine.size() > 0) {
-                drugBillNeoDTO = MedicinetoDrugDTO(medicine.get(0), medRegNameRepository);
-
-                billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
-
-                billNeoDTOs.add(billNeoDTO);
-            }
-        }
-
-
-        return billNeoDTOs;
-    }
-
 }
 

+ 99 - 0
src/main/java/com/diagbot/repository/MedicineNode.java

@@ -11,6 +11,105 @@ import java.util.*;
 public class MedicineNode {
 
 
+    public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine) {
+        DrugBillNeoDTO drugBillNeoDTO = new DrugBillNeoDTO();
+
+        Set<Age> ages = medicine.getAge();
+        for (Age age : ages) {
+            NodeNeoDTO nodeNeoDTO = fillNodeNeoDTO(age);
+            drugBillNeoDTO.setAgeNeoDTO(nodeNeoDTO);
+        }
+
+        Set<Group> groups = medicine.getGroup();
+        for (Group group : groups) {
+            NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+            nodeNeoDTO.setName(group.getName());
+            nodeNeoDTO.setTermtype(Constants.group);
+            drugBillNeoDTO.getGroup().add(nodeNeoDTO);
+        }
+
+
+        Set<MedAllergen> medAllergens = medicine.getMedAllergens();
+        for (MedAllergen medAllergen : medAllergens) {
+            NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+            nodeNeoDTO.setName(medAllergen.getName());
+            nodeNeoDTO.setTermtype(Constants.medallergen);
+            drugBillNeoDTO.getAllergicmeds().add(nodeNeoDTO);
+        }
+
+
+        Set<Disease> diseases = medicine.getDisease();
+        for (Disease disease : diseases) {
+            NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+            nodeNeoDTO.setName(disease.getName());
+            nodeNeoDTO.setTermtype(Constants.disease);
+            drugBillNeoDTO.getDisease().add(nodeNeoDTO);
+        }
+
+        return drugBillNeoDTO;
+    }
+
+
+    public NodeNeoDTO fillNodeNeoDTO(Age age) {
+        NodeNeoDTO nodeNeoDTO = new NodeNeoDTO();
+        Integer range;
+        BigDecimal max, min;
+
+        nodeNeoDTO.setName(age.getName());
+
+        max = (age.getMaxval()==null)?null:new BigDecimal(age.getMaxval());
+        nodeNeoDTO.setMax(max);
+
+        min = (age.getMinval()==null)?null:new BigDecimal(age.getMinval());
+        nodeNeoDTO.setMin(min);
+
+        range = (age.getRange()==null)?0:age.getRange();
+        nodeNeoDTO.setValType(range);
+
+        nodeNeoDTO.setName(age.getTermname());
+
+        return nodeNeoDTO;
+    }
+
+
+
+    /**
+     * 处理处方开单合理性
+     */
+    public List<BillNeoDTO> getMedicineBill(Map<String, String> medsterm, MedicineRepository medicineRepository) {
+        List<BillNeoDTO> billNeoDTOs = new ArrayList<>();
+        BillNeoDTO billNeoDTO;
+
+        DrugBillNeoDTO drugBillNeoDTO;
+
+        List<Medicine> medicine;
+        String medname;
+
+        for (String term : medsterm.keySet()) {
+            billNeoDTO = new BillNeoDTO();
+            medname = medsterm.get(term);
+            billNeoDTO.setName(term);
+            billNeoDTO.setStandname(medname);
+
+            drugBillNeoDTO = new DrugBillNeoDTO();
+
+            medicine = medicineRepository.findByNameIs(medname);
+
+            if (medicine != null && medicine.size() > 0) {
+                drugBillNeoDTO = MedicinetoDrugDTO(medicine.get(0));
+
+                billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
+
+                billNeoDTOs.add(billNeoDTO);
+            }
+        }
+
+
+        return billNeoDTOs;
+    }
+
+
+
     /**
      * 获取药品商品名称列表
      */