基于医疗设备驱动的健康管理小程序设计与实现

作者: 路志青 朱利利

基于医疗设备驱动的健康管理小程序设计与实现0

关键词:精准健康管理;手持医疗设备;蓝牙传输;权限管理;小程序

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2024)21-0046-04

0 引言

随着我国社会经济的发展和生活水平的提高,大家对健康的关注度越来越高。《“健康中国2030”规划纲要》提出健康是促进人的全面发展的必然要求,是经济社会发展的基础条件。该纲要提出预防为主,推行健康生活方式,强化早诊断、早治疗、早康复,实现全民健康[1]。目前高血压、高血脂等慢性病困扰着大家,亟待解决。由于对慢性病的认识不足,缺乏个性化精准化管理,无法持续长久地改变生活方式,慢性病日趋加剧,甚至危害生命。因此能够方便快捷地进行诊断并持续获得自身健康信息,从而对个人健康进行管理成为普遍的选择[2-4]。

随着人们生活水平的提高,手持医疗设备测量血压血脂方便简单,给大多数患者带来便捷。然而,当前很多手持医疗设备缺乏直接连接互联网的功能,其产生的大量数据无法通过网络自动上传到医疗数据库,实现数据的查看和分析。为了解决这个问题,思考如何通过将手持医疗设备测量的数据传输到移动设备上,需要考虑两点:第一,采用何种方式获取手持医疗设备的数据;第二,用什么接收设备或者客户端接收医疗设备发送的数据。最终,发现手持设备普遍采用蓝牙的方式进行数据发送;考虑使用微信小程序接收设备发送的数据并进行持久化入库。众所周知,微信小程序无须下载,通过微信扫码直接使用,方便快捷、操作简单、技术成熟,能够提高医疗资源的利用率。因此,为响应国家号召,提高个人健康管理,满足医生和病人的需求,实现了基于医疗设备血压计、血脂计,利用智能手机微信的蓝牙接口进行数据传输和入库并能够实现数据分析和统计的健康管理系统。下面从健康管理系统的需求分析、系统设计以及功能实现3个方面具体说明。

1 需求分析

根据目前医疗行业及医疗系统的调查分析[5-10],本系统应满足以下需求:首先,满足通过蓝牙实现数据接收功能,即手持设备和手机端要建立蓝牙连接以及数据共享,并且系统需要满足数据解析功能,蓝牙传输的数据一般是十六进制的字符串,须按照不同机器的蓝牙传输协议进行解析;其次,系统要实现权限分配功能,医生和患者要实现不同的客户端页面功能展示;最后,需要满足数据管理和分析功能,即数据能够入库并实现与系统的手机端以及电脑Web端(即PC端)的共享,例如数据能够展示到微信小程序端,并根据测量时间展示给用户,同时数据也能够在PC 端实现数据的展示与分析。系统的顶层设计图如图1所示。

本系统包含三大模块:数据传输模块、医患管理模块以及数据管理模块(如图2所示)。接下来会依次论述这几个模块各自的功能以及相互之间的联系。

1.1 数据传输模块

该模块包括手机端通过微信小程序接收、处理数据的功能,其数据的接收和处理过程如图2所示。首先,手持医疗设备与健康管理小程序建立蓝牙连接,此连接需要进行设备的适配,即图中的适配器的功能;其次,手持医疗设备发送数据到小程序端,小程序通过蓝牙接收接口返回数据,并将该数据传输到数据解析器进行数据解析,解析后的数据有两个去向,一是用于页面展示给用户,二是持久化到数据库MySQL。

然而,如何进行蓝牙适配?蓝牙接收器如何返回需要的数据?数据解析器又是如何进行数据解析的?

1.1.1 适配器功能

由于不同的手持医疗设备内置不同的蓝牙协议,因此考虑开发了一个适配器进行不同仪器的协议适配。适配器内部结构如图3所示,包含device适配和UUID适配两个功能点。

device适配。该适配功能利用手机微信小程序低功耗蓝牙接口扫描设备所在空间内的所有开启的蓝牙设备,并以列表的形式展示到小程序页面,如图4所示。当点击列表中的任意一个设备会获取蓝牙的设备名称,例如当前蓝牙名字为U-ACF070,那么获取的设备名字就是U-ACF070,同时设计了蓝牙信号强度的检测功能(即图4中每行的右侧的信号强度)。当获取到蓝牙名字后,进入device适配的主要功能部分,根据蓝牙协议对照蓝牙的名字和设备ID,如果完成匹配进入UUID适配阶段。其中设备ID是十六进制和“:”符号连接的17位长度的字符串。当适配成功之后,设备会携带成功标志和多组UUID 的值传递给UUID适配功能部分。

UUID 适配。UUID适配是适配器的第二个阶段,该阶段主要目的是配置两类UUID:服务UUID(ServerUUID) 和特征写入UUID(Characteristic Write UUID) 。蓝牙获取服务接口后根据服务UUID获取特征写入的所有结果集。如果特征写入UUID在此结果集中,即完成设备与健康管理系统小程序端蓝牙的成功适配。

1.1.2 数据回调功能

数据回调功能即当蓝牙设备发送数据到系统小程序端时,小程序端完成接口的响应并返回当前的蓝牙状态。在数据传输时,首先检查蓝牙是否连接正常,其次会根据小程序端发送的指令回调返回想要的检测结果(如图5所示)。

1.1.3 数据解析器功能

当通过回调功能获取到检测结果后,数据会被数据解析器捕获到,并进入数据解析流程进行数据处理。数据解析部分包含Hex处理、协议表对照、进制转换和结果优化4个部分。设备传输过来的数据一般是十六进制,需要进行数据的处理才能够语义化查看结果。由于结果数据里包含了很多不需要的数据,因此通过Hex处理功能对无用的数据进行消除,去除无用的空格换行。此时的数据暂定义为干净的十六进制串,须注意前提是处理始终参照给定的协议表。使用常见的转换方法hex2int将十六进制转换成十进制。最后经过结果优化处理从而得到最终数据,比如血压的高压为120 mmHg,低压为78 mmHg,心率为68次/ 分钟。解析功能结构如图6所示。

1.2 医患管理模块

该模块包含医生端和患者端。医生端和患者端登录界面相同,登录结果不同(如图7所示)。

首先,医生通过PC管理端分配的医生账号登录小程序进行功能菜单的选择。医生端主要功能是医生二维码展示、患者信息维护以及设备配对3个主要功能。二维码是系统二维码生成接口通过restful方式返回图片,该码实现医生和患者建立联系功能。医生端展示二维码给患者,患者通过登录小程序扫码进行医患关系的绑定。绑定成功后,医生能够在“我的患者”页面看到关联的患者,患者端能够通过“我的医护”看到当前的医生信息。患者信息维护模块是医生端的患者管理功能,医生可以看到患者列表,并能够查看患者的近期报告和个人基本信息以及遗传史信息,并根据这些信息对患者进行诊断和治疗。设备配对能够让医生和手持设备进行绑定,以此来统计医生近期患者的接待量。接着是患者端,患者端登录成功后,通过测量菜单进入血糖血压测量功能部分,发起测试并返回测量结果,该结果会展示到患者用户界面并持久化到MySQL数据库用于数据的后期分析处理。

1.3 数据管理模块

该模块功能在PC管理端(如图8所示)。包括四部分功能:首先是人员管理,该功能可以完成系统管理员、医生以及患者三类人员信息的添加、修改、删除以及权限分配管理等事件。第二部分是患者管理,该部分功能包含患者基本信息、健康信息以及家族史信息。患者基本信息一般包含患者的姓名、性别、年龄等,健康信息包括是否饮酒、是否抽烟等,家族史信息包含比如高血压家族史等。第三部分是药品管理,该部分分为药品分类和药品统计两个子模块。药品分类处理不同的药品信息,药品统计用来统计给患者针对性治疗的药品使用销售量。第四部分是设备管理,该部分包含设备类型管理和医生设备管理两个子模块。设备类型管理是管理系统适配的手持医疗设备类型及数量。医生设备管理模块主要是统计医生使用设备的次数。

2 健康管理系统设计与实现

根据患者、医生和管理人员的需求进行系统设计,采用前后端分离的架构。前端包含微信小程序端和PC管理平台端。前端主要负责数据的展示和用户交互,后端负责数据的逻辑处理、业务接口的提供以及异常信息的处理。

小程序端采用MVVM前端设计模式。PC管理端使用Thymeleaf模板技术,结合MyBatis数据库处理架构进行实现。小程序端采用微信原生小程序开发工具。PC管理端的前端使用VS Code开发工具,后端使用Intellij开发编程工具。Nginx作为Web服务器,使用通用关系型数据库MySQL进行数据持久化处理。

结合蓝牙实现数据的实时采集和入库以及医患关系的建立是本系统的特色功能,但是如何实现数据的实时采集入库呢?医生和患者之间又如何快速建立联系呢?首先,目前大多数手持医疗设备,甚至很多医疗设备都没有联网功能,但是给这些设备添加蓝牙功能反而是一项省时省力的选择,所以大多数医疗设备都存在蓝牙功能。基于此,本系统应运而生。通过蓝牙将数据传输到手机小程序,并通过小程序建立数据的入库、展示及分析,巧妙地解决了数据的实时采集入库问题。在业界内,两个对象之间建立联系,往往需要在数据库设计的时候进行处理,也就是主外键关联,显然这对于非专业技术人员来说,难度可想而知,通过扫码进行医生患者关联是一个不错的选择。本系统提供了两个接口,包括二维码生成功能和二维码扫描并建立对象关联功能。通过这两个接口便能顺利实现医患之间的信息共享和消息同步。

本系统的结构图(如图9所示)包括微信小程序端、PC管理端和后端三部分。

小程序端采用MVVM(Model-View-ViewModel) 设计思想,PC 管理端则采用th 模板引擎技术结合Bootstrap架构实现。后端则采用SpringMVC设计模式及MyBatis数据库持久化架构。SpringMVC负责业务逻辑的实现,MyBatis负责数据库的交互。

前后端信息交互采用HTTP协议并以JSON格式传输数据。这种前后端分离的项目开发方式为开发人员提供了极大的灵活性。他们可以各自选用适合的技术栈来实现项目功能,有效解决了前后端工作耦合性高引起的各种复杂问题。

3 健康管理系统设计实现

下面给出系统移动端的部分截图。接下来通过用户登录、测量、设备绑定进行详细的讲解。

图10(a) 为系统的角色选择页面,可以根据用户自己的定位选择患者或者医生。图10(b) 是患者端登录成功后的首页,从页面上看有报告信息、测量、我的医护以及患者个人信息。选择医生端进入医生的登录页面,医生账号通过系统进行分配和管理。医生端登录成功之后的首页包含医生关联的患者报告信息、患者信息以及医生个人信息。

图11是血压测量的系统页面的部分截图。图11 中(a) 是选择设备。图11(b) 是血压测量界面,点击连接蓝牙,进入蓝牙列表页面。图11(c) 为选择蓝牙自动连接,连接好蓝牙后进入测量就绪页面。图11(d) 为测量就绪页面,点击开始测量,此时系统发送指令给血压计。在测量结束后,血压计测量的结果显示到图11(d) 页面的表格中。

图12是设备注册功能。医生端个人中心选择注册设备进入设备注册页面见图12(b) ,可以手动输入设备编号进行注册,也可以通过扫描手持医疗设备后面的二维码或者条形码进行注册。

4 结论

随着我国社会经济的发展和生活水平的提高,人们对健康的关注度越来越高。《“健康中国2030”规划纲要》指出,健康是促进人的全面发展的必然要求,也是经济社会发展的基础条件。为了让手持医疗设备间接联网入库,实现健康信息的更好管理,本文开发了基于医疗设备驱动的健康管理小程序系统。该系统旨在方便大多数患者自主测量健康信息并实时同步给医生,从而获取相应的健康指导。随着技术的不断迭代更新和医疗事业的发展,下一步工作将着重于适配更多测量仪器(如血糖仪),并引入推荐算法进行信息推送,以更好地辅助医疗诊断,服务于患者,充分发挥健康管理系统在医疗和健康领域的重要作用。

经典小说推荐

杂志订阅