近十年,在药品不良反应监测领域,基于医疗保健数据库的安全信号检测方法受到越来越多的关注,已成为弥补自发报告固有局限性的重要手段。目前数据挖掘方法主要基于比值失衡分析法(disproportionality analysis)、传统药物流行病学设计(如自身对照设计)、序列对称分析(sequence symmetry analysis,SSA)、序贯统计检验(sequential statistical testing)、时序关联规则(temporal association rules)、监督机器学习(supervised machine learning,SML)、树状扫描统计量方法(tree-based scan statistic)等。本文从应用场景和实用性角度对医疗保健数据库中安全信号检测方法及其性能进行介绍。
随着我国经济快速增长以及医疗体制改革,医药行业市场规模不断扩大,药品销量显著增长。与此同时,药品的安全性也受到越来越多的关注,在治疗疾病的同时预防潜在的药物不良反应发生,从而实现有效、合理、安全的用药。药品不良反应监测工作弥补了药品上市前研究的局限性,是发现药品上市后安全性问题的重要手段,为药品监管工作提供了有力支撑。自发呈报(spontaneous reporting,SR)是药品不良反应监测中使用最广泛的安全信号检测方法[1-3],适用于发现罕见、严重的药品不良反应(adverse drug reactions,ADR),如大疱疹、粒细胞缺乏和肝毒性[4]。过去几十年间,大多数药品撤市都源于 SR[5, 6]。但是,SR 也有其局限性,可能存在瞒报、漏报或选择性报告[7-10],导致安全信号发现延迟。由于药物与不良反应的因果关联时间顺序难以确定,识别药品不良反应的效率低下,例如质子泵抑制剂相关的肺部感染[11, 12]和罗非昔布引起的心肌梗死[13-15],均在上市后 1 年甚至更长的时间才被发现。
虽然基于 SR 的信号检测方法在不断进步[16-19],但大型医疗保健数据库可以追踪数百万人群队列数据,优势日益突出,可以作为 SR 的补充方法协同发挥药品安全信号检测的作用[20, 21]。近些年,欧洲发起的“欧盟药物流行病学治疗结局研究”[22]项目(the Pharmaco-epidemiological Research on Outcomes of Therapeutics by a European Consortium,PROTECT)、美国的哨点监测系统[23, 24]、观察性健康医疗数据科学与信息学联盟(Observational Health Data Science and Informatics,OHDSI)[25, 26]和亚洲药物流行病学协作网(the Asian Pharmaco- epidemiology Network,AsPEN)[27, 28],倡导通过对临床记录和生物医学知识进行整合挖掘,探索发现和了解药品不良反应[29]。
利用医疗保健数据库中的海量信息建立新的上市后监测系统的愿景,不仅为药品不良反应信号的探索提供了新思路和路径,同时也催生了很多新方法,本文的目的是对目前利用医疗保健数据库进行安全信号检测的方法以及优缺点进行概述。
1 医疗保健数据库安全信号检测方法
目前,医疗保健数据库安全信号检测方法主要分为以下几类:比值失衡分析法(disproportionality analysis)、传统药物流行病学设计(如自身对照设计)、序列对称分析(sequence symmetry analysis,SSA)、序贯统计检验(sequential statistical testing)、时序关联规则(temporal association rules)、监督机器学习(supervised machine learning,SML)和树状扫描统计量方法(tree-based scan statistic)。现有数据挖掘方法的优缺点见表 1。

1.1 比值失衡分析法
比值失衡分析法是 ADR 监测工作中广泛应用的一种方法。该方法基于 SR 数据库开发,自发报告数据均以列联表形式呈现,列联表的维度对应报告的药物-事件对。基于 2×2 列联表(四格表)计算药品-事件对的观察值与期望值的比值,若超过预先规定阈值,则称之为失衡(表 2)。目前主要使用 4 种方法,报告优势比(reporting odds ratio,ROR)、比例报告比(proportional reporting ratio,PRR)、贝叶斯可信区间递进神经网络法(bayesian confidence propagation neural network,BCPNN)和伽马泊松缩减法(the Gamma Poisson Shrinker,GPS)[30],这些方法的不同之处在于比值失衡的测量方法不同,以及在分析中如何考虑低计数问题[30-33]。

1.1.1 模拟自发呈报方法
比例失衡分析法应用到医疗保健数据库面临的主要问题是,如何将纵向数据生成类似自发呈报数据库的格式。已有学者开展了相关研究,例如 Curtis 认为,对于每个患者,以月为观察时间单位内发现的安全性报告很可能是虚假报告,包括药物暴露的一个月内发生的所有事件,一种情况是只有药物暴露而没有任何相关事件报告,另一种情况是没有任何药物暴露却报告了事件[34]。在 Choi[35, 36]的研究中,观察时间始于药物处方,结束于 12 周末,只有发生在观察期间的事件视为“报告”。Zorych 则建议将药物暴露持续时间视为观察时间,并且采用 3 种方法来构建四格表,用于比值失衡分析。第一种方法是,列联表中的每个患者只计数一次,四个格子数之和等于患者总数,并按照药物暴露期间患者是否发生事件进行分类。另外两种方法分别是观察时间内发生的所有事件均纳入研究和只将观察时间内首次发射的事件纳入研究,具体方法请参考 Curtis[34]、Choi[35, 36]和 Kim[37]的研究。
1.1.2 纵向伽马泊松缩减(Longitudinal Gamma Poisson Shrinker,LGPS)
GPS 的核心思想是估计数据库观察到的 ADR 与预期发生的 ADR 的比值,通过贝叶斯分析的一般准则,修订效应估计值,计算经验贝叶斯几何平均数,若其置信区间下限大于 2,则提示产生一个阳性信号。推断目标药品与目标 ADR 的关联。在 GPS 的基础上,Schuemie 进行了改进,将患者暴露与未暴露的时间纳入分析,以更好的利用纵向数据信息,称为 LGPS[38]。由于 LGPS 借鉴了自身对照设计,可以有效控制年龄、性别等非时间依赖性的混杂因素。为了更好地识别和控制适应症偏倚,作者建议将 LGPS 和药品相关不良事件纵向观察评估(longitudinal evaluation of observational profiles of adverse events related to drugs,LEOPARD)方法相结合,比较事件发生前后的某一固定时间窗内的处方比例,如果事件发生后的处方比例高于事件发生前,LEOPARD 则认为这种关联是由适应症偏倚(indication bias)导致的[38]。LGPS 通过贝叶斯判别方法综合先验信息和样本信息,有效改进统计决策,自动化程度高,适用于医疗保健数据库进行信号挖掘。
1.2 传统药物流行病学方法
在既往研究中,OMOP 和 EU-ADR 主要采用基于传统药物流行病学研究设计的方法[39-42]。此类研究设计主要分为 2 个步骤:① 根据暴露(队列研究)或事件(病例对照研究)前瞻或回顾地识别两组患者;② 比较两组药品相关事件的发生率。通常需要采用统计工具来控制预先假设的混杂因素(例如合并用药)。
1.2.1 首次用药队列设计
首次用药队列设计的原理是:① 从患者首次用药开始建立前瞻性队列进行随访:一个队列纳入首次暴露于目标药物的患者,而另一个队列纳入首次暴露于其他药物的患者(通常是有共同适应症的药物);② 比较两个队列中的目标药物不良事件发生率。
首次用药队列设计应用广泛,控制混杂因素的方法较为成熟[41, 43],包括 Mantel-Haenszel 校正[41]、倾向评分或高维倾向评分和匹配。此外,还可以考虑采用惩罚 Logistic 回归模型(例如 Lasso 回归[44],通过选择混杂效应较强的协变量纳入到经典 Logistic 回归模型[43]中,达到处理多个协变量的目的。但应注意的是,首次用药队列设计不适用于罕见不良反应事件。
1.2.2 匹配病例对照设计
匹配病例对照设计的原理是:① 从给定的日期开始,回顾性地分析匹配的两组患者(例如年龄、性别等混杂因素)既往药物暴露情况。病例组是发生了目标事件的患者,对照组是未发生目标事件的患者;② 比较两组目标药物暴露的优势比。
大型医疗保健数据库使得巢式病例对照研究设计得以广泛应用,大大提高了组间的可比性。虽然倾向评分或疾病风险评分控制混杂因素在理论上是可行的,但未在采用匹配病例对照设计的信号检测方法中得到验证[41, 45],因此,建议谨慎使用。
1.2.3 自身对照设计
自身对照设计,是对每个患者在风险期和对照期的事件发生率进行比较,估计暴露和特定事件的相对危险度。自身对照设计很好地控制了非时依混杂(如慢性合并症)和个体水平的混杂因素(如遗传风险因素)。
在安全信号检测研究中广泛应用的有 3 种自身对照设计已[46, 47]。自身对照病例系列(self-controlled case series,SCCS)设计,仅关注既暴露于药物又至少经历过一次目标事件的患者。当对患者进行前瞻性随访观察时,可以看作队列研究的衍生设计进行分析。通过惩罚回归模型,在 SCCS 设计中利用高维多变量调整,控制时依混杂因素(如急性疾病)[46]。SCCS 常用于罕见事件的研究,通常假设罕见事件发生服从 Poisson 分布。
病例交叉(case-crossover,CC)设计,采用病例对照研究设计回顾性比较分析同一个体在危险期和对照期内的药物暴露,目前尚无特定统计工具来控制时依混杂。CC 通常适用于估计急性不良事件发生的危险性。
自身对照队列(self-control cohort,SCC)设计不同于 SCCS 和 CC:关注所有暴露于目标药物的患者是否发生过目标事件,事件发生的风险比值是在药物暴露后事件发生率与暴露前事件发生率的比值。与 CC 类似,除分层分析外,SCC 无法控制时依混杂[47]。
1.3 SSA
1988 年 Petri 首次提出 SSA[48],Hallas 于 1996 年明确阐述 SSA 概念[49]。SSA 的目的是比较给定时间窗内 2 种药物暴露 A 和 B 的起始使用次序,其中药物 A 是目标暴露药物(指示药),药物 B 是潜在不良反应的标签药。如果药物 A 引起不良反应,其对症治疗是药物 B,首先暴露于药物 A 并随后暴露于药物 B 的患者数量预计会远远多于首先暴露于 B 药(暴露于 A 药之前)的患者。计算指标为粗序列比(crude sequence ratio,CSR),由处方 A 药并随后处方 B 药的患者数量除以先处方 B 药后处方 A 药的患者数量所得。
通常认为,粗序列比不受非时依混杂影响,但对处方趋势变化较为敏感。例如,如果在研究期间药物 A 报销比例增加而药物 B 保持不变,导致药物 A 的处方超过药物 B,可能对潜在信号检测产生干扰。Hallas 提出通过将粗序列比除以空效应序列比(the null-effect sequence ratio,NESR)来校正时间趋势,空效应序列比是假定药物 A 和药物 B 没有任何因果关联的情况下的序列比[49],可以反映研究周期内处方频率的变化趋势。Tsiropoulos 对空效应序列比进行了略微调整,适用于短观察时间窗的情况,并且验证了使用住院诊断来代替标签药品报销来筛选不良事件的策略[50]。
1.4 序贯统计检验法
序贯统计检验法,是在前瞻性队列中,持续地(例如每月)检验药物与不良事件关联的假设:暴露组患者的事件发生率比未暴露组高,适用于常规药品安全信号检测活动。每一次新的分析都纳入自上次分析以来暴露或未暴露于目标药物的新患者人数,以及已经在上次分析纳入患者新增的暴露时间。若检验统计量超过预先设定的临界值,可以判定信号增强。为减少假阳性,要求多重比较的总体Ⅰ类错误水平控制在 0.05。
1.4.1 最大化序列概率比检验(the maximized sequential probability ratio test,maxSPRT)
Brown 等将 maxSPRT 应用于疫苗安全性监测活动,该方法原理是序贯地采用对数似然比(log likelihood ratio,LLR)检验基于大型历史对照队列数据得出的统计量。Kulldorf 则建议同时收集暴露和未暴露患者发生的目标事件,以适用于历史对照人群难以获得的情况,例如新药上市后的安全信号检测。该方法采用固定比例(1∶M)对暴露组和对照组进行匹配,以便控制混杂因素。随后,Cook 提出了广义的 LLR 检验统计量,考虑纳入所有的患者而不仅仅是发生目标事件的患者,这样在目标事件发生率增加时,参数估计可以提供更可靠的结果[51]。
1.4.2 条件序贯抽样法(the conditional sequential sampling procedure,CSSP)
考虑到 maxSPRT 无法处理长期药物暴露[51],Li[52]提出 CSSP。该方法的原理是,首先按是否暴露将人群分为两组,根据每个混杂因素的分类再次进行分层分析,计算在各层累积的药物暴露时长和事件数。在分析时,将观察到的不良事件总数与通过条件序贯抽样法计算所得预期临界值(对应于每层患者预期发生的事件数)进行比较得到对应的检验统计量。
1.5 时间关联规则(the temporal association rules,TAR)方法
在不良反应信号检测中,TAR 算法需要满足 2 个条件:① 事件发生在药物暴露之后;② 事件发生在一个预先设定的时间窗内(例如风险期)。对于给定的药物,按顺序对所有潜在的事件进行挖掘,使用兴趣度计算相关程度。
1.5.1 MUTARA/HUNT
Jin[53]提出了在给定先验的情况下挖掘非预期 TAR(mining the unexpected TARs given the antecedent,MUTARA)算法,此算法要求满足第 3 个条件,即非预期事件。对暴露于目标药物的患者而言,需要在药物暴露开始前设定参考期。如果在参考期观察到目标事件,通常认为该事件基本不可能是 ADR,可以考虑排除,然后在过滤的数据中计算相关得分。
考虑到可能存在适应症偏倚[39],兴趣度的测量方法可能检测出虚假信号。一种新的测量方法应运而生,该方法计算了基于整个数据中得出的相关分数与过滤数据得出的相关分数的比值。该方法被命名为“highlighting unexpected TARs negating TARs,HUNT”[54]。
1.5.2 时序模式识别(temporal pattern discovery,TPD)
Norén 提出 TPD 法,该方法通过分析药品开始暴露前的多个对照期,来调整随时间变化的事件发生率[55]。对照期的设置,需考虑同一患者和其他患者使用与目标药物有共同适应症的药物的情形。TPD 兴趣度的测量方法,是计算风险期与对照期的期望数与观察数的比值比,计算每个对照时期的比值比,然后选出最小值。在目标事件发生数量较少时,为了保证结果更加稳健,不受随机变异的影响,可以对比率进行转换:① 在分子和分母上同时添加一个常数,使比值比趋近于 1(即没有关联);② 将比率转换为以 2 为底的对数[55],使分布更加稳定。
1.5.3 模糊逻辑规则(fuzzy logistic rule-based)
Ji[56-58]提出一种将 TAR 算法和模糊逻辑规则相结合的方法,来增加 TAR 定义中药物事件对的因果关联强度。使用模糊规则计算药物事件对的每个病例的因果关联得分。得分要素包括:时序、存在其他可能的解释、去激发和激发试验。例如,模糊规则中的时序性即关联的时间顺序有三种情况:很可能、可能或不可能,判断则取决于暴露开始和事件发生之间的持续时间。总得分取决于模糊规则的每个值(“很可能”赋值为 1)。所有的个体得分组合在一起,为每个药物事件对的因果关联强度提供一个总体分数,然后纳入兴趣度的计算。
1.6 监督机器学习(SML)法
SML 的基础算法可以分为两步(见原文图 1)。第一步,通过参考集来训练分类器(例如随机森林模型),其中包括先验的相关或不相关的药物-事件对。对于每个药物-时间对,从训练数据样本中提取出与关联对应的预定参数向量。所有向量构成分类器的输入数据,通过重复抽样和杂质标准训练,从而确定最佳参数,以识别真正的因果关联。第二步,对提取的药物事件对选定参数进行测试,采用训练好的分类器预测新的 ADR。
Reps 最早提出 SML,其中随机森林模型分类器所需的参数来自 6 个队列研究得出的 6 个相对危险度[59]。虽然这些队列研究使用相同的风险人群和固定的风险期,但同时考虑了不同的对照人群和对照时期。分析过程中未采用统计方法校正混杂因素。若对照的设置发生变化,采用 3 个附加参数指示关联强度的偏差。
随后,Reps 提出 SML 更新版本,涵盖了来源于 Bradford-Hill 因果关联准则的参数,减少虚假 ADRs 信号。对于每一个经过筛选的药物-事件对,根据年龄、性别、药物剂量和合并用药数量计算得到 27 个参数:其中 17 个参数参考 Bradford-Hill 的 5 项准则,包括关联强度、时序、实验证据、剂量反应关系、特异性,其他 10 个参数基于根据 ICD-10 确定的事件定义变化产生的偏差。
1.7 树状扫描统计量(tree-based scan statistic)
Kulldorff 提出树状扫描统计量方法,基本原理是将研究对象按照事件编码的分类层级从属关系[60]映射到树状结构中:根对应于给定事件的最宽泛定义,节点对应于不同的亚水平定义,叶子对应于最精细的定义,分支将三个元素连接在一起(见原文图 2a)。对于每个叶子节点,计算调整年龄和性别的预期目标事件数和观察到的目标事件数。然后,使用对数似然比统计量对给定根、节、叶事件路径的所有可能样本(见原文图 2b)进行检验。该方法的假设检验基于蒙特卡洛假设检验(Monte-Carlo hypothesis test)的 P 值,并在多重比较过程中调整 P 值,为了避免总体Ⅰ类错误膨胀,要求总体Ⅰ类错误控制在 0.05[61]。
2 不同方法比较
OMOP 和 EU-ADR 合作项目在评估基于比值失衡分析法和传统药物流行病学设计的方法后,认为自身对照的设计性能最佳,而比值失衡分析法效率较低[39, 41, 42]。TPD 的性能虽然好[39, 42],但是 Reps 的研究表明 TAR 算法和比值失衡法的性能接近,受试者工作特征曲线下面积(area under receiver operating characteristic,AUC)略高于 0.5,应用效果不理想[62]。各研究用于计算的参考数据集本身可能存在一些局限性,例如样本量较小[41]、药物种类异质性太大而无法合并(例如抗生素)[52]或者不良事件的定义不明确[39, 42],因此对于研究结果的解读和应用需慎重。研究表明,SSA 的灵敏度和特异度与自身对照设计性能相当,甚至更优[63],其他研究也佐证了基于 SSA 在医疗保健数据库中推广应用的可信度[64-67]。一项模拟研究发现,在安全信号检测中,如果目标药品的使用率和使用趋势发生改变[65],SSA 可以提供可靠的效应估计[64, 66]。最新的一项研究采用 SSA 发现了新的安全信号(例如组胺拮抗剂和心力衰竭),不仅存在生物学机制合理性,而且在病例报告中得到了印证[67]。Reps 在 THIN 数据库中评估了 2 个版本 SML 的性能,AUC 均大于 0.8,结果提示均优于自身对照设计[59, 68],但应注意该研究使用 Bradford-Hill 准则的版本中,阳性标准信号只占 10%,与阴性信号的巨大差异可能会夸大预测能力[69]。另一版本的 SML[59]中,阳性标准信号纳入了药品常见的不良反应(例如恶心),阴性信号纳入了与药品不太可能有关的不良事件(例如被狗咬伤),也可能高估该方法的预测能力。树状扫描统计量方法则无需通过标准参考集测试,采取半定量的方法即可检测医疗保健数据库中新的安全信号,并进一步开展调查研究。
从性能评估来看,自身对照设计、SSA 和 SML 法可能是医疗数据库中安全信号检测最优候选方法。与 SML 法相比,自身对照设计、SSA 的安全信号检测性能略低,但是可以实现更密集的评估,并且已经在不同的健康数据库中通过了实证,和在模拟研究中得到了验证[38-43, 45-50, 63-67]。相比之下,SML 法的研究信息较少,目前仅在一个医疗保健数据库[59, 68]中得以应用,有待深入研究和评价。总体而言,自身对照设计和 SSA 的检测性能更优。
3 讨论
对于常规信号检测而言,具体应该选择使用哪种方法最优,不仅应考虑统计特征,实用性也很关键,建议从以下三个方面进行考虑:是否达到了信号检测的预期目标,方法和原理是否容易理解,该方法是否提供了参考指标指导筛选不良信号,以帮助决策者处理特定情况下检测出的大量信号。
从定义上来看,信号检测需要筛选数据库中记录的所有药物-事件对,尤其关注非预期的 ADR(性质或频率),无需对潜在关联进行先验假设,同时避免事先否定某个药物-事件对。与 SSA 和 SML 法相比,自身对照设计和其他通用的药物流行病学设计是检验和估计特定药物事件关联,基于对于关联的认知设置风险期等。因此,对所有可能的药物事件关联进行大规模筛查几乎是不可能的,特别是应用自身对照设计时需要某些假设作为前提,例如事件会复发,而且其每次发作是独立的[70]。
为了获得高灵敏度,避免遗漏药物安全问题,所有检测方法通常将阳性信号检测的阈值设置得较低。因此,一旦检测出某个信号,因果关联评估至关重要,通常由具有药物警戒和药物流行病学知识背景,或是临床医生、具有医学背景的决策者进行,鲜少有统计学家参与。为了充分决策哪个信号需要进一步分析,前提条件是研究者应该理解检测方法的基本原理。从这个角度考虑,基于复杂统计概念的 SML 法可能被视为“黑匣子”,与常见的自身对照设计和简单易懂的 SSA 相比,SML 提供的结果可理解性和可接受性偏低。在医疗健康数据库中进行常规信号检测,可能产生成千上万的阳性信号,进一步的信号增强和决策过程会出现拥堵和速度下降。为了高效处理大量信号,应该指导研究者筛选哪些信号值得进一步研究。因此,为每个药物事件对提供风险估计的方法比提供关联概率的方法优势更明显,只有前者可以量化关联的潜在强度,与决策息息相关。基于这一标准,SML 法不适用于医疗保健数据库中常规安全信号检测。
综上所述,SSA 可能是医疗保健数据库中最适合的信号检测方法,不仅可以应用于纵向数据挖掘,也可以大规模和标准化进行推广应用。其原理简单易懂,非专业统计人员能够快速掌握,并且理解其提供的结果。自身对照设计在一定程度上可以减少假阳性的信号。但 SSA 也有一些局限性,可能产生适应症偏倚相关的虚假阳性信号,但目前已经开发了一些过滤虚假信号的方法。例如 Avillach 开发了一种从 Medline 数据库中检索已存在的药物事件关联的方法[71]。将这些关联与检测到的信号进行比较,能够排除适应症偏倚相关的虚假信号。当疾病在进展过程中,很多药物往往以特定的顺序使用,SSA 可能会产生虚假关联,但随着时间的推移,对处方趋势的序列对称估计调整可以解决该问题。
4 未来与展望
为实现充分利用医疗保健数据库进行安全信号检测,一系列数据挖掘方法应运而生,选择性能最优的方法成为药物安全性的常规监测手段,高效检测安全信号,可以为药物警戒领域带来新的机遇。而未来的挑战在于如何对通过医疗保健数据库自动产生的安全信号进行管理和优先排序,如何基于决策需求开发处理信号优先级的补充方法,对于常规的安全信号检测活动至关重要。
声明:本研究不存在任何利益冲突。
参考文献
见原文。
随着我国经济快速增长以及医疗体制改革,医药行业市场规模不断扩大,药品销量显著增长。与此同时,药品的安全性也受到越来越多的关注,在治疗疾病的同时预防潜在的药物不良反应发生,从而实现有效、合理、安全的用药。药品不良反应监测工作弥补了药品上市前研究的局限性,是发现药品上市后安全性问题的重要手段,为药品监管工作提供了有力支撑。自发呈报(spontaneous reporting,SR)是药品不良反应监测中使用最广泛的安全信号检测方法[1-3],适用于发现罕见、严重的药品不良反应(adverse drug reactions,ADR),如大疱疹、粒细胞缺乏和肝毒性[4]。过去几十年间,大多数药品撤市都源于 SR[5, 6]。但是,SR 也有其局限性,可能存在瞒报、漏报或选择性报告[7-10],导致安全信号发现延迟。由于药物与不良反应的因果关联时间顺序难以确定,识别药品不良反应的效率低下,例如质子泵抑制剂相关的肺部感染[11, 12]和罗非昔布引起的心肌梗死[13-15],均在上市后 1 年甚至更长的时间才被发现。
虽然基于 SR 的信号检测方法在不断进步[16-19],但大型医疗保健数据库可以追踪数百万人群队列数据,优势日益突出,可以作为 SR 的补充方法协同发挥药品安全信号检测的作用[20, 21]。近些年,欧洲发起的“欧盟药物流行病学治疗结局研究”[22]项目(the Pharmaco-epidemiological Research on Outcomes of Therapeutics by a European Consortium,PROTECT)、美国的哨点监测系统[23, 24]、观察性健康医疗数据科学与信息学联盟(Observational Health Data Science and Informatics,OHDSI)[25, 26]和亚洲药物流行病学协作网(the Asian Pharmaco- epidemiology Network,AsPEN)[27, 28],倡导通过对临床记录和生物医学知识进行整合挖掘,探索发现和了解药品不良反应[29]。
利用医疗保健数据库中的海量信息建立新的上市后监测系统的愿景,不仅为药品不良反应信号的探索提供了新思路和路径,同时也催生了很多新方法,本文的目的是对目前利用医疗保健数据库进行安全信号检测的方法以及优缺点进行概述。
1 医疗保健数据库安全信号检测方法
目前,医疗保健数据库安全信号检测方法主要分为以下几类:比值失衡分析法(disproportionality analysis)、传统药物流行病学设计(如自身对照设计)、序列对称分析(sequence symmetry analysis,SSA)、序贯统计检验(sequential statistical testing)、时序关联规则(temporal association rules)、监督机器学习(supervised machine learning,SML)和树状扫描统计量方法(tree-based scan statistic)。现有数据挖掘方法的优缺点见表 1。

1.1 比值失衡分析法
比值失衡分析法是 ADR 监测工作中广泛应用的一种方法。该方法基于 SR 数据库开发,自发报告数据均以列联表形式呈现,列联表的维度对应报告的药物-事件对。基于 2×2 列联表(四格表)计算药品-事件对的观察值与期望值的比值,若超过预先规定阈值,则称之为失衡(表 2)。目前主要使用 4 种方法,报告优势比(reporting odds ratio,ROR)、比例报告比(proportional reporting ratio,PRR)、贝叶斯可信区间递进神经网络法(bayesian confidence propagation neural network,BCPNN)和伽马泊松缩减法(the Gamma Poisson Shrinker,GPS)[30],这些方法的不同之处在于比值失衡的测量方法不同,以及在分析中如何考虑低计数问题[30-33]。

1.1.1 模拟自发呈报方法
比例失衡分析法应用到医疗保健数据库面临的主要问题是,如何将纵向数据生成类似自发呈报数据库的格式。已有学者开展了相关研究,例如 Curtis 认为,对于每个患者,以月为观察时间单位内发现的安全性报告很可能是虚假报告,包括药物暴露的一个月内发生的所有事件,一种情况是只有药物暴露而没有任何相关事件报告,另一种情况是没有任何药物暴露却报告了事件[34]。在 Choi[35, 36]的研究中,观察时间始于药物处方,结束于 12 周末,只有发生在观察期间的事件视为“报告”。Zorych 则建议将药物暴露持续时间视为观察时间,并且采用 3 种方法来构建四格表,用于比值失衡分析。第一种方法是,列联表中的每个患者只计数一次,四个格子数之和等于患者总数,并按照药物暴露期间患者是否发生事件进行分类。另外两种方法分别是观察时间内发生的所有事件均纳入研究和只将观察时间内首次发射的事件纳入研究,具体方法请参考 Curtis[34]、Choi[35, 36]和 Kim[37]的研究。
1.1.2 纵向伽马泊松缩减(Longitudinal Gamma Poisson Shrinker,LGPS)
GPS 的核心思想是估计数据库观察到的 ADR 与预期发生的 ADR 的比值,通过贝叶斯分析的一般准则,修订效应估计值,计算经验贝叶斯几何平均数,若其置信区间下限大于 2,则提示产生一个阳性信号。推断目标药品与目标 ADR 的关联。在 GPS 的基础上,Schuemie 进行了改进,将患者暴露与未暴露的时间纳入分析,以更好的利用纵向数据信息,称为 LGPS[38]。由于 LGPS 借鉴了自身对照设计,可以有效控制年龄、性别等非时间依赖性的混杂因素。为了更好地识别和控制适应症偏倚,作者建议将 LGPS 和药品相关不良事件纵向观察评估(longitudinal evaluation of observational profiles of adverse events related to drugs,LEOPARD)方法相结合,比较事件发生前后的某一固定时间窗内的处方比例,如果事件发生后的处方比例高于事件发生前,LEOPARD 则认为这种关联是由适应症偏倚(indication bias)导致的[38]。LGPS 通过贝叶斯判别方法综合先验信息和样本信息,有效改进统计决策,自动化程度高,适用于医疗保健数据库进行信号挖掘。
1.2 传统药物流行病学方法
在既往研究中,OMOP 和 EU-ADR 主要采用基于传统药物流行病学研究设计的方法[39-42]。此类研究设计主要分为 2 个步骤:① 根据暴露(队列研究)或事件(病例对照研究)前瞻或回顾地识别两组患者;② 比较两组药品相关事件的发生率。通常需要采用统计工具来控制预先假设的混杂因素(例如合并用药)。
1.2.1 首次用药队列设计
首次用药队列设计的原理是:① 从患者首次用药开始建立前瞻性队列进行随访:一个队列纳入首次暴露于目标药物的患者,而另一个队列纳入首次暴露于其他药物的患者(通常是有共同适应症的药物);② 比较两个队列中的目标药物不良事件发生率。
首次用药队列设计应用广泛,控制混杂因素的方法较为成熟[41, 43],包括 Mantel-Haenszel 校正[41]、倾向评分或高维倾向评分和匹配。此外,还可以考虑采用惩罚 Logistic 回归模型(例如 Lasso 回归[44],通过选择混杂效应较强的协变量纳入到经典 Logistic 回归模型[43]中,达到处理多个协变量的目的。但应注意的是,首次用药队列设计不适用于罕见不良反应事件。
1.2.2 匹配病例对照设计
匹配病例对照设计的原理是:① 从给定的日期开始,回顾性地分析匹配的两组患者(例如年龄、性别等混杂因素)既往药物暴露情况。病例组是发生了目标事件的患者,对照组是未发生目标事件的患者;② 比较两组目标药物暴露的优势比。
大型医疗保健数据库使得巢式病例对照研究设计得以广泛应用,大大提高了组间的可比性。虽然倾向评分或疾病风险评分控制混杂因素在理论上是可行的,但未在采用匹配病例对照设计的信号检测方法中得到验证[41, 45],因此,建议谨慎使用。
1.2.3 自身对照设计
自身对照设计,是对每个患者在风险期和对照期的事件发生率进行比较,估计暴露和特定事件的相对危险度。自身对照设计很好地控制了非时依混杂(如慢性合并症)和个体水平的混杂因素(如遗传风险因素)。
在安全信号检测研究中广泛应用的有 3 种自身对照设计已[46, 47]。自身对照病例系列(self-controlled case series,SCCS)设计,仅关注既暴露于药物又至少经历过一次目标事件的患者。当对患者进行前瞻性随访观察时,可以看作队列研究的衍生设计进行分析。通过惩罚回归模型,在 SCCS 设计中利用高维多变量调整,控制时依混杂因素(如急性疾病)[46]。SCCS 常用于罕见事件的研究,通常假设罕见事件发生服从 Poisson 分布。
病例交叉(case-crossover,CC)设计,采用病例对照研究设计回顾性比较分析同一个体在危险期和对照期内的药物暴露,目前尚无特定统计工具来控制时依混杂。CC 通常适用于估计急性不良事件发生的危险性。
自身对照队列(self-control cohort,SCC)设计不同于 SCCS 和 CC:关注所有暴露于目标药物的患者是否发生过目标事件,事件发生的风险比值是在药物暴露后事件发生率与暴露前事件发生率的比值。与 CC 类似,除分层分析外,SCC 无法控制时依混杂[47]。
1.3 SSA
1988 年 Petri 首次提出 SSA[48],Hallas 于 1996 年明确阐述 SSA 概念[49]。SSA 的目的是比较给定时间窗内 2 种药物暴露 A 和 B 的起始使用次序,其中药物 A 是目标暴露药物(指示药),药物 B 是潜在不良反应的标签药。如果药物 A 引起不良反应,其对症治疗是药物 B,首先暴露于药物 A 并随后暴露于药物 B 的患者数量预计会远远多于首先暴露于 B 药(暴露于 A 药之前)的患者。计算指标为粗序列比(crude sequence ratio,CSR),由处方 A 药并随后处方 B 药的患者数量除以先处方 B 药后处方 A 药的患者数量所得。
通常认为,粗序列比不受非时依混杂影响,但对处方趋势变化较为敏感。例如,如果在研究期间药物 A 报销比例增加而药物 B 保持不变,导致药物 A 的处方超过药物 B,可能对潜在信号检测产生干扰。Hallas 提出通过将粗序列比除以空效应序列比(the null-effect sequence ratio,NESR)来校正时间趋势,空效应序列比是假定药物 A 和药物 B 没有任何因果关联的情况下的序列比[49],可以反映研究周期内处方频率的变化趋势。Tsiropoulos 对空效应序列比进行了略微调整,适用于短观察时间窗的情况,并且验证了使用住院诊断来代替标签药品报销来筛选不良事件的策略[50]。
1.4 序贯统计检验法
序贯统计检验法,是在前瞻性队列中,持续地(例如每月)检验药物与不良事件关联的假设:暴露组患者的事件发生率比未暴露组高,适用于常规药品安全信号检测活动。每一次新的分析都纳入自上次分析以来暴露或未暴露于目标药物的新患者人数,以及已经在上次分析纳入患者新增的暴露时间。若检验统计量超过预先设定的临界值,可以判定信号增强。为减少假阳性,要求多重比较的总体Ⅰ类错误水平控制在 0.05。
1.4.1 最大化序列概率比检验(the maximized sequential probability ratio test,maxSPRT)
Brown 等将 maxSPRT 应用于疫苗安全性监测活动,该方法原理是序贯地采用对数似然比(log likelihood ratio,LLR)检验基于大型历史对照队列数据得出的统计量。Kulldorf 则建议同时收集暴露和未暴露患者发生的目标事件,以适用于历史对照人群难以获得的情况,例如新药上市后的安全信号检测。该方法采用固定比例(1∶M)对暴露组和对照组进行匹配,以便控制混杂因素。随后,Cook 提出了广义的 LLR 检验统计量,考虑纳入所有的患者而不仅仅是发生目标事件的患者,这样在目标事件发生率增加时,参数估计可以提供更可靠的结果[51]。
1.4.2 条件序贯抽样法(the conditional sequential sampling procedure,CSSP)
考虑到 maxSPRT 无法处理长期药物暴露[51],Li[52]提出 CSSP。该方法的原理是,首先按是否暴露将人群分为两组,根据每个混杂因素的分类再次进行分层分析,计算在各层累积的药物暴露时长和事件数。在分析时,将观察到的不良事件总数与通过条件序贯抽样法计算所得预期临界值(对应于每层患者预期发生的事件数)进行比较得到对应的检验统计量。
1.5 时间关联规则(the temporal association rules,TAR)方法
在不良反应信号检测中,TAR 算法需要满足 2 个条件:① 事件发生在药物暴露之后;② 事件发生在一个预先设定的时间窗内(例如风险期)。对于给定的药物,按顺序对所有潜在的事件进行挖掘,使用兴趣度计算相关程度。
1.5.1 MUTARA/HUNT
Jin[53]提出了在给定先验的情况下挖掘非预期 TAR(mining the unexpected TARs given the antecedent,MUTARA)算法,此算法要求满足第 3 个条件,即非预期事件。对暴露于目标药物的患者而言,需要在药物暴露开始前设定参考期。如果在参考期观察到目标事件,通常认为该事件基本不可能是 ADR,可以考虑排除,然后在过滤的数据中计算相关得分。
考虑到可能存在适应症偏倚[39],兴趣度的测量方法可能检测出虚假信号。一种新的测量方法应运而生,该方法计算了基于整个数据中得出的相关分数与过滤数据得出的相关分数的比值。该方法被命名为“highlighting unexpected TARs negating TARs,HUNT”[54]。
1.5.2 时序模式识别(temporal pattern discovery,TPD)
Norén 提出 TPD 法,该方法通过分析药品开始暴露前的多个对照期,来调整随时间变化的事件发生率[55]。对照期的设置,需考虑同一患者和其他患者使用与目标药物有共同适应症的药物的情形。TPD 兴趣度的测量方法,是计算风险期与对照期的期望数与观察数的比值比,计算每个对照时期的比值比,然后选出最小值。在目标事件发生数量较少时,为了保证结果更加稳健,不受随机变异的影响,可以对比率进行转换:① 在分子和分母上同时添加一个常数,使比值比趋近于 1(即没有关联);② 将比率转换为以 2 为底的对数[55],使分布更加稳定。
1.5.3 模糊逻辑规则(fuzzy logistic rule-based)
Ji[56-58]提出一种将 TAR 算法和模糊逻辑规则相结合的方法,来增加 TAR 定义中药物事件对的因果关联强度。使用模糊规则计算药物事件对的每个病例的因果关联得分。得分要素包括:时序、存在其他可能的解释、去激发和激发试验。例如,模糊规则中的时序性即关联的时间顺序有三种情况:很可能、可能或不可能,判断则取决于暴露开始和事件发生之间的持续时间。总得分取决于模糊规则的每个值(“很可能”赋值为 1)。所有的个体得分组合在一起,为每个药物事件对的因果关联强度提供一个总体分数,然后纳入兴趣度的计算。
1.6 监督机器学习(SML)法
SML 的基础算法可以分为两步(见原文图 1)。第一步,通过参考集来训练分类器(例如随机森林模型),其中包括先验的相关或不相关的药物-事件对。对于每个药物-时间对,从训练数据样本中提取出与关联对应的预定参数向量。所有向量构成分类器的输入数据,通过重复抽样和杂质标准训练,从而确定最佳参数,以识别真正的因果关联。第二步,对提取的药物事件对选定参数进行测试,采用训练好的分类器预测新的 ADR。
Reps 最早提出 SML,其中随机森林模型分类器所需的参数来自 6 个队列研究得出的 6 个相对危险度[59]。虽然这些队列研究使用相同的风险人群和固定的风险期,但同时考虑了不同的对照人群和对照时期。分析过程中未采用统计方法校正混杂因素。若对照的设置发生变化,采用 3 个附加参数指示关联强度的偏差。
随后,Reps 提出 SML 更新版本,涵盖了来源于 Bradford-Hill 因果关联准则的参数,减少虚假 ADRs 信号。对于每一个经过筛选的药物-事件对,根据年龄、性别、药物剂量和合并用药数量计算得到 27 个参数:其中 17 个参数参考 Bradford-Hill 的 5 项准则,包括关联强度、时序、实验证据、剂量反应关系、特异性,其他 10 个参数基于根据 ICD-10 确定的事件定义变化产生的偏差。
1.7 树状扫描统计量(tree-based scan statistic)
Kulldorff 提出树状扫描统计量方法,基本原理是将研究对象按照事件编码的分类层级从属关系[60]映射到树状结构中:根对应于给定事件的最宽泛定义,节点对应于不同的亚水平定义,叶子对应于最精细的定义,分支将三个元素连接在一起(见原文图 2a)。对于每个叶子节点,计算调整年龄和性别的预期目标事件数和观察到的目标事件数。然后,使用对数似然比统计量对给定根、节、叶事件路径的所有可能样本(见原文图 2b)进行检验。该方法的假设检验基于蒙特卡洛假设检验(Monte-Carlo hypothesis test)的 P 值,并在多重比较过程中调整 P 值,为了避免总体Ⅰ类错误膨胀,要求总体Ⅰ类错误控制在 0.05[61]。
2 不同方法比较
OMOP 和 EU-ADR 合作项目在评估基于比值失衡分析法和传统药物流行病学设计的方法后,认为自身对照的设计性能最佳,而比值失衡分析法效率较低[39, 41, 42]。TPD 的性能虽然好[39, 42],但是 Reps 的研究表明 TAR 算法和比值失衡法的性能接近,受试者工作特征曲线下面积(area under receiver operating characteristic,AUC)略高于 0.5,应用效果不理想[62]。各研究用于计算的参考数据集本身可能存在一些局限性,例如样本量较小[41]、药物种类异质性太大而无法合并(例如抗生素)[52]或者不良事件的定义不明确[39, 42],因此对于研究结果的解读和应用需慎重。研究表明,SSA 的灵敏度和特异度与自身对照设计性能相当,甚至更优[63],其他研究也佐证了基于 SSA 在医疗保健数据库中推广应用的可信度[64-67]。一项模拟研究发现,在安全信号检测中,如果目标药品的使用率和使用趋势发生改变[65],SSA 可以提供可靠的效应估计[64, 66]。最新的一项研究采用 SSA 发现了新的安全信号(例如组胺拮抗剂和心力衰竭),不仅存在生物学机制合理性,而且在病例报告中得到了印证[67]。Reps 在 THIN 数据库中评估了 2 个版本 SML 的性能,AUC 均大于 0.8,结果提示均优于自身对照设计[59, 68],但应注意该研究使用 Bradford-Hill 准则的版本中,阳性标准信号只占 10%,与阴性信号的巨大差异可能会夸大预测能力[69]。另一版本的 SML[59]中,阳性标准信号纳入了药品常见的不良反应(例如恶心),阴性信号纳入了与药品不太可能有关的不良事件(例如被狗咬伤),也可能高估该方法的预测能力。树状扫描统计量方法则无需通过标准参考集测试,采取半定量的方法即可检测医疗保健数据库中新的安全信号,并进一步开展调查研究。
从性能评估来看,自身对照设计、SSA 和 SML 法可能是医疗数据库中安全信号检测最优候选方法。与 SML 法相比,自身对照设计、SSA 的安全信号检测性能略低,但是可以实现更密集的评估,并且已经在不同的健康数据库中通过了实证,和在模拟研究中得到了验证[38-43, 45-50, 63-67]。相比之下,SML 法的研究信息较少,目前仅在一个医疗保健数据库[59, 68]中得以应用,有待深入研究和评价。总体而言,自身对照设计和 SSA 的检测性能更优。
3 讨论
对于常规信号检测而言,具体应该选择使用哪种方法最优,不仅应考虑统计特征,实用性也很关键,建议从以下三个方面进行考虑:是否达到了信号检测的预期目标,方法和原理是否容易理解,该方法是否提供了参考指标指导筛选不良信号,以帮助决策者处理特定情况下检测出的大量信号。
从定义上来看,信号检测需要筛选数据库中记录的所有药物-事件对,尤其关注非预期的 ADR(性质或频率),无需对潜在关联进行先验假设,同时避免事先否定某个药物-事件对。与 SSA 和 SML 法相比,自身对照设计和其他通用的药物流行病学设计是检验和估计特定药物事件关联,基于对于关联的认知设置风险期等。因此,对所有可能的药物事件关联进行大规模筛查几乎是不可能的,特别是应用自身对照设计时需要某些假设作为前提,例如事件会复发,而且其每次发作是独立的[70]。
为了获得高灵敏度,避免遗漏药物安全问题,所有检测方法通常将阳性信号检测的阈值设置得较低。因此,一旦检测出某个信号,因果关联评估至关重要,通常由具有药物警戒和药物流行病学知识背景,或是临床医生、具有医学背景的决策者进行,鲜少有统计学家参与。为了充分决策哪个信号需要进一步分析,前提条件是研究者应该理解检测方法的基本原理。从这个角度考虑,基于复杂统计概念的 SML 法可能被视为“黑匣子”,与常见的自身对照设计和简单易懂的 SSA 相比,SML 提供的结果可理解性和可接受性偏低。在医疗健康数据库中进行常规信号检测,可能产生成千上万的阳性信号,进一步的信号增强和决策过程会出现拥堵和速度下降。为了高效处理大量信号,应该指导研究者筛选哪些信号值得进一步研究。因此,为每个药物事件对提供风险估计的方法比提供关联概率的方法优势更明显,只有前者可以量化关联的潜在强度,与决策息息相关。基于这一标准,SML 法不适用于医疗保健数据库中常规安全信号检测。
综上所述,SSA 可能是医疗保健数据库中最适合的信号检测方法,不仅可以应用于纵向数据挖掘,也可以大规模和标准化进行推广应用。其原理简单易懂,非专业统计人员能够快速掌握,并且理解其提供的结果。自身对照设计在一定程度上可以减少假阳性的信号。但 SSA 也有一些局限性,可能产生适应症偏倚相关的虚假阳性信号,但目前已经开发了一些过滤虚假信号的方法。例如 Avillach 开发了一种从 Medline 数据库中检索已存在的药物事件关联的方法[71]。将这些关联与检测到的信号进行比较,能够排除适应症偏倚相关的虚假信号。当疾病在进展过程中,很多药物往往以特定的顺序使用,SSA 可能会产生虚假关联,但随着时间的推移,对处方趋势的序列对称估计调整可以解决该问题。
4 未来与展望
为实现充分利用医疗保健数据库进行安全信号检测,一系列数据挖掘方法应运而生,选择性能最优的方法成为药物安全性的常规监测手段,高效检测安全信号,可以为药物警戒领域带来新的机遇。而未来的挑战在于如何对通过医疗保健数据库自动产生的安全信号进行管理和优先排序,如何基于决策需求开发处理信号优先级的补充方法,对于常规的安全信号检测活动至关重要。
声明:本研究不存在任何利益冲突。
参考文献
见原文。