黎茂林,王黎黎
(1.中国电子科技集团公司第二十八研究所,南京 210007;2.南京南瑞继保电气有限公司,南京 211100)
随着物联网和移动互联网技术的发展,基于物联网和移动互联网技术创建一体化的综合防治体系将成为慢性病防治的发展趋势[1]。“十三五”全国人口健康信息化发展规划中把构建“互联网+健康医疗”服务新模式作为主要任务之一,引导优质医疗资源“下沉”到家庭,实施以远程医疗服务为核心的健康中国云服务计划[2-3],大力推进基于互联网的跟踪随访、健康管理等服务应用[4-5]。因此,基于互联网的“医生+健康管理云平台+健康终端+患者”的医疗服务成为物联网、云计算等新兴技术下的健康监护、健康管理模式,是智慧医疗的重点发展方向[6-8]。“互联网+健康医疗”的服务模式特别适用于需要在家庭使用无创呼吸机进行治疗、康复的患者,但是大量的患者人数和设备使得工程师对家用呼吸机的维护、医生对患者的远程监护有很大困难。
基于上述背景,为方便阻塞性睡眠呼吸暂停低通气综合征患者居家康复治疗,本文设计了一套基于家用呼吸机的健康管理云平台,使家用呼吸机的数据能实时传送给医生。其中,呼吸机通过Wi-Fi和GPRS 2种方式上传数据,通过数字化接口远程实现参数配置。本平台可定期统计、分析患者的监护情况和病情报告,减少医生的工作量,并且使患者的设备得到工程师24 h的运维,切实保障患者治疗安全。
阻塞性睡眠呼吸暂停低通气综合征患者使用家用呼吸机进行居家康复治疗时,医生需要通过患者使用家用呼吸机康复治疗的监护信息,掌握患者的依从性和治疗效用,并根据治疗效用调整呼吸机参数,以便更好地治疗患者。因此,在康复治疗过程中需要一个云平台接入家用呼吸机的监护数据,使监护数据能实时传到医生端,方便医生实时监护、阅读健康报告、判定医嘱依从性等治疗状况。基于上述需求,本文设计了基于家用呼吸机的健康管理云平台。同时,平台还需存储患者治疗及他人与患者的交互记录,为将要发生的事件创建提示信息。通过本平台,责任医生可远程更改处方(呼吸机的个性化参数),工程师可远程运维、配置和调试呼吸机,实现“医生+健康管理云平台+健康监护终端+患者”的医护应用模式。
基于家用呼吸机的健康管理云平台采用基于J2EE 技术的浏览器/服务器(Browser/Server,B/S)架构,将Oracle作为数据库、WebLogic作为Web容器,利用消息中间件(ActiveMQ)作为消息分发和传输工具,支持Linux和Windows操作系统,包含Web服务和健康数据接入服务2个部分。Web服务采用SpringMVC+Hibernate框架,分为领域对象层(POJO)、数据访问对象层(DAO)、业务逻辑层(Service)、控制器层(Action)和表现层(View)5层。健康数据接入服务采用Spring+Hibernate框架,分为领域对象层(POJO)、数据访问对象层(DAO)和业务逻辑层(Service)3层。平台通过采用优良的软件框架分层设计,降低了软件代码之间的耦合度,提高了可扩展性。不同角色,如医生、工程师、管理员和患者使用本平台的业务流程示意图如图1所示。
图1 不同角色使用健康管理云平台的业务流程示意图
患者在家中使用呼吸机时,呼吸机监护数据通过Wi-Fi等网络实时上传到本平台。
工程师通过本平台对设备进行远程在线调试和运维。在对设备进行远程调试时,发送修改指令到在用呼吸机,呼吸机接到指令后对设备参数进行修改,并把修改后的新参数和实时监护数据传输到平台的工程师端显示,从而使工程师可以掌握呼吸机参数修改的正确性,了解设备运行是否正常。
医生通过本平台可对患者进行新增、停用呼吸机等操作,也可把患者共享或移交到其他医生名下,实现分时段交替管理。平台会给出患者监护期间的健康事件,按照轻重缓急进行优先级处置和提示,医生可及时获知健康事件。此时,医生可以远程修改呼吸机的配置参数。且本平台能对每一位患者近期的监护状况进行分析,并生成健康报告,供医生查阅。
同时,工程师对设备进行远程调试和参数配置、医生对患者修改处方等操作均会记入平台日志,患者通过使用患者端App可以异地查看实时监护信息、历史监护数据和健康报告。
1.3.1 健康管理云平台与健康终端数据交互与管理协议
健康终端指家用呼吸机及后续需要扩展接入平台的其他健康监护设备。要想实现健康管理云平台与呼吸机的数据交互和终端设备管理,需要制订一个支持可扩展接入新型号设备、其他类型设备与健康终端之间的交互与管理协议。该协议对呼吸机与平台之间交互的业务层和传输层协议进行规定,支持健康终端的即插即用。健康终端接入网络后主动向平台发起网络连接请求,建立TCP(transmission control protocol)传输层通道,应用层协议采用TLV(tag-length-value)格式进行编解码,然后健康终端向平台发起Association请求,建立与业务层的连接。平台根据需要向健康终端发起数据请求或终端主动向平台发送实时数据。该协议包括传输层协议和应用层协议2个方面,具体如下:
(1)传输层协议。接入服务器和健康终端之间采用可靠的TCP作为传输层协议。接入服务器采用固定的公网IP地址和专用的端口号,提供TCP连接服务,默认TCP端口号为10656。健康终端根据本地存储的接入服务器IP地址和TCP端口号(10656)向接入服务器发起连接请求,建立TCP连接。
(2)应用层协议。应用层协议的报文包括报文头、保留字段、循环冗余校验(cyclic redundancy check,CRC)码和报文体4个部分。报文头的长度固定为27 B,报文头结构按照顺序分别是报文长度(2 B)、协议版本(2 B)、报文类型标识(2 B)、报文序列号(2 B)、终端类型(1 B)、终端子类型(1 B)、终端序列号(16B)和错误码(1B)。本协议所定义的所有交互报文都遵循此报文头结构。保留字段为4 B,CRC码为2 B。报文体可包含多个TLV格式的编码段,长度可变,内容与具体的报文相关。报文最大长度为10 KiB。
1.3.2 基于WebSocket的健康设备实时数据交互
根据呼吸机实时上传的监护数据,本平台以数值和呼吸波形2种方式在医生端实时显示,实现患者远程监护功能。此功能的实质是在B/S架构上进行服务端和客户端的实时通信。目前,已有的Web实时通信技术包括长轮询、定时轮询、基于Flash的数据交换和基于WebSocket的实时通信等[9-10]。长轮询、定时轮询实时通信技术采用超文本传输协议(hypertext transfer protocol,HTTP)和Ajax技术来实现实时交互效果,但存在如下缺点:客户端和服务器端的每次报文交互是一次完整的HTTP请求响应过程,都带有完整的HTTP报文头信息,增加了数据传输量,不能满足实时性要求较高的应用场景。为了突破HTTP协议进行实时交互存在的缺点,基于Flash的数据交换和基于WebSocket的2种非HTTP协议的实时通信技术应运而生[9-10]。但是基于Flash的数据交换实时通信技术要求客户端必须安装Flash插件,存在无法自动穿越防火墙、在具有多重防火墙复杂网络环境下不兼容的问题。WebSocket是HTML5提供的一种浏览器与服务器间进行全双工的实时通信技术,可以实现客户端和服务器端之间的长连接,以事件驱动的方式实现数据双向实时异步传输,从而实现真正意义上的推送功能。在流量和负载增大的情况下,基于WebSocket的实时通信技术具有一定性能优势。
基于WebSocket的实时交互流程如下:首先,健康数据接入服务器将监视的健康设备的实时数据传输给消息队列服务器,Web服务器向消息队列服务器发起订阅请求,消息队列服务器根据订阅请求将数据分发给Web服务器,然后由WebSocket中长连接给发起订阅的客户端用户进行推送,并在客户端的浏览器上实时显示。
1.3.3 数据传输加密
呼吸机一定程度上与患者的生命安全相关,因此在数据传输上需具有安全传输设计。本研究中的数据从呼吸机传输至平台时,采用超文本安全传输协议(hyper text transfer protocol over securesocket layer,HTTPS)并利用高级加密标准(advanced encryption standard,AES)和公钥加密算法(RSA算法)对数据加密,从而保证数据的安全传输。具体方法如下:客户端生成AES密钥并保存;客户端用AES密钥对被传输的数据进行加密,并使用RSA公钥对AES密钥加密,然后把加密后的密钥值放到报文头中;服务器端拿到报文头后使用RSA私钥解密以拿到AES密钥,服务器端再使用AES密钥对请求数据解密;服务器端对响应数据使用AES密钥加密并向客户端发送,客户端收到服务器端加密的数据后,使用之前保存的AES密钥解密获取数据。
按照“模块相互独立,减少相互间耦合性”的原则,将基于家用呼吸机的健康管理云平台进行模块化设计,分为健康数据接入、健康管理、设备管理、患者管理、平台运维和接口服务6个功能模块,如图2所示。
图2 基于家用呼吸机的健康管理云平台功能架构
健康数据接入模块负责健康设备的接入,实现平台与健康设备的网络连接以及业务数据交互,具体包括协议封装与解析、呼吸机数据接入、接入数据存储、其他健康终端接入和呼吸机消息分发订阅等功能。
健康管理模块包括实时数据展示、患者监护提示与备注、患者参数设置、处方管理和健康报告等功能,可实现医生对患者使用呼吸机的健康跟踪、健康日常监护、健康报告生成、设备个性化参数(处方)修改、操作记录等。
(1)实时数据展示。当患者的呼吸机接入平台后,可实时查看呼吸机的工作状态与参数,如图3所示。医生可以远程控制呼吸机的启动和停止,设置呼吸机的报警、湿化工作参数。
(2)患者监护提示与备注。患者监护提示是医生为患者设置的定时提醒,提醒到期时会在工作台首页自动显示。备注是医生针对患者设置的一个备忘录功能,不需要自动定时提醒,用于医生后期查看相关记录与参数。本功能模块可实现患者监护提示与备注的新增、修改、删除等功能,其应用界面如图4所示。
(3)患者参数设置。患者参数设置可以对患者的优先级计算参数进行个性化配置,默认使用全局计算参数,当对患者设置了个人计算参数后,则在计算时使用个人计算参数。患者参数包括医嘱依从性计算、周期性呼吸、周期性呼吸变化、患者触发式呼吸、患者触发式呼吸变化、呼吸速率、呼吸速率变化、潮气量、潮气量变化、分钟通气量、分钟通气量变化、过压、报告设置等,如图5所示。
(4)处方管理。处方管理负责显示选中的患者相关的处方清单以及每个处方的详细信息,根据用户需要可以添加新的处方,旧的处方不会被删除。处方包括呼吸机处方、面罩处方、加湿器处方、辅助设备处方等。新的处方成功创建后,旧的、正在使用的处方将自动停止,即结束日期修改为当前日期。处方管理应用界面如图6所示。
图3 实时数据展示界面
图4 患者监护提示与备注应用界面
(5)健康报告。健康报告包括医嘱依从性信息报告、每日详细报告、长期趋势报告、统计信息报告和治疗数据摘要报告。其中,医嘱依从性信息报告可以查看时间段内每天的设备使用时间,确定每天的设备使用时间是否达标。每日详细报告可以查看时间段内每天的设备使用状况、气压等数据,如图7所示。长期趋势报告可以查看查询时间段内设备的每天使用平均趋势等信息,如图8所示。统计信息报告是患者对呼吸机使用次数、时长的统计,用来确定患者执行治理方案的情况。治疗数据摘要报告可以查看时间段内的整体使用时间、平均使用时间等信息,如图9所示。
图5 患者参数设置界面
图6 处方管理应用界面
图7 每日详细报告
图8 长期趋势报告
图9 治疗数据摘要报告
设备管理模块包括设备基本信息管理、设备工单管理、设备日志管理3个功能,可支持工程师进行健康设备的增加、状态维护、远程调试等操作。
(1)设备基本信息管理。设备基本信息管理负责设备基本信息的增加、修改、查询、启动、停用等功能,具体如下:添加、修改、删除健康设备信息;根据设备的唯一识别号搜索设备,展示设备详细信息;对设备进行在线调试,即查看设备状态的实时数据,对设备参数进行远程在线修改。
(2)设备工单管理。设备工单管理可使工程师进行提交设备异常工单、工单分配、工单状态变更记录、工单管理与关闭等操作。
(3)设备日志管理。设备日志管理提供设备参数设置日志、设备调试日志的查询与显示、列表及详细内容查询功能。
患者管理模块包括患者信息管理、设备分配和患者共享与移交3个部分,具体如下:
(1)患者信息管理。主要展示医生所属患者的基本信息、个人报告、设备设置以及患者设置等信息,为医生提供患者增加、患者信息编辑等功能。
(2)设备分配。主要展示医生所属患者的设备基本信息,提供患者与医生、设备之间的关系绑定。
(3)患者共享与移交。患者可以由多个责任医生轮流监护,也可以完全移交给另外一个责任医生,实现责任医生的患者监护列表变更、移交过程记录等功能。
平台运维模块为上述4个模块提供平台框架和平台管理,主要包括以下5个部分:
(1)用户登录。提供用户登录界面以及用户权限验证功能。用户需要输入账号、密码以及随机生成的验证码,平台通过密码验证后确定用户身份,并根据用户的权限级别授予用户相应的功能。
(2)用户管理。提供用户的增、删、改、查功能。管理员可以修改用户的密码,为用户设置必要的角色权限。用户可自助修改个人基本信息、密码、照片等。
(3)平台管理。提供组织机构、科室、设备类型、全局计算参数、字典表的管理功能。
(4)日志管理。针对不同的用户角色提供相应的日志管理功能,包括用户登录日志、设备参数修改日志等。
(5)权限管理。提供用户的权限管理功能。管理员能够预先设定角色,为角色分配访问权限。在创建和编辑用户时,管理员可以为用户指定角色,从而达到为用户分配权限的目的。
接口服务模块负责平台与呼吸机、App三者之间的数据交互,其外部接口关系如图10所示。通过呼吸机患者注册接口可实现呼吸机的App用户在平台注册,完成用户与呼吸机绑定。通过呼吸机患者登录验证接口进行呼吸机的App用户的登录验证。通过呼吸机历史数据查询接口向平台请求呼吸机的历史数据,平台根据相应的请求从数据库中取出数据后在用户端进行展示。通过呼吸机实时数据推送接口获取呼吸机实时数据,从而使平台对外提供消息订阅功能。通过呼吸机数据上传接口将呼吸机的各种数据和状态信息上传到平台。通过呼吸机参数设置接口,医生或工程师、用户可对保持连接的呼吸机进行参数设置。同时,接口服务还负责对外提供用户注册、登录验证、数据查询、实时数据推送等功能的二次开发服务。
图10 外部接口关系图
基于家用呼吸机的健康管理云平台采用云计算、物联网、互联网等技术,基于消息中间件和Web-Socket实时通信技术,实现了分布式健康数据实时采集与健康设备的远程控制,在医院、医生、患者之间形成了基于互联网的健康管理服务,一个医生可以监护多个居家的康复患者,全程对患者的健康监护状况进行记录,实现了对阻塞性睡眠呼吸暂停低通气综合征康复患者的家庭远程健康监护。同时,平台的健康终端管理功能可实现工程师对大量家用呼吸机进行24 h不间断的实时运维,保障了患者的安全,节省了运维成本。
本平台的应用可辅助医生开具处方,对解决医疗资源短缺问题具有重要作用,对政府大力推广家庭签约医生服务模式具有借鉴作用,也为其他基于物联网、“互联网+”的健康监护系统的设计与实现提供了参考。
虽然本平台的应用取得了良好效果,但仍存在一些不足。如缺少医患远程音视频交互功能,医生不能通过平台“一键式”观察患者情况,下一步将研究5G通信技术在该场景的应用,包括5G通信环境下的便携式健康终端研究和远程指导等。