Bläddra i källkod

死亡病例讨论记录对接添加

rengb 5 år sedan
förälder
incheckning
aedbbe30b9

+ 2 - 0
public/src/main/java/com/lantone/qc/pub/model/keys/ModelStandardKeys.java

@@ -161,6 +161,7 @@ public class ModelStandardKeys {
             "记录医师",
             "入院时间",
             "死亡时间",
+            "出院时间",
             "入院诊断",
             "死亡诊断",
             "讨论时间",
@@ -168,6 +169,7 @@ public class ModelStandardKeys {
             "参加讨论人员",
             "讨论主持人",
             "讨论内容",
+            "死亡原因",
             "结论"
     );
 

+ 24 - 8
trans/src/main/java/com/lantone/qc/trans/changx/ChangxDeathCaseDiscussDocTrans.java

@@ -1,9 +1,11 @@
 package com.lantone.qc.trans.changx;
 
+import com.google.common.collect.Lists;
 import com.lantone.qc.pub.model.doc.DeathCaseDiscussDoc;
 import com.lantone.qc.pub.model.keys.ModelStandardKeys;
 import com.lantone.qc.pub.model.vo.MedrecVo;
 import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.MapUtil;
 import com.lantone.qc.trans.ModelDocTrans;
 import com.lantone.qc.trans.comsis.ModelDocGenerate;
 import com.lantone.qc.trans.comsis.Preproc;
@@ -21,15 +23,29 @@ public class ChangxDeathCaseDiscussDocTrans extends ModelDocTrans {
     @Override
     public DeathCaseDiscussDoc extract(MedrecVo medrecVo) {
         String content = ((List<String>) medrecVo.getContent().get("content")).get(0);
-        Map<String, String> structureMap =
-                Preproc.extract_doc_pub(
-                        false,
-                        ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.deathCaseDiscuss : medrecVo.getLabel(),
-                        content
-                );
-
-        DeathCaseDiscussDoc deathCaseDiscussDoc = ModelDocGenerate.deathCaseDiscussDocGen(structureMap);
+
+        List<String> targetTitles = Lists.newArrayList();
+        List<String> sourceTitles = ListUtil.isEmpty(medrecVo.getLabel()) ? ModelStandardKeys.deathCaseDiscuss : 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);
+        Map<String, String> targetMap = MapUtil.copyMap((Map) sourceMap);
+        targetMap.put("记录时间", targetMap.get("病程记录时间"));
+        targetMap.remove("病程记录时间");
+
+        DeathCaseDiscussDoc deathCaseDiscussDoc = ModelDocGenerate.deathCaseDiscussDocGen(targetMap);
         deathCaseDiscussDoc.setText(content);
+        deathCaseDiscussDoc.setPageData((Map) sourceMap);
 
         return deathCaseDiscussDoc;
     }