4. SDTM域模型设计
SDTM的域模型并非一堆彼此独立的表格,而是按“数据在临床研究中的角色”划分为若干类。理解这些类别的组织逻辑,是决定一条数据该进哪个域、以什么结构存储的前提。SDTM将域划分为五类:特殊目的域(Special Purpose)、干预域(Interventions)、事件域(Events)、发现域(Findings)以及试验设计域(Trial Design)。分类的核心依据是:这条数据描述的是“谁”“做了什么”“发生了什么”“观察到什么”,还是“研究本身如何被设计”。
五类域的角色定位
特殊目的域承载不属于其他四类的辅助信息,典型代表是DM(Demographics)和SE(Subject Elements)。DM描述受试者的固定属性,如年龄、性别、种族,每个受试者一行;SE描述受试者在试验中经历的元素(Element)及其起止时间,是连接试验设计与实际执行的关键桥梁。干预域描述对受试者施加的处理,包括暴露(EX)、合并用药(CM)、既往用药(MH)等,其核心变量是“做了什么、剂量多少、何时开始结束”。事件域描述受试者经历的事件,如不良事件(AE)、病史(MH)、处置事件(DS),核心是“发生了什么、何时发生、结局如何”。发现域描述对受试者的观察或测量结果,如生命体征(VS)、实验室检查(LB)、心电图(EG),核心是“测了什么、结果是什么、是否正常”。试验设计域则描述研究方案本身,包括试验设计(TS)、试验访视(TV)、试验元素(TE)、试验臂(TA)等,回答“研究怎么设计的”。
分类判断的实操路径
面对一条具体数据,判断其归属域时,可按以下顺序提问:第一,这条数据描述的是研究设计本身吗?如果是,归入试验设计域。第二,它描述的是受试者的固定属性或时间元素吗?如果是,归入特殊目的域。第三,它描述的是对受试者施加的处理吗?如果是,归入干预域。第四,它描述的是受试者经历的事件吗?如果是,归入事件域。第五,它描述的是对受试者的观察或测量吗?如果是,归入发现域。这个顺序之所以重要,是因为某些数据可能同时具备多个特征。例如,一次给药既可以是干预(EX),也可以被视为事件(如果关注的是“给药”这个动作本身)。SDTM的约定是:给药记录归EX,因为其核心语义是“施加了处理”;而“给药失败”或“给药错误”则可能归入事件域,因为其核心语义是“发生了异常事件”。
发现域的内部结构差异
发现域并非铁板一块。根据测量方式的不同,发现域内部又分为三类结构:通用发现类(如VS、LB、EG),其特点是每个测量项有独立的测试代码(VSTESTCD)、结果(VSORRES)和单位(VSORRESU);微生物学发现类(如MB、MS),其特点是涉及标本采集和微生物鉴定,结构上需要区分标本来源和鉴定结果;药代动力学发现类(如PC、PP),其特点是涉及时间-浓度数据,需要精确记录采样时间点和浓度值。这三类在变量命名和结构上存在差异,转换时必须先确认目标域属于哪一类,再套用对应的变量模板。
试验设计域的特殊地位
试验设计域与其他四类域有一个本质区别:它描述的是“研究计划”,而不是“受试者数据”。TS域存储试验层面的概要信息,如试验类型、对照类型、盲法设计;TV域定义计划访视的名称、编号和窗口;TE域定义试验中使用的元素及其描述;TA域则将试验臂、元素、访视和过渡条件组合在一起,形成完整的试验路径。TA域是连接设计与执行的关键:SE域中每个受试者的元素起止时间,应当与TA域中定义的试验路径一致。如果SE中出现了TA未定义的元素,说明执行偏离了设计,需要在数据审核中标记。
域间关联的键值设计
五类域之间通过一组标准键值实现关联。USUBJID是受试者唯一标识,贯穿所有受试者级域;VISITNUM和VISIT是访视标识,连接SV与所有发现域;--SEQ是域内序号,用于区分同一受试者同一域内的多条记录;--GRPID用于将同一发现域内相关的记录分组,例如一次生命体征测量中的收缩压、舒张压和脉搏可以共享同一个GRPID。RDOMAIN和IDVAR则用于RELREC等关联数据集,实现跨域记录级关联。理解这些键值的语义和用法,是保证域间数据可追溯、可整合的基础。
以不良事件(AE)与合并用药(CM)的关联为例:如果受试者在发生头痛(AE)后服用了对乙酰氨基酚(CM),可以在CM域中通过CMINDC变量记录“头痛”,或通过RELREC数据集建立AE与CM的记录级关联。前者是变量级关联,后者是数据集级关联。选择哪种方式取决于分析需求:如果只需要知道“用药原因”,CMINDC足够;如果需要精确追溯到具体哪条AE记录,则需要RELREC。这种判断能力,正是域模型设计从“知道分类”走向“会用分类”的关键一步。