在疾病緩解 (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é))
- Confirmation of complete or partial response IS NOT required
- 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_AN與ADRS_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茶談)