Explorar o código

日间解析方法改变

shiyue %!s(int64=3) %!d(string=hai) anos
pai
achega
b3fa051887

+ 18 - 11
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyBeHospitalizedHtmlAnalysis.java

@@ -33,13 +33,15 @@ public class XyBeHospitalizedHtmlAnalysis implements XyHtmlAnalysis {
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html.replace("<b>", "").replace("</b>", ""));
 
-            if (recTitle.contains("24")) {
+            if (recTitle.contains("24")||recTitle.contains("日间")) {
                 analysis24h(doc, map);
-            } else if (recTitle.contains("日间病历")) {
-                analysisDay(doc, map);
-            } else {
+            }else {
                 analysisGeneral(doc, recTitle, map);
             }
+//            else if (recTitle.contains("日间病历")) {
+//                analysisDay(doc, map);
+//            }
+
             XyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -119,14 +121,19 @@ public class XyBeHospitalizedHtmlAnalysis implements XyHtmlAnalysis {
 
     //24小时出入院记录、24小时出入院记录(全院)、24小时入出院记录(全院通用)、24小时内入院死亡记录(全院通用)
     private void analysis24h(Document doc, Map<String, String> map) {
-        String text = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), false);
-        text = text.substring(text.lastIndexOf("24小时入出院记录姓    名")).replaceFirst("第1页", "");
-        List<String> titles = Lists.newArrayList("姓    名", "家庭住址", "性    别", "工作单位", "年    龄", "身份证号码", "民    族",
-                "联系人(关系)", "职    业", "入院时间", "婚    姻", "死亡时间", "记录时间", "出 生 地", "病史陈述者", "主    诉", "入院情况", "心理评估",
-                "疼痛评估", "营养评估", "功能评估", "入院诊断", "诊疗经过", "死亡原因", "死亡诊断", "出院情况", "出院诊断", "出院计划", "出院医嘱",
-                "出院去向", "医师签名", "书写时间");
-
+        String text = XyHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body"), false).replace("&nbsp"," ");
+//        text = text.substring(text.lastIndexOf("24小时入出院记录姓    名")).replaceFirst("第1页", "");
+        List<String> titles = Lists.newArrayList("姓名", "出生地", "性别", "民族", "年龄", "职业", "婚姻",
+                "病史陈述者", "住址", "入院方式", "入院日期", "出院日期", "主诉", "入院情况","现病史", "既往史", "个人史", "婚育史", "月经史",
+                "家族史", "体格检查", "专科检查","住院经过","辅助检查","入院诊断","诊疗经过","死亡原因","死亡诊断",
+                "手术日期", "是否再次手术", "手术级别", "手术人员", "手术过程", "出院时间", "出院情况", "出院诊断"," 出院医嘱",
+                "出院注意事项", "医师签名", "书写时间","医师","上级医师","上级医师签名","签字时间");
+        titles = CommonAnalysisUtil.sortTitles(titles, text);
         CommonAnalysisUtil.cutByTitles(text, titles, 0, map);
+        CommonAnalysisUtil.processTypeRightXy(map);
+        if (map.containsKey("入院情况")){
+            map.put("入院情况",map.get("现病史")+map.get("既往史"));
+        }
         CommonAnalysisUtil.processType(map, "出院去向");
     }
 

+ 2 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyFirstCourseRecordHtmlAnalysis.java

@@ -5,6 +5,7 @@ import com.google.common.collect.Maps;
 import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.changshaxy.util.comsis.XyCommonAnalysisUtil;
 
+import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
@@ -51,6 +52,7 @@ public class XyFirstCourseRecordHtmlAnalysis implements XyHtmlAnalysis {
                     .replace("8451", "℃");
             ;
             htmlContent.replace(" ", "");
+            titles = CommonAnalysisUtil.sortTitles(titles, htmlContent);
             XyCommonAnalysisUtil.extractWardInfo(recTitle, htmlContent, structureMap);
             if (StringUtil.isNotBlank(htmlContent)) {
                 titles = XyCommonAnalysisUtil.sortTitles(titles, htmlContent);

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyHtmlAnalysisUtil.java

@@ -155,7 +155,7 @@ public class XyHtmlAnalysisUtil {
 //                sbf.append(elementLayer1ToStr(childElement, false).trim());
 //            }
 //        }
-        String text = divElement.text();
+        String text = divElement.text().replaceAll("9633","□").replaceAll("9632","■").replaceAll("9745","■");
         return text;
     }
 

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/changshaxy/util/XyLeaveHospitalHtmlAnalysis.java

@@ -58,6 +58,7 @@ public class XyLeaveHospitalHtmlAnalysis implements XyHtmlAnalysis {
                     .replace("9315", "④");
 
             if (StringUtil.isNotBlank(htmlContent)) {
+                titles = CommonAnalysisUtil.sortTitles(titles, htmlContent);
                 List<String> sortTitles = XyCommonAnalysisUtil.sortTitles(titles, htmlContent);
                 XyCommonAnalysisUtil.cutByTitles(htmlContent, titles, 0, structureMap);
             }

+ 33 - 0
trans/src/main/java/com/lantone/qc/trans/comsis/CommonAnalysisUtil.java

@@ -415,6 +415,39 @@ public class CommonAnalysisUtil {
         }
     }
 
+    public static void processTypeRightXy(Map<String, String> structureMap) {
+        structureMap.keySet().forEach(s -> {
+            if (structureMap.get(s).contains("■") || structureMap.get(s).contains("□")) {
+                String string = "";
+                String stringNew = "";
+                String type = structureMap.get(s);
+                if (type.contains("■")) {
+                    String[] types = type.split(" ");
+
+                    ////切出不带■的标题和带■的选项
+                    for (String t : types) {
+                        if (StringUtil.isNotEmpty(t)) {
+                            if (t.contains("■")) {
+                                string += " " + t;
+                            } else if (!t.contains("□") && !t.contains("■")) {
+                                string += " ," + t;
+                            }
+                        }
+                    }
+                    //根据上步分组切出标题和带■的
+//                    String[] s1 = string.split(",");
+//                    for (String str : s1) {
+//                        if (str.contains("■")) {
+//                            stringNew += str + ", ";
+//                        }
+//                    }
+                }
+                string = string.replace("■", " ");
+                structureMap.put(s, string);
+            }
+        });
+    }
+
     /**
      * 若list中其中一个元素包含之后第二个、第三个元素的文本,则把这个元素删除
      *