Browse Source

有创操作、死亡病历讨论模板解析

liuqq 3 năm trước cách đây
mục cha
commit
5b276b6354

+ 33 - 3
trans/src/main/java/com/lantone/qc/trans/yiwu/YiWuDeathCaseDiscussDocTrans.java

@@ -1,6 +1,7 @@
 package com.lantone.qc.trans.yiwu;
 
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import com.lantone.qc.dbanaly.facade.yiwu.YiWuXmlUtil;
 import com.lantone.qc.dbanaly.util.ModuleMappingUtil;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
@@ -8,6 +9,7 @@ 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.CommonAnalysisUtil;
 import com.lantone.qc.trans.comsis.OrdinaryAssistant;
 
 import java.util.List;
@@ -33,7 +35,18 @@ public class YiWuDeathCaseDiscussDocTrans extends ModelDocTrans {
             sourceMap.put("mode_id", ModuleMappingUtil.getDeptModuleId(modeId));
             sourceMap.put("mode_id=" + contentMap.get("modeId").toString(), "");
             sourceMap.put("rec_title=" + contentMap.get("recTitle").toString(), "");
+
+            Map<String, String> cutMap = Maps.newHashMap();
+            String text = sourceMap.get("讨论记录").replace(":", ":");
+            List<String> titles = Lists.newArrayList(
+                    "八、主持人总结","七:讨论意见","六、诊疗经过(重点记录病情演变,抢救经过)","五、死亡诊断",
+                    "四、死亡原因","三、 死亡时间","二、主    诉","一、入院情况");
+            List<String> sortTitles = CommonAnalysisUtil.sortTitles(titles, text);
+            CommonAnalysisUtil.cutByTitlesNoColon(text, sortTitles, 0, cutMap);
+
+            mapJoin(sourceMap, cutMap);
             structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
+
         }
 
         MapUtil.keyAssig(structureMap, "参加讨论人员", "参加人员及职称医生", "参加人员及职称");
@@ -44,17 +57,34 @@ public class YiWuDeathCaseDiscussDocTrans extends ModelDocTrans {
         return deathCaseDiscussDoc;
     }
 
+    private void mapJoin(Map<String, String> sourceMap, Map<String, String> dailyTrans) {
+        dailyTrans.forEach((k, v) -> {
+            if (!sourceMap.containsKey(k)) {
+                sourceMap.put(k, v);
+            }
+        });
+    }
+
     private List<String> keyContrasts = Lists.newArrayList(
-            "主持人=讨论主持人",
+            "主持人姓名=讨论主持人",
             "死亡日期=死亡时间",
             "讨论意见=讨论内容",
-            "现病史- 发病情况=入院情况",
-            "医生=记录医师",
+            "记录医师=记录医师",
+            "八、主持人总结=主持人总结",
+            "七:讨论意见=讨论意见",
+            "六、诊疗经过(重点记录病情演变,抢救经过)=诊疗经过",
+            "五、死亡诊断=死亡诊断",
+            "四、死亡原因=死亡原因",
+            "三、 死亡时间=死亡时间",
+            "二、主    诉=主诉",
+            "一、入院情况=入院情况",
             "本人姓名=姓名",
             "事件日期=讨论时间",
             "当前诊断=死亡诊断",
             "病历日期=记录时间",
             "讨论日期=讨论时间",
+            "当前科室=科别",
+            "参加讨论人员名单=参加人员",
             "讨论小结=结论"
     );
 

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/yiwu/YiwuInvasiveOperationDocTrans.java

@@ -58,5 +58,5 @@ public class YiwuInvasiveOperationDocTrans extends ModelDocTrans {
     private List<String> keyContrasts = Lists.newArrayList(
             "病程时间=病历日期",
             "病程标题=操作名称",
-            "病程时间=操作步骤");
+            "病程内容=操作步骤");
 }