前面介绍了SDTM中Special-Purpose数据集的一些编程想法,接下来会介绍Event类数据集,这篇文章介绍有关DS数据集的一些想法。
DS数据集用于收集受试者处置的信息,包含试验方案中关键节点的事件以及试验(或试验的各个阶段)是否完成的相关信息。
基于DS数据集收集的信息,我们需要先定位CRF 特定的Form信息,主要有两个来源:
- Subject Enrollment / Informed Consent (关键点的事件)
- End of Stud/ End of Investigational Product Administration(试验是否完成)
我自己在DS编程过程中,总要有3个点需要注意。
第一,关于关键点事件生成记录时,变量值被Retain的问题。受试者关键点事件的信息,通常保存在一条记录中。在生成DS数据集记录的过程中,需要基于一条原始数据集记录生成多条DS记录,这一般在Data步中使用Output语句进行实现。这过程可能会出现这样问题,如果先生成的DS记录有一个独属于这个DSTERM的变量,再生成下一条DS记录时,需要对这个变量置空,否则上一条记录值就会被Retain下来。
第二,DSTERM的编码(DSDECOD)需要与CDISC标准编码保持一致。这一点我分两个方面来讲,对于关键点事件(DSCAT="PROTOCOL MILESTONE"),SDTMIG中有指出,DSTERM变量与DSDECOD变量值保持一致,这两个值直接选用CDISC标准值。关键点事件的编码值如果与标准值有出入,在用P21检查SDTM数据集时,可以会报ISSUE。
对于试验是否完成的相关事件(DSCAT = "DISPOSITION EVENT"),DSTERM变量值直接取CRF中的值,DSDECOD变量值需要与标准的CDISC CT值对应,在写编程文档时,注意正确匹配,例如,DSTERM="受试者搬家了",对应到编码是DSDECOD="失访"。
第三,关于EPOCH变量的注意点。对于受试者试验(或试验的各个阶段)是否完成的信息,我们归为处置事件(DSCAT = "DISPOSITION EVENT"),EPOCH 变量记录处置事件发生的时段名称,一般不能为空。而对于关键点事件(DSCAT="PROTOCOL MILESTONE"),EPOCH变量是要置空的。这个很好理解,处置事件是记录试验各阶段(时段)是否完成,时段信息是记录的对象,不能为空;而关键点事件(获得知情同意书、随机等),在试验方案中会明确定义,并且发生在筛选期,DS记录的重点是事件而非时期。(个人理解....)
以上。
若有疑问,欢迎评论区讨论!
网友评论