Bläddra i källkod

萧山中医院手术记录及查房记录解析

liuqq 3 år sedan
förälder
incheckning
d556c5f7c6

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/xszyy/BeiLunBeHospitalizedDocTrans.java

@@ -76,7 +76,7 @@ public class BeiLunBeHospitalizedDocTrans extends ModelDocTrans {
             "辅 助 检 查=辅助检查",
             "入 院 诊 断=入院诊断",
             "初步诊断=入院诊断",
-            "病案号=住院号码",
+            "住址=单位或住址",
             "住院号=住院号码"
     );
 

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

@@ -206,7 +206,8 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
 
     private List<String> operationRecord_keyContrasts = Lists.newArrayList(
             "术后诊断=术中后诊断",
-            "麻醉人员=麻醉医师",
+            "麻醉人员=麻醉医师","手法方式=手术名称","手术方式=手术名称","手术方案=手术名称","手术前诊断=术前诊断",
+            "手术经过(包括病人体位、切口选择、病灶所见、术中出现情况及处理等)=手术经过及处理",
             "手术经过=手术经过及处理",
             "主刀医师签名=主刀医师",
             "记录医师签名=记录医生",
@@ -305,10 +306,12 @@ public class BeiLunOperationDocTrans extends ModelDocTrans {
             "主 持 人=主持人",
             "参加人员姓名及专业技术职称=参加人员",
             "报告病史=简要病情",
+            "讨论意见内容记录=具体讨论意见","讨论记录=具体讨论意见",
+            "拟施手术名称和方式=拟施手术名称及方式",
             "讨论意见内容记录=具体讨论意见",
-            "记录者签名=记录医生",
-            "记录者签名=记录医生",
-            "拟施手术名称和方式=拟施手术名称及方式"
+            "入院时间=入院日期",
+            "(6)目前诊断=术前诊断","(2)术前准备=术前准备",
+            "(4)可能出现的意外及防范措施=注意事项","(1)手术指征=手术指征","报告病史=简要病情","(3)手术方案=拟施手术名称及方式"
 
     );
 

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

@@ -46,17 +46,17 @@ 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("家长姓名","病区","床号","住院号码","病案号","住院号","入 院 记 录","住 院 大 病 历",
                 "姓 名", "职 业", "性 别", "入院日期","年 龄", "记录日期", "婚 姻","病史陈述者", "出生地","可靠程度",
                 "民 族","身份证号码","发病节气","病案号","单位或住址","主 诉","现病史","既往史","个人史","婚育史","家族史",
                 "专项 评估","专项评估",
                 "体 格 检 查","体 格 检 查 表 ( 一 )","补充及专科检查","辅 助 检 查","辅助检查", "入 院 诊 断","初步诊断",
-                "书写医生","医师签名","书写医师","修正诊断"
+                "书写医生","医师签名","书写医师","修正诊断","家长电话","出生年月","住 址"
         );
         String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());
         if (StringUtil.isNotBlank(htmlContent)) {
             //有冒号版本
-//            XszyyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
+            XszyyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
             //无冒号版本
             XszyyCommonAnalysisUtil.html2StructureMapNoColon(titles,htmlContent,map);
         }
@@ -121,7 +121,7 @@ public class BeiLunBeHospitalizedHtmlAnalysis implements BeiLunHtmlAnalysis {
 
     //原-日间病历入出院记录、日间病历-性早熟
     private void analysisDay(Document doc, Map<String, String> map) {
-        List<String> titles = Lists.newArrayList("姓名","病区","床号","住院号码","病案号","住院号","入 院 记 录","住 院 大 病 历",
+        List<String> titles = Lists.newArrayList("家长姓名","病区","床号","住院号码","病案号","住院号","入 院 记 录","住 院 大 病 历",
                 "姓 名", "职 业", "性 别", "入院日期","年 龄", "记录日期", "婚 姻","病史陈述者", "出生地","可靠程度",
                 "民 族","身份证号码","发病节气","病案号","单位或住址","主 诉","现病史","既往史","个人史","婚育史","家族史",
                 "专项 评估","专项评估",

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunOperationRecordHtmlAnalysis.java

@@ -32,7 +32,8 @@ public class BeiLunOperationRecordHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
             List<String> titles = Lists.newArrayList("姓名","病区","床号","住院号","手 术 记 录 单",
-                    "手术日期","手术时间","开始时间","结束时间","术前诊断","手术名称","术后诊断","手术人员","麻醉方式","麻醉人员","手术经过",
+                    "手术日期","手术时间","开始时间","结束时间","手术前诊断","术前诊断","手法方式","手术方式","手术方案","手术名称","术后诊断","手术人员","麻醉方式","麻醉人员","手术经过",
+                    "手术经过(包括病人体位、切口选择、病灶所见、术中出现情况及处理等)",
                     "记录医师签名","主刀医师签名","主刀医师","记录医师","科室意见","科主任","医师签名"
             );
             String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());

+ 15 - 4
trans/src/main/java/com/lantone/qc/trans/xszyy/util/BeiLunPreoperativeHtmlAnalysis.java

@@ -32,10 +32,9 @@ public class BeiLunPreoperativeHtmlAnalysis implements BeiLunHtmlAnalysis {
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
             List<String> titles = Lists.newArrayList("简要病情","术前诊断","手术指征","拟施手术名称和方式","拟施麻醉方式",
-                    "注意事项","术者术前查房情况","书写医师",
-
-                    "入院日期","讨论日期","讨论地点","主 持 人","参加人员姓名及专业技术职称","报告病史", "讨论意见内容记录","主持人小结意见","记录者签名","记录者",
-                    "主持人签名"
+                    "注意事项","术者术前查房情况","书写医师","医师签名",
+                    "入院日期","入院时间","讨论日期","讨论时间","讨论地点","主 持 人","参加人员姓名及专业技术职称","参加人员","报告病史", "讨论记录","讨论意见内容记录","记录者签名","记录者",
+                    "主持人签名","(4)可能出现的意外及防范措施","(3)手术方案","(2)术前准备","(1)手术指征","主持人小结意见","主持人小结"
             );
             String htmlContent = XszyyCommonAnalysisUtil.html2String(doc.toString());
 
@@ -47,6 +46,18 @@ public class BeiLunPreoperativeHtmlAnalysis implements BeiLunHtmlAnalysis {
                 }
             }
 
+            if(StringUtil.isNotEmpty(structureMap.get("主持人小结意见")) && structureMap.get("主持人小结意见").contains("手术指征")){
+                String operationDesc=structureMap.get("主持人小结意见").substring(structureMap.get("主持人小结意见").lastIndexOf("手术指征")+4);
+                structureMap.put("手术指征",operationDesc);
+            }
+            if(StringUtil.isNotEmpty(structureMap.get("主持人小结")) && structureMap.get("主持人小结").contains("手术指征")){
+                String operationDesc=structureMap.get("主持人小结").substring(structureMap.get("主持人小结").lastIndexOf("手术指征")+4);
+                structureMap.put("手术指征",operationDesc);
+            }
+            if(StringUtil.isNotEmpty(structureMap.get("报告病史")) && structureMap.get("报告病史").contains("目前诊断")){
+                String diag=structureMap.get("报告病史").substring(structureMap.get("报告病史").lastIndexOf("目前诊断"),structureMap.get("报告病史").lastIndexOf("讨论目的")-3);
+                structureMap.put("(6)目前诊断",diag);
+            }
             structureMap.put("文书标题",recTitle);
             XszyyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);
         } catch (Exception e) {

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

@@ -35,7 +35,7 @@ public class BeiLunThreeLevelWardHtmlAnalysis implements BeiLunHtmlAnalysis {
             XszyyCommonAnalysisUtil.xszyyExtractWardInfo(recTitle, htmlContent, structureMap);
 
             //病情记录存在副主任医师和书写医师字段
-            if(structureMap.containsKey("病情记录")){
+            /*if(structureMap.containsKey("病情记录")){
                 String bqtext = structureMap.get("病情记录");
 
                 //无冒号版本
@@ -45,8 +45,7 @@ public class BeiLunThreeLevelWardHtmlAnalysis implements BeiLunHtmlAnalysis {
                 if(bqtext.contains("副主任医师")){
                     structureMap.put("病情记录",bqtext.substring(0,bqtext.lastIndexOf("副主任医师")));
                 }
-            }
-
+            }*/
 
             XszyyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);
         } catch (Exception e) {

+ 3 - 0
trans/src/main/java/com/lantone/qc/trans/xszyy/util/comsis/XszyyCommonAnalysisUtil.java

@@ -682,6 +682,9 @@ public class XszyyCommonAnalysisUtil {
                 } else if (info.contains("医师签名")) {
                     structureMap.put("病情记录", info.substring(0, info.lastIndexOf("医师签名")));
                     structureMap.put("医师签名", info.substring(info.lastIndexOf("医师签名") + "医师签名:".length()));
+                }else if (info.contains("主治医师")) {
+                    structureMap.put("病情记录", info.substring(0, info.lastIndexOf("主治医师")));
+                    structureMap.put("医师签名", info.substring(info.lastIndexOf("主治医师") + "主治医师:".length()));
                 }
             }
         }