IQVIA Disease Analyzer — 欧洲初级保健门诊 EHR 商业数据库 AI-Ready Wikipedia

德法等欧洲多国门诊电子病历纵向库 · 累计数千万患者 · ICD-10 诊断 + EphMRA ATC 处方 · OMOP CDM 映射

来源 IQVIA url: https://www.iqvia.com/solutions/real-world-evidence/real-world-data-and-insights发布时间: 2026-09-18最后更新: 2026-09-25 阅读 22
IQVIA Disease Analyzer — 欧洲初级保健门诊 EHR 商业数据库 AI-Ready Wikipedia

信息速览

数据集名称IQVIA Disease Analyzer — 欧洲初级保健门诊 EHR 商业数据库 AI-Ready Wikipedia
数据类型多国商业门诊 EHR 库,德国子库累计近 3,000 万患者,ICD-10 诊断 + EphMRA ATC 处方,1992 年起纵向记录,OMOP CDM 5.3.1 映射,商业授权获取
规模多国累计数千万患者(德国子库累计近 3,000 万、法国子库累计超 1,000 万)
接入方式IQVIA url: https://www.iqvia.com/solutions/real-world-evidence/real-world-data-and-insights
AI 就绪度

IQVIA Disease Analyzer — 欧洲初级保健门诊 EHR 商业数据库 AI-Ready Wikipedia


INFOBOX

数据集名称 IQVIA Disease Analyzer
英文全称 IQVIA Disease Analyzer(曾用名 Mediplus®、IMS® Disease Analyzer,德国子库曾称 IMS® Germany、法国子库曾称 IMS France)
别名/简称 DA、IMS Disease Analyzer、IQVIA DA Germany / IQVIA DA France
疾病分类 门诊全疾病谱(ICD-11:5A11 2 型糖尿病 / BA00 原发性高血压 / 6A70 抑郁发作 / EA90 银屑病等,覆盖初级保健与门诊专科全部诊断)
SNOMED CT 73211009 Diabetes mellitus / 38341003 Hypertensive disorder / 370143000 Major depressive disorder / 34015006 Psoriasis(库内原始编码为 ICD-10,SNOMED 为跨库对照概念,详见 §2.2)
数据模态 结构化门诊 EHR(诊断 + 处方 + 实验室值)、纵向就诊时序、处方记录(无文本病历、无影像)
AI 任务类型 疾病表型提取、发病率/患病率估计、回顾性队列风险预测、药物利用研究、共病网络挖掘、疫苗安全信号检测、跨库表型算法验证
样本总数 多国累计数千万患者;德国子库 2,500+ 诊所 / 3,100 名医师(13 个专科组)/ 累计近 3,000 万患者;法国子库约 1,000 名 GP / 累计超 1,000 万患者
数据大小 未公开(商业交付,按国家子库与研究时间窗提取,典型研究提取量为数百 MB 至数 GB)
数据格式 提取件(CSV/SAS 等,随项目约定);OMOP CDM 5.3.1 映射版
许可证 IQVIA 商业数据许可协议(逐项目授权,非公开)
访问级别 商业授权(数据提取许可,经 IQVIA 安全平台交付;学术与产业客户均可洽谈)
DUO 标签 不适用(商业逐项目协议约定使用范围,非 DUO 编码体系)
语言 德语、法语(诊所原始记录语言);研究发表语言为英文
首发日期 1992(德国库建立;前身 Mediplus®,曾用名 IMS® Germany)
最后更新 持续更新(季度刷新;德国库登记最近刷新日 2024-12-15)
发布机构 IQVIA(原 IMS Health,IMS Health 与 Quintiles 合并后曾用名 QuintilesIMS,2017 年起为 IQVIA)
官方主页 https://www.iqvia.com/solutions/real-world-evidence/real-world-data-and-insights
下载地址 不适用(无公开下载;需联系 IQVIA 商业洽谈提取许可)
DOI 不适用(无单篇锚定论文;引用建议见 §9)
引用次数 不适用(商业库无单篇锚定论文;基于 DA 的流行病学研究已达数千篇规模,见 §8.5)
AI 就绪度评分 ⭐⭐⭐(3/5)— 规模、代表性与跨国纵向性顶级;扣分项:商业闭源、无公开数据字典、患者 ID 跨机构断裂、无官方数据划分与公开基准
页面状态 published

§0 E-E-A-T 信任声明与免责声明

医学审核者:千方病案医学编辑部交叉审核:§2 医学背景(ICD-11/SNOMED CT 对照、门诊临床任务定义、患者人群特征)、§7 偏倚分析。

数据工程审核者:千方病案医学编辑部交叉审核:§4 DAIMS 数据字典(ICD-10 与 EphMRA ATC 编码体系、患者-诊所层级)、§5 数据划分策略、§6 预处理 Pipeline 和坑点。

审核日期:2026-09-05

审核方式:交叉审核

利益冲突声明:千方病案医数集与 IQVIA 无任何商业利益关联。本页面不销售 IQVIA Disease Analyzer 数据集本身,亦不代理其授权,仅提供 AI 就绪指南与学术信息服务。编辑者未接受 IQVIA 的任何形式资助。

医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献与监管机构目录,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。

技术免责声明:本页面的代码示例、预处理建议为基于公开文献整理的通用范式,非 IQVIA 官方交付规范;实际字段名与表结构以客户提取件的数据字典为准。使用者应自行验证代码安全性和数据预处理流程的正确性。

数据使用合规:使用本页面描述的数据集前,请务必与 IQVIA 签署数据许可协议并遵守协议约定的使用范围(含发表审批条款)。数据为匿名化门诊病历,禁止任何再识别尝试。DUO 标签仅供参考,具体使用限制以 IQVIA 商业协议为准。


§1 数据集概览

§1.0 30 秒速览

  • 一句话定位:IQVIA Disease Analyzer(下称 DA)是把欧洲初级保健诊所的门诊电子病历变成研究可用的匿名纵向患者数据库,是门诊真实世界研究(RWE)与药物流行病学领域被使用最多的商业数据源之一。
  • 核心规模:德国子库累计近 3,000 万患者(约占德国人口 5-7%),法国子库累计超 1,000 万患者;德国侧覆盖 2,500+ 诊所、3,100 名医师。
  • 数据内容:ICD-10 诊断 + EphMRA ATC 处方 + 就诊日期 + 年龄/性别 + 可选实验室值(HbA1c、血脂、血压等)。
  • 监管背书:HMA-EMA 真实世界数据目录收录,DARWIN EU® 数据伙伴,已映射 OMOP CDM 5.3.1。
  • 获取方式:商业授权,无公开下载;适合能承担数据许可费用的团队。
  • AI 就绪度:⭐⭐⭐(3/5)——适合"大样本、低信息密度"的纵向关联研究与表型提取,不适合需要影像、文本或死亡结局的任务。
  • ID 语义(最易踩坑):患者匿名 ID 仅在同一诊所内唯一;同一患者在 GP 与专科诊所是两个 ID,跨机构患者级合并在本库不可行。
  • 监管角色:DARWIN EU®(EMA 监管证据项目)数据伙伴,HMA-EMA 真实世界数据目录收录德国库与 OMOP 版两条目。

§1.1 摘要

IQVIA Disease Analyzer 由 IQVIA(原 IMS Health)自 1992 年(德国)与 1997 年(法国)起运营,从初级保健诊所与门诊专科诊所的患者管理软件中自动提取匿名病历,形成覆盖 ICD-10 诊断、EphMRA ATC 处方、就诊日期、人口学与部分实验室值的多国纵向数据库。其设计目标是代表各国门诊诊疗常规:德国侧入选约 3% 的诊所并按专科/地区/诊所规模分层,多项研究与德国联邦统计局的国家级发病率、患病率数据一致;法国侧以约 1,000 名 GP 的加权面板代表全国门诊人群。该库不公开下载,通过商业提取许可交付,是 DARWIN EU® 与大量药物流行病学、肿瘤流行病学、心血管流行病学研究的底层数据源。对 AI 团队而言,它的价值在于数千万级患者的真实处方-诊断轨迹,代价是信息密度低(无文本、无影像、无死亡结局)且患者标识跨机构断裂。

命名沿革需要特别注意:行业教科书与部分论文仍沿用 IMS® Germany、IMS France 等旧称,检索文献时建议同时使用 “Disease Analyzer”、“IMS Germany”、“IQVIA DA” 三组关键词。更名链条为 Mediplus®(最早体系名)→ IMS Health Disease Analyzer → QuintilesIMS → IQVIA Disease Analyzer,功能主体未变,质量管理体系(QA 校验、分层抽样框架)亦延续。

§1.2 战略价值分析

价值维度 DA 的表现 对 AI 团队的含义
样本量 德国累计近 3,000 万、法国累计超 1,000 万患者 罕见暴露与罕见结局的关联研究在门诊场景可行
纵向深度 1992 年起、患者级跨年就诊轨迹 可构造疾病自然史与治疗时序的预训练/监督信号
人口学代表性 与国家级统计一致(外部验证) 模型与流行病学估计的外推性优于单中心 EHR
多国可比性 德法子库结构一致但编码密度不同 天然的"分布外验证"场,亦是主要陷阱来源
监管认可 DARWIN EU® 数据伙伴、EMA 目录收录 可支撑监管级证据生成流程
成本与访问 商业授权、无公开基准 入场门槛高,成果复现性受协议约束
时间跨度 德国库 1992 年起、法国库 1997 年起 25 年+ 的编码习惯漂移既是风险也是研究素材
患者路径宽度 诊断 + 处方 + 实验室三轴联动 支持"诊断-处方联动"式表型验证,优于纯理赔库
儿科与老年覆盖 门诊全年龄段(含儿科、皮肤、耳鼻喉等专科) 儿童用药(如抗生素处方)研究有文献先例

使用本表的正确姿势:先想清楚研究要靠哪个维度取胜,再看 DA 在该维度是否为"顶格"——若取胜维度是"结局信息密度"(影像、文本、死亡),DA 在任何一格都不是顶格,应换库;若是"人群广度 × 跨国可比 × 处方真实性",DA 三格全顶格。

§1.3 横向对比

维度 IQVIA Disease Analyzer IQVIA IMRD(英国,原 THIN 体系) CPRD Aurum(英国) Optum Clinformatics(美国)
数据场景 门诊/GP + 门诊专科 英国 GP 初级保健 英国 GP 初级保健 美国商保理赔
规模 德累计近 3,000 万患者 累计超 2,000 万患者(约 400 万在册活跃) 约 4,000 万累计患者 数千万会员
编码体系 ICD-10 + EphMRA ATC READ/ICD-10 + 药物字典 SNOMED CT + dm+d ICD-10-CM + NDC
获取 商业授权 商业授权(HRA 认可研究库) 申请制(研究协议) 商业授权
死亡数据 无 有(GP 登记) 有( linkage ONS) 有(理赔口径)
典型用途 欧洲门诊药物流行病学 英国初级保健流行病学 英国初级保健流行病学 美国理赔结局研究

要点:DA 与英国系(IMRD/CPRD)同属"初级保健纵向库",但 DA 无英国子库在售(DA UK 已停止,英国市场由 IQVIA IMRD 承接),且 DA 覆盖门诊专科医师诊所,这一特点为英国系库所不具备。

补充对比(每行一个库):

数据库 一句话定位 与 DA 的关系
IQVIA IMRD(英国) 同公司英国 GP 纵向库,累计超 2,000 万患者 DA UK 的承接者,跨库校准首选
IQVIA LRx(德国) 德国全轨处方记录库 与 DA 拼患者路径的姊妹资产(处方轴互补)
CPRD Aurum(英国) 英国初级保健研究金标准库 同场景竞品,编码体系不同(SNOMED CT)
MIMIC-III / MIMIC-IV(美国 ICU) 开放重症监护库 "住院-门诊"互补对:结局密度高但人群口径窄
MarketScan / Optum(美国理赔) 商保理赔结局研究主力 OHDSI 跨库验证常客;无实验室值

§1.4 版本演进时间轴

时间 事件 来源与备注
1992-01-01 德国库开始采集(前身 Mediplus® 体系,曾用名 IMS® Germany) HMA-EMA 目录登记 establishment 日期
1997-06-15 法国库开始采集(曾用名 IMS France,约 2% 医师加权面板) EMA 目录与分析计划模板
2000 年代 法德英三子库并行运营,IMS Health 时期成为欧洲药物流行病学主力库 行业教科书章节记载
2015-2016 IMS Health 与 Quintiles 合并为 QuintilesIMS,2017 年更名 IQVIA 公司沿革;部分文献仍沿用 IMS 命名
2010 年代后期 DA UK 停止供应,英国市场由 IQVIA IMRD(THIN 数据体系)承接 行业教科书章节明确记载
2022-2024 作为 DARWIN EU® 数据伙伴参与多项监管研究;法德子库完成 OMOP CDM 5.3.1 映射 HMA-EMA 目录(OMOP ETL 状态 Completed)
2024-12-15 德国库登记最近一次季度刷新 EMA 目录 data source last refresh
2025-2026 肿瘤、心血管两大域 DA 叙述性综述相继发表,系统整理 2020-2025 年研究 Cancers(10.3390/cancers18111747)、JCDD(10.3390/jcdd13020061)
2026-09-05 本页完成交叉审核并发布 千方病案医数集

时间轴解读:DA 的"版本故事"本质上是一部欧洲门诊医疗数字化史——从 1990 年代初诊所病历软件普及,到 IMS Health 时代的商业研究网络,再到 IQVIA 时代接入监管级 OMOP 生态。理解这条时间轴有助于解释两个常见困惑:为何旧文献口径与现行规模对不上(子库规模持续增长),为何英国相关 DA 文献在 2010 年代后消失(子库停售、产品线切换)。

§1.5 典型 AI 应用场景

  • 疾病表型与队列提取:以 ICD-10 编码 + 重复就诊规则从数千万患者中提取糖尿病、心血管、自身免疫等队列。
  • 发病率/患病率估计:门诊全人群口径的疾病负担估计,可做德法跨国对比(需处理编码密度差异)。
  • 药物利用研究(DUS):EphMRA ATC 处方轨迹分析,如新药上市后真实处方模式、跨国处方趋势。
  • 回顾性风险预测:以基线共病、实验室值预测 2 型糖尿病等慢性病发病(文献已有 78.3 万人大样本先例)。
  • 疫苗/药物安全信号:CHARYBDIS 等跨国网络用 DA 做背景发生率与安全监测。
  • 跨库表型验证:OHDSI 生态中将 DA-OMOP 与 MarketScan、Optum 等库并行评估表型算法性能。
  • 共病网络与疾病轨迹:利用门诊全疾病谱诊断序列挖掘共病组合与就诊路径(精神科综述确认的典型用法)。
  • 跨国政策/指南效果评估:以处方行为变化为读出,评估指南更新与药品监管措施的真实落地(DUS 研究传统强项)。
  • AI 训练语料的"人群校准器":为 ICU/专科模型提供门诊人群先验(基线患病率、处方率),改善部署后分布对齐。
  • 教学与预研:商业提取前的可行性研究载体——用文献公开的 DA 统计量级反推本团队任务的样本量、功效与偏倚预算,避免签署许可后才发现任务不可行。

§2 医学背景

§2.1 ICD-11 疾病分类锚定

DA 是全疾病谱数据库,无单一"锚定疾病"。为便于 AI 团队对齐任务,下表给出库内高频研究场景在 ICD-11 中的锚定(库内原始编码为 ICD-10,映射关系见 §4):

研究场景 ICD-11 编码 ICD-11 名称 DA 内研究基础
2 型糖尿病 5A11 2 型糖尿病 大量发病率/照护质量研究(如 COVID 前后新诊断照护对比)
1 型糖尿病 5A10 1 型糖尿病 与 2 型糖尿病的鉴别队列研究
原发性高血压 BA00 原发性高血压 儿童高血压与 ARB 处方等监管研究
抑郁发作 6A70 抑郁发作 精神科叙述性综述确认的精神障碍研究平台
银屑病等免疫皮肤病 EA90 银屑病 皮肤科门诊处方与共病研究
心房颤动 BC81 心房颤动 心血管叙述性综述收录的房颤发生率研究
慢性阻塞性肺病 CA22 慢性阻塞性肺病 呼吸科门诊处方与急性加重相关研究
支气管哮喘 CA23 哮喘 儿科与全科门诊高频诊断域

注意:ICD-11 锚定仅为本页面的检索辅助;DA 库内一律使用 ICD-10 编码,跨文献复现时必须先确认编码体系(见 §6.5 坑点 4 的姊妹坑)。

§2.2 SNOMED CT 映射

库内 ICD-10 常见域 SNOMED CT 概念(参考) 概念 ID 映射备注
E11(2 型糖尿病) Diabetes mellitus type 2 44054006 OMOP 映射后经 CONCEPT 关系可通 SNOMED
E10(1 型糖尿病) Diabetes mellitus type 1 46635009 同上
I10(原发性高血压) Hypertensive disorder 38341003 门诊血压值可得性随诊所而异
F32(抑郁发作) Major depressive disorder 370143000 精神科诊断密度跨国差异大
L40(银屑病) Psoriasis 34015006 皮肤科门诊为主要记录源
J44(COPD) Chronic obstructive lung disease 13645005 呼吸科/全科门诊
J45(哮喘) Asthma 195967001 儿科与全科门诊高频

DA 本身不发布官方 SNOMED 字典;上表为研究对齐用的参考概念。若走 OMOP 路线,建议直接使用 OMOP CDM 的 CONCEPT 表( vocabulary_concept_id 体系)而非手工映射。

跨编码体系的操作建议按优先级排序:①有 OMOP 版 → 用 vocabulary_id = ‘SNOMED’ 的标准概念直接分析;②只有原始提取件 → 保留 ICD-10 原码并在论文附录给出自己的映射表;③需要与英国 READ 码库对齐 → 借助跨体系映射中间表(如 NHS TRUD 词典),但需在局限性中声明映射损耗。切勿在论文中混写两套编码而不加标注。

§2.3 疾病简介

DA 支撑的研究以慢性病与常见病为主,原因有三:其一,慢性病(糖尿病、高血压、血脂异常)由初级保健长期管理,门诊记录最完整;其二,精神障碍、疼痛、皮肤病等多在门诊首诊与随访,DA 的门诊专科覆盖(精神科、皮肤科、耳鼻喉科、妇科、泌尿科等)构成独特优势;其三,肿瘤研究在 DA 中主要回答"何种门诊暴露与后续癌症诊断相关"这一 incidence 问题,而非分期或预后问题。因此,把 DA 用作 AI 语料时,任务应选在"门诊可观测"的疾病域内,避免依赖住院细节的任务(详见 §6.5 坑点 6)。

补充一点流行病学背景:DA 文献体系的四大主力域——代谢内分泌(糖尿病及其并发症)、心血管(房颤、心衰、血脂管理)、肿瘤流行病学(暴露-癌症 incidence 关联)、精神科(抑郁、痴呆相关用药与共病)——恰好都是"门诊管理型"疾病。这一分布本身就是对库能力的最好注解:哪些疾病门诊管理权重高,哪些疾病在 DA 中研究就活跃。AI 团队选题时可据此判断任务与数据的匹配度。

§2.4 临床任务定义

任务 输入(DA 内可得) 输出 已有研究形态
发病队列构建 ICD-10 首次诊断 + ≥365 天观察期 事件时间 + 基线协变量 回顾性队列(糖尿病、心血管、NAFLD→T2DM 等)
风险因素关联 基线共病/实验室值/人体测量 发病 HR(Cox 回归) 78.3 万门诊身高-糖尿病研究等
处方模式分析 EphMRA ATC + 处方日期 处方率/转换率/跨国趋势 抗生素与植物药处方跨国研究
表型算法验证 ICD-10/药物/实验室组合规则 敏感度/特异度/PPV OHDSI SLE 表型跨库评估
安全信号检测 暴露队列 + 结局诊断 背景发生率/发生率比 CHARYBDIS 疫苗安全网络
跨国处方趋势 EphMRA ATC 处方率 跨国/跨年处方率与转换率 唑吡坦、曲马多、杜拉糖肽等多国 DUS
断点/政策效果评估 时间序列(按月/季) 政策或疫情冲击前后的行为变化 COVID 期糖尿病新诊断断点分析

§2.5 患者人群特征

OHDSI SLE 表型研究公布的跨库特征表是目前最透明的 DA 人群画像之一:

子库(版本窗口) 人数 首次观察平均年龄 女性占比 中位随访
DA-Germany v1944(2011-2021) 约 3,100 万 43 岁 56% 0.5 年
DA-France v1943(2016-2021) 约 400 万 37 岁 52% 0.9 年

解读要点:

  • 人群构成:门诊全人群(非重症选择),年龄结构接近各国全人口,适合做"人群口径"的流行病学估计;这与 MIMIC-III 这类"重症选择"的 ICU 库形成根本对比。
  • 中位随访短是结构性特征:0.5-0.9 年的中位随访反映"患者仅就诊时被观察"的制度属性,并非数据质量缺陷;做 incidence 研究必须用观察期筛选(≥365 天,见坑点 3)。
  • 跨国差异:德国子库含门诊专科补充数据,法国子库为 GP 加权面板——人群入口不同,跨国合并建模需加国家分层。

抽样与入选机制(决定人群画像的制度性因素):

机制 德国子库 法国子库
入选比例 约 3% 的 GP 诊所 约 2% 的医师(约 1,000 名 GP)
分层变量 医师年龄、专科、社区规模、联邦州 医师年龄、性别、地区、SNIR 诊疗量指标加权
覆盖规则 诊所全部就诊患者入库 面板代表超 400 万患者
记录制度 每次就诊强制记录诊断 不强制逐诊记录
退出机制 诊所退出则其患者退库 患者可 opt-out(知情告知)

对 §7.5 公平性评估的预埋结论:上述抽样机制决定了 DA 中"弱势群体代表性"的两面性——一方面,德法两国门诊可及性高(法国 99% 人口有医保覆盖),低收入人群不会像美国理赔库那样被保险门槛系统性排除;另一方面,缺乏社会经济与族裔字段使"测得的不平等"仅限于就诊强度与诊断率差异,无法上溯到社会决定因素。AI 团队引用 DA 做公平性结论时应明确这一测量边界。

§2.6 金标准/参考标准

  • 外部代表性金标准:德国联邦统计局(Destatis)国家级发病率/患病率统计——多项研究证实 DA 德国子库的慢性病统计与之一致,这是该库最重要的外部效度证据。
  • 表型金标准:无病历可回溯(无法做 chart review),因此 DA 研究用"结构化代理金标准":同一 ICD-10 诊断在多次独立就诊中重复记录、诊断-处方联动(如糖尿病诊断 + 降糖药处方)、实验室值佐证(如 HbA1c)。肿瘤研究普遍要求重复诊断策略以提高 PPV。
  • 监管金标准流程:DARWIN EU® 的研究 SOP(方案预注册、分析计划模板、EMA 目录登记)为 DA 研究提供了可复用的方法学骨架。

代理金标准组合(文献通行的三重验证,可直接复用为表型模板):

验证轴 规则示例 提升的效度维度
重复诊断 同一 ICD-10 码在 ≥2 次独立就诊记录 PPV(排除偶发编码)
诊断-处方联动 E11 诊断 + ATC 降糖药处方 特异度(排除记录错误)
实验室佐证 HbA1c ≥ 阈值(如 ≥6.5%) 严重度分层与时间锚定
观察期约束 索引前 ≥365 天在库 排除 prevalent 混入 incident

使用提醒:上述四轴可以叠加但不可互相替代——重复诊断解决"记没记对",处方联动解决"是不是真有病",实验室佐证解决"病到什么程度",观察期约束解决"是新增还是老病"。发表前自查:你的表型用了几轴?少于两轴的结局定义在审稿中几乎必然被质疑。


§3 数据集规格

§3.0 版本抉择矩阵

DA 没有"版本号"意义上的 release,取而代之的是国家子库 × 交付形态 × 提取时点三个维度。选型矩阵如下:

选项 适用研究 优点 缺点 建议
DA Germany(原始提取) 单国发病率、处方模式、肿瘤/心血管/精神流行病学 最大规模、含 13 个专科组、代表性已验证 仅德国口径;编码密度高但受逐诊记录制度影响 德国问题首选
DA France(原始提取) 法国门诊流行病学、跨国对照 GP 加权面板全国代表 规模小于德国;诊断记录不强制逐诊 与德国并列做跨国敏感性分析
DA-OMOP(CDM 5.3.1) OHDSI 生态、跨库表型验证、DARWIN EU 研究 与全球工具链兼容(ATLAS/Hades) OMOP 版时间窗更短(法国 OMOP 首采集 2012 年起);依赖 ETL 版本 跨库研究首选,注意 ETL 日期
多国联合提取 跨国药物利用、疫苗安全网络 样本量最大、天然分布外验证 编码密度/就诊制度差异;ID 断裂在跨国间更严重 必须按国家分层分析

补充:若研究在英国开展,DA 无英国子库,应改用 IQVIA IMRD(同公司英国产品线);若需要美国门诊/理赔数据,IQVIA 产品组合中对应的是 PharMetrics Plus 等美国资产,不属于 DA 品牌。

选型决策树(文字版):

问题是否只在德国/法国语境下有意义?
├─ 是 → 选对应国家子库(原始提取)
│        └─ 需要专科门诊记录吗?→ 是:德国优先(13 个专科组);否:两国均可
├─ 否,需要跨库可比 → 选 DA-OMOP(CDM 5.3.1)
│        └─ 需要 ATLAS/Hades 工具链或表型库复用吗?→ 是:唯一选择
└─ 否,需要多国联合 → 多国提取 + 国家分层设计
         └─ 结局涉及住院/死亡吗?→ 是:换库或联动,DA 单库不可行

§3.1 模态详细说明

模态总评:DA 是"纯结构化、低频率、长跨度"的门诊时序库。与监护仪驱动的 ICU 时序(毫秒级采样、高维波形)相反,DA 的时序粒度是"次/月"级就诊事件——深度学习社区所说的" irregular temporal time series(不规则采样时序)"在 DA 中以最极端的形态出现。建模时务必尊重这一粒度:任何假设"等间隔采样"的时序架构都会失真。

模态 是否包含 具体形态 AI 可用性
结构化诊断 是 ICD-10 编码 + 就诊日期 + 医师专科 直接可用,是核心信号
结构化处方 是 EphMRA ATC 编码 + 处方日期 直接可用;注意非 WHO ATC(坑点 4)
实验室值 部分可用 HbA1c、空腹血糖、血脂、血压、肌酐、BMI 等 可用性随诊所差异大,需先测缺失率
自由文本 否 门诊病历文本不入库 无
影像/波形 否 无 无
死亡/住院结局 部分间接 住院次数可作过程变量;死亡不可得 不能做生存分析(坑点 6)

§3.2 样本量拆分(国家子库 × 规模要素)

子库 诊所/医师 患者规模 专科覆盖 时间起点
DA Germany 2,500+ 诊所 / 3,100 名医师(13 个专科组) 代表超 1,500 万患者;累计口径近 3,000 万(德人口 5-7%) GP + 内科/心内/皮肤/糖尿病/妇科/神经/骨科/耳鼻喉/儿科/精神/泌尿等 1992
DA France 约 1,000 名 GP(约占法国医师 2%,加权面板) 面板代表超 400 万患者;累计口径超 1,000 万(法人口约 16%) GP 为主 1997
DA UK(已停售) 历史子库 已不提供 历史 已停止
DA-OMOP(法国节点) 同 DA France OMOP 化后按 2012 年起提取 同上 OMOP 首采集 2012

单研究常见样本量级:慢病发病率研究 10 万-80 万患者;跨国处方研究覆盖数百至上千诊所;罕见暴露研究可动员全库数千万患者。

规模数字的三种口径(引用时务必注明,否则会被审稿人质疑):

口径 含义 德国 法国
面板/活动口径 当前面板代表的活跃患者 代表超 1,500 万患者 代表超 400 万患者
累计口径 历史上曾入库的患者总数 近 3,000 万(德人口 5-7%) 超 1,000 万(法人口约 16%)
研究窗口口径 特定版本时间窗内的在库人数 约 3,100 万(2011-2021 窗口) 约 400 万(2016-2021 窗口)

§3.3 数据格式详情

交付形态 格式 说明
研究提取件 CSV / SAS 等表文件(随项目约定) 由 IQVIA 按研究方案提取后经安全平台交付;字段以随附数据字典为准
OMOP CDM 5.3.1 关系库标准表(PERSON/OBSERVATION_PERIOD/CONDITION_OCCURRENCE/DRUG_EXPOSURE/MEASUREMENT) ETL 每 3 个月一次;适用于 OHDSI 工具链

字符集与编码注意:欧洲门诊数据含德语变音符号(ä/ö/ü/ß)与法语重音字符(é/è/ç),历史批次提取件可能出现 Latin-1 与 UTF-8 混用——统一以 UTF-8 读入并在验收时抽查含变音符的药品/地区名,可避免后续流程中静默的编码乱码。

无官方公开的表级 schema 文件;OMOP 路线可套用社区标准文档,原始提取路线必须在项目启动时向 IQVIA 索取数据字典并逐字段确认(坑点 7)。

文献方法学节中披露的记录级细节(可用于验收对照):

记录类型 文献披露的细节 验收检查点
诊断 ICD-10 码 + 就诊日期 + 医师专科 编码长度(3 位域 vs 细码)、日期粒度
处方 EphMRA ATC 码 + 处方日期 是否含药品名称/规格/数量层
实验室 参数名 + 数值 + 单位(IQVIA 标准化) 单位一致性、参数命名表版本
人口学 年龄(或出生年)、性别 年龄是精确值还是分段
就诊 就诊日期 + 医师专科 是否含转诊/住院次数等派生变量

§3.4 存储大小

官方未公开全库体量。经验参考:单一国家、5-10 年窗口的门诊提取件(诊断 + 处方 + 实验室)通常在数百 MB 至数 GB 量级;OMOP 全库导入 PostgreSQL/SQL Server 后建议预留数百 GB 磁盘。AI 团队的实际瓶颈不是存储而是提取方案的确定(见 §5)。

成本结构提示:与开放库"免费下载、自付算力"相反,DA 是"许可付费、算力近零"。预算应向三处倾斜:数据许可费(大头)、方案定义与表型验证的人力(中间项)、分析与建模算力(小头)。第一次提取建议从小窗口、少变量起步,跑通全流程后再扩大提取范围,避免许可范围内的重复提取谈判。

§3.5 标注方式

  • 无人工标注层:DA 是原始诊疗记录库,不存在专家标注的标签文件;所有"标签"均由研究者用编码规则构造(ICD-10 组合、处方联动、实验室阈值)。
  • 规则即标注:表型定义 = 编码规则 + 观察期约束 + 重复记录要求;建议沿用 OHDSI Phenotype Library 或 mimic-code 式的可执行定义风格管理(§5.2)。
  • QA 校验非标注:IQVIA 的入库 QA(诊断-处方联动检查、实验室标准化)是数据质量控制,不能替代结局标注的效度验证。

§3.6 标注者资质

不适用(无标注者体系)。替代性"资质链"为:诊所医师负责原始编码(各国门诊编码制度不同)→ IQVIA 流行病学团队负责 QA 与标准化(法兰克福团队为系列论文核心作者)→ 研究者负责表型定义与验证。AI 团队应把"表型定义审查"交给临床合作者,而非默认编码即真值。

§3.7 数据采集时间范围

子库 采集起点 数据窗说明
DA Germany 1992-01-01 持续至今,季度刷新(登记最近刷新 2024-12-15)
DA France 1997-06-15 持续至今;OMOP 版首采集 2012-01-01
典型研究窗 2005-2023 文献中常见 10-15 年窗口;COVID 时期研究用 2018-2021

注意"采集起点 ≠ 每位患者起点":患者随诊所入选而进入面板,个体观察窗取决于其就诊史。

刷新节奏与研究的交互:季度刷新意味着"同一个 2021 年"在 2024 年与 2026 年两次提取中的内容可能不同(补录、编码修订、诊所进出)。做法上,把研究窗口定义为"日历年窗口 + 提取日期"二元组,例如"2010-2020 窗口,2024-06 提取"——这也是 Loosen 2023(2010-2020)与 Kowall 2023(2018-2021)等论文在方法学中体现的口径习惯。

§3.8 地理覆盖

国家/区域 覆盖状态 说明
德国 核心,全库最大 约 3% GP 诊所入选,分层代表性已验证
法国 核心 GP 加权面板(年龄/性别/地区/SNIR 活动量指标加权)
英国 已停止 DA UK 已停售;同公司改由 IMRD(THIN 数据体系)承接英国市场
其他欧洲国家 按项目洽谈 监管网络研究主要在法德(及英国 IMRD)子库上执行
美国 不属于 DA 品牌 IQVIA 美国门诊/理赔资产(PharMetrics Plus 等)为独立产品线

跨国研究的事实边界:监管级多国研究(如 DARWIN EU 的药物利用研究)主要在法国、德国(及英国 IMRD)子库上执行;“DA 覆盖 N 个欧洲国家"的说法应以具体合同与子库清单为准,公开文献可验证的规模数字集中在德法两国。跨国扩展的合理叙事是"IQVIA RWD 组合覆盖多国”,而非"DA 单品牌覆盖多国"。

§3.9 采集设备规格

无固定硬件设备——数据来自各诊所的患者管理软件(practice management software),经软件接口自动匿名提取、每月传输至 IQVIA。对 AI 团队的含义:无设备系统型号断层问题(对比 MIMIC-III 的 CareVue/MetaVision 双系统坑),但存在"诊所软件异质性"这一同类风险——不同软件的诊断模板、实验室接口标准化程度不同,表现为实验室值缺失率与单位不一致,需在数据字典确认环节逐字段排查。

§3.10 深度溯源链

层级 环节 责任方 可审计性
1 门诊就诊记录(ICD-10/处方/检验) 诊所医师 无原始病历可回溯(EMA 目录明确 no chart validation)
2 病历软件自动提取 + 匿名化 软件供应商/诊所 匿名化流程由 IQVIA 管理;患者可 opt-out(法国面板明确告知)
3 每月匿名传输 诊所 → IQVIA 传输完整性纳入 QA
4 入库 QA(完整性/正确性/诊断-处方联动/实验室标准化) IQVIA 官方声明持续 QA;细节不公开
5 子库组装与季度刷新 IQVIA EMA 目录登记刷新日期
6 OMOP ETL(CDM 5.3.1,每 3 个月) IQVIA/DARWIN EU 体系 ETL 状态 Completed,版本可向 IQVIA 确认
7 研究提取件 IQVIA → 客户 提取日期与范围写入研究方法学(强烈建议)

溯源链的薄弱环节有两处,均已被官方声明承认:①第 1 层无法回溯(no chart validation,EMA 目录明确登记);②第 4 层 QA 规则细节不公开(仅声明存在持续 QA)。AI 团队应在论文 limitation 中如实引用这两点,而不是笼统写"data quality ensured by IQVIA"。


§4 数据结构详解

§4.0 目录结构预览

以典型研究提取件 + OMOP 双路线示意(字段名以项目数据字典为准):

iqvia_da_extract_germany_2024/          # 原始提取路线(示例布局)
├── patients.csv        # 患者主索引:pseudonym_id, birth_year, sex, practice_id, specialty
├── diagnoses.csv       # ICD-10 诊断:pseudonym_id, visit_date, icd10_code, physician_specialty
├── prescriptions.csv   # 处方:pseudonym_id, presc_date, ephmra_atc_code
├── lab_values.csv      # 实验室/生命体征:pseudonym_id, date, parameter, value, unit
├── practices.csv       # 诊所:practice_id, region, specialty, community_size
├── referrals.csv       # 转诊/住院次数等过程变量(若方案约定包含)
└── data_dictionary.pdf # IQVIA 随附数据字典(逐字段确认,含缺失约定)

iqvia_da_omop/                          # OMOP CDM 5.3.1 路线(标准表名)
├── PERSON / OBSERVATION_PERIOD
├── CONDITION_OCCURRENCE                # ICD-10 → concept_id
├── DRUG_EXPOSURE                       # EphMRA ATC → concept_id
├── MEASUREMENT                         # HbA1c / BP / lipids
├── VISIT_OCCURRENCE                    # 就诊事件
└── VOCABULARY / CONCEPT / CONCEPT_ANCESTOR

双路线选择:日常探索与表格 ML 走提取件(快);需要可复现表型定义、跨库验证或监管交付时走 OMOP(稳)。两条路线可并行——提取件用于快速迭代,OMOP 用于定稿交付。

§4.1 DAIMS 标准化字段描述表

概念表 关键字段(典型) 编码体系 AI 用法 注意事项
患者索引 pseudonym_id、出生年(或年龄段)、性别、practice_id — 队列主键 ID 仅诊所内唯一(坑点 1);年龄可能为分段而非精确出生日期
诊断事件 visit_date、icd10_code、医师专科 ICD-10(德国强制逐诊记录) 表型/结局定义主信号 法国不强制逐诊记录 → 编码密度跨国不可直接比(坑点 2)
处方事件 presc_date、ephmra_atc_code EphMRA ATC(EphMRA 分类) 暴露定义、治疗轨迹 与 WHO ATC 同名不同义(坑点 4);处方≠服用(坑点 5)
实验室/体征 date、parameter、value、unit 厂商/当地标准化(IQVIA 统一化) 基线协变量、风险分层 完整性随诊所差异大;先测缺失率与单位一致性
诊所 practice_id、地区、专科、社区规模 分层抽样维度 分层/加权、敏感性分析 抽样框架是代表性的来源,也是聚类相关性的来源
过程变量 转诊次数、住院次数、HbA1c 测量次数 研究变量层 医疗利用强度校正 文献常将就诊频率纳入匹配/调整(检测强度偏倚)
时间戳 visit_date / presc_date(日期粒度) — 时序建模、观察期计算 真实年份保留(无偏移);无时刻级时间,当日内顺序不可知

§4.2 标签分布统计

DA 无预设标签列,"标签分布"即研究者所定义结局的人群阳性率。公开文献给出的可对齐锚点:

结局(研究定义) 阳性规模 口径备注
2 型糖尿病新诊断(德国 970 诊所,2018-2019) 21,747 例新诊断 首诊 E11 + 12 个月无糖尿病史/降糖药处方
2 型糖尿病新诊断(疫情期对照,2020-2021) 20,513 例 同上规则;2020 年 3/4 月新诊断较前两年同月降 18.3%/35.7%
NAFLD 队列(德国,2005-2020) 17,245 例 + 匹配对照 5 年内 NAFLD 组 18.8% vs 对照 11.7% 发生 T2DM
身高-T2D 队列(德国,2010-2020) 783,029 名成人门诊 有身高记录者子集(提示实验室/体征记录的选择性)

AI 团队应把上表当作"任务可行性检查":你的目标结局在 DA 内是否有文献先例的阳性率量级,决定了样本量与偏倚策略。

两点提醒:其一,上表阳性率均建立在严格 washout 规则之上(12 个月无糖尿病诊断与降糖药处方),直接复现数字必须复现规则;其二,疫情期"新诊断下降"提示标签分布受外生冲击影响——用 2018-2019 数据训练的发病率模型,在 2020-2021 上的先验分布会漂移(详见 §7.6)。

§4.3 关键字段描述性统计

公开渠道无全库字段级统计,可用文献披露的三类锚点做项目内校验:

  • 人口学:德国子库首次观察平均年龄约 43 岁、女性 56%;法国子库约 37 岁、52%(OHDSI 跨库表)。
  • 观察窗:中位随访 0.5 年(德国)/0.9 年(法国)——大多数患者观察期很短,是"就诊驱动"结构的直接体现。
  • 缺失形态:实验室值"有记录才存在";文献研究均先筛选有目标测量(如身高、HbA1c)的子集,提示测量记录本身与就诊强度相关(选择性测量偏倚,§7.1)。

项目内校验锚点表(拿到提取件第一周应复核的数字):

校验项 公开锚点 偏差处置
性别比 德 56% 女 / 法 52% 女(OHDSI 表) 偏差 >3 个百分点 → 检查提取窗口与排除规则
首次观察平均年龄 德 43 岁 / 法 37 岁 明显偏老 → 可能只提取了慢病专科诊所
中位随访 德 0.5 年 / 法 0.9 年 明显偏长 → 提取可能只含活跃患者
就诊频率分布 文献常将就诊频率入模 与目标研究的匹配变量分布对照

§4.4 数据层级关系(两级主键体系)

practice_id(诊所)
└── pseudonym_id(患者,仅诊所内唯一)          ← 关键约束
    ├── diagnoses(1:N,按 visit_date 排序)
    ├── prescriptions(1:N,按 presc_date 排序)
    └── lab_values(1:N,parameter 维度稀疏)

推导键:pseudonym_id + practice_id = 跨表连接的实际唯一粒度
禁忌:假设 pseudonym_id 全库唯一(同一患者在 GP 与专科处是不同 ID)

碎片化实例:一名高血压患者在 GP 处随访(ID=DE-001,5 年连续记录),
同时每半年看心内科(ID=DE-877,4 条记录)。两段记录各自完整,
但任何"全库合并去重"都会:①把同一人算成 2 个患者(分母虚高);
②把心内科记录当作独立 0.5 年观察者(随访统计失真)。
唯一正确姿势:以"患者-诊所"片段为单位分析,或放弃跨机构合并。

与 MIMIC-III 的三级主键(SUBJECT_ID → HADM_ID → ICUSTAY_ID)对比:DA 的断裂发生在第一级——"同一个人"在跨诊所时就是两个 ID,因此跨机构患者级合并在本库不可行,分析单元应定义为"患者-诊所"连续照护片段。

§4.5 缺失值情况与信息性缺失编码

缺失类型 机制 信息性含义 处理建议
实验室值缺失 MNAR(未就诊/未开单则无记录) 缺失与就诊强度、疾病管理强度相关 缺失指示变量 + 就诊频率调整;勿用简单均值填充
诊断缺失 漏诊/延迟记录/不申报 门诊诊断是"被记录的病"而非"存在的病" 重复诊断策略;≥365 天观察期
处方缺失(住院用药) 结构性:住院处方不入库 住院期暴露系统性缺失 暴露定义注明"门诊处方口径"
死亡结局 完全缺失 无法构造死亡标签 改用中间结局(新诊断、处方转换)
身高/体重等体征 选择性记录 记录者多为慢病管理者 敏感性分析:限定有完整基线测量的子集
跨国字段差异 制度性 德法字段范围与记录密度不同 按国家子库分别定义缺失规则

§5 数据划分与使用建议

§5.1 官方数据划分

划分 是否提供 说明
官方 train/val/test 无 商业库按研究范围交付,不存在官方划分
官方基准任务 无 无公开排行榜(见 §8.1)
交付边界 项目级 提取件即分析边界;新增变量需与 IQVIA 另行确认

这一"无划分"状态与 MIMIC-III 的差异值得展开:MIMIC-III 虽也无官方划分,但社区以 mimic3-benchmarks 等固定划分形成了事实标准;DA 的研究彼此独立、提取范围各异,连事实标准都不存在。因此 DA 项目的"划分选择"本身就是方法学贡献的一部分,必须在论文中完整披露(对照 §5.2 四种策略)。

§5.2 推荐划分策略

策略 场景 做法 防泄漏要点
按"患者-诊所"分组划分 通用监督任务 GroupShuffleSplit(组 = pseudonym_id + practice_id) 同一患者片段不得跨集;同诊所高相关,建议诊所级嵌套划分
按时间切分 部署模拟/外推评估 训练 ≤ 年份 T,测试 > T(如 COVID 断点) 编码制度随时间漂移(§7.6)需监控
按国家切分 跨国泛化 德训练 → 法测试(或反向) 先校正编码密度差异再评估(坑点 2)
巢式病例对照抽样 罕见结局 按索引日匹配年龄/性别/就诊频率 匹配变量不得再进入模型特征

划分代码骨架(GroupKFold,组 = 患者或诊所):

from sklearn.model_selection import GroupKFold

gkf = GroupKFold(n_splits=5)
groups = cohort["group_key"]           # 患者或诊所级组键(见 §4.4)
for tr, te in gkf.split(X, y, groups):
    assert set(groups.iloc[tr]) & set(groups.iloc[te]) == set()  # 组零交集
    # 每折内重新执行 §6.3 预处理(缺失指示/标准化不得跨折拟合)
    fit_fold_pipeline(X.iloc[tr], y.iloc[tr]).eval(X.iloc[te], y.iloc[te])

§5.3 数据泄漏风险防御

  • 患者-诊所双重身份:把不同诊所的记录当作不同"样本"而不分组 → 同一人的轨迹同时出现在训练与测试。防御:以实际唯一粒度(患者-诊所)建组。
  • 诊断日期即事件日期:用首次 ICD-10 记录日定义结局日,而诊断往往延迟于真实发病 → 若特征窗与结局窗用同一就诊日切分,产生时序泄漏。防御:特征窗严格结束于索引日前,并留 washout。
  • 处方回溯偏差:以"曾用某药"定义暴露时把索引日之后的处方也纳入 → 事后信息泄漏。防御:暴露窗硬性截止于索引日。
  • 就诊频率作为特征:就诊次数是结局(重病者就诊多)与检测强度(多查多得)的共同通道,直接入模可放大偏倚。防御:作为匹配/调整变量而非特征,或做双模型敏感性分析。
  • 跨国合并的分布混淆:把德法数据混训后,模型把国家编码密度差异学成"疾病信号"。防御:国家分层训练/评估,或在特征中显式保留国家项并做交互检验。

§5.4 交叉验证建议

  • 分组 K 折(GroupKFold,组 = 患者或诊所)+ 每折内重新执行全部预处理(含缺失指示、标准化)。
  • 时间敏感任务用前向链(expanding window)验证,模拟"季度刷新"后的真实使用场景。
  • 跨国任务:一国训练、一国零样本测试,报告性能下降幅度作为泛化性证据(而非只报告同国 CV)。

嵌套设计的补充说明:当同一研究同时使用原始提取件与 OMOP 版时,两个版本的数据粒度可能不一致(OMOP ETL 可能丢弃或重构部分原始字段)。任何跨版本对比都应记录两侧 ETL/提取版本号,且结论以"同版本内比较"为限——版本间差异会被误读为方法学效果,这是商业库特有的隐性混淆。

§5.5 外部验证

外部数据源 匹配度 可验证内容 注意
IQVIA IMRD(英国 GP) 高(同为初级保健纵向库) 表型 PPV、发病率量级 编码体系不同(READ vs ICD-10)
CPRD Aurum 高 同上 需商业/学术许可
IQVIA PharMetrics Plus(美国理赔) 中(理赔口径) 跨医疗体系泛化 无实验室值,特征集会收缩
OMOP 网络库(MarketScan/Optum/JMDC) 中-高 OHDSI 表型算法跨库一致性 依赖各库 ETL 质量

§6 AI 就绪指南

§6.0 云端快速启动

DA 不能自助下载,"云端启动"的第一步是合规获取与环境规划:

  • 获取路径:联系 IQVIA(RWD 团队)→ 明确国家子库、时间窗、变量范围 → 签署数据许可协议 → 提取件经安全平台交付(或开通 OMOP 分析环境)。
  • 环境建议:提取件量级不大(数百 MB-数 GB),单机 pandas/DuckDB 即可起步;OMOP 路线建议 PostgreSQL + OHDSI WebAPI/ATLAS。
  • 合规红线:按协议使用(发表可能需报备);不得尝试再识别;结果输出需经小单元格抑制(小样本计数)审查。

启动前自查清单(对照 IQVIA 洽谈时逐项确认):

[ ] 国家子库与时间窗已明确(德/法/多国;起止年份)
[ ] 变量清单已书面化(诊断/处方/实验室参数与单位)
[ ] 数据字典随附交付已写入合同
[ ] 提取交付格式与传输平台已确认
[ ] 发表与结果共享条款已确认
[ ] OMOP 版是否可用、ETL 版本号已确认(若走 OHDSI 路线)

§6.1 快速上手(提取件 + pandas 本地版)

以下为"拿到提取件之后"的标准起步代码(字段名以你的数据字典为准):

import pandas as pd

# 步骤 1:加载核心表(示例字段名,以 IQVIA 数据字典为准)
patients = pd.read_csv("patients.csv")        # pseudonym_id, birth_year, sex, practice_id
diagnoses = pd.read_csv("diagnoses.csv")      # pseudonym_id, visit_date, icd10_code
drugs = pd.read_csv("prescriptions.csv")      # pseudonym_id, presc_date, ephmra_atc_code
diagnoses["visit_date"] = pd.to_datetime(diagnoses["visit_date"])
drugs["presc_date"] = pd.to_datetime(drugs["presc_date"])

# 步骤 2:构造观察期(observation period)——DA 无现成 OBSERVATION_PERIOD 表
# 患者观察窗 = 其在库内首次至末次就诊日(保守口径)
obs = diagnoses.groupby("pseudonym_id")["visit_date"].agg(["min", "max"])
obs.columns = ["obs_start", "obs_end"]
obs["obs_days"] = (obs["obs_end"] - obs["obs_start"]).dt.days

# 步骤 3:2 型糖尿病(E11) incident 队列:首次 E11 前有 >=365 天观察期、
# 且此前 12 个月无 E10-E14、无降糖药处方(对齐已发表研究规则)
e11 = diagnoses[diagnoses["icd10_code"].str.startswith("E11")]
first_e11 = e11.groupby("pseudonym_id")["visit_date"].min().rename("index_date")
cohort = first_e11.to_frame().join(obs, how="inner")
cohort = cohort[cohort["index_date"] - cohort["obs_start"] >= pd.Timedelta(days=365)]
# 再合并糖尿病历史与处方排除(略,同结构 filter)

# 步骤 4:分组键 = 患者-诊所(跨表连接与划分都用它,勿用 pseudonym_id 单独做组)
cohort = cohort.merge(patients[["pseudonym_id", "practice_id"]], on="pseudonym_id")
cohort["group_key"] = cohort["pseudonym_id"] + "|" + cohort["practice_id"]
print(len(cohort), "incident T2D patients after 365-day rule")

DuckDB 变体(提取件较大、需要 SQL 化探索时更顺手):

-- DuckDB 直读 CSV:2 型糖尿病 incident 队列(对齐 §6.1 规则)
CREATE OR REPLACE VIEW dx AS
SELECT * FROM read_csv_auto('diagnoses.csv');

WITH obs AS (
  SELECT pseudonym_id,
         MIN(visit_date) AS obs_start,
         MAX(visit_date) AS obs_end
  FROM dx GROUP BY pseudonym_id
),
first_e11 AS (
  SELECT pseudonym_id, MIN(visit_date) AS index_date
  FROM dx WHERE icd10_code LIKE 'E11%'
  GROUP BY pseudonym_id
)
SELECT f.pseudonym_id, f.index_date
FROM first_e11 f JOIN obs o USING (pseudonym_id)
WHERE date_diff('day', o.obs_start, f.index_date) >= 365;  -- ≥365 天观察期

OMOP 路线(若已开通 CDM 环境,cohort 直接用 ATLAS/CIRCE 表达):

-- OMOP CDM 5.3.1:T2D incident cohort 骨架(SQLite/PostgreSQL 通用语法示意)
SELECT c.subject_id, MIN(c.cohort_start_date) AS index_date
FROM cohort c
JOIN observation_period op
  ON op.person_id = c.subject_id
 AND op.observation_period_start_date <= DATEADD(day, -365, c.cohort_start_date)
GROUP BY c.subject_id;
-- 完整规则(E10-E14 排除、降糖药排除)建议在 ATLAS 中图形化定义后导出 JSON 存档

§6.2 数据获取流程

[1] 方案定义   → 研究问题、国家子库、时间窗、变量清单(含实验室参数与单位确认)
[2] 商务与合规 → 与 IQVIA 签署数据许可协议;确认发表与结果共享条款
[3] 提取交付   → IQVIA 按方案提取,经安全平台交付;随附数据字典 + 提取日期
[4] 到货验收   → 对照数据字典逐字段检查缺失率/单位/编码范围(一周内反馈异常)
[5] 环境落地   → 原始提取件入 DuckDB/PostgreSQL;或使用 OMOP CDM 5.3.1 环境
[6] 版本登记   → 记录子库版本、刷新日期、提取日期(论文方法学与复现性必需)

流程的两个关键时点:[4] 到货验收是唯一能低成本纠错的窗口——提取件字段问题在合同期内反馈 IQVIA 可安排重提,超过窗口后只能自行绕行;[6] 版本登记最易被忽视,却是审稿与复现请求的救命稻草(坑点 8)。

§6.3 预处理 Pipeline

# Pipeline A:观察期与索引规则(流行病学口径,全部任务的前置步骤)
def build_observation_period(diagnoses, min_days=365):
    obs = diagnoses.groupby("pseudonym_id")["visit_date"].agg(["min", "max"])
    obs.columns = ["obs_start", "obs_end"]
    obs["obs_days"] = (obs["obs_end"] - obs["obs_start"]).dt.days
    return obs

def incident_cohort(diagnoses, drugs, code_prefix, min_obs_days=365,
                    washout_codes=None, washout_atc=None):
    obs = build_observation_period(diagnoses)
    idx = (diagnoses[diagnoses["icd10_code"].str.startswith(code_prefix)]
           .groupby("pseudonym_id")["visit_date"].min().rename("index_date"))
    coh = idx.to_frame().join(obs, how="inner")
    coh = coh[coh["index_date"] - coh["obs_start"] >= pd.Timedelta(days=min_obs_days)]
    if washout_codes:  # 索引前 washout 窗口内不得出现的相关诊断
        coh = exclude_prior_codes(coh, diagnoses, washout_codes, window_days=365)
    if washout_atc:    # 索引前 washout 窗口内不得出现的相关处方
        coh = exclude_prior_atc(coh, drugs, washout_atc, window_days=365)
    return coh
# Pipeline B:暴露/结局矩阵(诊断计数 + 处方 + 实验室基线)
def feature_matrix(cohort, diagnoses, drugs, labs, index_date_col="index_date"):
    d = diagnoses.merge(cohort.reset_index()[["pseudonym_id", index_date_col]],
                        on="pseudonym_id")
    pre = d[(d["visit_date"] < d[index_date_col]) &
            (d["visit_date"] >= d[index_date_col] - pd.Timedelta(days=730))]
    dx_feat = (pd.crosstab(pre["pseudonym_id"],
                           pre["icd10_code"].str[:3]) > 0).astype(int)  # 3 位 ICD 域
    rx = drugs.merge(cohort.reset_index()[["pseudonym_id", index_date_col]],
                     on="pseudonym_id")
    pre_rx = rx[rx["presc_date"] < rx[index_date_col]]
    rx_feat = (pd.crosstab(pre_rx["pseudonym_id"],
                           pre_rx["ephmra_atc_code"].str[:1]) > 0).astype(int)
    X = dx_feat.join(rx_feat, how="outer", lsuffix="_dx", rsuffix="_rx").fillna(0)
    return X  # 实验室基线单独按"索引前最近一次测量"合并,并加缺失指示列
# Pipeline C:实验室基线(最近一次测量 + 时距 + 缺失指示三列法)
def lab_baselines(cohort, labs, params=("HbA1c", "LDL", "SBP"), window_days=730):
    out = cohort[[]].copy()
    for p in params:
        lv = labs[(labs["parameter"] == p)].merge(
            cohort.reset_index()[["pseudonym_id", "index_date"]], on="pseudonym_id")
        lv = lv[(lv["date"] < lv["index_date"]) &
                (lv["date"] >= lv["index_date"] - pd.Timedelta(days=window_days))]
        last = (lv.sort_values("date")
                  .groupby("pseudonym_id").tail(1)
                  .set_index("pseudonym_id"))
        out[f"{p}_value"] = last["value"]                       # 数值(未填充)
        out[f"{p}_days_before_idx"] = (last["index_date"] - last["date"]).dt.days
        out[f"{p}_missing"] = out[f"{p}_value"].isna().astype(int)  # 信息性缺失指示
    return out
# 注意:缺失指示列本身就是特征(MNAR 机制见 §4.5);数值列切勿跨折均值填充。

要点:所有特征窗硬截止于索引日(防 §5.3 泄漏);ICD 先截到 3 位域做粗粒度特征,再按任务细化;实验室值一律"最近一次 + 距索引日天数 + 缺失指示"三列并列。

§6.4 框架加载

路线 工具 关键操作
提取件 → 表格 ML DuckDB / pandas / scikit-learn / LightGBM §6.3 矩阵直接入模;类别特征用原生支持
提取件 → 深度时序 PyTorch(visit-level Transformer / GRU) 以就诊为事件单位构造序列;注意短随访人群的序列截断
OMOP → OHDSI ATLAS( Cohort 定义)、Hades(Characterization/PopulationLevelEffectEstimation) 用 CIRCE 表达 ICD-10/ATC 规则,导出可复现 JSON
OMOP → 跨库验证 CohortDiagnostics、PheValuator 对齐 OHDSI SLE 研究的评估流程

§6.5 常见坑点

八个坑点速查表(详细四段式见下):

# 坑点 分类 一句话解法
1 患者 ID 仅诊所内唯一 数据泄漏 分析单元 = 患者-诊所片段,按组划分
2 德法编码密度不同 偏倚陷阱 跨国一律分层报告,处方做锚点
3 仅就诊时被观察 评估误用 主分析限定 ≥365 天观察期
4 EphMRA ATC ≠ WHO ATC 标签理解 按类别根节点对齐,勿按码位
5 处方 ≠ 服药、住院用药缺位 预处理陷阱 声明门诊口径 + 暴露窗敏感性分析
6 无死亡/分期/住院细节 标签理解 改用门诊可观测中间结局
7 字段可得性因库而异 工程陷阱 到货第一周全字段巡检
8 季度刷新且不可公开复现 工程陷阱 冻结提取三元组 + 开源代码

⚠️ 坑点 1:患者 ID 仅诊所内唯一——跨机构合并制造幽灵患者与幽灵划分(分类:数据泄漏)

问题:患者自由择医,同一人在 GP、专科诊所各有不同 ID;把全库当"患者=ID"处理,既无法合并真实同一人,又会在划分时把同一诊所高度相关的记录分进训练与测试。

症状:按 pseudonym_id 做 GroupShuffleSplit 后测试集 AUROC 虚高;试图用"年龄+性别+诊断串"模糊合并跨机构记录时产生大量假阳性匹配;跨国研究行数与各国官方就诊人数对不上。

解决:简单方法——分析单元定为"患者-诊所"连续照护片段,划分组 = 片段所属诊所;进阶方法——按诊所做嵌套划分(训练/测试诊所不相交),评估诊所间泛化;SOTA 方法——接受跨机构断裂,仅在使用官方声明支持跨库拼接的国家子库版(若有)时才做患者级合并,并在论文中明确声明 ID 语义。

参考:EMA 儿童高血压分析计划"General limitations"节;行业教科书 DA 章节(GP 与专科双 ID 说明)。

⚠️ 坑点 2:德法编码密度不同——跨国"发病率差异"可能只是记录制度差异(分类:偏倚陷阱)

问题:德国要求医师每次就诊记录诊断(reason for encounter),法国无此强制;同一疾病在德国库的"记录率"系统性高于法国库。直接跨国比较发病率/患病率会把制度差异当流行病学差异。

症状:德法合并模型中"国家"特征效应异常大;跨国患病率排序与官方统计矛盾;法国子库某些慢性病患病率"低得离谱"。

解决:简单方法——所有跨国对比按国家分层报告,绝不合并估计;进阶方法——用与记录制度无关的锚点(处方记录,两国制度相近)做跨库校准;SOTA 方法——借鉴 DARWIN EU 多库分析模板,先做库级特征描述与 CohortDiagnostics 再合并建模。

参考:EMA 儿童高血压分析计划(明示德法记录制度差异);EMA 目录 Disease Analyzer-OMOP 条目(多国 DUS 研究列表)。

⚠️ 坑点 3:仅就诊时被观察——患病率分母被系统性缩小(分类:评估误用)

问题:患者只在来诊所时贡献观察时间;来过一次、此后健康不再来的人只贡献 1 天观察期。用"总观察时间"做分母的患病率会被高估,incidence 也因观察期低估而失真。

症状:慢性病患病率明显高于国家级统计;随访时间分布严重右偏(中位 0.5 年);加入"观察期 ≥1 年"筛选后样本量骤减但估计值才趋于合理。

解决:简单方法——主分析限定 ≥365 天观察期人群(EMA 分析计划的标准敏感性设计);进阶方法——对首次就诊后流失建模或做样本加权;SOTA 方法——把"就诊过程"显式建模(recurrence/visit process),或用死亡/迁移不可得的敏感性边界分析(E-value/tipping point)。

参考:EMA 儿童高血压分析计划(观察时间低估与患病率高估的原文推导)。

⚠️ 坑点 4:EphMRA ATC ≠ WHO ATC——处方编码体系同名不同义(分类:标签理解)

问题:DA 处方按欧洲医药市场研究协会(EphMRA)的 ATC 分类编码,而非 WHO ATC。层级切分点不同(如 EphMRA 的 J1 为全身用抗感染药,WHO ATC 的 J01 为全身用抗菌药),直接把 EphMRA 码当 WHO 码做暴露定义会静默错分。

症状:药物队列规模与 WHO ATC 口径文献对不上;"某类药使用率"与药品监管数据库矛盾;跨库(DA vs CPRD/理赔库)用药比较系统性偏移。

解决:简单方法——先向 IQVIA 索取 EphMRA 分类表,按类别根节点对齐而非按码位对齐;进阶方法——用药品名称/规格层(若提取件含)映射回 WHO ATC;SOTA 方法——OMOP 路线下用 RxNorm/Vocabulary 完成 Drug→Ingredient 归一,再走标准 drug concept。

参考:DA 抗生素处方研究方法学节(明确写明 “EphMRA ATC code J1”);EphMRA ATC 分类体系文档。

⚠️ 坑点 5:处方 ≠ 服药,住院用药缺位——暴露错分三连(分类:预处理陷阱)

问题:DA 记录的是门诊处方事件:不含依从性信息(是否取药、是否服用),不含住院期间用药;缓释/长疗程药的"一次处方"与"持续暴露"也不是一回事。

症状:暴露-结局关联随暴露窗定义(30 天 vs 90 天 vs 累积)剧烈变化;"保护性效应"实为未取药者的健康用药者偏倚;住院期急性治疗(如化疗、抢救用药)完全不可见。

解决:简单方法——暴露定义显式声明"门诊处方口径",做暴露窗敏感性分析;进阶方法——用重复处方(repeat prescription)近似持续暴露,结合 PDC(proportion of days covered)风格指标;SOTA 方法——与住院/肿瘤登记类数据源三角互证(DA 官方声明其角色是与医院数据互补的门诊数据源)。

参考:DA 肿瘤叙述性综述(住院信息不全的原文表述);DA 心血管叙述性综述(住院诊断须回写门诊才可见)。

⚠️ 坑点 6:无死亡、无分期、无住院细节——把 DA 当"万能结局库"做生存分析(分类:标签理解)

问题:DA 无死亡数据、无肿瘤分期/组织学/分子标记、无住院期诊治细节;用它做总生存期、癌症分期特异性分析或住院再入院预测,结局本身就是错的。

症状:生存曲线"永不下降";再入院模型表现随机;审稿意见一击即中"mortality not available"。

解决:简单方法——改用中间结局(新诊断、处方升级、转诊、实验室恶化),把任务从"硬终点"改为"门诊可观测终点";进阶方法——肿瘤任务限定 incidence 与共病轨迹(DA 综述确认的适用边界);SOTA 方法——与死亡登记/癌症登记库合法联动做增强设计(需额外许可),或引用目标试验模拟框架明确 emulation 的目标量。

参考:DA 肿瘤叙述性综述(无死亡/分期/生活方式变量的系统性列表);DA 心血管叙述性综述。

⚠️ 坑点 7:字段可得性因库/因诊所而异——照搬他人数据字典(分类:工程陷阱)

问题:DA 无公开统一 schema:实验室参数范围、年龄是出生年还是分段、是否含转诊/住院次数变量,都随国家子库、年份窗口与你的提取方案而变。直接复用别人论文的变量表会静默失败或错位。

症状:脚本 KeyError;同一变量在不同批次提取中单位不一致;论文方法学写不出"提取日期与版本",复现请求无法响应。

解决:简单方法——到货第一周做"数据字典核对 + 全字段缺失率/取值域巡检",异常当场反馈 IQVIA;进阶方法——把巡检固化为 ydata-profiling/Great Expectations 式自动验收;SOTA 方法——版本化每次提取(子库版本 + 刷新日期 + 提取日期三元组入 git/DVC),方法学模板化。

参考:EMA 目录(QA 与刷新机制);本页 §3.10 溯源链。

⚠️ 坑点 8:季度刷新 + 无官方划分——结果随提取时点漂移且不可公开复现(分类:工程陷阱)

问题:子库季度刷新、诊所动态进出,两次提取的同一"窗口"内容不同;商业协议通常禁止转发数据,第三方无法复现你的划分与结果。

症状:一年后 rerun 结果不同;审稿人索要数据被协议阻断;团队内部两次分析数字对不上。

解决:简单方法——论文冻结"提取日期 + 子库版本 + 窗口定义",分析代码全量开源;进阶方法——发布无需数据的验证工件(表型 JSON、SQL、合成示例);SOTA 方法——走 OMOP 路线公开 cohort 定义与 Characterization 摘要统计,让社区可在各自许可的库上复算。

参考:EMA 目录 OMOP ETL 条目(刷新频率);OHDSI PheValuator/SLE 研究的公开工件模式。

§6.6 数据增强

  • 不建议合成"伪患者"扩充队列——DA 的价值在真实分布,合成增强会破坏流行病学解释。
  • 可行的"增强"是跨库迁移:用 DA 训练、在 IMRD/PharMetrics 等 OMOP 库验证;以及负样本重加权处理短随访人群。
  • 文本类增强无对象(无文本模态)。

序列任务的实用技巧:以就诊为时间步构造序列时,短随访患者贡献的序列极短(中位 0.5 年随访意味着大量患者只有几次就诊事件)。可以①只取就诊次数 ≥K 的子集做序列模型(并用 K 做敏感性分析);②对短序列采用事件级 padding + mask,而不是丢弃;③把"序列长度"本身作为参考特征但不入模(同 §5.3 就诊频率陷阱)。

§6.7 模型推荐

任务 推荐起点 理由
表型/共病矩阵 LightGBM + 规则基线 编码稀疏特征下 GBDT 稳且可解释;规则基线是文献标准
发病风险预测 Logistic/Cox → LightGBM 文献形态是流行病学回归,先对齐再上模型
就诊序列建模 visit-level Transformer/GRU 以就诊为 token;注意短随访截断与 padding 策略
跨国迁移 domain adaptation / 分层校准 国家分层 + 编码密度校准优先于复杂架构
药物利用预测 时间序列 + 断点分析 月度处方率序列;COVID 类断点是天然验证集
表型算法 规则引擎 + PheValuator 式评估 OHDSI 风格可复现定义,先于任何学习型方案

选型哲学:DA 的方法论文献以流行病学回归为主流,机器学习是增量而非颠覆。新任务先复现文献的回归基线,再引入 ML——这既是对齐社区可比性,也是审稿安全线。

不推荐任务 原因
端到端大模型预训练 事件稀疏 + 单模态,收益远低于专用 ICU/NLP 库
强化学习治疗策略 无死亡与住院结局,奖励函数不可构造
个体级实时风险产品 门诊月级更新节奏无法支撑实时推理场景

§6.8 计算资源需求

提取件路线(数百 MB-数 GB):8 核 CPU + 16-32 GB 内存的常规工作站即可,无需 GPU(除非训练序列模型)。OMOP 路线:PostgreSQL 数百 GB 磁盘 + OHDSI 工具栈(4 核 16 GB 起步)。真正的成本在数据许可费用与人力(方案定义、字典核对、表型验证),不在算力。

资源规划参考表:

阶段 典型配置 预估耗时
到货验收与巡检 笔记本即可(DuckDB 内存分析) 1-2 周(人工核对为主)
表格 ML 迭代 16 核 + 32 GB 单次训练分钟级
序列模型 单卡 GPU(24 GB 显存足够) 单次训练小时级
OMOP 环境搭建 4 核 16 GB + 500 GB 磁盘 首次部署 1 周

§6.9 评估指标

# 表型效度与流行病学口径评估(比 AUROC 更先要做)
from sklearn.metrics import precision_score, recall_score

def phenotype_validity(y_true_chart_proxy, y_pred_rules):
    # DA 无病历金标准:用"重复诊断+处方联动"的强规则做代理真值
    ppv = precision_score(y_true_chart_proxy, y_pred_rules)
    sens = recall_score(y_true_chart_proxy, y_pred_rules)
    return {"PPV_proxy": ppv, "Sensitivity_proxy": sens}

def incidence_per_1000_py(cases, py_exposed):
    # 发病密度:事件数 / 人年 × 1000;py 必须用 ≥365 天观察期人群
    return cases / py_exposed * 1000

# 预测任务:AUROC/AUPRC + 按诊所/国家/年份分组的分层性能与校准(Brier/斜率)

指标优先级:表型 PPV(代理金标准)→ 发病密度/患病率与官方统计一致性 → 判别(AUROC/AUPRC)→ 校准与分层公平性(诊所规模、性别、年龄带)。

校准与分层评估补充代码:

def calibration_and_fairness(y_true, p_pred, df, by=("sex", "age_band")):
    # 按子组报告阳性率、预测均值与校准斜率(logistic 型校准)
    rows = []
    for g in by:
        for level, idx in df.groupby(g).groups.items():
            m = df.index.isin(idx)
            rows.append({
                "group": g, "level": level, "n": int(m.sum()),
                "observed_rate": float(y_true[m].mean()),
                "mean_pred": float(p_pred[m].mean()),
                "auroc": quick_auroc(y_true[m], p_pred[m]),
            })
    return pd.DataFrame(rows)
# 报告规范:任何"整体 AUROC"结论都应附带本表——
# 门诊库的子组样本量差异极大(如极老年带 vs 中年带),整体指标会掩盖小群体的失效。

§6.10 MLOps 笔记

  • 数据版本化:提取三元组(子库版本/刷新日期/提取日期)入 DVC 或同等体系;季度刷新视为新数据版本。
  • 特征漂移监控:编码分布(ICD-10 域频次、ATC 类别)按季度对比;诊所进出面板会改变总体分布。
  • 可复现包:cohort 定义 JSON + 预处理代码 + 环境锁文件;协议允许范围内发布合成样本或统计摘要。
  • 合规流水线:输出单元格计数抑制(小样本)自动化,避免结果表泄密风险。
  • 监控面板:三类指标按月看板——①数据面:新事件量、活跃诊所数、实验室值缺失率;②模型面:特征分布 PSI、子组 AUROC;③业务面:与官方统计的患病率锚点差。
  • 再训练触发:数据版本升级(季度刷新)、编码字典变更、或锚点差超阈值三者任一发生即触发复审。

§7 质量评估与局限性

§7.1 已知偏倚

偏倚 机制 缓解
就诊驱动选择偏倚 不就诊者不入库、不贡献观察时间 ≥365 天观察期;就诊过程建模
检测强度/检出偏倚 就诊频繁者更多诊断与检验机会 就诊频率匹配/调整(文献标准做法)
编码制度偏倚 德强制逐诊记录、法不强制 国家分层;处方锚点校准
漏诊/延迟记录 门诊诊断晚于真实发病 重复诊断策略;washout 设计
处方-用药偏倚 处方≠服用;住院用药缺位 暴露窗敏感性分析;重复处方指标
分层抽样残余偏倚 诊所入选虽分层但非普查 抽样权重与国家统计对齐检查
健康用药者偏倚 开药者往往管理更好 新用药者(new-user)设计 + 活跃对照
时代漂移偏倚 25 年窗口内指南与编码习惯变化 按年代分层;跨期比较显式检验
生存者入样偏倚 重病者短期死亡不入库(死亡不可见) 门诊患病率研究解释边界;避免慢性病"存活者"误读

§7.2 标注质量评估

无人工标注层,标注质量 = 表型定义效度。文献通行验证三件套:①重复诊断要求(同码 ≥2 次独立就诊)提高 PPV;②诊断-处方联动(如 E11 + A10 降糖药);③实验室佐证(HbA1c ≥ 阈值)。天花板:无病历回溯(no chart validation),PPV 无法绝对定标,只能用代理金标准与跨库一致性间接支撑。

表型质量分级框架(本页建议,供项目自查):

等级 定义 典型形态
L1 基础 单次 ICD-10 码命中 快速探索用;PPV 不可控
L2 联动 诊断 + 相关处方/实验室任一佐证 大多数发表研究的底线
L3 严格 重复诊断 + 处方联动 + 实验室阈值三重确认 incidence 研究推荐
L4 跨库 L3 定义在 DA-OMOP 与外部库一致复算 监管/高影响力论文

实践建议:把表型定义写成"可执行工件"(SQL/JSON/Python 函数),随论文或仓库发布——这既弥补了 DA 无法交付数据的先天缺陷,也让后续研究可以在自己的许可库上复算同一表型,形成社区级别的"分布式复现"。

§7.3 泛化性讨论

  • 对门诊人群:德国子库与联邦统计局一致的外部验证是全库最强的泛化性证据;法国 GP 面板按年龄/性别/地区/活动量加权,全国代表性设计明确。
  • 对住院与重症场景:结构性不适用——住院事件须回写门诊才可见,重症人群(ICU、肿瘤晚期)覆盖薄弱。
  • 对模型迁移:DA 模型迁往理赔库会丢失实验室特征,迁往英国 GP 库需换编码体系;跨国迁移必须先做库级诊断(CohortDiagnostics 风格)再评估。

一个有用的思维模型:DA 的泛化半径是"门诊管理型医疗行为"。所有在门诊可观测的量(就诊、诊断、处方、检验)跨库迁移损耗有限;一切依赖住院或死亡读出的量迁移即失效。评估迁移可行性时,先给模型的每个特征与标签标注"门诊可观测度",再决定是否启动迁移实验。

§7.4 伦理考量

匿名化门诊病历(患者可 opt-out,法国面板明确告知机制);研究用知情同意在 EMA 目录登记为 Not Required(匿名化口径)。商业协议约束用途与发表;禁止再识别。AI 用途特别注意:门诊全科人群覆盖未成年人,涉及儿科变量时遵守未成年人数据特别条款;模型输出不得反向绘制个体诊疗画像。

AI 训练场景的三条附加红线:①不得将 DA 用于个体级风险评分产品直接面向患者(数据用途通常限定于科研/统计);②跨库拼接(如 DA + 死亡登记)属协议外行为,必须另行授权;③发布论文附录时检查表格是否含小样本单元格(潜在再识别向量的组合爆炸风险)。

§7.5 公平性评估

def subgroup_report(y_true, y_pred, df, groups=("sex", "age_band", "region")):
    # 检查三个文献已提示的分层维度
    for g in groups:
        for level, mask in df.groupby(g).groups.items():
            sub = df.index.isin(mask)
            yield g, level, {
                "n": int(sub.sum()),
                "auroc": quick_auroc(y_true[sub], y_pred[sub]),
                "positive_rate": float(y_true[sub].mean()),
            }
# 已知风险点:性别分布约 52-56% 女性;年龄带完整但极老年人群就诊模式不同;
# 地区/社区规模是抽样分层变量,模型性能可能随诊所规模漂移。

另需注意:无生活方式与社会经济变量 → 无法直接评估饮食/吸烟相关健康不平等;无移民/ethnicity 字段(多数子库),少数族裔相关公平性分析在本库受限。

§7.6 数据漂移提示

三大漂移源:①诊疗指南与编码习惯随时间变化(心血管综述明确指出 25 年窗口内编码实践漂移影响跨期比较);②COVID 冲击(2020 年 3/4 月新诊断骤降 18.3%/35.7%,为断点检验的天然锚点);③诊所面板进出与季度刷新。建议:所有跨年模型报告"按年份分层性能";把 2020-2021 窗口单列为敏感性分析。

漂移源 典型表现 监控方法
编码习惯漂移 某些 ICD-10 细码频率趋势性上升/下降 按年份统计码频次,变化点检测
指南/政策冲击 新药上市、集采、报销政策后的处方跳变 月度处方率断点分析
疫情冲击 2020 年 3/4 月就诊与新诊断骤降 以 2020-2021 为隔离窗口的敏感性分析
面板构成漂移 诊所进出导致地区/专科构成变化 诊所维度的构成统计与权重再估计

§7.7 DAIMS 24 项数据就绪度评估

# 检查项 状态 说明
1 数据为宽格式(每行一个样本/事件) ✅ 事件级表(诊断/处方/检验)均可转宽表
2 有唯一标识符列 ⚠️ 患者匿名 ID 仅诊所内唯一;实际唯一粒度 = 患者-诊所
3 无 Unicode 或特殊字符 ✅ 结构化编码字段为标准字符集
4 无重复行 ⚠️ 复诊重复记录是设计特征而非错误,但需防提取件重复行
5 缺失值已识别并编码 ⚠️ 无显式缺失码;"未测量=未记录"需自行构造缺失指示
6 标签列被明确标识 ⚠️ 无预设标签;结局由研究规则构造
7 已对罕见类别(<3%)进行分组 ⚠️ ICD-10 细码长尾需自行归组(CCS/章节级)
8 偏倚评估已完成 ✅ 门诊偏倚体系在文献与本页 §7.1 系统披露
9 有完整的数据字典 ⚠️ 无公开统一字典;提取件随附字典需逐字段核对
10 对"信息性缺失"有明确编码解释 ✅ 缺失=未就诊/未开单的机制明确(§4.5)
11 数据采集设备和设置已记录 ⚠️ 记录诊所病历软件来源,但软件型号/版本不公开
12 已移除完全共线性变量 ⚠️ 未执行;原始编码全保留
13 对编码的映射标准已说明 ✅ ICD-10 + EphMRA ATC 明确;OMOP CDM 5.3.1 映射可用
14 对时间戳的处理已明确说明 ✅ 就诊日期粒度明确;无日期偏移(年份真实保留)
15 训练/验证/测试划分建议已给出 ❌ 无官方划分;本页 §5.2 给出推荐策略
16 数据泄漏风险已被讨论 ✅ §5.3 四类 DA 特有泄漏模式
17 标签分布已被分析 ⚠️ 无库级标签分布;文献锚点见 §4.2
18 选择性测量偏倚已被讨论 ✅ 实验室值 MNAR 机制明确(§4.5/§7.1)
19 外部验证建议已给出 ✅ §5.5/§7.8 跨库矩阵
20 数据更新和版本信息已记录 ⚠️ 季度刷新有登记,但研究者侧版本管理需自建
21 最小必要预处理脚本已提供 ❌ 无官方脚本;本页 §6.3 提供参考 Pipeline
22 合规使用要求已明确 ✅ 商业 DUA 逐项目明确;发表与再识别条款清晰
23 多模态对齐方法已说明 ⚠️ 单模态结构化为主,无跨模态对齐需求
24 去标识化方法已被记录 ✅ 匿名化 + opt-out 机制在 EMA 目录登记

DAIMS 评分:15.5 / 24

评分解读:中等——编码体系、偏倚披露与合规框架成熟(监管级),但"开放度"类项目系统性失分:无公开字典、无官方划分、无预处理脚本、标签需自建。

对你意味着什么:DA 不是"开箱即训"的数据集,而是"方案驱动"的研究基础设施。把预算与时间花在表型定义、字典核对与观察期设计上,回报远大于堆模型;把它当作 MIMIC-III 那样的自助数据集来用,会直接踩中坑点 1/7/8。

§7.8 外部验证矩阵

外部数据源 类型 可迁移任务 已有跨库证据
OHDSI 网络库(MarketScan/Optum/JMDC 等) 理赔/保险/EHR 表型算法跨库评估 SLE 表型研究在 DA-FR/DA-DE 与 7 库并行验证
IQVIA IMRD(英国 GP) 初级保健 EHR 发病率量级、表型 PPV 同公司产品线,方法学连续
国家统计(德国联邦统计局等) 官方统计 患病率/发病率外部效度 DA 与国家级数据一致性的经典验证
CHARYBDIS 多国网络 多源 EHR 疫苗安全背景发生率 BMJ/PDS 2022 系列跨国研究
IQVIA LRx(德国处方库) 处方记录 处方行为交叉核对 同公司组合内处方轴互证

§8 基准性能与生态

§8.1 排行榜

DA 无公开排行榜(商业库研究不可复现排行,见坑点 8)。以"已发表研究的任务锚点"替代:

任务(文献形态) 规模 关键结果 出处
身高-T2D 发病关联(Cox) 783,029 成人 每矮 10 cm,女性 HR 1.15、男性 HR 1.10 Loosen 2023, J Clin Med
COVID 对新诊断 T2D 照护影响 21,747 vs 20,513 2020 年 3/4 月新诊断降 18.3%/35.7% Kowall 2023, Prim Care Diabetes
NAFLD→T2DM 5 年发病 17,245 + 匹配对照 18.8% vs 11.7% Loosen 2023, Eur J Gastroenterol Hepatol
SLE 表型算法跨库评估 DA-FR/DA-DE 参与 与 7 个国际库并行出 PPV/灵敏度 PLOS ONE 2023
儿童抗生素处方跨国趋势 2013/2018/2022 三横断面 抗生素 vs 植物药处方率变化 Antibiotics 2023
NAFLD → 2 型糖尿病发病 17,245 + 匹配对照 5 年发病率 18.8% vs 11.7% Loosen 2023, EJGH

§8.2 SOTA 总结与选型建议

DA 生态的"前沿"不在模型架构,而在方法学:目标试验模拟(target trial emulation)、表型算法跨库验证(OHDSI)、多库 network cohort(疫苗安全)。选型建议:想让 DA 工作产出最大化,优先做"只有大样本门诊库才能做"的问题(罕见暴露、跨国处方趋势、门诊疾病负担),而非与 MIMIC-III 生态拼 ICU 预测。

从生态位看,DA 的不可替代性排序:①欧洲门诊处方行为(LRx 之外唯一带诊断轴的处方视角);②德法两国慢病发病率监测;③监管级药物利用研究。若你的选题可以由英国 GP 库或美国理赔库等价回答,应先比较获取成本;若必须在欧洲大陆门诊语境下回答,DA 几乎没有替代品。

§8.3 官方评测协议

无官方评测协议。社区事实标准为:EMA/DARWIN EU 分析计划模板(方案 + 分析计划 + 数据源登记)与 OHDSI 表型评估流程(CohortDiagnostics → PheValuator)。建议新项目直接套用这两个公开模板,使结果可被监管与学术界审计。

报告规范建议(自我约束版"评测协议"):①数据源登记(子库、窗口、提取日期三元组);②表型定义全文公开;③主分析 + ≥365 天观察期敏感性分析;④德法分开报告;⑤与官方统计锚点对齐。照此五条,DA 研究的方法学可信度即达到监管网络研究的及格线。

对照阅读建议:MIMIC-III 生态有 Harvard 镜像、公开排行榜与 mimic-code 代码库构成的"自下而上"评测体系;DA 走的是相反的"自上而下"路线——监管模板定义质量底线。两套体系不可互相套用,评估 DA 研究时不应以"有无公开 baseline"论英雄。

  • IQVIA IMRD:同公司英国 GP 纵向库(累计超 2,000 万患者),DA UK 的承接者。
  • CPRD(Aurum/Gold):英国初级保健研究金标准库,与 DA 同场景不同市场。
  • IQVIA PharMetrics Plus:美国商保理赔库,IQVIA 组合内美国侧资产。
  • IBM MarketScan / Optum Clinformatics:美国理赔库,OHDSI 跨库验证常客。
  • MIMIC-III / MIMIC-IV:美国 ICU 开放库,与 DA 形成"住院-门诊"互补对。
  • IQVIA LRx(德国处方库)/ 德国索赔与医院库:IQVIA 德国组合中与 DA 拼患者路径的姊妹资产。
  • IQVIA LPD(Longitudinal Patient Data):IQVIA 跨国纵向患者数据产品线,多国研究时的组合选项。
  • CHARYBDIS 网络:COVID-19 时期以 IQVIA 数据资产为主体的多国监管证据网络,DA 的"网络化使用"范例。

§8.5 关键论文 Top 10

# 论文/文献 价值
1 HMA-EMA 目录:IQVIA Disease Analyzer Germany 条目 监管口径的权威元数据(规模/QA/OMOP/刷新)
2 EMA 分析计划模板(Simple study 202112) 法德子库最完整的官方描述文本
3 EMA 儿童高血压 ARB 分析计划 "General limitations"是官方承认的坑点清单
4 Loosen 2023(JCM, PMID 36983200) 78.3 万人大样本研究范式
5 Kowall 2023(Prim Care Diabetes, PMID 37302936) 表型规则(washout/排除)与 COVID 断点分析范本
6 PLOS ONE 2023 SLE 表型研究(10.1371/journal.pone.0281929) DA 跨库人群特征表 + OHDSI 评估流程
7 BMJ 2022 TTS 疫苗网络队列 DA 在监管级多国安全研究的角色
8 MDPI Cancers 2025 肿瘤叙述性综述(10.3390/cancers18111747) DA 肿瘤研究边界与方法学最全综述
9 MDPI JCDD 2026 心血管叙述性综述(10.3390/jcdd13020061) 心血管域证据与局限系统整理
10 Antibiotics 2023 儿童抗生素处方研究(10.3390/antibiotics12121491) EphMRA ATC 编码口径的方法学样本

§8.6 社区活跃度

  • 学术产出:以 IQVIA 法兰克福流行病学团队(Karel Kostev 等)为核心,肿瘤、心血管、精神三大域 2020-2025 年各有一部 DA 叙述性综述,收录研究以百计;PubMed 检索 “Disease Analyzer” 持续高产出。
  • 监管生态:DARWIN EU® 常驻数据源,EMA 目录两条目(德国库 + OMOP 版)维护更新。
  • 开源生态:无公共代码库/排行榜;可复用工件主要来自 OHDSI 生态(表型 JSON、Characterization 结果)。
  • 作者网络:IQVIA 法兰克福流行病学团队与德国各大医学院(杜塞尔多夫、埃森、慕尼黑等)合作紧密,形成"企业团队 + 学术合作者"的稳定产出模式;外部团队使用 DA 时通常与该团队合作或独立提取后自分析。
  • 信息渠道:DA 无独立官网与用户大会,信息分散在 EMA 目录、论文方法学节与 IQVIA RWD 材料中——这正是本百科页面存在的价值。

§8.7 生态快照

维度 状态
数据更新 季度刷新(德国库登记 2024-12-15)
文献产出 数千篇规模,三大域年综述化
工具链 OMOP CDM 5.3.1 + OHDSI 全套
获取门槛 商业授权(无公开申请通道)
社区支持 IQVIA RWD 团队 + OHDSI 论坛(OMOP 路线)
最大机会 跨国门诊药物流行病学与表型迁移
最大风险 字典不透明 + ID 断裂 + 无官方划分

生态定位总结:在医疗 AI 数据集光谱上,DA 位于"开放基准库(MIMIC/CPRD subset)"与"纯商业分析资产(IQVIA LRx、PharMetrics)“之间——它是商业库中方法学透明度最高的一档(有监管目录登记、有公开方法学文献体系),又是研究库中获取门槛最高的一档(无公开申请、无公开下载)。选择它等于选择"用许可成本换欧洲门诊的人群效度”。


§9 相关资源与引用

官方资源

BibTeX 引用(建议三件套:元数据 + 方法学 + 应用样例)

@misc{iqvia_da_catalogue,
  author       = {{HMA-EMA Catalogues of real-world data sources and studies}},
  title        = {IQVIA Disease Analyzer Germany (Data source ID 104282)},
  howpublished = {\url{http://catalogues.ema.europa.eu/data-source/104282}},
  year         = {2025},
  note         = {Last updated 2025-08-18}
}

@article{kowall2023routine,
  author  = {Kowall, Bernd and Kostev, Karel and Landgraf, R{\"u}diger and Hauner, Hans and Bierwirth, Ralf and Rathmann, Wolfgang},
  title   = {Routine care for people with newly diagnosed type 2 diabetes before and during the {SARS-CoV-2} pandemic -- results from the {German Disease Analyzer} database},
  journal = {Primary Care Diabetes},
  volume  = {17},
  number  = {4},
  pages   = {321--326},
  year    = {2023},
  doi     = {10.1016/j.pcd.2023.05.009}
}

@article{loosen2023height,
  author  = {Loosen, Sven H. and Krieg, Sarah and Krieg, Andreas and Luedde, Tom and Kostev, Karel and Roderburg, Christoph},
  title   = {Adult Body Height Is Associated with the Risk of Type 2 but Not Type 1 Diabetes Mellitus: A Retrospective Cohort Study of 783,029 Individuals in {Germany}},
  journal = {Journal of Clinical Medicine},
  volume  = {12},
  number  = {6},
  pages   = {2199},
  year    = {2023},
  doi     = {10.3390/jcm12062199}
}

@article{zhu2023sle,
  author  = {{OHDSI SLE Phenotype Working Group}},
  title   = {Using a data-driven approach for the development and evaluation of phenotype algorithms for systemic lupus erythematosus},
  journal = {PLOS ONE},
  year    = {2023},
  doi     = {10.1371/journal.pone.0281929}
}

注:DA 无官方数据集论文;引用时以 EMA 目录条目作为元数据来源、以实际使用子库的代表性研究作为方法学与数据描述来源,是监管与期刊均可接受的做法。

教程与学习资源

  • OHDSI 书(The Book of OHDSI):OMOP 路线全套方法论,免费在线。
  • HMA-EMA 目录的 DARWIN EU 分析计划模板:DA 多库研究的标准文档骨架。
  • DA 叙述性综述三篇(肿瘤/心血管/精神,见 §8.5):了解"该库适合回答什么问题"的最快入口。
  • EphMRA ATC 分类体系官方文档(Anatomical Classification of Pharmaceutical Products):处方编码对齐的必读材料。
  • 英国 Atlas of Longitudinal Datasets 的 IQVIA IMRD 条目:了解 IQVIA 数据获取与收费模式的对照样本。

原始论文

  • Loosen SH 等. Adult Body Height Is Associated with the Risk of Type 2 but Not Type 1 Diabetes Mellitus. J Clin Med. 2023. PMID 36983200.
  • Kowall B 等. Routine care for people with newly diagnosed type 2 diabetes before and during the SARS-CoV-2 pandemic. Prim Care Diabetes. 2023. PMID 37302936.
  • Faurobert E 等(OHDSI 协作). SLE phenotype algorithms evaluation. PLOS ONE. 2023. DOI 10.1371/journal.pone.0281929.
  • Mdpi 肿瘤综述:Real-World Evidence from a Large German Outpatient Database for Oncology Research. Cancers. 2025. DOI 10.3390/cancers18111747.
  • 儿童抗生素与植物药处方研究. Antibiotics. 2023. DOI 10.3390/antibiotics12121491(EphMRA ATC 编码口径的方法学样本)。
  • Real-World Cardiovascular Research Using the German IQVIA Disease Analyzer Database. J Cardiovasc Dev Dis. 2026. DOI 10.3390/jcdd13020061(心血管域系统综述)。
  • Kowall B 等(CHARYBDIS 协作)系列:COVID-19 疫苗安全多国网络队列(BMJ 2022;Pharmacoepidemiol Drug Saf 2022)。

§10 AI 使用声明卡

§10.1 AI 模型使用

本页面内容由大语言模型辅助生成初稿,人工审核定稿。生成环境未接入 DA 数据本体(商业库,AI 无法访问),所有数据事实来自公开文献与监管目录。

§10.2 AI 参与范围

环节 参与方式
事实检索 AI 执行 6 轮 WebSearch 并汇总;来源 URL 全部留存于 FACTS 清单
初稿撰写 AI 按宪法规范起草全部章节
数据核验 人工对照 EMA 目录与 PubMed 原文抽查关键数字(规模、比例、PMID/DOI)
代码示例 AI 撰写;为通用范式,字段名以实际数据字典为准

§10.3 输入来源

  • HMA-EMA 真实世界数据目录(Disease Analyzer Germany 条目、OMOP 条目、数据流与管理条目)。
  • EMA 分析计划模板两份(Simple study 202112;儿童高血压 ARB 研究)。
  • PubMed/Europe PMC 收录的 DA 代表性研究(PMID 36983200、37302936、37115964 等)。
  • OHDSI SLE 表型跨库研究(PLOS ONE 2023)。
  • MDPI 肿瘤与心血管 DA 叙述性综述(Cancers 2025;JCDD 2026)。
  • IQVIA 官方真实世界数据页面。
  • 英国 Atlas of Longitudinal Datasets(IQVIA IMRD 条目,商业获取模式佐证)。

§10.4 人工校验表

章节 校验者 校验方式 状态
INFOBOX 与 §1 规模数字 千方病案医学编辑部 对照 EMA 目录/分析计划原文 ✅ 已验证
§2 医学编码锚定 千方病案医学编辑部 ICD-11/SNOMED 概念核对 ✅ 已通过
§3 规格、§4 数据结构 千方病案医学编辑部 对照监管目录与文献方法学节 ✅ 已通过
§6 坑点与代码 千方病案医学编辑部 逻辑一致性审查(代码未运行,标注为范式) ✅ 已通过
§7 DAIMS 评分 千方病案医学编辑部 24 项逐条复核 ✅ 已通过
§C JSON-LD 千方病案医学编辑部 Schema 字段逐项校验 ✅ 已通过
FACTS 事实清单 千方病案医学编辑部 42 行逐条核对来源 URL ✅ 已通过

§10.5 AI 生成章节标注

以下章节由 AI 生成初稿并经人工审核:§1.0 30 秒速览、§3.0 版本抉择矩阵、§6.1-§6.4 代码示例、§6.5 八个坑点、§6.9 评估指标代码、§7.5 公平性评估代码、§7.7 DAIMS 评估表与评分、§8.7 生态快照、§C JSON-LD。

§10.6 最后审核

最后一次人工审核日期:2026-09-05

页面状态:published(全部内容已完成审核并发布)


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • epic-cosmos — 共享标签:电子健康记录 / 临床电子病历 / 真实世界数据 / 流行病学
  • flatiron-health — 共享标签:电子健康记录 / 临床电子病历 / 真实世界数据
  • framingham — 共享标签:电子健康记录 / 流行病学 / 心血管疾病
  • chronic-kidney-disease-uci — 共享标签:电子健康记录 / 真实世界数据 / 流行病学
  • truveta — 共享标签:电子健康记录 / 临床电子病历 / 真实世界数据
  • gemini — 共享标签:电子健康记录 / 临床电子病历 / 真实世界数据
  • opensafely — 共享标签:电子健康记录 / 临床电子病历 / 真实世界数据
  • cprd — 共享标签:电子健康记录 / 临床电子病历 / 真实世界数据
  • cub-rea — 共享标签:电子健康记录 / 临床电子病历 / 流行病学
  • qresearch — 共享标签:电子健康记录 / 临床电子病历 / 流行病学

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集