2. SDTM标准体系精要

在SDTM临床数据转换工程中,最容易出现的误解是把“SDTM”当成一份可以逐条照抄的表格模板。实际上,监管递交所依赖的是一套彼此约束、分层协作的标准体系:SDTM定义数据域的基本结构与变量语义,SDTMIG给出具体治疗领域的实施指南,受控术语约束取值集合,Define-XML以机器可读方式描述元数据,而监管递交规范则规定这些内容如何被打包、校验和提交。理解它们之间的工程关系,比记住某个变量放在第几列更重要。

一、五个层次各自解决什么问题

SDTM本身是基础标准,它回答的是“一个数据域由哪些变量构成、变量名是什么、变量承担什么角色”。例如DM域中的USUBJID、RFSTDTC、ARM等变量,其名称、类型和角色由SDTM模型规定。SDTMIG则是在SDTM之上的实施指南,它回答的是“在具体研究场景中,哪些域必须出现、哪些变量必须收集、哪些变量可以派生”。例如在肿瘤试验中,SDTMIG会明确RS、TU、TR等域的使用方式,以及RECIST相关评估结果如何组织。

受控术语是取值层面的约束。它不改变变量结构,但决定某个变量的值是否可以自由填写。比如SEX通常使用M、F、U等受控值,AESER使用Y、N,COUNTRY使用ISO 3166两位代码。工程上必须区分“变量级约束”和“值级约束”:前者由SDTM/SDTMIG定义,后者由受控术语包管理。

Define-XML是元数据交换格式,它把数据集的变量、来源、派生逻辑、代码列表、计算方法等信息写成XML。监管审评人员不直接阅读SAS数据集,而是通过Define-XML理解“这个变量从哪来、怎么算、值代表什么”。因此Define-XML不是附属文档,而是递交包中与数据集同等重要的组成部分。

监管递交规范则位于最外层,规定电子递交的目录结构、文件命名、校验规则和传输方式。以FDA的Study Data Technical Conformance Guide和CDISC的SDTM/Define-XML标准为例,递交包通常需要包含数据集文件、Define-XML、评审辅助文件等,并通过Validator进行规则校验。

SDTM标准体系的五层工程关系 从基础模型到监管递交的约束传递与元数据映射 SDTM 基础标准 定义数据域结构、变量名、变量角色、类型与核心语义 示例:DM.USUBJID(受试者唯一标识)、DM.RFSTDTC(参照开始日期)、AE.AETERM(不良事件术语) 作用:保证不同研究之间数据域骨架一致,是后续所有约束的根 细化实施 SDTMIG 实施指南 按治疗领域规定域的使用、必需变量、派生规则与场景约束 示例:肿瘤试验中RS/TU/TR域的RECIST评估组织方式;DM域必须包含ARM与ACTARM 作用:把通用模型落到具体研究场景,决定“哪些域必须建、哪些变量必须填” 取值约束 受控术语 CT 约束变量取值集合,区分可扩展与不可扩展代码列表 示例:SEX(M/F/U)、AESER(Y/N)、COUNTRY(ISO 3166两位代码)、AEOUT(5级结局) 作用:保证跨研究取值可比,是监管审评中高频校验点 元数据描述 Define-XML 元数据交换 以机器可读XML描述数据集、变量、来源、派生逻辑、代码列表与计算方法 示例:ItemDef记录变量属性,CodeList绑定CT,MethodDef描述派生公式,Origin标明采集/派生 作用:让审评人员无需打开数据集即可理解数据来源与计算过程 打包递交 监管递交规范 Submission 规定目录结构、文件命名、校验规则与传输方式(如FDA eCTD、PMDA、NMPA) 示例:数据集放m5/datasets/,Define-XML随包提交,通过Validator校验规则 约束方向 自上而下 逐层细化 递交包 最终产物

二、约束如何从上层传递到下层

这五层不是并列关系,而是约束逐层传递的关系。SDTM规定变量角色,SDTMIG规定该变量在特定场景下是否必需,受控术语规定该变量的合法取值,Define-XML把上述信息固化为元数据,递交规范则要求这些元数据必须随数据集一起提交并通过校验。

工程上可以用一个具体例子理解这种传递。假设DM域中有一个变量RACE。SDTM规定RACE是DM域的变量,角色为Record Qualifier;SDTMIG规定RACE在DM中属于Required变量,必须存在;受控术语规定RACE的取值必须来自RACE代码列表,如WHITE、BLACK OR AFRICAN AMERICAN、ASIAN等;Define-XML中需要为RACE建立ItemDef,绑定对应的CodeList,并注明Origin为CRF采集或派生;递交时Validator会检查RACE是否存在、取值是否在CT范围内、Define-XML中是否声明了该变量。任何一层缺失,都会导致递交校验失败。

三、工程实施中的关键判断

在实际项目中,转换工程师最常遇到的判断是:某个变量到底应该由SDTMIG决定,还是由受控术语决定?判断依据是看问题发生在“结构层”还是“取值层”。如果问题是“这个域要不要建”“这个变量要不要有”,属于SDTMIG范畴;如果问题是“这个变量的值能不能写某个词”,属于受控术语范畴。把这两类问题混在一起,是导致Define-XML反复返工的主要原因。

另一个关键判断是Define-XML的生成时机。很多团队习惯先做完所有数据集再补Define-XML,结果发现派生逻辑与元数据描述不一致。更稳妥的做法是:在SDTM映射设计阶段就同步维护Define-XML草稿,每确定一个变量的来源与派生规则,就更新对应的ItemDef和MethodDef。这样在递交前,Define-XML与数据集的一致性检查会容易得多。

工程提示:受控术语包会定期更新,不同版本之间可能新增或废弃代码。项目启动时应锁定CT版本,并在Define-XML中记录所用CT版本号。若递交前CT发生更新,需要评估是否影响已有取值,而不是盲目升级。

四、常见误区与校验失败对照

误区 实际后果 正确做法
把SDTMIG当成SDTM的替代品,只看IG不看基础模型 变量角色理解错误,派生变量放错位置 先读SDTM模型确定变量角色,再用SDTMIG确认场景约束
受控术语取值自行扩展,未在Define-XML中声明 Validator报CT校验错误,审评质疑数据可比性 扩展值必须来自CT的 extensible codelist,并在Define-XML中记录
Define-XML只写变量名,不写Origin和Method 审评无法判断数据来源,要求补充说明 每个变量都要有Origin,派生变量必须有MethodDef描述计算逻辑
递交前才生成Define-XML,与数据集脱节 元数据与数据集不一致,反复返工 映射设计阶段同步维护Define-XML,随数据集迭代更新

五、把标准体系落到转换工程中

从工程视角看,SDTM转换不是“把数据填进表格”,而是把临床数据按照五层标准体系重新组织。转换工程师需要同时关注:数据结构是否符合SDTM/SDTMIG,取值是否符合受控术语,元数据是否在Define-XML中完整描述,最终递交包是否满足监管规范。这四个关注点分别对应不同的检查动作,但共享同一套源数据与映射逻辑。

一个可操作的检查顺序是:先确认域与变量结构(SDTM/SDTMIG),再确认取值集合(CT),然后确认元数据描述(Define-XML),最后跑Validator做递交级校验。这个顺序与约束传递方向一致,能够在前一层问题未解决时避免在后一层反复调整。对于多研究、多治疗领域的转换项目,把这套检查顺序固化为标准操作流程,可以显著降低递交阶段的返工率。