|
@@ -5,10 +5,12 @@ import com.google.common.collect.Maps;
|
|
|
import com.lantone.qc.pub.util.StringUtil;
|
|
|
import com.lantone.qc.trans.comsis.CommonAnalysisUtil;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import lombok.val;
|
|
|
import org.jsoup.Jsoup;
|
|
|
import org.jsoup.nodes.Document;
|
|
|
import org.jsoup.nodes.Element;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
@@ -51,7 +53,9 @@ public class NingHaiYiYiBeHospitalizedHtmlAnalysis implements NingHaiYiYiHtmlAna
|
|
|
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)) {
|
|
@@ -59,6 +63,65 @@ public class NingHaiYiYiBeHospitalizedHtmlAnalysis implements NingHaiYiYiHtmlAna
|
|
|
CommonAnalysisUtil.html2StructureMap(titles, htmlContent, map);
|
|
|
disDiagnose(map, Lists.newArrayList("初步诊断"), "医师签名:");
|
|
|
disDiagnose(map, Lists.newArrayList("初步诊断医师签名:"), "时 间:");
|
|
|
+ //入院记录 体格检查、补充及专科情况里获取辅助检查提取
|
|
|
+ getAuxiliary(map,Lists.newArrayList("体格检查","补充及专科情况","补充及专科情况"),htmlContent);
|
|
|
+ //婚育史特殊符号处理
|
|
|
+// removeSymbol(map,"□","婚育史");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void getAuxiliary(Map<String, String> map, ArrayList<String> newArrayList,String htmlContent) {
|
|
|
+ CommonAnalysisUtil.html2StructureMapNoColon(newArrayList, htmlContent, map);
|
|
|
+ //家族史其他内容清理
|
|
|
+ if(map.keySet().contains("家族史"))
|
|
|
+ {
|
|
|
+ String fimaly = map.get("家族史");
|
|
|
+ if(map.keySet().contains("体格检查"))
|
|
|
+ {
|
|
|
+ removeMapVal(map,fimaly,"体格检查","家族史");
|
|
|
+ if(map.keySet().contains("补充及专科情况")&&StringUtil.isBlank(map.get("辅助检查")))
|
|
|
+ {
|
|
|
+ String auxiliary = map.get("补充及专科情况");
|
|
|
+ CommonAnalysisUtil.html2StructureMapNoColon(
|
|
|
+ Lists.newArrayList("辅助检查"),auxiliary, map);
|
|
|
+ if(map.get("辅助检查").contains("初步诊断")&&StringUtil.isNotBlank(map.get("初步诊断"))
|
|
|
+ &&map.get("辅助检查").contains(map.get("初步诊断")))
|
|
|
+ {
|
|
|
+ String val = map.get("辅助检查");
|
|
|
+ if(val.contains(map.get("初步诊断")))
|
|
|
+ {
|
|
|
+ val = val.split("初步诊断")[0].replaceAll("初步诊断","")
|
|
|
+ .replaceAll(":","").trim();
|
|
|
+ map.put("辅助检查",val);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void removeMapVal(Map<String, String> map, String val,String mapkey,String changeKey) {
|
|
|
+ if(val.contains(map.get(mapkey)))
|
|
|
+ {
|
|
|
+ val = val.split(map.get(mapkey))[0].replaceAll(mapkey,"").trim();
|
|
|
+ map.put(changeKey,val);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @Author songxl
|
|
|
+ * @Description map中特殊符号处理
|
|
|
+ * @Date 2021/4/8
|
|
|
+ * @Param [map,symbol,key]
|
|
|
+ * @Return void
|
|
|
+ * @MethodName removeSymbol
|
|
|
+ */
|
|
|
+ private void removeSymbol(Map<String, String> map,String symbol,String key) {
|
|
|
+ if(map.keySet().contains(key))
|
|
|
+ {
|
|
|
+ map.put(key,map.get(key).replaceAll(symbol,"").trim());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -200,5 +263,4 @@ public class NingHaiYiYiBeHospitalizedHtmlAnalysis implements NingHaiYiYiHtmlAna
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|