售前电话
135-3656-7657
售前电话 : 135-3656-7657
点击上方“中国数字医学”可以订阅哦!
导读:改变传统HIS的两层或三层架构设计模式,采用分布式服务架构设计方式降低系统模块之间的耦合,能够按业务模块实现集群化部署,同时保证产品的高可用性。采用阿里巴巴开源服务治理框架Dubbo,结合服务注册中心、负载均衡模块Nginx、院内集成平台软件等实现院内一体化HIS&EMR的分布式服务架构搭建。采用分布式服务架构之后,系统模块之间的耦合度降低,业务扩展、系统升级或版本变更等更加方便快捷his系统业务模块,集群化部署解决了单点故障和高并发问题。采用互联网架构实现HIS&EMR产品很好的弥补了传统HIS耦合度高,扩展困难等诸多问题。
1 引言目前大部分医院HIS系统的架构仍为传统的两层或三层架构模型。随着医疗行业应用的不断扩展,对HIS&EMR产品的稳定性、可靠性和可扩展性提出了更高的要求。如何实现HIS系统的模块化管理与集群化部署一直是一个亟待解决的问题。基于互联网架构的HIS&EMR产品采用分布式服务架构设计方式实现了系统模块的分布式管理,通过集群化部署方式解决了单点故障、负载均衡等问题。模块之间通过服务方式调用,减少了模块之间的耦合。
2 HIS&EMR架构设计2.1技术选型 结合目前互联网产品的现状,采用主流的开源框架来搭建整套系统。一体化HIS&EMR产品的整体架构包括阿里巴巴开源的分布式服务治理框架Dubbo,服务注册中、负载均衡模块F5与Nginx、开源的消息中间件、文件系统服务NFS、缓存服务器Redis,应用服务器Jboss,服务总线等。架构模型见图1。
图1 系统整体的架构模型
2.2 架构设计2.2.1 单点登录(SSO) 单点登录是互联网产品的必备功能。针对单点登录功能[4],设计了医院单点登录接口规范和统一的登录,所有接入的HIS&EMR模块及第三方系统都必须满足该集成规范。当用户访问的时候,根据用户提供的凭证信息进行身份校验,如果通过校验,将为用户生成票据(),用户通过App 访问业务系统时,业务系统需检查的合法性,如果通过校验,用户就可以不用再次登录而直接访问业务系统。
2.2.2 分布式集群服务设计 一体化HIS&EMR产品采用集群部署方式。传统的两层架构或三层架构架构模式是前端直接连接到数据库进行操作,而基于互联网架构的HIS&EMR产品连接的是Dubbo RPC服务。一体化HIS&EMR目前分为BMS(收费管理)、ERS(检查预约)、PCA(患者账户管理)、PDS(供药管理)、ISMS(票据管理)、MIPS(医保)、UPT(对账管理)、BDS(基础字典)8个模块 ,各个模块之间通过Dubbo服务进行数据交互,最终 Dubbo服务再通过TCP方式连接到缓存服务器Redis、消息中间件和数据库进行数据持久化操作。此种设计方式易于模块的扩展与集群化部署,如图2。
图2 分布式集群服务设计
目前医院生产环境中,在用的RPC服务3000余个,Jboss应用服务器40余个。用户登录信息、主数据字典及HIS内部的部分业务数据都存放在缓存服务器Redis中。缓存服务器能提供高性能的读写服务,合理使用可以有效降低数据库和其他网络资源请求,从而提高系统性能和吞吐量。生产环境我们进行了主从配置,通过Redis+来实现Redis的高可用功能,防止单点故障而造成业务不可用的情况。
2.2.3第三方系统集成 除了一体化HIS&EMR系统内部的架构设计,在与第三方系统进行数据交互的时候,采用服务总线模式。考虑到集成平台软件的稳定性及可维护性,最终决定采用 的数据平台软件。目前医院已完成了将近30余个第三方厂商his系统业务模块,40多个模块的接入,包括检查检验、护理、手术麻醉、重症、静配等,日消息量达到50余万条。同时在IHE、DICOM、HL7等国际标准的基础上制定了覆盖医疗所有业务流程的系统集成规范,为开发基于规范的系统集成平台,为遗留的、当前的以及将来的系统提供了一个统一标准的数据交换和工作流协同的平台。我院目前有如下几种集成方式。