Pārlūkot izejas kodu

萧山中医院文书解析

licy 3 gadi atpakaļ
vecāks
revīzija
ba6095333b

+ 3 - 2
trans/src/main/java/com/lantone/qc/trans/xszyy/BeiLunStagesSummaryDocTrans.java

@@ -66,8 +66,9 @@ public class BeiLunStagesSummaryDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "病历标题=标题",
-            "病情记录=病历内容"
+            "主 诉=主诉",
+            "下一步诊疗计划=诊疗计划",
+            "书写医师=记录医生"
     );
 
 }

+ 4 - 4
trans/src/main/java/com/lantone/qc/trans/xszyy/BeiLunTransferRecordDocTrans.java

@@ -296,10 +296,10 @@ public class BeiLunTransferRecordDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "医师签名=记录医生",
-            "病历标题=标题",
-            "病情记录=病历内容",
-            "签名时间=记录时间"
+            "主 诉=主诉",
+            "目前情况=目前病情",
+            "转入诊疗计划=诊疗计划",
+            "书写医师=记录医生"
     );
 
 }

+ 13 - 19
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunStagesSummaryHtmlAnalysis.java

@@ -2,9 +2,12 @@ package com.lantone.qc.trans.xszyy.util;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
+import com.lantone.qc.trans.xszyy.util.comsis.XszyyCommonAnalysisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 
 import java.util.List;
@@ -27,8 +30,16 @@ public class BeiLunStagesSummaryHtmlAnalysis implements BeiLunHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(recTitle, bigDivElement, map);
+            Document doc = Jsoup.parse(html);
+            List<String> titles = Lists.newArrayList("患者姓名","性别","年龄","入院日期","小结日期","主 诉","入院情况",
+                    "入院诊断","诊疗经过","目前情况","目前诊断","下一步诊疗计划","书写医师"
+            );
+            String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());
+            if (StringUtil.isNotBlank(htmlContent)) {
+                //无冒号版本
+                XszyyCommonAnalysisUtil.html2StructureMapNoColon(titles,htmlContent,map);
+                map.put("标题",recTitle);
+            }
             XszyyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -36,21 +47,4 @@ public class BeiLunStagesSummaryHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(String recTitle, Element bigDivElement, Map<String, String> map) {
-        if (bigDivElement.childNodeSize() == 1) {
-            bigDivElement = bigDivElement.child(0);
-        }
-        if (bigDivElement.selectFirst("hr") != null) {
-            bigDivElement.selectFirst("hr").previousElementSiblings().remove();
-        }
-        String text = XszyyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(recTitle, text, map);
-        String bqjlText = "病情记录" + map.get("病情记录");
-        List<String> titles = Lists.newArrayList(
-                "病情记录"
-        );
-        titles = CommonAnalysisUtil.sortTitlesNoColon(titles, bqjlText);
-        CommonAnalysisUtil.cutByTitlesNoColon(bqjlText, titles, 0, map);
-    }
-
 }

+ 14 - 19
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunTransferIntoHtmlAnalysis.java

@@ -2,9 +2,12 @@ package com.lantone.qc.trans.xszyy.util;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
+import com.lantone.qc.trans.xszyy.util.comsis.XszyyCommonAnalysisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 
 import java.util.List;
@@ -27,8 +30,17 @@ public class BeiLunTransferIntoHtmlAnalysis implements BeiLunHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(recTitle, bigDivElement, map);
+            Document doc = Jsoup.parse(html);
+            List<String> titles = Lists.newArrayList("患者姓名","性别","年龄","入院日期","转入日期","转出科室","主 诉","入院情况",
+                    "入院诊断","诊疗经过","目前情况","目前诊断","转科目的","转入诊疗计划","书写医师"
+            );
+            String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());
+            if (StringUtil.isNotBlank(htmlContent)) {
+                //无冒号版本
+                XszyyCommonAnalysisUtil.html2StructureMapNoColon(titles,htmlContent,map);
+                map.put("标题",recTitle);
+            }
+
             XszyyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -36,21 +48,4 @@ public class BeiLunTransferIntoHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(String recTitle, Element bigDivElement, Map<String, String> map) {
-        if (bigDivElement.childNodeSize() == 1) {
-            bigDivElement = bigDivElement.child(0);
-        }
-        if (bigDivElement.selectFirst("hr") != null) {
-            bigDivElement.selectFirst("hr").previousElementSiblings().remove();
-        }
-        String text = XszyyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(recTitle, text, map);
-        String bqjlText = "病情记录" + map.get("病情记录");
-        List<String> titles = Lists.newArrayList(
-                "病情记录", "医师签名", "医师签字"
-        );
-        titles = CommonAnalysisUtil.sortTitlesNoColon(titles, bqjlText);
-        CommonAnalysisUtil.cutByTitlesNoColon(bqjlText, titles, 0, map);
-    }
-
 }

+ 14 - 28
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunTransferOutHtmlAnalysis.java

@@ -2,9 +2,12 @@ package com.lantone.qc.trans.xszyy.util;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.lantone.qc.pub.util.StringUtil;
 import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
+import com.lantone.qc.trans.xszyy.util.comsis.XszyyCommonAnalysisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.jsoup.Jsoup;
+import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
 
 import java.util.List;
@@ -27,8 +30,17 @@ public class BeiLunTransferOutHtmlAnalysis implements BeiLunHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0);
-            analysisGeneral(recTitle, bigDivElement, map);
+            Document doc = Jsoup.parse(html);
+            List<String> titles = Lists.newArrayList("患者姓名","性别","年龄","入院日期","转出日期","转入科室","主 诉","入院情况",
+                    "入院诊断","诊疗经过","目前情况","目前诊断","转科目的及注意事项","书写医师"
+            );
+            String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());
+            if (StringUtil.isNotBlank(htmlContent)) {
+                //无冒号版本
+                XszyyCommonAnalysisUtil.html2StructureMapNoColon(titles,htmlContent,map);
+                map.put("标题",recTitle);
+            }
+
             XszyyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -36,30 +48,4 @@ public class BeiLunTransferOutHtmlAnalysis implements BeiLunHtmlAnalysis {
         return map;
     }
 
-    private void analysisGeneral(String recTitle, Element bigDivElement, Map<String, String> map) {
-        if (bigDivElement.childNodeSize() == 1) {
-            bigDivElement = bigDivElement.child(0);
-        }
-        if (bigDivElement.selectFirst("hr") != null) {
-            bigDivElement.selectFirst("hr").previousElementSiblings().remove();
-        }
-        String text = XszyyHtmlAnalysisUtil.blockDivToStr(bigDivElement, true);
-        CommonAnalysisUtil.extractWardInfo(recTitle, text, map);
-        String bqjlText = "病情记录" + map.get("病情记录").replace("年   月   日   时   分 ","");
-        List<String> titles = Lists.newArrayList(
-                "病情记录",
-                "医师签名",
-                "签名时间",
-                "患者签名",
-                "签名时间"
-        );
-        titles = CommonAnalysisUtil.sortTitlesNoColon(titles, bqjlText);
-        CommonAnalysisUtil.cutByTitlesNoColon(bqjlText, titles, 0, map);
-        List<String> tits = Lists.newArrayList(
-                "签名时间",
-                "患者签名"
-        );
-        tits = CommonAnalysisUtil.sortTitlesNoColon(tits, text);
-        CommonAnalysisUtil.cutByTitlesNoColon(text, tits, 0, map);
-    }
 }