|
@@ -3,7 +3,6 @@ package com.lantone.qc.trans.beilun;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import com.google.common.collect.Sets;
|
|
|
-import com.lantone.qc.dbanaly.facade.changx.CxXmlUtil;
|
|
|
import com.lantone.qc.pub.model.doc.operation.*;
|
|
|
import com.lantone.qc.pub.model.vo.MedrecVo;
|
|
|
import com.lantone.qc.pub.util.FastJsonUtils;
|
|
@@ -11,13 +10,14 @@ import com.lantone.qc.pub.util.ListUtil;
|
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
|
import com.lantone.qc.trans.ModelDocTrans;
|
|
|
import com.lantone.qc.trans.beilun.util.*;
|
|
|
+import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
|
|
|
import com.lantone.qc.trans.comsis.ModelDocGenerate;
|
|
|
import com.lantone.qc.trans.comsis.OrdinaryAssistant;
|
|
|
-import com.lantone.qc.trans.comsis.Preproc;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections.MapUtils;
|
|
|
import org.jsoup.Jsoup;
|
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
@@ -49,6 +49,7 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
|
|
|
operationNameSet.addAll(operationDiscussionDocMap.keySet());
|
|
|
operationNameSet.addAll(operationRecordDocMap.keySet());
|
|
|
operationNameSet.addAll(preoperativeDiscussionDocMap.keySet());
|
|
|
+ operationNameSet.addAll(operationInformedConsentDocMap.keySet());
|
|
|
|
|
|
operationNameSet.forEach(operationName -> {
|
|
|
OperationDoc operationDoc = new OperationDoc();
|
|
@@ -345,24 +346,30 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
|
|
|
|
|
|
private OperationInformedConsentDoc getOperationInformedConsentDoc(Map<String, Object> contentMap) {
|
|
|
String modeId = "16";
|
|
|
-// String content = contentMap.get("xmlText").toString();
|
|
|
-// Map<String, String> xmlNodeValueMap = CxXmlUtil.firstLevelNodeValue(content);
|
|
|
-// xmlNodeValueMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
|
|
|
-// xmlNodeValueMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
|
|
|
-// Map<String, String> structureMap = OrdinaryAssistant.mapKeyContrast(xmlNodeValueMap, operationInformedConsent_keyContrasts, modeId);
|
|
|
-//
|
|
|
-// String text = CxXmlUtil.getXmlText(content);
|
|
|
-// Map<String, String> cutWordMap = Preproc.getCutWordMap(true, operationInformedConsent_sourceTitles, text);
|
|
|
-// cutWordMap.putAll(structureMap);
|
|
|
-//
|
|
|
-// OperationInformedConsentDoc operationInformedConsentDoc = ModelDocGenerate.operationInformedConsentDocGen(cutWordMap);
|
|
|
+ Map<String, String> structureMap = new HashMap<>();
|
|
|
+ String content = contentMap.get("xmlText").toString();
|
|
|
OperationInformedConsentDoc operationInformedConsentDoc = new OperationInformedConsentDoc();
|
|
|
-// operationInformedConsentDoc.setText(text);
|
|
|
-// operationInformedConsentDoc.setPageData((Map) cutWordMap);
|
|
|
+ String recTitle = contentMap.get("recTitle").toString();
|
|
|
+ String recTypeId = contentMap.get("recTypeId").toString();
|
|
|
+ BeiLunHtmlAnalysis beiLunHtmlAnalysis = new BeiLunOperationInformedHtmlAnalysis();
|
|
|
+ Map<String, String> sourceMap = beiLunHtmlAnalysis.analysis(content, recTitle, recTypeId);
|
|
|
+ if (MapUtils.isNotEmpty(sourceMap)) {
|
|
|
+ structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts);
|
|
|
+ structureMap.put("病历标题", contentMap.get("recTitle").toString());
|
|
|
+ structureMap.put("记录编号", contentMap.get("recId").toString());
|
|
|
+ structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
|
|
|
+ operationInformedConsentDoc = ModelDocGenerate.operationInformedDocGen(structureMap);
|
|
|
+ operationInformedConsentDoc.setText(CommonAnalysisUtil.html2String(content));
|
|
|
+ operationInformedConsentDoc.setPageData((Map) structureMap);
|
|
|
+ }
|
|
|
|
|
|
return operationInformedConsentDoc;
|
|
|
}
|
|
|
|
|
|
+ private List<String> keyContrasts = Lists.newArrayList(
|
|
|
+ "术种使用的植入性材料或高值耗材及风险=使用植入性材料且种类和数量符合要求"
|
|
|
+ );
|
|
|
+
|
|
|
private List<String> operationInformedConsent_sourceTitles = Lists.newArrayList(
|
|
|
"姓名",
|
|
|
"性别",
|