这篇文章介绍SE的编程思路。
受试者元素数据集(SE)综合了每一受试者在试验过程中的时段(EPOCH)和元素(ELEMENT)信息。临床试验的时段(EPOCH)是根据具体的试验设计进行划分,例如,简单的随机对照试验,时段(EPOCH)一般分为3部分,Screening、Treatment、Follow-up。每个时段(EPOCH)中都有不同的元素(ELEMENT)活动,具体可能是筛选、某项治疗、随访、洗脱等。元素(ELEMENT)之间没有间隔,一个元素的结束意味着另一个元素的开始。
临床试验中所有的元素信息都会保存在试验元素(TE)数据集中,在TE数据集中,一个元素只会出现一次。临床试验中受试者的分组是由有序排列的元素序列构成,元素代表了临床试验中具有特定目的的一个时间段。受试者分配到某一分组,意味着将会经历特定的系列元素活动。试验分组(TA)数据集保存了试验中每个分组具体的元素和时段信息。
在我理解中,SE的编程本质是对受试者所经历的各时段(EPOCH)中的各元素(ELEMENT)的划分,具体讲,就是找出各个元素之间的“分割点”,即各元素的开始时间和结束时间。
以简单的随机对照试验为例,SCREENING时段中的SCREENING元素的开始点为知情同意书的签订(ICDT),结束点为首次给药。首次给药时间,通常是按受试者和给药时间排序,选出最早的那一条记录时间。
TREATMENT时段中的元素开始点为首次给药,结束点为末次给药(END OF INVESTIGATIONAL PRODUCT)。TREATMENT时段跟另外两个时段有一点不同,其他两个时段的ELEMENT与EPOCH是相同的,而TREATMENT时段中的元素是根据具体的给药分组进行判断,这一点在编程时需要注意。
FOLLOW-UP时段中的FOLLOW-UP元素开始点为末次给药(END OF INVESTIGATIONAL PRODUCT),结束点为研究结束(END OF STUDY)。每个“分割点”的具体发生时间,需要从对应的原始数据集中获取。
在整体的编程思路上,我建议先将每一个元素对应的开始时间或结束时间整理到单独的数据集中,然后将这些数据集按受试者进行拼接,接着对每一条受试者记录进行处理,生成对应时期、元素的记录。例如,以下举例:
data se;
merge scrstdate trtstdate fustdate fueddate;
by usubjid;
length etcd $8. epoch seupdes $40.;
domamin = "SE";
seupdes = "":
if scrstdate ne "" then do;
etcd = "SCR";
sestdtc = scstdate;
seendtc = trtstdata;
epoch = "SCREENING";
output;
end;
...
...
run;
以上。
若有疑问,欢迎评论区讨论!
网友评论