Jelajahi Sumber

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

MarkHuang 4 tahun lalu
induk
melakukan
a0be87a209

+ 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<Medicine> medicine = new HashSet<>();
+	@Relationship(type = "药品注册名称禁忌年龄", direction = Relationship.INCOMING)
+	private Set<MedRegName> medRegNames = new HashSet<>();
 
 }

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

@@ -31,6 +31,6 @@ 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<>();
+	@Relationship(type = "药品注册名称禁忌疾病", direction = Relationship.INCOMING)
+	private Set<MedRegName> medRegNames = new HashSet<>();
 }

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

@@ -34,7 +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> medicine = new HashSet<>();
+	@Relationship(type = "药品注册名称禁忌禁忌人群", direction = Relationship.INCOMING)
+	private Set<MedRegName> medRegNames = new HashSet<>();
 
 }

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

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

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

@@ -21,4 +21,17 @@ 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<>();
+
+
 }

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

@@ -21,16 +21,5 @@ 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<>();
 
 }

+ 6 - 4
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -1,7 +1,6 @@
 package com.diagbot.facade;
 
 import com.alibaba.fastjson.JSONArray;
-import com.diagbot.biz.push.entity.Item;
 import com.diagbot.biz.push.entity.Lis;
 import com.diagbot.client.ChiefPresentSimilarityServiceClient;
 import com.diagbot.client.StandConvertServiceClient;
@@ -49,6 +48,8 @@ public class NeoFacade {
     @Autowired
     MedicineRepository medicineRepository;
     @Autowired
+    MedRegNameRepository medRegNameRepository;
+    @Autowired
     PacsNameRepository pacsNameRepository;
     @Autowired
     LisNameRepository lisNameRepository;
@@ -570,8 +571,8 @@ public class NeoFacade {
      */
     public List<BillNeoDTO> getDrugBill(Map<String, String> medsterm) {
 
-        MedicineNode medicineNode = new MedicineNode();
-        List<BillNeoDTO> billNeoDTOs = medicineNode.getMedicineBill(medsterm, medicineRepository);
+        MedRegNameNode medRegNameNode = new MedRegNameNode();
+        List<BillNeoDTO> billNeoDTOs = medRegNameNode.getMedicineBill(medsterm, medRegNameRepository);
 
         return billNeoDTOs;
     }
@@ -640,13 +641,14 @@ public class NeoFacade {
 
     /**
      * 处理药品开单合理性
-     */
+     *
     public List<BillNeoDTO> getMedicineBill(Map<String, String> term) {
         MedicineNode medicineNode = new MedicineNode();
         List<BillNeoDTO> billNeoDTOS = medicineNode.getMedicineBill(term, medicineRepository);
 
         return billNeoDTOS;
     }
+    */
 
 
     /**

+ 105 - 3
src/main/java/com/diagbot/repository/MedRegNameNode.java

@@ -1,13 +1,17 @@
 package com.diagbot.repository;
 
+import com.diagbot.dto.BillNeoDTO;
+import com.diagbot.dto.DrugBillNeoDTO;
 import com.diagbot.dto.HighRiskNeoDTO;
-import com.diagbot.entity.node.MedCodeName;
-import com.diagbot.entity.node.MedRegName;
-import com.diagbot.entity.node.Medicine;
+import com.diagbot.dto.NodeNeoDTO;
+import com.diagbot.entity.node.*;
 import com.diagbot.vo.Drug;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 
 public class MedRegNameNode {
@@ -69,5 +73,103 @@ public class MedRegNameNode {
         return highRiskNeoDTOS;
     }
 
+
+    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;
+    }
+
 }
 

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

@@ -11,104 +11,6 @@ import java.util.*;
 public class MedicineNode {
 
 
-    public DrugBillNeoDTO MedicinetoDrugDTO(Medicine medicine, MedicineRepository medicineRepository) {
-        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), medicineRepository);
-
-                billNeoDTO.setDrugBillNeoDTO(drugBillNeoDTO);
-
-                billNeoDTOs.add(billNeoDTO);
-            }
-        }
-
-
-        return billNeoDTOs;
-    }
-
-
     /**
      * 获取药品商品名称列表
      */