上一篇文章讲到我们把病灶标识出来后,就需要对病灶进行定性或者定量的测量,测量的结果就放在TR domain里面。
TU数据集如下
就像我们在一座小山插上一面旗帜,告诉别人这座山我标识出来了,然后这座山有高度、宽度、体积,这是定量的测量结果(就像实体瘤的靶病灶,有非淋巴结靶病灶最长径、淋巴结靶病灶最短径,淋巴瘤的就更多了,像最长横径也就是LDi、垂直于LDi的最短轴径也就是SDi,最长径与其垂直径的乘积也就是PPD)。
然后在山上的树上存在一群鸟,这就像对非靶病灶的评估,
TRORRES=存在 when TRTEST=肿瘤状态 and TRTESTCD=TUMSTATE
鸟飞走了,那么TRORRES=消失。
总之,一个病灶可以对应多个测量结果,TR中用TRLNKID和TU中的TULNKID紧密联系在一起。需要注意的是,在求基线的(TRLOBXFL)时候,每一个TRLNKID都需要有一个基线。看一下IG的例子
根据IG的例子,我想结合实际做项目中可能遇到的问题说说自己的看法
①:基线直径总和(Sum of Diameter),我们收到DM发过来的数据的时候,发现一个受试者可能有多个病灶,比如5个,那么靶病灶那张form就有5条记录,然后基线直径总和它是跟在这5条记录后面的,所以我们输出的时候基线期的直径总和可能就会输出5条记录,但是我觉得只要输出一条记录就可以了,所以需要去下重,不管你是先去重(建议)还是做完TESTCD再去重都可以。
②:ig的例子中用TRGRPID来区分靶病灶、非靶病灶、新病灶等等,然后可以发现ig中TR domain它是没有列举出来TRCAT这个变量的,TU中TUCAT也没有,不是说不可以加,但是P21会报一个notice,我讨厌这样。所以你自己看一下使用TRGRPID还是TRCAT来区分不同的病灶。
③:TRLNKGRP在IG中的例子是用一个字母拼上对应的访视编号,这个值也对应着RS中的RSLNKGRP,所以,可以理解成给药后,每一个访视,对每一个病灶的测量,汇总成当前访视的靶病灶评估结果、非靶病灶评估结果、新病灶评估结果,最后得到当前访视的一个总体评估结果,如下图所示
我觉得理解TU/TR/RS之间的关系比你会写程序更重要,他们可以认为是相互依存或者循序渐进的关系,然后通过下面的关键变量紧紧联系在一起。
TU和TR TULNKID---TRLNKID
TR和RS TRLNKGRP---RSLNKGRP
④:TRTESTCD/TRTEST有专门的CT,同时也是可拓展的,对于CRF上收集的一些检测项,可以查找文件看看有没有对应的CT。
⑤:有些项目可能还会有IRC的数据,然后你会发现外部传输的IRC数据都是英文的,这时候你可以把它mapping成对应的中文(如果你写的项目是中文的,然后TEST都是中文的,但是真的没必要,浪费时间);也可以直接用外部文件的值,这里推荐太美的IRC,接触过他们传输的IRC数据,格式几乎就跟我们做出来的TR差不多,用的变量也是IG上的那些变量,应该是太美的编程人员进行过相关指导。
总之,TU,TR不像你们想象的那么可怕,我觉得就跟正常做finding domain是一样的,主要是了解上面讲的这些东西,我觉得复杂的几个地方一是数据量比较多,尤其是TR;二是一开始data issue比较多,比如做了检查,但是检查结果为空,或者记录乱七八糟;这时候main侧和QC侧因为逻辑不同,输出的观测数就不一样,然后去QC真的很麻烦。
做了几个肿瘤项目后,我觉得实体瘤项目算是最简单的肿瘤项目了。
写这篇文章前,心情突然莫名其妙变得不开心,真的是有病,花了一个多小时写完这篇文章,心情还是没变化,郁闷......
The end.