臨床試驗(yàn)-腫瘤:從RECIST 1.1出發(fā)梳理腫瘤BOR的確認(rèn)

在疾病緩解 (CR+PR) 作為主要終點(diǎn)的非隨機(jī)腫瘤試驗(yàn)中欺旧,是需要確認(rèn)CR和PR的胸嘁,這篇文章從RECIST 1.1出發(fā)梳理腫瘤BOR的確認(rèn)。

文章共有3部分榆鼠,第1部分是RECIST 1.1中有關(guān)BOR確認(rèn)的描述以及相關(guān)內(nèi)容的補(bǔ)充震鹉,第2部分是腫瘤BOR確認(rèn)練習(xí)的說(shuō)明與演示俱笛,第3部分是BOR確認(rèn)的SAS程序分享。

希望文章的介紹以及配套練習(xí)传趾,能夠幫助讀者進(jìn)一步理解和掌握腫瘤BOR的確認(rèn)迎膜。完成練習(xí)后,大家完全可以3秒內(nèi)判定BOR_temp浆兰。

歡迎關(guān)注磕仅,SAS茶談珊豹,后臺(tái)回復(fù):BOR,獲取配套練習(xí)文件榕订。配套練習(xí)說(shuō)明店茶,詳見(jiàn)文章第2部分。如果練習(xí)過(guò)程中發(fā)現(xiàn)任何問(wèn)題或有任何疑惑劫恒,歡迎留言贩幻、私信反饋。

1. RECIST 1.1 簡(jiǎn)述

RECIST 1.1两嘴,Response Evaluation Criteria in Solid Tumours (Version 1.1)丛楚,實(shí)體瘤療效評(píng)估標(biāo)準(zhǔn) 1.1版。

實(shí)體瘤評(píng)估的具體過(guò)程是憔辫,在基線(xiàn)選定一定數(shù)量的靶病灶與非靶病灶趣些,計(jì)算所有靶病灶的直徑總和。在基線(xiàn)后的各時(shí)點(diǎn)螺垢,也會(huì)計(jì)算靶病灶的直徑總和喧务,并與基線(xiàn)相比較赖歌,研究人員評(píng)估該時(shí)點(diǎn)靶病灶的療效枉圃;同時(shí),研究人員也會(huì)定性評(píng)估非靶病灶的療效庐冯,觀察并記錄是否有新病灶出現(xiàn)孽亲。

結(jié)合基線(xiàn)后各時(shí)點(diǎn)的靶病灶、非靶病灶療效以及是否出現(xiàn)新病灶展父,研究人員評(píng)估出受試者在該時(shí)點(diǎn)的總體療效 (Time point response)返劲,綜合所有時(shí)間點(diǎn)療效進(jìn)而評(píng)估出最佳總體療效 (Best overall response, BOR)

這就是RECIST 1.1的整體脈絡(luò)栖茉,完整內(nèi)容參考臨床試驗(yàn)-腫瘤:RECIST 1.1 中文版 (v1.0)篮绿。

1.1 時(shí)間點(diǎn)療效 (Time point response)

在基線(xiàn)選定靶病灶與非靶病灶后,基線(xiàn)后各時(shí)點(diǎn)會(huì)基于靶病灶吕漂、非靶病灶以及新病灶的觀察結(jié)果亲配,評(píng)估腫瘤的時(shí)間點(diǎn)療效,評(píng)估規(guī)則如下:

時(shí)間點(diǎn)療效通常由現(xiàn)場(chǎng)研究人員以及獨(dú)立中心審查人員提供惶凝,不需要Sponsor單獨(dú)衍生吼虎。這一部分內(nèi)容通常會(huì)在SDTM RS中進(jìn)行處理,具體參考臨床試驗(yàn)-腫瘤:從RECIST 1.1出發(fā)梳理腫瘤相關(guān)SDTM數(shù)據(jù)集 (TU\TR\RS) 苍鲜。

1.2 最佳總體療效:所有時(shí)間點(diǎn) (Best overall response: all time points)

一旦獲取受試者所有時(shí)間點(diǎn)療效思灰,就可以綜合確定最佳總體療效。直觀地講混滔,最佳總體療效就是所有時(shí)點(diǎn)中療效最好的評(píng)估洒疚。

療效比較的優(yōu)先級(jí)如下:

CR > PR > SD > PD > NE

舉個(gè)例子歹颓,如果基線(xiàn)后4個(gè)時(shí)點(diǎn)療效為PR-SD-SD-PD,在療效不需要確認(rèn)的情況下拳亿,PR為最佳總體療效晴股。

在一些試驗(yàn)中,我們并不能通過(guò)簡(jiǎn)單比較時(shí)間點(diǎn)療效來(lái)獲取BOR肺魁。RECIST 1.1將BOR的獲取分為2類(lèi):一類(lèi)是CR和PR不需要確認(rèn)电湘,另一類(lèi)是CR和PR需要確認(rèn)。(RECIST 1.1, 4.4.4節(jié)

  1. Confirmation of complete or partial response IS NOT required
  2. Confirmation of complete or partial response IS required

如果療效不需要確認(rèn)鹅经,就可以直接選擇基線(xiàn)后最好的那一個(gè)時(shí)點(diǎn)療效作為BOR寂呛。如果需要確認(rèn),時(shí)點(diǎn)療效并不能直接用于BOR的確定瘾晃。

一般情況下贷痪,現(xiàn)場(chǎng)研究人員只會(huì)提供受試者的時(shí)間點(diǎn)療效,不會(huì)提供最佳總體療效蹦误,BOR需要單獨(dú)衍生劫拢。獨(dú)立中心審查人員,除了提供時(shí)間點(diǎn)療效外强胰,可能會(huì)提供BOR舱沧,這種情況下,不需要單獨(dú)衍生偶洋。通常熟吏,BOR的處理是在ADaM ADRS中進(jìn)行。

1.3 確認(rèn) (Confirmation)

RECIST 1.1 的 4.6.1節(jié)玄窝,提到腫瘤療效需要確認(rèn)的考量:在疾病緩解 (CR+PR) 作為主要終點(diǎn)的非隨機(jī)試驗(yàn)中牵寺,需要確認(rèn)CR和PR,以確保疾病緩解不是測(cè)量誤差的結(jié)果恩脂。除了CR和PR帽氓,原文中提及SD也需要確認(rèn)。

一些研究可能基于試驗(yàn)本身的考慮俩块,PD也需要確認(rèn)黎休,具體情況須參考Protocol與SAP的要求。這種情況下典阵,一般也會(huì)說(shuō)明療效評(píng)估是基于 “Modified RECIST 1.1”奋渔。在RECIST 1.1原文中,PD是不需要確認(rèn)的壮啊,如果發(fā)生PD嫉鲸,結(jié)合實(shí)際情況,可能會(huì)暫停既定的療效觀察歹啼,為受試者采用新的療法玄渗。

在一些免疫療法中座菠,腫瘤可能會(huì)出現(xiàn)假性進(jìn)展,直接按照RECIST 1.1標(biāo)準(zhǔn)判定為PD可能會(huì)錯(cuò)失后續(xù)比較好的療效藤树。這時(shí)會(huì)采用iRECIST標(biāo)準(zhǔn)浴滴,在滿(mǎn)足一定條件下,會(huì)對(duì)PD進(jìn)行跟蹤確認(rèn)岁钓。這篇文章的內(nèi)容是基于RECIST 1.1的升略,iRECIST 標(biāo)準(zhǔn)后續(xù)再做介紹。

1.4 如何確認(rèn)屡限?

1.4.1 CR與PR的確認(rèn)

CR與PR的確認(rèn)品嚣,需要后續(xù)時(shí)間點(diǎn)療效滿(mǎn)足一定的標(biāo)準(zhǔn),具體是需要達(dá)到一定的療效與時(shí)間要求钧大。(RECIST 1.1翰撑,4.4.2節(jié)

療效要求,后續(xù)時(shí)間點(diǎn)需要達(dá)到一定療效水平啊央,即:CR只能被后續(xù)的CR確認(rèn)眶诈;PR可以被后續(xù)的CR、PR確認(rèn)瓜饥。時(shí)間要求逝撬,前后兩個(gè)時(shí)間點(diǎn)的間隔通常要4周及以上。

1.4.2 SD的確認(rèn)

SD的確認(rèn)压固,雖然RECIST 1.1中描述的并不明確球拦,但它也需要滿(mǎn)足療效與時(shí)間的要求靠闭。

療效要求帐我,療效必須是SD及以上,即SD愧膀、PR拦键、CR;時(shí)間要求檩淋,自研究開(kāi)始后芬为,時(shí)間點(diǎn)療效必須滿(mǎn)足一個(gè)最小時(shí)限,即必須經(jīng)過(guò)一定時(shí)間之后蟀悦,療效才能被確認(rèn)為SD媚朦。這個(gè)時(shí)間通常不少于6-8周,不過(guò)具體還是要看試驗(yàn)本身分析的要求日戈。(RECIST 1.1询张,4.6.1節(jié)

1.4.3 “PD的確認(rèn)”

RECIST 1.1 并不要求對(duì)PD進(jìn)行確認(rèn),可以這樣理解浙炼,PD本身即可確認(rèn)PD份氧。如果試驗(yàn)要求PD需要確認(rèn)唯袄,處理與CR、PR確認(rèn)類(lèi)似蜗帜,這篇文章不再進(jìn)行單獨(dú)說(shuō)明恋拷。

1.4.4 無(wú)法確認(rèn),則為NE

如果一個(gè)療效不能被確認(rèn)為CR厅缺、PR蔬顾、SD、PD湘捎,那么其對(duì)應(yīng)的BOR為NE阎抒。

1.4.5 確認(rèn)結(jié)果的選擇

CR和PR需要隨后時(shí)點(diǎn)療效進(jìn)行確認(rèn),SD通過(guò)自身情況就可以進(jìn)行確認(rèn)消痛,這就可能出現(xiàn)有兩個(gè)確認(rèn)療效的情況且叁。BOR的確認(rèn)是尋找最優(yōu)療效的過(guò)程,如果時(shí)間點(diǎn)療效同時(shí)可以確認(rèn)為PR和SD秩伞,那么BOR會(huì)選擇較優(yōu)的那一個(gè)療效——PR逞带。

1.5 BOR確認(rèn)的分類(lèi)

在RECIST 1.1中,BOR的確認(rèn)分為兩類(lèi):

  • 第一類(lèi):相鄰時(shí)點(diǎn)療效的確認(rèn)纱新;
  • 第二類(lèi):非相鄰時(shí)點(diǎn)療效的確認(rèn)展氓。

1.5.1 相鄰時(shí)點(diǎn)療效的確認(rèn)

原文提供了一張表格,用于描述相鄰時(shí)間點(diǎn)療效的確認(rèn)(RECIST 1.1脸爱,4.4.3節(jié))遇汞。這張表格比較簡(jiǎn)略,也有一些不足簿废。表格默認(rèn)兩個(gè)相鄰時(shí)間點(diǎn)療效間隔是4周以上空入,并且也沒(méi)有涵蓋所有可能情況。

RECIST 1.1原文中的表格只是粗略的參考族檬,在實(shí)際項(xiàng)目中歪赢,SAP中一般會(huì)有比較全面的情況描述,實(shí)際編程需要參考項(xiàng)目的分析說(shuō)明单料。

以上表格描述了相鄰兩個(gè)時(shí)點(diǎn)療效的確認(rèn)情況埋凯,過(guò)程中可能會(huì)有多個(gè)確認(rèn)結(jié)果,BOR會(huì)選取較優(yōu)的那一個(gè)確認(rèn)療效扫尖。

對(duì)一個(gè)受試者來(lái)說(shuō)白对,只會(huì)有一個(gè)最佳總體療效,兩時(shí)點(diǎn)療效的確認(rèn)結(jié)果可以稱(chēng)之為臨時(shí)BOR (BOR_temp)换怖,最后會(huì)綜合所有時(shí)點(diǎn)的確認(rèn)療效甩恼,選取最優(yōu)的那一個(gè)作為BOR。當(dāng)前時(shí)點(diǎn)的BOR_temp,是結(jié)合當(dāng)前時(shí)點(diǎn)與上一時(shí)點(diǎn)的確認(rèn)療效媳拴,選取較優(yōu)的那一個(gè)結(jié)果黄橘。

對(duì)于基線(xiàn)后第一個(gè)時(shí)點(diǎn)療效,因其之前無(wú)相鄰療效屈溉,所以只能從自身確認(rèn)BOR_temp塞关,參考前面表格T2為"No further evaluations"的情況。換句話(huà)說(shuō)子巾,對(duì)于第一個(gè)時(shí)點(diǎn)療效帆赢,BOR_temp只能為SD、PD與NE线梗,因?yàn)橹皼](méi)有CR椰于、PR供第一時(shí)點(diǎn)進(jìn)行確認(rèn)。

接下來(lái)仪搔,我會(huì)詳細(xì)解說(shuō)一遍RECIST原文表格中的所有確認(rèn)情況瘾婿,希望能夠幫助讀者更進(jìn)一步理解相鄰療效BOR的確認(rèn)。

第1種情況烤咧,T1時(shí)點(diǎn)療效為CR偏陪,在滿(mǎn)足4周后的間隔條件下,T2時(shí)點(diǎn)的CR可以確認(rèn)T1時(shí)點(diǎn)的CR煮嫌,在這種情況下笛谦,T2時(shí)點(diǎn)的BOR為CR。

第2種情況昌阿,T1時(shí)點(diǎn)為CR饥脑,4周后的T2時(shí)點(diǎn)為PR,這種情況可能是Data Issue懦冰,需要重新檢查數(shù)據(jù)(受限于篇幅灶轰,具體緣由參考文末附錄)。這一點(diǎn)腳注a描述得很詳細(xì):

  • 如果在第一個(gè)時(shí)間點(diǎn)確實(shí)達(dá)到了CR儿奶,那么在隨后的時(shí)間點(diǎn)出現(xiàn)的任何病變框往,甚至是與基線(xiàn)相關(guān)的符合PR標(biāo)準(zhǔn)的病變鳄抒,都將使該病變?cè)谀莻€(gè)時(shí)間點(diǎn)出現(xiàn)PD(由于病變已經(jīng)在CR后再次出現(xiàn))闯捎。
  • 最佳療效取決于是否滿(mǎn)足SD的最小時(shí)限。
  • 然而许溅,當(dāng)隨后的掃描顯示小病變可能仍然存在瓤鼻,并且實(shí)際上患者在第一個(gè)時(shí)間點(diǎn)是PR,而不是CR時(shí)贤重,有時(shí)可能會(huì)聲稱(chēng)“CR”茬祷。在這種情況下,應(yīng)將原始CR更改為PR并蝗,最佳療效是PR祭犯。

具體解釋?zhuān)?/p>

  • T1時(shí)點(diǎn)實(shí)際上可能是PR秸妥,由于4周后的T2時(shí)點(diǎn)為PR,T2時(shí)點(diǎn)的PR可以確認(rèn)T1時(shí)點(diǎn)的PR沃粗,BOR為PR粥惧。
  • T2時(shí)點(diǎn)實(shí)際上可能是PD,PD本身可以確認(rèn)為PD最盅;T1時(shí)點(diǎn)為CR突雪,如果T1時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限,CR可以確認(rèn)為SD涡贱;CR又不能被隨后的PD確認(rèn)咏删,BOR為SD(SD>PD)。
  • T2時(shí)點(diǎn)實(shí)際上可能是PD问词,PD本身可以確認(rèn)為PD督函;T1時(shí)點(diǎn)為CR,如果T1時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限激挪,CR只能確認(rèn)為NE侨核;CR又不能被隨后的PD確認(rèn),BOR為PD(PD>NE)灌灾。

第3種情況搓译,T1時(shí)點(diǎn)為CR,4周后的T2時(shí)點(diǎn)為SD锋喜。這種情況與第2種情況類(lèi)似些己,可能是Data Issue,需要重新檢查數(shù)據(jù)(受限于篇幅嘿般,具體緣由參考文末附錄)段标,原文描述不太嚴(yán)謹(jǐn)。

具體解釋?zhuān)?/p>

  • T1時(shí)點(diǎn)實(shí)際上可能是PR炉奴,T2時(shí)點(diǎn)為SD逼庞。如果T1或T2時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限,BOR為SD瞻赶。
  • T1時(shí)點(diǎn)實(shí)際上可能是PR赛糟,T2時(shí)點(diǎn)為SD。如果T1或T2時(shí)點(diǎn)都滿(mǎn)足SD的最小時(shí)限砸逊,BOR為NE璧南。
  • T2時(shí)點(diǎn)實(shí)際上可能是PD,PD本身可以確認(rèn)為PD师逸;T1時(shí)點(diǎn)為CR司倚,如果T1時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限,CR只能確認(rèn)為NE;CR又不能被隨后的PD確認(rèn)动知,BOR為PD(PD>NE)皿伺。

第4種情況,T1時(shí)點(diǎn)為CR盒粮,4周后的T2時(shí)點(diǎn)為PD心傀,PD本身可以確認(rèn)為PD。如果T1時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限拆讯,CR只能確認(rèn)為NE脂男,則BOR為PD (PD>NE);如果T1時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限种呐,CR能確認(rèn)為SD宰翅,則BOR為SD (SD>PD)。

第5種情況爽室,T1時(shí)點(diǎn)為CR汁讼,4周后的T2時(shí)點(diǎn)為NE。如果T1時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限阔墩,CR只能確認(rèn)為NE嘿架,則BOR為NE;如果T1時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限啸箫,CR能確認(rèn)為SD耸彪,則BOR為SD (SD>NE)

第6種情況,T1時(shí)點(diǎn)為PR忘苛,4周后的T2時(shí)點(diǎn)為CR蝉娜,CR可以確認(rèn)為PR。如果T1或T2時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限扎唾,則可以確認(rèn)為SD召川,最后BOR為PR (PR>SD);如果T1或T2時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限胸遇,則可以確認(rèn)為NE荧呐,最后BOR為PR (PR>NE)。

第7種情況纸镊,T1時(shí)點(diǎn)為PR倍阐,4周后的T2時(shí)點(diǎn)為PR。同第6種情況

第8種情況薄腻,T1時(shí)點(diǎn)為PR收捣,4周后的T2時(shí)點(diǎn)為SD。原文描述不嚴(yán)謹(jǐn)庵楷。如果T1或T2時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限,BOR為SD;如果T1或T2時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限尽纽,BOR為NE咐蚯。

第9種情況,T1時(shí)點(diǎn)為PR弄贿,4周后的T2時(shí)點(diǎn)為PD春锋。參考第1種情況的第2個(gè)解釋。

第10種情況差凹,T1時(shí)點(diǎn)為PR期奔,4周后的T2時(shí)點(diǎn)為NE。如果T1時(shí)點(diǎn)滿(mǎn)足SD的最小時(shí)限危尿,則可以確認(rèn)為SD呐萌,最后BOR為SD (SD>NE);如果T1時(shí)點(diǎn)不滿(mǎn)足SD的最小時(shí)限谊娇,則可以確認(rèn)為NE肺孤,最后BOR為NE。

第11種情況济欢,T1時(shí)點(diǎn)為NE赠堵,4周后的T2時(shí)點(diǎn)為NE,顯然BOR為NE法褥。

1.5.2 非相鄰時(shí)點(diǎn)療效的確認(rèn)

關(guān)于非相鄰時(shí)點(diǎn)療效確認(rèn)的描述茫叭,原文提及并不多,4.4.4節(jié)有這樣的描述:

在需要確認(rèn)緩解的試驗(yàn)中半等,重復(fù)的“NE”時(shí)間點(diǎn)評(píng)估可能會(huì)使最佳療效的確認(rèn)復(fù)雜化杂靶。試驗(yàn)分析計(jì)劃必須解決,在確定緩解和進(jìn)展時(shí)酱鸭,如何處理缺失的數(shù)據(jù)/評(píng)估吗垮。例如,在大多數(shù)試驗(yàn)中凹髓,將具有時(shí)間點(diǎn)療效PR-NE-PR的患者視為確認(rèn)緩解是合理的烁登。

一般情況下,中間夾雜的蔚舀、不限數(shù)目的NE不影響CR和PR的確認(rèn)饵沧。例如,以下情況赌躺,CR和PR都將得到確認(rèn):

  • CR-NE-CR
  • CR-NE-NE-CR
  • PR-NE-PR/CR
  • PR-NE-NE-PR/CR

原文附錄三常見(jiàn)問(wèn)題中狼牺,提到了PR-SD-PR確認(rèn)的情況:

  • Q:患者靶病灶直徑總和在周期2減少 32% (PR),在周期4減少 28% (SD)礼患,在周期6減少 33% (PR)是钥。PR的確認(rèn)是否必須發(fā)生在接下來(lái)的時(shí)點(diǎn)掠归,或者這種情況是否是PR確認(rèn)?
  • A: 腫瘤縮小徘徊在30%左右的情況并不少見(jiàn)悄泥。在這種情況下虏冻,從整個(gè)案例來(lái)看,大多數(shù)人會(huì)認(rèn)為弹囚,PR 已經(jīng)得到確認(rèn)厨相。如果在兩個(gè)PR療效之間有兩到三個(gè)非PR的觀察結(jié)果,最保守的方法就是考慮這種情況為SD鸥鹉。

雖然原文談到PR-SD-PR這種情況可以確認(rèn)PR蛮穿,但最終還是以項(xiàng)目中明確的說(shuō)明規(guī)定為準(zhǔn)。

關(guān)于非相鄰時(shí)點(diǎn)療效的確認(rèn)毁渗,還有一種類(lèi)型:

  • PR-PR-PR/CR
  • CR-CR-CR

當(dāng)連續(xù)兩個(gè)PR践磅,但第2個(gè)PR距第1個(gè)PR的間隔沒(méi)有超過(guò)28天,這種情況下不能確認(rèn)PR祝蝠。但是如果第3個(gè)療效為PR或CR音诈,這時(shí)候一些項(xiàng)目會(huì)規(guī)定第一個(gè)PR會(huì)得到第3個(gè)PR的確認(rèn)。

CR的邏輯同理绎狭,具體情況以項(xiàng)目要求為準(zhǔn)细溅。

2. 腫瘤BOR確認(rèn)的練習(xí)

我自己Dummy了十幾個(gè)例子,可供讀者進(jìn)行BOR確認(rèn)的練習(xí)儡嘶。

練習(xí)分為兩塊喇聊,第一個(gè)是只考慮相鄰療效時(shí)點(diǎn)情況下BOR的確認(rèn)(ADRS_1),第二個(gè)是同時(shí)考慮相鄰時(shí)點(diǎn)以及非相鄰時(shí)點(diǎn)療效的確認(rèn)(ADRS_2)蹦狂。練習(xí)的答案在ADRS_1_ANADRS_2_AN頁(yè)中誓篱,如果對(duì)答案存疑可參考BOR_PER_RECIST_1.1的內(nèi)容。

在能夠非常熟練地人工判定BOR后凯楔,讀者可以自行將RawData RS導(dǎo)入SAS中窜骄,利用程序?qū)崿F(xiàn)BOR的確認(rèn),并比較程序輸出結(jié)果與人工判定結(jié)果是否一致摆屯。

接下來(lái)邻遏,演示一下如何進(jìn)行練習(xí)。

2.1 相鄰時(shí)點(diǎn)療效的確認(rèn)

ADRS_1頁(yè)的左上角有相關(guān)確認(rèn)要求虐骑,其中最重要的兩點(diǎn)是准验,1)SD的最小時(shí)限為35;2)CR與PR確認(rèn)時(shí)廷没,后續(xù)時(shí)點(diǎn)的時(shí)間間隔必須≥28天糊饱。

這里需要說(shuō)明,關(guān)于與C1D1的間隔颠黎,練習(xí)使用的是ADY另锋,也就是T1-RFSDTC+1的取值滞项。不同項(xiàng)目要求可能不同,有的使用T1-RFSTDTC砰蠢,有的使用基線(xiàn)最晚的TR檢測(cè)值作為被減數(shù)蓖扑,具體要看項(xiàng)目要求唉铜。兩相鄰時(shí)點(diǎn)確認(rèn)的最小時(shí)間間隔台舱,也要看具體項(xiàng)目要求。

受試者001

基線(xiàn)后T1時(shí)點(diǎn)為PR潭流,ADY=38超過(guò)SD最小時(shí)限竞惋,可以確認(rèn)BOR_temp為SD。由于T1時(shí)點(diǎn)無(wú)相鄰時(shí)點(diǎn)療效灰嫉,BOR_temp為SD拆宛。

T2時(shí)點(diǎn)為PR,ADY=85超過(guò)SD最小時(shí)限讼撒,可以確認(rèn)BOR_temp為SD浑厚;T2-T1=47≥28, T2時(shí)點(diǎn)的PR可以確認(rèn)T1時(shí)點(diǎn)的PR根盒,BOR_temp為PR钳幅;最后BOR_temp取較優(yōu)的療效——PR。

T3時(shí)點(diǎn)為SD炎滞,ADY=123超過(guò)SD最小時(shí)限敢艰,可以確認(rèn)BOR_temp為SD;T2時(shí)點(diǎn)為PR册赛,ADY=85超過(guò)SD最小時(shí)限钠导,可以確認(rèn)BOR_temp為SD;T3時(shí)點(diǎn)SD不能確認(rèn)T2時(shí)點(diǎn)PR森瘪,最后BOR_temp為SD牡属。

T4時(shí)點(diǎn)為PD,直接確認(rèn)BOR_temp為PD扼睬;T3時(shí)點(diǎn)為SD逮栅,ADY=123超過(guò)SD最小時(shí)限,可以確認(rèn)BOR_temp為SD痰驱;最終证芭,BOR_temp為SD。

在獲取到每個(gè)時(shí)點(diǎn)的BOR_temp值后担映,最優(yōu)的那一個(gè)療效就是受試者的BOR废士,即PR。對(duì)于受試者來(lái)講蝇完,只會(huì)有一條最佳總體療效記錄官硝。但是矗蕊,不同公司對(duì)BOR的處理可能不同。我公司當(dāng)前做法是會(huì)為每個(gè)時(shí)點(diǎn)做一條BOR記錄氢架,即截至當(dāng)前時(shí)點(diǎn)的最佳總體療效傻咖。

以受試者001為例隶糕,截止到T1時(shí)點(diǎn)奕扣,BOR為SD;截止到T2時(shí)點(diǎn)待诅,BOR為PR孙援;截止到T3時(shí)點(diǎn)害淤,BOR為PR;截止到T4時(shí)點(diǎn)拓售,BOR為PR窥摄。

受試者012

基線(xiàn)后T1時(shí)點(diǎn)為CR,ADY=30沒(méi)有超過(guò)SD最小時(shí)限础淤,無(wú)法確認(rèn)BOR_temp為SD崭放,BOR_temp為NE。由于T1時(shí)點(diǎn)無(wú)相鄰時(shí)點(diǎn)療效鸽凶,BOR_temp為NE币砂。

基線(xiàn)后T2時(shí)點(diǎn)為CR,ADY=56超過(guò)SD最小時(shí)限吱瘩,可以確認(rèn)BOR_temp為SD道伟;由于T2-T1=26<28,T2時(shí)點(diǎn)的CR不能確認(rèn)T1時(shí)點(diǎn)的CR使碾;最后蜜徽,BOR_temp為SD。

基線(xiàn)后T3時(shí)點(diǎn)為CR票摇,ADY=83超過(guò)SD最小時(shí)限拘鞋,可以確認(rèn)BOR_temp為SD;由于T3-T2=27<28矢门,T3時(shí)點(diǎn)的CR不能確認(rèn)T2時(shí)點(diǎn)的CR盆色;最后,BOR_temp為SD祟剔。

基線(xiàn)后T4時(shí)點(diǎn)為CR隔躲,ADY=110超過(guò)SD最小時(shí)限,可以確認(rèn)BOR_temp為SD物延;由于T4-T3=27<28宣旱,T4時(shí)點(diǎn)的CR不能確認(rèn)T3時(shí)點(diǎn)的CR;最后叛薯,BOR_temp為SD浑吟。

最后笙纤,各時(shí)點(diǎn)BOR如下:

2.2 相鄰時(shí)點(diǎn)以及非相鄰時(shí)點(diǎn)療效的確認(rèn)

在考慮非相鄰時(shí)點(diǎn)療效確認(rèn)的情況下,BOR的確認(rèn)就會(huì)復(fù)雜一些组力。非相鄰時(shí)點(diǎn)療效的規(guī)則省容,在頂部右側(cè)有說(shuō)明。練習(xí)中燎字,兩PR療效間出現(xiàn)不限量NE與SD腥椒,認(rèn)為第一個(gè)PR得到確認(rèn)。在3個(gè)連續(xù)CR的情況下轩触,如果T2-T1<28寞酿,但T3-T1≥28家夺,規(guī)定第3個(gè)CR可以確認(rèn)第一個(gè)CR脱柱。PR情況,同理拉馋。

練習(xí)2中的BOR_temp1列代表相鄰時(shí)點(diǎn)療效確認(rèn)的情況榨为,BOR_temp2列代表非相鄰療效確認(rèn)為CR的情況,BOR_temp3列代表非相鄰療效確認(rèn)為PR的情況煌茴。BOR_temp列會(huì)取前3列中最優(yōu)的療效随闺。

受試者006

T4時(shí)點(diǎn)與T2時(shí)點(diǎn)相距39+31=70>28,所有T4時(shí)點(diǎn)PR可以確認(rèn)T2時(shí)點(diǎn)PR蔓腐,這時(shí)T4時(shí)點(diǎn)的BOR_temp3為PR矩乐、BOR_temp為PR。

具體結(jié)果如下:

受試者007

T4時(shí)點(diǎn)與T1時(shí)點(diǎn)相距165-38=127>28回论,所有T4時(shí)點(diǎn)CR可以確認(rèn)T1時(shí)點(diǎn)CR散罕,這時(shí)T4時(shí)點(diǎn)的BOR_temp2為CR、BOR_temp為CR傀蓉。

具體結(jié)果如下:

3. SAS程序?qū)崿F(xiàn)

這里提供一下我SAS處理BOR確認(rèn)的程序欧漱,程序基于相鄰時(shí)點(diǎn)療效與非相鄰時(shí)點(diǎn)療效的確認(rèn)分為兩部分。非相鄰時(shí)點(diǎn)療效的確認(rèn)葬燎,包含CR與PR的確認(rèn)误甚。

相鄰時(shí)點(diǎn)療效的確認(rèn),需要遍歷項(xiàng)目中所有可能的情況組合谱净,如1.5.1節(jié)圖2窑邦。非相鄰時(shí)點(diǎn)療效的確認(rèn),主要考慮首次CR或PR的時(shí)點(diǎn)如何Retain以及時(shí)間連續(xù)性的判斷壕探。

程序輸出結(jié)果可以與人工判定結(jié)果相互驗(yàn)證冈钦。

程序細(xì)節(jié)不再介紹,若有疑問(wèn)浩蓉,歡迎留言討論:

***1. Get Data from RS;
proc import datafile = "E:\999_test\Examples_BOR_Confirmation v1.1.xlsx"
    out = rs dbms = xlsx replace;
    sheet = "RS";
    getnames = yes;
run;



***2. Derive BOR_temp;

**2.1 Create format for response;
proc format;
    value resp
        1 = "CR"
        2 = "PR"
        3 = "SD"
        4 = "PD"
        5 = "NE"
        . = " "
    ;

    invalue respn
        "CR" = 1
        "PR" = 2
        "SD" = 3
        "PD" = 4
        "NE" = 5
    ;
run;


**2.2 Variables for analysis;
data adrs1;
    set rs;
    length paramcd $8;
    paramcd = rstestcd;
    visitnum = time_point;
    ady = rsdy;
    avalc = rsstresc;
    aval = input (avalc, respn.);

    proc sort;
        by usubjid ady;
run;


**2.3 Neighboring & Non-neighboring response confirmation;
data adrs;
    set adrs1;
    by usubjid;

    *Pre RESP;
    avalc_lag = lag(avalc);
    aval_lag = lag(aval);
    ady_lag = lag(ady);

    retain ady_cr ord_cr ady_pr ord_pr born;

    *For first record;
    if first.usubjid then do;

        *No lag record for first record;
        call missing(avalc_lag, aval_lag, ady_lag);

        *First bor_temp;
        if avalc in ("CR" "PR" "SD") then do;
            if ady>=35 then born_temp1=3;
            else born_temp1 = 5;
        end;
        else if avalc = "PD" then born_temp1 = 4;
        else if avalc = "NE" then born_temp1= 5;

        *Get bor for first record;
        born = born_temp1;

        *First CR ady and ord for comfirmation continuity ;
        if aval = 1 then do;
            ady_cr = ady;
            ord_cr = 1;
        end;
        else do;
            ady_cr = .;
            ord_cr = .;
        end;

        *First PR ady and ord for comfirmation continuity ;
        if aval = 2 then do;
            ady_pr = ady;
            ord_pr = 1;
        end;
        else do;
            ady_pr = .;
            ord_pr = .;
        end;
    end;

    *For non-first records;
    else do;

        *For Non-neighboring CR confirmation (ignore NE, CR);
        if avalc not in ("NE" "CR") then do;
            ady_cr = .;
            ord_cr = .;
        end;
        else if ady_cr ne . then ord_cr = ord_cr + 1;

        if avalc = "CR"  and ady_cr = . then do;
            ady_cr = ady;
            ord_cr = 1;
        end;

        if avalc = "CR" and ady_cr ne . then do;
            if ady -ady_cr >=28 and ord_cr >2 then born_temp2 = 1;  /*ord_cr >2 --> Non-neighboring*/
        end;

        *For Non-neighboring  PR confirmation (ignore NE, SD, PR, CR);
        if avalc not in ("SD" "NE" "PR" "CR") then do;
            ady_pr = .;
            ord_pr = .;
        end;
        else if ady_pr ne . then ord_pr = ord_pr + 1;

        if avalc = "PR" and ady_pr = . then do;
            ady_pr = ady;
            ord_pr = 1;
        end;

        if avalc in ("CR" "PR") and ady_pr ne . then do;
            if ady - ady_pr >=28 and ord_pr >2 then born_temp3 = 2; /*ord_pr >2 --> Non-neighboring*/
        end;

        *avalc_lag="CR";
        if avalc_lag="CR" and ady_lag>=35 then do;

            if avalc="CR" then do;
                if ady-ady_lag>=28 then born_temp1 = 1;
                else born_temp1 = 3;
            end;

            else if avalc in ("PR" "SD") then do;
                born_temp1 = 0;
                put "War" "ning: need to query data";
            end;

            else if avalc in ("PD" "NE" "") then born_temp1 = 3;
        end;

        else if avalc_lag="CR" and ady_lag<35 then do;

            if avalc="CR" then do;
                if ady-ady_lag>=28 then born_temp1=1;
                else if ady-ady_lag<28 and ady>=35 then born_temp1=3;
                else if ady-ady_lag<28 and ady<35 then born_temp1=5; 
            end;

            else if avalc in ("PR" "SD") then do;
                born_temp1 = 0;
                put "War" "ning: need to query data";
            end;

            else if avalc = "PD" then born_temp1=4;

            else if avalc in ("NE" "") then born_temp1=5;
        end;

        *avalc_lag="PR";
        if avalc_lag="PR" and ady_lag>=35 then do;
            if avalc in ("CR" "PR") then do;
                if ady-ady_lag>=28 then born_temp1 = 2;
                else born_temp1 = 3;
            end;

            else if avalc in ("SD" "PD" "NE" "") then born_temp1 = 3;
        end;

        if avalc_lag="PR" and ady_lag<35 then do;
            if avalc in ("CR" "PR") then do;
                if ady-ady_lag>=28 then born_temp1=2;
                else if ady-ady_lag<28 and ady>=35 then born_temp1=3;
                else if ady-ady_lag<28 and ady<35 then born_temp1=5; 
            end;

            else if avalc="SD" then do;
                if ady>=35 then born_temp1=3;
                else born_temp1 = 5;
            end;

            else if avalc = "PD" then born_temp1=4;

            else if avalc in ("NE" "") then born_temp1=5;
        end;

        *avalc_lag="SD";
        if avalc_lag="SD" and ady_lag>=35 then born_temp1=3;

        if avalc_lag="SD" and ady_lag<35 then do;
            if avalc in ("CR" "PR" "SD") then do;
                if ady>=35 then born_temp1 = 3;
                else born_temp1 = 5;
            end;

            else if avalc = "PD" then born_temp1=4;

            else if avalc in ("NE" "") then born_temp1=5;
        end;

        *avalc_lag="PD";
        if avalc_lag="PD" then born_temp1 = 4;

        *avalc_lag="NE";
        if avalc_lag = "NE" then do;
            if avalc in ("CR" "PR" "SD") then do;
                if ady>=35 then born_temp1 = 3;
                else born_temp1 = 5;
            end;

            else if avalc = "PD" then born_temp1=4;

            else if avalc in ("NE" "") then born_temp1=5;
        end;
    end;

    *born for or non-first records;
    if born > min(born_temp1, born_temp2, born_temp3) then born = min(born_temp1, born_temp2, born_temp3);

    bor_temp1 = put(born_temp1, resp.);
    bor_temp2 = put(born_temp2, resp.);
    bor_temp3 = put(born_temp3, resp.);
    bor = put(born, resp.);

    keep usubjid paramcd visitnum born_temp1 bor_temp1 born_temp2 bor_temp2 born_temp3 bor_temp3 born bor aval avalc ady ord_cr ord_pr;
run;

附錄

關(guān)于T1時(shí)間點(diǎn)療效為CR派继,T2時(shí)間點(diǎn)療效為PR或SD時(shí)宾袜,Data Issue情況說(shuō)明。RECIST 1.1原文中驾窟,對(duì)于T1時(shí)點(diǎn)為CR庆猫、T2時(shí)點(diǎn)為PR的情況,有腳注進(jìn)行說(shuō)明绅络。不止CR-PR情況需要說(shuō)明月培,CR-SD情況也是需要解釋說(shuō)明,這里我結(jié)合時(shí)間點(diǎn)療效的判定詳細(xì)解釋一下Data Issue的緣由恩急。

腳注a

  • 如果在第一個(gè)時(shí)間點(diǎn)確實(shí)達(dá)到了CR杉畜,那么在隨后的時(shí)間點(diǎn)出現(xiàn)的任何病變,甚至是與基線(xiàn)相關(guān)的符合PR標(biāo)準(zhǔn)的病變衷恭,都將使該病變?cè)谀莻€(gè)時(shí)間點(diǎn)出現(xiàn)PD(由于病變已經(jīng)在CR后再次出現(xiàn))此叠。
  • 最佳療效取決于是否滿(mǎn)足SD的最小時(shí)限。
  • 然而随珠,當(dāng)隨后的掃描顯示小病變可能仍然存在灭袁,并且實(shí)際上患者在第一個(gè)時(shí)間點(diǎn)是PR,而不是CR時(shí)窗看,有時(shí)可能會(huì)聲稱(chēng)“CR”茸歧。在這種情況下,應(yīng)將原始CR更改為PR显沈,最佳療效是PR软瞎。

腳注a的理解需要結(jié)合RECIST原文中時(shí)間點(diǎn)療效的判定:

CR-PR情況

如果T1時(shí)間點(diǎn)療效為CR,那么只能是靶病灶評(píng)估為CR拉讯、非靶病灶評(píng)估為CR涤浇、沒(méi)有新病灶的出現(xiàn),即病灶全部消失遂唧。而T2時(shí)間點(diǎn)為PR芙代,對(duì)應(yīng)3種可能的情況。

  • 第一種情況盖彭,靶病灶評(píng)估為CR纹烹,非靶病灶評(píng)估為Non-CR/non-PD,無(wú)新病灶出現(xiàn)召边。但是铺呵,T1時(shí)點(diǎn)非靶病灶評(píng)估為CR,說(shuō)明非靶病灶全部消失隧熙;T2時(shí)點(diǎn)非靶病灶評(píng)估為Non-CR/non-PD片挂,即非靶病灶沒(méi)有全部消失。于是,T2與T1相比音念,出現(xiàn)了新病灶沪饺。評(píng)估出現(xiàn)矛盾。
  • 第二種情況闷愤,靶病灶評(píng)估為CR整葡,非靶病灶評(píng)估為Not evaluated,無(wú)新病灶出現(xiàn)讥脐。這種情況可能出現(xiàn)遭居。
  • 第三種情況,靶病灶評(píng)估為PR旬渠,非靶病灶評(píng)估為Non-PD or not all evaluated俱萍,無(wú)新病灶出現(xiàn)。同第一種情況告丢,T1時(shí)點(diǎn)靶病灶評(píng)估為CR枪蘑,說(shuō)明靶病灶全部消失;T2時(shí)點(diǎn)靶病灶評(píng)估為PR芋齿,說(shuō)明靶病灶沒(méi)有全部消失腥寇。于是,T2與T1相比觅捆,出現(xiàn)了新病灶。評(píng)估出現(xiàn)矛盾麻敌。

CR-SD情況

如果T1時(shí)間點(diǎn)療效為CR栅炒,那么只能是靶病灶評(píng)估為CR、非靶病灶評(píng)估為CR术羔、沒(méi)有新病灶的出現(xiàn)赢赊,即病灶全部消失。而T2時(shí)間點(diǎn)為SD级历,對(duì)應(yīng)1種可能的情況释移。

  • 靶病灶評(píng)估為SD,非靶病灶為Non-PD or not all evaluated寥殖,無(wú)新病灶出現(xiàn)玩讳。T1時(shí)點(diǎn)被病灶評(píng)估為CR,T2時(shí)點(diǎn)靶病灶評(píng)估為SD嚼贡,T2與T1相比熏纯,出現(xiàn)了新病灶。評(píng)估出現(xiàn)矛盾粤策。

這就是通常CR-PR/SD出現(xiàn)后樟澜,需要Query Data的原因。

感謝閱讀, 歡迎關(guān)注:SAS茶談秩贰!
若有疑問(wèn)霹俺,歡迎評(píng)論交流!

梳理不易毒费,轉(zhuǎn)載請(qǐng)注明出處 (by Jihai / SAS茶談)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吭服,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蝗罗,更是在濱河造成了極大的恐慌艇棕,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件串塑,死亡現(xiàn)場(chǎng)離奇詭異沼琉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)桩匪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)打瘪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人傻昙,你說(shuō)我怎么就攤上這事闺骚。” “怎么了妆档?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵僻爽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我贾惦,道長(zhǎng)胸梆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任须板,我火速辦了婚禮碰镜,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘习瑰。我一直安慰自己绪颖,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布甜奄。 她就那樣靜靜地躺著柠横,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贺嫂。 梳的紋絲不亂的頭發(fā)上滓鸠,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音第喳,去河邊找鬼糜俗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的悠抹。 我是一名探鬼主播珠月,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼楔敌!你這毒婦竟也來(lái)了啤挎?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤卵凑,失蹤者是張志新(化名)和其女友劉穎庆聘,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體勺卢,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡伙判,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了黑忱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宴抚。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖甫煞,靈堂內(nèi)的尸體忽然破棺而出菇曲,到底是詐尸還是另有隱情,我是刑警寧澤抚吠,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布常潮,位于F島的核電站,受9級(jí)特大地震影響埃跷,放射性物質(zhì)發(fā)生泄漏蕊玷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一弥雹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧延届,春花似錦剪勿、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至械念,卻和暖如春头朱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背龄减。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工项钮, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓烁巫,卻偏偏與公主長(zhǎng)得像署隘,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子亚隙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容