技术文章和通讯

开发检测算法以减少重症监护病房中的误报警

捷克科学院科学仪器研究所的菲利普·普莱辛格


心电图机、脉搏血氧仪和其他患者监护设备的误报警是重症监护病房(ICU)中的一个严重问题。一项研究发现,高达86%的ICU警报是错误的1.另一项研究表明,不到10%对患者管理很重要2.. 假警报的噪音会干扰患者的睡眠,假警报的频率会导致临床工作人员对警报不敏感,导致响应时间变慢。

最近的心脏病生理网络/计算挑战旨在降低ICU假警报的发生率。竞争对手的任务是开发算法,能够区分ICU监测设备记录的信号中的真警报和假警报。

我的同事和我在MATLAB中开发的算法®在挑战的实时类中获得第一名,在回顾类中获得第二名。我们的算法产生的真阳性率(TPR)和真阴性率(TNR)分别为92%和88%。

物理/计算在心脏病学挑战目标和要求

2015年的挑战集中于准确检测五种心律失常:

  • 心脏停搏-四秒钟或更长时间内没有心跳
  • 心动过缓——连续5次心跳低于每分钟40次
  • 心动过速——连续17次心跳超过140次/分
  • 室性心动过速-五次或五次以上心室搏动(始于心室而非心房的心跳)心率高于100 bpm
  • 心室扑动或颤动-持续4秒或更长时间的纤维状心律

向各小组提供了750份五分钟的ICU数据记录,这些数据来自于以250 Hz频率采样的Physionet数据库。每个记录包括两个ECG通道和来自ABP监视器、PPG设备或两者的信号。

提交给PhysioNet/CinC挑战的算法分为两类:实时和回顾性。在实时类别中,仅使用触发实际警报之前可用的数据,评估算法正确识别真警报和假警报的能力。在回顾性分类中,算法可以在警报触发后使用最多30秒的额外数据记录。

挑战组织者对提交的算法进行了测试,测试内容包括之前未向参与者公开的500张录音。这些算法的评分基于一个公式,该公式奖励真阳性和真阴性,同时惩罚假阳性和假阴性。所有算法均在国际心脏病学计算会议上发表。会议结束后,组织者宣布了挑战赛的“后续”阶段,鼓励参赛者进一步改进算法。后续阶段于2016年2月结束。

选择一种方法

虽然参与者被允许用他们选择的任何语言编写他们的算法,组织者通过提供数据集作为MATLAB文件,并提供一个用MATLAB编写的检测算法示例和一个免费的MATLAB许可证,为MATLAB提供了整体支持。万博1manbetx我通常用c#或Java编程®,我对MATLAB是新手,但我决定使用MATLAB,因为它能让我专注于算法开发。我需要的许多功能都是现成的。例如,当我需要生成直方图、计算快速傅里叶变换(FFT)或应用有限脉冲响应(FIR)滤波器时,我所要做的就是调用适当的MATLAB函数。

查找和消除无效数据

这一挑战中最令人惊讶和尝试的方面是,ICU监控设备发出的信号状况不佳。信号质量差不是PhysioNet的问题;这是一种常见的情况,可由患者的运动、布线问题、导线错位、设备配置错误和许多其他问题引起。信号质量差的一个症状是饱和度,当波形在其最高振幅处变平时,会导致失真(图1)。

图1。一种饱和信号,显示失真,其值被截断。所提出的算法甚至可以在这样的信号中检测QRS。

为了最小化饱和和信号噪声的影响,我的MATLAB算法必须从输入信号中识别并消除无效数据。算法分析了每个信号的统计特性在两秒的块。对于每个区块,将最大振幅、最小振幅和标准偏差与建立的有效数据限值进行比较。该算法通过检查信号在70-90 Hz频率范围内的振幅包络来识别高频噪声区域。该算法通过计算信号幅值的直方图,并将直方图的前、后两个bins的值与中间bins的值进行比较来识别信号饱和度。

任何被识别为无效的数据都被用于检测心跳的其余算法忽略。由于这个原因,我不得不调整无效数据检测算法,使其不会消除太多的数据。(如图1所示,饱和信号可能仍然包含有意义的信息。)

检测QRS复合物

在心电图中,心跳的特征是从基线开始的三个连续的偏移(图2)。这些偏移统称为QRS复合体,反映了心室的激活。它们是诊断心跳停止、心动过缓和心动过速的重要标志。

图2。心电图信号产生的QRS波群。

为了检测心电通道中的QRS复波,我们开发的算法使用Signal Processing Toolbox™中的傅立叶变换函数在三个频率范围内计算振幅包络。通过分析和比较这三个包膜的幅值,该算法可以检测QRS复合体,区分正常和心室的心跳,并滤除心脏起搏器刺激引起的假QRS复合体。

检测PPG和ABP通道中的QRS波群需要不同的方法。对于这些信道,算法应用信号处理工具箱中的简单低通滤波器,然后识别滤波信号中的局部极小值。算法对每个最小值任一侧的信号执行线性插值,并检查结果线的斜率,以确定最小值是否来自QRS波群。

检查正常的心律

QRS波群检测算法的输出是一组时间,每个QRS波群的R峰值出现在每个信号的最后10-16秒。(我们没有分析整个5分钟的记录;Physionet挑战要求规定,引发警报的事件必须在每个文件的第300秒的10秒内开始。)从R峰值数组中,算法计算RR间隔,它测量两个连续心跳之间的时间。

为了检查正常的心律,算法调用统计和机器学习工具箱™ 用于对RR间隔执行统计分析的函数。除了求和和计算间隔的平均值和标准偏差外,算法还计算最小和最大心率。他们将这些计算的所有结果与正常心律的既定极限进行比较,以确定具有合理QRS波群分布的节拍序列。如果其中一个可用通道(ECG、PPG或ABP)通过该测试,则认为心律正常,并报告假警报。仅此分析就显示了培训数据中约35%的假警报。

评估警报

如果算法检测到所有通道上的异常心脏活动,下一步是验证或拒绝ICU设备报告的报警。

心脏停搏试验使用投票算法,其中每个通道根据其无效率进行加权。无效率较低的通道对结果的影响较大。该算法将每个通道的信号分成3.2秒的段。对于每个段,算法更新结果向量R,将不存在心跳的任何通道的加权投票值相加,并减去检测到心跳的任何通道的加权投票值。当结果向量R中的任何值为正值时,该算法声明它已识别出心脏停搏(图3)。

图3。两个ECG信号和一个PPG信号显示心脏停搏。投票在结果向量R中累积,正值反映了没有心跳的一致性

心动过缓、心动过速和室性心动过速测试使用最可靠通道(通常为ECG)的RR间期计算bpm。如果心率低于46 bpm,则算法报告心动过缓。如果心率超过130 bpm或95心室bpm,算法将分别报告心动过速或心室过速。

最后的测试是心室颤动,或扑动。纤颤识别不依赖QRS检测结果,因为当心脏处于纤颤状态时,没有QRS复合波。相反,该算法使用“信号处理工具箱”(Signal Processing Toolbox)对移动窗口执行短时傅里叶变换。然后,它会查找高于2 Hz的频率峰值,这表示颤动或颤振(图4)。

我们考虑使用机器学习方法对心律失常进行分类,但出于两个原因选择了传统的统计方法:我们对数据中的哪些特征可用于确认或拒绝特定报警有很好的现有领域知识,机器学习算法通常更难在硬件中实现和校准,这对于在ICU中部署是必要的。

图4。心室颤动的时频分析。3-6Hz范围内的频率峰值表示颤动或颤振。

赢得PhysioNet/Computing in Cardiology Challenge

在开发了算法,在心脏病学挑战组织者的PhysioNet/Computing提供的训练数据上测试了它们,并对它们进行了优化以最大限度地提高数据性能之后,我将它们提交给评委。当我的算法在500个记录的测试集上运行时,它们正确地分类了92%的真实报警和88%的错误报警。在提交的244份参赛作品中,他们在比赛的实时部分获得了最高的总分。在挑战的后续阶段,我们的成绩更高,我们在实时类别中获得了最高分数。

我和我的同事们期待着看到这些算法中的技术在硬件上得到应用,并在ICU中使用,以减少误报。

关于生理网

成立于1999年,是NIH赞助的复杂生理信号研究资源,生理网在生物医学的数据和软件资源中获得了卓越的地位。它的数据档案,PhysioBank,是第一个,并且仍然是世界上最大的,最全面的,最广泛使用的时变生理信号和高分辨率临床ICU数据库。它的软件集合PhysioToolkit支持对PhysioBank和类似数据的探索万博1manbetx和定量分析,这些软件具有广泛的、经过严格测试的、可以在任何平台上运行的开源软件。其孵化实验室PhysioNetWorks于2011年成立,允许合作的研究人员在将其贡献给PhysioNet进行开放分发之前,安全地共享和研究他们自己的数据和软件。

PhysioNet资源可以在web上免费获得,并且可以在ODC公共域奉献和许可证v1.0下获得。PhysioNet由国家普万博1manbetx通医学科学研究所(NIGMS)和国家生物医学成像和生物工程研究所(NIBIB)资助,NIH批准号为2R01GM104987-09。

1.S.T. Lawless,“狼来了:儿科重症监护室的假警报,”暴击治疗地中海1994; 22 (6): 981-985.

2.钱永康,J.C. Fackler,“重症监护病房现有监测器的预后不良,”暴击治疗地中海4月5日,中国科学院研究生院,北京100875

2016年发布-93063v00

查看相关功能的文章

查看相关行业的文章