3. 临床数据源解析
SDTM转换工程的第一道关口不是写映射规则,而是把数据源“看透”。同一个受试者、同一次访视的数据,可能来自EDC表单、中心实验室的LIS导出、受试者手机上的ePRO记录、影像判读系统,以及独立评审委员会或药企外部供应商的Excel。这些来源在结构、粒度、时间语义和标识体系上差异极大,若在解析阶段没有识别清楚,后续的SDTM域映射就会带着系统性错误进入提交包。
一、五类数据源的结构特征
EDC(电子数据采集)通常以“表单—访视—受试者”三层组织,导出时常见宽表或长表两种形态。宽表一行对应一次访视,字段名如 VS_ORRES_1、VS_ORRES_2;长表则一行对应一个采集项,含 ITEM_OID、ITEM_VALUE。EDC的强项是自带访视日期、表单状态和稽查轨迹,弱项是字段名随CRF版本变化,且日期常以字符型存储,存在 2024-03-01、01-Mar-2024、2024/3/1 混用。
实验室数据来自中心实验室或本地实验室,结构上以“分析物—结果—单位—参考范围”为核心。中心实验室一般提供固定格式的SAS或CSV传输文件,含 LBTESTCD、LBORRES、LBORRESU、LBSTNRLO、LBSTNRHI、LBDTC。风险点在于:不同实验室对同一分析物使用不同单位(如 mg/dL 与 mmol/L),参考范围随性别、年龄变化,且本地实验室数据往往缺少标准检验代码。
ePRO(电子患者报告结局)由受试者直接填写,结构上带有问卷、条目、评分和时间戳。典型字段包括 QUESTIONNAIRE_ID、ITEM_ID、RESPONSE、RESPONSE_DATE、RESPONSE_TIME。其独特风险是时间语义:受试者可能在访视后补填,RESPONSE_DATE 与访视日期不一致,需要判断是否归入计划访视或作为非计划记录。
影像数据通常以DICOM文件加判读表的形式交付。判读表含 SUBJECT_ID、VISIT、MODALITY、READER、ASSESSMENT、ASSESSMENT_DATE。影像本身不进入SDTM,但判读结果要映射到 PR、TU、TR 等域。风险集中在多阅片者、多时间点、靶病灶与非靶病灶的对应关系,以及“评估日期”与“影像采集日期”的区分。
外部数据包括独立评审委员会、PK/PD实验室、药物供应系统、死亡登记等。它们往往以Excel、PDF或自定义文本交付,字段命名不受CDISC约束,甚至同一供应商不同项目格式也不同。外部数据的核心风险是标识不统一:受试者编号可能是 001-001、S001 或 STUDY001-0001,需要建立与EDC受试者标识的对照表。
二、解析阶段必须完成的四项对齐
把五类数据源接入统一解析层后,不能直接进入SDTM映射,而要先完成四项对齐,否则错误会向下游放大。
第一,标识对齐。建立“源系统受试者标识—EDC受试者标识—SDTM USUBJID”的对照表。例如EDC中为 001-001,实验室传输文件中为 S001,外部数据中为 STUDY001-0001,三者必须映射到同一个 USUBJID。建议在解析层生成一张 SUBJ_MAP 表,字段包括 SOURCE_SYSTEM、SOURCE_SUBJID、EDC_SUBJID、USUBJID,并保留映射来源和生效日期。
第二,日期标准化。所有日期统一转为ISO 8601格式 YYYY-MM-DD,日期时间转为 YYYY-MM-DDThh:mm。对于部分日期(如只知道年月),SDTM允许使用 2024-03 或 2024,但必须在解析层标记精度,避免后续误补日。EDC中常见的字符型日期要先做格式识别,再统一转换。
第三,单位换算。实验室数据中同一分析物可能以不同单位报告。解析层应维护一张单位换算表,例如葡萄糖 mg/dL 与 mmol/L 的换算系数为 0.0555。换算后保留原始值和原始单位,SDTM中 LBORRES 存原始结果,LBSTRESN 存标准单位数值,LBSTRESU 存标准单位。
第四,代码映射。把各来源的检验项目名、问卷条目名、影像评估项映射到CDISC标准代码。例如实验室的“谷丙转氨酶”“ALT”“GPT”统一映射为 LBTESTCD=ALT;ePRO的问卷条目映射到 QSORRES 对应的 QSTESTCD。映射表应记录源代码、标准代码、映射版本和生效日期。
三、转换风险的识别与处置
解析阶段的风险不是抽象概念,而是可以在数据中直接观察到的现象。以下是一份可执行的解析检查清单,用于在映射前逐项确认。
| 检查项 | 观察对象 | 判断依据 | 处置动作 |
|---|---|---|---|
| 受试者标识一致性 | 各来源SUBJID列表 | 是否存在无法映射的ID | 补充对照表或退回数据方确认 |
| 日期格式与精度 | 日期字段样本 | 是否可统一为ISO 8601 | 按格式分组转换,标记部分日期 |
| 单位一致性 | LBORRESU取值分布 | 同一分析物是否多单位 | 启用换算表,保留原始单位 |
| 访视对应关系 | ePRO/影像的访视字段 | 是否与EDC访视表匹配 | 建立访视映射,标记非计划访视 |
| 代码可映射性 | LBTESTCD/QSTESTCD源值 | 是否存在未映射代码 | 补充映射表,记录未映射清单 |
RESPONSE_DATE 若晚于访视日期超过预设窗口(如7天),不应直接归入该访视。解析层应输出“时间偏移标记”,由数据管理判断该记录属于计划访视、非计划访视还是补充记录。影像的 ASSESSMENT_DATE 与DICOM中的采集日期也可能不同,SDTM中 PRPRSDTC 应使用评估日期,而采集日期可放入 PRDTC 或注释。
四、解析层的最小可用输出
完成上述工作后,解析层应输出一套结构稳定的中间数据集,供后续SDTM映射直接使用。建议至少包含:
SUBJ_MAP:受试者标识对照表,含来源系统、源ID、USUBJID。VISIT_MAP:访视对照表,含来源访视名、标准访视名、VISITNUM、计划日期窗口。UNIT_CONV:单位换算表,含分析物、源单位、目标单位、换算系数。CODE_MAP:代码映射表,含源代码、标准代码、映射版本。PARSE_LOG:解析日志,记录每条记录的来源、转换动作、异常标记。
这五张表不直接进入SDTM,但它们是转换工程的质量底座。实际项目中,解析层做得越扎实,后续SDTM域映射、受控术语校验和Define-XML生成就越顺畅。反之,若在解析阶段跳过标识、日期、单位、代码的对齐,后续每一个域都会重复出现同类错误,返工成本成倍增加。