|
@@ -11,6 +11,7 @@ import com.lantone.qc.pub.model.doc.operation.OperationRecordDoc;
|
|
|
import com.lantone.qc.pub.model.doc.operation.OperationSafetyChecklistDoc;
|
|
|
import com.lantone.qc.pub.model.doc.operation.PreoperativeDiscussionDoc;
|
|
|
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;
|
|
@@ -18,6 +19,7 @@ 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;
|
|
@@ -94,17 +96,65 @@ public class ShaoyfOperationDocTrans extends ModelDocTrans {
|
|
|
|
|
|
private OperationDiscussionDoc getOperationDiscussionDoc(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, operationDiscussion_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", "330");
|
|
|
+ try {
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"operationDate","手术日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"startTime","开始时间");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"endTime","结束时间");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
|
+ }
|
|
|
+ structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationDiscussion_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, operationDiscussion_keyContrasts);
|
|
|
+ }
|
|
|
OperationDiscussionDoc operationDiscussionDoc = new OperationDiscussionDoc();
|
|
|
operationDiscussionDoc.setStructureMap(structureMap);
|
|
|
operationDiscussionDoc.setPageData((Map) structureMap);
|
|
|
|
|
|
return operationDiscussionDoc;
|
|
|
}
|
|
|
+ // 术后首次病程
|
|
|
+ private List<String> operationDiscussion_keyContrastParseds = Lists.newArrayList(
|
|
|
+ "behospitalCode=病历号",
|
|
|
+ "name=姓名",
|
|
|
+ "sex=性别",
|
|
|
+ "age=年龄",
|
|
|
+ "bedNo=床号",
|
|
|
+ "deptName=科别",
|
|
|
+ "recTitle=标题",
|
|
|
+ "narcosisType=麻醉方式",
|
|
|
+ "narcosisDoctor=麻醉医师",
|
|
|
+ "preoperationDiagnosis=术前诊断",
|
|
|
+ "postoperativeDiagnosis=术中诊断",
|
|
|
+ "operationMan=手术人员",
|
|
|
+ "operationName=手术名称",
|
|
|
+ "operationProcess=手术经过",
|
|
|
+ "postoperativeSituation=目前情况",
|
|
|
+ "postoperativeTreatment=治疗计划和措施",
|
|
|
+ "postoperativeNotice=术后注意事项",
|
|
|
+ "postoperativeComplication=术后可能出现的并发症及预防措施",
|
|
|
+ "operationSpecimen=手术切除标本",
|
|
|
+ "operationBleed=术中出血量",
|
|
|
+ "operationBloodTransfusion=术中输血量",
|
|
|
+ "operationComplication=术中并发症",
|
|
|
+ "recDoctor=医生",
|
|
|
+ "auditDoctor=审核人",
|
|
|
+ "chiefDoctor=主刀医生",
|
|
|
+ "patientSign=患者或家属签名"
|
|
|
+ );
|
|
|
|
|
|
private List<String> operationDiscussion_keyContrasts = Lists.newArrayList(
|
|
|
"本人姓名=姓名",
|
|
@@ -139,20 +189,76 @@ public class ShaoyfOperationDocTrans extends ModelDocTrans {
|
|
|
|
|
|
private OperationRecordDoc getOperationRecordDoc(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, operationRecord_keyContrasts);
|
|
|
- OrdinaryAssistant.removeBlank(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", "289");
|
|
|
+ try {
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"operationDate","手术日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, operationRecord_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, operationRecord_keyContrasts);
|
|
|
+ OrdinaryAssistant.removeBlank(structureMap);
|
|
|
// structureMap.put("主刀医师", structureMap.get("手术医师"));
|
|
|
- MapUtil.keyAssig(structureMap,"主刀医师","手术医师");
|
|
|
- ShaoyfOrdinaryAssistant.techTitleDocRemove(structureMap, "主刀医师签名");
|
|
|
+ MapUtil.keyAssig(structureMap, "主刀医师", "手术医师");
|
|
|
+ ShaoyfOrdinaryAssistant.techTitleDocRemove(structureMap, "主刀医师签名");
|
|
|
+ }
|
|
|
OperationRecordDoc operationRecordDoc = new OperationRecordDoc();
|
|
|
operationRecordDoc.setStructureMap(structureMap);
|
|
|
operationRecordDoc.setPageData((Map) structureMap);
|
|
|
return operationRecordDoc;
|
|
|
}
|
|
|
|
|
|
+ // 手术记录
|
|
|
+ private List<String> operationRecord_keyContrastParseds = Lists.newArrayList(
|
|
|
+ "behospitalCode=病历号",
|
|
|
+ "name=姓名",
|
|
|
+ "sex=性别",
|
|
|
+ "age=年龄",
|
|
|
+ "bedNo=床号",
|
|
|
+ "deptName=临床科室",
|
|
|
+ "recTitle=标题",
|
|
|
+ "startTime=开始时间",
|
|
|
+ "endTime=结束时间",
|
|
|
+ "preoperationDiagnosis=术前诊断",
|
|
|
+ "operationName=手术名称",
|
|
|
+ "postoperativeDiagnosis=术后诊断",
|
|
|
+ "operationSurgeon=手术医师",
|
|
|
+ "firstHelping=一助",
|
|
|
+ "secondHelping=助手II",
|
|
|
+ "narcosisDoctor=麻醉医师",
|
|
|
+ "narcosisType=麻醉方式",
|
|
|
+ "cutType=切口类别",
|
|
|
+ "pathologicalDiagnosis=病理(冰冻)诊断",
|
|
|
+ "isImplants=术中植入物",
|
|
|
+ "implantsName=植入物名称",
|
|
|
+ "bloodLoss=失血",
|
|
|
+ "intraoperativeView=术中发现",
|
|
|
+ "postoperativeNotice=术后注意事项",
|
|
|
+ "operationProcess=手术经过",
|
|
|
+ "recDoctor=主刀医师签名",
|
|
|
+ "auditDoctor=审核人",
|
|
|
+ "operationTime=手术时数",
|
|
|
+ "specimen=手术标本",
|
|
|
+ "transfusion=输血情况",
|
|
|
+ "redBlood=红细胞",
|
|
|
+ "platelet=血小板",
|
|
|
+ "Plasma=血浆",
|
|
|
+ "wholeBlood=全血"
|
|
|
+ );
|
|
|
+
|
|
|
// 手术记录
|
|
|
private List<String> operationRecord_keyContrasts = Lists.newArrayList(
|
|
|
"结束时间=手术结束时间",
|
|
@@ -190,17 +296,59 @@ public class ShaoyfOperationDocTrans extends ModelDocTrans {
|
|
|
|
|
|
private PreoperativeDiscussionDoc getPreoperativeDiscussionDoc(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, preoperativeDiscussion_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", "286");
|
|
|
+ try {
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recordDate","病历日期1");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"discussTime","讨论时间");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"recDate","病历日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"behospitalDate","入院日期");
|
|
|
+ ShaoyfOrdinaryAssistant.replaceData(sourceMap,"auditDate","审核日期");
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_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, preoperativeDiscussion_keyContrasts);
|
|
|
+ }
|
|
|
PreoperativeDiscussionDoc preoperativeDiscussionDoc = new PreoperativeDiscussionDoc();
|
|
|
preoperativeDiscussionDoc.setStructureMap(structureMap);
|
|
|
preoperativeDiscussionDoc.setPageData((Map) structureMap);
|
|
|
return preoperativeDiscussionDoc;
|
|
|
}
|
|
|
|
|
|
+ private List<String> preoperativeDiscussion_keyContrastParseds = Lists.newArrayList(
|
|
|
+ "behospitalCode=病历号",
|
|
|
+ "name=姓名",
|
|
|
+ "age=年龄",
|
|
|
+ "bedNo=床号",
|
|
|
+ "deptName=科别",
|
|
|
+ "sex=性别",
|
|
|
+ "recTitle=标题",
|
|
|
+ "discussType=讨论方式",
|
|
|
+ "participant=参加人员",
|
|
|
+ "briefNote=简要病情",
|
|
|
+ "preoperationDiagnosis=术前诊断",
|
|
|
+ "operationIndication=手术指征",
|
|
|
+ "replacePlan=可替代的方案",
|
|
|
+ "operationName=拟行术式",
|
|
|
+ "anesthesiaType=麻醉方式",
|
|
|
+ "preoperationPrepare=术前准备内容",
|
|
|
+ "intraoperativeNotice=术中注意事项",
|
|
|
+ "postoperativeNotice=术后注意事项",
|
|
|
+ "recDoctor=医生",
|
|
|
+ "auditDoctor=审核人",
|
|
|
+ "potentialIssues=可能意外和防范措施"
|
|
|
+ );
|
|
|
+
|
|
|
private List<String> preoperativeDiscussion_keyContrasts = Lists.newArrayList(
|
|
|
"参加人员及职称=参加人员",
|
|
|
"主刀医师=主刀医师签名",
|