Bläddra i källkod

EMR推理返回内容增加症状和查体

Zhaops 6 år sedan
förälder
incheckning
07680b04c8

+ 2 - 0
icss-service/src/main/java/com/diagbot/dto/PushEMRDTO.java

@@ -14,6 +14,8 @@ import java.util.Map;
 @Getter
 @Setter
 public class PushEMRDTO {
+    private List<EMRQuestionDTO> symptomList;
+    private List<EMRQuestionDTO> vitalList;
     private List<EMRQuestionDTO> lisList;
     private List<EMRQuestionDTO> pacsList;
     private Map<String, List<EMRQuestionDTO>> dis;

+ 26 - 0
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -540,6 +540,32 @@ public class PushFacade {
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
+        if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Symptom.getKey()))) {
+            List<FeatureRate> symptomFeature = data.getSymptom();
+            if (symptomFeature.size() > 0) {
+                List<EMRQuestionDTO> symptomList = Lists.newLinkedList();
+                for (FeatureRate featureRate : symptomFeature) {
+                    EMRQuestionDTO symptom = new EMRQuestionDTO();
+                    symptom.setName(featureRate.getFeatureName());
+                    symptom.setUniqueName(featureRate.getFeatureName());
+                    symptomList.add(symptom);
+                }
+                pushEMRDTO.setSymptomList(symptomList);
+            }
+        }
+        if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Vital.getKey()))) {
+            List<FeatureRate> vitalFeature = data.getVitals();
+            if (vitalFeature.size() > 0) {
+                List<EMRQuestionDTO> vitalList = Lists.newLinkedList();
+                for (FeatureRate featureRate : vitalFeature) {
+                    EMRQuestionDTO vital = new EMRQuestionDTO();
+                    vital.setName(featureRate.getFeatureName());
+                    vital.setUniqueName(featureRate.getFeatureName());
+                    vitalList.add(vital);
+                }
+                pushEMRDTO.setVitalList(vitalList);
+            }
+        }
         if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Lis.getKey()))) {
             List<FeatureRate> lisFeatures = data.getLabs();
             if (lisFeatures.size() > 0) {

+ 4 - 2
icss-service/src/main/java/com/diagbot/vo/EMRPushVO.java

@@ -4,6 +4,8 @@ import lombok.Getter;
 import lombok.Setter;
 
 import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
 
 /**
  * @Description:
@@ -12,7 +14,7 @@ import javax.validation.constraints.NotBlank;
  */
 @Getter
 @Setter
-public class EMRPushVO extends PushVO {
+public class EMRPushVO extends PushBaseVO {
     @NotBlank(message = "请输入医院编码")
     private String hosCode;
-}
+}

+ 31 - 0
icss-service/src/main/java/com/diagbot/vo/PushBaseVO.java

@@ -0,0 +1,31 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description: 推理参数
+ * @Author:zhaops
+ * @time: 2019/4/17 14:42
+ */
+@Getter
+@Setter
+public class PushBaseVO {
+    @NotNull(message = "请输入年龄")
+    private Integer age;
+    @NotNull(message = "请输入性别")
+    private Integer sex;
+    @NotBlank(message = "请输入推送类型")
+    private String featureType;
+    private String symptom;
+    private String diag;
+    private String vital;
+    private List<LisResultVO> lis;
+    private String pacs;
+    private String past;
+    private String other;
+}

+ 1 - 18
icss-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -3,10 +3,6 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
 /**
  * @Description:
  * @Author:zhaops
@@ -14,19 +10,6 @@ import java.util.List;
  */
 @Getter
 @Setter
-public class PushVO {
-    @NotNull(message = "请输入年龄")
-    private Integer age;
-    @NotNull(message = "请输入性别")
-    private Integer sex;
-    @NotBlank(message = "请输入推送类型")
-    private String featureType;
-    private String symptom;
-    private String diag;
-    private String vital;
-    private List<LisResultVO> lis;
-    private String pacs;
-    private String past;
-    private String other;
+public class PushVO  extends PushBaseVO{
     private Long diseaseId;
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/web/EMRController.java

@@ -67,7 +67,7 @@ public class EMRController {
                     "lis:source:数据来源(必填)0-内部来源,1-外部来源,Integer<br>" +
                     "pacs:辅检,String<br>" +
                     "diag:诊断,String<br>" +
-                    "featureType:类型(多选必填),5:检验,6:检查,7:诊断,String<br>")
+                    "featureType:类型(多选必填),1:症状,4:查体,5:检验,6:检查,7:诊断,String<br>")
     @PostMapping("/pushEMR")
     @SysLogger("pushEMR")
     public RespDTO<PushEMRDTO> pushEMR(@RequestBody @Valid EMRPushVO emrPushVO) {