Kaynağa Gözat

宁海第一人民医院:页面调试

wangsy 4 yıl önce
ebeveyn
işleme
4d7cb7e8e1

+ 6 - 6
trans/src/main/java/com/lantone/qc/trans/ninghaiyiyi/NingHaiYiYiBeHospitalizedDocTrans.java

@@ -62,12 +62,12 @@ public class NingHaiYiYiBeHospitalizedDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
-            "联系人(关系)=联系人",
-            "入院时间=入院日期",
-            "医生签名=记录医生",
-            "医生签名时间=记录时间",
-            "疼痛评估=疼痛",
-            "代诉=主诉"
+            "出生地=籍贯",
+            "联系地址=住址",
+            "初步诊断医师签名:=初步诊断医师签名",
+            "初步诊断医师签名:时 间:=初步诊断签名时间",
+            "补充诊断医师签名:时 间:=补充诊断签名时间",
+            "补充诊断医师签名:=补充诊断医师签名"
     );
 
 }

+ 1 - 0
trans/src/main/java/com/lantone/qc/trans/ninghaiyiyi/NingHaiYiYiDeathRecordDocTrans.java

@@ -56,6 +56,7 @@ public class NingHaiYiYiDeathRecordDocTrans extends ModelDocTrans {
     }
 
     private List<String> keyContrasts = Lists.newArrayList(
+            "科室=科别",
             "死亡时间=死亡日期",
             "入院时间=入院日期",
             "签名时间=记录时间",

+ 30 - 1
trans/src/main/java/com/lantone/qc/trans/ninghaiyiyi/util/NingHaiYiYiBeHospitalizedHtmlAnalysis.java

@@ -36,7 +36,8 @@ public class NingHaiYiYiBeHospitalizedHtmlAnalysis implements NingHaiYiYiHtmlAna
             } else if (recTitle.contains("日间病历")) {
                 analysisDay(doc, map);
             } else {
-                analysisGeneral(doc, recTitle, map);
+//                analysisGeneral(doc, recTitle, map);
+                analysisBeHospitalized(doc, map);
             }
             NingHaiYiYiHtmlAnalysisUtil.insertModuleId(modeId, recTypeId, map);
         } catch (Exception e) {
@@ -45,6 +46,34 @@ public class NingHaiYiYiBeHospitalizedHtmlAnalysis implements NingHaiYiYiHtmlAna
         return map;
     }
 
+    //宁海第一人民医院
+    private void analysisBeHospitalized(Document doc, Map<String, String> map) {
+        NingHaiYiYiHtmlAnalysisUtil.tableStyle1InsertMap(doc.getElementById("header"), map);
+        map.forEach((key, value) -> map.put(key, value.replace("\n", "")));
+        List<String> titles = Lists.newArrayList("姓 名", "出生日期", "性 别", "出 生 地", "职 业", "入院时间", "民 族",
+                "联系地址", "婚 姻", "病史陈述者", "主诉", "现 病 史", "既 往 史", "个 人 史", "婚 育 史", "家 族 史", "辅助检查", "记录医生", "初步诊断", "补充诊断");
+        String htmlContent = NingHaiYiYiHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body").child(0).getElementById("main"), true);
+        if (StringUtil.isNotBlank(htmlContent)) {
+            htmlContent = htmlContent.replaceAll("[   ]", " ").replace("第 ( ) 页", "");
+            CommonAnalysisUtil.html2StructureMap(titles, htmlContent, map);
+            disDiagnose(map, Lists.newArrayList("初步诊断", "补充诊断"), "医师签名:");
+            disDiagnose(map, Lists.newArrayList("初步诊断医师签名:", "补充诊断医师签名:"), "时 间:");
+        }
+    }
+
+    /**
+     * 处理诊断
+     */
+    private void disDiagnose(Map<String, String> map, List<String> lists, String str) {
+        for (String key : lists) {
+            String value = map.get(key);
+            if (StringUtil.isNotBlank(value) && value.contains(str)) {
+                map.put(key, value.substring(0, value.indexOf(str)));
+                map.put(key + str, value.substring(value.indexOf(str) + str.length()));
+            }
+        }
+    }
+
     //一般模板
     private void analysisGeneral(Document doc, String recTitle, Map<String, String> map) {
         //个人基础信息table解析

+ 2 - 0
trans/src/main/java/com/lantone/qc/trans/ninghaiyiyi/util/NingHaiYiYiCriticallyIllNoticeHtmlAnalysis.java

@@ -33,6 +33,8 @@ public class NingHaiYiYiCriticallyIllNoticeHtmlAnalysis implements NingHaiYiYiHt
             String recTitle = args[1];
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
+            NingHaiYiYiHtmlAnalysisUtil.tableStyle1InsertMap(doc.selectFirst("body").child(0).getElementById("header"), structureMap);
+            structureMap.forEach((key, value) -> structureMap.put(key, value.replace("\n", "")));
             String htmlContent = NingHaiYiYiHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body").child(0).getElementById("main"), true);
             if (StringUtil.isNotBlank(htmlContent)) {
                 if (htmlContent.contains("宁海县第一医院重、危病员通知单(交患方)")) {

+ 2 - 0
trans/src/main/java/com/lantone/qc/trans/ninghaiyiyi/util/NingHaiYiYiDeathRecordHtmlAnalysis.java

@@ -31,6 +31,8 @@ public class NingHaiYiYiDeathRecordHtmlAnalysis implements NingHaiYiYiHtmlAnalys
             String recTitle = args[1];
             String recTypeId = args[2];
             Document doc = Jsoup.parse(html);
+            NingHaiYiYiHtmlAnalysisUtil.tableStyle1InsertMap(doc.selectFirst("body").child(0).getElementById("header"), structureMap);
+            structureMap.forEach((key, value) -> structureMap.put(key, value.replace("\n", "")));
             String htmlContent = NingHaiYiYiHtmlAnalysisUtil.blockDivToStr(doc.selectFirst("body").child(0).getElementById("main"), false);
             if (StringUtil.isNotBlank(htmlContent)) {
                 htmlContent = htmlContent.replaceAll("[   ]", " ");

+ 3 - 1
trans/src/main/java/com/lantone/qc/trans/ninghaiyiyi/util/NingHaiYiYiOperationRecordHtmlAnalysis.java

@@ -28,6 +28,8 @@ public class NingHaiYiYiOperationRecordHtmlAnalysis implements NingHaiYiYiHtmlAn
             String html = args[0];
             String recTitle = args[1];
             String recTypeId = args[2];
+            NingHaiYiYiHtmlAnalysisUtil.tableStyle1InsertMap(Jsoup.parse(html).selectFirst("body").child(0).getElementById("header"), map);
+            map.forEach((key, value) -> map.put(key, value.replace("\n", "")));
             Element bigDivElement = Jsoup.parse(html).selectFirst("body").child(0).getElementById("main");
             analysisGeneral(bigDivElement, map);
             NingHaiYiYiHtmlAnalysisUtil.mapValueRemoveStartColon(map);
@@ -76,7 +78,7 @@ public class NingHaiYiYiOperationRecordHtmlAnalysis implements NingHaiYiYiHtmlAn
         text = text.replaceAll("第1页", "");
         List<String> titles = Lists.newArrayList(
                 "姓名", "性别", "出生日期", "出生年月", "科别", "科室", "病区", "床号", "床位", "住院号",
-                "手术时间", "手术日期", "术前诊断", "手术指征", "手术人员", "麻醉方式", "麻醉人员", "麻 醉 者", "洗手护士", "本次手术是否属于非计划再次手术", "接生者",
+                "手术时间", "手术日期", "术前诊断", "手术指征", "手术人员", "外邀指导专家","麻醉方式", "麻醉人员", "麻 醉 者", "洗手护士", "本次手术是否属于非计划再次手术", "接生者",
                 "术前胎心", "手术名称", "术后诊断", "手术者及助手名称", "术中取病理标本", "麻醉方法", "手术经过(包括病人体位、切口处理、病灶所见及手术步骤等)",
                 "诊断手术/操作简要经过(包括术中有无并发症及具体描述和处理)", "手术经过","医师签名",
                 "医生签名", "记录时间", "时间", "手术/操作医生", "记录者", "术中输血", "术前宫颈准备日期", "药物名称及用法", "导管或其他", "插入深度",