基于大数据HBase的电子病历智能全文检索系统研究
Posted 中国数字医学
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于大数据HBase的电子病历智能全文检索系统研究相关的知识,希望对你有一定的参考价值。
导读:针对当前医院临床信息系统中的检查报告、检验报告、电子病历等只能通过对一些结构化的数据库进行信息查询,如病人的检查ID号、性别、检查时间等结构化条件,然后通过病历相应的存储规则匹配找到,不能实现病历内容的全文检索。自主研发了基于大数据HBase技术的临床智能搜索引擎,通过搜索引擎技术破解了非结构化临床信息检索的难题,实现了在220万份临床文件通过关键词检索仅需要25豪秒以内的查询速度,并对医疗领域中文自然语言处理的关键技术进行了深入剖析。
电子病历作为医院的宝贵财富蕴含丰富的专业知识,但目前电子病历中有大量的非结构化的文本,导致了大量有用信息无法再利用,难以形成知识,无法更好地为医院信息化建设服务。
而大型三甲综合医院,学科实力雄厚,对临床科研的要求也非常高,当前医院电子病历系统的病历只能通过对一些结构化的数据库进行信息查询,比如病人的检查ID号、性别、检查时间等结构化条件,然后通过病历相应的存储规则匹配找到,不能实现病历内容的全文检索。
因此如何利用最新的人工智能技术,让机器“读懂”病历数据,辅助医师以及相关研究人员通过对比相关的病历来发现深层次的医学规律;
从而能够充分利用这些信息来辅助医师诊断,为医师从病历文本库中提取出与目前症状最相关的诊疗项或处方,能够大大提高医师的临床科研诊断效率和质量。
系统提出一种基于SolrCloud+HBase搭建一套高速检索引擎,并在电子病历大数据平台上开发一个Web检索展示系统,对电子病历平台中的医疗数据进行检索、分析和利用。实现以关键词检索技术为基础的电子病历智能化全文检索系统,实现海量异构数据及非结构化电子病历数据的高效检索。用SolrCloud检索的性能解决传统关系型数据库在大数据量时检索性能上的性能缺陷。为医疗、科研、教学和医院管理等方面提供主动、方便快捷和高效的数据服务,包括各种疾病数据检索与分析、智能知识库、医疗数据/质量统计、医疗评价、健康评估、经济统计分析等,以数据为驱动,利用大数据和人工智能技术支撑循证医学和精准医学,提高临床科研效率和质量。
图1 基于大数据HBase的电子病历全文检索系统架构
基于大数据HBase的电子病历全文智能检索系统的整体架构如图1所示,主要包括高并发、高可靠性的分布式大数据架构;安全、完善、高效的电子病历智能全文检索系统;数据利用模式化管控。
其中电子病历智能全文检索系统部分主要包括以下的功能模块:数据预处理:将各种原始电子病历预处理,存储为TXT或者XML文件;挑选结构化数据重要字段,并与病历文本建立关系,通过Spoon kettle工具将结构化数据和非结构化数据存储到HBase中;索引创建与维护:对病历文件进行索引创建及维护,实现全量及增量创建功能,建立全文索引库;病历基本检索模块:实现对非结构化数据的全文检索、热门搜索、搜索提示、病历收藏、条件编辑、分类查询、病历详情查看等功能。根据用户提交的关键词检索索引库,并对结果进行排序;对于分类查询医生可以根据自己所需查看各种文档类型;病历高级检索模块:可以通过各种关键词组合,在基本检索的基础上实现与结构化数据联合搜索;相似病历推荐模块:基于统计方法构建症状库、检查库等知识库,利用机器学习及文本相似度算法,实现推荐诊断、检验、检查、用药等功能;用户查询界面:接受用户查询,并显示查询结果。可以输入任何关键字组合,查询到匹配的电子病历文档。
2.1 数据ETL技术 利用Kettle、Spark从结构化数据库中关联抽取重要字段并与病历文本建立关系,实现数据的抽取转换与存储。
2.2 Hadoop HBase分布式数据存储技术 基于大数据Hadoop平台,利用HBase分布式存储技术构建电子病历文档存储库,根据业务设计行健(Rowkey)及列族存储电子病历相关数据。
2.3 HBase+SolrCloud分布式索引技术 SolrCloud是基于Solr和Zookeeper的分布式搜索方案,它的主要思想是使用Zookeeper作为SolrCloud集群的配置信息,统一管理SolrCloud的配置,如solrconfig.xml和schema.xml。利用SolrCloud创建HBase的二级索引,利用SolrCloud强大的全文检索、结果高亮、切面检索、动态聚类、数据库整合、富文本(例如word、txt、PDF等)的处理、近实时搜索和查询时自动负载均衡特点,实现大数据量的文本记录豪秒级响应。
2.4 NLP中文自然语言处理技术 ①中文分词技术,对于电子病历文本使用IK analyzer分词器,并采用正向最大匹配算法分词进行准确的分词。连续的英文或数字作为分词单位,实现分词功能。对于分好的词,还需要进行类别标签的标注,以利于发现更多规律并进一步利用。中文分词的难点需要大量的人力,同时需要整理词典的人员具备相当的医疗行业知识;②机器学习技术:使用机器学习算法实现命名实体识别、使用聚类算法进行词向量训练识别同义词;③命名实体识别内容:包括人名、地名、医疗机构名、时间、日期、数字等不可枚举的专用词。在医疗领域,命名实体还包括(非标准的)药品名、疾病名称、治疗手段、身体部位、症状、检验项目/检查项目名称等。命名实体识别可以采用最大熵模型和隐马科夫模型的基础上,提出的一种判别式概率无向图学习模型;④基于规则的否定检出:对无、未、否认等否定词进行规则判定,理解其语义。
3.1 建设成效 构建了智能检索的分词和索引创建所需的强大医学术语字典库297 434个,日常用语词汇库275 713个,支持非结构化病历文档的中文分词技术。其中医学术语字典涵盖疾病、手术、药品、检验、检查、诊疗项目、器械等;基于大数据平台技术,构建高性能的数据存储、检索和分析的高性能分布式计算支撑平台,利用HBase技术实现非结构病历文本的存储;利用SolrCloud+HBase分布式检索引擎、中文自然语言处理和机器学习技术,实现了海量病历文档的毫秒级查询响应;实现了病历文档方便、灵活和高效的结构化与非结构文档的联合搜索功能。
3.2.1 分布式大数据技术架构 HBase+SolrCloud检索引擎技术,能够支撑海量数据的存储和检索。在院内,海量的数据唾手可得。
3.2.2 病历全息搜索 以患者为中心病历为维度,整合多个业务系统数据,加入病历文书、诊断结果后结构化的数据,构建患者全息视图,通过唯一搜索入口对所有结构化和后结构化数据进行全方位全息搜索,实现秒级检索,支持文本模糊搜索和多重条件灵活组合的高级检索,可以很好地支撑基于病历的临床研究分析。
3.2.3 患者全息视图 可以将不同业务系统中的数据进行有效整合,并以患者及患者单次就诊为维度,将患者在不同系统中的数据串联起来,进行集中展示。实现患者最广(涵盖多系统数据)最深(历次就诊所有诊疗数据)的诊疗信息呈现。
3.2.4 辅助诊疗 基于统计方法构建疾病分类库、症状库、检查库、检验库、药品库等知识库,利用机器学习及文本相似度算法,实现部分疾病的相似病历推荐,从而推荐检验、检查、用药等方案。
基
于大数据架构和HBase分布式存储技
术,实现了以关键词检索技术为基础的电子
病历智能化全文检索系统,实现了海量异构数据及非结构化电子病历数据的高效检索。
用SolrCloud检索的性能解决传统关系型数据库在大数据量是检索性能上的性能缺陷,破解了非结构化电子病历检索的难题,实现方便、快捷地为临床医疗、医学科研及病历管理等方面工作提供服务。
后续将结合机器学习技术在电子病历文档集的构建和预处理基础上,建立命名实体规则、分类词表和领域本体,利用文本工程通用框架进行相关主题的医疗信息抽取和统计分析,从而实现电子病历文档集的自动和人工语义标注。
文章来源:《中国数字医学》杂志2019年第5期,作者及单位:黄晓琴 戴静娟 徐海东,万达信息股份有限公司、宁波市李惠利医院东部医院。
传播数字医学领域发展最新动态,关注医疗卫生信息化相关资讯。
以上是关于基于大数据HBase的电子病历智能全文检索系统研究的主要内容,如果未能解决你的问题,请参考以下文章
电子病历管理系统设计
电子病历管理系统详细设计
医疗科技病历智能分析系统:挖掘自然语言处理技术在医疗大数据中的价值
电子病历管理系统参考论文(改)
基于电子病历的临床医疗大数据挖掘流程与方法
《Fabric 云存储的电子健康病历系统》系统介绍