Browse Source

解析问题调整

Gaozk 3 years ago
parent
commit
23b22975b3

+ 5 - 5
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunBeHospitalizedHtmlAnalysis.java

@@ -46,7 +46,7 @@ public class BeiLunBeHospitalizedHtmlAnalysis implements BeiLunHtmlAnalysis {
 
     //一般模板
     private void analysisGeneral(Document doc, String recTitle, Map<String, String> map) {
-        List<String> titles = Lists.newArrayList("家长姓名","病区","床号","住院号码","病案号","住院号","入 院 记 录","住 院 大 病 历",
+        List<String> titles = Lists.newArrayList("家长姓名","病区","床号","住院号码","入 院 记 录","住 院 大 病 历",
                 "姓 名","职业", "职 业", "性 别", "入院日期","年 龄", "记录日期", "婚 姻","病史陈述者", "出生地","可靠程度",
                 "民 族","身份证号码","发病节气","病案号","单位或住址","主 诉","现病史","既往史","个人史","婚育史","家族史",
                 "入 院 诊 断","专项 评估","专项评估",
@@ -60,12 +60,12 @@ public class BeiLunBeHospitalizedHtmlAnalysis implements BeiLunHtmlAnalysis {
             //有冒号版本
             XszyyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
         }
-        //拆分发病节气后面的病案号
-        if (map.containsKey("发病节气")){
+      /*  //拆分发病节气后面的病案号
+        if (map.containsKey("发病节气")&&map.get("发病节气").length()>4){
             map.put("病案号",map.get("发病节气").substring(map.get("发病节气").indexOf("病"),map.get("发病节气").indexOf(map.get("发病节气").charAt((map.get("发病节气").length()-1)))+1));
             map.put("发病节气",map.get("发病节气").substring(0,map.get("发病节气").indexOf(map.get("病案号"))));
-            map.put("病案号",map.get("病案号").substring(map.get("发病节气").length(),map.get("病案号").length()));
-        }
+           // map.put("病案号",map.get("病案号").substring(map.get("发病节气").length(),map.get("病案号").length()));
+        }*/
         //书写医生中包含书写时间
         if(map.containsKey("书写医生")&&XszyyCommonAnalysisUtil.extractDate(map.get("书写医生"))!=null){
             map.put("书写时间",XszyyCommonAnalysisUtil.extractDate(map.get("书写医生")));

+ 23 - 2
trans/src/main/java/com/lantone/qc/trans/xszyy/util/comsis/XszyyCommonAnalysisUtil.java

@@ -209,8 +209,8 @@ public class XszyyCommonAnalysisUtil {
      * 标题没有冒号版本
      */
     public static void html2StructureMapNoColon(List<String> titles, String htmlText, Map<String, String> structureMap) {
-        List<String> sortTitlesNoColon = sortTitlesNoColon(titles, htmlText);
-        cutByTitlesNoColon(htmlText, sortTitlesNoColon, 0, structureMap);
+       List<String> sortTitlesNoColon = sortTitlesNoColons(titles, htmlText);
+       cutByTitlesNoColon(htmlText, sortTitlesNoColon, 0, structureMap);
     }
 
     /**
@@ -271,6 +271,27 @@ public class XszyyCommonAnalysisUtil {
         return titles;
     }
 
+    /**
+     * 标题没有冒号版本
+     */
+    public static List<String> sortTitlesNoColons(List<String> titles, String content) {
+        Map<Integer, String> titleIndex = new TreeMap<>();
+        int index;
+        for (String title : titles) {
+            index = content.indexOf(title);
+            if (index != -1) {
+                titleIndex.put(index, title);
+                String a = "";
+                for (int i = 0; i < title.length(); i++) {
+                    a += "*";
+                }
+                content = content.replace(title,a );
+            }
+        }
+        titles = Lists.newArrayList(titleIndex.values());
+        return titles;
+    }
+
     /**
      * 抽取文本中的第一个时间(萧山中医院)
      *