瀏覽代碼

义乌入院记录trans修改

hujing 4 年之前
父節點
當前提交
b2c7bd1d15
共有 1 個文件被更改,包括 53 次插入46 次删除
  1. 53 46
      trans/src/main/java/com/lantone/qc/trans/yiwu/YiWuBeHospitalizedDocTrans.java

+ 53 - 46
trans/src/main/java/com/lantone/qc/trans/yiwu/YiWuBeHospitalizedDocTrans.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.BeHospitalizedDoc;
@@ -49,16 +50,23 @@ public class YiWuBeHospitalizedDocTrans extends ModelDocTrans {
         } else {
             Map<String, String> sourceMap = YiWuXmlUtil.xmlToMap(content);
             sourceMap.put("mode_id", ModuleMappingUtil.getDeptModuleId(modeId));
-            List<String> titles = Lists.newArrayList("住      址","供 史 者","性      别","婚  姻","民  族","个人史","妇科检查","产科检查","实验室","初步诊断","修正诊断","补充诊断","医师签名","日    期");
+            List<String> titles = Lists.newArrayList("住      址", "供 史 者", "性      别", "婚  姻", "民  族", "个人史", "妇科检查", "产科检查", "实验室", "初步诊断", "修正诊断", "补充诊断", "医师签名", "日    期");
             String text = sourceMap.get("原始文本");
             List<String> sortTitles = CommonAnalysisUtil.sortTitlesNoColon(titles, text);
             CommonAnalysisUtil.cutByTitlesNoColon(text, sortTitles, 0, sourceMap);
+            Map<String, String> addEntry = Maps.newHashMap();
+            sourceMap.forEach((k, v) -> {
+                if (("男").equals(v) || ("男性").equals(v) || ("女").equals(v) || ("女性").equals(v)) {
+                    addEntry.put("性别", v);
+                }
+            });
+            sourceMap.putAll(addEntry);
             //妇科日间出院医嘱部分特殊处理
-            List<String> titles1 = Lists.newArrayList("注意事项","医生办公室电话","随访安排","活动能力与生活自理情况"
-                    ,"出院带药","出院去向");
-            String text1=sourceMap.get("出院医嘱");
-            if(text1!=null){
-                text1.replaceAll("[0-9,、]","");
+            List<String> titles1 = Lists.newArrayList("注意事项", "医生办公室电话", "随访安排", "活动能力与生活自理情况"
+                    , "出院带药", "出院去向");
+            String text1 = sourceMap.get("出院医嘱");
+            if (text1 != null) {
+                text1.replaceAll("[0-9,、]", "");
                 List<String> sortTitles1 = CommonAnalysisUtil.sortTitles(titles1, text1);
                 CommonAnalysisUtil.cutByTitles(text1, sortTitles1, 0, sourceMap);
             }
@@ -76,53 +84,53 @@ public class YiWuBeHospitalizedDocTrans extends ModelDocTrans {
                 sourceMap.put("孕产次", value);
             }
             //入院记录下方的记录者签名和时间
-            if(sourceMap.containsKey("修正诊断")){
-                String value=sourceMap.get("修正诊断").replaceAll("医师签名","").
-                        replaceAll(":","").
-                        replaceAll("日    期","").
-                        replaceAll("■","").
-                        replaceAll("补充诊断","").
-                        replaceAll("修正诊断","").
-                        replaceAll("\"","").
-                        replaceAll(":","").
-                        replaceAll("日期","").
-                        replaceAll("医生签名","").
-                        replaceAll("签名时间","");
-                sourceMap.put("修正诊断",value);
+            if (sourceMap.containsKey("修正诊断")) {
+                String value = sourceMap.get("修正诊断").replaceAll("医师签名", "").
+                        replaceAll(":", "").
+                        replaceAll("日    期", "").
+                        replaceAll("■", "").
+                        replaceAll("补充诊断", "").
+                        replaceAll("修正诊断", "").
+                        replaceAll("\"", "").
+                        replaceAll(":", "").
+                        replaceAll("日期", "").
+                        replaceAll("医生签名", "").
+                        replaceAll("签名时间", "");
+                sourceMap.put("修正诊断", value);
             }
-            if(sourceMap.containsKey("补充诊断")){
-                String value=sourceMap.get("修正诊断").replaceAll("医师签名","").
-                        replaceAll(":","").
-                        replaceAll("日    期","").
-                        replaceAll("■","").
-                        replaceAll("补充诊断","").
-                        replaceAll("修正诊断","").
-                        replaceAll("\"","").
-                        replaceAll(":","").
-                        replaceAll("日期","").
-                        replaceAll("医生签名","").
-                        replaceAll("签名时间","");
-                sourceMap.put("补充诊断",value);
+            if (sourceMap.containsKey("补充诊断")) {
+                String value = sourceMap.get("修正诊断").replaceAll("医师签名", "").
+                        replaceAll(":", "").
+                        replaceAll("日    期", "").
+                        replaceAll("■", "").
+                        replaceAll("补充诊断", "").
+                        replaceAll("修正诊断", "").
+                        replaceAll("\"", "").
+                        replaceAll(":", "").
+                        replaceAll("日期", "").
+                        replaceAll("医生签名", "").
+                        replaceAll("签名时间", "");
+                sourceMap.put("补充诊断", value);
             }
-            if(sourceMap.containsKey("初步诊断医师签名")){
-                String value=sourceMap.get("初步诊断").replaceAll("日期","").
-                        replaceAll(":","");
-                sourceMap.put("初步诊断",value);
+            if (sourceMap.containsKey("初步诊断医师签名")) {
+                String value = sourceMap.get("初步诊断").replaceAll("日期", "").
+                        replaceAll(":", "");
+                sourceMap.put("初步诊断", value);
             }
             //产科入院记录个人史处理
-            if(sourceMap.containsKey("个人史")){
-                String value=sourceMap.get("个人史").split("月经史")[0];
-                sourceMap.put("个人史",value);
+            if (sourceMap.containsKey("个人史")) {
+                String value = sourceMap.get("个人史").split("月经史")[0];
+                sourceMap.put("个人史", value);
             }
             //入院记录标题部分解析不出的  婚姻和民族处理
             //注意中间的空格是什么字符
             List<String> titletitles = Lists.newArrayList("住      址",
-                    "婚  姻","民  族","供 史 者","性      别","婚    姻");
-            for (String str: titletitles) {
-                String str1=str.replaceAll(" ","").replaceAll(" ","");
-                if(sourceMap.containsKey(str1)){
-                    String value=(sourceMap.get(str1).split(" ")[0]).split("\\\\n")[0];
-                    sourceMap.put(str1,value);
+                    "婚  姻", "民  族", "供 史 者", "性      别", "婚    姻");
+            for (String str : titletitles) {
+                String str1 = str.replaceAll(" ", "").replaceAll(" ", "");
+                if (sourceMap.containsKey(str1)) {
+                    String value = (sourceMap.get(str1).split(" ")[0]).split("\\\\n")[0];
+                    sourceMap.put(str1, value);
                 }
             }
             structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, keyContrasts, modeId);
@@ -183,7 +191,6 @@ public class YiWuBeHospitalizedDocTrans extends ModelDocTrans {
             "患者出生地址=出生地",
             "入院日期时间=入院日期",
             "现住址=户口地址",
-            "_{K4}=性别",
             "联系住址=户口地址",
             "联系地址=户口地址",
             "出生日期时间=出生日期",