基于云计算的电子病历全文检索系统

2017-01-04 10:14:20 爱德腕带 阅读

1、引言


随着信息技术的快速发展,信息系统在卫生医疗领域应用已经逐步深入到各个层面,对医院的临床管理、患者信息共享具有重要意义,电子病历系统应运而生,并且成为医院信息化建设的重要组成部分。电子病历是医务人员对住院患者疾病的发生、发展、转归,进行检查、诊断、治疗等医疗活动过程的电子记录。也是对采集到的资料加以归纳、整理、综合分析,按规定的格式和要求书写的患者医疗健康电子档案。电子病历既是临床实践工作的总结,又是探索疾病规律及处理医疗纠纷的法律依据。电子病历对医疗、预防、教学、科研、医院管理等都有重要作用。


医院一般把病历作为一种非结构化的文本、附件或者大二进制文本进行了简单存储,导致电子病历中的大量有用信息无法再利用,难以形成信息和知识,无法更好地为医院信息化建设提供服务。另外,现在的医疗机构开始出现了并购和扩展趋势,医院可能会由多个子医院、多院区或者战略联盟医院组成,由于各自电子病历系统的异构化使电子病历的后期利用更加困难,针对医院信息化建设开始出现了云计算的解决方法。


为解决上述问题,本文提出一种基于云存储的电子病历知识提取系统,该系统能够处理多个异构类型的电子病历系统,通过数据处理和重新整合,对电子病历进行分布式存储,利用云计算技术对电子病历进行全文检索。


2、统一数据格式


本系统提出统一XML文档的格式,首先对输入数据进行统一格式转换,即将不同格式的输入数据转换成TXT格式的文本,然后再转化成XML统一格式。系统的文件包括文件头、供检索的XML文本体和原文件体三部分,如果将来系统与应用系统进行接口时,具体的应用系统应提供部分文件头信息。文件头信息包括病人姓名、病人ID、性别、年龄等基本信息,这些信息通过提取电子病历中的数据获得,或者通过其他接口获取,以便于后续系统交互和使用。此外,通过抽取文档中的第一段或者重要段落的内容形成电子病历摘要。系统提供常见的关系数据库输入接口,支持常用的文本格式。


3、语义分词与全文索引


为了能够建立全文索引所需要的关键词,需要对文档进行分词处理,将得到的分词词条加入索引结构。XML文档包含了若干个域,其中某些域无需分词。需要分词的域包括:标题、正文、摘要等;而像病人的姓名、科室等信息则可以认为是分词已经完成的信息直接进行使用。


分词过程中,系统首先读取需要分词的域,作为字符串输入。随后对输入字符串进行断句处理,即根据分隔符、回车换行符等语句的分隔标志,把源字符串分隔成多个短句。然后对每个短句进行原子切分,即将输入字符串切分为单个汉字,短句前后的开始结束标识字段、标点符号、连在一起的数字字母单字节字符等。然后进行初次切分,就是把原子之间所有可能的组合都先找出来。即遍历整个原子单位,每遍历到一个原子时,不断把后面相邻的原子和该原子组合到一起,访问词典库检查能否构成一个有意义的词。并根据词典中保存的词频信息计算所有出现的相邻词的耦合度(值越小,表明其独立性越强)。接下来把每个短句作为一个图:将相邻词的耦合度作为边的权值,将词作为节点。使用Dijkstra算法,找出图中的最短路径,即为分词结果。


为了能够进行全文检索,需要对所有词语建立索引,本系统采用倒排文档索引结构,索引词为分词后的词语,索引地址为文档地址。根据配置可以是表及表相关的列和主键值,也可以是文档名。


索引其实是一个单链表,它用指针指向含有这个索引关键字的文档。而这每个文档里有若干个域,在这若干个域中,有些域是要包含一些不能被解析的重要数据,比如说返回到查询结果中的摘要信息和该文档的路径信息等。当索引建立到一定的数量时,为了检索方便再把一定数量的索引生成一个段。所以,段里包含着索引。所有索引按段存储,其逻辑结构结构图如图1所示。

 索引结构.png
图1 索引结构


4、数据存储方案

 

系统存储方案.png

图2 系统存储方案


由于存在多个院区和不同的电子病历格式,系统采用云存储的方式来设计存储服务,基本设计思路就是利用Hadoop MapReduce对电子病历文档进行并行分布式处理。进而在上节的倒排文档结构上建立全文索引。首先,将位于不同医院或者院区的电子病历文档经过预处理和分词后写入到HDFS上,然后将单个文档切分成多个分片传递到Map模块,同时使用电子病历文档处理程序将电子病历文档处理成标签-标签值的形式并构建成索引的关键词和文档地址。Reduce模块负责接收Map模块的输出,进而将生成的索引存放于HDFS上的索引库当中。索引构建完成之后,通过后台管理程序将索引库中的索引加载到云存储索引节点,对外提供云检索服务。系统的存储方案如图2所示。


5、云检索算法


针对某个特定的文档DOC,首先对该文档进行格式转换,然后进行分词处理,进而进行云存储并建立索引,在获得上述结果后,再对外提供云检索服务。假定文档Doc的TXT文本用T表示,索引用IS表示,数据存储算法Algor_DataStore和全文云检索算法Algor_FT_Search描述如下:


算法.png



6、结论


本文提出一种屏蔽文档格式差异的适应于多院区或者多医院分布式存储的电子病历全文检索技术,首先对电子病历进行格式转换,构建统一的XML结构的电子病历,然后对电子病历进行分片云存储,利用提出的文档云索引结构,构建适合分布式查询的云计算索引算法,实现了电子病历的全文检索。提出的技术可以为医院和其他医疗机构信息化的建设提供服务。


(来源:《中国数字医学》2016年第12期,作者:甘霖 单位:黄石市中心医院信息部)


点击这里给我发消息
点击这里给我发消息