提 要:介绍基于PC的在Windows平台上开发的多生理参数网络监护系统的软硬件结构原理和实现方法。该系统可以实现ECG、无创血压、血氧饱和度、呼吸和体温五个参数的网络化监护,监护数据可以提供院内网络信息访问。系统操作简便、结构灵活,是一种新型的医院监护设备。
分类号:R318.6 文献标识码:A
文章编号:1000-6974(2000)02-0073-05
A Multiparametric Monitoring Network System Based on Windows Operation System
CHEN Min-lian HE Ping WU Xiong-wen WANG Bao-hua
(Biomedical Research Center of Shanghai Tiedao University)
Abstract:This paper introduces the general structure and implementary method both in hardware and software of a monitoring network system,which is developed for monitoring physiological multi-parameter under Windows operation system and based on personal computer.The parameters monitored by the system include Electrocardiogram (ECG),Noninvasive Blood Pressure (NIBP),Oxygen Saturation (SpO2),Respiration(RESP)and Body Temperature.Monitoring data can be shared by internal hospital network.The system has the advantages of easy operation and flexible structure.It is a new kind of hospital monitoring equipment.
Key words:Network monitoring;Multi-physiological Parameter;Windows operation system▲
监护系统用来对病人的生理或生化参数进行连续、长时间、自动、实时监测,并经分析、处理后实现多类别自动报警、自动记录,并具有对结果的综合判断能力,便于医护人员及时发现病人的病情变化,随时采取必要的护理与急救措施,从而大幅度减少危重病人的死亡率。
过去的监护系统多侧重于单一心电参数ECG监护,其结果不能全面评估循环系统功能,我们研制的多生理参数网络监护系统包括心电(ECG)、呼吸(RESP)、无创血压(NIBP)、血氧饱和度(SpO2)、体温五个参数的实时监护。由这些参数的二次数据还可提取心率、心律失常、呼吸率、收缩压、舒张压、平均压及脉率等参数;所以,可以较全面地评估循环系统和呼吸系统的功能。同时,该系统的网络化监护功能满足目前医院设备网络化的要求,特别适用于冠心病监护病房(Coronary Care Unit,CCU)及危重病人监护病房(Intensive Care Unit,ICU)的网络监护。整个网络采用星型拓扑结构,具有通信传输速度快、网络构型简单、建网容易、便于控制和管理、可扩充性能好等优点。系统软件采用中文Windows平台,直接与市场上占有绝对主流的微软应用软件兼容,而且,友好的人机交互界面和直观易懂的Windows风格极大地方便了大多数对计算机操作不太熟悉的医护人员。
1 硬件结构
整个监护系统的网络结构框图如图1所示。中心结点是一只交换器(SWITCH,Catalyst 1900 Series),每个床边监护台都与SWITCH相连,所以任意两个床边台的通信最多只需两步,因而传输速度快,监护实时性好。这样的网络拓扑结构便于床边监护台随时增减,而不会影响到网络中任何其他结点的工作。SWITCH与所有床边台构成一个局域网,与SWTITCH相连的还有一台IBM服务器(PC Server 325),它与院内主干网直接连接,负责监护网络同医院网络的通信传输。所有床边台均采用兼容型个人电脑加上插件式的心电模块、血氧饱和度模块和血压模块板卡,每个模块都集成有一片微处理器(μ CPU),其中心电模块还包含了呼吸和体温参数。床边台的基本组成结构如图2所示,目前使用的PC机配置为:MMX233M/64M内存/4.3G硬盘。
图2 床边台组成框图1.1 心电模块
图3所示的是心电模块的硬件框图。μ CPU1采用三路A/D分别采样心电信号、呼吸信号及温度信号。以250Hz的频率分时采样12导联的心电信号;以60Hz的频率采样呼吸信号。该模块巧妙利用一对RA和LA左右手电极同时测取心电信号和呼吸阻抗信号,然后分路进行处理。一旦RA、LA或LL中任一电极脱落,导联脱落检测电路会立即测出并通知μ CPU1,μCPU1获取转换后的ECG、NIBP、RESP数据再进行心率、心律失常类别判断、呼吸率等计算。对于体温的测量,由于体温变化很慢,为防止漂移,采用压频变换器(VFC)将热敏电阻应变桥测出的缓变电压变换成相应的频率,通过光电隔离后反变换(F/V)恢复出体温变化信息,经A/D变换送μ CPU1。μ CPU1计算出相应的体温值,最后把所有数据(原始的ECG、NIBP、RESP数据、心率、呼吸率、体温、心律变异类型、导联脱落等)通过串行口发送至PC机。
图3 心电模块框图
1.2 无创血压
通常在监护仪中主要采用柯氏音法和测振法来实现血压的自动检测。柯氏音法存在误差大、重复性差,易受噪音干扰等缺点,而测振法(Oscillometric Method)具有较好的抗干扰能力,能比较可靠地判断血压、实现血压的自动检测,因而本系统采用测振法实现血压测量。
图4是血压模块硬件框图,通过充气袖套在检测部位以20mmHg的增量逐级施加外力,当外力超过预设值后,开始以4~5mmHg的减量逐级减压。在减压过程中检测袖套静压和气袖内气体的振荡波,振荡波起源于血管壁的搏动。当气袖静压高于收缩压Ps时,动脉被压闭,此时因近端脉搏的冲击而呈现细小的振荡波;当气袖静压小于收缩压Ps时,则波幅增大;气袖压等于平均压时,动脉管壁处于去负荷状态,波幅达到最大值;当气袖压力小于舒张压Pd以后,动脉管壁在舒张期已充分扩展,管壁刚性增加,因而波幅维持在较小的水平。为此只要在气袖放气过程中连续测定振荡波,振荡波的包络线所对应的气袖压力就间接地反映了动脉血压。检测过程中,压力传感器获取的压力电信号被分解为轴套的静压信号和脉搏波振荡信号,都经ADC转换成数字信号送给μ CPU2处理,μ CPU2完成各种计算,得出Ps、Pm和Pd,以串行口方式发送给PC机。一旦Pd检测到,同时打开所有放气阀使袖套快速放气,完成一次测量过程。
图4 血压模块框图
1.3 脉搏血氧饱和度(SpO2)
血氧模板采用手指探头检测,如图5所示,探头的光电检测器是一个光电管,能产生正比于透射到它上面的红光和红外光强度的电流,但它不能区分这两种光。为此,用一个定时电路来控制两个LED的发光次序。光电流信号被转换成电压信号,并经放大、滤波、信号基线电平变换和去直流分量等信号调理过程后,加到一个具有自动增益调整功能的电压/电流转换电路,然后由积分电路对信号电流积分,其输出经A/D转换成数字信号。μ CPU对数字量进行复杂的处理,例如数字滤波,计算两种光电信号的幅度等,并求出SpO2,从脉动信号中还能计算出脉率。最后,以串行口方式与PC通信,每秒从串行口送出60个数据包,每个数据包由5个字节构成,这些数据中包含了SpO2值、脉率和SpO2数据。
图5 血氧模块框图
2 软件设计
由于每个模块都有μ CPU专门处理该模块信号,大大缓解了PC的工作任务,所以,PC的主要任务集中于数据接收显示、存储和网络通信上。
我们开发的多生理参数网络监护系统软件是一个完全基于Microsoft Windows95/98平台的应用程序。软件具有良好的人机交互界面,监护显示界面一目了然,既吸收了DOS操作系统简洁明了的特点,又充分体现了Windows操作直观方便的风格,可以方便地对监护参数进行设定、观察等。软件用Visual Basic 5.0编写,所有程序均采用模块化设计。
软件总体设计流程如图6所示,整个程序可分为两部分:一是定时器中断控制;二是按键控制(菜单控制)。菜单控制就是通常的由用户操作下拉菜单或操作命令控制,在此不作特别说明。下文着重介绍我们如何解决利用有限的Windows资源完成多个针对不同任务对象的中断控制部分。
图6 程序框图
Windows是多任务操作系统,理论上支持多项任务同时工作。但在实际运行时,不能奢望每个任务都会按预期的目标良好实现,特别是在如监护这种实时性要求很高的场合。设计时,必须充分考虑最经济地利用Windows资源,合理地安排任务。面对我们的三个工作模块,各有不同的采样频率、中断号、数据传输设置,必须在不同的中断过程里进行。同时,各种数据波形显示也有特殊要求,如ECG波形要满足25mm/s或50mm/s的推进速度,所以也需要在单独的中断子程里完成。归纳起来,可以把中断分为三类:读取数据(从串行口读取模块发送的数据)、波形显示、数据存储(包括每秒数据显示刷新)。中断子程总共数目达10个,如果每个中断都用一个定时器来控制,势必造成中断时间上发生冲突,引起数据丢失。Windows提供的定时时间是以ms为单位,但实际上Windows能反应的最小的定时时间是55ms。程序开始首先申请一个以55ms为定时间隔的定时器,按各个中断对象的要求设置其中断时间,该时间应是55ms的整数倍。然后再按实时性要求的高低设定中断处理的优先级,利用Windows底层消息处理的方法解决此优先级问题。在所有中断中,数据读取最为重要,因为如果该中断到了而不及时把串口输入缓冲区的数据读出,后面的数据就会刷新先进先出Buffer内的数据,而造成数据丢失。所以数据读取优先级最高,在中断子程中直接完成,而波形显示和每秒钟数据刷新等则采用Windows底层消息投递的方式进行,一旦发生此类中断,程序只投递一个消息,通知系统要去完成这个任务,程序会把它排到任务队列中,等到系统把优先级高的任务做完,或乘系统空闲间隙再去完成它。这段代码例子如下所示:
Declare Function PostMessage Lib “user32" Alias “PostMessageA"(ByVal hwnd As Long,ByVal wMsg As Long,ByVal wParam As Long,ByVal 1Param As Long)As Long
Declare Function SetTimer Lib “user32"(ByVal hwnd As Long,ByVal nIDEvent As Long,ByVal uElapse As Long,ByVal 1pTimerFunc As Long)As Long
Declare Function KillTimer Lib “user32"(ByVal hwnd As Long,ByVal nIDEvent As Long)As Long
Declare Function GetTickCount Lib “kernel32" O As Long
Public Sub TimerProc(ByVal hwnd As Long,ByVal uMsg As Long,ByVal idEvent As Long,ByVal dwTime As Long)
cTimerHappen=cTimerHappen+1
If cTimerHappen Mod 10=0 Then
Call MainForm.ReadECGData
End If
If cTimerHappen Mod 20=0 Then
Call MainForm.ReadNIBPdata
InformWhatToDo WMOneSecondThing
End If
if cTimerHappen Mod 1=0 Then
Inform WhatToDo WMECGWaveDraw
If cTimerHappen>10000 Then
cTimerHappen=0
End If
End Sub
Sub Inform What ToDo(Flag As Long)
PostMessage MainForm.hwnd,WMKEYDOWN,
Flag,0
End Sub
3. 系统总体功能
到目前为止,我们已基本完成了该监护系统的研制开发,监护床边台运行实时性好,反应快,系统总体功能归纳如下:
(1) 单机床边台监护
① 心电监护
.十二导联心电图连续实时监护和记录。
.包括Ⅰ、Ⅱ、Ⅲ、avR、avL、avF、V1、V2、V3、V4、V5和V6十二导联以串行方式显示和记录;导联切换;25mm/s或50mm/s波形推移速度两档切换;心电图冻结功能。
.导联脱落检测。
.心率计算、显示及心率趋势图
心率每秒钟刷新;心率上下限报警及设置;心率趋势图(最近1小时、8小时、16小时或24小时)。
.心律失常类型判别及显示
可判别19种常见心律失常类型并及时显示。
.事件回顾
可回顾查看发生心律失常事件的前6秒到后6秒ECG波形。
.呼吸波形连续实时监护
.呼吸率计算及显示
.体温实时测量
② 血压
.手动和自动测量收缩压、舒张压、平均压(成人、小孩均可)
.收缩压和舒张压上下限报警及设置
③ 血氧饱和度
.SpO2值和脉率显示。
数值每秒刷新;脉率上下限报警及设置。
.SpO2的数字化波形实时显示
监护床边台显示界面见图7。
图7 监护床边台显示界面
(2) 网络监护
.床边监护台之间数据共享
.提供院内网络信息访问
床边台自动记录所有数据到本地数据库,该数据库可以同时提供给其它床边台访问。
.可按需增加中央监护台集中监护所有床边监护台信息
4 结论
从整个开发过程中总结出以下几点:
(1) 系统的模块化设计非常重要。多生理参数网络监护系统从硬件到软件都采取了模块化设计,不但在开发过程中受益非浅,便于系统升级,而且有利于用户自行选择监护参数和随意组合。
(2) 目前,基于PC的网络化监护设备还处于国外几家大公司垄断阶段,其价格和设备维修都较为昂贵。多生理参数网络监护系统综合应用了PC软件开发技术、计算机网络技术及生理参数检测技术,为迈向目前国际医疗监护领域最高水平作出了成功的尝试。
(3) 该系统还有需继续完善的部分,例如提高心律失常判别准确度、增加ECG、ST段分析、呼吸参数的二次数据分析等。应进一步完善系统的综合分析能力,使之成为性能价格比更高的监护产品。■