Jelajahi Sumber

push5.0 反推量表

kongwz 4 tahun lalu
induk
melakukan
320d5f57ed

+ 1 - 0
src/main/java/com/diagbot/dto/NeoPushDTO.java

@@ -20,6 +20,7 @@ public class NeoPushDTO {
     private List<PushBaseDTO> vitals = new ArrayList<>();//体征
     private List<PushBaseDTO> lis = new ArrayList<>();//实验室检查
     private List<PushBaseDTO> pacs = new ArrayList<>();//辅助检查
+    private List<PushBaseDTO> scales = new ArrayList<>();//量表
     // 鉴别诊断
     private List<PushBaseDTO> differentialDis;
     /**

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

@@ -447,6 +447,10 @@ public class NeoFacade {
                 neoPushDTO.setDifferentialDis(items.get(PushRelationTypeEnum.DIFFDIAGNOSE.getKey())
                         .stream().map(x -> NeoUtil.updatePushInfo(x)).collect(Collectors.toList()));
             }
+            if (ListUtil.isNotEmpty(items.get(PushRelationTypeEnum.SCALE.getKey()))) {
+                neoPushDTO.setScales(items.get(PushRelationTypeEnum.SCALE.getKey())
+                        .stream().map(x -> NeoUtil.updatePushInfo(x)).collect(Collectors.toList()));
+            }
         }
         return neoPushDTO;
     }

+ 22 - 0
src/main/java/com/diagbot/process/PushProcess.java

@@ -939,6 +939,16 @@ public class PushProcess {
                 }
             }
         }
+        // 量表
+        if (ruleTypeList.contains("12")) {
+            if (ListUtil.isNotEmpty(reversePush.getScales())) {
+                List<String> scales = reversePush.getScales().stream().map(x -> x.getName()).collect(Collectors.toList());
+                if (scales.size() > 0) {
+                    List<PushBaseDTO> filterpacs = getPackagePushBaseDTO(scales);
+                    pushDTO.setScale(filterpacs.subList(0, filterpacs.size() >= length ? length : filterpacs.size()));
+                }
+            }
+        }
 
     }
 
@@ -954,5 +964,17 @@ public class PushProcess {
                 }).collect(Collectors.toList());
         return symptomPush;
     }
+    private List<PushBaseDTO> getPackagePushBaseDTO(List<String> symptoms) {
+        List<PushBaseDTO> symptomPush = new ArrayList<>();
+        if(ListUtil.isNotEmpty(symptoms)){
+            symptomPush = symptoms.stream().map(x ->{
+                PushBaseDTO pushBaseDTO = new PushBaseDTO();
+                pushBaseDTO.setName(x);
+                return pushBaseDTO;
+            }).collect(Collectors.toList());
+        }
+
+        return symptomPush;
+    }
 }