- 绪论
- 研究背景和意义
近年来,随着第五次科技革命的到来,科学、信息技术等迅猛发展,医疗信息方面的数据激增,全国各大医院每日也产生大量的数据,包括门诊每日接诊数据、患者信息数据、医院资源消耗数据等。数据的高速产生也体现着我国日益增长的美好生活需要同不平衡不充分发展之间的矛盾,人口庞大导致各行各业的数据杂乱,冗余。因此,大量医疗数据的产生不仅给各个医院的设备管理、医患信息、科学研究等带来了新的挑战和机遇,而且对于我们的医疗领域也是一场新的变革。
各医院通常将医疗数据保存在各自独立的数据库中,导致数据分散,格式多样,给数据的整合和分析带来了很大的麻烦。并且传统的数据统计方法难以对海量的数据进行深入挖掘和分析,因此,建立该医院数据可视化分析系统,对满足医院内外多方需求、提高医院服务水平、推动整个医学界的科研进步都扮演着十分重要的角色。通过该系统,可以将各医院数据进行集成、分析,以可视化的方式呈现出来,使数据更加直观、更易理解和应用。
首先,患者及其家属通过这个信息透明的系统,获取医院病患情况、设备更新情况、医生诊病情况等,展示了医院的专业水平和服务态度,给病人们提供了一个自主选择的机会,提高了诊病、治病效率的同时,增强了医患之间的信任感和病人的满意度。其次,该系统对于医护人员而言,实时掌握医院的工作动态,了解患者情况,各设备运行情况,能够合理安排工作时间,优化资源配置,让理论结合实践运用到病人身上,提高自身的服务能力和服务水平,促进医护人员间的沟通协作,提升医院整体工作效率和服务质量。
目前,
-
- 目前研究现状
在国外,医院数据统计可视化分析系统的研究已经取得了显著的进展。一些医疗机构已经开始使用系统来监控和分析病人的医疗记录等数据,以发现医疗过程中的问题和改进的空间。同时,一些国外的科技公司也致力于开发更先进的数据分析和可视化工具。
相比之下,国内在这方面研究起步晚,但近年来也取得了不少进展。例如Yang Y等人[1]已经实现了对医疗大数据资源共享机制的分析与可视化,康敏等人[2] 运用信息可视化软件VOS viewer绘制2005年以来国内外医院大数据信息知识图谱,罗在文等人[3]搭建的分布式智慧医疗信息服务管理系统提高了Hadoop分布式智慧医疗信息系统的医疗业务信息管理质量,邢洪波[4]基于Hadoop对医疗数据存储进行研究,贾斐等人[5]总结了大数据技术在智慧医疗领域多种应用,都对医疗数据进行了分析或可视化研究。
另外,一些数据分析和可视化技术也有助于医院数据分析可视化系统的完成,例如李威等人[6]基于Hadoop对电商大数据进行可视化,汤梦瑶等人[7]基于Spark设计的地震数据分析与可视化系统,以及周正宇等人[8]基于Spark的数据分析可视化平台等,都为医疗系统提供了技术支持。
此外,国内的一些医疗机构和科技公司开始投入大量资源进行医疗大数据的分析和可视化研究,推出了一些具有自主知识产权的系统和产品。这些系统不仅可以对医疗数据进行分类、处理,还可以将结果以直观、易懂的方式呈现出来,帮助医疗专业人员更好地了解病人的病情和整体情况。
-
- 主要研究内容
- 开发技术
下文介绍了医院数据统计可视化分析系统所选用的具体开发技术及选择原因。
-
- Hadoop
Hadoop是随着谷歌文件系统(Google FileSystem,GFS)和分布式并行计算框架(MapReduce)的出现,从2002年Apache Lucence项目下催生出来的一个开源搜索引擎Apache Nutch。为了更快地让该引擎满足现如今高速增长的数据需求,提高数据搜索引擎的处理能力与运算效能,更好地保证数据搜索的处理速度、安全性能和数据分析处理准确度, Apache Nutch项目的负责人之一Doug Cutting便带领着项目研发中心人员一同开发了一个开源代码的分布式计算架构(MapReduce),并将该架构和Nutch项目的分布式文件系统(NDFS)融合到一起,集成在上述搜索引擎基础平台中。接着2006年便成为了Apache基金会的一个单独的项目,被称为Hadoop。
Hadoop是一个能够横跨多台服务器存储、处理和分析数据的分布式系统框架,多台服务器在大规模集群间进行存储大规模的数据集、执行分布式计算任务、处理实时数据流、搭建数据仓库、进行数据分析等任务。经过多年发展,Hadoop已经完善成一个全面的生态系统,广义上具体包括了ZooKeeper、HBase、Spark和GeoMesa等,能够根据用户需求进行自主搭配,各组件间相互配合,形成一个大数据存储系统架构。如图2.1所示。
狭义上的Hadoop则是由HDFS、MapReduce和YARN组成的分布式数据存储框架。
2.1.1HDFS及其架构
HDFS是Hadoop架构中的分布式文件系统,提供数据存储和管理支持的分布式管理系统,是一个支撑整个Hadoop平台集群大数据存储与并发访问处理功能的底层技术基础。和其他分布式文件管理系统不同,HDFS具有高容错性特点,能执行高吞吐量的数据访问,较多访问时也能保持高效率,同时具有一定的可扩展性。其主要优点有:
- 高容错性:HDFS可以为保存在分布式集群中的数据文件设置多个副本,当集群运行出现故障,或者丢失等原因导致出现文件不可用的情况时,可以通过复制其它数据节点保存的数据副本等方式对文件进行自动修复和安全保护。
- 支持高吞吐量访问: HDFS可以进行并行读写操作,从多个节点读取/写入数据,加快了数据访问的速度,提高整体系统的吞吐量。同时HDFS处理数据时在存储数据的节点上执行计算操作,通过将计算任务发送到数据所在的节点,减少数据移动。此外,HDFS通过块复制的方式,将数据划分成不同块,并复制到多个节点上,通过并行读取多个副本来提高访问速度。
- 可扩展性:HDFS通过水平扩展增加集群的规模,扩展存储容量和处理能力。并且支持动态增加节点和容量,自动负载均衡机制来优化数据存储和访问,根据需求向集群中添加新节点,扩展存储容量和计算资源,有助于提高系统整体性能,有效利用集群资源。
- 低成本:HDFS可以在廉价的机器硬件上搭建集群,通过设置文件的多副本保存机制,保证数据存储的可靠性。并且HDFS采用块存储和数据压缩等技术有效利用存储空间,通过数据冗余机制确保数据可靠性的同时也降低了成本。
-
- SpringBoot
-
- Echarts
Echarts是由百度前端团队开发的一个纯JavaScript的前端开源可视化图表库,是Enterprise Charts的缩写。Echarts可以兼容当前大部分主流浏览器,如Chrome、IE8/9/10/11、Firefox、Safari等,其底层依赖一款轻量级的HTMLCanvas 类库ZRender,提供直观、丰富、可高度个性化定制的数据可视化图表,能够运行在Web端甚至是移动设备上。
使用Echarts可以将构建图表的坐标参考于地理坐标系,实现统计图表与地图的结合,使表现形式更为直观、生动、丰富。Echarts还提供了一些用户交互的组件,如可以控制图例元素的图例组件(legend)、增强视觉与对比度的视觉映射组件(visualMap)、表现图表时间变化的时间线组件(timeline)等。使用这些组件可以快读地根据场景需求,来实现交互性强、个性化的可视化效果。
ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于BI的漏斗图,仪表盘,并且支持图与图之间的混搭。除了已经内置的包含了丰富功能的图表,ECharts 还提供了自定义系列。ECharts还提供了丰富的图表实例以及活跃的开发者社区,可以满足绝大部分用户的可视化需求。
ECharts包括图例、视觉映射、数据区域缩放、tooltip、数据刷选等开箱即用的交互组件,提供了深度的交互式数据探索,本文将在ECharts提供的组件上创意性的使用并实现前后端连接的缩放功能,以下具体介绍几点本文相关的ECharts特性。
-
- 需求分析和总体设计
需求分析
-
-
- 业务需求:
-
该系统通过整合医院各系统的数据,实现实时和历史数据的收集和处理;为医生提供直观的病历查看与分析工具,支持诊断支持;为医院管理者提供实时监控医院运营、患者流量、资源分配等的可视化报告;为患者就医提供时间概念;系统需具有易用性,适应持续增长的数据量和不同用户需求。
-
-
- 用户需求:
-
医护人员,通过清晰的数据做出诊疗决策;管理者通过实时数据大屏,监控运营效率和资源使用情况;医院行政人员需要简洁的报告,便于管理决策;患者及家属通过透明的数据,决定看病过程;系统应具备数据分析自定义功能,满足个性化需求;并且系统应确保数据隐私和安全性,符合医疗法规要求。
3. 功能需求:
数据从多种医疗信息系统中接入,接入时进行清洗和标准化,确保数据准确无误;生成图表,如饼图、折线图用于展示病种分布;大屏直观展示关键业务指标;交互式分析,支持用户自定义查询和分析,定期生成报告;数据权限管理,保护患者隐私。
4. 技术需求:
支持Hadoop大数据处理技术,用于处理大量医疗数据;采用API和数据接口,实现数据交换和集成;确保系统安全,遵循HIPAA等医疗数据安全标准;兼容主流操作系统,兼容性好;为防止数据丢失,建立数据备份与恢复机制。
5. 性能需求:
数据加载速度,快速响应请求,减少延迟,并保证系统不间断运行,避免数据丢失;提高容错能力,进行内存优化,节省资源,支持大数据量处理;加强网络安全,保护数据传输过程中的安全问题。
- 总体设计