2010年5月 第28卷第3期合肥师范学院学报Journal o f Hefei No rmal U niversity M ay.2010 V ol.28N o.3[收稿日期]2010-01-26[基金项目]本文受安徽中医学院自然科学基金2010z r007B 和安徽中医学院校级研究项目zlgc200921资助[作者简介]俞 磊(1981-),女,安徽合肥人,工学硕士;杨松涛(1960-),男,理学硕士,副教授;金 力(1974-),男,工学硕士。
基于DW 的医院决策支持系统的设计与实现俞 磊, 杨松涛, 金 力, 王宗殿(安徽中医学院医药信息工程学院,安徽合肥230031)[摘 要]在医院原有信息系统(HIS)的基础上,综合运用数据仓库(DW )、联机分析处理(O LA P )、数据挖掘(DM )等新兴技术,搭建了一个完整的医院决策支持系统。
分析了系统的总体框架结构,探讨了DW 、O L AP 和DM 等关键部件的设计方法,并给出了系统实现的具体方案。
[关键词]医院;决策支持系统;数据仓库;联机分析处理;数据挖掘[中图分类号]T P182 [文献标识码]A [文章编号]1674-2273(2010)03-0076-030 引言近年来,国内医疗市场竞争日趋激烈,社会对医疗质量、医院工作效率和服务质量的要求越来越高,医院信息系统[1,2](hospital infor matio n sy stem,H IS)有助于医院各类资源的系统整合,对提高医院的事务处理水平产生了积极的促进作用。
但随着管理和临床数据的大量积累,H IS 原有相对简单的统计功能已不能满足人们日益增长的需求。
人们需要随时获取患者、资金、物流、工作量等方面的数据、指标和报表,需要采用复杂的统计分析方法和数据挖掘技术反复处理海量历史数据以便从中总结出临床医学和医院管理方面的新知识。
于是以数据仓库为基础的医院决策支持系统建设已成为数字化医院建设的一个新的发展方向。
本文便在安徽中医学院第一附属医院原有H IS 的基础上,综合运用数据仓库DW 、联机分析处理OLAP 、数据挖掘DM 等新兴技术,搭建了一个完整的医院决策支持系统,并给出了实现的具体方案。
1 医院决策支持系统的系统设计1.1 医院决策支持系统的总体结构设计本系统采用的是基于DW 的DSS 这一新型框架结构。
具体结构如图1所示,分为四层[3]:最底层为数据获取层,数据源主要包括患者信息、药品信息、门诊信息、住院信息以及一些外部数据。
外部数据主要包括竞争数据及国家的相关政策法规等,其它信息来自医院信息系统H IS 。
为保持数据一致性,必须对数据源中的数据进行清理、抽取、转换,生成综合性统一的数据类型存入医院DW 。
数据存储层主要用来存储和管理加工处理后的面向决策主题的综合性数据,并按决策主题的需求进行重新组织,为决策支持提供大量的数据依据。
数据处理层包括模型库、数据挖掘、OLAP 及其相应的管理系统部分。
通过OLAP 与DM 从DW 中得出有用的信息、知识。
数据访问层为决策者提供与系统交互的入口。
把数据处理层得到的信息和知识通过人机交互界面展现给用户,主要包括用户交互、格式化查询及报表和统计图的生成等。
图1 医院决策支持系统的体系结构1.2 数据仓库DW 的设计数据仓库的设计包括建模、构建和接口设计。
下面重点谈一下数据仓库的数据建模,它分为概念模型设计、逻辑模型设计和物理模型设计这几个步骤。
1.2.1 概念模型设计调研医院的实际业务需求后,划分主题,设计ER 图。
经过对医院业务的仔细分析,确定了三个基本主题:病人主题、药品主题、费用主题,其中每个主题又可以划分为若干个子主题。
各主题的详细内容如表1所示。
76表1 医院数据仓库中各主题详细内容主题名称子主题名称内容病人诊治方案时间、科室、医生、医嘱、处方、治疗效果等病人分布时间、科室、地区、职业、年龄、性别、既往病史等药品药品采购时间、药房、药品、供应商、采购员等药品销售时间、药房、药品、病人、处方、医生等费用门诊费用时间、科室、病人、病因、费用等住院费用时间、科室、病人、病因、费用等1.2.2 逻辑模型设计数据仓库的逻辑模型有三种:星型模型、雪花模型和混合模型[4]。
在本系统中,数据仓库采用星型模型,每个子主题对应一个星型模型结构。
星型模型由一个事实表和多个维表构成。
根据不同的分析主题,确定描述各个主题中可用于分析与决策支持的相应指标,即多维数据模型的事实表,并根据各个指标的约束因素,确定多维数据模型的各个维表。
以/门诊费用0主题为例,它含有时间维、科室维、疾病维、费用维四个维,形成了/门诊费用0分析的不同角度(某段时间、某个科室、某种疾病和某类收费)。
事实表由这四个维的主键和一个度量值即/门诊应付费用总计0组成。
一个事实表与四个维表联系起来构成了一个四维分析空间。
那么对/门诊费用0这个子主题,其星型模型结构如图2所示。
1.2.3 物理模型设计根据逻辑模型设计数据仓库的实际存储方式。
数据仓库的存储方式有:虚拟存储方式、关系型存储方式和多维立方体存储方式。
由于关系型存储方式较为成熟,可通过关系型存储方式ROLAP 技术把关系型数据库建模成为/虚拟多维立方体0来存储和管理面向主题的数据,以实现OLAP 的功能。
1.3 联机分析处理OLAP 的设计OLAP 是基于DW 的信息分析处理过程,主要是通过切片、切块、钻取(上卷、下钻)、旋转[4,5]等方法来进行面向数据的查询、分析、归纳和总结。
实现OLAP 的基础是建立多维数据模型。
多维数据模型的物理实现包括基于多维数据库的MOLAP 和基于关系表的ROLAP 这两种方式[4]。
这里选用ROLAP 方式,因为此DSS 是建立在原有医院信息系统HIS 基础上,而HIS 中数据都是以二维关系表形式存在的。
图2 /门诊费用0主题的星型逻辑模型在本系统中,OLAP 分析主要概括为以下几个方面:p 疾病分析:各类疾病的季节和地域分布情况及医疗费用分析。
p 患者分析:患者的地区分布、年龄分布、公费医疗比例及就诊时间情况。
p 门诊分析:各时间段内的门诊人次、住院人次、床位周转率以及医生出诊情况。
p 药品分析:每类药品的金额、消耗数量以及利润情况等。
p 科室分析:对各科室不同时期的产生费用(挂号费、化验费、医药费等)进行比较分析[6]。
以上分析的结果可有多种方法展示:如果决策人员想查阅具体详细的数据则可选用多维报表显示,即通过不同的维、维的不同层次组合展现;如果想查看各种因素对问题的影响及问题的发展趋势等,则可选用饼图、柱状图或曲线图来表示。
1.4 数据挖掘DM 模型的设计DM 可以利用OLAP 的分析结果,可以拓展OLAP 分析的深度,可以发现更为复杂、细致的信息,其设计的重点是挖掘方法的选择及挖掘出知识的表示。
目前已形成多种DM 方法(分类、聚类、关联、决策树、神经网络等)和多种知识表现形式(规则、决策树、知识基、网络权值、公式、案例等)[4],它们均有各自的优点和不足。
Microsoft SQL Server 2000提供了决策树和聚类两种挖掘模型。
可利用决策树分类分析对患者资料数据库中大量历史数据进行处理,提炼出大量有价值的信息,从而为临床提供更准确的决策服务[7];可利用聚类方法对某些疾病的前兆特征进行分析,以便发现多种疾病之间的并发关系,还可分析病人的来源分布、职业分布、身份分布、年龄分布等,以便能够有针对性地采取)些措施来提高医疗服务质量。
2 医院决策支持系统的系统实现本系统采用Window s XP 下的后台服务器/中间服务器/客户端三层结构。
其中后台服务器利用M icro soft SQL Server 2000来设计、存储和管理医院DW;中间服务器采用Microso ft SQ L Server 2000自带的Analy sis Services,用来创建基于医院DW 的OLAP 多维数据集和DM 模型;客户端为人机交互界面,采用VB 开发。
2.1 数据仓库DW 的实现利用Microso ft SQL Server 2000进行数据仓库的物理实现,具体步骤如下:(1)数据仓库的创建。
数据仓库的框架是由事实表和维表组成。
数据仓库的创建可以采用M icr oso ft SQL Server 200077中的数据库与表创建工具实现。
(2)数据的抽取主要是通过网络把从H IS中提取出的数据传输到系统DW中。
要完成以上工作,需利用M-i crosoft SQL Server2000的数据转换服务DT S包组件,在包中指定源数据与目标数据间的映射关系,把数据转换和导入导出过程保存在存储过程中,让服务器自动、定期的执行。
(3)数据的清理和转换提取出来的数据还需要进行数据的一致性检查、格式化处理等清理工作,并对数据进行必要的转换。
在M icr oso ft SQL Ser ver2000中可以使用Transact-SQL、DT S、命令行应用程序及ActiveX 脚本实现数据的清理和转换。
(4)数据的加载在Microsoft SQL Server2000中可以使用Trans-act-SQL、DTS和BSP将数据加载到数据仓库中。
2.2联机分析处理OLAP和数据挖掘DM的实现实现OLAP的基础是建立多维数据模型。
多维数据模型的建立非常简单:首先连接医院DW作为分析系统的数据源,然后根据DW中的维表和事实表,利用M icro soft SQL Server2000中的多维数据集创建向导或维度编辑器来创建共享维度与专用维度,并定义维度的层次关系,这样就建立了用于决策分析的多维数据模型。
至于两类挖掘模型的建立也很简单,通过挖掘模型向导便可实现。
有一点需要提及的是:为了更好的实现人机交互,可通过M icro soft SQL Serv er2000的OLAP接口透视表服务(pivo t-table service)把数据从分析服务器传送至客户端,在客户端产生多维数据集文件,从而模拟OLA P进行多维数据分析。
在本系统中,是运用ADO MD对象通过MDX 查询语言访问数据仓库多维数据集,然后以不同方式显示在OWC控件MSChart和MSH FlexGrid上,并设置DM MBrow ser控件的connect属性连接数据仓库挖掘模型以便将结果显示给用户。
其中ADO MD (active data objects multidimensional)对象模型,是专门针对多维数据集访问的接口对象模型,多维表达式MDX(multidimensional ex pression)是微软Analysis Services专用的多维查询语言,它提供查询和操作数据的强大的语法和语义[8]。