Selaa lähdekoodia

可编辑字段对应,结构化数据

wangsy 9 kuukautta sitten
vanhempi
commit
cb55abfeeb

+ 9 - 1
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfBeHospitalizedDocTrans.java

@@ -227,10 +227,18 @@ public class ShaoyfBeHospitalizedDocTrans extends ModelDocTrans {
             "cranialNerve=颅神经",
             "feeling=感觉",
             "sports=运动",
+            "reflection=反射",
             "pathologicalSign=病理征",
             "meningealSign=脑膜刺激征",
             "nerveOthers=颅神经其它",
-            "revisedDoctor=修正医生签名"
+            "revisedDoctor=修正医生签名",
+            "externalMedication=外院用药",
+            "anticoagulantMedication=抗凝药物情况",
+            "allergyHistory=过敏史",
+            "ancillaryOthers=其他辅助检查",
+            "anorectal=肛门直肠",
+            "externalGenitalia=外生殖器"
+
     );
 
     /**

+ 47 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfClinicalBloodDocTrans.java

@@ -4,9 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.ClinicalBloodDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -29,17 +32,57 @@ public class ShaoyfClinicalBloodDocTrans extends ModelDocTrans {
 
     private ClinicalBloodDoc getClinicalBloodDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "344");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"startTime","输注开始");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","记录时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"endTime","输注结束");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, clinicalBlood_consultationRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         ClinicalBloodDoc clinicalBloodDoc = new ClinicalBloodDoc();
         clinicalBloodDoc.setStructureMap(structureMap);
         clinicalBloodDoc.setPageData((Map) structureMap);
         return clinicalBloodDoc;
     }
 
+    private List<String> clinicalBlood_consultationRecord_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "transfusionReason=输注原因",
+            "transfusionType=输血成分及数量",
+            "transfusionProcess=输注过程(反应)",
+            "recDoctor=记录医师",
+            "auditDoctor=审核人",
+            "preventiveMeasures=输血前预防输血反应措施",
+            "vitalSigns=输血后生命体征变化",
+            "transfusionEffectiveness=输注后效果评价",
+            "transfusionEfficacy=输血疗效"
+
+
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "开始时间=输注开始",
             "医生=记录医师",

+ 133 - 18
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfConsultationDocTrans.java

@@ -9,12 +9,15 @@ import com.lantone.qc.pub.model.doc.consultation.ConsultationDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationRecordDoc;
 import com.lantone.qc.pub.model.doc.consultation.ConsultationResultsDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -87,16 +90,42 @@ public class ShaoyfConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationRecordDoc getConsultationRecordDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationRecord_keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "300");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"leaveHospitalDate","出院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","签名时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"patientSignDate","患者或家属签字时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+           structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationRecord_keyContrasts);
+        }
         ConsultationRecordDoc consultationRecordDoc = new ConsultationRecordDoc();
         consultationRecordDoc.setStructureMap(structureMap);
         consultationRecordDoc.setPageData((Map) structureMap);
         return consultationRecordDoc;
     }
+    // 会诊记录映射字段
+    private List<String> consultationRecord_keyContrastParseds = Lists.newArrayList(
+            "事件日期=记录时间",
+            "医生=记录医师",
+            "临床科室=申请科室",
+            "会诊执行情况=会诊情况"
+    );
 
     // 会诊记录映射字段
     private List<String> consultationRecord_keyContrasts = Lists.newArrayList(
@@ -130,22 +159,64 @@ public class ShaoyfConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationResultsDoc getConsultationResultsDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationResults_keyContrasts);
-
-        MapUtil.keyAssig(structureMap, "申请科室", "临床科室");
-        if (contentMap.get("recTitle").toString().equals("外请会诊回复单")) {
-            MapUtil.keyAssig(structureMap, "会诊科室", "会诊医生");
-            MapUtil.keyAssig(structureMap, "申请医生", "医师签名");
-            MapUtil.keyAssig(structureMap, "申请日期", "事件日期");
+
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "329");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","会诊日期及时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"applyDate","申请日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"consultationArriveDate","会诊到达时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consulconsultationResults_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationResults_keyContrasts);
+
+            MapUtil.keyAssig(structureMap, "申请科室", "临床科室");
+            if (contentMap.get("recTitle").toString().equals("外请会诊回复单")) {
+                MapUtil.keyAssig(structureMap, "会诊科室", "会诊医生");
+                MapUtil.keyAssig(structureMap, "申请医生", "医师签名");
+                MapUtil.keyAssig(structureMap, "申请日期", "事件日期");
+            }
         }
         ConsultationResultsDoc consultationResultsDoc = new ConsultationResultsDoc();
         consultationResultsDoc.setStructureMap(structureMap);
         consultationResultsDoc.setPageData((Map) structureMap);
         return consultationResultsDoc;
     }
+    // 会诊结果映射字段
+    private List<String> consulconsultationResults_keyContrastParseds = Lists.newArrayList(
+            "hospitalId=医院ID",
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "applyDept=申请科室",
+            "applyDoctor=申请医生",
+            "inviteType=会诊类别",
+            "inviteDept=会诊科室",
+            "inviteDoctor=会诊医生",
+            "currentDiagnosis=当前诊断",
+            "consultationPurpose=会诊目的",
+            "consultationOpinions=会诊意见",
+            "recDoctor=医师签名",
+            "auditDoctor=审核医生",
+            "note=注意事项"
+    );
 
     // 会诊结果映射字段
     private List<String> consultationResults_keyContrasts = Lists.newArrayList(
@@ -185,11 +256,30 @@ public class ShaoyfConsultationDocTrans extends ModelDocTrans {
 
     private ConsultationApplicationDoc getConsultationApplicationDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationApplication_keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "300");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"applyDate","申请日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","记录时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"consultationDate","会诊日期及时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationApplication_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+           structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, consultationApplication_keyContrasts);
+        }
         if (structureMap.get("会诊医生") != null) {
             String ra = structureMap.get("会诊医生").replaceAll("&amp;nbsp;", "");
             structureMap.put("会诊医生", ra);
@@ -201,6 +291,31 @@ public class ShaoyfConsultationDocTrans extends ModelDocTrans {
         return consultationApplicationDoc;
     }
 
+    // 会诊申请单映射字段
+    private List<String> consultationApplication_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "applyDept=申请科室",
+            "applyDoctor=医生",
+            "inviteType=会诊分类",
+            "inviteDept=会诊科室",
+            "inviteDoctor=会诊医生",
+            "briefNote=简要病情",
+            "diagnosis=当前诊断",
+            "treatmentSituation=诊治经过",
+            "consultationPurpose=申请理由目的",
+            "consultationOpinions=会诊意见",
+            "recDoctor=医生",
+            "auditDoctor=审核医生",
+            "notes=注意事项"
+
+    );
+
     // 会诊申请单映射字段
     private List<String> consultationApplication_keyContrasts = Lists.newArrayList(
             "事件日期=申请日期",

+ 40 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfCrisisValueReportDocTrans.java

@@ -4,9 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.CrisisValueReportDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -29,11 +32,29 @@ public class ShaoyfCrisisValueReportDocTrans extends ModelDocTrans {
 
     private CrisisValueReportDoc getCrisisValueReportDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "341");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recieveDate","接收时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","记录日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, crisisValueReport_consultationRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         CrisisValueReportDoc crisisValueReportDoc = new CrisisValueReportDoc();
         crisisValueReportDoc.setStructureMap(structureMap);
         crisisValueReportDoc.setPageData((Map) structureMap);
@@ -41,6 +62,21 @@ public class ShaoyfCrisisValueReportDocTrans extends ModelDocTrans {
         return crisisValueReportDoc;
     }
 
+    private List<String> crisisValueReport_consultationRecord_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "crisisNote=危急值记录内容",
+            "briefNote=内容",
+            "recDoctor=医生",
+            "auditDoctor=审核人"
+
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "本人姓名=姓名",
             "危急=危急值记录内容",

+ 40 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfCriticallyIllNoticeDocTrans.java

@@ -4,9 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.CriticallyIllNoticeDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -29,11 +32,28 @@ public class ShaoyfCriticallyIllNoticeDocTrans extends ModelDocTrans {
 
     private CriticallyIllNoticeDoc getCriticallyIllNoticeDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "347");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","记录日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"doctorSignDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"patientSignDate","患者或家属签名时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, criticallyIllNotice_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         CriticallyIllNoticeDoc criticallyIllNoticeDoc = new CriticallyIllNoticeDoc();
         criticallyIllNoticeDoc.setStructureMap(structureMap);
         criticallyIllNoticeDoc.setPageData((Map) structureMap);
@@ -41,6 +61,22 @@ public class ShaoyfCriticallyIllNoticeDocTrans extends ModelDocTrans {
         return criticallyIllNoticeDoc;
     }
 
+    private List<String> criticallyIllNotice_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=临床科室",
+            "recTitle=标题",
+            "currentDiagnosis=当前诊断",
+            "criticalSituation=简要病情",
+            "patientSign=患者或家属签名",
+            "patientFamily=家属信息",
+            "doctorSign=医生"
+
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "查房记录=简要病情",
             "本人姓名=姓名"

+ 53 - 8
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfDeathCaseDiscussDocTrans.java

@@ -4,10 +4,13 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -22,14 +25,33 @@ public class ShaoyfDeathCaseDiscussDocTrans extends ModelDocTrans {
     public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
-
-        MapUtil.keyAssig(structureMap, "死亡诊断", "当前诊断");
-        MapUtil.keyAssig(structureMap, "参加讨论人员", "讨论主持人");
-        MapUtil.keyAssig(structureMap, "结论", "讨论小结");
+
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "306");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"deathDate","死亡时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"discussDate","讨论日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, deathCaseDiscuss_consultationRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+
+            MapUtil.keyAssig(structureMap, "死亡诊断", "当前诊断");
+            MapUtil.keyAssig(structureMap, "参加讨论人员", "讨论主持人");
+            MapUtil.keyAssig(structureMap, "结论", "讨论小结");
+        }
         DeathCaseDiscussDoc deathCaseDiscussDoc = new DeathCaseDiscussDoc();
         deathCaseDiscussDoc.setStructureMap(structureMap);
         deathCaseDiscussDoc.setPageData((Map) structureMap);
@@ -37,6 +59,29 @@ public class ShaoyfDeathCaseDiscussDocTrans extends ModelDocTrans {
         return deathCaseDiscussDoc;
     }
 
+    private List<String> deathCaseDiscuss_consultationRecord_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "tentativeDiagnosis=当前诊断",
+            "deathDiagnosis=死亡诊断",
+            "deathReason=死亡原因",
+            "discussPlace=讨论地点",
+            "anchorPosition=讨论主持人",
+            "participant=参加讨论人员",
+            "briefHistory=简要病情",
+            "discussionContent=讨论内容",
+            "anchorConclusion=讨论小结",
+            "recDoctor=记录医师",
+            "auditDoctor=审核人",
+            "anchor=讨论主持人"
+
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "主持人=讨论主持人",
             "死亡日期=死亡时间",

+ 41 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfDeathRecordDocTrans.java

@@ -4,10 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.DeathRecordDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -22,11 +24,29 @@ public class ShaoyfDeathRecordDocTrans extends ModelDocTrans {
     public DeathRecordDoc extract(MedrecVo medrecVo) {
         Map<String, Object> contentMap = ((List<Map>) medrecVo.getContent().get("content")).get(0);
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "346");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"deathDate","死亡时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, deathRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         ShaoyfOrdinaryAssistant.techTitleDocRemove(structureMap, "审核人");
         DeathRecordDoc deathRecordDoc = new DeathRecordDoc();
         deathRecordDoc.setStructureMap(structureMap);
@@ -35,6 +55,23 @@ public class ShaoyfDeathRecordDocTrans extends ModelDocTrans {
         return deathRecordDoc;
     }
 
+    private List<String> deathRecord_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "behospitalSituation=入院情况",
+            "tentativeDiagnosis=入院诊断",
+            "treatmentProcess=诊疗经过",
+            "deathReason=死亡原因",
+            "deathDiagnosis=死亡诊断",
+            "recDoctor=医生",
+            "auditDoctor=审核人"
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "当前诊断=死亡诊断",
             "死亡日期=死亡时间",

+ 53 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfDifficultCaseDiscussDocTrans.java

@@ -4,9 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.DifficultCaseDiscussDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -29,11 +32,29 @@ public class ShaoyfDifficultCaseDiscussDocTrans extends ModelDocTrans {
 
     private DifficultCaseDiscussDoc getDifficultCaseDiscussDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "340");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"discussDate","讨论时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","记录日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, difficultCaseDiscuss_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         DifficultCaseDiscussDoc difficultCaseDiscussDoc = new DifficultCaseDiscussDoc();
         difficultCaseDiscussDoc.setStructureMap(structureMap);
         difficultCaseDiscussDoc.setPageData((Map) structureMap);
@@ -41,6 +62,34 @@ public class ShaoyfDifficultCaseDiscussDocTrans extends ModelDocTrans {
         return difficultCaseDiscussDoc;
     }
 
+    private List<String> difficultCaseDiscuss_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "discussPlace=讨论地点",
+            "anchorMan=主持人",
+            "participant=参加讨论者",
+            "briefHistory=简要病情",
+            "discussAim=讨论目的",
+            "discussionOpinions=讨论内容",
+            "anchorConclusion=结论",
+            "recDoctor=记录者",
+            "auditDoctor=审核人",
+            "currentDiagnosis=当前诊断",
+            "preoperativeDiagnosis=术前诊断",
+            "operationName=手术名称",
+            "operationPlan=手术方案",
+            "anesthesia=麻醉方式",
+            "accident=意外及防范措施",
+            "preoperativePreparation=术前准备",
+            "operationIdicatio=手术指征",
+            "anchorSign=主持人签名"
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "医生=记录者",
             "讨论小结=结论",

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfLeaveHospitalDocTrans.java

@@ -94,6 +94,7 @@ public class ShaoyfLeaveHospitalDocTrans extends ModelDocTrans {
             "followScore=NRS营养风险评分",
             "followEmergency=其他情况",
             "patientSign=患者或家属签名",
+            "leaveHospitalInstruction=出院指导",
             "agreeSign=知情同意签名"
     );
 

+ 2 - 2
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfOperationDocTrans.java

@@ -248,14 +248,14 @@ public class ShaoyfOperationDocTrans extends ModelDocTrans {
             "intraoperativeView=术中发现",
             "postoperativeNotice=术后注意事项",
             "operationProcess=手术经过",
-            "recDoctor=主刀医师签名",
+            "surgeonSign=主刀医师签名",
             "auditDoctor=审核人",
             "operationTime=手术时数",
             "specimen=手术标本",
             "transfusion=输血情况",
             "redBlood=红细胞",
             "platelet=血小板",
-            "Plasma=血浆",
+            "plasma=血浆",
             "wholeBlood=全血"
     );
 

+ 43 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfRescueDocTrans.java

@@ -4,9 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.RescueDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -29,11 +32,30 @@ public class ShaoyfRescueDocTrans extends ModelDocTrans {
 
     private RescueDoc getRescueDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "345");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"startTime","抢救开始时间");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"endTime","抢救结束时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, rescue_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         RescueDoc rescueDoc = new RescueDoc();
         rescueDoc.setStructureMap(structureMap);
         rescueDoc.setPageData((Map) structureMap);
@@ -41,6 +63,23 @@ public class ShaoyfRescueDocTrans extends ModelDocTrans {
         return rescueDoc;
     }
 
+    private List<String> rescue_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "briefNote=简要病情",
+            "resuscitation=抢救措施",
+            "rescueMan=参加人员及职称",
+            "recDoctor=医生",
+            "auditDoctor=审核人"
+
+    );
+
+
     private List<String> keyContrasts = Lists.newArrayList(
             "事件日期=抢救开始时间",
             "本人姓名=姓名"

+ 45 - 4
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfStagesSummaryDocTrans.java

@@ -4,9 +4,12 @@ import com.google.common.collect.Lists;
 import com.lantone.qc.dbanaly.facade.shaoyf.ShaoyfXmlUtil;
 import com.lantone.qc.pub.model.doc.StagesSummaryDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -29,11 +32,28 @@ public class ShaoyfStagesSummaryDocTrans extends ModelDocTrans {
 
     private StagesSummaryDoc getStagesSummaryDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "349");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, stagesSummary_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
+        }
         StagesSummaryDoc stagesSummaryDoc = new StagesSummaryDoc();
         stagesSummaryDoc.setStructureMap(structureMap);
         stagesSummaryDoc.setPageData((Map) structureMap);
@@ -41,6 +61,27 @@ public class ShaoyfStagesSummaryDocTrans extends ModelDocTrans {
         return stagesSummaryDoc;
     }
 
+    private List<String> stagesSummary_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "participant=参加人员",
+            "chief=主诉",
+            "behospitalSituation=入院情况",
+            "tentativeDiagnosis=入院诊断",
+            "treatmentProcess=诊治经过",
+            "currentDiagnosis=当前诊断",
+            "presentSituation=目前情况",
+            "treatPlan=治疗计划和措施",
+            "recDoctor=医生",
+            "auditDoctor=审核人"
+
+    );
+
     private List<String> keyContrasts = Lists.newArrayList(
             "本人姓名=姓名",
             "现病史- 发病情况=发病情况",

+ 101 - 15
trans/src/main/java/com/lantone/qc/trans/shaoyf/ShaoyfTransferRecordDocTrans.java

@@ -7,18 +7,15 @@ import com.lantone.qc.pub.model.doc.transferrecord.TransferIntoDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferOutDoc;
 import com.lantone.qc.pub.model.doc.transferrecord.TransferRecordDoc;
 import com.lantone.qc.pub.model.vo.MedrecVo;
+import com.lantone.qc.pub.util.FastJsonUtils;
 import com.lantone.qc.pub.util.ListUtil;
 import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
+import com.lantone.qc.trans.shaoyf.util.ShaoyfOrdinaryAssistant;
 
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
+import java.util.*;
 
 /**
  * @Description: 转科记录文档生成
@@ -141,11 +138,31 @@ public class ShaoyfTransferRecordDocTrans extends ModelDocTrans {
 
     private TransferIntoDoc getTransferIntoDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_keyContrasts);
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "307");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"transferInDate","转入日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"transferDate","转科日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"patientTime","患者签字时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_consultationRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferInto_keyContrasts);
+        }
         TransferIntoDoc transferIntoDoc = new TransferIntoDoc();
         transferIntoDoc.setText(content);
         transferIntoDoc.setStructureMap(structureMap);
@@ -154,6 +171,29 @@ public class ShaoyfTransferRecordDocTrans extends ModelDocTrans {
         return transferIntoDoc;
     }
 
+    private List<String> transferInto_consultationRecord_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "transferOutDept=转出科室",
+            "transferInDept=转入科室",
+            "chief=主诉",
+            "behospitalSituation=入院情况",
+            "currentSituation=目前病情",
+            "tentativeDiagnosis=入院诊断",
+            "treatmentProcess=治疗计划和措施",
+            "currentDiagnosis=当前诊断",
+            "treatPlan=转入诊疗计划",
+            "recDoctor=医生",
+            "auditDoctor=审核人",
+            "transferInSituation=接科情况",
+            "patientSign=患者签字"
+    );
+
     private List<String> transferInto_keyContrasts = Lists.newArrayList(
             "书写日期=病历日期",
             "转科目的=转科原因",
@@ -219,12 +259,32 @@ public class ShaoyfTransferRecordDocTrans extends ModelDocTrans {
 
     private TransferOutDoc getTransferOutDoc(Map<String, Object> contentMap) {
         String content = contentMap.get("xmlText").toString();
-        Map<String, String> sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
-        sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
-        sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
-        Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferOut_keyContrasts);
-        MapUtil.keyAssig(structureMap, "记录日期", "书写日期", "病历日期");
 
+        Map<String, String> sourceMap = new HashMap<>();
+        Map<String, String> structureMap = new HashMap<>();
+        if (contentMap.get("isParsed") != null && "1".equals(contentMap.get("isParsed").toString())) {
+            sourceMap = (Map) FastJsonUtils.getJsonToMap(content);
+            sourceMap.remove("hospitalId");
+            sourceMap.put("mode_id", "299");
+            try {
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"transferInDate","转入日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"transferDate","转科日期");
+                ShaoyfOrdinaryAssistant.replaceData(sourceMap,"patientTime","患者签字时间");
+            } catch (Exception e) {
+
+            }
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferOut_consultationRecord_keyContrastParseds);
+        } else {
+            sourceMap = ShaoyfXmlUtil.getXmlToMap(content);
+            sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
+            sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+            structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, transferOut_keyContrasts);
+            MapUtil.keyAssig(structureMap, "记录日期", "书写日期", "病历日期");
+        }
         TransferOutDoc transferOutDoc = new TransferOutDoc();
         transferOutDoc.setText(content);
         transferOutDoc.setStructureMap(structureMap);
@@ -233,6 +293,32 @@ public class ShaoyfTransferRecordDocTrans extends ModelDocTrans {
         return transferOutDoc;
     }
 
+    private List<String> transferOut_consultationRecord_keyContrastParseds = Lists.newArrayList(
+            "behospitalCode=病历号",
+            "name=姓名",
+            "sex=性别",
+            "age=年龄",
+            "bedNo=床号",
+            "deptName=科别",
+            "recTitle=标题",
+            "transferOutDept=转出科室",
+            "transferInDept=转入科室",
+            "chief=主诉",
+            "behospitalSituation=入院情况",
+            "currentSituation=目前情况",
+            "tentativeDiagnosis=入院诊断",
+            "treatmentProcess=诊治经过",
+            "currentDiagnosis=当前诊断",
+            "treatPlan=转入诊疗计划",
+            "recDoctor=医生",
+            "auditDoctor=审核人",
+            "medication=用药和其它治疗",
+            "transferReason=转科原因",
+            "note=注意事项",
+            "transferInSituation=转运前情况",
+            "patient=患者签字"
+    );
+
     private List<String> transferOut_keyContrasts = Lists.newArrayList(
             "书写日期=病历日期",
             "转科目的=转科原因",