一种医疗大数据仓库的创建方法及系统
技术领域
本发明涉及一种医疗大数据仓库的创建方法及系统。
背景技术
随着医疗行业竞争的加剧、新医改方案的出台等因素的影响,目前医院所处大环境出现了新的变化,生存与发展面临着新的挑战。同时随着医疗模式转型的逐步转变,医院的转型模式已经从粗放式向精细化、终末式向环节化、经验式向循证化的管理方向转变,医院需要综合的、多维的、智能的、易操作的智能分析系统为医院提供科学全面的数据支持,推动医院管理从根据经验的粗放型管理转向依拖数据的精细化管理转变。
虽然在医院信息化方面已经取得了长足的进步,但目前仍然存在一些不足,具体表现在:
1)随着数字化的不断深入,建立了面向不同需求的应用系统,但由于这些系统来均自不同的厂家,这就造成了医院的信息在各个应用系统之间无法互联互通的问题,数据是丰富的,但知识贫乏,各个系统之间缺乏有效信息共享手段,导致信息孤岛的形成,阻碍了医院信息化的进程。
2)信息化经历了多年的发展应用,积累了大量的数据,但大部分数据却是放在医院的不同服务器上,在进行整合应用时存在数据来源不清、数据质量不高,异构系统之间数据集成困难,缺乏统一的标准,数据信息一般都是浅层次应用,一般都是只分析不利用,对监控指标未形成有效的闭环管控,难以推动医院管理的持续改进。
发明内容
本发明的目的就是为了解决上述问题,提供一种医疗大数据仓库的创建方法及系统,它具有通过构建数据仓库来减轻对医院服务器访问的压力优点。
为了实现上述目的,本发明采用如下技术方案:
一种医疗大数据仓库的创建方法,包括如下步骤:
步骤(1):将各个医疗卫生信息系统的业务数据库中的共享数据和非共享数据通过ETL工具抽取、清洗、转换到ODS数据缓冲区;
步骤(2):将ODS数据缓冲区的共享数据通过ETL工具抽取、清洗、转换到ODS的共享数据区中;
步骤(3):将ODS数据缓冲区的非共享数据抽取到数据仓库中;将ODS的共享数据区的共享数据抽取到数据仓库中。
所述共享数据包括:医院资源中患者、医生、设备的基础信息;例如:患者的卡号、姓名、性别、身份证号;医生的工号、职称、挂诊科室;设备型号、生产厂家、有效使用期;
所述非共享数据包括:患者的医嘱信息、患者的检查信息(影像)、医生的晋升记录、医生的培训记录、医生的手术记录和设备的维修记录;
所述步骤(1)的步骤如下:
步骤(101):通过ETL工具从各个医疗卫生信息系统的业务数据库中抽取数据;所述业务数据库包括HIS、LIS或PACS;
步骤(102):向抽取数据中添加设定的数据抽取日期;
步骤(103):将添加数据抽取日期的数据存储到ODS数据缓冲区中。
所述步骤(2)的步骤如下:
步骤(201):通过ETL工具从ODS数据缓冲区中抽取编码类数据和指标类数据;
步骤(202):根据需要,将编码类数据利用EMPI患者索引转换成统一信息编码,将统一信息编码存储到ODS的共享数据区中;
步骤(203):根据需要,依据指标类数据人为设定指标量纲规范,将指标量纲规范存储到ODS的共享数据区中。
所述编码类数据包括:业务字典,所述业务字典包括:医嘱字典、费用项目、患者列表、员工列表;
所述指标类数据包括:业务数据,所述业务数据包括:门诊人次、药品费用、抗菌药物使用、住院收入。
所述步骤(3)的抽取采用增量抽取方法,如果在抽取过程中无法判断增量,则在抽取时,应用ETL工具通过CDC技术实现增量抽取。
所述步骤(3)在抽取的过程中加入抽取时间标志。
所述步骤(3)的步骤如下:
步骤(301):从ODS中依据指标量纲规范(医疗数据指标的源数据)、数据仓库模型(数据仓库建设结构)和统一信息编码(汇总信息后的信息统一标识)抽取数据;
步骤(302):
将ODS共享数据区指标类数据依据指标量纲规范和数据仓库模型转换为事实表数据;
将ODS共享数据区编码类数据依据统一信息编码和数据仓库模型转换为纬度表数据;
将ODS数据缓冲区的非共享数据中的指标类数据依据指标量纲规范和数据仓库模型转换为事实表数据;
将ODS数据缓冲区的非共享数据中的编码类数据依据统一信息编码和数据仓库模型转换为纬度表数据;
步骤(303):对事实表数据根据主键进行字段更改捕捉;若字段有更改,则获取字段对应的变更数据,更新字段数据有效性标示,将变更的数据抽取到数据仓库中,结束;若字段没有变化,获取新增数据,将新增数据抽取到数据仓库中,结束;
捕捉(304):对维度表数据根据主键进行维度变化捕捉,若无变化就结束,若有变化则进行缓慢变化维处理,将变更的数据抽取到数据仓库中,结束。
以上步骤的技术效果是:实现数据的增量抽取。
所述数据仓库模型是指根据医疗行业业务结合《基于电子病历的医院信息平台建设方案》、《卫生信息数据元目录》标准按照八大主题域统一规划设计;
所述八大主题域,包括:账务主题、组织机构和人员主题、医疗活动主题、医疗服务主题、医嘱主题、患者主题、资源主题和病历主题。
一种医疗大数据仓库的创建系统,包括:ETL服务器,所述ETL服务器分别与医院的HIS、LIS、PACS、EMR业务数据库连接,所述ETL服务器将医院的各个业务数据库的数据采集过来后,进行抽取、清洗、转换,然后存储到数据库服务器的ODS数据缓冲区中,然后将ODS数据缓冲区中的共享数据通过ETL工具抽取、清洗、转换到ODS的共享数据区中;将ODS数据缓冲区的非共享数据抽取到数据仓库中;将ODS的共享数据区的共享数据抽取到数据库服务器的数据仓库中;应用服务器根据客户端的输入指令,从数据库服务器中调取相应的数据。
将共享数据从ODS的共享数据区抽取到数据仓库中,可以避免对业务数据库作同一数据的多次抽取工作。
将各个医疗卫生信息系统的数据抽取到ODS数据缓冲区,主要是为了避免数据抽取造成的业务数据库过高负载,在抽取过程总不做任何的转换处理操作。
根据数据缓冲区数据加载时间的判断,以及统一信息编码、公共数据模型等规范,完成由ODS数据缓冲区到ODS共享数据区的数据处理工作,根据实际系统处理的优化考虑,此部分既可以直接使用数据库存储过程或者ETL来完成。
对于ODS到数据仓库的数据处理工作,应根据实际SQL语句优化情况考虑使用数据库存储过程或者ETL工具实现。
对于数据仓库存储的数据,不能够进行更新或者删除。
对于数据仓库中的维度表,在处理的过程中需要充分考虑缓慢变化维。
根据应用程序使用数据的不同以及SQL语句优化处理的不同,可以将数据仓库进行逻辑分层,如根据不同的程序使用建立多个数据集市。此部分操作可以由存储过程或者ETL实现。
本发明的有益效果:
1、减轻医院业务数据库的压力,医院不在需要投入大量的硬件设备来解决业务数据库的性能问题,将历史数据迁移到数据仓库中,业务数据库的职能更加清晰。
2、减少医院的成本,不需要为了业务数据库的压力增加硬件设备的投入,医院业务数据库只保留正常业务需要的数据即可,不需要硬件的继续投入。
3、一次投入多出受益,医院各个部门使用的数据不在从医院的各个业务数据库获取,全部转移到数据仓库中获取。
4、大大提高医院使用数据的效率、节省时间。没有数据仓库之前所有的数据都需要从各个业务数据库获取,既费时又费力,通过数据仓库的建立,所有业务的数据都将通过数据仓库获取到,并且获取数据的时间都是秒级的。
附图说明
图1为数据中心建设流程;
图2为共享数据区数据源;
图3为共享数据区的数据流程;
图4为本发明的系统架构图;
图5为ETL服务器;
图6为应用服务器;
图7为数据库服务器。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
如图1-3所示,一种医疗大数据仓库的创建方法,包括如下步骤:
步骤(1):将各个医疗卫生信息系统的业务数据库中的共享数据和非共享数据通过ETL工具抽取、清洗、转换到ODS数据缓冲区;
步骤(2):将ODS数据缓冲区的共享数据通过ETL工具抽取、清洗、转换到ODS的共享数据区中;
步骤(3):将ODS数据缓冲区的非共享数据抽取到数据仓库中;将ODS的共享数据区的共享数据抽取到数据仓库中。
所述共享数据包括:医院资源中患者、医生、设备的基础信息;例如:患者的卡号、姓名、性别、身份证号;医生的工号、职称、挂诊科室;设备型号、生产厂家、有效使用期;
所述非共享数据包括:患者的医嘱信息、患者的检查信息(影像)、医生的晋升记录、医生的培训记录、医生的手术记录和设备的维修记录。
所述步骤(1)的步骤如下:
步骤(101):通过ETL工具从各个医疗卫生信息系统的业务数据库中抽取数据;所述业务数据库包括HIS、LIS或PACS;
步骤(102):向抽取数据中添加设定的数据抽取日期;
步骤(103):将添加数据抽取日期的数据存储到ODS数据缓冲区中。
所述步骤(2)的步骤如下:
步骤(201):通过ETL工具从ODS数据缓冲区中抽取编码类数据和指标类数据;
所述编码类数据包括:业务字典,所述业务字典包括:医嘱字典、费用项目、患者列表、员工列表;
所述指标类数据包括:业务数据,所述业务数据包括:门诊人次、药品费用、抗菌药物使用、住院收入;
步骤(202):根据需要,将编码类数据利用EMPI患者索引转换成统一信息编码,将统一信息编码存储到ODS的共享数据区中;
步骤(203):根据需要,依据指标类数据人为设定指标量纲规范,将指标量纲规范存储到ODS的共享数据区中。
所述步骤(3)的抽取采用增量抽取方法,如果在抽取过程中无法判断增量,则在抽取时,应用ETL工具通过CDC技术实现增量抽取。
所述步骤(3)在抽取的过程中加入抽取时间标志。
所述步骤(3)的步骤如下:
步骤(301):从ODS中依据指标量纲规范(医疗数据指标的源数据)、数据仓库模型(数据仓库建设结构)和统一信息编码(汇总信息后的信息统一标识)抽取数据;
步骤(302):
将ODS共享数据区指标类数据依据指标量纲规范和数据仓库模型转换为事实表数据;
将ODS共享数据区编码类数据依据统一信息编码和数据仓库模型转换为纬度表数据;
将ODS数据缓冲区的非共享数据中的指标类数据依据指标量纲规范和数据仓库模型转换为事实表数据;
将ODS数据缓冲区的非共享数据中的编码类数据依据统一信息编码和数据仓库模型转换为纬度表数据;
步骤(303):对事实表数据根据主键进行字段更改捕捉;若字段有更改,则获取字段对应的变更数据,更新字段数据有效性标示,将变更的数据抽取到数据仓库中,结束;若字段没有变化,获取新增数据,将新增数据抽取到数据仓库中,结束;
捕捉(304):对维度表数据根据主键进行维度变化捕捉,若无变化就结束,若有变化则进行缓慢变化维处理,将变更的数据抽取到数据仓库中,结束。
名词解释:
事实表:事实数据表可能包含业务交易数据,如挂号、缴费产生的数据,事实数据表通常包含大量的行。
维度表:维度表包含了事实表中指定属性的相关详细信息,比如,患者属性,存储信息等。
有效性标示:指的是数据在不同的时间范围内反映的内容变化。
缓慢变化维:随时间发生变化的维度;
缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。
直接抽取
实时的数据抽取方式
提供了实时的数据整合平台。通过此项功能,可以实现实时数据的处理。这个过程是双向的、实时的数据集成数据,根据需要对立即处理的、实时的流式数据进行零延时数据传输。
增量抽取
对于数据量大的系统,必须考虑增量抽取。一般情况下,业务数据库会记录业务发生的时间,我们可以用来做增量的标志,每次抽取之前首先判断ODS中记录最大的时间,然后根据这个时间去业务数据库取大于这个时间所有的记录。如果业务数据库没有时间戳且改造起来困难,则使用ORACLE的物化视图,在物化视图上建立触发器。这样源数据增、删、改的时候就可以动态改变中间库的数据。
全部抽取
每次ETL操作均删除目标表数据,由ETL全新加载数据。对于维表加代理键不适应,当OLTP系统产生删除数据操作时,OLAP层将不会记录到所删除的历史数据。不可以实现数据的递增加载。
4、数据装载
(1)全部覆盖
在装载数据前,清空数据集市中对应的历史数据,然后将转换后满足数据集市要求的业务数据装载到相应的表中。通常可以采用数据库提供的装载工具直接进行装载。
(2)记录追加。
在装载时,不清空也不更改数据集市中的历史数据,直接将转换后满足数据集市要求的业务数据插入到相应的表中。通常可以采用数据库提供的装载工具直接进行装载
(3)记录更新
根据转换后需要装载到数据集市中的满足数据集市要求的业务数据和数据集市中现有业务数据的情况进行不同操作:如果转换后的数据在数据集市中已经存在,则更改数据集市中的数据以跟最新情况保持一致;如果转换后的数据在数据集市中不存在,则将转换后的数据插入数据集市。
如图4所示,一种医疗大数据仓库的创建系统,包括:ETL服务器,所述ETL服务器分别与医院的HIS、LIS、PACS、EMR业务数据库连接,所述ETL服务器将医院的各个业务数据库的数据采集过来后,进行抽取、清洗、转换,然后存储到数据库服务器中,应用服务器根据客户端的输入指令,从数据库服务器中调取相应的数据。
客户端包括:院长、科主任、护士长、医生、护士电脑客户端。
Database Server、ETL Server、Application Server是数据仓库需要的服务器,每类服务器都由一台或多台服务器组成。医院HIS、LIS、PACS、EMR等业务数据库的数据经由ETL Server经过抽取、清洗、转换到Database Server,Application Server存放基于数据仓库的应用服务。院长、科主任、护士长、医生、护士等员工通过终端PC机跟ApplicationServer交互获取数据。
如图5所示,ETL Server主要功能是对数据进行抽取、清洗和转换,包含数据处理流程:医院业务数据库->ODS,ODS->数据仓库。
如图6所示,Application Server主要功能是接收医院PC端发送的数据请求,Server端将查询结果反馈回PC端的一种数据使用交互模式。
如图7所示,Database Server主要功能是存储数据,包括ODS和数据仓库中的数据。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。