|
@@ -2,12 +2,11 @@ package com.lantone.qc.trans.changx;
|
|
|
|
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
|
|
import com.lantone.qc.pub.model.doc.LeaveHospitalDoc;
|
|
-import com.lantone.qc.pub.model.keys.TextTypeStandardKeys;
|
|
|
|
import com.lantone.qc.pub.model.vo.MedrecVo;
|
|
import com.lantone.qc.pub.model.vo.MedrecVo;
|
|
-import com.lantone.qc.pub.util.ListUtil;
|
|
|
|
import com.lantone.qc.trans.ModelDocTrans;
|
|
import com.lantone.qc.trans.ModelDocTrans;
|
|
|
|
+import com.lantone.qc.trans.changx.util.CxXmlUtil;
|
|
import com.lantone.qc.trans.comsis.ModelDocGenerate;
|
|
import com.lantone.qc.trans.comsis.ModelDocGenerate;
|
|
-import com.lantone.qc.trans.comsis.Preproc;
|
|
|
|
|
|
+import com.lantone.qc.trans.comsis.OrdinaryAssistant;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -22,28 +21,34 @@ public class ChangxLeaveHospitalDocTrans extends ModelDocTrans {
|
|
@Override
|
|
@Override
|
|
public LeaveHospitalDoc extract(MedrecVo medrecVo) {
|
|
public LeaveHospitalDoc extract(MedrecVo medrecVo) {
|
|
String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
|
|
String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
|
|
-
|
|
|
|
- List<String> targetTitles = Lists.newArrayList();
|
|
|
|
- List<String> sourceTitles = ListUtil.isEmpty(medrecVo.getLabel()) ? TextTypeStandardKeys.leaveHospital : medrecVo.getLabel();
|
|
|
|
- sourceTitles.forEach(sourceTitle -> {
|
|
|
|
- String targetTitle = "";
|
|
|
|
- for (int index = 0; index < sourceTitle.length(); index++) {
|
|
|
|
- if (index == sourceTitle.length() - 1) {
|
|
|
|
- targetTitle += sourceTitle.substring(index, index + 1);
|
|
|
|
- } else {
|
|
|
|
- targetTitle += sourceTitle.substring(index, index + 1) + "[\\s\\p{Zs}]*";
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- targetTitles.add(targetTitle);
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- Map<String, String> sourceMap = Preproc.extract_doc_pub(false, targetTitles, content);
|
|
|
|
-
|
|
|
|
- LeaveHospitalDoc leaveHospitalDoc = ModelDocGenerate.leaveHospitalDocGen(sourceMap);
|
|
|
|
|
|
+ Map<String, String> sourceMap = CxXmlUtil.firstLevelNodeValue("//DocObjContent", content);
|
|
|
|
+ Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
|
|
|
|
+ LeaveHospitalDoc leaveHospitalDoc = ModelDocGenerate.leaveHospitalDocGen(structureMap);
|
|
leaveHospitalDoc.setText(content);
|
|
leaveHospitalDoc.setText(content);
|
|
leaveHospitalDoc.setPageData((Map) sourceMap);
|
|
leaveHospitalDoc.setPageData((Map) sourceMap);
|
|
-
|
|
|
|
return leaveHospitalDoc;
|
|
return leaveHospitalDoc;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private List<String> keyContrasts = Lists.newArrayList(
|
|
|
|
+ "患者姓名=姓名",
|
|
|
|
+ "性别=",
|
|
|
|
+ "病区++++病区名称=",
|
|
|
|
+ "床号=",
|
|
|
|
+ "病案号++++住院号=",
|
|
|
|
+ "年龄=",
|
|
|
|
+ "入院日期=入院时间",
|
|
|
|
+ "出院日期=出院时间",
|
|
|
|
+ "入院诊断=入院诊断",
|
|
|
|
+ "出院诊断=出院诊断",
|
|
|
|
+ "实际住院天数=住院天数",
|
|
|
|
+ "入院情况=入院情况",
|
|
|
|
+ "诊治经过++++入院诊治经过=诊治经过",
|
|
|
|
+ "出院情况=",
|
|
|
|
+ "出院医嘱=",
|
|
|
|
+ "健康教育=",
|
|
|
|
+ "随访计划=",
|
|
|
|
+ "签名++++=医师签名",
|
|
|
|
+ "签名时间=签名时间"
|
|
|
|
+ );
|
|
|
|
+
|
|
}
|
|
}
|