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)等,回答“研究怎么设计的”。

SDTM 五类域模型组织逻辑 按数据在临床研究中的角色分类 特殊目的域 Special Purpose DM 人口学 SE 受试者元素 SV 受试者访视 角色:谁 + 何时在何元素 每受试者一行/多行 USUBJID 为主键 干预域 Interventions EX 暴露 CM 合并用药 MH 既往用药 角色:做了什么处理 剂量/频次/起止时间 EXDOSE / CMDOSE 事件域 Events AE 不良事件 DS 处置事件 HO 医疗史 角色:发生了什么 发生时间/严重程度/结局 AESTDTC / AESER 发现域 Findings VS 生命体征 LB 实验室检查 EG 心电图 角色:观察到什么 结果/单位/正常范围 VSORRES / LBORRES 试验设计域 Trial Design TS 试验概要 TV 试验访视 TE 试验元素 TA 试验臂 角色:研究怎么设计 方案级元数据 域间关联逻辑 DM 提供受试者标识 SE 定义元素时间窗 SV 记录实际访视 EX 关联 TA 试验臂 CM 关联 AE 事件 通过 USUBJID 关联 AE 关联 EX 暴露 DS 关联 SE 元素 通过 AESTDTC 定位 VS/LB 关联 SV 访视 结果关联正常范围 通过 VISITNUM 定位 TS 定义研究类型 TV 定义访视计划 TA 定义臂与元素 核心判断链:试验设计域定义“计划” → 特殊目的域锚定“谁” → 干预域记录“做了什么” → 事件域记录“发生了什么” → 发现域记录“观察到什么”

分类判断的实操路径

面对一条具体数据,判断其归属域时,可按以下顺序提问:第一,这条数据描述的是研究设计本身吗?如果是,归入试验设计域。第二,它描述的是受试者的固定属性或时间元素吗?如果是,归入特殊目的域。第三,它描述的是对受试者施加的处理吗?如果是,归入干预域。第四,它描述的是受试者经历的事件吗?如果是,归入事件域。第五,它描述的是对受试者的观察或测量吗?如果是,归入发现域。这个顺序之所以重要,是因为某些数据可能同时具备多个特征。例如,一次给药既可以是干预(EX),也可以被视为事件(如果关注的是“给药”这个动作本身)。SDTM的约定是:给药记录归EX,因为其核心语义是“施加了处理”;而“给药失败”或“给药错误”则可能归入事件域,因为其核心语义是“发生了异常事件”。

发现域的内部结构差异

发现域并非铁板一块。根据测量方式的不同,发现域内部又分为三类结构:通用发现类(如VS、LB、EG),其特点是每个测量项有独立的测试代码(VSTESTCD)、结果(VSORRES)和单位(VSORRESU);微生物学发现类(如MB、MS),其特点是涉及标本采集和微生物鉴定,结构上需要区分标本来源和鉴定结果;药代动力学发现类(如PC、PP),其特点是涉及时间-浓度数据,需要精确记录采样时间点和浓度值。这三类在变量命名和结构上存在差异,转换时必须先确认目标域属于哪一类,再套用对应的变量模板。

试验设计域的特殊地位

试验设计域与其他四类域有一个本质区别:它描述的是“研究计划”,而不是“受试者数据”。TS域存储试验层面的概要信息,如试验类型、对照类型、盲法设计;TV域定义计划访视的名称、编号和窗口;TE域定义试验中使用的元素及其描述;TA域则将试验臂、元素、访视和过渡条件组合在一起,形成完整的试验路径。TA域是连接设计与执行的关键:SE域中每个受试者的元素起止时间,应当与TA域中定义的试验路径一致。如果SE中出现了TA未定义的元素,说明执行偏离了设计,需要在数据审核中标记。

实操提示:在SDTM转换项目中,建议先完成试验设计域(TS/TV/TE/TA)的构建,再处理受试者数据。因为TV定义了访视编号和窗口,SV和所有发现域的VISITNUM都依赖它;TA定义了元素和臂,SE和EX的关联依赖它。先建“骨架”,再填“血肉”,可以避免大量返工。

域间关联的键值设计

五类域之间通过一组标准键值实现关联。USUBJID是受试者唯一标识,贯穿所有受试者级域;VISITNUM和VISIT是访视标识,连接SV与所有发现域;--SEQ是域内序号,用于区分同一受试者同一域内的多条记录;--GRPID用于将同一发现域内相关的记录分组,例如一次生命体征测量中的收缩压、舒张压和脉搏可以共享同一个GRPID。RDOMAIN和IDVAR则用于RELREC等关联数据集,实现跨域记录级关联。理解这些键值的语义和用法,是保证域间数据可追溯、可整合的基础。

以不良事件(AE)与合并用药(CM)的关联为例:如果受试者在发生头痛(AE)后服用了对乙酰氨基酚(CM),可以在CM域中通过CMINDC变量记录“头痛”,或通过RELREC数据集建立AE与CM的记录级关联。前者是变量级关联,后者是数据集级关联。选择哪种方式取决于分析需求:如果只需要知道“用药原因”,CMINDC足够;如果需要精确追溯到具体哪条AE记录,则需要RELREC。这种判断能力,正是域模型设计从“知道分类”走向“会用分类”的关键一步。