基于WFDB的动态心电图自动分析功能准确性测试方法研究
2023-02-09陈甜甜于哲刘铮谭菲菲郝鹏飞付丽宋庆华张克
陈甜甜,于哲,刘铮,谭菲菲,郝鹏飞,付丽,宋庆华,张克
山东省医疗器械和药品包装检验研究院,山东 济南 250101
引言
心电图自动分析是目前计算机在医学和健康领域中最成功的应用范例之一,其融合了传感器技术、数字信号处理技术、人工智能等最新的研究成果[1]。心电图自动分析功能的应用有效减轻了医生的工作量,提高了心脏疾病诊断筛查的临床工作效率[2]。目前,随着数字技术和医用软件的迅速发展,具有自动分析功能的心电图机、心电工作站、心电自动分析云平台大量出现,带有手机APP及后台云服务的动态心电监测仪等移动医疗设备不断涌现[3-4],这类产品逐渐在主动健康和老龄化科技应对中发挥巨大的作用[4],心电图自动分析的准确性也成为评价该类产品有效性的关键技术指标之一。YY 9706.247-2021《医用电气设备第2-47部分:动态心电图系统的基本安全和基本性能专用要求》[5]中给出了自动分析算法测试的标准数据库和试验要求,但并未具体描述如何实现算法准确性测试,对于该标准的理解和具体执行都有较大难度[6]。针对以上问题,本文旨在具体描述Cygwin测试环境、WFDB软件包的构建方法、WFDB应用程序的使用方法及最终统计报告的生成,以期完成动态心电图自动分析功能准确性的测试方法研究。
1 标准数据库及试验要求
对于动态心电图系统自动分析功能准确性,目前国内现行标准为YY 0885-2013《医用电气设备第2部分:动态心电图系统安全和基本性能专用要求》(IEC 60601-2-47:2001,MOD)[7],其于2013年10月21日发布,2014年10月1日实施。国家药品监督管理局于2021年9月6日发布了新标准YY 9706.247-2021《医用电气设备第2-47部分:动态心电图系统的基本安全和基本性能专用要求》(IEC 60601-2-47: 2012)[5],该标准实施日期为2024年5月1日,实施后将代替YY 0885-2013。
目前,新版标准YY 9706.247-2021[5]中心电图自动分析功能准确性测试所采用的标准数据库共5个,如表1所示,与之前的旧版标准YY 0885-2013相比,新增1个欧洲心脏病学会ST-T数据库。5个标准数据库分别用于QRS检测、心率测量、室性异位搏动、心室扑动或心室颤动、室上性异位搏动或心房扑动或心房颤动、ST段偏移的准确性测试,见表2。
表1 用于心电图自动分析准确性测试的标准数据库
表2 用于性能测试的标准数据库
2 测试工具
动态心电图自动分析最基本的测试工具是WFDB(Waveform Database)软件包(https://www.physionet.org/content/wfdb/10.7.0/)[13]。该软件包是一个基于C语言的可调用函数包,有30余年的发展历史,最初设计用于心电图数据库,包括MIT-BIH心律失常数据库和AHA室性心律失常检测数据库[14-15]。目前,WFDB软件包在PhysioNet(免费的医学研究数据存储库,由麻省理工学院计算生理学实验室管理)上公开发布,现已具有足够的通用性,可用于血压、呼吸、血氧饱和度、脑电图以及心电图等生理信号的处理和分析,包含70多个应用程序。该软件包用高度可移植的C语言编写,可以在很多平台上使用,包括GNU/Linux、Mac OS、MS-Windows、Unix、Matlab 和 Python。
WFDB软件包最初是由2项美国国家标准ANSI/AAMI EC 38:1998[16]和ANSI/AAMI EC 57:1998[17]要求使用的,这2项标准涉及的WFDB应用程序包括bxb、rxr、mxm和epicmp,这些应用程序主要用于评估动态心电图自动分析的准确性。目前,这2项美国国家标准对应的现行版本分别为ANSI/AAMI EC38:2007[18]和ANSI/AAMI EC57:2012 (R2020)[19]。我国行业标准YY 9706.247-2021修改采用国际现行标准IEC 60601-2-47:2012,动态心电图自动分析功能的准确性测试仍使用WFDB软件包作为测试工具。
3 测试环境
Cygwin是一个运行在MS-Windows平台上的开源软件,可以在Windows环境下提供对Unix/Linux环境的模拟与支持,具有较为完善的Unix/Linux工具包和编程环境,操作界面为命令行界面[20]。在Cygwin上可以执行诸多Linux命令,此外还可以执行WindowsDOS下的命令程序。本文中将Cygwin作为测试环境,在Cygwin下安装WFDB软件包,确保WFDB 应用程序在 MS-Windows 上的正常使用。首先将WFDB软件包下载到Cygwin工作目录下,执行“make install”命令编译并安装WFDB软件包。安装完成后,执行“make check”命令测试是否安装成功。安装成功后,直接运行Cygwin便可使用WFDB应用程序进行动态心电图自动分析功能准确性测试。
4 常用程序简介
WFDB软件包具有诸多用途,注释比较器是其典型用途之一[21-22]。YY 9706.247-2021[5]中标准条款201.12.1.101.2.2中规定使用程序bxb、rxr、epic、mxm(MIT-BIH心律失常数据库光盘中提供的版本或任何与MIT相关的最新版本)或等同的程序宜用于“测试注释文件”和“参考注释文件”之间的比对。其中,标准提及的bxb、rxr、epic、mxm便是WFDB软件包中的应用程序,其中epic随着软件包的升级换版,已改为epicmp应用程序。本文利用上述应用程序完成比对,并输出比对结果,从而确定动态心电图自动分析算法的准确性。常用应用程序如下:① bxb:搏-搏比对,输出包括QRS、VEB和SVEB敏感度和阳性预测值,以及RR间期误差RMS和停搏统计数据;② rxr:段-段比对,输出包括成对VEB、短段VEB、长段VEB、成对SVEB、短段SVEB、长段SVEB敏感度和阳性预测值;③ epicmp:VF和AF比对,输出包含VF片段、AF片段、VF区间、AF区间、缺血性ST段检测统计数据以及ST段偏移测量比较;④ mxm:输出心率测量误差;⑤ ahaecg2mit:将AHA数据库中txt格式的数据库文件转换为MIT-BIH数据库格式文件,每份记录转化后包含atr、.dat和.hea 3个文件;⑥ sumstats:读取bxb、rxr、epicmp和mxm生成的输出文件,并计算1组记录的统计数据;⑦ ecgeval:批处理命令,对每条心电记录运行bxb、rxr、epicmp和mxm,得到输出结果,然后运行sumstats,自动化整个比较过程,需要注意的是ecgeval只生成标准EC38和EC57要求的统计数据,如果需要更详细的评估数据,则需要单独运行bxb、rxr等WFDB应用程序。
此外,为了更具有便捷性,可以在Cygwin工作路径下建立一个脚本(批处理)文件,包含需要运行的全部指令,运行该脚本可以顺序执行全部命令,实现自动化进行动态心电图自动分析功能准确性测试。
5 统计学分析
采用本文的测试方法,在Cygwin环境下使用WFDB应用程序对某公司心电工作站软件进行自动分析功能准确性测试,采用敏感度、阳性预测值进行分析,具体计算方式如公式(1)~(2)所示。
式中,Se代表敏感度,表示正确检出异常信号数量占所有样本数量的百分比,表征算法检测出实际异常信号的能力,医学上表征正确判断患者的能力,即诊断疾病时不漏诊的概率;+P代表阳性预测值,表示实际异常信号数量占所有算法检出信号数量的百分比,医学上表征检测为患病的人中,真正患病的占比;TP表示真阳性,即正确检出异常信号的数量;FP表示假阳性:即正常信号被错判为异常信号的数量;FN表示假阴性,即异常信号被错判为正常信号的数量。
6 测试结果
采用本文的测试方法,在Cygwin环境下使用WFDB应用程序对某公司心电工作站软件进行自动分析功能准确性测试,部分测试结果如表3所示。以美国心脏协会数据库对应的统计数据为例,表3中对应的数据为采用WFDB应用程序对美国心脏协会数据中78份记录(每份时长35 min)进行准确性比对,并将生成的所有心电记录的比对结果进行统计计算,分别得到待检信号的敏感度和阳性预测值。使用本文所述测试方法,对同一软件采用同样的标准数据库多次进行测试,得到的准确性统计结果是不变的,测试方法具有重复性,测试结果是可复现的。另外,将标准数据库中的参考注释文件本身进行比对,统计结果为100%匹配,证明了该测试方法的有效性。
表3 自动分析功能准确性测试统计报告[%(n/N)]
7 讨论与结论
本文测试方法是将来自标准数据库的数字化心电图信号直接输入自动分析软件,生成测试注释文件。为了保证测试的可靠性和重复性,生成测试注释文件的自动分析算法程序应完全公开以确保独立的测试人员能够使用此程序。从而,测试人员使用相同测试数据时,能验证测试结果的真实性。该测试方法严格遵循标准要求,可实现对待测动态心电图系统注释结果与标准数据库参考注释文件的快速对比,从而帮助相关企业和检测机构有效评价动态心电图自动分析功能的准确性。
标准数据库为第三方检测机构和自动分析软件制造商均能获取的资源,因此无法保证自动分析软件训练数据集和测试数据集的独立,按照现行动态心电图系统相关标准进行的自动分析准确性测试也存在一定的测试漏洞。未来可考虑引入标准数据库以外的测试数据(非公开、制造商无法获取的)进行心电图自动分析准确性测试,打破现有标准的局限性。