李晖,刘国伟,袁静,刘长兴
济南军区总医院 信息科,山东 济南250031
军卫一号系统中的病人数据挖掘
李晖,刘国伟,袁静,刘长兴
济南军区总医院 信息科,山东 济南250031
本文基于数字化医院积累的大量临床信息,结合计算机领域内的数据挖掘技术,提出一套病人数据挖掘的概念和方法。通过对大量临床信息进行数据挖掘,不仅能为临床诊断提供有用信息,而且可以从大量的数据中发现隐藏在数据中的趋势、规律和异常。这些信息对临床诊断、科研、教学等都具有非常重要的参考价值。
军卫一号;PACS;电子病历;数据挖掘
我院自1997年开始运行“军卫一号”系统,并在此基础上,先后应用了LIS系统、PACS系统等数字化医疗系统,累积了大量的临床信息。目前,这些信息只是实现了病历电子化,为病案管理和信息检索带来了方便,然而更深层次的关于临床信息的数据挖掘工作却很少进行。一般而言,数据挖掘是在一个数据存储仓库中确定有用的模式或关系的过程,而且通常数据挖掘涉及分析大量的信息来发现隐藏在数据中的趋势。数据挖掘的概念已经广泛运用于商业和金融机构,比如商业智能的概念中就包含了挖掘商业数据转化为商业知识的过程。但是数据挖掘本身是没有行业限制的,当对大量的临床信息运用数据挖掘的概念和方法时,同样能为我们临床诊断、科研、教学等提供很多有用信息,并且结合我们医疗领域内的知识库,甚至能预测疾病的发展趋势。
通常,我们将数据划分为结构化数据与非结构化数据。结构化数据是指存储在数据库里的行数据,可以用二维表的结构来逻辑表达实现的数据。相对于结构化数据,不方便用数据库二维逻辑来表现的数据即为非结构化数据,包括所有格式的办公文档、文本、图标、各类报表、图像和音频/视频等信息。
医院的病人记录信息一般既包含结构化的数据,又包含非结构化的数据,在以“军卫一号”系统为基础的医院信息系统(HIS)中,所有的病人的基本信息、病史、就诊过程等都以结构化数据的信息存储在数据库中,同时门诊和住院的费用和帐务信息等也会以结构化数据记录在数据库中。此外医学影像归档与通讯系统(PACS)、检验信息系统(LIS)、临床诊疗系统(CIS)、电子病历系统(EMR)等各种数字化医疗系统也都不同程度实现了病人信息的结构化存储。但是不少医院虽然建成了医院信息系统,但系统的应用程度不高,基本还是局限在门诊和住院收费水平,这样申请单、手术过程等还是只能以纸质的形式及非结构化数据的形式保存和传递。因此本文探讨的病人数据挖掘系统可能包含多个数据源:有结构化的数据源,比如HIS数据库、PACS数据库等;也有非结构化的数据源,比如申请单、化验单、心电图、DICOM(医学数字成像和通讯)格式的图像信息等。通常,医院的HIS、 PACS、 LIS等系统并非一个厂家开发的,加之目前国内还没有统一的数字化规范可循,因此许多开发商为了追求最大利润,往往自己设定数据规范和开发标准,这样使得医院内部的各信息系统软件之间数据平台不统一,数据结构各异。医院内部的信息系统尚且如此,各医院之间的信息系统的差异性就更大了。
各类数据源的数据结构的差异性(包括非结构数据之间的差异性及结构化数据的差异性)是导致病人数据挖掘难以进行的重要原因,因此病人数据挖掘的首要任务是定义统一的结构化临床信息,并且针对不同数据源的特点开发相应的数据挖掘器。一个数据挖掘器被配置为使用领域专用标准来挖掘数据源,以创建结构化的临床信息。正如前面所讲,病人数据挖掘系统需要将各类数据源转换为统一的结构化临床信息,因此对于非结构数据需要设置相应的挖掘器负责将非结构的数据转换为统一的结构化临床信息。通过定义统一的结构化的临床信息,解决了各数据源之间数据结构的差异性。下一步就可以定义数据挖掘的方法,即结合专用知识库挖掘有用信息了。
以病人为中心的数据挖掘是指从与病人相关的数据源中提取信息,并且使用领域专用标准来推理病人状态的过程。与病人相关的数据源通常包括多个数据源,每个数据源反映了病人关心的不同方面。一般与病人相关的数据源可以包括医疗信息、财务信息和人口统计信息中的一个或多个。医疗信息可以包括自由文本信息、医学影像信息、检验信息、处方药信息和波形图像等信息中的一个或多个。用于挖掘病人数据源的领域专用的知识可以包括机构专用领域知识,例如,特定医院可用的数据、医院信息系统定义的数据存储结构、医院的政策、方针,以及医院的任何变化有关的信息等。此外领域专用的知识还可以包括疾病专用的领域知识库,例如,疾病专用的领域知识可以包括影响疾病危险的各种因素、疾病的进展情况、并发症信息、与疾病有关的措施、与疾病有关的结果和变量、以及由医疗结构建立的方针和政策等。
以病人为中心的数据挖掘主要包括三个阶段,分别是提取、组合、推理。用于病人数据挖掘的挖掘器需要包含一个提取部件。该提取部件从病人的所有检查信息中获取关键信息以产生与病人相关的概率断言,即患有某种疾病的概率断言。一般而言,对于结构化的数据我们会使用结构化查询语言(SQL)从病人相关的数据库记录中检索关键词,比如从影像科的PACS数据库中检索病人的影像学报告中的诊断结论可以获知病人的影像学诊断。此外,目前商业的数据库服务器软件中还提供了全文检索功能,使用全文检索功能可以从大量的文本信息中检索更加准确、全面的信息。从图像、波形等数据格式进行的提取可以由提供给系统的图像处理或特征提取程序来完成。需要注意的是,临床信息的收集过程中可能会由于各种原因导致有些信息包含遗漏、错误和不一致的数据,因此需要在概率断言时加以考虑。通过提取与病人相关的所有信息,我们得到了病人在各个时间点(或时间段)的病历信息,即形成一个时间序列,然后通过对各个时间点(或时间段)得到的概率断言,我们即可得到一个状态序列及治疗期间在不同时间点(或时间段)的病人状态的值。同时在同一个时间点上可能会从相同(或不同)的数据源中得到可能冲突的断言,处理这些冲突的断言形成统一的视图的过程,即组合阶段完成的工作,这些工作通常需要借助相关的领域专业知识完成。推理是通过与病人有关的所有可用的仿真陈述并通过疾病的状态、实验室化验、治疗协议等产生病人进展的复合视图的过程。基本上,病人当前的状态可能受到先前的状态和任意新的组合观察的影响。
对病人状态序列进行推理正是以病人为中心的数据挖掘的意义所在。正如前面所说,病人当前状态往往会受到先前状态的影响,因此通过以病人为中心的数据挖掘对临床诊断非常有意义。比如,通过分析状态序列可以推断病人之前病情是否出现了复发,进一步结合领域专业知识,可以推断将来病情发展的趋势。
对于医院积累的大量临床信息,我们通常只是检索某位特定病人相关的信息,或者一些简单的数量统计,而蕴藏在这些大量信息当中人们事先不知道、但是又潜在有用的知识往往被忽略。究其原因,其一,面对这些海量信息,普通的检索方式效率低下,甚至经常出现检索超时出错等;其二,常规的统计查询往往得到的是一些简单的类似于数量总和的统计结果,不能很好地反映数据分布等特点,因此对于科研统计意义不大。本文将提出一种基于联机分析处理(OLAP)技术的海量病人数据挖掘方法,使用这种方法可以快速高效地获取检索的结果,并且以一种新的多维度、可变换的方式来分析我们检索的结果。
在介绍海量病人数据挖掘方法之前,我们先举一个简单的例子:假如在我院现有HIS系统的基础上,要得到关于某类疾病发病率的以下统计结果:
(1)每年该疾病的发病率;
(2)每季度该疾病的发病率;
(3)该疾病患者的地域分布;
(4)该疾病患者当中,男女比例各占多少;
(5)该疾病患者当中,各年龄层当中患病的比例是多少;
(6)该疾病患者当中,各年龄层患者的男女比例是多少。
设想一下,如果我们使用常规的检索方式去统计这些结果,往往都需要做好几次查询统计,而且目前一般的软件都很难提供这种伸缩性很强的统计查询工具或人机交互界面。即使是专业的数据库管理员(DBA)也需要非常复杂的查询函数才能得到这些统计结果,而且对于海量数据信息时,往往这些查询函数效率极其低下。
使用基于联机分析处理(OLAP)技术的海量病人数据挖掘方法,可以很好地满足诸如此类的科研统计需求。联机分析处理(OLAP)能够使分析人员快速获取多维度检索结果,而且对检索结果可以从不同的维度或者不同的维度组合进行观察和分析,从而获得对数据更深入的了解。基于联机分析处理(OLAP)技术的海量病人数据挖掘方法是结合病人数据的特点及常见的科研统计需求,定义科研统计所需要的维度,将海量的病人数据构建为病人数据挖掘仓库,从而实现高效的科研统计分析服务。
病人数据挖掘仓库主要包含病人的就诊信息表和多个统计量分布表。病人就诊信息表包含了所有病人的就诊信息,比如病人姓名、性别、年龄、家庭住址、就诊日期、检查科室、诊断结论等等。我们称病人就诊信息表为事实表(Fact Table)。每一个统计量,比如性别、年龄、就诊日期等,我们称之为维度(Dimension),一个或多个相关联的维度构成一个维度表,维度表中定义了所有可能的维度(或多个维度组合)的值,比如,性别维度表中包含了两个值:男和女。通常,我们需要按照科研统计的需要构建特定的维度。比如,在前面提到的关于某类疾病发病率的以下统计任务中,我们将需要定义以下维度(表1):
表1 关于某类发病率定义的维度
基于联机分析处理(OLAP)技术的海量病人数据挖掘首先根据事实表和定义的维度表,计算各种维度组合情况下的统计值,我们称为度量表(Measure)。这些度量值是通过对事实表中的记录做聚集计算(Aggregation)而得来的,一般都是通过做累计记数(COUNT),当然有时候也会使用求和(SUM),比如关于费用、剂量等信息的相关统计。生成这些度量信息之后,使用联机分析处理(OLAP)定义的多维度分析操作方法钻取(roll up和drill down), 切片(slice)、 切块(dice)、 旋转(pivot)等,完成对数据的分析、查询和报表。常用的多维度分析方法是钻取(roll up和drill down),比如我们知道了某个疾病在各个年龄层中的发病率,那么通过drill down操作添加一个性别维度,即可得到该疾病发在各年龄层中男、女发病率的比例。
海量病人数据挖掘的难度在于维度的定义,维度的定义直接影响度量表的计算过程以及我们分析问题的角度。通常需要分析科研统计的需求,定义切合统计需求的维度。目前主流的商业数据库中已经提供了多维度数据挖掘的工具,比如SQL Server 2005 的Analysis Service,即提供了构建数据仓库和执行多维度数据分析的功能。但是,正如前面所说的我们,需要结合病人信息的特点和科研统计的需求,定义我们需要的维度,从而构建合理的病人数据挖掘仓库。
随着医疗改革的稳步推进和数字化医疗的发展,医院的数据量会不断增加,医院的信息化建设会不断成熟,更多医疗信息将会产生,既有来自医院内部信息,也有更多来自其他医疗机构共享的信息。挖掘这些急剧增长的大量信息,不仅有利于个体病人的临床诊断,也有利于对大局的把握和认知,从而为我们的临床研究、疾病预防和相关决策提供重要的依据。希望我们在建设数字化医院的同时,不仅重视收集存储各类临床信息,也要重视对已有信息的分析和再认识,通过数据挖掘发现其趋势、规律和异常,为医院建设及科研服务。
[1] 徐洁磐.数据仓库与决策支持系统[M].北京:科学出版社,2005.[2] 赵丹群.数据挖掘原理、方法及其应用[J].现代图书情报技术,2000(6):41-44.
[3] 袁玉波,杨传胜,黄延祝,等.数据挖掘与最优化技术及其应用[M].北京:科学出版社,2007.
[4] 范明,孟小峰.数据挖掘概念与技术[M].北京:机械工业出版社,2007.
[5] 周保琢,李传富,等.采用增量关联规则挖掘提高电子病历系统的用户体验度[J].中国医疗器械杂志,2009(2):83-86.
[6] Cheung DW,Han Jiawei,Ng V.Maintenance of discovered association rules in large database:an incremental updating technique[C].Proceedings of the Twelfth International Conference on Data Engineering.Washington,DC:IEEE Computer Society,1996.
[7] Cheung D,LEE S,Kao B. A general incremental technique for maintaining discovered association rules[C].Proceedings of the Fifth International Conference on Database Systems for Advanced Applications.Sydney:World Scientific Press,1997.
[8] Leung KC,Khan QI,Hoque TC.CanTree:A Tree Structure for Efficient Incremental Mining of Frequent Patterns[C].Data Mining, Fifth IEEE International Conference on.New Orleans:IEEE Computer Society,2005.
[9] 倪志伟,高雅卓,李伟东.基于矩阵的增量式关联规则挖掘算法[J].计算机工程与应用,2008(13):153-155.
[10] 李燕,常艳,王欣萍.Visual FoxPro程序设计[M].北京:人民卫生出版社,2007.
Patient Data Mining in No.1 Military Medical Project System
LI Hui,LIU Guo-wei,YUAN Jing,LIU Chang-xing
Information Department,General Hospital of Jinan Military Region,Jinan Shandong 250031, China
TP311.138
A
10.3969/j.issn.1674-1633.2010.08.013
1674-1633(2010)08-0039-03
2009-12-06
2010-03-03
作者邮箱:hayyxym1213@sina.com
Abstract: With large medical records increasingly being generated in digital hospitals, the ability to perform data mining in huge information is extremely important.This paper introduces the concept and method of performing medical data mining. By applying the process of medical data mining, we are able to identify trends,orderliness and abnormity which are useful for clinical diagnosis, research and teaching.
Key words: No.1 military project;PACS;EMR;data mining