临床试验-肿瘤:ADRS的构建

前面文章分享了BOR确认的过程,BOR确认一般在ADaM ADRS中处理。这篇文章介绍,基于RECIST1.1标准,当BOR需要确认时,ADRS的构建。

文章共4部分,重点内容是第4部分的Flag标记,会详细介绍最佳总体疗效标记与首次客观缓解标记。同时,我也准备了练习文档,本文中的所有示例,均可以在练习文档的Examples页查看。

欢迎关注,SAS茶谈,后台回复:ADRS,获取Flag标记的配套练习文档。如果练习过程中发现任何问题或有任何疑惑,欢迎留言、私信反馈。

1. 肿瘤分析的分类数据

在肿瘤临床实验中,分析数据通常有两类,生存数据与分类数据

生存数据一般保存到ADTTE中,而分类数据一般保存到ADRS中。分类数据包括BOR分类,以及根据BOR分类进一步衍生的其他分类数据,例如:

  • BOR的取值:CR、PR、SD、PD、NE
  • 是否达到客观缓解 (OR-CR、PR):Y、N
  • 是否疾病控制 (DC-CR、PR、SD):Y、N

不同类别的数据对应不同的分析方法,相关分析方法后续再写文章介绍。

不同公司、不同项目可能有自己的ADaM处理方式。就分类数据而言,参数BOR是基础,这个内容一定会在数据集中进行衍生。但对于进一步衍生的参数,是否需要在ADRS中处理,看各家要求。

2. ADRS的主要内容

ADRS主要有两部分内容,第一部分是,BOR的生成,关于这个过程前面文章有详细介绍(临床试验-肿瘤:从RECIST 1.1出发梳理肿瘤BOR的确认);第二部分是,特定肿瘤评估结果的筛选/标记(这部分也可以直接在后续衍生数据集中处理)。

ADRS的核心参数 (Parameter)有两个,时点疗效 (Timepoint/Overall Response)和最佳总体疗效 (Best Overall Response)

根据时点疗效和最佳总体疗效的结果,我们会对相关记录进行筛选、标记,方便后续分析以及参数的衍生。

文章 临床试验-肿瘤:研究终点以及生存数据的介绍 中谈到,常用的肿瘤临床试验研究终点有2类:

  • Overall Survival(OS,总生存期)
  • Endpoints Based on Tumor Assessments(基于肿瘤评估的终点)

OS是生存数据,其结局事件是死亡;而基于肿瘤评估的终点可能是分类数据,也可能是生存数据,都与肿瘤评估结果有关。

如果试验中肿瘤评估疗效需要确认,那么第二类研究终点是需要基于确认后的疗效

对于与这些终点相关的肿瘤评估结果,如果在ADRS中进行标记好,后续参数引用就会非常方便。

3. ADRS的结构

不同的公司可能有自己的ADaM处理方式,例如,肿瘤分析,可能还会构建其他中间数据集用以辅助输出。

ADRS中关于时点疗效的处理方式,各家公司应该大都相同,其结构为Per Subject Per Evaluator Per Time Point,受试者每一个时点都有一个时点疗效。

但BOR参数的处理,通常有两种结构:一种是Per Subject Per Evaluator,一个受试者只有一个最佳总体疗效;另一种是Per Subject Per Evaluator Per Time Point,一个受试者每个时间点上有一个最佳总体疗效,即到当前时间点为止的最佳疗效

虽然ADRS的结构可能不同,但对于参数衍生过程来讲,重点不在于数据集的结构形式,而在于具体参数含义的理解。以BOR确认举例,首先要理解确认的算法逻辑,再考虑程序实现,最后考虑输出数据集的结构形式。

4. 相关Flag的标记

我以目前公司BOR参数的Per Subject Per Evaluator Per Time Point结构为例,介绍下特定肿瘤评估结果的标记筛选。

通常,纳入分析的肿瘤评估不能在疾病进展 (PD)、采用新疗法以及End of Study之后,除非另外说明,以下举例都默认满足这一条件。不同公司用于标记的变量名称 (ANLxxFL) 不一定相同,所以演示中我以名称缩写作为相关标记的变量名。

从编程角度来看,ADRS有2个Flag变量处理起来会复杂一些,一个是最佳总体疗效标记 (BORFL),另一个是首次客观缓解标记 (FORFL)

复杂的原因也好理解,这两个Flag的衍生都涉及CR和PR的确认,这个过程涉及到跨行处理。

4.1 BORFL - Best Overall Response / 最佳总体疗效标记

BORFL,标记最佳总体疗效取值的来源记录,在不考虑Evaluator的情况下,如果受试者有基线后时点疗效,那么一定会有一条BORFL = "Y"的记录,即总会有一个最佳总体疗效。

就分类数据的分析而言,我们只会关注具体的分类值,而不关注相关时间信息。但是从溯源角度来讲,我们需要标记BOR值对应的最初的取值来源,即需要标记对应的取值与对应的时点

在Per Subject Per Evaluator Per Time Point结构下,最佳总体疗效的标记需要分类讨论。分类的条件是,最佳总体疗效的取值是否一定会与时点疗效值相同

当最佳总体疗效取值为CR、PR、PD时,在时点疗效中一定有对应的相同值(参考前文BOR确认);但是,当BOR取值为SD、NE时,在时点疗效中不一定是相同值

下面进行分类介绍。

4.1.1 BOR取值为CR、PR、PD时,BORFL的标记

取值为CR时:

先介绍BOR取值为CR时,其来源记录的标记。假设以下受试者基线后的3个时点评估都满足SD的最小时限、相邻时点都满足确认的最小间隔:

TPR: PR-CR-CR
BOR: SD-PR-CR

举例整理成BDS结构:

在Per Subject Per Evaluator Per Time Point结构下,BOR是一个“不减”序列,后一个时点的BOR只会比前一个更好或相同。基于此,在受试者满足相关条件的记录中,最晚的一条记录的BOR值,即是该受试者的最佳总体疗效值

显而易见,受试者001的最佳总体疗效值为BOR第3时点的值——CR,并且,这个值来源于TPR第2时点的值——CR。以这个例子来讲,只要这个受试者纳入分析的BOR值为CR就好。

在这个例子中,BOR的来源就是PARAMCD="OVRLRESP"的第2个时点。如果标记为PARAMCD="BESTRESP"的第3个时点,那么BOR的取值可以对应上,但是BOR发生的时点就会有偏差。所以需要从PARAMCD="OVRLRESP"记录中进行标记。

取值为PR、PD时:

BOR值为PR的情况与CR类似,也是PARAMCD="OVRLRESP"记录中进行标记,不再举例描述。

在RECIST1.1标准中,疗效PD是不需要确认的,在这种情况下,不管是标记OVRLRESP还是BESTRESP的记录,都能对应到BOR的取值与时点。

但一些研究可能基于自身考量,疗效PD也要求确认(基于Modified RECIST 1.1),这时为避免所标记的记录时点的偏误,BORFL的标记只能从PARAMCD="OVRLRESP"记录中筛选。

所以,一般地,疗效PD统一在PARAMCD="OVRLRESP"记录中进行标记。

4.1.2 BOR取值为SD、NE时,BORFL的标记

当BOR取值为SD、NE时,在时点疗效中不一定是相同值。如果BOR的来源直接标记时点疗效,可能会出现BOR取值无法对应的情况,所以对于BOR取值为SD、NE的情况,最佳总体疗效在PARAMCD="BESTRESP"记录中进行标记。

先看最佳总体疗效为SD的两个例子:

TPR: PR-NE-PD
BOR: SD-SD-SD

受试者002,第1时点疗效PR满足SD的最小时限,第1时点的参数BOR为SD。同时,这个PR没有得到后续时点疗效的确认,最终每个时点的BOR都为SD。

TPR: SD-NE-PD
BOR: SD-SD-SD

受试者003,第1时点疗效SD满足SD的最小时限,第1时点的参数BOR为SD,最终每个时点的BOR都为SD。

当BOR不一定与时点疗效值相同时,为了标记最终BOR对应的取值与对应的时点,我们只能从PARAMCD = "BESTRESP"中进行标记,如上图标记。

如果最后BOR取值为NE,与SD类似,BORFL也是在PARAMCD = "BESTRESP"记录中进行标记。但是考虑到NE是“最差”的疗效,BORFL的标记取最晚的NE记录

举例如下:

TPR: PR-NE-NE (假设PR不满足SD的最小时限)
BOR: NE-NE-NE

4.1.3 两种BOR结构的联系

以上就是BOR参数Per Subject Per Evaluator Per Time Point结构下,BORFL的标记。在后续分析或进一步衍生BOR分类数据取值时,直接筛选BORFL="Y"就可以获取想要的分析取值。

在筛选BORFL="Y"之后,参数BOR的结构就转变为Per Subject Per Evaluator。从这一点看,两种结构只是呈现形式不同,本质逻辑是相同的

4.1.4 BORFL的应用

BORFL的作用是筛选受试者的最佳总体疗效,基于此可能会进一步衍生相关二分类数据。

BOR取值的多分类数据,将会用于频数汇总表的输出:

二分类数据一般会涉及率以及率的可信区间的输出,例如,ORR:

相关编程处理,读者可以参考之前的文章:

SAS编程-Table:频数汇总表的总结
SAS编程-Efficacy:如何生成样本率的可信区间?

4.2 FORFL - First Objective Response / 首次客观缓解标记

FORFL,标记首次被确认的CR或PR记录,未发生确认的CR或PR时,该Flag为空。

FORFL标记客观缓解记录,方便后续参数的衍生。如果各家ADRS标准并没有要求衍生这个Flag,也可以在后续其他数据集中直接进行对应记录筛选。但考虑到疗效确认在ADRS中处理,FORFL也在ADRS中处理会比较方便。

FORFL与BORFL这两个Flag的含义完全不同,但由于两者常会标记同一条记录,不少人容易将这两者搞混

对于一个受试者来讲,如果其基线后至少有一次肿瘤评估,那么他一定会有一条BORFL标记的记录,即该受试者一定会有最佳总体疗效(哪怕是NE);但受试者未必会有FORFL标记的记录,因为并非每个受试者都能达到客观缓解(CR或PR)。

4.2.1 FORFL生成举例

关于FORFL,我举两个例子:

TPR: PR-CR-CR
BOR: SD-PR-CR

对于受试者005,在其肿瘤评估中,既有被确认的PR,也有被确认的CR。最早的确认结果是第1时点的TPR的PR,所以对于该条记录,FORFL标记为Y。可以看到,BORFL与FORFL标记的记录不同。

TPR: PR-NE-PD
BOR: SD-SD-SD

对于受试者006,其肿瘤评估中,既没有被确认的PR,也没有被确认的CR,所以对于所有记录FORFL都为空值。

4.2.2 FORFL的应用

FORFL的作用是,筛选受试者首次被确认的CR或PR记录,常用于衍生相关的生存数据,例如:

  • Time to response = Date of first response - First dose date + 1
  • Duration of response = Date of first progressive disease or death or date of censoring - Date of the first response + 1

关于这一块内容,后续会在ADTTE数据集中进行介绍。

4.3 期中分析中的BORFL和FORFL

一些研究的期中分析中,在Cut off Date之前,由于缺乏足够的随访时间进行疗效确认,一些客观缓解暂时无法得到确认,但是在未来的评估中有潜力得到确认 (Subjects had an initial CR or PR and still have potential for future confirmative scans)。

这种情况下,期中分析也可能将这些未确认的客观缓解纳入统计分析。不过,只在期中分析中输出相关Output,后续PA、FA都不会有对应的Output输出。

如何理解这里的“有潜力”呢?抛开复杂的分类说明,我这里提供一个简单的方法——假设受试者当前最后一次评估记录后面,有一次疗效为CR的记录,并且满足相邻疗效确认的时间间隔。这种情况下得出的BORFL和FORFL,就是期中分析想要的对应标记。

4.3.1 期中分析中BORFL和FORFL生成举例

下面用3个例子进行说明。

受试者007

TPR: PR-PR-CR
BOR: SD-PR-PR

对于受试者007来讲,根据paramcd = "BESTRESP"最后一条记录判断,最佳总体疗效为PR,其来源为TPR的第1时点记录。同时,首次客观缓解的记录也是第一条记录。

对于TPR的第3时点评估的CR,其有潜力在接下来的随访中被Confirm。所以期中分析的最佳总体疗效为CR,其来源于第3时点的CR。由于第1时点的PR已经被Confirm,期中分析的首次客观疗效还是第1时点的PR。

受试者008

TPR: PR-NE-SD
BOR: SD-SD-SD

受试者008的最佳总体疗效为SD,其来源为BOR的首条记录。由于第1时点的PR没有得到确认,所以受试者002是没有客观缓解记录的。

在期中分析中,时点疗效PR有潜力被Confirm(这里参考BOR确认文章中的说明)。这时,期中分析的最佳总体疗效为PR,客观缓解也存在,均为首条记录PR。

受试者009

TPR: CR-PD-SD
BOR: SD-SD-SD

受试者009的最佳总体疗效为SD,其来源为BOR的首条记录。由于第1时点的CR无法得到确认,所以受试者003是没有客观缓解记录。

在期中分析中,时点疗效CR没有潜力被Confirm,这时,期中分析的最佳总体疗效依旧为SD,也不存在被Confirm的客观缓解。

4.3.2 期中分析中BORFL的应用

期中分析的BORFL用于计算期中分析的ORR:

也会用于衍生期中分析感兴趣的内容:

简单介绍下后两块的内容,可能其他公司并不会输出这些。这些内容一般只在期中分析呈现,研究人员会基于此做出一些期中分析的判断。

第一部分指的是,当前数据的最佳总体疗效为SD或NE,但是有潜力达到CR或PR,只是当前无法进行下一次疗效评估,没有被Confirm;第二部分指的是,当前数据中时点疗效有CR或PR,但即便考虑到下一次疗效评估,最佳总体疗效也没机会被Confirm为CR或PR,只能是SD或NE。

这两块的具体衍生逻辑就不介绍了。

总结

这篇文章介绍了肿瘤试验中,ADRS的构建,涉及内容有肿瘤分析分类数据的介绍、ADRS的主要内容与结构,以及相关Flag的标记。

ADRS的主要内容是,BOR的生成和相关记录的标记,读者可以先从具体概念含义入手,在理清逻辑思路后,再进行SAS编程实现。

感谢阅读, 欢迎关注:SAS茶谈!
若有疑问,欢迎评论交流!
欢迎点赞、转发!

梳理不易,转载请注明出处 (by Jihai / SAS茶谈)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,905评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,140评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,791评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,483评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,476评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,516评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,905评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,560评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,778评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,557评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,635评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,338评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,925评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,898评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,142评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,818评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,347评论 2 342

推荐阅读更多精彩内容