Browse Source

入院记录crf

chengyao 4 years ago
parent
commit
c4a36b0c5f

+ 1 - 1
config-center/src/main/resources/shared/structureCenter-dev.yml

@@ -3,7 +3,7 @@ swagger.des: 数据后结构化服务
 swagger.version: 0.0.1-SNAPSHOT
 
 CRF:
-  url: http://192.168.2.234:1111/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3457/api/mr_info_ex/entity_predict
 
 Similarity:
   url: http://192.168.2.234:3456/api/mr_info_ex/similarity

+ 1 - 1
config-center/src/main/resources/shared/structureCenter-local.yml

@@ -3,7 +3,7 @@ swagger.des: 数据后结构化服务
 swagger.version: 0.0.1-SNAPSHOT
 
 CRF:
-  url: http://192.168.2.234:1111/api/mr_info_ex/entity_predict
+  url: http://192.168.2.234:3457/api/mr_info_ex/entity_predict
 
 Similarity:
   url: http://192.168.2.234:3456/api/mr_info_ex/similarity

+ 43 - 10
structure-center/src/main/java/com/lantone/structure/ai/BeHospitalizedAI.java

@@ -2,6 +2,7 @@ package com.lantone.structure.ai;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.lantone.structure.ai.process.*;
 import com.lantone.structure.client.CRFServiceClient;
 import com.lantone.structure.ai.process.EntityProcessClinic;
 import com.lantone.structure.ai.process.EntityProcessDiag;
@@ -20,21 +21,14 @@ import com.lantone.structure.model.entity.Diag;
 import com.lantone.structure.model.entity.Lis;
 import com.lantone.structure.model.entity.Pacs;
 import com.lantone.structure.model.entity.Vital;
-import com.lantone.structure.model.label.ChiefLabel;
-import com.lantone.structure.model.label.DiagLabel;
-import com.lantone.structure.model.label.FamilyLabel;
-import com.lantone.structure.model.label.MaritalLabel;
-import com.lantone.structure.model.label.MenstrualLabel;
-import com.lantone.structure.model.label.PacsLabel;
-import com.lantone.structure.model.label.PastLabel;
-import com.lantone.structure.model.label.PersonalLabel;
-import com.lantone.structure.model.label.PresentLabel;
+import com.lantone.structure.model.label.*;
 import com.lantone.common.util.FastJsonUtils;
 import com.lantone.common.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName : InHospitalDoc
@@ -56,7 +50,7 @@ public class BeHospitalizedAI extends ModelAI {
      * DiagnoseInAssistant[辅助检查]
      */
     public static List<String> medicalTextType = Arrays.asList("FirstCourseRecord_cx", "PastFamily_cx", "PersonalHistory_cx", "HPIForCX_cx",
-            "GeneralVital_cx", "chief_present", "Diagnoses_cx", "Present_cx", "DiagnoseInAssistant");
+            "GeneralVital_cx", "chief_present", "Diagnoses_cx", "Present_cx", "DiagnoseInAssistant","Taizhou_past_family");
     public static String entityRelationObject = "entity_relation_object";
     public static String outputs = "outputs";
 
@@ -64,6 +58,16 @@ public class BeHospitalizedAI extends ModelAI {
         JSONArray crfContent = new JSONArray();
         BeHospitalizedDoc beHospitalizedDoc = inputInfo.getBeHospitalizedDoc();
         if (beHospitalizedDoc != null) {
+            Map<String, String> structureMap = beHospitalizedDoc.getStructureMap();
+           // String text = beHospitalizedDoc.getText();
+            if (StringUtil.isNotEmpty(structureMap.get("既往史"))) {
+                String opName = "既往史:" + structureMap.get("既往史");
+                putContent(crfContent, medicalTextType.get(9), opName, Content.pastLabel);
+            }
+            if (StringUtil.isNotEmpty(structureMap.get("家族史"))) {
+                String opName = "家族史:" + structureMap.get("家族史");
+                putContent(crfContent, medicalTextType.get(9), opName, Content.familyLabel);
+            }
             /* 主诉 */
             if (beHospitalizedDoc.getChiefLabel() != null && beHospitalizedDoc.getChiefLabel().isCrfLabel()) {
                 String chiefText = beHospitalizedDoc.getChiefLabel().getText();
@@ -147,6 +151,22 @@ public class BeHospitalizedAI extends ModelAI {
             }
 
             JSONObject midData = loadAI(crfContent, crfServiceClient);
+            if (midData.get(Content.pastLabel) != null || midData.get(Content.familyLabel) != null){
+                BeHospitalizedDoc beHospitalizedDocs = new BeHospitalizedDoc();
+                /* 恩泽过敏史、输血史、手术史、预防接种史、疾病史(含外伤)*/
+                if (midData.get(Content.pastLabel) != null)
+                    EZAllCrfData(midData.getJSONObject(Content.pastLabel), inputInfo);
+                     beHospitalizedDocs = inputInfo.getBeHospitalizedDoc();
+                /* 恩泽传染病史 */
+                if (midData.get(Content.familyLabel) != null) {
+                    EZAllCrfData(midData.getJSONObject(Content.familyLabel), inputInfo);
+                    FamilyLabel familyLabel = inputInfo.getBeHospitalizedDoc().getFamilyLabel();
+                    if(familyLabel != null){
+                        beHospitalizedDocs.setFamilyLabel(familyLabel);
+                    }
+                    inputInfo.setBeHospitalizedDoc(beHospitalizedDocs);
+                }
+            }
 
             /* 处理主诉 */
             if (beHospitalizedDoc.getChiefLabel() != null && beHospitalizedDoc.getChiefLabel().isCrfLabel()) {
@@ -222,6 +242,19 @@ public class BeHospitalizedAI extends ModelAI {
         System.out.println(FastJsonUtils.getBeanToJson(chiefLabel));
     }
 
+         public void EZAllCrfData(JSONObject jsonObject, InputInfo inputInfo) {
+        if (jsonObject == null) {
+            return;
+        }
+        JSONObject aiOut = jsonObject.getJSONObject(entityRelationObject).getJSONObject(BeHospitalizedAI.outputs);
+        if (aiOut == null) {
+            return;
+        }
+             EntityProcessEZaAll entityProcessEZaAll = new EntityProcessEZaAll();
+             BeHospitalizedDoc beHospitalizedDoc = entityProcessEZaAll.extractEntity(aiOut);
+             inputInfo.setBeHospitalizedDoc(beHospitalizedDoc);
+         }
+
     public void putPresentCrfData(JSONObject jsonObject, InputInfo inputInfo) {
         if (jsonObject == null) {
             return;

+ 3 - 4
structure-center/src/main/java/com/lantone/structure/ai/ThreeLevelWardAI.java

@@ -48,10 +48,9 @@ public class ThreeLevelWardAI extends ModelAI {
         List<ThreeLevelWardDoc> threeLevelWardDocs = inputInfo.getThreeLevelWardDocs();
         //  "============恩泽医嘱crf单独处理================="
         if (ListUtil.isNotEmpty(threeLevelWardDocs) && StringUtil.isNotEmpty(threeLevelWardDocs.get(0).getText())) {
-            Map<String, String> structureMap = threeLevelWardDocs.get(0).getStructureMap();
-            if (StringUtil.isNotEmpty(structureMap.get("诊疗计划"))) {
-            String content = structureMap.get("诊疗计划");
-            putContent(crfContent, medicalTextType.get(3), content, Content.wardRecord);
+            String text = threeLevelWardDocs.get(0).getText();
+            if (StringUtil.isNotEmpty(text)){
+            putContent(crfContent, medicalTextType.get(3), text, Content.wardRecord);
 
             JSONObject midData = loadAI(crfContent, crfServiceClient);//crf返回数据
             for (int i = 0; i < threeLevelWardDocs.size(); i++) {

+ 160 - 0
structure-center/src/main/java/com/lantone/structure/ai/process/EntityProcessEZaAll.java

@@ -0,0 +1,160 @@
+package com.lantone.structure.ai.process;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.lantone.common.util.ListUtil;
+import com.lantone.structure.ai.model.EntityEnum;
+import com.lantone.structure.ai.model.Lemma;
+import com.lantone.structure.model.doc.BeHospitalizedDoc;
+import com.lantone.structure.model.entity.*;
+import com.lantone.structure.model.label.FamilyLabel;
+import com.lantone.structure.model.label.PastLabel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 恩泽过敏史、输血史、手术史、预防接种史、疾病史(含外伤)、传染病史
+ */
+public class EntityProcessEZaAll extends EntityProcess {
+    private Logger logger = LoggerFactory.getLogger(EntityProcessEZaAll.class);
+
+    public BeHospitalizedDoc extractEntity(JSONObject aiOut) {
+        BeHospitalizedDoc beHospitalizedDoc = new BeHospitalizedDoc();
+        PastLabel pastLabel= new PastLabel();
+        FamilyLabel familyLabel = new FamilyLabel();
+        List<BloodTransfusion> bloodTransfusions = new ArrayList<>();//输血史
+        List<Vaccinate> vaccinates = new ArrayList<>();//预防接种史
+        List<Diag> diags = new ArrayList<>();//疾病史
+        List<Allergy> allergies = new ArrayList<>();//过敏史
+        List<Operation> operations = new ArrayList<>();//手术史
+        List<DiagInfectious> diagInfectiouses = new ArrayList<>();//传染病史
+
+        try {
+            //输血史-
+            List<Lemma> bloods = createEntityTree(aiOut, EntityEnum.BLOOD_TRANSFUSION.toString());
+            for (Lemma lemma : bloods) {
+                BloodTransfusion bloodTransfusion = new BloodTransfusion();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        text= property+text;
+                    }
+                }
+                bloodTransfusion.setName(text);
+                bloodTransfusions.add(bloodTransfusion);
+            }
+            //预防接种史-
+            List<Lemma> vaccinateList = createEntityTree(aiOut, EntityEnum.VACCINATION.toString());
+            for (Lemma lemma : vaccinateList) {
+                Vaccinate vaccinate = new Vaccinate();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        text= property+text;
+                    }
+                }
+                vaccinate.setName(text);
+                vaccinates.add(vaccinate);
+            }
+
+
+            //疾病史
+            List<Lemma> diagList = createEntityTree(aiOut, EntityEnum.DISEASE_KEYWORD.toString());
+            for (Lemma lemma : diagList) {
+                Diag diag = new Diag();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        text= property+text;
+                    }
+                }
+                diag.setName(text);
+                diags.add(diag);
+            }
+            //外伤史-
+            List<Lemma> woundList = createEntityTree(aiOut, EntityEnum.INJURY.toString());
+            for (Lemma lemma : woundList) {
+                Diag diag = new Diag();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        text= property+text;
+                    }
+                }
+                diag.setName(text);
+                diags.add(diag);
+            }
+
+            //过敏史-药物过敏原表现为使用后皮疹
+            List<Lemma> allergieList = createEntityTree(aiOut, EntityEnum.ALLERGY_SYMPTOM.toString());
+            for (Lemma lemma : allergieList) {
+                Allergy allergy = new Allergy();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        System.out.println("property = " + property);
+                        text= property+text;
+                    }
+                }
+                allergy.setName(text);
+                allergies.add(allergy);
+            }
+
+            //手术史
+            List<Lemma> operationList = createEntityTree(aiOut, EntityEnum.OPERATION.toString());
+            for (Lemma lemma : operationList) {
+                Operation operation = new Operation();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        text= property+text;
+                    }
+                }
+                operation.setName(text);
+                operations.add(operation);
+            }
+
+            //传染病史
+            List<Lemma> diagInfectiouList = createEntityTree(aiOut, EntityEnum.INFECTIOUS_KEYWORD.toString());
+            for (Lemma lemma : diagInfectiouList) {
+                DiagInfectious diagInfectious = new DiagInfectious();
+                String text = lemma.getText();
+                if(ListUtil.isNotEmpty(lemma.getRelationLemmas())){
+                    List<Lemma> relationLemmas = lemma.getRelationLemmas();
+                    if(relationLemmas.size()==1){
+                        String property = relationLemmas.get(0).getProperty();
+                        text= property+text;
+                    }
+                }
+                diagInfectious.setName(text);
+                diagInfectiouses.add(diagInfectious);
+            }
+            pastLabel.setBloodTransfusions(bloodTransfusions);
+            pastLabel.setVaccinates(vaccinates);
+            pastLabel.setDiags(diags);
+            pastLabel.setOperations(operations);
+            pastLabel.setAllergies(allergies);
+            pastLabel.setDiagInfectiouses(diagInfectiouses);
+            beHospitalizedDoc.setPastLabel(pastLabel);
+        }     catch (Exception e) {
+        e.printStackTrace();
+        logger.error(e.getMessage(), e);
+    }
+        return beHospitalizedDoc;
+    }
+}

+ 22 - 5
structure-center/src/main/java/com/lantone/structure/ai/process/EntityProcessThreeLevelWard.java

@@ -8,6 +8,8 @@ import com.lantone.structure.model.entity.*;
 import com.lantone.structure.model.label.ThreeLevelWardLabel;
 import com.lantone.common.util.StringUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -29,15 +31,30 @@ public class EntityProcessThreeLevelWard extends EntityProcess {
             EntityEnum.TITLE_FOR_DIAG_BASIS.toString(),
             EntityEnum.TITLE_FOR_DIFF.toString(),
             EntityEnum.TITLE_FOR_TREAT.toString());
+    private Logger logger = LoggerFactory.getLogger(EntityProcessThreeLevelWard.class);
 
     public ThreeLevelWardLabel extractEntityLate(JSONObject aiOut) {
         ThreeLevelWardLabel threeLevelWardLabel = new ThreeLevelWardLabel();
-            //医嘱内容
-            List<Lemma> lemma = createEntityTree(aiOut, EntityEnum.DOCTORADVICE_RECORD.toString());
-            if(ListUtil.isNotEmpty(lemma)){
-                threeLevelWardLabel.setDoctorAdviceRecord(lemma.get(0).getText());
+        //医嘱信息
+        StringBuffer sb = new StringBuffer();
+        int doctorAdvice = 0;
+        List<Lemma> doctorAdviceRecord = null;
+        try {
+            doctorAdviceRecord = createEntityTree(aiOut, EntityEnum.DOCTORADVICE_RECORD.toString());
+            for (Lemma lemma : doctorAdviceRecord) {
+                doctorAdvice++;
+                if(doctorAdviceRecord.size()>1){
+                    sb.append(doctorAdvice+lemma.getText()+" ");
+                }else{
+                    sb.append(lemma.getText());
+                }
             }
-        return threeLevelWardLabel;
+            threeLevelWardLabel.setDoctorAdviceRecord(sb.toString());
+        } catch (Exception e) {
+            e.printStackTrace();
+            logger.error(e.getMessage(), e);
+        }
+            return threeLevelWardLabel;
     }
 
     public ThreeLevelWardLabel extractEntity(JSONObject aiOut) {

+ 7 - 7
structure-center/src/main/java/com/lantone/structure/facade/StructureFacade.java

@@ -44,9 +44,9 @@ public class StructureFacade {
             case "出院小结":
                 targetTran = new LeaveHospitalTran();
                 break;
-            case "术前小结":
+          /*  case "术前小结":
                 targetTran = new PreoperativeDiscussionTran();
-                break;
+                break;*/
             case "转科记录":
                 targetTran = new TransferRecordTran();
                 break;
@@ -56,7 +56,7 @@ public class StructureFacade {
             case "疑难病例讨论记录":
                 targetTran = new DifficultCaseDiscussTran();
                 break;
-          /*  case "上级医师查房记录":
+           /* case "上级医师查房记录":
                 targetTran = new ThreeLevelWardTran();
                 break;*/
            /* case "入院记录":
@@ -92,15 +92,15 @@ public class StructureFacade {
             case "一般手术记录":
                 targetTran = new OperationRecordDocTran();
                 break;
-            case "术前讨论":
+           /* case "术前讨论":
                 targetTran = new PreoperativeDiscussionTran();
-                break;
-            case "术后首次病程记录":
+                break;*/
+          /*  case "术后首次病程记录":
                 targetTran = new OperationDiscussionTran();
                 break;
             case "日常病程记录":
                 targetTran = new DailyCourseRecordTran();
-                break;
+                break;*/
             default:
                 break;
         }

+ 65 - 3
structure-center/src/main/java/com/lantone/structure/facade/tran/BeHospitalizedTran.java

@@ -2,9 +2,12 @@ package com.lantone.structure.facade.tran;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.lantone.common.util.ListUtil;
 import com.lantone.common.util.StringUtil;
 import com.lantone.structure.facade.tran.util.CommonAnalysisUtil;
 import com.lantone.structure.model.doc.BeHospitalizedDoc;
+import com.lantone.structure.model.entity.*;
+import com.lantone.structure.model.label.PastLabel;
 import com.lantone.structure.util.MapUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.time.DateUtils;
@@ -28,8 +31,11 @@ public class BeHospitalizedTran extends TargetTran {
         Map<String, String> structureMap = cutWord(text);
         Map<String, String> retMap = new HashMap<String, String>();
         beHospitalContrast(inputInfo.getBeHospitalizedDoc(), structureMap);
+        inputInfo.getBeHospitalizedDoc().setStructureMap(structureMap);
         mapKeyContrastCommon(structureMap,stagesContrasts,retMap);
-        return retMap;
+        aiProcess();
+        lastSovle(inputInfo.getBeHospitalizedDoc(),structureMap);
+        return structureMap;
     }
 
     private Map<String, String> cutWord(String text) {
@@ -39,10 +45,9 @@ public class BeHospitalizedTran extends TargetTran {
                 text
         );
         CommonAnalysisUtil.cutByTitles(text, titles, 0, sourceMap);
-        if(sourceMap.containsKey("记录时间") || sourceMap.containsKey("既往史") || sourceMap.containsKey("肺脏")
+        if(sourceMap.containsKey("记录时间") || sourceMap.containsKey("肺脏")
                 || sourceMap.containsKey("其    他") || sourceMap.containsKey("流行病史")|| sourceMap.containsKey("流行病学史") || sourceMap.containsKey("出生地")|| sourceMap.containsKey("既往")){
             sourceMap.remove("记录时间");
-            sourceMap.remove("既往史");
             sourceMap.remove("既往");
             sourceMap.remove("肺脏");
             sourceMap.remove("其    他");
@@ -808,6 +813,63 @@ public class BeHospitalizedTran extends TargetTran {
             }
         }
     }
+
+    public static void lastSovle(BeHospitalizedDoc beHospitalizedDoc , Map<String,String> rep) {
+        if( beHospitalizedDoc !=null && beHospitalizedDoc.getPastLabel() != null){
+            PastLabel pastLabel = beHospitalizedDoc.getPastLabel();
+            if(pastLabel != null && ListUtil.isNotEmpty(pastLabel.getBloodTransfusions())){
+                //输血史
+                List<BloodTransfusion> bloodTransfusions = pastLabel.getBloodTransfusions();
+                commomRecord(bloodTransfusions,rep,"输血史");
+
+                //过敏史
+                List<Allergy> allergies = pastLabel.getAllergies();
+                commomRecord(allergies,rep,"过敏史");
+
+                //手术史
+                List<Operation> operations = pastLabel.getOperations();
+                commomRecord(operations,rep,"手术史");
+
+                //传染病史
+                List<DiagInfectious> diagInfectiouses = pastLabel.getDiagInfectiouses();
+                commomRecord(diagInfectiouses,rep,"传染病史");
+
+                //疾病史
+                List<Diag> diags= pastLabel.getDiags();
+                commomRecord(diags,rep,"疾病史");
+            }
+        }
+    }
+
+    public static <T> void commomRecord(List<T> list, Map<String, String> rep,String rocordName){
+        try {
+            if(ListUtil.isNotEmpty(list)){
+                if(list.size()>1){
+                    StringBuffer sb = new StringBuffer();
+                    int count = 0;
+                    for (T bean : list) {
+                        count++;
+                        Map<String, Object> objectMap = MapUtil.objectToMap(bean);
+                        String name = (String) objectMap.get("name");
+                        if( StringUtil.isNotEmpty(name)){
+                            sb.append(count+"."+name);
+                        }
+                        if(StringUtil.isNotEmpty(sb.toString())){
+                            rep.put(rocordName,sb.toString());
+                        }
+                     }
+                }else{
+                    Map<String, Object> objectMap = MapUtil.objectToMap((list.get(0)));
+                    String name = (String) objectMap.get("name");
+                    if(StringUtil.isNotEmpty(name)){
+                        rep.put(rocordName,name);
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
     public static void mapKeyContrastCommon(Map sourceMap, List<String> keyContrasts, Map<String, String> retMap) {
         Map<String, String> sourceMap_ = MapUtil.copyMap(sourceMap);
         String[] arry = null;

+ 0 - 1
structure-center/src/main/java/com/lantone/structure/facade/tran/DailyCourseRecordTran.java

@@ -50,7 +50,6 @@ public class DailyCourseRecordTran extends TargetTran {
         if(StringUtil.isNotEmpty(signName)){
             retMap.put("医师签名",signName);
         }
-
     }
 
     public static void lastSovle(List<DailyCourseRecordDoc> dailyCourseRecordDocs , Map<String,String> rep) {

+ 3 - 2
structure-center/src/main/java/com/lantone/structure/facade/tran/ThreeLevelWardTran.java

@@ -39,13 +39,14 @@ public class ThreeLevelWardTran extends TargetTran {
     private Map<String, String> cutWord(String text) {
         Map<String, String> sourceMap = Maps.newHashMap();
         List<String> titles = CommonAnalysisUtil.sortTitles(
-                Lists.newArrayList("鉴别诊断","诊疗计划","补充诊断"),
+                Lists.newArrayList("鉴别诊断","诊疗计划","补充诊断","注意事项"),
                 text
         );
         CommonAnalysisUtil.cutByTitles(text, titles, 0, sourceMap);
-        if(sourceMap.containsKey("鉴别诊断") || sourceMap.containsKey("补充诊断")){
+        if(sourceMap.containsKey("鉴别诊断") || sourceMap.containsKey("补充诊断")|| sourceMap.containsKey("注意事项")){
             sourceMap.remove("鉴别诊断");
             sourceMap.remove("补充诊断");
+            sourceMap.remove("注意事项");
         }
         return sourceMap;
     }

+ 2 - 0
structure-center/src/main/java/com/lantone/structure/model/Content.java

@@ -252,6 +252,8 @@ public class Content {
     public static final String timestamp = "timestamp";
     public static final String  preoperativeDiscussion = "过敏、禁忌症";
     public static final String  surgicalSite = "手术目标部位";
+    public static final String  pastLabel = "既往史";
+    public static final String  familyLabel = "家族史";
     public static final String  doctorAdviceRecord = "医嘱内容";
     public static final String bloodRecord = "输血记录";
     public static final String stagesSummary = "阶段小结";