基于Lucene检索引擎的电子病历全文检索系统
1 前言
随着医院信息化建设的进行,电子病历作为临床医疗信息的基础和医院信息系统的核心构成了业务管理、医疗卫生决策系统的基础6但国内目前各大医院通常并不把电子病历管理视为一个独立的单元, 电子病历管理系统一般都是作为医院信息系统的一个模块存在。目前,对于病历信息的查询浏览也只能通过查询患者的一些结构化的数据库信息得到该患者的ID号,然后通过病历的存储规则来找到相应的病历。每次得到的信息都是个别的,而且无法实现全文检索.存在于病历文本中的大量非结构化的信息不能作为检索条件,因而这些信息也不能为医疗工作者所利用。因此. 目前电子病历管理系统的检索查询机制迫切需要向满足医生需求、科研辅助和采用全文检索的方向转变,为以后电子病历管理正式成为医院管理的一个独立分支打下良好的基础。基于此,我们提出了基于Lucene检索引擎建立电子病历全文检索系统,它以基于关键字的全文检索技术为基础.能够提供方便快捷的方式为临床医疗、医学科研工作及病历管理提供支持。
2 电子病历的前期预处理
病历是患者在医院诊断治疗全过程的原始记录,贯穿于患者在医院就诊的各个环节中。由于目前病历信息的电子化大都附属于传统的HIS系统,但HIS系统并不等于电子病历系统。因为从电子病历的角度看患者信息应该是完整的、集成的.电子病历系统应该能够以统一的视图向用户提供患者的继承信息;而从传统的HIS每个子系统来看,患者信息却是局部的、分散的。所以要对电子病历进行全文检索,首先要建立一个规范的、合乎要求的电子病历描述模型,将分散于HIS系统中的电子病历信息读出并转换为统一形式的文件存储于电子病历库中。XML(eXtensible Markup Language,即扩展标记语言)就是建立并实现该模型的一个有效手段。
XML是一种结构化描述语言。其优势在于,它不仅是一种标识语言,更是一种可以定义描述对象结构的元语言。XML采用了层次化的面向对象的结构描述方法.非常适合于描述病历这样复杂的内容.在表达能力方面优于关系数据库。
使用XML描述病历内容,要先定义病历内容的结构。在此基础上实现以数据库形式存储的患者信息到病历结构的转换,从而实现由以支持日常业务管理为目的的数据库描述到以患者为中心的描述。形成的XML文件是病历存储管理的基本单位。
3 全文检索引擎Lucene简介
Lucene是Apache软件基金会Jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,作为一个优秀的全文检索引擎,其系统结构具有强烈的面向对象特征。首先是定义了一个与平台无关的索引文件格式;其次通过抽象将系统的核心组成部分设计为抽象类.具体的平台实现部分设计为抽象类的实现;此外,与具体平台相关的部分(比如文件存储)也封装为类,经过层层的面向对象式的处理,最终达成了一个低耦合高效率、容易二次开发的检索引擎系统。因此.Lucene得到了非常广泛的应用。
4 系统的设计与实现
4.1 平台和开发环境简介
本系统的平台和开发环境为:操作系统:Windows NT/2O00/XP;开发语言:Java,JSP;全文检索开发库:Apache Lucene 2.2;Web服务器:ApacheTomcat 6.0:开发工具:IBM Eclipse 3.2.0。
4.2 总体架构
不电子病历全文检索系统主要实现对电子病历的表示、存储、组织和访问,即根据用户的查询要求,从电子病历库中检索出相关信息资料。其中心环节是电子病历内容的表达、信息查询的获得以及相关信息的匹配。整个系统设计为4个功能模块:数据预处理模块、索引建立模块、全文检索模块和用户界面模块。各个模块的基本功能和模块之间的逻辑和数据关系如图1所示。
依图l中的序号,整个系统的信息处理流程为:
A.数据预处理模块读入电子病历的原始数据(一般以数据库表的形式储存在HIS系统中),将原始电子病历加工为XML文件.然后储存于XML电子病历库中;
B.索引建立模块读入XML电子病历库中储存的XML文件.把建立好的全文索引储存于全文索引库中;
C.用户通过用户界面模块提出检索请求,用户界面模块调用全文检索模块使用电子病历的全文索引进行检索,将得到的检索结果返回给用户;
D.用户查看了检索结果中电子病历的摘要后如果需要进一步查看电子病历的全文,可以通过用户界面模块直接根据检索结果中的文档ID从XML电子病历库中获取全文。
5 系统测试和评价
5,1 测试环境
(1)软件环境
测试环境采用Sun公司的JDK1.5.0,操作系统采用的是微软的Windows XP SP2。数据库服务器采用的是Oracle8i及其自带的JDBC驱动。
(2)硬件环境
运行服务器采用的CPU为Inter Pentium 3.0E,内存2 GB.硬盘160GB。
5.2 测试结果
测试过程中一共选取了3个和疾病症状有关的关键词“肥胖”、“腹痛”和“恶心”作为测试检索条件数据,测试结果经过进一步分析计算后可以得到的数据见表1。
注:P@30指前30个检索结果中符合条件的文档数
由于测试数据集过大(共约26 000多篇),很难通过人工方式确定全部文档集中符合条件的文档数,所以无法有效地计算查全率;检索出的命中文档数量也比较多,但和搜索引擎一样,通常只有“First Page”的结果会被用户关注,因此我们计算的查准率只基于前30个检索结果。通过上表可以看出,本系统的查准率较高,基本达到了系统设计的性能要求。
6 小结
从测试结果可以看出系统满足设计要求,符合功能需要。但是仅仅基于关键字检索显然是不够的,下一步要实现“智能”全文检索还需要对系统进行基于语义的检索功能扩展,使检索结果不仅仅满足于与用户提交的关键字进行字面上的匹配。而是检索出与此概念有关的、用户真正想要的信息,以进一步提高查全率[31。
【参考文献】
【1] 1 王晓,罗二平,张健.基于语义的电子病历智能全文检索叨.医疗卫生装备,2008,29(4):45-46.
【2 】薛万国.XML与电子病历m.国外医学:医院管理分册,2002(1):33—34.
[3] 高少琛.基于查询拓展和聚类技术的资源检索系统的研究与应用[D1.上海:上海交通大学硕士学位论文,2007:10一11.
- 1中医运行电子病历质量的现状分析
- 2cMS将在201 1年5月启动有效应用奖励
- 3美医疗信息市场规模两年内预计将达500亿美元
- 4护理电子病历缺陷及对策
- 5在电子病历网络质控系统的体会
- 6医院建设区域医疗信息共享平台
- 7电子病历系统中XML数据调用的研究
- 8电子病历应对医疗纠纷中的方法
- 9谈我院电子病历一卡通系统的建设
- 10HIS系统与电子病历系统的关系和数据共用
- 11电子病历应用有关问题的探讨
- 12海洋社区卫生管理平台喜获科技成果
- 13新一代卒中电子病历系统的建立与应用
- 14基于电子病历系统的临床路径管理应用研究
- 15惠东县城区学龄前儿童HBsAg携带率调查分析
- 16电子病历监控数据失实原因分析及对策
- 17便携式病历管理系统的设计与开发
- 18卫生部电子病历试点工作方案
- 19提高电子病历内涵质量的对策和做法
- 20运用电子病历对其进行监控
- 21浅谈区域性大医疗企业的概念和应用
- 22无线网络的美丽新世界
- 23电子病历存储模式下的护理工作流程重组
- 24基于片段和标签的口腔专科电子病历模板的设计与应用
- 25门诊收费管理系统中电子病历的安全性
- 26浅谈电子病历建设过程中的体会
- 27电子病历中医嘱录入界面及功能的优化
- 28电子病历管理浅议
- 29电子病历在临床教学的使用方法
- 30电子病历的发展及展望
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼