關(guān)于SDTM編程的一些想法(2) -- CO

前面的篇文章關(guān)于SDTM編程的一些想法(1) --Trial Design、DM開了個頭,開始介紹SDTM數(shù)據(jù)集的編程思路,內(nèi)容涉及了Trial Design、Special Purpose中的DM。這篇文章介紹Special Purpose中的CO數(shù)據(jù)集的編程注意點。

關(guān)于CO數(shù)據(jù)集的內(nèi)容,臨床試驗CRF中Form介紹23:Comments(CO)數(shù)據(jù)集相關(guān)介紹了CO數(shù)據(jù)集收集的信息、信息來源以及一些變量。CO數(shù)據(jù)集的注釋來源主要有兩塊:

  1. 在CRF中,與其他SDTM數(shù)據(jù)集信息一起收集的注釋;
  2. 在CRF中,單獨的頁面,收集的注釋。

COVAL

CO數(shù)據(jù)集中的Topic變量為COVAL,記錄注釋的信息,這個變量在記錄中不能為空。當注釋文本超過200 個字符時,注釋的前200 個字符將位于COVAL 中,然后COVAL1 中,存儲接下來的200 個字符,類似延伸到COVALn。對于COVA變量長度過長的情況,各公司一般都有相應的宏進行處理,也可以進行手動編程。這里有一個注意點,就是第200個字符處如果單詞截斷如何處理。一般完善的宏都會考慮這種情況,將截斷的單詞放到下一個COVALn變量中;手動編程處理時,兩種處理方式的案例都遇到過。下面分享一下,手動編程處理的代碼:

***考慮不考慮單詞截斷;
data co;
  set co_;
  length coval coval1-coval4  $200;
  if length(coval_) >200 then do;
    put "The length of COVAL is  greater than 200!";
    coval = substr(coval_,1,200);
    coval1 = substr(coval_,201,200);
    coval2 = substr(coval_,401,200);
    coval3 = substr(coval_,601,200);
    coval4 = substr(coval_,801,200);
  end;
  else coval = coval_;
run;



Rdomain

Rdomain,關(guān)聯(lián)域名的縮寫,對于與其他SDTM數(shù)據(jù)集信息一起收集的注釋記錄,填寫對應的域名;對于單獨的頁面,收集的注釋,Rdomain變量為空。

IDVAR 和 IDVARVAL

CO編程另一個需要注意的是IDVAR(標識變量) 和IDVARVAL(標識變量值)。對于CRF中單獨頁面收集的注釋,與其他SDTM域沒有關(guān)聯(lián),這兩個變量值為空,沒有什么需要注意的地方。

對于與其他SDTM數(shù)據(jù)集信息一起收集的注釋,這兩個是用來表示CO數(shù)據(jù)集記錄與其他數(shù)據(jù)集記錄之間的聯(lián)系的,需要有值。通常IDVAR的值為“--SEQ”、“--GRPID”,IDVARVAL的值為與注釋相關(guān)聯(lián)的其他SDTM數(shù)據(jù)集記錄的--SEQ的變量值。為獲取IDVARVAL的值,需要讓CO數(shù)據(jù)集與相關(guān)聯(lián)的數(shù)據(jù)集進行拼接,而拼接需要考慮的是關(guān)鍵變量的選取。

拼接的關(guān)鍵變量我們通常選用USUBJID、COSPID(--SPID)。相關(guān)聯(lián)的記錄對應的受試者(USUBJID)肯定是一個人,所以USUBJID為關(guān)鍵變量。而注釋信息與其他數(shù)據(jù)集相關(guān)聯(lián)的信息是一起收集的,而--SPID通常由收集的Folder、Form信息生成,所以對于兩個相關(guān)聯(lián)的記錄的--SPID變量值是相同的,--SPID可以作為關(guān)鍵變量。

除了這兩個變量,拼接時可能需要新增關(guān)鍵變量。這是由于原始數(shù)據(jù)集一條記錄會生成多條SDTM數(shù)據(jù)集記錄,這些記錄的--SPID變量值可能相同,所以需要新增關(guān)鍵變量進行區(qū)分,從而準確定位CO數(shù)據(jù)集記錄與其他數(shù)據(jù)集記錄的關(guān)聯(lián)關(guān)系。下面我給出一個拼接代碼的示例:

proc sql noprint;
  create table co_ie as
    select a.*, strip(put(ieseq,best.)) as idvarval length = 40
    from co as a left join sdtm.ie as b
      on a.usubjid = b.usubjid and a.cospid = b.iespid;
quit;

以上就是SDTM CO數(shù)據(jù)集編程的一些注意點,若有疑問,歡迎評論區(qū)討論。接下來會持續(xù)介紹其他數(shù)據(jù)集。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容