3. 验证工程总体架构
真实世界研究(RWS)的结果验证不是一次性的统计复核,而是一条贯穿数据、定义、分析、稳健性与结论的工程流水线。它的核心目标只有一个:让“结论”在换人、换时、换环境后仍能被复现,并且其可信程度可以被明确标注。本节把这条流水线拆成五个相互咬合的工程层——数据治理、结果定义、可重复分析、敏感性分析、证据分级,并说明它们之间的输入输出契约与失败回退路径。
一、五层流水线的职责与接口
第一层数据治理层解决“数据能不能用、用了哪一版”。它负责源数据接入、编码映射(如 ICD-10 到本地术语)、变量字典、缺失与异常标记、以及数据版本快照。输出物是带版本号的分析数据集(ADS)与数据质量报告。第二层结果定义层把研究问题翻译成机器可执行的定义:暴露、结局、协变量、随访窗口、纳入排除标准,全部以结构化配置(如 JSON/YAML)固化,避免“定义漂移”。第三层可重复分析层用容器化环境与参数化脚本执行主分析,产出点估计、置信区间与诊断图。第四层敏感性分析层系统性地扰动关键假设,检验结论方向是否稳定。第五层证据分级层依据预设规则,把“结论+稳健性证据”映射为证据等级,并输出可追溯的验证报告。
二、数据治理层:把“脏数据”变成可追溯资产
数据治理不是简单清洗,而是建立可追溯的映射链。以某医院电子病历为例,源表 diagnosis 中糖尿病编码混杂 ICD-9(250.x)与 ICD-10(E11.x)。治理层需要建立映射表,将两者统一到标准概念集,并记录每条映射的置信度。缺失值处理必须显式声明策略:连续变量用多重插补(M=5),分类变量增设“未知”类别,而非直接删除。关键输出是数据质量报告,包含各变量缺失率、异常值比例、映射覆盖率。若某关键协变量缺失率超过 30%,应在报告中标记为“高风险”,并触发结果定义层的重新评估。
三、结果定义层:用配置锁定研究意图
结果定义层把“研究问题”翻译成不可歧义的配置。以下是一个可执行的 YAML 片段示例(教学示例,非真实研究数据):
study:
name: "T2DM_心血管结局_验证"
data_version: "ADS_v2.3_20250101"
cohort:
index_date: "首次处方二甲双胍日期"
inclusion: ["年龄≥18", "确诊T2DM", "连续参保≥180天"]
exclusion: ["1型糖尿病", "终末期肾病", "妊娠"]
exposure:
drug: "二甲双胍"
comparator: "磺脲类"
grace_period: 30
outcome:
primary: "主要不良心血管事件(MACE)"
definition: "心梗/卒中/心血管死亡复合终点"
follow_up: "index_date + 365天"
covariates:
- "年龄"
- "性别"
- "基线HbA1c"
- "高血压史"
- "Charlson评分"
这份配置一旦冻结,后续所有分析都基于同一版本。任何修改必须生成新版本号,并记录变更原因。这样,当审阅者质疑“为什么纳入 180 天连续参保”时,可以直接回溯到配置历史,而不是依赖口头解释。
四、可重复分析层:环境、脚本与诊断
可重复分析的核心是“环境即代码”。推荐使用 Docker 镜像固定 R/Python 版本与包依赖,镜像标签包含日期与哈希。分析脚本采用参数化设计,通过命令行传入配置路径与输出目录。主分析通常包括:倾向性评分匹配或加权、Cox 比例风险模型或逻辑回归、以及诊断图(如 Love plot 检查协变量平衡、Schoenfeld 残差检验 PH 假设)。
以倾向性评分匹配为例,关键参数包括卡钳值(如 0.2×logit(PS) 标准差)、匹配比例(1:1 或 1:2)、以及是否放回。匹配后需报告标准化均差(SMD),通常要求所有协变量 SMD < 0.1。若某协变量 SMD 超标,应回到结果定义层检查是否遗漏关键混杂因素,或调整匹配策略。主分析输出应包含:效应量(HR/RR)、95% CI、p 值、事件数、以及匹配前后 SMD 对比表。
五、敏感性分析与证据分级:让结论“抗扰动”
敏感性分析不是可选项,而是验证工程的必要环节。常见扰动维度包括:
- 定义扰动:改变随访窗口(365 天 vs 730 天)、改变暴露定义(首次处方 vs 持续用药)。
- 模型扰动:替换倾向性评分模型(逻辑回归 vs 梯度提升)、替换结局模型(Cox vs 竞争风险)。
- 数据扰动:对缺失值采用不同插补策略、对异常值进行截尾处理。
- 阴性对照:选择一个理论上不应受暴露影响的结局(如意外伤害),检验是否出现虚假关联。
每次扰动产生一个效应量,汇总为稳健性矩阵。若主分析 HR=0.82(95% CI 0.71–0.95),而多数扰动下 HR 仍在 0.75–0.90 且 CI 不跨越 1,则结论方向稳定。若某扰动导致 HR 反转或 CI 跨越 1,则需在证据分级中降级,并说明该扰动的合理性。
证据分级层依据预设规则(可参考 GRADE 框架的 RWS 扩展)综合以下维度:偏倚风险(数据质量、混杂控制)、间接性(人群与目标人群的匹配度)、精确性(CI 宽度)、一致性(敏感性分析结果方向)、以及直接性(结局定义与临床相关性)。最终输出证据等级(高/中/低/极低)与验证报告。报告必须包含:配置版本、数据版本、主分析结果、敏感性分析汇总、以及降级理由。这样,任何第三方都可以沿着同一条流水线重新执行,并得到可比较的结论。