Bläddra i källkod

Merge remote-tracking branch 'origin/hb/beilun' into hb/beilun

daiyi 3 år sedan
förälder
incheckning
38b4b1a7af
24 ändrade filer med 164 tillägg och 136 borttagningar
  1. 8 6
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyBeHospitalizedDocTrans.java
  2. 2 5
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyConsultationDocTrans.java
  3. 3 1
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyCrisisValueReportDocTrans.java
  4. 4 2
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyCriticallyIllNoticeDocTrans.java
  5. 8 4
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyDeathCaseDiscussDocTrans.java
  6. 6 1
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyDeathRecordDocTrans.java
  7. 3 3
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyDifficultCaseDiscussDocTrans.java
  8. 5 6
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyFirstCourseRecordDocTrans.java
  9. 6 19
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyLeaveHospitalDocTrans.java
  10. 27 35
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyOperationDocTrans.java
  11. 2 1
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyRescueDocTrans.java
  12. 2 1
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyStagesSummaryDocTrans.java
  13. 3 3
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyThreeLevelWardDocTrans.java
  14. 2 3
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyTransferRecordDocTrans.java
  15. 12 3
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyBeHospitalizedHtmlAnalysis.java
  16. 4 0
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyConsultationRecordHtmlAnalysis.java
  17. 1 0
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyCriticallyIllNoticeHtmlAnalysis.java
  18. 35 3
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyDeathCaseDiscussHtmlAnalysis.java
  19. 6 7
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyDeathRecordHtmlAnalysis.java
  20. 1 1
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyDifficultCaseDiscussHtmlAnalysis.java
  21. 10 8
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyOperationHtmlAnalysis.java
  22. 3 17
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyOperationRecordHtmlAnalysis.java
  23. 11 6
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyPreoperativeHtmlAnalysis.java
  24. 0 1
      trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyTransferIntoHtmlAnalysis.java

+ 8 - 6
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyBeHospitalizedDocTrans.java

@@ -62,12 +62,14 @@ public class YuhangsyBeHospitalizedDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "联系人(关系)=联系人",
-            "入院时间=入院日期",
-            "医生签名=记录医生",
-            "医生签名时间=记录时间",
-            "疼痛评估=疼痛",
-            "代诉=主诉"
+            "供史者=病史陈述者",
+//            "记录日期=病史采集时间",
+            "时间=记录时间",
+            "医师签名=记录医生",
+            "产科专科检查一般状况=专科检查",
+            "补充及专科情况体温=专科检查",
+            "实验室检查=辅助检查",
+            "民族\\宗教=民族"
     );
 
 }

+ 2 - 5
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyConsultationDocTrans.java

@@ -116,11 +116,8 @@ public class YuhangsyConsultationDocTrans extends ModelDocTrans {
     }
 
     private List<String> consultationRecord_keyContrasts = Lists.newArrayList(
-            "执行情况=会诊情况",
-            "记录日期=会诊申请日期",
-            "签名++++=签名",
-            "病情记录=简要病情",
-            "医师签名=签名"
+            "会诊原因=会诊目的",
+            "医师会诊意见=会诊意见"
     );
 
 

+ 3 - 1
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyCrisisValueReportDocTrans.java

@@ -66,7 +66,9 @@ public class YuhangsyCrisisValueReportDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "病情记录=病情分析及处理"
+            "病历标题=标题",
+            "记录医师=医师签名",
+            "病情记录=病历内容"
     );
 
 }

+ 4 - 2
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyCriticallyIllNoticeDocTrans.java

@@ -68,8 +68,10 @@ public class YuhangsyCriticallyIllNoticeDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "临床诊断=当前诊断",
-            "患方签名=患者签名"
+            "患者姓名=姓名",
+            "现在我院=科别",
+            "医护人员签名签名日期=医生签名时间",
+            "目前诊断为=当前诊断"
     );
 
 }

+ 8 - 4
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyDeathCaseDiscussDocTrans.java

@@ -54,11 +54,15 @@ public class YuhangsyDeathCaseDiscussDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "医生签名时间=记录时间",
-            "主持人小结意见=主持人小结",
-            "具体讨论意见=讨论内容",
+            "患者姓名=姓名",
+            "病情摘要=病史简介",
+            "讨论日期=讨论时间",
+            "死亡主持人签名=主持人",
+            "参加讨论人员(注明职称、职务)=参加人员",
+            "讨论意见(对诊断、治疗、抢救的意见,死亡原因分析及经验教训等的记录)=讨论内容",
             "记录者签名=记录医生",
-            "主持人(签名)=主持人签名"
+            "记录者签名日期=记录时间",
+            "总结=主持人小结"
     );
 
 }

+ 6 - 1
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyDeathRecordDocTrans.java

@@ -56,7 +56,12 @@ public class YuhangsyDeathRecordDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "签名时间=记录时间"
+            "入院时情况(简要病史、阳性体征、有关实验室及器械检查结果)=入院情况",
+            "住院经过及抢救经过=诊疗经过",
+            "尸体病理解剖情况=尸检",
+            "实验室检查=医技检查",
+            "实验室检查=医技检查",
+            "记录医师=记录医生"
     );
 
 }

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyDifficultCaseDiscussDocTrans.java

@@ -82,9 +82,9 @@ public class YuhangsyDifficultCaseDiscussDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "主持人=主持人姓名及专业技术职务",
-            "参加人员=参加人员的姓名及专业技术职务",
-            "主持人小结意见/讨论结论=主持人小结"
+            "病历记录时间=记录时间",
+            "记录医师=记录医生签名",
+            "病程内容=汇报病史"
     );
 
 }

+ 5 - 6
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyFirstCourseRecordDocTrans.java

@@ -73,12 +73,11 @@ public class YuhangsyFirstCourseRecordDocTrans extends ModelDocTrans {
         return structureMap;
     }
 
-    private List<String> keyContrasts = Lists.newArrayList(
-            "时间=病历日期",
-            "病历特点=病例特点",
-            "入院查体=查体",
-            "辅助检查=辅检",
-            "记录医师=记录医生"
+    private List<String>    keyContrasts = Lists.newArrayList(
+            "病历记录标题=标题",
+            "病历记录时间=病历日期",
+            "记录医师=记录医生",
+            "病历特点=病例特点"
     );
 
 }

+ 6 - 19
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyLeaveHospitalDocTrans.java

@@ -64,25 +64,12 @@ public class YuhangsyLeaveHospitalDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "患者姓名=姓名",
-            "性别=",
-            "床号=",
-            "年龄=",
-            "科室=科别",
-            "入院诊断=入院诊断",
-            "出院诊断=出院诊断",
-            "实际住院天数=住院天数",
-            "入院情况=入院情况",
-            "诊疗经过=诊治经过",
-            "出院情况=",
-            "出院医嘱=",
-            "随访计划=",
-            "医师签名=记录医生",
-            "时间=记录时间",
-            "治疗结果=诊疗结果",
-            "其它=其他",
-            "出生年月=出生日期",
-            "床位=床号"
+            "入院时间=入院日期",
+            "出院时间=出院日期",
+            "入院情况=病史摘要",
+            "住院经过=诊疗经过",
+            "签名时间=时间",
+            "入院查体=主要实验室检查及器械检验结果"
     );
 
 }

+ 27 - 35
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyOperationDocTrans.java

@@ -130,13 +130,10 @@ public class YuhangsyOperationDocTrans extends ModelDocTrans {
     }
 
     private List<String> operationDiscussion_keyContrasts = Lists.newArrayList(
-            "手术简要经过(包括手术方式、术中所见、过程是否顺利、有无并发症等)=手术简要经过",
-            "病情记录=手术简要经过",
-            "术后诊断=术中后诊断",
-            "患者手术后情况=患者术后情况",
-            "术后应当特别注意观察的事项:=术后注意事项",
-            "术后治疗计划(包括术后应当特别注意观察的事项)=术后注意事项",
-            "医师签名=医生签名"
+            "病历日期=病历日期",
+            "病历标题=标题",
+            "病情记录=术后注意事项",
+            "记录医生=记录医生"
     );
 
 
@@ -207,13 +204,13 @@ public class YuhangsyOperationDocTrans extends ModelDocTrans {
     }
 
     private List<String> operationRecord_keyContrasts = Lists.newArrayList(
-            "手术经过=手术经过及处理",
-            "术诊断=术中后诊断",
-            "主刀=主刀医师",
-            "记录者=记录医生",
-            "患者手术后情况=患者术后情况",
-            "麻醉方法=麻醉方式",
-            "时间=记录时间"
+            "手术开始时间=开始时间",
+            "术诊断=术中后诊断",
+//            "麻醉医师=麻醉者",
+//            "麻醉方式=麻醉方法",
+            "记录医师=记录医生",
+            "记录医师签名时间=记录时间",
+            "手术过程=手术经过及处理"
     );
 
 
@@ -255,7 +252,13 @@ public class YuhangsyOperationDocTrans extends ModelDocTrans {
             YuhangsyHtmlAnalysis yhsyHtmlAnalysis = new YuhangsyPreoperativeHtmlAnalysis();
             Map<String, String> sourceMap = yhsyHtmlAnalysis.analysis(content, recTitle, recTypeId);
             if (MapUtils.isNotEmpty(sourceMap)) {
-                structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts);
+                if (StringUtil.isNotBlank(sourceMap.get("文书标题")) && sourceMap.get("文书标题").equals("术前小结")) {
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts2);
+                } else {
+                    structureMap = OrdinaryAssistant.mapKeyContrast(sourceMap, preoperativeDiscussion_keyContrasts);
+                }
+
+
                 structureMap.put("记录编号", contentMap.get("recId").toString());
                 structureMap.put("病历号", contentMap.get("behospitalCode") == null ? null : contentMap.get("behospitalCode").toString());
             }
@@ -301,26 +304,15 @@ public class YuhangsyOperationDocTrans extends ModelDocTrans {
     }
 
     private List<String> preoperativeDiscussion_keyContrasts = Lists.newArrayList(
-            "1.术前诊断=术前诊断",
-            "2.手术指征与禁忌征=手术指征与禁忌",
-            "3.可替代方案=可替代的方案",
-            "4.拟施手术方式(名称)及可能的变更方案=拟施手术方式、名称及可能的变更与禁忌症",
-            "5.计划性多次手术=计划性多次手术",
-            "6.拟施麻醉方式=拟施麻醉方式",
-            "5.拟施麻醉方式=拟施麻醉方式",
-            "5.本次手术是否属于计划性多次手术=计划性多次手术",
-            "6.术前特殊准备=术前准备",
-            "7.术前特殊准备=术前准备",
-            "7.主要术中、术后风险及防范措施=风险及防范措施",
-            "8.主要术中、术后风险及防范措施=风险及防范措施",
-            "9.术中、术后注意事项(含护理事项)=术中术后注意事项",
-            "8.术中、术后注意事项(含护理事项)=术中术后注意事项",
-            //"术中、术后注意事项(含护理事项)=术后注意事项",
-            //"拟施手术方式(名称)及可能的变更方案=拟施手术方式、名称及可能的变更与禁忌症",
-            //"术前特殊准备=术前准备",
-            //"手术指征与禁忌征=手术指征与禁忌",
-            "经治医生签字时间=记录时间",
-            "签字时间=记录时间"
+            "讨论时间=文书时间",
+            "讨论方式=病历内容",
+            "主刀医生签名=记录医生"
+    );
+    private List<String> preoperativeDiscussion_keyContrasts2 = Lists.newArrayList(
+            "病史摘要=病历内容",
+            "医生签名=记录医生",
+            "日期=文书时间"
+
     );
 
     /**********************************************手术知情同意书****************************************************/

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyRescueDocTrans.java

@@ -67,7 +67,8 @@ public class YuhangsyRescueDocTrans extends ModelDocTrans {
 
     private List<String> keyContrasts = Lists.newArrayList(
             "病历标题=标题",
-            "病情记录=抢救内容"
+            "病情记录=抢救内容",
+            "记录医师=记录医生"
     );
 
 }

+ 2 - 1
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyStagesSummaryDocTrans.java

@@ -66,8 +66,9 @@ public class YuhangsyStagesSummaryDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
+            "记录医师=记录医生",
             "病历标题=标题",
-            "病情记录=病历内容"
+            "病情记录=目前病情"
     );
 
 }

+ 3 - 3
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyThreeLevelWardDocTrans.java

@@ -272,9 +272,9 @@ public class YuhangsyThreeLevelWardDocTrans extends ModelDocTrans {
 
     private List<String> keyContrasts = Lists.newArrayList(
             "病历记录时间=查房日期",
-            "病历标题=查房标题",
-            "科主任=三级医师",
-            "记录日期=记录时间"
+            "病历记录标题=查房标题",
+            "病程内容=病情记录",
+            "记录医师=记录医生"
     );
 
     /**

+ 2 - 3
trans/src/main/java/com/lantone/qc/trans/yuhangsy/YuhangsyTransferRecordDocTrans.java

@@ -296,10 +296,9 @@ public class YuhangsyTransferRecordDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "医师签名=记录医生",
+            "记录医师=记录医生",
             "病历标题=标题",
-            "病情记录=病历内容",
-            "签名时间=记录时间"
+            "病情记录=目前病情"
     );
 
 }

+ 12 - 3
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyBeHospitalizedHtmlAnalysis.java

@@ -50,9 +50,9 @@ public class YuhangsyBeHospitalizedHtmlAnalysis implements YuhangsyHtmlAnalysis
 
     //一般模板
     private void analysisGeneral(Document doc, String recTitle, Map<String, String> structureMap) {
-        List<String> titles = Lists.newArrayList("姓名", "工作单位", "性别", "住址", "年龄", "联系人(电话)", "婚姻",
-                "入院日期", "民族", "记录日期", "职业", "供史者", "籍贯","身份证号码",
-                "主 诉","现病史", "既往史", "个人史","婚育史","家族史", "体格检查一般状况", "其 他","实验室检查", "特殊检查","辅助检查",
+        List<String> titles = Lists.newArrayList("姓名", "工作单位", "性别", "住址","住 址", "年龄", "联系人(电话)","联系人及电话号码", "婚姻",
+                "入院日期", "民族","民族\\宗教", "记录日期", "职业", "供史者", "籍贯","身份证号码",
+                "主 诉","现病史", "既往史", "个人史","婚育史","家族史","产科专科检查一般状况", "体格检查一般状况", "其 他","补充及专科情况 体温","实验室检查", "特殊检查","辅助检查",
                 "初步诊断", "医师签名", "时间", "修正诊断");
 
         String htmlContent = YuhangsyCommonAnalysisUtil.html2String(doc.toString());
@@ -65,6 +65,15 @@ public class YuhangsyBeHospitalizedHtmlAnalysis implements YuhangsyHtmlAnalysis
             structureMap.put("时间", structureMap.get("医师签名").substring(index+"时间:".length()));
             structureMap.put("医师签名", structureMap.get("医师签名").substring(0, index));
         }
+        //如果时间带有医师签名
+        if(StringUtil.isNotBlank(structureMap.get("时间"))&& structureMap.get("时间").contains("医师签名")){
+            Integer index = structureMap.get("时间").indexOf("医师签名");
+            structureMap.put("时间", structureMap.get("时间").substring(0,index));
+        }
+        //补充及专科情况 体温内容加体温
+        if(StringUtil.isNotBlank(structureMap.get("补充及专科情况体温"))){
+            structureMap.put("补充及专科情况体温", "体温:"+structureMap.get("补充及专科情况体温"));
+        }
     }
 
     //24小时出入院记录、24小时出入院记录(全院)、24小时入出院记录(全院通用)、24小时内入院死亡记录(全院通用)

+ 4 - 0
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyConsultationRecordHtmlAnalysis.java

@@ -30,8 +30,12 @@ public class YuhangsyConsultationRecordHtmlAnalysis implements YuhangsyHtmlAnaly
             String recTitle = args[1];
             String recTypeId = args[2];
             String htmlContent = YuhangsyCommonAnalysisUtil.html2String(html);
+            List<String> titles = Lists.newArrayList("会诊原因", "医师会诊意见");
             if (StringUtil.isNotBlank(htmlContent)) {
                 YuhangsyCommonAnalysisUtil.extractWardInfo2(recTitle, htmlContent, map);
+                if (StringUtil.isNotBlank(map.get("病情记录"))) {
+                    YuhangsyCommonAnalysisUtil.html2StructureMap(titles,map.get("病情记录"),map);
+                }
             }
             YuhangsyCommonAnalysisUtil.signatureTime1("病历日期", map);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyCriticallyIllNoticeHtmlAnalysis.java

@@ -47,6 +47,7 @@ public class YuhangsyCriticallyIllNoticeHtmlAnalysis implements YuhangsyHtmlAnal
                 //标题中无冒号版本
                 YuhangsyCommonAnalysisUtil.html2StructureMapNoColon(titles,htmlContent,structureMap);
             }
+            //签名日期中有其他信息
             customMethod(structureMap);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);
         } catch (Exception e) {

+ 35 - 3
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyDeathCaseDiscussHtmlAnalysis.java

@@ -29,14 +29,18 @@ public class YuhangsyDeathCaseDiscussHtmlAnalysis implements YuhangsyHtmlAnalysi
         try {
             String html = args[0];
             String recTypeId = args[2];
-            List<String> titles = Lists.newArrayList("入院时间","死亡时间","讨论时间","讨论地点","主持人","参加人员的姓名及专业技术职务","医师汇报病情",
-                    "主持人小结","归结","结论","记录医师签名","主持人审核签名"
+            List<String> titles = Lists.newArrayList(
+                    "患者姓名", "性别", "年龄", "婚姻", "出生地", "职业", "工作单位", "住址", "入院日期", "死亡日期", "讨论日期", "入院诊断", "死亡诊断",
+                    "参加讨论人员(注明职称、职务)",
+                    "病情摘要", "入科查体", "转入诊断", "讨论意见(对诊断、治疗、抢救的意见,死亡原因分析及经验教训等的记录)","总结",
+                    "死亡原因", "死亡主持人签名", "签名日期", "记录者签名"
             );
             String htmlContent = YuhangsyCommonAnalysisUtil.html2String(html);
 
             if (StringUtil.isNotBlank(htmlContent)) {
-                YuhangsyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
+                YuhangsyCommonAnalysisUtil.html2StructureMap(titles, htmlContent, map);
             }
+            customMethod(map);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -44,4 +48,32 @@ public class YuhangsyDeathCaseDiscussHtmlAnalysis implements YuhangsyHtmlAnalysi
         return map;
     }
 
+    /**
+     * 解决讨论日期带有入院诊断
+     *
+     * @param map
+     */
+    private void customMethod(Map<String, String> map) {
+        //解决讨论日期带有入院诊断
+        if (map.containsKey("讨论日期")) {
+            String name = map.get("讨论日期");
+            if (name.contains("入院诊断")) {
+                String date = YuhangsyCommonAnalysisUtil.extractDate(name);
+                if (date != null) {
+                    map.put("讨论日期", date);
+                    name = name.substring(name.indexOf("入院诊断:"));
+                    map.put("入院诊断", name);
+                }
+            }
+        }
+        //记录者签名中存在记录者签名日期
+        if (map.containsKey("记录者签名")) {
+            String name = map.get("记录者签名");
+            if (name.contains("签名日期")) {
+                map.put("记录者签名", name.substring(0, name.indexOf("签名日期:")));
+                map.put("记录者签名日期", name.substring(name.indexOf("签名日期:")));
+            }
+        }
+    }
+
 }

+ 6 - 7
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyDeathRecordHtmlAnalysis.java

@@ -32,11 +32,10 @@ public class YuhangsyDeathRecordHtmlAnalysis implements YuhangsyHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            List<String> titles = Lists.newArrayList("入院时间", "死亡时间", "入院情况", "查体","转入诊断", "入院诊断", "诊疗经过", "实验室及器械检查结果",
-                     "死亡诊断", "医师签名", "时间","主 诉","主诉","实验室及其他检查结果","辅助检查","特殊检查","日 期",
-                    "姓名","性别","年龄","婚姻","职业","民族","工作单位","住址","入院日期","入院诊断","手术日期","手术名称","死亡日期","住院天数","死亡诊断",
-                    "入院时情况(简要病史、阳性体征、有关实验室及器械检查结果)","体格检查","实验室检查","特殊检查","住院经过及抢救经过","死亡原因","尸体病理解剖情况","X线片号","病理检验号",
-                    "主治医师签名","科主任(副主任医师以上)","医师签名"
+            List<String> titles = Lists.newArrayList(
+                    "姓名", "性别", "年龄", "婚姻", "职业", "民族", "工作单位", "住址", "入院日期", "入院诊断", "手术日期", "手术名称", "死亡日期", "住院天数", "死亡诊断",
+                    "入院时情况(简要病史、阳性体征、有关实验室及器械检查结果)", "实验室检查", "特殊检查", "住院经过及抢救经过", "死亡原因", "尸体病理解剖情况", "X线片号", "病理检验号",
+                    "主治医师签名", "科主任(副主任医师以上)", "医师签名"
             );
             String htmlContent = YuhangsyCommonAnalysisUtil.html2String(html);
 
@@ -44,8 +43,8 @@ public class YuhangsyDeathRecordHtmlAnalysis implements YuhangsyHtmlAnalysis {
                 YuhangsyCommonAnalysisUtil.html2StructureMap(titles, htmlContent, structureMap);
             }
             // 解决时间显示 年 月 日 时
-            YuhangsyCommonAnalysisUtil.signatureTime1("时间",structureMap);
-            YuhangsyCommonAnalysisUtil.signatureTime1("日 期",structureMap);
+            YuhangsyCommonAnalysisUtil.signatureTime1("时间", structureMap);
+            YuhangsyCommonAnalysisUtil.signatureTime1("日 期", structureMap);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, structureMap);
         } catch (Exception e) {
             log.error(e.getMessage(), e);

+ 1 - 1
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyDifficultCaseDiscussHtmlAnalysis.java

@@ -32,7 +32,7 @@ public class YuhangsyDifficultCaseDiscussHtmlAnalysis implements YuhangsyHtmlAna
             Document doc = Jsoup.parse(html);
             List<String> titles = Lists.newArrayList("病历记录时间", "病历记录标题", "病程内容","记录医师"
             );
-            String htmlContent = YuhangsyHtmlAnalysisUtil.blockDivToStr2(doc.selectFirst("body"), true);
+            String htmlContent = YuhangsyHtmlAnalysisUtil.blockDivToStr2(doc.selectFirst("EMRDoc"), true);
 
             if (StringUtil.isNotBlank(htmlContent)) {
                 YuhangsyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,structureMap);

+ 10 - 8
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyOperationHtmlAnalysis.java

@@ -29,18 +29,20 @@ public class YuhangsyOperationHtmlAnalysis implements YuhangsyHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            List<String> titles = Lists.newArrayList("手术方式", "术后诊断", "手术简要经过","术后可能出现的并发症及特别需要观察的事项",
-                    "术后处理措施及注意事项","其他","术前诊断","患方代表签字","主刀医师签字","日 期"
-            );
+//            List<String> titles = Lists.newArrayList("手术方式", "术后诊断", "手术简要经过", "术后可能出现的并发症及特别需要观察的事项",
+//                    "术后处理措施及注意事项", "其他", "术前诊断", "患方代表签字", "主刀医师签字", "日 期"
+//            );
             String htmlContent = YuhangsyCommonAnalysisUtil.html2String(html);
 
             if (StringUtil.isNotBlank(htmlContent)) {
-                YuhangsyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
+                YuhangsyCommonAnalysisUtil.extractWardInfo2(recTitle, htmlContent, map);
+//                YuhangsyCommonAnalysisUtil.html2StructureMap(titles, htmlContent, map);
             }
 
             // 解决其他中带有(二、患方意见)
-            customMethod(map);
-
+//            customMethod(map);
+//            map.put("标题",recTitle);
+            YuhangsyCommonAnalysisUtil.signatureTime1("病历日期", map);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -56,8 +58,8 @@ public class YuhangsyOperationHtmlAnalysis implements YuhangsyHtmlAnalysis {
     private void customMethod(Map<String, String> map) {
         String goCureDoctor = map.get("其他");
         if (StringUtil.isNotBlank(goCureDoctor) && goCureDoctor.contains("二、患方意见")) {
-            map.put("患方意见", goCureDoctor.substring(goCureDoctor.indexOf("二、患方意见")+"二、患方意见".length()));
-            map.put("其他", goCureDoctor.substring(0,goCureDoctor.indexOf("二、患方意见")));
+            map.put("患方意见", goCureDoctor.substring(goCureDoctor.indexOf("二、患方意见") + "二、患方意见".length()));
+            map.put("其他", goCureDoctor.substring(0, goCureDoctor.indexOf("二、患方意见")));
         }
     }
 }

+ 3 - 17
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyOperationRecordHtmlAnalysis.java

@@ -35,29 +35,15 @@ public class YuhangsyOperationRecordHtmlAnalysis implements YuhangsyHtmlAnalysis
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
             List<String> titles = Lists.newArrayList("手术开始时间", "术前诊断", "手术名称", "术中诊断",
-                    "手术人员","麻醉方式", "麻醉医师", "手术过程","术中状态", "签名"
+                    "手术人员","主刀医师","一助","麻醉方式", "麻醉医师", "手术过程","术中状态", "签名","记录医师","记录医师签名时间"
             );
-            String htmlContent = YuhangsyHtmlAnalysisUtil.blockDivToStr2(doc.selectFirst("body"), true);
+            String htmlContent = YuhangsyHtmlAnalysisUtil.blockDivToStr2(doc.selectFirst("EMRDoc"), true);
 //            String htmlContent = YuhangsyCommonAnalysisUtil.html2String(html);
 
             if (StringUtil.isNotBlank(htmlContent)) {
                 YuhangsyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
             }
-
-            //签名中存在医师签名以及签名日期未分离
-            if (map.containsKey("签名")){
-                String name =map.get("签名");
-
-                String date =YuhangsyCommonAnalysisUtil.extractDate(name);
-                if (date != null) {
-                    //创建签名时间
-                    map.put("签名日期", date);
-                    //
-                    name =name.substring(name.indexOf("医师签名:")+"医师签名:".length(),name.indexOf("签名日期"));
-                    map.put("医师签名",name);
-                }
-            }
-
+            map.put("标题",recTitle);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);

+ 11 - 6
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyPreoperativeHtmlAnalysis.java

@@ -29,19 +29,24 @@ public class YuhangsyPreoperativeHtmlAnalysis implements YuhangsyHtmlAnalysis {
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
-            List<String> titles = Lists.newArrayList("讨论时间", "讨论方式", "参加人员的姓名及专业技术职务","参加人员",
-                    "简要病情","入院查体","术前诊断","手术指征与禁忌症","可替代方案","拟施手术方式(名称)及可能的变更方案","计划性多次手术","拟麻醉方式","拟施麻醉方式","术前准备","主要术中、术后风险及防范措施","术中、术后注意事项(含护理事项)","围术期预防性抗菌药使用",
-                    "主刀医生签名", "分标记医生签名","经治医师签名","分主刀医师签名"
-                    ,"病史摘要","查体","辅助检查","拟施手术","拟施麻醉","术中注意点","家属谈话内容","医生签名","日 期"
+            List<String> titles = Lists.newArrayList(
+//                    "讨论时间", "讨论方式", "参加人员的姓名及专业技术职务", "参加人员",
+//                    "简要病情", "入院查体", "术前诊断", "手术指征与禁忌症", "可替代方案", "拟施手术方式(名称)及可能的变更方案", "计划性多次手术", "拟麻醉方式", "拟施麻醉方式", "术前准备", "主要术中、术后风险及防范措施", "术中、术后注意事项(含护理事项)", "围术期预防性抗菌药使用",
+//                    "主刀医生签名", "分标记医生签名", "经治医师签名", "分主刀医师签名",
+                    "讨论时间","讨论方式","主刀医生签名", "分标记医生签名", "经治医师签名", "分主刀医师签名",
+                    "病史摘要", "医生签名", "日 期"
             );
             String htmlContent = YuhangsyCommonAnalysisUtil.html2String(html);
 
             if (StringUtil.isNotBlank(htmlContent)) {
-                YuhangsyCommonAnalysisUtil.html2StructureMap(titles,htmlContent,map);
+                YuhangsyCommonAnalysisUtil.html2StructureMap(titles, htmlContent, map);
             }
             // 解决医生签名显示 年 月 日 时
             signatureTime(map);
-
+            map.put("文书标题", recTitle);
+            if (StringUtil.isNotBlank(map.get("主刀医生签名"))&&map.get("主刀医生签名").contains("签字时间")) {
+                map.put("主刀医生签名",map.get("主刀医生签名").substring(0,map.get("主刀医生签名").indexOf("签字时间")));
+            }
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);

+ 0 - 1
trans/src/main/java/com/lantone/qc/trans/yuhangsy/util/YuhangsyTransferIntoHtmlAnalysis.java

@@ -36,7 +36,6 @@ public class YuhangsyTransferIntoHtmlAnalysis implements YuhangsyHtmlAnalysis {
             }
             YuhangsyCommonAnalysisUtil.signatureTime1("病历日期", map);
             YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
-            YuhangsyHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
             log.error(e.getMessage(), e);
         }