zhoutg 4 rokov pred
rodič
commit
a9015f5f3b

+ 17 - 7
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -1,11 +1,22 @@
 package com.diagbot.facade;
 
-import com.diagbot.dto.*;
+import com.diagbot.dto.BillNeoDTO;
+import com.diagbot.dto.DrugBillNeoDTO;
+import com.diagbot.dto.LisBillNeoDTO;
+import com.diagbot.dto.PacsBillNeoDTO;
+import com.diagbot.dto.PushDTO;
 import com.diagbot.entity.node.Disease;
 import com.diagbot.entity.node.LIS;
 import com.diagbot.entity.node.Medicine;
 import com.diagbot.entity.node.PACS;
-import com.diagbot.repository.*;
+import com.diagbot.repository.DiseaseNode;
+import com.diagbot.repository.DiseaseRepository;
+import com.diagbot.repository.LISNode;
+import com.diagbot.repository.LisRepository;
+import com.diagbot.repository.MedicineNode;
+import com.diagbot.repository.MedicineRepository;
+import com.diagbot.repository.PACSNode;
+import com.diagbot.repository.PacsRepository;
 import com.diagbot.vo.BillNeoVO;
 import com.diagbot.vo.PushNeoVO;
 import com.diagbot.vo.StandConvert;
@@ -16,7 +27,6 @@ import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -56,8 +66,8 @@ public class NeoFacade {
      *
      * @return
      */
-    public Map<String, Object> getInverse(PushNeoVO pushNeoVO) {
-        Map<String, Object> map = getDiag(pushNeoVO.getDiags());
+    public Map<String, PushDTO> getInverse(PushNeoVO pushNeoVO) {
+        Map<String, PushDTO> map = getDiag(pushNeoVO.getDiags());
 
         return map;
     }
@@ -192,9 +202,9 @@ public class NeoFacade {
     }
 
 
-    public Map<String, Object> getDiag(List<String> diaglist) {
+    public Map<String, PushDTO> getDiag(List<String> diaglist) {
 
-        Map<String, Object> pushDTOs = new HashMap<>();
+        Map<String, PushDTO> pushDTOs = new HashMap<>();
         PushDTO pushDTO;
 
         DiseaseNode diseaseNode = new DiseaseNode();

+ 1 - 1
src/main/java/com/diagbot/facade/PushFacade.java

@@ -53,7 +53,7 @@ public class PushFacade {
             pushNeoVO.setSex(pushVo.getSex());
             pushNeoVO.setAge(pushVo.getAge());
             pushNeoVO.setDiags(diags);
-            Map<String, Object> map = neoFacade.getInverse(pushNeoVO);
+            Map<String, PushDTO> map = neoFacade.getInverse(pushNeoVO);
             if (ruleTypeList.contains("5")) {
                 // TODO 存放化验
             }

+ 27 - 0
src/main/java/com/diagbot/model/ai/BeHospitalizedAI.java

@@ -245,6 +245,10 @@ public class BeHospitalizedAI extends ModelAI {
             if (wordCrfDTO.getDiagLabel() != null) {
                 putInitialDiagCrfData(midData.getJSONObject(Content.initial_diag), wordCrfDTO);
             }
+            // 查体数据
+            // if (wordCrfDTO.getVitalLabel() != null) {
+            //     putInitialVitalCrfData(midData.getJSONObject(Content.phys_exam), wordCrfDTO);
+            // }
              /*//处理修正诊断
             if (beHospitalizedDoc.getRevisedDiagLabel() != null && beHospitalizedDoc.getRevisedDiagLabel().isCrfLabel()) {
                 putRevisedDiagCrfData(midData.getJSONObject(Content.revised_diag), inputInfo);
@@ -562,4 +566,27 @@ public class BeHospitalizedAI extends ModelAI {
         }
         return concatMenstrual;
     }
+
+    /*
+     * 初步诊断信息提取
+     *
+     * @param jsonObject
+     * @param inputInfo
+     */
+    public void putInitialVitalCrfData(JSONObject jsonObject, WordCrfDTO wordCrfDTO) {
+        if (jsonObject == null) {
+            return;
+        }
+        JSONObject aiOut = jsonObject.getJSONObject(entityRelationObject).getJSONObject(BeHospitalizedAI.outputs);
+        if (aiOut == null) {
+            return;
+        }
+
+        //一般情况描述信息
+        EntityProcessVital entityProcessVital = new EntityProcessVital();
+        List<Vital> vitals = entityProcessVital.extractEntity(aiOut);
+        VitalLabel vitalLabel = new VitalLabel();
+        vitalLabel.setVitals(vitals);
+        wordCrfDTO.setVitalLabel(vitalLabel);
+    }
 }

+ 9 - 3
src/main/java/com/diagbot/model/ai/process/EntityProcessVital.java

@@ -3,6 +3,7 @@ package com.diagbot.model.ai.process;
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.model.ai.model.EntityEnum;
 import com.diagbot.model.entity.*;
+import com.diagbot.util.StringUtil;
 import org.apache.commons.lang3.StringUtils;
 
 import java.util.ArrayList;
@@ -36,9 +37,14 @@ public class EntityProcessVital extends EntityProcess {
                         vital.setBodyPart(bodyPart);
                         break;
                     case INDEX_VALUE:
-                        vital.setValue(StringUtils.isEmpty(entity)?"":entity);
-                        PD pd =new PD();
-                        pd.setValue(StringUtils.isEmpty(entity)?"":entity);
+                        PD pd = new PD();
+                        String[] val_unit = new String[2];
+                        if (StringUtil.isNotBlank(entity)) {
+                            val_unit = extract_digit(entity);
+                            pd.setValue(val_unit[0]);
+                            pd.setUnit(val_unit[1]);
+                        }
+                        pd.setName(entity);
                         vital.setPd(pd);
                         break;
                     case MODIFICATION: