APP下载

麻醉机检测系统设计与实现

2020-07-24刘大海邹任玲胡秀枋

软件导刊 2020年6期
关键词:麻醉机麻醉传感器

刘大海 邹任玲 胡秀枋

摘要:针对目前麻醉机检测采用分立实现,过程繁琐的缺点,开发一套集成麻醉机气体浓度检测与呼吸参数检测一体的麻醉机检测仪。系统由下位机和上位机组成。上位机软件基于vS2010MFC平台,使用C编程语言实现,由被检设备信息管理、信号采集、参数算法、报告生成打印4大模块组成;硬件主要由压力、流量、安氟醚气体浓度等多个传感器通过信号放大采集组成。软件实现被检设备的信息录入保存、不同传感器信号分类接收、呼吸参数的计算、数据实时波形图绘制、报告生成打印等功能。将该仪器对麻醉机进行实验测试,并与现有的VT-PLUS HF呼吸机检测仪进行比较,采用差异性分析与Pearson相关性分析方法。P-valuc值均大于0.05,证明两种仪器检测结果统计学上没有明显差异;所有检测参数的相关系数,值均大于0.8,证明两种仪器测量结果相关性较好,证明该系统具备可行性.该仪器克服了目前麻醉机检测采用多种仪器实现的缺点,能依据国家检测标准生成检测报告,减轻了检测人员工作负担,具有重要的临床意义。

关键词:麻醉机检测;VS2010MFC平台;差异性分析;Pearson相关性分析;软件测试

DOI:10.11907/rjdk.192140 开放科学(资源服务)标识码(OSID):

中图分类号:TP319文献标识码:A 文章编号:1672-7800(2020)006-0136-05

0 引言

麻醉机是临床重要的高风险急救设备。麻醉机性能关乎患者生命安全。因此,提高麻醉机使用的可靠性和安全性,根据相关标准定期对麻醉机进行质量控制检测,及时发现安全隐患,是减少临床使用风险的决定因素。

我国拥有的麻醉呼吸机数量十分庞大,粗略估计达到30万台以上,麻醉机检测市场巨大。目前普遍采用的麻醉機检测仪主要有美国FLUKE公司的VT-PLUS HF呼吸机质量检测仪、瑞典奥利科公司的PF-300呼吸机质量检测仪及日本RIKEN公司的FI-21麻醉气体检测仪,VT-PLUS HF只能用于检测呼吸参数,FI-21只能用于检测麻醉气体浓度,PF-300可用于检测呼吸参数,检测麻醉气体浓度时需要增配0R703测量探头;国产的麻醉机检测仪有深圳一测医疗测试技术有限公司的YICE0029麻醉机测试仪,可用于检测麻醉气体浓度及呼吸频率,无法检测潮气量等呼吸参数。

上述设备都采用分立的仪器实现,无法使用一套仪器实现麻醉机所有参数检测,且进口仪器多采用国际通用标准,不能依据国家标准生成检测报告,不适合我国中小医院使用,也不利于医疗设备厂家和检测机构使用。

本研究开发的系统既可以检测麻醉机麻醉气体浓度,也可以检测潮气量、呼吸频率等基本的呼吸参数,集所有参数检测为一体,且嵌入国家检测标准生成检测报告,优化麻醉呼吸机的检测过程。

1 系统实现

系统由下位机实现对数据采集、处理和传输至上位机,再由上位机处理麻醉气体浓度与呼吸参数,与各种标准(如JJF 1234-2018”“YY 0320-2000”“YY 0635-2013”)进行对比,输出检测结果。系统上位机软件由被检设备信息管理模块、信号采集模块、参数算法模块和报告生成打印模块组成,分别负责被检设备的信息管理、传感器信号采集、参数的计算和报告生成打印;系统下位机数据采集装置由PCI-1710数据采集卡、PCID-8710端子板、多种传感器组成。传感器包括爱尔传感器科技有限公司AE系列压力传感器、金陵公司XSl2K3P流量传感器、东日瀛能科技有限公司SK-800-02氧浓度传感器、SK-800-CO2二氧化碳浓度传感器、SK-800-VOC安氟醚浓度传感器,均由24V电源供电,且输出信号均为0-5V模拟信号,数据采集流程如图1所示。

PCI-1710有一个自动通道/增益扫描电路,能够代替软件采集,控制采样期间多路开关的切换,卡上的SRAM存储了每个通道不同的增益及配置,这种设计可以对不同通道使用不同增益,并自由组合单端和差分输入完成多通道的高速采集。考虑到采集精度,本检测软件选用8路差分模拟量输入方式。

2 系统软件实现

系统软件由被检设备信息管理模块、信号采集模块、参数算法模块和报告生成打印模块构成。被检设备信息模块实现对被检设备的信息管理,能对数据进行增、删、改、查等操作。信号采集模块实现对传感器信号的分类接收,通过一定的处理后实时显示在相应的界面上,并绘制实时波形图。参数算法模块通过一定的运算处理实现对潮气量、吸呼比、呼气末正压等呼吸参数及麻醉气体浓度平均值、方差值等的测量。报告生成打印模块依据国家标准“JJF 1234-2018”“YY 0320-2000”“YY 0635-2013”等,实现对被检设备合格情况的评估,并生成打印评估报告。

2.1 被检设备信息管理模块

被检设备信息管理模块使用MySQL Server 5.5数据库建立被检设备信息数据库,包括被检设备编号、被检设备型号、送检单位、送检时间、联系方式等基本信息,以及参数检测模块中的检测参数。采用ADO技术访问数据库,使用SQL语句对被检设备信息数据库进行增、删、改、查等操作,具有访问快捷、灵活性高、内存占用少等特点。

对Button控件添加OnBnClickedCreate()、OnBn.ClickedDelete()、OnBnClickedChange()、OnBnClickedQuerY()等函数,通过MYSQL类声明m_sqlCon变量并使用mysql_init方法对&m_sqlCon变量进行初始化,通过mysql_real_connect方法建立与数据库的连接,并编辑SQL语句实现对数据库的增、删、改、查等操作。

2.2 信号采集模块

信号采集模块使用PCI-1710设备驱动提供的API函数编写程序,实现对采集卡的打开及配置,设定采样时间对五路传感器信号进行采集,对采集到的传感器信号进行运算处理,将得到的实时检测值(包括气道压力、气流流速、氧气浓度、安氟醚浓度等)显示在相应的示例编辑框内,并绘制实时波形图。

编写CDataAcquisition类用于采集传感器信号并封装成动态链接库,提高代码复用性。DataAcquisitionInitial()函数用于判断设备是否安装了数据采集卡;OnStartAiAc.quisition()函数调用AiAcquisitionThread()方法创建线程用于采集模拟信号,将采集到的数据存人m_lfSampleDataBuf-fer[]数组中,实现多通道采集;OnStopAiAcquisition()函数调用CloseHandle()方法关闭线程,停止采集模拟信号。

编写CSimpleGraph类用于绘制实时波形并封装成动态链接库,提高代码复用性。OnPaint()函数用于绘制绘图框,InitGraph()函数用于初始化绘图框,Chart()函数用于绘制实时波形,Clear()函数用于清除满屏后已绘波形。

在设计的软件中,给Button控件分别添加OnBnClickedBtnAistart()和OnBnClickedBtnAistop()函数,并分别调用OnStopAiAcquisition()和OnStopAiAcquisition()方法,实现开始或停止采集模拟信号功能;给Picture Control控件添加CSimpleGraph类变量,调用Chart()方法完成实时波形绘制。设置定时器,每50ms采集一次数据。其核心代码如下:

2.3 参数算法模块

参数算法模块包括呼吸参数算法设计与麻醉气体浓度算法设计。呼吸参数算法包括潮气量、吸呼比、分钟通气量、呼气末正压等计算,麻醉气体浓度算法包括浓度检测值方差等计算。系统通过上述参数的计算、比较,进一步判断被检设备的质量情况。

2.3.1 呼吸参数算法设计

定义函数Breath(),声明一个double类型的数组m_Flow[],将流量传感器采集到的数据m_dAiChannel2存人到数组中,当数据溢出或按下停止鍵即调用ClearFlow()方法清除数组中的数据。依据流量——时间曲线特性,设置判断条件,依次找到吸气起始点、吸气终止点、呼气起始点、呼气终止点对应的数组下标i1、i2、o1、o2。每50ms采集一个数据,采用数学微积分中“分割、近似、求和、取极限”的思想,计算得到潮气量的值m_VT;得到吸气时间m x,呼气时间m_h,进而得到吸呼比m_b,呼吸频率m_f,分钟通气量m_MV。在计算完成后初始化il=0,i2=0,ol=0,02=0,fl=0,方便下一次进行循环。算法流程及计算公式如图2所示。

计算呼气末正压时,在OnTime()函数内,将压力传感器与流量传感器采集到的数据m_dAiChannel0、m_dAiChannel2分别同时存人数组m_Pressure[]、m_Flow[]中,得到呼气终止点对应的下标02,即可得到呼气末正压m_PEEP的值为m_Pressure[02]。

2.3.2 麻醉气体浓度算法设计

定义函数Concentration(),待麻醉气体稳定后将安氟醚浓度传感器采集到的数据m_dAiChannel5保存到数组m_Concen[]中,当数据溢出或按下停止键即调用ClearCon.cen()方法清除数组中的数据。将m_dAiChannel5与最大值m_ConMax、最小值m_ConMin比较,若大于最大值则将其赋给最大值,若小于最小值则将其赋给最小值。为保证系统性能,每1s计算一次浓度平均值m_ConAve与方差值m_ConVari,并更新到示例编辑框内,以此判断麻醉蒸发罐的性能是否稳定。麻醉气体浓度算法流程如图3所示。

2.4 报告生成打印模块

报告生成打印模块使用书签定位技术和光标跟随技术相结合的方式,实现文字、图像的精准定位插入。主要流程:先在word中创建一个报告模板,将其中需要填人数据的地方插入书签,将其保存为report.dot文件;再在工程中导人MSWORD.OLB,选择需要的接口创建实现类,通过dot()方法连接word模板;最后在MFC中使用bookmarks.Item()方法定位到相应的书签后,将数据通过range.put_Text()方法插入书签位置,此时光标就停留在最后操作的地方。使用光标跟随法,将光标转到下一处需要修改的位置。这样程序上相对简单,同时报告更标准美观。

该麻醉机质量检测报告模板依据“JJF 1234-2018”“YY 0320-2000”“YY 0635-2013”等标准制定。在书签定位、数据插入过程中,通过软件中选择的检测项目及麻醉机设定值,确定数据保存和插入的位置。在数据插入完成后,将得到的数据与相应的标准进行对比,判定被检设备的检测项目是否合格,并将结果插入到检测报告的相应位置。所有操作完成后通过docx.SaveAs()方法将生成的报告存人到相应的文件夹中,方便打印。

3 系统测试

打开软件,完善被检设备信息并将数据保存到MySQL数据库后开始测试。测试环境温度为23(±5)℃,相对湿度≤85%,大气压力为(86-106)kPa,周围无明显影响校准系统正常工作的机械振动和电磁干扰。被测麻醉机型号为金陵-01型麻醉机。

将麻醉机呼吸模式设置为IPPV模式,通气频率({)设置为10次/min,吸呼比(I:E)设置为1:2,呼气末正压(PEEP)设置为6cmH20,潮气量(VT)设置为600mL。在其它条件不变的情况下,对不同的测量点各进行10次测量,检测界面如图4、图5所示;结束检测后将数据保存到数据库中,点击“打印”按钮生成检测报告,如图6所示。

将测量到的数据导人MICROSOFT Excel软件中进行差异性分析与Pearson相关性分析,a设置为0.05,即统计学上的95%可信区间,实验结果如表1所示(对照组数据由VT-PLUS呼吸机检测仪测量得到,实验组数据由本设计系统测量得到,u代表平均值,s代表标准差)。

表l中F值均大于F crit值,P-value值均大于0.05,证明两种仪器检测结果没有统计学上的明显差异;r值均大于r0.05(8)=0.632,证明两种仪器测量结果相关性较好。本系统设计可行。

4 结语

本文设计的麻醉机检測系统,由下位机硬件和上位机软件组成,下位机硬件部分包括PCI-1710数据采集卡、PCID-8710端子板、多种传感器,上位机软件部分包括被检设备信息管理模块、信号采集模块、参数算法模块和报告生成打印模块。

麻醉机检测产品目前只有呼吸参数和麻醉气体浓度分开检测模式,且没有依据标准对被检设备合格情况进行评估并生成评估报告,本麻醉机检测系统很好地解决了上述问题,在同时检测麻醉机呼吸参数与气体浓度情况下,不但能将被检设备的基本信息及被检数据保存在数据库中,还能依据标准对被检设备进行评估、生成打印报告,极大改善了检测所数据保存工作,减轻了检测人员工作负担。由于实验室条件受限,本文未对麻醉气体浓度进行测量,麻醉气体浓度算法待进一步验证。

猜你喜欢

麻醉机麻醉传感器
康奈尔大学制造出可拉伸传感器
《麻醉安全与质控》编委会
地氟烷麻醉期间致Q-T间期延长一例
小儿麻醉为什么要慎之慎
医用麻醉机常见故障的维护与对策分析
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
麻醉机常见故障分析及维护改进途径
骶管麻醉复合丙泊酚全身麻醉在小儿麻醉中的应用