我院大数据分析平台的设计与实现
2018-11-26王永艳鱼兆虎
王永艳 鱼兆虎
摘要:医院数据平台的重要任务之一,是建立临床数据存储库,实现以患者为中心的,即时性的,互操作性的集成临床数据,提供出全景的患者数据视图。该文旨在探索复杂数据资源集成整合、数据分析和预测,更好的挖掘数据价值。通过建立一组统一的数据接口,将各个系统中分散的数据整合汇总,通过对数据的解析、梳理和重构做出面向不同角色不同层面的应用。在Linux平台上,建立基于B/S结构的一个医院数据可视化分析。通过这个网站,可以更加方便查看、统计、分析数据。可用于管理决策类应用:决策支持(BI)、患者随访、临床路径统计、疾病追溯、患者安全控制以及病历的查询、数据上报等。
关键词:大数据MVC;ETL;分布式数据库;数据可视化分析
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)22-0007-02
Abstract: One of the important tasks of hospital data platform is to set up clinical data repository, realize the integrated clinical data with patients as the center, and provide a panoramic view of patient data. This paper aims to explore the integration of complex data resources, data analysis and prediction, and to better explore the value of data. By establishing a set of unified data interfaces, the scattered data in each system is integrated and summarized, and the application to different roles and different levels is made by analyzing, sorting, and reconstructing the data. On the Linux platform, a hospital data visualization analysis based on the B/S structure is established. Through this website, it is more convenient to view, count and analyze data. It can be used for management decision-making applications: business intelligence (BI), patient follow-up, clinical path statistics, disease tracing, patient safety control, and medical record inquiries, data reporting, etc..
Key words: big data; ETL; MVC; distributed database; data visualization analysis
1 背景
在我院的信息系統中累积了大量的、宝贵的临床数据资源,尤其是结构化的电子病历系统更是产生了大量的、临床科研必需的病历信息,大型医院平均每年增加几十个TB的数据。由于这些数据增长很快且结构复杂,给数据管理和利用带来较大的压力,存储和管理成本不断提高、数据利用困难,利用率低。该文设计并实现了基于对象存储、分布式数据库技术的医院数据分析平台,实现数据统一存储和使用。通过与传统的医院信息系统进行协同工作,对现有单节点医疗数据库中存放的各类医疗数据转为分布式存储管理,并通过ETL技术实现对数据的解析、整理与导出,获得临床科研、运营管理、健康风险评估等的数据分析报告。
2 系统功能的设计与实现
根据我院医疗数据信息化建设的情况,该文设计的医疗数据分析系统有四个模块:数据抽取模块、数据存储模块、数据处理模块、数据展现模块。系统结构如图1所示。
2.1 数据来源
研究对象为医院主要的业务系统,包括HIS,LIS,RIS,PACS等以及在医院信息系统中存储的大量的临床科研所需的患者诊疗信息,如电子病历、收费、医嘱、药品、检验、RIS/PACS、手术麻醉、病理等信息;数字、文字、影像等各种混合数据。
2.2 数据抽取模块
数据抽取模块负责对现有的HIS、LIS、RIS、EMR等医疗数据库中存放的各类数据通过ETL技术实现对数据的抽取和清洗、转换和装载。ETL(Extract-Transform-Load)使用图形化的配置方式,简单、灵活而且对于解决存储于不同平台、数据源异构等问题具有优势。在ETL过程中,抽取属于数据的输入过程,解决的主要是异构数据的统一问题;而数据的装载可视为数据的输出过程,主要完成从统一的数据存储装载到目标数据仓库中。而中间的转换(包括清洗)主要是对数据质量进行优化。该阶段不仅可以对数据的冗余、缺失、错误等问题进行检查和修正,更重要的是可以使用默认或自定义的规则对数据中的某些字段进行合并、转换等操作,大大提高数据的正确性、一致性、完整性和可用性[3]。
2.3 标准数据接口
数据接口方面采用ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)来抽取原有系统中现有的数据,提供MQ消息队列,XML/RESTful/JSON格式来供新系统或其他应用来读写数据。支持高并发、分布式计算,实现低耦合、高内聚设计。打破医疗信息孤岛,实现医疗数据共享。如图2所示。
2.4 数据存储模块
通过抽取清洗过的数据采用Mongodb进行存储分析,建立创新的底层构架和数据管理方式为将来的医疗大数据提供海量、横向扩展,高并发,高可用的数据服务。Mongodb数据库的特点:一是具有极高的并发读写性能。二是可以在海量数据中快速查询数据。三是面向可扩展的分布式数据库,它解决了传统数据库的缺陷, 可以适应数据量的增加及数据结构的变化[4]。
2.5 数据展示模块
数据展示模块采用MVC(Model-View-Controller)三层架构。MVC三层架构即主要负责业务逻辑以及数据库交互的模型层(Model)、用于显示数据和提交数据的视图层(View)和用于捕获请求并控制请求转发的控制器层(Controller),采用三层架构设计模式能够把视图设计与数据进行分离,降低了耦合性,易于扩展,提高程序开发的效率[5]。数据分析系统是建立在Linux平台上,基于B/S结构的一个医院数据可视化分析。通过这个网站,可以更加方便查看、统计、分析数据。用户想要查看的信息由自己创建搜索器查询保存,然后绑定到视图上,视图再绑定到工作台上,最终在工作台显示。用户再次登录的时候就无需再次创建搜索器,只需点开工作台即可,如图3所示。
数据分析系统用mysql事务处理型数据库用来存储用户信息、搜索器信息、视图信息、工作台信息。主要的数据库表如图4所示。
3 效果分析
通过该系统能够整合现有医疗信息数据,对数据进行调研、清洗、抽取理顺医疗数据之间关系;建立对象数据库,集中存放各种数据,保证业务系统的稳定运行提供通用数据读写访问接口;将业务和数据进行分离提供全面、准确、多样、灵活的数据查询:医院管理员可以随时查看医院的经营状况,全院信息共享,可做到及时决策。医院医生可以直接利用该系统的数据进行科研。
4 结束语
健康医疗大数据既包括个人健康,又涉及医药服务、疾病防控、健康保障和食品安全、养生保健等多方面数据的汇聚。
利用健康医疗大数据,改进健康医疗服务模式,是我们医院IT人追求的目标。目前数据分析平台的使用还存在一些问题:一是本系统只实现了基本功能,更强大的数据挖掘功能还没能实现,需要逐步完善。二是该系统的用户反映虽然搜索功能强大但搜索器的管理比较麻烦,我们将针对方便用户,简化操作来做进一步调整。三是由于我院尚未接入区域卫生信息平台,未来区域卫生信息平台的接入将为我们探索新的高效的数据组织方式提供更多思路。
参考文献:
[1] Jone A R. ASP. NET从入门到精通[M]. 高春蓉, 译. 北京: 电子工业出版, 2002.
[2] 马建光, 姜巍. 大数据的概念特征及應用[J]. 国防科技, 2013, 34(2): 10-17.
[3] 徐俊刚, 裴莹. 数据ETL研究综述[J]. 计算机科学, 2011, 38(4): 15-20.
[4] 刘愉, 王立军. 基于MongoDB的EHR存储方案研究与设计[J]. 中国数字医学, 2013, 8(6): 20-24.
[5] 王松林, 何贞铭. 基于MVC架构模式的员工信息管理系统设计与实现[J]. 电脑知识与技术, 2014, 10(33): 7885-7889.
【通联编辑:谢媛媛】