医院信息OLAP技术研究

时间:2022-10-21 09:43:21

医院信息OLAP技术研究

(西南科技大学 信息工程学院,四川 绵阳 621010)

摘要:在数据仓库主题模型基础上,根据医院自身的特点和需要,建立了分析维度、层次,组织了可视多维数据集,利用OLAP钻取、旋转、MDX查询等技术,完成了多维数据分析,解决了医院信息系统决策分析能力低下的问题,为深层次的数据挖掘提供了支持。

关键词:联机分析处理;医院信息系统;数据仓库;决策支持

中图分类号:TP392文献标识码:A文章编号:1009-3044(2009)28-7845-03

Research of OLAP Based on Hospital Information

ZHU Yu-ying, WU Bin

(Southwest University of Science and Technology, Mianyang 621010, China)

Abstract: This paper established analytical dimensionality and level, organized visual and multidimensional dataset based on analytical subject of Data Wearhouse according to the characteristic and requirement of hospital. The multidimensional informations were analysed through OLAP drilling, rotating and MDX. The proposed scheme resoluted the low capability of decision-making and analysis for Hospital Information Syatem and offered support to deep Data Mining.

Key words: OLAP; hospital information system; data wearhouse; DSS

目前,就全国范围来看,大多数的医院信息系统HIS(Hospital Information System)应用面向联机事务处理(OLTP),使医院的日常业务管理发生了巨大变革,信息流、资金流、物流的收集、存储、分析开始实现电子化、网络化,以提高医院的工作效率和质量。但是面对如此驳杂且日益丰富的信息仓库,医院管理者却无从着手分析理解、获取数据库中有价值的知识,传统的指标体系和分析决策方法没有发生根本变化,更无从进行病员、疾病、科室及医务人员的规则分析和研究,数据无标准存放和历史数据浪费严重。如此一来,如何充分分析利用历史数据资源,为医院的管理决策服务,成为了一个具有相当理论及实际意义的课题。而建立医院数据仓库和利用OLAP分析处理技术,进行数据的存储和组织,完成复杂的查询和数据分析操作正是解决以上问题的新途径[1]。

1 OLAP技术理论

1.1 OLAP概述

联机分析处理OLAP(On-line Analytical Processing)最早是由关系数据库技术的泰斗之一的E.F,Codd在1993年提出的[2]。OLAP技术可以对存放在数据库中的数据进行分析处理,并以多维视图的形式呈现给数据分析人员、管理人员等需要对原始数据进行统计分析的用户。这种以“事实”为中心的多维视图比传统的二维关系模型更能真实、直观反映出现实中某一实体与其它实体之间的关系。因此,用户通过OLAP技术这一快捷而又可靠的途径可以方便的对数据进行更深入的访问,获取隐藏在海量数据中的重要信息。

OLAP建立在数据多维视图的基础上,它的特征可以概括为多维性、快速响应性、分析性、信息性和共享性,系统能在5秒内对用户的大部分分析要求做出反应,处理与应用有关的任何逻辑分析和统计分析,为用户提供数据的多维视图分析,不论数据量和数据存储的复杂度,系统都能实现层次维和多层次维的完全支持,及时获得并管理大容量信息[3]。

1.2 维和度量值

OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是“维”的概念。维是人们观察数据的一些特定角度,是考虑问题的一类属性集合。维是主题的基础,是对主题的一种类型划分。例如患者的职业分布可以是一个职业维;患者或者疾病的地理分布可以构成地理维;而各种疾病治疗过程产生的相应费用情况则可以构成费用维。

维的层次是指人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面。一个维往往具有多个层次。例如,时间维可以向下再划分出年、季度、月份、日期等不同的层次;地理维可以划分为省、市、县、乡等层次。

维成员是维的一个具体的取值,也就是将数据项在某维中位置的描述称为维成员。如果一个维是多层次的,那么该维的维成员是在不同维层次的取值的组合。例如,我们假设时间维具有年、月份、日期这三个层次,分别在年、月份、日期上各取一个值组合起来,就得到了时间维的一个维成员,即“某年某月某日”。

度量值是一组值,它提供了最终用户感兴趣的数值,描述了数据的实际意义。度量值是所分析的多维数据集的中心值,是最终用户浏览多维数据集时重点察看的数字数据,是各维交叉的结合点。一般情况下,度量值是一个数值度量指标,例如患者人数、住院费用值等。

1.3 数据组织方式

在OLAP技术视线中,数据组织方式非常重要,它将直接影响数据分析和挖掘的速度和质量。目前OLAP工具在实现上,对多维数据集的数据组织、存储和管理采用分区方式,分区能够使得多维数据集中的各种数据分布在多台服务器中,每个分区对应一种存储模式,一般有多维OLAP(MOLAP)、关系OLAP(ROLAP)和混合型OLAP(HOLAP)三种存储模式[4]。

MOLAP利用一个专有的多维数据库来存储OLAP分析所需的数据,数据以多维方式存储,进行“旋转”、“切片”等操作,以多维方式显示数据。MOLAP结构的主要优点是能够快速的响应用户的分析请求,但预处理操作是预先定义好的,灵活性较差。

ROLAP在功能上类似于MOLAP,由事实表和维表以关系型结构(“星型结构”或“雪花结构”)进行多维数据的表示和存储。ROLAP结构的主要特点是灵活性强,用户可以动态定义统计或计算方法,

HOLAP结构是将MOLAP和ROLAP两种结构的技术优点有机地结合起来,满足用户各种复杂的分析请求。目前业内公认实现HOLAP结构较理想的方法是利用一个多维数据库存储高级别的综合数据,同时用RDBMS存储细节数据。

2 医院信息OLAP技术研究

2.1 数据仓库主题

医院信息OLAP技术实现采用微软Microsoft SQL Server提供的基于COM的可扩充OLAP接口,通过一系列的服务程序支持数据仓库应用。OLAP系统设计的重点在于如何组织数据仓库中的综合性数据。因此,数据仓库主题模型的设计是实现OLAP分析的关键前提,若主题确定模糊或不准确会直接影响后期的OLAP分析决策效率。根据背景医院目前的信息数据情况和决策管理需要,已针对病员信息和住院费用制定如图1所示的数据仓库主题模型[5-6]。

2.2 维、层次、类的设计

医院信息OLAP是从医院决策者的角度进行数据分析,这里的“角度”也就是立方体中的维度。OLAP维度和层次结构非常关键,设计不好就会增加维的数目和存储空间,从而延长查询时间。在主题明确、数据源规整的数据仓库建立之后,就可以针对数据源的状况对数据立方体的维和层次进行分析设计[7]。

一般来讲,维分为共享维和非共享维两类。被两个或两个以上的多为立方体共同拥有的维称为共享维,只在一个多为立方体中使用的维称为非共享维。在医院信息OLAP系统中,根据数据仓库主题模型,时间维是被所有立方体所共有的,设为time共享维;医生维被诊治立方体、病人立方体和住院立方体所拥有,设为doctor共享维;同理还有diagnosis共享维、department共享维和occupation共享维。而民族、输血、外伤等维度是被病人、诊治等立方体私有的,设为非共享维[7]。

在Analysis Services中,维一般都包含着层次的关系,每个层次包含一个或多个维成员,多个层次中的维成员排列成多个层次,成员的这种层次结构称为概念分层,它为实现将底层概念映射到高层概念提供了方法,也为数据的上卷、下钻操作提供了基础。

在维的层次设计中,以时间和费用共享维为例,医院信息多维分析系统只要求选择一个时间体系,层次设计为:年、季度、月、日,费用维包含三个层次:总费用、单项费用、杂费,在单项费用中,又分为床位费、护理费、西药费、中药费、放射费、输血费、手术费等几个层次,如图3。

实现多维数据操作的另一种方法是使用维内元素的“类”,即按一定的标准对维成员进行划分,对应类的一个属性,就有对维成员的一个划分,类属性不同,得到的划分也不同。医院信息分析中,病人维的概念分层如图3所示,按性别可以划分为男、女;按来源可以划分为县内、县外、省内、省外等。

年龄维、费用维等维的成员值均为数值型,取值较多,为了便于统计、易于理解,可以对这些维进行离散化,即数字概化,从而节省存储空间。例如,对病人年龄维进行概化,可将年龄分为0~15岁、15~25岁、25~40岁、40~60岁、60~90岁五个离散分类。

2.3 建立多维数据集

多维数据集是数据的一种多维结构,由维度和度量值的集合进行定义。本文利用SQL sever2000 Analysis service创建多维数据集,将存储在关系数据库中的数据转换为具有实际含义并且易于查询的业务信息。管理关系数据以进行多维使用的最常用方式是采用星型架构,它是由一个事实数据表和链接到该事实数据表的多个维度表组成。多维数据集的生成过程是将星型结构中的各个维表同事实表进行连接,得到一个多维数据表,然后在此基础上进行各角度的预计算,将计算结构存储形成多维数据库。图4是针对病人住院费用主题的多维视图。

2.4 实现多维数据分析

2.4.1 数据切割、钻取和旋转分析

OLAP 的多维分析是指对多维数据集中的数据用切片、切块、旋转等方式分析,使用户从多个角度、多个侧面去观察数据仓库中的数据,深入地了解数据后面所蕴含的信息,挖掘有效的管理决策模式。

1) 多维的切片和切块

在多维分析过程中,对多维数据集的某个维选定一维成员,这种操作就称为切片。进行切片的目的是使人们能够更好的了解多维数据集,通过切片的操作可以降低多维数据集的维度,使人们能够将注意力集中在较少的维度上进行观察。与切片类似,如果在多维数据集上对两个或两个以上维选定其维成员的操作,就称为切块。

在医院信息分析中,不同时间段、不同职业病人各种疾病发病情况关联分析,就可以在“疾病、时间、职业”三维立方体中进行切块和切片,得到不同职业病人各病种的发病率分布情况,如图5。

2) 钻取

钻取包括向下钻取(Drill-down)和向上钻取(Drill-up)操作。下钻是为了得到细节数据,上钻是为了隐藏细节而得到综合数据。钻取的深度与维所划分的层次相对应。下钻是从更具体的抽象层次呈现数据。上钻是从更一般的抽象(或粒度)层次呈现数据,它是下钻的逆过程。

课题背景医院是“视觉第一中国行动”定点医院,医院每年接受大量白内障手术患者,医院对白内障的患者数目和相关病发、病原疾病发病率给予了较大关注。下表利用钻取的方法,分析了白内障及相关病种发病率时间分布。

3) 旋转

如表2所示,旋转操作是将多维数据集中的不同维进行交换显示,得到不同视角的数据,使用户更加直观地观察数据集中不同维之间的关系。下表以医院管理层关心的各时间段医生与诊疗病人数目关系为例,从不同视角分析其三者间有机联系。

2.4.2 基于MDX制作OLAP分析

多维表达式MDX(Multi Dimensional Expression)是为访问Analysis Services多维数据结构Cube所开发出来的语言,它提供的强有力功能[8]。在医院信息多维分析中,根据主题和决策需求,可以利用MDX进行各种有临床和管理价值的分析,下面以不同类型病人比例,费用管理分析为例说明。

1) 分析2004、2005、2006三年农民门诊住院病人比例:

With

Member [Measures].[ratio of farmer] as ‘([Measures].[农民]/Count([All clinial].member))’

Select

{[Measures].[ratio of farmer]} on columns {[time].[2004], [time].[2005], [time].[2006].Members} on rows

From [patientcube]

Where[住院].[门诊]

2) 统计上一年门诊不同科室医生所开出的放射治疗费:

With

Member [Measures].[expense] as ‘sum ([expense_fact].[放射费].[all 放射费])’

Select

{[Measures].[expense_fact].[放射费]} on columns

{[doctor].[department].Members} on rows

From [expense]

Where ([time].[year].currentmember-1)

多维数据集构建完成后,用户可以利用Microsoft SQL Server提供的数据透视表服务,通过客户端应用程序连接OLAP组件,完成多维数据的取还。

4 结论

该文在数据仓库规整数据结构、明确数据分析主题的基础上,根据医院自身的特点和需要,建立了分析维度、层次,组织了多维数据集,实现了多维视图分析,并通过用户、知识人工选择的方式,完成了主题数据的钻取、旋转操作,从不同角度得到了管理者关心和需要的分析,为深层次数据挖掘和知识发现提供了必要的决策支持。

参考文献:

[1] 林杰斌.数据挖掘与OLAP理论与实务[M].北京:清华大学出版社,2003.

[2] 高人伯,陈文伟,数据仓库和OLAP的数据组织[D].计算机世界技术专题版,1998,(22).

[3] 朱凌云.医学数据挖掘技术、方法及应用[J].生物医学工程杂志,2003:20(3):559-562.

[4] Tony Bain.SQL Server 2000 数据仓库与Analysis Services[M].p勇,译.北京:中国电力出版社,2003.3

[5] 袁小珍,许南山.基于数据仓库的生产智能控制和管理决策系统[J].微计算机信息,2004:20(9):104-105.

[6] 宋中山,成林辉,吴里峰.一种基于关联规则的增量数据挖掘算法[J].湖北大学学报(自然科学版),2006,28(3):240-243

[7] Germán Creamer, Sal Stolfo. A link mining algorithm for earnings forecast and trading[J].Data mining and knowledge discovery.2009,6(18).

[8] Nadia Nedjah, Luiza de Macedo Mourelle, etc. Innovative Applications in Data Mining[A].Springer Berlin Heidelberg.2009(169):1-15.

上一篇:华为C&C08程控交换机的维护及管理 下一篇:创新型IMS信息技术人才培养模式改革与研究