APP下载

基于云平台和微信小程序的慢性呼吸疾病远程监护系统的开发

2021-12-31姜丽王辰硕李玥琪孙杰杜利东陈贤祥方震

中国医疗设备 2021年12期
关键词:服务器误差数据库

姜丽,王辰硕,李玥琪,孙杰,杜利东,陈贤祥,方震

1.中国科学院 空天信息创新研究院,北京 100190;2.中国科学院大学 a.传感器国家重点实验室;b.空天信息创新研究院,北京 100190;3.传感技术国家重点实验室北方基地,北京 100190

引言

慢性呼吸疾病作为全球四大慢病之一[1],对我国居民健康造成重大危害,在中国居民主要死因中慢性呼吸疾病位居第3位,且患病人数在增高,可见我国慢性呼吸疾病防控形势十分严峻[2-3]。基于慢性呼吸疾病远程监护系统,做好早期干预和长期监测,已成为病情防控的关键措施之一[4-5]。

在互联网快速发展背景下,医疗行业也迎来了新的发展机遇,“互联网+医疗”为传统医疗行业提供了一种新的发展途径[6]。欧盟研发的WELCOME项目[7]用智能传感背心监测慢阻肺指标参数;中国健康云[8]整合了业内健康管理慢病评估系统及远程可穿戴式健康监测设备,搭建疾病预测模型预估慢性病患病风险。

基于云平台和智能手机的远程医疗监护系统已取得一些成果,但仍存在一些问题:① 监测平台在多参数集成、跨平台和及时性方面有提升空间;② 医疗数据的安全性至关重要[9],存储环节在数据防丢失、接收多源数据方面有提升空间。

针对这些问题,本文开发了基于云平台和微信小程序的慢性呼吸疾病远程监护系统,系统有如下改进:① 针对医疗数据可能丢失和存在数据安全性问题,运用传统稳定的MySQL数据库和安全可靠的阿里云服务器,进行数据的存储与及时备份,以防数据丢失,提升系统的数据安全性;② 针对目前移动医疗平台接入设备和监测数据种类比较单一的问题,本文开发的系统融合注册登记数据、便携式呼气末二氧化碳、血氧与肺功能集成监测数据、用户自主报告数据等多源数据,引入专业医护团队在线诊断与监管,提高病症干预与防治的准确性。

1 原理与方法

1.1 系统结构与原理

基于云平台和微信小程序的慢性呼吸疾病远程监护系统,系统结构如图1所示,包括三大部分:便携式多参数肺功能仪、云平台、微信小程序。

图1 系统结构原理图

患者在日常生活中可以随时随地使用移动监测设备进行肺功能参数的监测,通过蓝牙技术传给移动终端,移动终端将数据传输到云端服务器[10],服务器将收到的肺功能数据存储到数据库。医生通过平台浏览患者的数据,患者可以预约医生在线沟通病情,医生根据监测数据与患者的自我描述给出专业诊断[11],及时调整治疗方案,最终使医生对患者病情的诊断与把控更加及时、准确,缩短患者就医周期,帮助改善慢性呼吸疾病患者的院外管理水平。

系统工作流程(图2)分为10个步骤:① 患者使用便携式肺功能仪采集PEF、FVC、FEV1、FEV1/FVC等多项生理参数,通过低功耗无线蓝牙技术传给移动终端;② 移动终端将数据实时展示在液晶屏幕上;③ 每隔2 s将数据打包成JSON格式通过WiFi发送给云服务器;④ 云服务器调用API接收数据并存储于数据库,通过阿里云数据库备份机制及时备份数据;⑤ 数据库提供数据给平台进行可视化展示;⑥ 患者登录云平台浏览自己的历史监测数据,也可预约医生在线沟通病情;⑦ 医生根据监测数据与患者的自我描述给出专业诊断、及时调整治疗方案[11];⑧ 云服务器将诊断结果存储于数据库;⑨ 云服务器向微信小程序发送最新诊断结果;⑩ 患者接收到微信小程序提醒,及时、便捷地浏览在线就医结果。

图2 系统工作流程图

1.2 便携式多参数肺功能仪对接接口设计

图3 设备接口功能及参数整合方式图

表1 设备接口功能及参数整合方式标

1.3 云服务器软件设计

云服务器软件具备存储数据、备份数据、推送诊断通知等功能,包含四个部分:Web API接口、数据库、云平台、推送微信小程序通知。

各部分的作用为:① 向后兼容的Web API提供对外开放接口,统一管理外部访问数据库资源;② 数据库存放用户信息、研究价值极高的医疗数据、医生诊断结果;③ 云平台提供人员管理、设备管理、监测数据管理、医患在线交流等服务;④ 医生提交专业诊断后,系统将诊断结果推送至微信小程序,供患者查看。

1.3.1 Web API

系统通过Web API接口来统一管理访问数据库资源的操作。开发技术方面:① 采用JSON格式传输数据以达到响应速度快、兼容性广泛、共享能力强、服务器解析速度快的目标;② 采用Java语言和SSM框架(SpringMVC+Spring+Mybatis)来构建Web API接口,以支持动态SQL,方便模块间解耦,简化开发;③ 采用TCP协议确保数据传输的可靠性[12];④ 采用HHTPS对数据加密,以确保接口通讯的数据安全性。

根据系统功能设计了Web API(表2),每个Web API都分配了唯一URL。

表2 服务器Web API接口

1.3.2 数据库

由于健康医疗大数据的特殊性,医疗数据具有丰富的种类,存储形式多样[13],且要求具有非常高的安全性,对于数据丢失是零容忍的[14]。为此Karamjit等[15]根据医疗数据的种类不同将数据库划分为:① 以PostgreSQL为代表的关系型数据库,存放结构化数据;② 以MongoDB为代表的非关系型数据库,存放非结构化数据,如文档等;③ 以Neo4j为代表的图形数据库,存放图像数据,如医疗影像等。

其次,农村社会化服务体系不完善。东营市农村社会化服务体系不完善,信息化建设相对滞后,难以及时提供必要的技术指导和市场信息。

根据系统采集的参数具备结构化特点,为了实现多源异构医疗数据的融合,采用关系型数据库MySQL来存放数据。基于此,开发了慢性呼吸疾病远程监护系统的数据库(图4),为后续多源医疗数据的高效挖掘奠定基础。

图4 数据库图

MySQL数据库具备原子性、一致性、隔离性、持久性(ACDI)属性[16],能确保存储数据的安全性。技术上:① 采用Ajax技术实现Web页面和服务器之间异步传输数据;② 采用bootstraptable技术简化网页端的数据表格功能开发;③ docker容器化部署,以实现数据库的高移植性。

1.3.3 微信小程序

微信小程序具备不占用系统内存、无需安装用完即关的优势,带给用户良好的体验,研制的系统通过微信小程序服务为患者病情管理提供新的途径。研制的微信小程序使用WXML、WXSS设计UI样式,通过JavaScript实现业务处理和与服务器交互,以JSON格式传输数据,实现手机微信端的身份认证[17]、消息及时推送、查看历史数据等功能[18],具体交互过程如图5所示。

图5 数据交互图

1.3.4 数据管理云平台

研制的数据管理云平台的主要功能模块如图6所示,包含人员管理、设备管理、数据管理、预约诊断、对外接口五大模块。人员管理主要处理用户的权限、基本信息;设备管理主要处理接入到平台的设备及其信息;数据管理主要承担监测数据的存储、可视化;预约诊断主要处理医患远程交流、在线就医;对外接口主要处理数据的传输和查询、用户账号的认证和管理。

图6 数据管理云平台主要功能模块图

2 结果与分析

2.1 多参数肺功能仪数据上传服务器可靠性验证

为验证云端服务器接收便携式多参数肺功能仪数据的可靠性,进行了PetCO2、SpO2、用力肺功能参数的实验(图7),实验证明,设备数据上传服务器功能一切正常,证明了云服务器接收便携式多参数肺功能仪数据的可靠性。

2.2 云平台功能可靠性验证

为验证云平台功能可靠性,患者生理参数经由便携式多参数肺功能仪实时上传服务器(图7),服务器调用API将数据存储于数据库,云平台可在线查看患者PetCO2、SpO2实时采集数据(图8a),原始用力肺功能实时采集数据(图 8b),PetCO2、SpO2历史数据(图8c),原始用力肺功能历史数据(图8d),患者还可以预约在职医生(图8e),医生可以查看预约名单、根据预约者的监测数据和初步分类结果作出专业诊断(图8f)。

图7 设备数据上传服务器结果图

图8 平台功能可靠性验证

2.3 统计学分析和对比

本文的远程监护系统现阶段已初步实现,为了验证系统的有效性,将系统采集并存储到云数据库的生理健康参数,与行业标准设备采集的数据进行对比,分别采集30组数据对比分析:① 与飞利浦脉搏血氧仪SpO2的误差对比;② 与飞利浦脉搏血氧仪PR的误差对比;③ 与飞利浦伟康PetCO2的误差对比;④ 用力肺功能流速测试值与标准值的误差对比;⑤ 用力肺功能容积测试值与标准值的误差对比。此外,用JMeter压力测试工具测试了本文的几个重要接口,得出关键数据交互接口的平均响应时间。

表3展示了本系统采集并存储到云数据库的SpO2、PR、PetCO2数据与标准设备值的对比统计数据,并计算出平均误差百分比[(实测值-标准设备值)/标准设备值,下文的计算方法相同],表中误差均符合标准设备的误差要求[19-20]。

表3 本系统测量值与标准设备值对比

表4是用力肺功能流速测试结果,选取0、±4、±8、±12七组值(单位:L/s)进行正反向流速测试,表4中展示了流速测试实测值与标准值的对比统计数据,并计算出平均误差百分比。标准值为+12 L/s时,测试所得的误差达到最大值+3.3%,标准值为-8 L/s时,测试所得的误差达到最小值-0.8%。依据国际肺功能测试标准[21],表4的误差均符合±5%的国际用力肺功能流速误差标准。

表4 用力肺功能流速测试统计数据

表 5是用力肺功能容积测试结果,选取 1、2、3、4、5、6、7、8八组值(单位:L)进行容积测试,表5中展示了容积测试实测值与标准值的对比统计数据,并计算出平均误差百分比。标准值为8 L时,测试所得的误差达到最大值-2.5%,标准值为3 L时,测试所得的误差达到最小值-0.4%。依据国际肺功能测试标准[21],表5的误差均符合±3%的国际用力肺功能容积误差标准。

表5 用力肺功能容积测试统计数据

图9展示了系统关键接口在各种线程数下的平均响应时间(单位:ms),接口1是集成SpO2、PetCO2、PR参数的数据存储接口,接口2是用力肺功能数据存储接口。依据响应时间的2-5-8评判原则[22],当响应时间在2 s以内时,用户会觉得系统的响应速度很快。图9测试结果表明在多线程并发情况下,系统关键接口的平均响应时间均在0.2 s以内,可以看出本文的关键接口响应时间短,响应速度快。

图9 关键接口的平均响应时间

3 讨论与总结

相较于目前市面上的慢性呼吸疾病远程监护系统还存在诸多问题,如接入的便携式肺功能评估设备测量参数不多,测量精度存在劣势[23],平台存储的医疗数据可能丢失和存在数据安全性问题[14],本文分别从以下方面做出改进,助力改善慢性呼吸疾病患者院外管理水平。

首先在测量参数方面,平台可以接入多种便携式监测设备,可采集SpO2、PR、PetCO2、用力肺功能(PEF、FVC、FEV1、FEF25和FEF75)等多项健康参数,并编写对外开放API接口,将数据分类上传至云端服务器。

其次在系统性能方面,将采集并存储到云端数据库中的SpO2、PR、PetCO2的测量值,与标准设备值进行对比,实测值的误差符合标准设备的误差标准;肺功能的流速测量误差最大为+3.3%,容积测量误差最大为-2.5%,符合国际用力肺功能测试误差标准[21]。然后在接口响应时间方面,对系统的几个关键接口进行压力测试,平均响应时间均在0.2 s以内,响应时间短,响应速度快。

最后在医疗数据可能丢失和存在数据安全性问题上,运用传统稳定的MySQL数据库和安全可靠的阿里云服务器,进行数据的存储与及时备份,以防数据丢失,提升系统的数据安全性[24]。

总的来说,本文开发的系统通过实验室研发的便携式多参数肺功能仪采集患者的多项生理健康数据,经由API接口将数据存入云端服务器建立档案并及时备份,以防数据丢失[24],平台提供人员管理、设备管理、监测数据管理、医患在线交流等多项服务,微信小程序及时推送最新医生专业诊断与诊疗建议。系统可以为医患在线交流和慢性呼吸疾病的院外管理提供多参数、高性能、响应快的技术手段,有助于改善慢性呼吸疾病患者院外管理水平。但由于目前系统接入的都是实验室研发的设备,后续还可以增加市场上流行的运动监测设备如智能手环等,兼容用户各种来源的健康医疗数据,做到全方位、不间断地远程监护,让更多患者感受到智慧医疗带来的便捷。

猜你喜欢

服务器误差数据库
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
通信控制服务器(CCS)维护终端的设计与实现
压力容器制造误差探究
数据库
中国服务器市场份额出炉
得形忘意的服务器标准
计算机网络安全服务器入侵与防御
数据库
数据库