不知道為什么,這兩天好幾個關注我的,難道是因為我寫的那篇《要不要換工作》?但是我是一個SAS程序員作者,重心還是講SAS和臨床知識的,雖然我更喜歡寫那些閑聊文章。
廢話不多說,今天我們就來講一下DM domain,DM跟SE,SV,我覺得可以算是所有domain里的大哥或者父親,其他的domain相當于小弟和兒子。而且開始寫SDTM,一般就是先寫DM,SV,SE,因為其他domain需要用到DM中的rfstdtc,進行XXdy變量的判斷;也需要SV里面的visit和visitnum;epoch變量也需要SE來進行判斷。
DM?domain記錄的一般就是你的身份信息,包括性別,年齡,民族,種族,國家,試驗分組等等,有點查戶口的意思。
寫DM domain有一個很重要的原則就是你最終輸出的DM數(shù)據(jù)集,一個受試者只有一條記錄。
如果你最終輸出的數(shù)據(jù)集發(fā)現(xiàn)一個人有多條數(shù)據(jù),要么是你在數(shù)據(jù)集進行拼接的時候出現(xiàn)多對多,要么是某一數(shù)據(jù)集沒有nodupkey,尤其是新手很容易出現(xiàn)這種錯誤。
這里介紹DM中最重要的幾個變量:
①:RFSTDTC:受試者參照開始日期/時間
它們講的太抽象,聽我的,就是等于第一次給藥日期,也就是你進行什么藥的臨床試驗,一般就是這個藥第一次注射或者吃下去的時間。
求這個變量,一般會有專門的一個raw.ec數(shù)據(jù)集(SDTMIG上是沒有的,它又不是一個域,只是一個源數(shù)據(jù)集)收集給藥的時間,一般會具體到小時分鐘。而且會有多次給藥,總不可能進行試驗的時候只吃一次吧。會分好多天,好幾個周期的,所以你就得求出最早的吃藥時間。
方法嘛你可以用data步,先根據(jù)受試者,給藥時間排序,然后用if?first.subjid來求出最早給藥日期,在這個過程中,拼接數(shù)據(jù)集就可能出現(xiàn)多對多,所以得耐心一點。
也可以用proc步,min(ecstdat)求出,因為沒有數(shù)據(jù)集,就不寫程序了,只講思路方法。
這里順便講一下這個變量,記得當初一開始學SDTM,RFSTDTC和RFXSTDTC?感覺長得一樣,后面就比前面多了一個“X”,經(jīng)常不理解,項目做多了,就理解了。看我紅框的部分,RFXSTDTC?是試驗方案指定的,但是一般來說也等于最早的給藥日期。
②:arm、armcd、actarm、actarmcd
這個arm初學很抽象,怎么“手臂”也用上了,還來個“實際手臂”,實際上這個arm是“分組”的意思:
也就是,比如你進行臨床試驗,一般都會分好幾個組別,例如0.05mg/kg,0.1mg/kg,0.25mg/kg...這些劑量組就是對應的arm,可能你對0.05mg/kg的劑量組設置為armcd="S1";對0.1mg/kg的劑量組設置為armcd="S2"....,armcd就相當于一個編碼,把對應的組別用一個代號代表。
那actarm呢?我自己的理解就是arm,armcd是按照試驗方案計劃分配的組別,如果出現(xiàn)了特殊情況(我不知道會有什么特殊情況),進行劑量調整,那么這個就是實際分組。但實際上我看項目中他們的值一般都相等,可能沒有啥特殊情況。
就講這么多吧,還沒吃飯呢!給自己煮了一碗面條。一下班回來就寫這個,現(xiàn)在項目差不多都完成了,今天突然沒事做感覺有點不習慣,于是向領導申請有啥活干(要不然又說工時寫少了)。但是感覺還是不夠飽和,讓我猝死吧!
我很好奇有多少人習慣給別人發(fā)消息的時候問“在嗎”(雖然圖中沒有),我想說你有事的話直接把事情說出來,要是你給朋友發(fā)一個“在嗎”又不講什么事,朋友還以為你向他借錢呢?他回還是不回?。坎还苁枪ぷ鬟€是生活,我給別人發(fā)消息都是稱呼加上問題,有事說事,簡潔明了。
還是那句話,想加我私人聯(lián)系方式的,自己翻看我以前的文章,有幾次發(fā)布了。以前(大學畢業(yè)前)我會很開心別人加我,也很樂意幫別人解答問題。但是現(xiàn)在多一事不如少一事,你又不給我發(fā)錢又不跟我談戀愛或者騙我錢(我也沒錢可騙),加我干嘛?我還得花時間回復你問題,憑啥子?有問題在簡書下面評論啊,我都會把文章同步到簡書的。阿里嘎多