医生要把“病历数据里有什么”转化为“研究问题是什么”
很多临床医生第一次接触真实世界数据研究时,常常会从一个非常自然的问题开始:
“我们电子病历里有很多数据,能不能拿来做一个课题?”
这句话当然没错,但它还不是一个研究问题。
它只是说明:你有一个数据源。
真正的研究问题应该进一步说明:
哪类患者?
在什么时间点?
面对什么临床不确定性?
想预测什么结局,还是解释什么机制?
回答这个问题之后,能改变临床判断、风险分层、随访策略、治疗选择,还是学术理解?
临床真实世界研究的关键能力,不是“看到数据库里有什么字段”,而是把字段背后的临床过程、时间顺序、变量角色和偏倚风险想清楚。
一、磨刀不误砍柴工,先把几个常见术语讲清楚:它们不是方法学黑话
临床医生看到 FINER、RECORD、PROBAST、DAG、TRIPOD 这些词,很容易产生距离感,好像要先学一整套流行病学和统计学才能做研究。其实可以先把它们理解成几种“研究前检查工具”。
1. FINER:判断一个研究问题值不值得做
英文全称: Feasible, Interesting, Novel, Ethical, Relevant
中文理解: 可行、有趣、有新意、伦理可接受、重要。
可以把 FINER 想成一个很朴素的“五问法”:
| FINER | 中文 | 大白话解释 |
|---|---|---|
| Feasible | 可行 | 你真的有足够患者、数据、时间、技术能力做出来吗? |
| Interesting | 有趣 | 这个问题你自己和同行会真的关心吗? |
| Novel | 有新意 | 不是别人已经做烂了的问题,或者你能在新人群、新场景、新方法上推进一步吗? |
| Ethical | 伦理可接受 | 不会伤害患者隐私、安全或权益吗? |
| Relevant | 重要 | 回答后能影响临床判断、指南、政策、机制理解或后续研究吗? |
简单说,FINER 不是高深理论,而是帮你避免做出这种课题:
数据有,模型也能跑,但没人关心,临床也用不上。
《Designing Clinical Research》明确把 FINER 作为好研究问题的五个基本特征,并强调研究问题要从宽泛兴趣收窄成具体、可研究的问题。
2. RECORD:用真实世界数据写文章时,别把数据来源说得含糊不清
英文全称: REporting of studies Conducted using Observational Routinely-collected health Data
中文理解: 用常规收集的健康数据做观察性研究时,该怎么透明报告。
RECORD 主要提醒我们:EHR、医保、登记系统、行政数据库这些数据,本来不是为了你的研究问题专门采集的,而是为了临床服务、收费、管理或随访产生的。所以写文章时必须讲清楚:
- 数据来自哪里;
- 患者怎么被筛出来;
- 诊断码、药物码、检查码怎么定义;
- 数据有没有链接多个系统;
- 缺失数据怎么处理;
- 研究对象选择过程会不会造成偏倚。
RECORD 是 STROBE 的扩展,专门用于使用常规收集健康数据的观察性研究;它强调这类研究需要更透明地报告数据来源、代码、链接、选择过程和变量定义。
大白话说:
RECORD 不是教你怎么建模,而是提醒你:
“你不能只说我用了 EHR 数据。你要说明这些 EHR 数据到底怎么来的、怎么筛的、怎么定义的。”
3. TRIPOD+AI :写预测模型文章时,别只报一个 AUC
英文全称: Transparent Reporting of a multivariable prediction model for Individual Prognosis Or Diagnosis
中文理解: 多变量诊断或预后预测模型的透明报告规范。
TRIPOD 主要用于预测模型,包括:
- 诊断模型:判断某个疾病或状态现在是否存在;
- 预后模型:预测未来某个事件是否会发生。
例如:
| 模型类型 | 例子 |
|---|---|
| 诊断模型 | 急诊胸痛患者现在是否有 ACS? |
| 预后模型 | 心衰患者出院后 30 天是否再入院? |
TRIPOD 强调,预测模型研究不应该只报告 AUC,还要说明研究对象、预测变量、结局、样本量、缺失值处理、模型开发、验证、校准和适用人群。TRIPOD 声明本身就是为了改进诊断和预后预测模型研究的透明报告。
大白话说:
TRIPOD 就是在问:
“你这个模型到底是给谁用的?什么时候用?用了哪些变量?预测什么?有没有验证?别人能不能复现?”
4. PROBAST:评价预测模型是否靠谱
英文全称: Prediction model Risk Of Bias ASsessment Tool
中文理解: 预测模型偏倚风险和适用性评价工具。
如果 TRIPOD 更像“写文章时要报告什么”,PROBAST 更像“读文章时判断这个模型靠不靠谱”。
PROBAST 关注四个方面:
| 领域 | 大白话问题 |
|---|---|
| Participants | 研究对象选得对吗?是不是模型未来要用的人群? |
| Predictors | 预测变量定义清楚吗?是不是在预测时间点之前就能获得? |
| Outcome | 结局定义可靠吗?有没有误分类? |
| Analysis | 分析方法是否合理?有没有过拟合、样本量不足、验证不足? |
PROBAST 用于评估诊断和预后预测模型开发、验证或更新研究的偏倚风险和适用性,并包含参与者、预测变量、结局和分析四个领域。
大白话说:
PROBAST 就是在问:
“这个模型是不是看起来很厉害,但其实研究对象不对、变量偷看了答案、结局定义不准,或者只是过拟合?”
5. DAG :把临床假设画成变量地图
英文全称: Directed Acyclic Graph
中文理解: 有向无环图。
听起来像数学,其实可以先把 DAG 理解成:
一张帮你分清“谁影响谁”的临床逻辑图。
例如你研究:
化疗是否增加 VTE 风险?
你可能画出:
癌症分期 → 化疗强度 → 活动减少 → VTE
癌症分期 → VTE
年龄/合并症 → 化疗选择
年龄/合并症 → VTE
这张图不是为了证明因果关系,而是为了提前说清楚你的假设:
- 哪些变量是混杂因素;
- 哪些变量是中介因素;
- 哪些变量是结局之后才发生的;
- 哪些变量不能随便控制;
- 哪些变量只是医疗流程或检测行为的痕迹。
Greenland、Pearl 和 Robins 的经典论文指出,因果图可以帮助流行病学研究者识别为了获得无混杂效应估计而需要测量和控制的变量,也可以帮助批判传统的混杂判断标准。
大白话说:
DAG 不是算法。
DAG 是研究前的“临床逻辑草图”。
它帮你避免把所有 EHR 字段一股脑丢进模型。
二、为什么不能从“数据库有什么”直接跳到“做模型”?
因为 EHR 里的字段并不等于临床真实世界本身。
EHR 里看到的很多东西,实际上是三类过程混在一起:
- 患者真实状态:疾病、症状、生理指标、实验室结果。
- 医生诊疗行为:是否检查、是否开药、是否住院、是否请会诊。
- 系统记录行为:诊断码、收费码、出院诊断、病程记录、模板字段。
例如:
| EHR 字段 | 看起来像什么 | 其实可能是什么 |
|---|---|---|
| D-dimer 检测 | VTE 风险指标 | 医生怀疑 VTE 后才开的检查 |
| CTPA 检查 | PE 相关变量 | 症状、医生怀疑、医院资源共同决定的检查行为 |
| 抗凝药使用 | 治疗变量 | 可能代表患者已被怀疑或诊断 VTE |
| 出院诊断 VTE | VTE 结局 | 可能只是被检查、被记录、被编码的 VTE |
| 住院总天数 | 严重程度指标 | 可能发生在结局之后,不能用于早期预测 |
所以,真实世界数据研究不是“字段越多越好”。
更重要的是:
这个字段在什么时间产生?
它代表患者状态,还是医生行为?
它在结局之前,还是结局之后?
它是原因、结果、中介、混杂,还是记录机制?
《Designing Clinical Research》也强调,研究设计中要明确研究问题、目标人群、研究样本、变量和测量方式;研究计划中的变量通常只是研究者真正关心的临床现象的代理,因此设计选择会影响外部有效性和推断是否可靠。
三、从“数据字段”到“研究问题”的 7 步
Step 1:先问临床不确定性,而不是先问数据库有什么
错误起点:
我们有血常规、生化、诊断码、用药记录,能不能做一个预测模型?
正确起点:
在哪个临床决策点,医生目前判断不够准确?
哪类患者需要更好的风险分层?
哪个结局如果能提前识别,就能改变管理?
例如:
对新启动化疗的实体瘤患者,医生能否在治疗开始前识别未来 90 天 VTE 高风险人群?
这才是研究问题的雏形。
Step 2:明确你是在做描述、预测、解释,还是因果效应研究
| 类型 | 研究目的 | 典型问题 | 常见误区 |
|---|---|---|---|
| 描述性研究 | 说明发生了什么 | 本院 CKD 患者贫血筛查率是多少? | 把描述性差异说成原因 |
| 预测性模型 | 估计未来或当前未知风险 | 哪些患者未来 30 天会再入院? | 把预测变量解释成病因 |
| 解释性模型 | 理解变量关系和机制 | 炎症指标是否解释肿瘤患者 VTE 风险升高? | 用普通回归或 SHAP 直接讲机制 |
| 因果效应研究 | 比较干预策略效果 | SGLT2i 是否降低真实世界 HF 住院风险? | 忽略适应证混杂 |
一句话区分:
- 预测问题问:“谁会发生?”
- 解释问题问:“为什么发生?”
- 因果问题问:“如果改变某个暴露或治疗,结局会不会改变?”
Step 3:定义 time zero,也就是研究的起点
EHR 研究最容易出问题的地方是时间顺序。
例如你要预测:
入院后 30 天死亡。
那么 time zero 可以是:
入院时,或入院后 24 小时内。
你不能使用:
- ICU 总住院天数;
- 死亡前乳酸;
- 出院诊断;
- 临终前抗生素升级;
- 最终是否使用呼吸机。
这些变量虽然在数据库里有,但它们发生得太晚,可能已经接近结局,甚至发生在结局之后。
这叫 信息泄漏。
Step 4:把变量分成角色,而不是把所有字段扔进模型
下面这张表是刚接触真实世界研究的临床医生最需要掌握的部分。
| 变量角色 | 含义 | 例子 | 简要解释 |
|---|---|---|---|
| 暴露变量 | 你想研究的主要因素 | 是否接受某药物、是否接受化疗、是否放置中心静脉导管 | 如果你的问题是“某治疗是否影响结局”,这个治疗就是暴露变量。它不是普通特征,而是你真正想研究的对象。 |
| 预测变量 | 用来预测结局的信息 | 入院血压、年龄、肌酐、HbA1c、BNP | 预测变量不一定是原因。它只要能在预测时间点前提供风险信息,就可能有用。比如年龄能预测很多结局,但不是你能干预的原因。 |
| 混杂变量 | 同时影响暴露和结局的变量 | 年龄、病情严重程度、癌症分期、合并症 | 混杂变量会让你误以为暴露和结局有关。例如重症患者更容易用强治疗,也更容易死亡;如果不处理病情严重程度,你可能误以为“强治疗导致死亡”。 |
| 中介变量 | 暴露影响结局的中间路径 | 化疗 → 活动减少 → VTE;肥胖 → 炎症 → 心血管事件 | 中介变量是机制的一部分。如果你想估计暴露的总效应,随便控制中介变量可能会把真正的作用路径“切掉”。 |
| 碰撞变量 | 两个因素共同导致的结果,控制它可能引入偏倚 | 是否做影像检查、是否住 ICU、是否被转诊 | 例如“是否做 CTPA”同时受 VTE 症状和医生怀疑影响。只分析做了 CTPA 的人,可能会制造假关联。 |
| 结局变量 | 研究终点 | 死亡、再入院、VTE、AKI、治疗失败 | 结局要定义清楚:是什么事件、在多长时间内发生、如何确认。不能只说“预后”。 |
| 记录机制变量 | 影响事件是否被记录的因素 | 科室、医院、检查频率、编码习惯、随访次数 | EHR 中“被记录的事件”不一定等于“真实发生的事件”。检查越多的患者,越容易被发现问题。 |
最容易犯的错误是:
“我把所有变量都控制了,所以结果更可靠。”
其实不一定。
如果你控制了中介变量,可能把真实机制控制掉。
如果你控制了碰撞变量,可能引入新的偏倚。
如果你控制了结局之后的变量,可能直接造成错误结论。
Step 5:把 EHR 字段映射成临床概念
不要把数据库字段直接等同于真实临床现象。
| 数据库字段 | 不应直接等同于 | 更好的做法 |
|---|---|---|
| ICD code: heart failure | 真实心衰 | 诊断码 + BNP/NT-proBNP + 超声 + 用药综合定义 |
| 抗凝药医嘱 | 患者实际服药 | 区分医嘱、给药记录、处方领取、长期用药 |
| D-dimer 检测 | VTE 风险 | 明确检测时间,是 VTE 前还是 VTE 后 |
| CTPA 检查 | PE 发生 | 这是检查行为,不是结局本身 |
| 出院诊断 | 事件发生时间 | 出院诊断通常是记录时间,不是发病时间 |
这一步非常重要。
真实世界研究的很多错误,不是统计方法错,而是变量定义从一开始就错了。
Step 6:判断问题是否有学术价值
有学术价值的真实世界研究问题,通常至少满足下面一项:
- 临床决策价值:能帮助医生在某个时间点做决定。
- 预测增量价值:比现有评分、指南或单一指标更好。
- 机制解释价值:解释为什么某类患者风险更高。
- 真实世界外推价值:补充 RCT 之外的真实临床人群。
- 异质性价值:发现不同年龄、性别、地区、医院、亚组之间的差异。
- 方法学价值:解决 EHR 时间窗、缺失、检测偏倚、外部验证、DAG 建模等问题。
Step 7:最后用一句话写出研究问题
可以使用这个公式:
在【明确人群】中,基于【某个时间点之前可获得的数据】,能否【预测/解释/比较】
【明确结局】在【明确时间窗】内的发生,
并且该结果可以帮助【某个临床决策或机制理解】?
例如:
在新启动化疗的实体瘤患者中,基于治疗开始前 30 天内的临床、实验室和治疗计划数据,能否预测未来 90 天症状性 VTE 风险,并评估凝血炎症模块是否较传统临床变量提供增量预测价值?
这句话已经包含了:
- 人群;
- time zero;
- 数据窗口;
- 预测窗口;
- 结局;
- 模型目的;
- 临床或学术增量。
四、常见学科示例:从错误问题到正确问题
下面这些例子不是让你照抄题目,而是展示一种思维方式:
同样的数据,问题设计不同,学术价值完全不同。
1. 心血管:心衰再入院风险
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | 年龄、性别、既往病史、血压、心率、BNP/NT-proBNP、肌酐、钠、血红蛋白、超声 EF、用药、住院史、出院诊断、再入院记录 |
| 错误研究问题 | 用所有心衰患者 EHR 数据预测谁会再入院。 |
| 为什么错 | “所有心衰患者”太宽;预测时间点不清;可能使用出院后变量;再入院原因不清;模型不能对应具体干预。 |
| 正确研究问题 | 对因急性心衰住院并准备出院的患者,能否用出院前 48 小时内的生命体征、实验室指标、超声和用药信息,预测 30 天心衰再入院风险? |
| 简要解释 | 这个问题把人群限定为“急性心衰住院后准备出院”,把时间点限定为“出院前”,把结局限定为“30 天心衰再入院”。这样模型可以服务于出院管理,例如早期复诊、远程监测、利尿剂调整和护理随访。 |
| 可加的 DAG 思路 | 心衰严重程度 → BNP/肾功能/低钠 → 再入院;社会支持和随访可及性 → 再入院;住院天数可能既反映病情,也受医院流程影响。 |
学术价值点:
不是“再做一个心衰预测模型”,而是做一个服务于出院决策的模型。
2. 肿瘤:癌症相关 VTE 风险
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | 癌种、分期、转移、化疗方案、手术、中心静脉导管、血小板、白细胞、血红蛋白、D-dimer、白蛋白、既往 VTE、抗凝药、影像检查、VTE 诊断码 |
| 错误研究问题 | 用肿瘤患者所有实验室指标预测 VTE。 |
| 为什么错 | 没有 time zero;可能纳入 VTE 之后的 D-dimer 或影像检查;没有区分真实 VTE 与被检测到的 VTE;不知道模型用于预防抗凝、影像筛查还是随访分层。 |
| 正确研究问题 | 对新启动系统治疗的实体瘤患者,能否在治疗开始前预测未来 90 天症状性 VTE 风险,并评估“肿瘤负荷、治疗损伤、炎症凝血、活动状态”模块的增量预测价值? |
| 简要解释 | 这个问题非常适合 hypothesis-driven AI。它不是把所有变量都丢进模型,而是先根据临床机制把变量分成模块,再看哪些模块真正提升预测能力和校准表现。 |
| 可加的 DAG 思路 | 癌症分期 → 治疗强度 → 血管损伤/活动减少 → VTE;癌症负荷 → 凝血激活 → VTE;症状和医生怀疑 → 影像检查 → EHR 记录的 VTE。 |
学术价值点:
这个问题既有预测价值,也有机制价值。DAG 和因果思维已被用于讨论临床风险预测模型中的变量选择和可迁移性。
3. 内分泌:2 型糖尿病与 CKD 进展
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | HbA1c、空腹血糖、餐后血糖、BMI、血压、血脂、eGFR、尿白蛋白、用药、低血糖事件、眼底检查、足病筛查、住院记录 |
| 错误研究问题 | 分析糖尿病患者哪些指标和肾病有关。 |
| 为什么错 | “有关”太模糊;不知道是预测、解释还是因果;没有定义糖尿病起点、肾病起点和随访时间;容易把治疗后的指标当成基线风险因素。 |
| 正确研究问题 | 对新诊断 T2DM 患者,基线 HbA1c、BMI、肾功能、尿白蛋白、血压和用药启动模式能否预测 5 年 CKD 进展风险? |
| 简要解释 | 这个问题把研究对象限定为“新诊断 T2DM”,避免把病程很长、治疗阶段不同的患者混在一起。结局也从“肾病”具体化为“CKD 进展”。 |
| 可加的 DAG 思路 | 肥胖/胰岛素抵抗 → 高血压/炎症 → CKD;高血糖 → 微血管损伤 → CKD;用药选择受基线肾功能影响,不能简单解释为药物效果。 |
学术价值点:
可以做预后预测,也可以进一步研究不同病理路径对 CKD 进展的贡献。
4. 肾脏病:造影相关 AKI
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | 肌酐、eGFR、尿量、血压、液体平衡、造影剂、NSAIDs、ACEI/ARB、利尿剂、感染、手术、ICU 入住、透析记录 |
| 错误研究问题 | 研究造影剂是否导致所有住院患者 AKI。 |
| 为什么错 | 暴露人群不清;AKI 发生时间不清;做造影本身受病情影响;未处理适应证混杂;不能把普通相关性直接说成因果。 |
| 正确研究问题 | 对接受增强 CT 的住院患者,造影前基线肾功能、合并症、血流动力学和肾毒性药物暴露能否预测 72 小时内 AKI? |
| 简要解释 | 如果目标是预测,就把问题限定在“已接受增强 CT 的患者”,只用造影前信息预测造影后 AKI。如果目标是因果,就要另行设计“是否接受造影”的比较研究,不能混在一起。 |
| 可加的 DAG 思路 | 病情严重程度 → 需要造影;病情严重程度 → AKI;造影 → AKI;低血压、感染、肾毒药物也是 AKI 的共同原因。 |
学术价值点:
这个例子很适合说明:预测问题和因果问题不能混写。
5. ICU / 呼吸:脓毒症死亡或休克进展
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | 生命体征、血气、乳酸、白细胞、CRP/PCT、血培养、抗生素、升压药、液体输入、机械通气参数、SOFA/APACHE、ICU 转归 |
| 错误研究问题 | 用 ICU 所有数据预测死亡。 |
| 为什么错 | ICU 全程数据可能包括死亡前恶化指标;模型可能只是识别临终状态;预测时间点不清;无法指导早期干预。 |
| 正确研究问题 | 对 ICU 入室后 6 小时内符合脓毒症标准的患者,能否基于早期生命体征、乳酸、感染来源、器官功能和治疗反应,预测 72 小时内休克进展或 28 天死亡? |
| 简要解释 | 这个问题限定了“入室后 6 小时”作为特征窗口,避免使用太晚的数据。模型如果能在早期识别高风险患者,才可能帮助强化监测或干预。 |
| 可加的 DAG 思路 | 感染严重程度 → 炎症反应/乳酸/器官损伤 → 死亡;治疗强度受病情严重程度驱动,不能简单解释为治疗导致死亡。 |
学术价值点:
ICU 数据密度高,但信息泄漏风险也最高。好的 ICU 模型必须明确早期决策窗口。
6. 神经内科:卒中溶栓后出血风险
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | NIHSS、发病到就诊时间、影像结果、血压、血糖、凝血功能、房颤、抗凝/抗血小板、溶栓/取栓、mRS、住院并发症 |
| 错误研究问题 | 哪些因素影响卒中患者预后? |
| 为什么错 | “预后”不具体;卒中类型不清;干预不清;时间点不清;容易把治疗后并发症与治疗前风险混合。 |
| 正确研究问题 | 对急性缺血性卒中接受静脉溶栓的患者,治疗前临床特征、影像特征和实验室指标能否预测 24–48 小时内症状性颅内出血? |
| 简要解释 | 这个问题服务于溶栓前风险判断。所有预测变量都应该是治疗前可获得的信息,而不是治疗后出现的变化。 |
| 可加的 DAG 思路 | 卒中严重程度 → 溶栓选择/取栓选择;卒中严重程度 → 预后;治疗选择与预后之间有强烈适应证混杂。 |
学术价值点:
如果研究治疗效果,需要因果设计;如果研究风险分层,则应设计治疗前预测模型。
7. 外科 / 围手术期:术后感染或再入院
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | ASA 分级、手术类型、麻醉方式、术前实验室、手术时长、出血量、输血、抗生素、ICU、术后感染、再手术、再入院 |
| 错误研究问题 | 分析哪些手术因素导致术后感染。 |
| 为什么错 | “手术因素”可能包括术前、术中、术后变量;病情复杂度影响手术方式,也影响感染;不能把相关性直接称为导致。 |
| 正确研究问题 | 对择期结直肠手术患者,术前合并症、营养状态、贫血、炎症指标和手术复杂度能否预测 30 天术后感染或非计划再入院? |
| 简要解释 | 这个问题可以做成术前风险模型,服务于术前优化、营养干预、抗生素策略和术后随访安排。 |
| 可加的 DAG 思路 | 基础虚弱/营养不良 → 感染;手术复杂度 → 手术时长/出血 → 感染;术后 ICU 入住可能是严重程度后果,不宜放入术前模型。 |
学术价值点:
围手术期研究特别适合分成术前模型、术中模型和术后早期模型,不要把所有时间点混在一起。
8. 妇产 / 生殖医学:ART 成功率与卵巢反应
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | 年龄、BMI、AMH、AFC、FSH、LH、卵巢刺激方案、获卵数、MII 卵数、受精率、胚胎等级、PGT、移植方式、妊娠结局 |
| 错误研究问题 | 用 IVF 全流程数据预测妊娠成功。 |
| 为什么错 | 如果把胚胎等级、移植情况、黄体支持后反应等全部放入模型,就不是“周期前预测”,而是过程后预测;不同时间点的临床用途完全不同。 |
| 正确研究问题 | 对首次 IVF/ICSI 周期女性,周期前 AMH、AFC、年龄、BMI 和基础激素能否预测卵巢反应不足或过度反应? |
| 简要解释 | 这个问题服务于促排方案制定。周期前模型只能使用周期开始前可获得的数据。获卵后、移植前、移植后应该分别是不同模型。 |
| 可加的 DAG 思路 | 年龄/卵巢储备 → 获卵数/胚胎质量 → 妊娠;胚胎质量是中介,不应放入“卵巢储备对妊娠总效应”的普通调整模型。 |
学术价值点:
生殖医学特别适合“阶段性预测模型”:周期前、获卵后、移植前分别对应不同决策。
9. 感染病:抗生素策略与治疗失败
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | 感染部位、培养结果、药敏、抗生素使用、PCT/CRP、体温、白细胞、器官功能、住院天数、ICU、死亡、复发 |
| 错误研究问题 | 比较用 A 抗生素和 B 抗生素的患者谁死亡率低。 |
| 为什么错 | 抗生素选择强烈受病情严重程度、感染来源、肾功能、耐药风险影响;存在适应证混杂;不能直接解释为药物优劣。 |
| 正确研究问题 | 对血培养阳性的革兰阴性菌血流感染患者,初始 24 小时内经验性抗生素覆盖是否与 30 天死亡或治疗失败相关? |
| 简要解释 | 这个问题需要非常小心。如果只是预测治疗失败,可以做风险模型;如果要比较抗生素策略效果,最好用 target trial emulation 思路定义入组标准、时间零点、治疗策略和随访。 |
| 可加的 DAG 思路 | 感染严重程度 → 抗生素选择;感染严重程度 → 死亡;培养结果时间影响换药,属于时间依赖过程。 |
学术价值点:
感染病真实世界研究常见适应证混杂和不朽时间偏倚,不能用简单“用药组 vs 未用药组”比较得出治疗因果结论。
10. 精神 / 行为医学:抑郁复发和治疗中断
| 项目 | 内容 |
|---|---|
| 常见临床可获得数据 | PHQ-9、诊断、药物处方、心理治疗记录、复诊间隔、急诊、住院、自伤记录、睡眠、共病、社会因素 |
| 错误研究问题 | 用精神科 EHR 数据预测自杀。 |
| 为什么错 | 结局稀有且误分类严重;伦理和临床处置路径要求高;预测窗口不清;模型误报和漏报后果都很大。 |
| 正确研究问题 | 对新启动抗抑郁药治疗的成人抑郁患者,基线 PHQ-9、既往发作史、共病焦虑、睡眠问题和早期复诊模式能否预测 6 个月内治疗中断或复发? |
| 简要解释 | 对初学者来说,治疗中断、症状未缓解、急诊使用等结局可能比自杀更适合作为第一步研究,因为结局更常见、定义更清晰、临床干预路径也更明确。 |
| 可加的 DAG 思路 | 症状严重度 → 治疗强度;症状严重度 → 复发/自伤;复诊频率既可能代表照护充分,也可能代表病情严重。 |
学术价值点:
精神科 EHR 变量受记录习惯影响较大,正确问题应优先选择定义清晰、可行动、可验证的结局。
五、常见错误研究问题清单
| 错误类型 | 错误问题 | 为什么错 | 改写方式 |
|---|---|---|---|
| 数据字段驱动 | 我们有血常规,能做什么课题? | 没有临床不确定性 | 哪个决策点需要血常规帮助判断? |
| 人群不清 | 预测住院患者死亡 | 患者异质性过大 | 预测 ICU 脓毒症患者 28 天死亡 |
| 时间点不清 | 用住院数据预测再入院 | 可能纳入出院后信息 | 用出院前 48 小时数据预测 30 天再入院 |
| 结局不清 | 预测预后 | 预后含义过宽 | 预测 90 天死亡、mRS、再入院或治疗失败 |
| 因果过度 | 某药是否降低死亡? | 观察性数据有适应证混杂 | 模拟目标试验,比较明确治疗策略 |
| 变量误用 | 控制所有可用变量 | 可能控制中介或碰撞变量 | 用 DAG 区分混杂、中介、碰撞 |
| 信息泄漏 | 用全部住院数据预测死亡 | 可能用了死亡前变量 | 限定前 6、24 或 48 小时特征窗口 |
| 检测偏倚 | 用诊断码定义事件 | 事件取决于检查和记录 | 设计结局验证和检测偏倚敏感性分析 |
| 只看 AUC | 做一个 AUC 高的模型 | 不代表临床有用 | 评估校准、决策曲线、外部验证、工作流价值 |
| 无增量价值 | 再做一个通用模型 | 学术新意不足 | 比较现有评分,证明增量价值或新机制价值 |
六、DAG 如何帮你从数据库走向研究问题?
DAG 在这篇文章里不用讲得太数学化。
临床医生可以先把它理解成:
把临床假设画成变量地图。
例如 EHR 中有这些数据:
癌症类型、分期、化疗、D-dimer、影像检查、VTE 诊断码、抗凝药、住院天数
普通数据驱动思路可能会说:
全部放进模型,看哪些变量重要。
DAG 思路会先问:
癌症分期 → 化疗强度 → VTE
癌症分期 → VTE
VTE → 症状 → 影像检查 → VTE 诊断记录
医生怀疑 → 影像检查
VTE → 抗凝药
于是你会马上意识到:
- 化疗前预测模型不能使用 VTE 后抗凝;
- 影像检查不只是疾病风险,也代表检测行为;
- D-dimer 要看测量时间,VTE 前和 VTE 后意义不同;
- 癌症分期可能是混杂因素;
- 活动减少、中心静脉导管可能是中介路径;
- EHR 中的 VTE 诊断码是“被检测并记录的 VTE”,不完全等于真实 VTE。
这就是 DAG 对真实世界研究最大的帮助:
它让你在跑模型之前,先把临床逻辑说清楚。
七、把这篇文章的方法压缩成一个实用模板
临床医生在拿到一个数据库后,可以按下面这个模板写研究问题:
1. 我关心的临床不确定性是什么?
例:
新启动化疗的肿瘤患者中,谁最容易发生 VTE?
2. 这个问题属于哪一类?
- 描述?
- 预测?
- 解释?
- 因果效应?
例:
主要是预测问题,同时带有机制模块解释。
3. 研究人群是谁?
例:
新启动系统治疗的实体瘤患者。
4. time zero 是什么?
例:
首次系统治疗开始日。
5. 预测变量来自哪个时间窗?
例:
治疗开始前 30 天内的临床、实验室、治疗计划数据。
6. 结局是什么?
例:
未来 90 天内症状性、影像确认或诊断 + 抗凝治疗支持的 VTE。
7. 这个问题为什么有学术价值?
例:
现有风险评分在特定癌种或真实世界人群中表现有限;机制模块可能提高风险分层,并帮助理解 VTE 风险来源。
8. 可能的偏倚是什么?
例:
检测偏倚、D-dimer 测量时间不一致、影像检查频率差异、抗凝预防使用带来的混杂。
9. 最终研究问题一句话
例:
在新启动系统治疗的实体瘤患者中,基于治疗开始前 30 天内可获得的临床、实验室和治疗计划数据,能否预测未来 90 天症状性 VTE 风险,并评估肿瘤负荷、治疗损伤、炎症凝血和活动状态模块是否提供传统变量之外的增量预测价值?
八、结语:数据库不是选题机器,而是回答问题的材料
很多临床真实世界研究失败,并不是因为数据库太小,也不是因为算法太弱,而是因为研究问题一开始就没有被正确设计。
“数据库里有什么”只能告诉你:
我可能观察到什么。
但“研究问题是什么”必须告诉你:
我想解决什么临床不确定性;
我在哪个患者群体中解决;
我在什么时间点解决;
我用哪些变量代表哪些临床概念;
我预测的是风险,还是解释机制,还是比较治疗策略;
我的结论能在多大范围内推广。
这也是《Designing Clinical Research》的核心精神:研究设计不是把数据和统计方法拼起来,而是把研究问题、对象、变量、设计和推断边界组织成一个可以被批判、可以被验证、也有临床意义的计划。书中强调,研究计划要从研究问题出发,明确设计、对象、变量、假设、样本量和分析思路;也要持续考虑研究样本、预测变量和结局测量是否真正代表研究者关心的目标人群和临床现象。
真正好的真实世界研究,不是问:
“这个数据库能挖出什么?”
而是问:
“哪个临床问题值得回答,而这个数据库是否足够好地帮助我们回答它?”