Browse Source

辅助检查描述禁用

kongwz 4 years ago
parent
commit
53ff517811

+ 3 - 0
src/main/java/com/diagbot/dto/BillNeoMaxDTO.java

@@ -63,4 +63,7 @@ public class BillNeoMaxDTO {
     // 体征
     private List<NodeNeoDTO> vitals = new ArrayList<>();
 
+    // 禁用辅助检查描述
+    private List<NodeNeoDTO> pacsDesc = new ArrayList<>();
+
 }

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

@@ -47,4 +47,7 @@ public class DrugBillNeoDTO {
 
     // 配伍禁忌
     private List<NodeNeoDTO> conflictmeds = new ArrayList<>();
+
+    // 禁用辅助检查描述
+    private List<NodeNeoDTO> pacsDesc = new ArrayList<>();
 }

+ 3 - 1
src/main/java/com/diagbot/dto/LisBillNeoDTO.java

@@ -1,6 +1,5 @@
 package com.diagbot.dto;
 
-import com.diagbot.entity.node.Age;
 import lombok.Data;
 
 import java.util.ArrayList;
@@ -46,4 +45,7 @@ public class LisBillNeoDTO {
     // 禁用人群
     private List<NodeNeoDTO> group = new ArrayList<>();
 
+    // 禁用辅助检查描述
+    private List<NodeNeoDTO> pacsDesc = new ArrayList<>();
+
 }

+ 3 - 0
src/main/java/com/diagbot/dto/OperationBillNeoDTO.java

@@ -47,4 +47,7 @@ public class OperationBillNeoDTO {
 
     // 配伍禁忌
     private List<NodeNeoDTO> conflictmeds = new ArrayList<>();
+
+    // 禁用辅助检查描述
+    private List<NodeNeoDTO> pacsDesc = new ArrayList<>();
 }

+ 3 - 0
src/main/java/com/diagbot/dto/PacsBillNeoDTO.java

@@ -48,4 +48,7 @@ public class PacsBillNeoDTO {
     // 禁用人群
     private List<NodeNeoDTO> group = new ArrayList<>();
 
+    // 禁用辅助检查描述
+    private List<NodeNeoDTO> pacsDesc = new ArrayList<>();
+
 }

+ 2 - 1
src/main/java/com/diagbot/enums/NeoEnum.java

@@ -23,7 +23,8 @@ public enum NeoEnum implements KeyedNamed {
     disease(10, "禁忌疾病"),
     group(11, "禁用人群"),
     conflictmeds(12, "配伍禁忌"),
-    vitals(13, "禁忌查体");
+    vitals(13, "禁忌查体"),
+    pacsDesc(14, "禁忌辅助检查描述");
 
     @Setter
     private int key;

+ 23 - 12
src/main/java/com/diagbot/process/BillProcess.java

@@ -8,15 +8,8 @@ import com.diagbot.dto.IndicationDTO;
 import com.diagbot.dto.WordCrfDTO;
 import com.diagbot.enums.NeoEnum;
 import com.diagbot.facade.NeoFacade;
-import com.diagbot.model.entity.Clinical;
-import com.diagbot.model.entity.GeneralDesc;
-import com.diagbot.model.entity.Medicine;
-import com.diagbot.model.entity.Operation;
-import com.diagbot.model.entity.Vital;
-import com.diagbot.model.label.ChiefLabel;
-import com.diagbot.model.label.DiagLabel;
-import com.diagbot.model.label.PastLabel;
-import com.diagbot.model.label.PresentLabel;
+import com.diagbot.model.entity.*;
+import com.diagbot.model.label.*;
 import com.diagbot.rule.AgeRule;
 import com.diagbot.rule.CommonRule;
 import com.diagbot.rule.DrugRule;
@@ -34,6 +27,7 @@ import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description: 开单总入口
@@ -130,12 +124,26 @@ public class BillProcess {
         PresentLabel presentLabel = wordCrfDTO.getPresentLabel();
         PastLabel pastLabel = wordCrfDTO.getPastLabel();
 
-        // 体征
-        List<Vital> vitals = wordCrfDTO.getVitalLabel().getVitals();
-
         // 诊断数据
         List<Item> diags = wordCrfDTO.getDiag();
 
+        //辅助检查描述
+        PacsLabel pacsLabel = wordCrfDTO.getPacsLabel();
+        List<Item> pacsNewList = new ArrayList<>();
+        pacsLabel.getPacsNewList().stream().filter(x -> ListUtil.isNotEmpty(x.getPacsResults()) || ListUtil.isNotEmpty(x.getDisease())).forEach(
+                x ->{
+                    List<String> pacsResults = x.getPacsResults().stream().map(pacr -> pacr.getStandName()).collect(Collectors.toList());
+                    List<String> diseases = x.getDisease().stream().map(disease -> disease.getStandName()).collect(Collectors.toList());
+                    pacsResults.addAll(diseases);
+                    pacsResults.stream().forEach(z ->{
+                        Item item = new Item();
+                        item.setName(z);
+                        item.setUniqueName(z);
+                        pacsNewList.add(item);
+                    });
+                }
+        );
+
         // 手术数据
         List<Operation> operations_present = presentLabel.getOperations();
         List<Operation> operations_past = pastLabel.getOperations();
@@ -185,6 +193,9 @@ public class BillProcess {
 
             // 禁用人群
             GroupRule.compareGroupWithBill(wordCrfDTO, bill, billMsgList, NeoEnum.group.getName());
+
+            // 禁用辅助检查描述
+            CommonRule.compareItemWithBill(bill.getPacsDesc(), pacsNewList, bill, billMsgList, NeoEnum.pacsDesc.getName());
         }
 
         // 24小时重复开单项