景月娟,石强,侯媛媛,张腾飞,程震,温纪鸼
(西安航空学院计算机学院,陕西 西安 710077)
随着现代经济的不断增长,人们的生活方式已经从丰富的物资需求逐渐转变为对自身健康的关注。医护终端系统的设计在解决我国长久以来医疗资源短缺、分配不均匀、效率低下、看病难等一系列问题的同时,也保障了我国人民生活质量的稳步提升,为实现全面小康社会奠定了坚实的基础。经过各业界与学术界的共同努力,目前关于创新智慧城市医护终端的研究[1],虽然已经取得了一定成果,但文献分析显示,它依然存在着实践与理论上的问题[2]。目前临床上使用的监护仪产品主要是短距离监控,且功能单一,因此,开发创新型智慧医护终端,对于偏远地区的中老年患者可以享受到大城市同等的医疗服务,显得尤为重要[3-4]。
该文基于ARM 嵌入式物联网开发平台,设计了一个智慧城市医护终端,通过相关模块硬件采集患者的心率、体温、呼吸以及病房环境等数据,利用网络节点、SQL技术分别进行数据传输与存储,实现对人体生理参数的远程实时监控[5],以方便医生后期查看,从而实现医护系统的网络化与智能化,推动我国医疗事业的蓬勃发展,提高人民群众的生活健康水平[6]。
系统采用分层结构进行设计,具备对患者数据进行实时监测、显示和存储功能,系统整体框架如图1所示。
图1 系统整体框架结构
该层的主要功能是实时采集系统各个模块的数据,包括患者的体温、心率、血氧饱和度以及气体浓度值等[7]。基于Linux3.0 内核编写对应的硬件模块驱动,完成时序的分析与对应数据的采集,并将数据读到应用层待后续处理。
该层设计属于应用软件层设计,主要实现患者体征数据的读取、处理与传输。将所有数据进行相应的封装,利用SOCKET 套接字进行实时检测,结果不空则发送数据到网络端[8]。
作为整个系统的最上层,在数据显示方面要考虑到及时性和准确性,在存储方面应注意存储格式、数据大小,并且要考虑后续查询方式。该层主要基于Qt Create 设计相应的登录、患者信息录入以及显示界面,同时增加数据存储模块,根据时间将所有数据依次存储到SQL 数据库[9],医生只需点击查询按钮即可查询历史数据记录。
该文设计应用三星厂商生产的Cortex A9 系列高性能处理器中的一款Exynos4412,它是韩国三星的第一款四核处理器[10],集成了四个1.5 GHz 超高频率的处理器核心和一个Mali400MP 图形处理器核心,由外接温度采集控制模块、心率检测传感器模块、气体介质浓度检测模块和蜂鸣器报警提示模块组成,利用Linux 内核驱动从硬件层获取数据,并做进一步处理。整个系统设计的硬件结构如图2所示。
图2 系统硬件结构
系统体温数据采集采用DS18B20 温度传感器,它具有精度高、体积小、应用范围广等特点[11],同时具备多重封装形式,具有不同数量的引脚,适用于不同设备或者环境。其数据端口需要接一个4.7~10 kΩ的上拉电阻,否则采集的值不能正常输出,DS18B20 实物图如图3 所示。该传感器适用于潮湿环境,具备防水功能[12-13]。
图3 DS18B20实物图
系统采用美信公司生产的集成了心率脉搏血氧饱和度检测的多功能生物传感器模块MAX30102 来采集患者的心率数据。它包括内部检测使能LED,用于发射探测光束的新型光电探测器,温度传感器以及其他光学元件,在抗干扰方面,具有环境光抑制的低噪声电子器件。MAX30102 的工作电压介于1.8~5.0 V之间,用于内部LED 供电,该模块可以通过零待机电流的软件关闭,使电源始终保持供电[14]。与普通的脉冲传感器相比,MAX30102 具有非常明显的优点。
1)具有较高的集成度:多种功能集成在指甲大小的芯片上,功耗小、抗干扰强。
2)直接以数字方式输出:利用IIC 接口与控制端MCU 进行通信,自身携带18 位高精度模数转换[15]。
3)功能强大:芯片虽小,却集成了LED、温度以及心率血氧等多种功能。
在医学上,心率脉搏检测方法有以下几种:
第一种是从生物体内采集的心电信号中提取;第二种是通过血压传感器检测到有规律的波动计算脉搏率;第三种是采用光电容积法,该方法最为普遍,便携式可佩戴检测,及其方便,且具有特别高的性能[16]。所以文中使用的MAX30102 模块即是采用第三种光电容积法进行检测。
利用活性二氧化锡制作的MQ2 气体传感器对病房内的大气烟雾、甲烷、丁烷、丙烷、液化气、酒精等各种放射性有害气体浓度进行实时探测。其是利用不同浓度气体对二氧化锡在物理上电导率的影响而实现的,将各种气体下的电导率输出,并经过计算后得出,在传感器的四个引脚中,有两个数据引脚AO 和DO,分别为模拟输出和数字输出[17]。该传感器灵敏度较高,抗干扰性好,使用寿命久,工作电压小于24 V 即可,加热时使用的电压为(5±0.2)V。
系统软件设计总体分为客户端与服务端两部分,软件结构框图如图4 所示。
图4 软件结构框图
系统由上层到下层依次为Qt 应用显示设计、Linux 服务应用程序设计、Linux 内核编译和Linux 模块驱动设计。首先,对Linux3.0 内核进行编译,基于该内核,编写硬件模块对应的驱动程序,将模块驱动插入到内核,在应用程序中,分别对每个驱动设备进行操作,获取硬件数据。将获取到的数据进行统一封装,通过SOCKET 发送到PC 端,最后在Qt 环境下设计一款简洁的网络接收端应用[9]。整体系统软件流程如图5 所示。
图5 系统软件流程
该采集软件分别通过DS18B20、MAX30102、MQ2 控制模块实现对体温、心率血氧饱和度、病房气体的数据读取与处理,其中,MAX30102 心率模块通过IIC 总线实现数据的采集,包括心率(次/min)和血氧饱和度(所占血液中的浓度比)[18]。
数据处理与传输层实现数据确认、合法性与异常性判断,在必要时触发报警装置。同时搭建SOCKET 通信的服务端,将数据实时写入发送通道。
1)患者信息录入界面设计。软件系统中设计该界面的目的在于录入患者个人信息到系统,以方便医生识别查看。录入的患者信息包括姓名、性别、主治医师、病床号等便于系统化管理的信息。通过“提交”按钮,将输入的信息提交给系统并保存在系统中,以方便检查和数据显示。
2)患者体征数据信息显示界面设计。数据界面显示设计是该软件系统的核心。该设计的目的在于接收硬件服务层发送来的数据,包括体温、心率、血氧饱和度以及呼吸指数,同时将接收到的数据及保存在系统的患者个人信息显示在终端界面,并实时更新数据,以达到病情监控的功能。
3)患者数据存储设计。该模块主要实现患者数据的存储及显示。一方面将采集到的体征数据按照时间进行存储,包括患者的姓名、性别、病床号、体温、心率、呼吸频率、血氧饱和度以及对病房空气监测的结果。另一方面,在网络端启动连接到服务器端时,依照接收速率每隔一秒将数据存储一次。当监测其他患者时,重新启动服务器,并启动网络端,输入患者信息,如不删除之前的数据库,则所有患者数据将存储在该数据库中。
系统功能模块测试主要包括服务端数据采集、网络端数据接收机显示与数据库存储测试三大部分,每一部分又相对应包括几个小模块的测试,如表1 所示。测试验证表明系统设计比较符合预估效果:1)系统运行的整个流程包括硬件的连接、系统启动等比较顺畅;2)患者心率、体温、病房气体检测等硬件驱动模块与蜂鸣器报警模块测试正常;3)网络客户端从登录到信息录入,再到数据实时显示的结果一切正常。总之,该系统数据采集、传输存储及显示基本可靠。
表1 测试项目表
为了实时监护患者,减轻医护人员负担,该文设计了一款可实时监测患者状况的医护终端系统,充分展示了现代科技的力量。该系统运用嵌入式应用开发相关技术实现了对患者体征数据与病房气体等的实时检测,实现了对异常检测数据的验证,并触发报警装置以提醒医护人员,同时实现了将检测数据传送到网络端进行存储及显示,方便了医护人员远程实时监控患者的情况,提高了医疗效率,提升了人类生活质量,促进了健康智慧城市的发展。