Browse Source

萧山中医院,首次病程录,鉴别诊断解析处理

liuqq 3 years ago
parent
commit
937605d8ed

+ 27 - 15
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunFirstCourseRecordHtmlAnalysis.java

@@ -30,37 +30,49 @@ public class BeiLunFirstCourseRecordHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
             List<String> titles = Lists.newArrayList("病例特点","病历特点","中医辨病辩证依据及鉴别诊断",
-                    "西医诊断依据及鉴别诊断","西医诊断依据","西医鉴别诊断","鉴别诊断","拟诊讨论","初步诊断","诊疗方案",
+                    "西医诊断依据及鉴别诊断","西医诊断依据","西医鉴别诊断","拟诊讨论","初步诊断","诊疗方案",
                     "医师签名","诊疗计划"
             );
             String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());
             if (StringUtil.isNotBlank(htmlContent)) {
+                //有冒号
+                //XszyyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,structureMap);
                 //无冒号版本
                 XszyyCommonAnalysisUtil.html2StructureMapNoColon(titles,htmlContent,structureMap);
+                if(XszyyCommonAnalysisUtil.extractDate(htmlContent)!=null){
+                    structureMap.put("病历日期",XszyyCommonAnalysisUtil.extractDate(htmlContent.replace(":",":")));
+                }
                 if(htmlContent.contains("病历特点")){
-                    structureMap.put("病历内容",htmlContent.substring(0,htmlContent.indexOf("病历特点")));
+                    structureMap.put("病历内容",htmlContent.substring(0,htmlContent.indexOf("病历特点")).replace(recTitle,""));
                 }else if(htmlContent.contains("病例特点")){
-                    structureMap.put("病历内容",htmlContent.substring(0,htmlContent.indexOf("病例特点")));
-                }
-                if(XszyyCommonAnalysisUtil.extractDate(htmlContent)!=null){
-                    structureMap.put("病历日期",XszyyCommonAnalysisUtil.extractDate(htmlContent));
+                    structureMap.put("病历内容",htmlContent.substring(0,htmlContent.indexOf("病例特点")).replace(recTitle,""));
                 }
+                structureMap.put("病历内容",structureMap.get("病历内容").replace(":",":").replace(structureMap.get("病历日期"),""));
+
                 List<String> specialString = Lists.newArrayList(
-                        "根据情况,目前诊断明确,无需鉴别诊断。",
-                        "根据病史查体影像学资料,诊断明确,无需鉴别。",
-                        "本病有明确外伤史,结合影像学检查可明确诊断,无需鉴别。"
+                        "无需其他特殊鉴别诊断","无需鉴别","无须鉴别"
                 );
                 if(StringUtil.isNotEmpty(structureMap.get("西医诊断依据及鉴别诊断"))){
-                    structureMap.put("西医诊断依据",structureMap.get("西医诊断依据及鉴别诊断"));
-                    if(StringUtil.isEmpty(structureMap.get("西医诊断依据")) || StringUtil.isEmpty(structureMap.get("西医鉴别诊断"))){
-                        for (String specialC:specialString) {
+                    String diag=structureMap.get("西医诊断依据及鉴别诊断");
+                    if(diag.contains("入院诊断")){
+                        int index=diag.indexOf("入院诊断");
+                        structureMap.put("初步诊断",diag.substring(index));
+                        diag=diag.replace(structureMap.get("初步诊断"),"");
+                    }
+                    if(StringUtil.isEmpty(structureMap.get("西医诊断依据")) && StringUtil.isEmpty(structureMap.get("西医鉴别诊断"))){
+                        structureMap.put("西医诊断依据",diag);
+                        structureMap.put("西医诊断依据及鉴别诊断","");
+                        /*for (String specialC:specialString){
                             if(structureMap.get("西医诊断依据").contains(specialC)){
-                                structureMap.put("西医诊断依据",structureMap.get("西医诊断依据").replace(specialC,""));
-                                structureMap.put("西医鉴别诊断",specialC);
+                                structureMap.put("西医鉴别诊断","无需鉴别");
                             }
-                        }
+                        }*/
                     }
                 }
+                if(StringUtil.isNotEmpty(structureMap.get("拟诊讨论")) && StringUtil.isEmpty(structureMap.get("中医辨病辩证依据及鉴别诊断"))){
+                    structureMap.put("中医辨病辩证依据及鉴别诊断",structureMap.get("拟诊讨论"));
+                    structureMap.put("拟诊讨论","");
+                }
             }
             structureMap.put("标题",recTitle);
             XszyyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);