ETL技术在医院感染预测系统中的应用
2016-07-25王健李永强王常武李立平
王健 李永强 王常武 李立平
摘要 信息化医院的不断普及,使得医院信息数据不断增长,维度不断增加,医院感染预测系统对于信息的调用也越来越繁杂。ETL技术对数据加工处理具有部署简单、快速、稳定等优点,这保证了数据来源的正确、完整、一致、完备、有效及时效。且能够快速实现数据库内部以及数据库间的数据转换,还支持异构数据库间的数据转换。本文详细概述了ETL技术及实现过程,并结合医院实际情况做相应分析。
关键词 ETL技术;医院信息化;医院感染预测系统
中图分类号 TN91 文献标识码 A 文章编号 2095—6363(2016)04—0087—01
随着医院信息化系统日渐完善,数据不断增长,维度不断增加,基于数据的预测模型越来越成熟,预测结果越来越精确,为医院管理决策提供了良好的平台基础。医院感染预测系统是实时采集医院管理信息系统(HIS)和实验室信息管理系统(LIS)、医学图像存储与传输系统(PACS)、门诊医生工作站等医院系统中传染病相关数据,实现对病人从门诊、入院到出院全过程的在线预测。医院感染监控对时效性、准确度要求非常高,这就决定了必须有高效的数据抽取技术保证数据来源的正确、完整、一致、完备、有效及时效。在医院感染预测系统中,采用ETL技术对数据加工处理具有部署简单、快速、稳定等优点。
1 ETL技术概述及实现过程
1.1 ETL技术概述
ETL技术是一个对数据进行抽取、转换、装载的过程,被视为是数据集成平台,广泛应用于数据清洗、数据抽取、数据统计等不同应用之中。ETL模块不仅能够实现数据库内部以及数据库间的数据转换,还支持异构数据库间的数据转换。
1.2实现过程
采用ETL技术,主要从医院HIS系统、LIS系统及PACS系统中抽取患者基本信息、诊断信息、常规检查信息、菌培养信息、抗菌药敏实验信息、治疗信息及科室、人员等字典信息,系统运行时,各个子系统所输入的数据通过ETL技术抽取到不同维度的数据库中,形成数据仓库,系统运算的数据都由这些数据仓库提供。抽取数据过程中,主要通过如下3个步骤。
1.2.1数据的抽取
源数据来源于HIS系统、LIS系统及PACS系统,通过对3个系统数据特点分析,主要采用两种数据抽取方式:全量抽取即字典类数据;增量抽取即增量业务数据。
1.2.2数据的转换
数据的转换即为数据的转化(数据的合并、汇总、过滤、转换等)、数据的重新格式化和计算、关键数据的重新构建和数据总结、数据定位。在应用过程中,它可以对来自多个生产系统的数据源进行处理,同时还能够保证数据按共同理解的业务需求转换为目标数据结构,最终完成汇总,再存入数据仓库中。
数据库和脚本解析是数据转换过程实现所采用的两种核心技术。在转换执行过程中,需要将大量的数据从源表转换到目标中,转换过程中的数据需要介质来保存,同时还要求这一介质要能够支持对数据所进行的增加、删除、修改等操作。在数据转换执行完成后,介质会被销毁,所以在转换过程中拥有一个临时的数据库是非常必要的。数据的转换依照一定的业务需求,需要用户配置来实现,用户所配置的信息,有时候可能会用到数据库函数,有时候也会出现使用系统提供的函数时,数据库却不支持此类函数执行,这时就需要系统提供分析配置信息,然后再根据分析情况进行运算的操作,这一功能的实现被称为脚本解析。
在一个完整的数据转换过程中,数据流需要从源表经过过滤配置节点、查询分析节点等多个节点处理后,最终保存到目标系统中。过滤配置节点和查询分析节点是转换功能实现过程中需要提供的2种主要的节点。
数据转换的最终结果有可能成功也有可能失败。当转换成功时用户会获取准确的数据资源。当转换失败时,用户则有可能得不到数据或得到不完整的数据。当出现转换失败时,系统需要针对实际情况进行处理。当用户获得不完整的数据时,其主要特点是信息的缺失,即医学图像、使用器材名称、病人及医生信息等方面数据的缺失,这时需要对此类数据采取按照一定的业务逻辑规则将其填充或过滤的处理方法。当用户获取错误数据信息时,可能是由于业务系统的机制不够健全而造成的。系统在接收到这些错误数据信息后,并没有对其进行判断,就直接将其写入后台目标数据库中,使其产生不符合规则的错误数据。比如,有可能将数值型数据输入成全角数字字符,身份证信息中的年月日及性别信息中所包含的位不正确,日期格式不正确及日期越界等。当遇到这样的错误数据时,则需要经过SOL进行一系列的特殊处理,然后再重新写入数据仓库。
因此,在系统设计时增加的容错、纠错能力是必不可少的一部分,这样既方便用户纠错也增强了系统的健壮性。数据转换功能是ETL实现过程中最繁琐、复杂的一项工作,同时也是最耗时、耗力的一部分,对ETL的执行效率有直接的影响。
1.2.3数据的加载
数据加载的实现就是先对从数据源系统中抽取出来的数据进行转换与清洗处理,然后再写入目标数据库中。数据加载工具需要具有高效的性能,否则会直接影响到整个ETL的工作效率。
为了更好地保证监测数据展现、数据分析的实时性和准确性,就一定要保证线监测中心ETL过程的数据加载效率。监测数据需要先通过抽取、清洗和转换,然后再从监测系统源数据库转移写入到监测中心中间数据库,最后再利用数据加载功能将其从中间库写入到监测中心的目标数据库。这一ETL实现过程,实现了在线监测数据资源的集成共享。
2结论
结合医院实际情况,可以得出医院感染预测数据来源基本上会包括医院信息系统中的所有临床数据,这些数据的形式、种类具有多样性。要想从这些繁杂的数据中提取所需的数据,完成自动提取过程,并能够自动按事先设计好的组织方法有序存储,成为了目前服务平台设计的热点问题。
利用ETL技术就可以轻松、有效地解决这一问题。它结合了JAVA技术,可以支持多种数据库如Oracle、SQL Server、HBase、MongoDB Ne04J、Redis,实现跨平台的数据挖掘。同时根据不同医院系统的实际情况,可以动态调整数据抽取方案,能够高效灵活的服务于院感预测系统。