医院数据中心优化升级解决方案v1.0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
医院数据中心优化升级解决方案
文档修改记录
1方案概述
医院数据中心建成之后,特别是实施人员非驻场期间,频繁出现数据中心数据与业务系统数据统计结果不一致问题,针对这一问题,结合我们在其他医院数据中心运维的成功经验,特制订此优化升级方案。
本方案的主要内容如下:
重新梳理现有业务系统与数据中心的接口部分,重点是数据加载、清洗和转换部分,采用成熟的数据中心产品和解决方案来替换原有相关部件,通过在ETL关键环节和数据质量监控两个环节的升级和优化来解决数据中心数据与业务系统数据统计结果不一致的问题。
下面具体从技术方案和实施计划两个维度展开说明。
2技术方案
2.1 数据集成及访问架构
详细的数据抽取及建设方案以临床数据中心(CDR)的数据集成建设为例,数据集成如下图所示:
图3-1 数据集成架构图
数据集成架构:下面从ETL功能架构中的抽取、清洗、转换、加载等方面对数据ETL功能框架中的关键服务进行阐述。
1)抽取:此步骤负责将数据中心所需的数据从医院各个业务系统复制数据源中提取出来。由于各个数据源内的数据及其质量各不相同,因此针对每个数据源都可能需要建立各自独立的抽取流程。抽取流程的目的在于将数据从数据源抽出并通过一组通用接口传送给数据抽取架构完成清洗及转换步骤。
2)清洗:此流程负责对数据进行清洗与确认,使之与数据仓库所要求的数据标准与质量相符合。数据清洗流程的设计可以划分为两类:一类是针对特定业务源系统编写的专用清洗程序,而另一类则是适用于各类业务源系统及数据仓库内清洗需求的通用程序。由于从源系统抽取的数据都存在不同程序的不一致性,因此可以通过使用相关规则来检查和改善数据质量。
此外,由于很多业务原系统的清洗规则和处理流程基本相同,因此应该将关键的清洗功能设计为通用函数,通过变化参数来满足不同业务源系统的清洗需
求,以提高其可重用性。
3)转换:此步骤负责对源系统所抽取数据进行操作或放大。转换流程是数据在进入数据仓库前最后一次进行修改的环节。
4)加载:作为ETL流程的最后一步,加载流程负责将数据加载到最终数据结构中,这些结构可能是维度表,也可能是事实表或者事务表等。加载步骤中的关键组件是代理键管道(surrogate key pipeline),代理键管道主要用于将加载完成的数据表内自然键替换成代理键。在代理键管道内,维度表的主键与外键仍然得到保留,但是为了提升系统性能,在完成加载结束以后,一些约束条件将被去除而仅保留自然键进行。
目前,数据采集有两种方案,一种方案是通过HSB数据交换的方式进行数据的集成采集,其优点是数据的实时性高,其最大的弊端是数据的采集要依赖于业务系统的接口改造;另一种方案是通过ETL方式抽取数据,其优点是不依赖于业务系统,缺点是实时性没有HSB采集方式高,但也可通过CDC等方式实时同步数据方式进行弥补。所以建议采用CDC+ETL或transactional replication +ETL 的方式进行数据采集。
2.2 ETL关键环节
ETL原本是作为构建数据仓库的一个环节,负责将分布的、异构数据源中的数据如关系数据或数据集市中,成为联机分析处理、数据挖掘的基础。现在越来越多地将ETL应用于一般信息系统数据中数据的迁移、交换和同步。
(1)数据抽取:从源数据源系统获取的数据源系统需要的数据;
(2)数据转换:将从源数据源获取的数据按照业务要求,转换成目标数据源要求的形式,并对错误、不一致的数据进行清洗和加工;
(3)数据加载:将转换后的数据装载到目的的数据源。
2.3 数据不准解决办法
(1)分库分主题:根据业务数据抽取范围,不同主题数据分库分主题设计存储;
(2)根据数据变更进行增量抽取:把需要同步的数据,根据数据写入后是否会发生变化,分为不会发生变化的数据和会变化的数据。
●通过触发器。在要抽取的表上建立需要的触发器,一般要建立插入、修改、删除三个触发器,每当源表中的数据发生变化,就被相应的触发器将变化的数据写入一个临时表,抽取线程从临时表中抽取数据,临时表中抽取过的数据被标记或删除。触发器方式的优点是数据抽取的性能较高,缺点是要求业务表建立触发器,对业务系统有一定的影响。
●通过时间戳。它是一种基于快照比较的变化数据捕获方式,在源表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。有的数据库的时间戳支持自动更新,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。有的数据库不支持时间戳的自动更新,这就要求业务系统在更新业务数据时,手工更新时间戳字段。同触发器方式一样,时间戳方式的性能也比较好,数据抽取相对清楚简单,但对业务系统也有很大的倾入性(加入额外的时间戳字段),特别是对不支持时间戳的自动更新的数据库,还要求业务系统进行额外的更新时间戳操作。另外,无法捕获对时间戳以前数据的delete 和update操作,在数据准确性上受到了一定的限制。
2.4 数据质量监控
数据库质量管理是一个循环管理的过程,其目标是通过一系列保证数据可靠
性的措施来提升数据在使用中的价值。
图4-5 数据质量问题发现与评估流程图2.4.1 数据质量工作流程
数据质量工作流程如下图:
2.4.2 数据质量监控
数据质量监控是一个循环渐进管理的过程,实现数据的分层、分级、分类管理,从患者识别、隐私安全、临床应用、业务管理、科研价值等多重角度出发,全面分析数据的真实性、完整性、时效性、有效性。确定数据质量评价标准,通过国家、省、市、县四级人口健康信息平台开展数据质量评价。
主要体现在以下三个方面:
1、审核专人化:各业务系统上传数据集指定人员负责审核,保证数据上传的完整性、一致性、正确性;
2、数据标准化:数据中心建设标准以省级平台或市级平台为基准,结合医院自身数据需求,制定统一的标准数据编码和数据规则;
3、数据抽取自动化:从数据抽取、清洗到数据装载由自动化程序完成,无异常情况下无须人工干预,避免人为操作对数据抽取过程造成不确定性影响;