信息速览

CDARS — 全港临床 EHR 数据库 AI-Ready Wikipedia
INFOBOX
| 数据集名称 | CDARS |
| 英文全称 | Clinical Data Analysis and Reporting System |
| 别名/简称 | 香港医管局临床数据分析与报告系统、HA CDARS、CDARS Hong Kong |
| 疾病分类 | 全疾病谱(ICD-11 示例:5A11 2 型糖尿病 / CA22 慢性阻塞性肺病 / BC81.3 心房颤动 / 8B11 脑梗死 / 6D80-6D8Z 痴呆 / 1D92 COVID-19) |
| SNOMED CT | 49436004 Atrial fibrillation / 44054006 Diabetes mellitus type 2 / 13645005 Chronic obstructive pulmonary disease / 195967001 Asthma / 22298006 Acute myocardial infarction / 26929004 Alzheimer disease(详见 §2) |
| 数据模态 | 结构化 EHR(诊断、处方与配药、化验、程序、住院/急诊就诊)、死亡登记链接数据 |
| AI 任务类型 | 疾病风险预测、药物警戒与安全性信号挖掘、疾病表型分型(LCA/聚类)、健康服务研究、药物利用评价、外部验证队列 |
| 样本总数 | 1,100 万+ 名患者 / 55 亿+ 条数据记录 / 43 家公立医院及附属门诊 |
| 数据大小 | 全库 55 亿+ 条记录(受控环境内按研究方案提取,无公开整体下载) |
| 数据格式 | HADCL 安全环境内 SQL/自助平台提取、RStudio、Jupyter Notebook、CSV 导出受严格限制 |
| 许可证 | Hospital Authority Clinical Data Policy Manual(申请审批制) |
| 访问级别 | 申请审核(HA Data Sharing Portal / HA Data Collaboration Lab) |
| DUO 标签 | IRB, GRU, PUB |
| 语言 | 中文、英文 |
| 首发日期 | 1995-01-01(开始捕获跨集群个体患者数据) |
| 最后更新 | 持续运营更新(截至 2025-09,HA 数据库含 55 亿+ 条记录) |
| 发布机构 | 香港医院管理局(Hospital Authority, HA) |
| 官方主页 | https://www3.ha.org.hk/data |
| 下载地址 | 无公开下载(HADCL 安全环境现场/指定远程访问点访问) |
| DOI | 无专属数据集 DOI(研究成果经各论文 DOI 引用) |
| 引用次数 | 454 项已发表研究(PubMed 系统综述计数,截至 2023-03) |
| AI 就绪度评分 | ⭐⭐(2/5)— 全人群规模与编码验证证据顶尖;扣分项:申请审批制、数据不可导出、需在安全环境内完成分析、无官方预处理脚本、ICD-9-CM 版本陈旧 |
| 页面状态 | published |
§0 E-E-A-T 信任声明
- 医学审核:本文档医学内容(疾病背景、ICD-11/SNOMED CT 映射、临床任务定义、偏倚分析)由千方病案医学编辑部依据公开发表的同行评审文献撰写与交叉审核,核心编码验证证据(各疾病 PPV 79%-100%)均注明原始研究来源。
- 数据工程审核:本文档数据结构、字段字典、预处理流程与坑点章节由千方病案医学编辑部医疗 AI 数据工程师交叉审核,审核范围覆盖 §4 数据结构、§5 划分建议、§6 AI 就绪指南与 DAIMS 24 项评估。
- 信息时效:所有规模数字、访问政策与研究产出统计均截至 2025-09 检索核实的公开来源,动态信息(访问政策、实验室服务状态)以香港医院管理局官方页面为准。
- 审核日期:2026-09-05(最后人工审核日期,详见 §10)。
医疗免责声明:本页面提供的医学信息仅供研究和教育目的,不构成医疗建议、诊断或治疗方案。数据集的医学描述基于公开发表的文献,未经逐一临床验证。任何基于该数据集训练的 AI 模型在应用于临床决策前,必须经过独立的临床验证和监管审批。
技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。
数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。CDARS 数据受香港医院管理局 Clinical Data Policy Manual 与香港《个人资料(私隐)条例》管辖,须经 HA Data Sharing Portal 或 HA Data Collaboration Lab 申请审批后于安全环境内访问。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。
§1 数据集概览
§1.0 📌 30 秒速览
这是什么? CDARS(Clinical Data Analysis and Reporting System,临床数据分析与报告系统)是香港医院管理局运营的全港性电子健康记录数据库。香港医管局是管理全港所有公立医院的法定机构,下辖 7 个医院集群、43 家公立医院及附属专科/普通门诊,服务约 700 万居民,承担全港约 80% 的住院服务。CDARS 自 1995 年 1 月 1 日起把这些公立医疗机构每次就诊产生的诊断、处方、化验、住院与死亡数据统一汇集,累计已超过 1,100 万患者记录、55 亿条数据记录。
为什么重要? 它是极少数覆盖一座城市全部公立医疗、且以个体患者层面持续追踪近 30 年的亚洲全人群 EHR 数据库。诊断编码准确性经过大量本地验证研究(各疾病 PPV 从 79% 到 100%),人口学字段完整性达 100%、处方记录完整性达 99.98%,使全港范围内的疾病流行病学、药物安全信号与疾病自然史研究成为可能。基于 CDARS 的研究已从 2010 年的每年 5 项增长到 2022 年的 120 项。
我能用它做什么? 在获得医院管理局审批与伦理批准后,你可以在 HA Data Collaboration Lab 的安全环境内提取研究队列,开展疾病风险预测建模、药物流行病学研究、机器学习表型分型、健康服务研究与 AI 模型外部验证。注意:数据不可下载导出,所有分析必须在受控环境内完成。
§1.1 摘要
CDARS 的底层是香港公立医疗的临床管理系统(Clinical Management System, CMS):医生与行政人员在每次就诊时将诊断(ICD-9-CM 编码)、处方与配药、检验医嘱与结果、操作程序录入 CMS,CDARS 作为数据仓库对这些跨集群操作数据进行伪匿名化整合,为每位患者生成唯一伪标识号(pseudo-identification number),并额外链接香港死亡登记处(Death Registry)的全人群死亡记录。由此形成的数据库同时具备三个稀缺性质:全人群覆盖(公立系统承担约 90% 的二级与三级医疗)、纵向深度(个体患者近 30 年就诊轨迹)、链接能力(诊断-处方-化验-死亡跨域关联)。研究用法上,CDARS 支持两类典型设计:其一是新用药者、阳性对照的全人群队列研究,广泛用于药物肝毒性、心血管安全性与房颤抗凝质量评价;其二是疾病预测建模,如基于入院当日化验的重症 COVID-19 预测(C-statistic 0.89,武汉外部验证)与基于电子健康记录"认知足迹"的痴呆风险机器学习预测。访问方面,本地学术机构、政府部门与非政府组织经 HA Data Sharing Portal 申请;2019 年 12 月成立的 HA Data Collaboration Lab(HADCL)与 2023 年 10 月启用的 HKSTP-HA 数据实验室进一步向非传统医学科研背景的团队开放了自助分析平台。
§1.2 战略价值
维度一:全人群纵向 EHR 的亚洲标杆。 与以 ICU 住院为边界的 MIMIC 系列或以初级保健为核心的英国 CPRD/THIN 不同,CDARS 捕获一座 700 万人口城市几乎所有公立二级/三级医疗事件,髋部骨折等急重症的捕获率约达 98%。这意味着以 CDARS 构建的队列在"真实世界结局"上截断极少:患者无论转到哪家公立医院,其后续诊断、处方与死亡结局都会持续回流数据库。对于死亡预测、再入院预测、药物长期安全性等需要长随访窗的任务,这种全覆盖特性显著降低了删失偏倚,是跨境多中心研究(如与 UK THIN 并行的平行队列分析)中难得的亚洲验证场。
维度二:经过验证的编码质量与可复现的病例识别。 CDARS 的 ICD-9-CM 编码经历了系统的本地验证:房颤 PPV 95%、颅内出血 95%、胃肠出血 100%、髋部骨折 100%、心肌梗死 85.4%、中风 91.1%,HA 还定期审计出院小结编码。对 AI 研究者而言,这意味着标签噪声有已知的量化边界,可以把"标签验证"从盲目假设变成有文献支撑的误差建模输入。同时,公立系统的诊断设施与协议统一(而非保险理赔数据那样的混合账单动机),使病例识别算法在研究间可复现——大量已发表研究直接复用同一套 ICD-9-CM 码表,降低了跨研究比较时的"码域方言"摩擦。
维度三:治理成熟度与"研究即服务"基础设施。 多数国家级 EHR 库的瓶颈不在数据而在通路:伦理多头审批、提取排队、环境不可用。CDARS 在 2019-2023 年间完成了三级通路建设——学术通道(Data Sharing Portal + HADCL)、远程通道(HKU-HADCL 远程访问点,RStudio/Jupyter 环境 + 提前 5 个工作日预约)、产业通道(HKSTP-HA 实验室,虽 2025-04 起暂停但制度框架已建立)。跨集群伦理审查已集中化,重复提交同类申请的年耗(420 万港币)被官方研究量化并推动改革。对 AI 团队而言,这意味着立项时可以把"数据通路"从不可控风险变成可排期的工程节点:从提交申请到进入环境的流程有文档、有联系方式、有时限承诺(远程访问开通 7-10 个工作日)。这种治理成熟度在全球受控 EHR 库中并不常见,是 CDARS 隐性的采用成本优势。
§1.3 同类数据集横向对比
| 数据集 | 覆盖范围与规模 | 模态 | 标签/编码 | 访问方式 | 与 CDARS 的差异化 |
|---|---|---|---|---|---|
| CDARS | 香港全港公立医疗,1,100 万+ 患者、55 亿+ 条记录 | 诊断/处方/化验/程序/死亡链接 | ICD-9-CM(PPV 79%-100% 验证) | 申请审核 + 安全环境内分析 | 全人群纵向覆盖 + 全港死亡登记链接,数据不可导出 |
| MIMIC-III/IV | 波士顿两家医院 ICU,约 30 万入住 | 时序体征/化验/文本/影像 | ICD-9/ICD-10 | PhysioNet 凭证申请,可下载 | 单机构 ICU 深度时序 vs 全人群全谱系广度 |
| UK THIN/CPRD | 英国初级保健,约 6%-13% 人口 | 全科诊疗/处方/转诊 | Read 码/ICD-10 | 商业许可购买 | 初级保健入口 vs 公立住院入口;二者常做平行队列互证 |
| eICU-CRD | 美国多中心 ICU 快照 | 时序监护 | ICD-9 | PhysioNet 凭证申请 | 多中心横断面 vs 单城纵向全轨迹 |
| Korea NHIS | 韩国全国理赔数据,全人群 | 理赔/处方/体检 | KCD(ICD-10 系) | 申请审核 | 理赔动机编码 + 体检子样本 vs 临床系统逐次就诊编码 |
§1.4 版本时间轴
| 时间 | 事件 | 对研究者的含义 |
|---|---|---|
| 1995-01-01 | CDARS 开始捕获跨集群个体患者层面数据 | 全库时间轴起点;早期年份完整性低于后期 |
| 2000 | 公立系统全面启用临床管理系统 CMS | 结构化逐次就诊录入自此起步 |
| 2003 | SARS 疫情严重中断 CMS 实施 | 2003 年前后数据存在系统性断层 |
| 2004-01 | CDARS 与 ICPC 编码数据可用时点 | 初级保健编码研究建议以此为队列起点 |
| 2009 | CDARS 2009 版界面(患者层面分析功能) | 自助检索能力增强 |
| 2019-12 | HA Data Collaboration Lab(HADCL)成立 | 非医院附属研究者首次获得数据通道 |
| 2023-10 | HKSTP-HA 数据实验室于科学园启用 | 产业界(1,400+ 园区公司)首次接入约 20 万患者匿名数据 |
| 2025-04 | HKSTP-HA 数据实验室暂停服务 | 产业自助通道暂时关闭,学术通道(HADCL)继续运行 |
| 2025-09 | HA 数据库累计 55 亿+ 条记录、支持 450+ 研究者 70+ 项目 | 持续运营状态 |
§1.5 典型应用场景
- 全人群疾病风险预测:以 CDARS 全港队列训练疾病发生/进展预测模型,如利用认知足迹(既往就诊模式与时间交互项)预测痴呆诊断,或以入院当日化验预测重症 COVID-19(C-statistic 0.89 并经武汉队列外部验证)。
- 药物安全性与有效性评价:新用药者(new-user)、阳性对照设计,如 NOAC 与华法林的肝损伤比较、抗凝治疗质量与临床结局;依托处方-配药-化验-死亡的跨域链接完成结局判定。
- 疾病表型分型与亚组发现:对髋部骨折 10 万+ 例患者做潜在类别分析(LCA)挖掘临床表型并与心血管事件风险关联,展示 CDARS 支持无监督表型挖掘的能力。
- 健康服务研究与因果推断:急诊就诊量与超额死亡的 2SLS 因果分析(18 间公立医院急诊 2016-2021 年 860 万+ 就诊)、疫情期服务中断评估。
- AI 模型外部验证队列:以香港全人群队列作为欧洲/北美开发模型的独立外部验证场,髋部骨折表型研究中 CDARS 与 UK THIN 的平行分析即为此范式。
§1.6 研究产出的量化轨迹
CDARS 的学术影响力有一条可量化的增长曲线。系统综述(PubMed 检索至 2023-03)纳入 454 项使用香港常规收集医疗数据的研究:2000-2009 年仅 32 项;2010-2022 年间年产出从 5 项攀升至 120 项。在使用 HA 跨集群数据的研究者主导型研究中(n=393),83.2%(327 项)报告获得单一集群/大学研究伦理委员会(REC)批准,12.7% 未报告 REC 批准——后者本身构成对使用者的治理警示。研究主题上,药物流行病学与心血管疾病占据主导,乙肝、类风湿关节炎、糖尿病、痴呆与老年跌倒等 HADCL 在研主题正在扩宽疾病谱。对 AI 团队的启示:CDARS 上"什么都被做过一遍"是错觉,被充分研究的是几个 PPV 高、结局硬的疾病锚点(房颤、髋部骨折、胃肠出血),长尾疾病、多病种联合建模、非药物干预评价与机器学习表型仍有大片空白。
§2 医学背景
CDARS 覆盖全疾病谱,本节以文献中编码验证最充分、AI 研究最活跃的代表性疾病为例给出 ICD-11 与 SNOMED CT 映射。CDARS 内部编码为 ICD-9-CM,本表用于跨系统对齐与模型迁移时的概念映射起点。
§2.1 ICD-11 编码映射表
| 研究疾病/结局 | CDARS 内编码(ICD-9-CM) | ICD-11 编码 | ICD-11 中文名 |
|---|---|---|---|
| 心房颤动 | 427.31/427.32 | BC81.3 | 心房颤动 |
| 急性心肌梗死 | 410.x | BA41-BA4Z | 急性心肌梗死 |
| 缺血性卒中 | 433.x/434.x/436 | 8B11 | 脑梗死 |
| 颅内出血 | 431 | 8B00 | 脑内出血 |
| 2 型糖尿病 | 250.x0/250.x2 | 5A11 | 2 型糖尿病 |
| 慢性阻塞性肺病 | 491.x/492/496 | CA22 | 慢性阻塞性肺病 |
| 哮喘 | 493.x | CA23 | 哮喘 |
| 痴呆(各亚型) | 290.x/294.1/294.2/331.0/331.1/331.82 | 6D80-6D8Z | 痴呆(阿尔茨海默病、血管性痴呆等) |
| COVID-19 | 阳性 PCR 结果 + 程序/诊断码 | 1D92 | COVID-19 |
| 髋部/股骨骨折 | 820.x | ND52 | 股骨骨折 |
| 自伤(含意图未定) | E950-E959/E980-E989 | QD51/QD52 | 故意自伤(范围码) |
§2.1b SNOMED CT 映射表
| 术语 | ICD-11 参考 | SNOMED CT 码 | SNOMED 术语 |
|---|---|---|---|
| 心房颤动 | BC81.3 | 49436004 | Atrial fibrillation |
| 2 型糖尿病 | 5A11 | 44054006 | Diabetes mellitus type 2 |
| 慢性阻塞性肺病 | CA22 | 13645005 | Chronic obstructive pulmonary disease |
| 哮喘 | CA23 | 195967001 | Asthma |
| 急性心肌梗死 | BA41 | 22298006 | Acute myocardial infarction |
| 阿尔茨海默病 | 6D80 | 26929004 | Alzheimer disease |
| 高血压(系统性疾病) | BA00 | 38341003 | Hypertensive disorder, systemic arterial |
| COVID-19 | 1D92 | 840539006 | Disease caused by SARS-CoV-2 |
§2.2 疾病与数据库医学背景简介
CDARS 的"疾病背景"即香港全人群的疾病负担图景。香港 740 万-770 万居民中,公立系统承担约 80% 的住院与约 30% 的门诊服务(2017 年口径),约 90% 的二级与三级医疗事件进入 HA 系统。几个文献反复使用的证据簇可作为建模先验:
- 心血管锚点:房颤编码 PPV 95% 使其成为药物流行病学中置信度最高的暴露锚点之一;心肌梗死 PPV 85.4%、中风 91.1%、颅内出血 95%、胃肠出血 100%,全链条出血/血栓结局都可用 ICD-9-CM 码域 + 实验室阈值(Hy’s law 转氨酶/胆红素)双轨判定。
- 骨骼硬结局:髋部骨折约 98% 入住公立医院且 PPV 达 96.8%-100%,是老年健康研究中捕获最完整的硬结局,Nature Communications 2024 以 78,417 例构建了跨库表型范式。
- 老年认知:痴呆诊断 2001-2015 年共 70,083 例、年均约 4,672 例、96% 发生于 65 岁后,为认知障碍预测提供充足阳性样本;ICD-9-CM 码域覆盖 290.x/294.1/294.2/331.0/331.1/331.82。
- 呼吸系统:香港人口健康调查 2014/15 显示 15 岁以上非住院人群医生诊断 COPD 患病率 0.5%,而 60 岁以上成人患病率达 12.4%-25.9%(取决于肺功能判定标准);COPD 编码验证研究(随机抽样 200 例双人复核)证实码域 496 的高 PPV。
- 服务量底座:18 间公立医院 24 小时急诊在 2016-2019 年累计 860 万就诊(年均 287 次/千人),全部进入 CDARS。
相反,自伤等污名化结局存在系统性漏报,研究者需扩展 ICD-9-CM 码域(E950-E959 与 E980-E989)并明确声明结局定义偏宽。理解"哪些疾病在公立住院数据中近乎完备、哪些结局天然低估"是使用 CDARS 前最重要的医学功课。
§2.2b 高频研究疾病与码域速查
| 疾病簇 | 常用 ICD-9-CM 码域 | 已验证 PPV | 典型 AI 用法 |
|---|---|---|---|
| 房颤/抗凝 | 427.3(新诊断索引) | 95% | new-user 队列、抗凝质量(TTR)、出血/血栓结局 |
| 缺血性卒中/出血 | 433.x/434.x/436;431 | 90%-95% | 事件复发预测、抗栓安全性 |
| 心肌梗死 | 410.x | 85.4% | 死亡预测、药物心血管安全 |
| 髋部/股骨骨折 | 820.x | 96.8%-100% | 老年表型、骨质疏松药物结局 |
| 胃肠出血 | 结局码域(研究定义) | 100% | 抗凝/抗血小板药物警戒 |
| COPD/哮喘 | 491.x/492/496;493.x | 高(ACO 需排除) | 急性加重预测、吸入药物利用 |
| 痴呆 | 290.x/294.1/294.2/331.x | 高(亚型需细分) | 认知足迹预测、照护轨迹 |
| 糖尿病 | 250.x0/250.x2 + 降糖药佐证 | 高 | 并发症预测、降糖药安全 |
| COVID-19 | 阳性 PCR + 诊断/程序码 | 高(实验室确诊) | 重症预测、长新冠服务研究 |
上表的三个使用前提:其一,码域为研究通行起点而非官方金标准,具体研究应以协议中引用的验证文献为准;其二,PPV 数值绑定各自的验证研究情境(医院层级、年份、复核标准),跨情境引用需注明;其三,主诊断与次诊断的 PPV 不同,结局判定建议优先主诊断 + 处方/检验佐证的双证据结构。
§2.3 临床任务定义
- 筛查/早期预测:以就诊轨迹、既往诊断与化验历史预测未来疾病发生(痴呆、糖尿病并发症、心血管事件),评价指标以 AUROC/AUPRC 为主,需按患者划分防泄漏。BMJ Open 痴呆协议展示了该任务在 CDARS 上的完整设计:常规风险评分作为基线,机器学习 + 时间交互项作为增强,两者基准对照。
- 诊断编码验证与病例识别:构建 ICD-9-CM 码域算法识别病例,以病历复核估计 PPV;任务本身构成 CDARS 研究的方法学基础设施。通行规模是随机抽样 200 例、两名专科医师复核、以临床指南(如 GOLD)为参照标准。
- 严重度/预后分层:入院时点(day-0)化验 + 合并症预测 ICU 入住、插管或死亡等复合结局,服务分诊与资源调配。npj Digital Medicine 2021 的关键发现是"连续时点化验不增益"——初始数据已足够,这对特征工程预算有直接指导意义。
- 药物警戒:新用药者队列中比较药物暴露的肝毒性(Hy’s law 实验室定义:ALT/AST > 3×ULN 且总胆红素 > 2×ULN)、出血、心血管事件风险,倾向得分匹配(1:1 最近邻、caliper 0.1)控制混杂——这些参数选择均出自已发表的 CDARS 药物流行病学研究。
- 表型分型:LCA/聚类对疾病人群做无监督亚组,再关联纵向结局(髋部骨折-心血管范式);性别与年龄可作为聚类变量纳入,使表型自带人口学可解释性。
- 健康服务因果推断:以服务量变化为暴露、超额死亡为结局的工具变量/2SLS 类设计;急诊数据(860 万就诊)为此类研究提供了足够的日粒度变异。
§2.4 患者人群表
| 维度 | 描述 |
|---|---|
| 来源 | 香港全港公立医疗系统:43 家公立医院、49 间专科门诊、73-74 间普通门诊(7 个医院集群) |
| 时间跨度 | 1995 年起(部分数据细节自 1993 年);逐次就诊持续更新 |
| 年龄 | 全年龄覆盖(无内建年龄限制);老年病研究常用 65+ 子队列 |
| 性别 | 全性别;研究示例中女性占比可超过 70%(髋部骨折表型研究 74,587 女 / 31,778 男) |
| 种族/民族 | 以华人为主(香港本地人口构成),外族裔比例低,跨种族泛化需谨慎 |
| 就医类型 | 住院、急诊(18 间公立医院 24 小时急诊,2016-2019 年 860 万就诊)、专科门诊、普通门诊 |
| 去标识化 | 伪匿名化 + 唯一伪标识号;个人身份信息由 CDARS 加密 |
§2.5 临床价值
对医疗 AI 而言,CDARS 的临床价值在于提供"人群级证据密度":单中心 ICU 数据能刻画危重轨迹,但无法回答"某药在全人群中的罕见肝损伤率"或"某预测模型在真实人群中的校准度"。CDARS 式全人群数据库把 AI 模型的评估场景从病房扩展到人群:药物警戒信号可在数百万处方者中量化;预测模型可在全港队列上计算校准斜率与决策曲线;香港医疗的高医保覆盖度(公立系统重度补贴使慢性病与并发症患者集中在公立体系)进一步保证了结局捕获的完整性。同时,其华人主导的人群构成使其成为欧美模型亚洲外部验证的关键节点——GDHP AI 白皮书将其列为健康数据整合支撑 AI 研究的国际范例。
四类"只有全人群库才能做"的研究问题:
- 罕见暴露的结局:某药物使用者基数达数千即可做结局分析(单中心永远凑不够),如 NOAC 四种药物的抗凝质量比较。
- 长潜伏期效应:15 年随访(DLBCL 蒽环类研究)依赖患者不流失——只有全覆盖登记系统才提供这种"零失访"性质。
- 服务层干预效应:政策变化(疫情期服务调整、新药引入)的因果评估,需要全城尺度的时间变异。
- 疾病自然史的基线率:全人群发病率/患病率作为 AI 模型先验(如痴呆年均 4,672 例、96% 于 65 岁后)——任何预测模型的阳性率校准都需要这类锚点。
§2.6 金标准对照表
| 任务 | 划分方式 | 标注方式 | 标注者 | 性质 |
|---|---|---|---|---|
| 编码验证(PPV 估计) | 按编码阳性抽样 | 病历复核(临床信息 + 肺功能/影像/内镜等) | 专科医师(如呼吸科两名专家独立复核) | 研究型金标准(RWD 内部验证) |
| 重症 COVID-19 预测 | 5 折交叉验证 + 武汉外部队列 | 复合结局(ICU/插管/死亡)以 ICD-9 码与死亡登记判定 | 临床/行政编码员(非模型团队),无独立裁定 | 弱监督结局 |
| 髋部骨折表型 | 全队列描述 + LCA 聚类 | 骨折 PPV 96.8%-100%(文献验证) | 编码员 + HA 出院编码审计 | 高置信硬结局 |
| 药物流行病学结局 | 新用药者队列 + 倾向得分匹配 | Hy’s law 实验室阈值 / ICD-9 结局码 | 实验室系统自动 + 编码员 | 客观实验室金标准 + 弱监督诊断 |
§3 数据集规格
§3.0 版本抉择矩阵
CDARS 是持续运营的数据库,无固定版本号;研究者实际面对的是"访问通道"与"数据快照"的选择:
| 你的需求 | 推荐通道 | 数据范围 | 理由 |
|---|---|---|---|
| 学术假设检验/全人群队列研究 | HA Data Sharing Portal / HADCL(九龙湾现场或 HKU-HADCL 远程点) | 全库(按批准协议提取) | 学术标准通道,支持全人群研究并要求伦理批准 |
| 数据探索/草拟研究假设 | HADCL 自助平台(每次申请最多 5 天访问) | 自助平台子集 | 快速可行性评估,探索数据不可导出 |
| 产业研发(非学术) | HKSTP-HA 数据实验室 | 约 20 万患者匿名数据(2007/2017 分层抽样) | 首个非学术研发接口;2025-04 起暂停,需关注重启公告 |
| 教学/方法学演示 | 不适用 | 无公开样本数据 | CDARS 无公开样本,教学场景建议改用 MIMIC-IV 演示集 |
§3.1 数据模态详情
- 诊断数据:每次门诊/住院/急诊就诊的诊断编码,ICD-9-CM 体系,由治疗临床医生或行政人员录入;HA 对出院小结编码定期审计。CDARS 界面支持按诊断排序(Any Diagnosis)、关键词/编码检索与 ICD 分类列表(001-139 感染与寄生虫病至 740-759 先天异常等逐章浏览)。
- 处方与配药数据:公立医院与门诊的药物处方及配发记录,含处方日期与药物明细;人口学完整性 100% 之外处方完整性达 99.98%,是药物暴露判定的基础。
- 实验室检验:全血细胞计数、生化、糖尿病检测、心功能指标、C 反应蛋白、血气等检验结果;医院实验室系统逐次回传,研究可按就诊日期序列组织。
- 住院与急诊就诊:入院/出院日期、住院科室、急诊就诊记录(18 间公立医院 24 小时急诊)、支付方式等管理信息。
- 程序/操作:手术与操作编码(如插管 ICD-9-CM 96.7)。
- 死亡链接数据:香港死亡登记处(Death Registry)全人群死亡记录链接,提供死因、死亡时间与日期,支持出院后长期随访。
- 就诊文本信息:临床记录以结构化字段为主;自由文本层面公开文献未系统描述,不建议假设其可用性。
- 管理与社会因素:支付方式(公立系统重度补贴下的收费类别)、居住区、长期护理院居住状态(LTC,急诊研究中作为分层变量使用)等管理字段存在,可用于服务利用模式分析,但需注意这些字段反映管理口径而非临床状态。
§3.2 按子集样本数表
| 子集/研究队列 | 样本量 | 时间窗 | 来源 |
|---|---|---|---|
| 全库患者记录 | 1,100 万+ | 1993/1995 至今 | BMJ Open 2020 协议 |
| HA 数据库总记录 | 55 亿+ 条 | 至 2025-09 | HA 发言人(China Daily HK) |
| 痴呆诊断患者 | 70,083 例(年均 4,672 例) | 2001-2015 | BMJ Open 2020 协议 |
| 髋部骨折(≥65 岁) | 78,417 例 | 至 2018 | Nature Communications 2024 |
| DLBCL 淋巴瘤幸存者 | 2,600 例(15 年随访) | 2000-2018 | Blood Advances 2020 |
| COVID-19 PCR 检测者 | 全港检测队列(2020-01-01 至 2020-08-22) | 2020 | npj Digital Medicine 2021 |
| 急诊就诊记录 | 860 万次(18 间急诊,年均 287 次/千人) | 2016-2019 | JMIR Public Health & Surveillance 2024 |
| HKSTP 自助平台匿名子集 | 约 20 万患者(按年龄性别分层抽样) | 2007 与 2017 | HKSTP 官方页面 |
§3.3 数据格式表
| 层面 | 格式/工具 | 说明 |
|---|---|---|
| 检索界面 | CDARS 网页端(诊断码/关键词检索、患者层面分析) | 研究者提交数据请求(每日 08:00-23:00 开放提交) |
| 批量提取 | HADCL 自助平台:RStudio、Jupyter Notebook | 数据不出环境,代码进入、结果输出受审查 |
| 提取产物 | 研究协议定义的表格集(CSV/DataFrame 形态) | 表结构随协议而异,无统一公开 schema |
| 界面版本 | CDARS 2009 及后续版本 | 历史界面文档见 eHealth 官方演示资料 |
§3.4 存储大小
CDARS 为受控运营数据库,不提供整体下载;其规模以"55 亿+ 条数据记录"(2025-09 HA 口径)计。研究级提取产物大小取决于协议:全人群病史型队列(百万级患者 × 数十年就诊)提取表通常达数 GB 至数十 GB 量级,但该数字无官方统一口径,本百科不给出具体数值以避免误导。磁盘规划建议按"单次协议提取 ≤50 GB、安全环境工作站预留 200 GB"做工程预算,实际以 HADCL 环境限制为准。
§3.5 标注方式
CDARS 无独立"标注"环节,其"标签"即临床过程自然产生的编码与记录:
- 诊断标签:ICD-9-CM 编码由治疗临床医生或行政人员在每次就诊时录入,属真实世界弱监督标签;HA 通过出院小结编码定期审计维持质量。
- 暴露标签:处方/配药记录客观生成(完整性 99.98%)。
- 结局标签:死亡结局来自 Death Registry 全人群链接(金标准级);复合结局(ICU 入住、插管)依赖 ICD-9 程序码(如 96.7),文献明确说明"无独立结局裁定(no adjudication)"。
- 验证标签:PPV 验证研究以专科医师病历复核为参照标准(如呼吸科两名专家按 GOLD 标准判定 COPD),这是 CDARS 标签质量的唯一直接测量渠道。
§3.6 标注者资质与一致性
编码录入者为医院在职临床医生与行政人员(非专职编码研究团队),资质为 HA 雇员标准化培训体系内人员;文献描述其"由受过良好训练的医院员工录入"。验证研究中,病历复核者为对应专科执业医师(如 COPD 验证由两名呼吸科专家按 GOLD 指南判定,哮喘验证由呼吸专科复核病历、用药与肺功能),复核判定规则以国际临床指南为参照。公开文献未报告标注者间一致性系数(如 Cohen’s kappa),该信息缺失本身是使用者需要知晓的方法学限制。
§3.7 采集周期
数据采集为实时/逐次就诊式:患者每次公立就诊即时进入 CMS,汇入 CDARS。研究视角的关键时间锚点:1995-01-01(CDARS 起点,个体患者层面跨集群数据)、2000(CMS 启用)、2003(SARS 中断)、2004-01(CDARS + ICPC 编码完整可用)。数据可用性公告在界面提示(如"临床数据可用至某日"),请求提交窗口为每日 08:00-23:00。
对纵向研究设计的三点时间维度提醒:
- 快照日即随访上限:所有队列的右删失日 = 提取快照日;立项时应先用短期提取验证"目标随访窗 × 索引日期分布"是否匹配,避免后期发现随访窗不足。
- 录入时点 ≠ 事件时点:诊断日期取自就诊记录,误差一般可忽略;但出院编码依赖编码流程,出院到编码完成存在数天级滞后,超急性时间窗(小时级)建模不适用此口径。
- 回溯窗口的制度性边界:1995 前病史不存在于库内(纸本时代),老年患者"既往史完整"假设只在 1995 后的就诊上成立;合并症负荷估计对 1995 年前病史系统性低估,老年队列尤其明显。
§3.8 地域覆盖
香港特别行政区全境,按 HA 七个医院集群(HKE、HKW、KC、KE、KW、NTE、NTW 等港岛/九龙/新界分区)覆盖全部公立医院与门诊。私立医院与私家诊所就诊不进入 CDARS(这是住院覆盖约 80% 而非 100% 的缺口来源,急重症私立缺口小——髋部骨折约 98% 经公立系统)。跨境医疗事件(如内地就医)不捕获。
地域分析的两个实用口径:
- 集群即地域分层单元:7 集群对应香港的地理-行政分区(如 NTE 覆盖沙田/大埔/北区,从城市化到乡村梯度),跨集群研究可利用这一结构做地域敏感性分析——早期健康服务研究(如 2008 降压处方研究)即按 NTE 集群三区报告了家庭收入中位数差异(2,078-2,510 美元/月,2006 年口径)。
- 跨境研究需另寻数据源:大湾区医疗数据标准化与跨境 EHR 互通是 2025 年政策方向(eHealth 跨境记录共享),但截至本百科审核日,内地就医事件不进入 CDARS,涉及跨境就诊的研究需显式声明该截断。
§3.9 设备规格
CDARS 为管理型数据仓库而非设备采集数据集:其"设备"层即医院信息系统(CMS/HIS、实验室信息系统 LIS、药房系统)。公开文献未披露监护仪、检验仪器型号等设备元数据,数据中亦不包含原始波形或影像像素级信息(影像仅以"检查结果"结论形式存在)。对设备元数据有硬需求的 AI 任务(如跨设备信号归一化)不适用于本数据集。
§3.10 深度溯源链
患者就诊 → 医护/行政人员在 CMS 逐次录入(诊断 ICD-9-CM、处方、医嘱)→ 各运营子系统(临床、实验室、药房、出院结算)→ HA 数据仓库整合与伪匿名化(唯一伪标识号生成)→ CDARS(审计/规划/研究用途)→ HA Data Sharing Portal/HADCL 协议提取 → 研究环境(安全工作站内 RStudio/Jupyter)→ 死亡结局旁路:香港死亡登记处 → 死亡登记链接。每一环节均可由 HA 治理文件(Clinical Data Policy Manual、CDARS Data Disclaimer)追溯责任边界。
§4 数据结构
CDARS 的官方表结构随批准协议与提取环境披露,无公开数据字典。本节基于已发表研究对数据内容的描述给出"概念级数据结构":字段名使用文献通用命名,实际字段名以 HADCL 官方数据字典为准。该定位避免误导,同时保留工程指导价值。
§4.0 目录树
典型的协议提取产物在安全环境工作目录内的组织形态(示意,非官方结构):
cdars_extract/
├── README_extract.md # 提取协议说明(HA 提供:快照日期、纳入逻辑)
├── patient_demographics.csv # 患者层:伪 ID、出生年、性别(每患者 1 行)
├── diagnosis_icd9cm.csv # 诊断层:伪 ID、ICD-9-CM 码、就诊类型、日期(每诊断 1 行)
├── prescription_dispensing.csv # 处方层:伪 ID、药物码、处方/配药日期、剂量(每处方 1 行)
├── laboratory_results.csv # 化验层:伪 ID、检验项、结果值、单位、采样日期(每检验 1 行)
├── admissions.csv # 住院层:伪 ID、入院/出院日期、科室、结局(每次住院 1 行)
├── ed_attendances.csv # 急诊层:伪 ID、就诊日期、处置(每急诊就诊 1 行)
├── procedures.csv # 操作层:伪 ID、ICD-9-CM 操作码、日期(每操作 1 行)
├── death_registry_link.csv # 死亡层:伪 ID、死亡日期、死因(链接 Death Registry)
└── data_dictionary.pdf # 官方字段说明(申请获批后随协议提供)
§4.1 DAIMS 8 列字段字典
以下为核心表的代表性字段(概念级映射,实际字段名以官方数据字典为准):
| 字段名 | 类型 | 说明 | 示例值 | AI 用途 | 观测误差 | 信息性缺失编码 | 取值范围 |
|---|---|---|---|---|---|---|---|
| patient_pkey | Text | 伪匿名化唯一患者标识,跨表链接键 | HA0000000001(示意) | 患者级划分防泄漏、纵向聚合 | 不可再识别;链接依赖该键完整性 | 不适用 | 长度固定的匿名码 |
| birth_year | Integer | 出生年份(部分接口仅给年龄段) | 1951 | 年龄特征、队列纳入 | 早年记录精度较低 | 缺失罕见(人口学完整性 100%) | 1900-当前年份 |
| sex | Text | 性别 | F / M | 分层与公平性评估 | 录入错误低频 | 缺失罕见 | 枚举值 |
| icd9cm_code | Text | ICD-9-CM 诊断码(主/次诊断有 rank) | 427.31 | 标签定义、病例识别 | PPV 79%-100%(疾病依赖);ACO 类重叠码假阳性 | 无显式"未知"码,缺诊表现为整条缺失 | ICD-9-CM 全码域 |
| attendance_date | Date | 就诊/诊断日期 | 2016-05-03 | 时序组织、索引日期 | 录入时点即事件时点,误差小 | 无 | 1995 至快照日 |
| drug_code | Text | 处方药物码(本地药物字典) | 抗凝药物码(示意) | 暴露定义、new-user 设计 | 通用名/商品名映射需核对 | 无 | 本地药物字典码域 |
| lab_value | Float | 检验结果数值(伴随单位字段) | ALT 128.0 | 严重度特征、结局判定(Hy’s law) | 不同实验室 ULN 可能不一致 | 结果缺失 = 行缺失;极端值需单位校验 | 检验项依赖 |
| admission/discharge | Date | 入院/出院日期 | 2016-05-03/2016-05-09 | 住院时长、再入院、时窗切分 | 转科/转院合并逻辑需核对 | 无 | 1995 至快照日 |
| death_date | Date | 死亡日期(Death Registry 链接) | 2019-11-22 | 生存分析、死亡预测 | 全人群登记,漏登极少 | 在世患者该字段为空 | 快照期 |
| diagnosis_rank | Integer | 诊断序次(主诊断/次诊断) | 1 = 主诊断 | 标签置信度加权(主诊断 PPV 通常更高) | 次诊断 PPV 低于主诊断 | 无 | 1-N |
| procedure_code | Text | ICD-9-CM 操作码 | 96.7(插管) | 复合结局判定(ICU/插管) | 程序码依赖录入完整性 | 无 | ICD-9-CM 操作码域 |
| attendance_type | Text | 就诊类型(住院/急诊/专科/普通门诊) | IP / ED / SOPC / GOPC | 服务场景分层、迁移建模 | 口径随 HA 管理定义 | 无 | 枚举值 |
| lab_unit | Text | 检验结果单位 | U/L | 单位归一化防量纲错误 | 同项目跨实验室单位可能不同 | 无 | 检验项依赖 |
| death_cause | Text | 死因编码(Death Registry 口径) | ICD 编码死因 | 死因特异性结局 | 死因判定为登记口径,与临床判定可能有差 | 在世为空 | 死因编码域 |
§4.2 标签分布
CDARS 的"标签分布"因研究协议而异,给出文献中可核实的分布锚点:痴呆诊断 70,083 例(2001-2015,年均 4,672 例,96% 于 65 岁后确诊,性别分布女 142 例/男 1,017 例为 50-64 岁年龄组 2001-2015 年合计口径);髋部骨折研究队列 78,417 例中女 74,587、男 31,778(老年女性占优的疾病自然分布);重症 COVID-19 复合结局(ICU/插管/死亡)在 2020 年香港队列中为低阳性率事件(模型以 C-statistic 0.89 达成显著分层,提示类别不平衡需按事件率重采样或焦点损失处理)。通用原则:用 CDARS 构造任何二分类标签前,先跑一遍阳性事件率,公开文献的疾病率仅作先验参考。
§4.3 关键统计
- 覆盖强度:约 80% 全港住院(2017)、约 90% 二级/三级医疗、约 30% 门诊、约 98% 髋部骨折住院。
- 就诊体量:18 间公立医院急诊 2016-2019 年 860 万就诊(年均 287 次/千人);2008 年口径全年 100 万住院、1,300 万门诊。
- 编码质量:PPV 区间 79%(间质性肺病)至 100%(胃肠出血、髋部骨折);人口学完整性 100%;处方完整性 99.98%;ICD-9-CM 对照电子病历总体验证准确率 99%。
- 死亡链接:Death Registry 全人群覆盖,支持出院后长期随访(文献随访窗达 15 年)。
- 记录体量梯度:2008 年 700 万患者记录 → 2020 年 1,100 万患者记录 → 2025 年 55 亿+ 条数据记录(口径从"患者数"扩展到"全类型记录条数",两者不可直接比较)。
- 研究密度:454 项已发表研究(截至 2023-03),年产出 120 项(2022),单库支持的研究吞吐量在亚洲 EHR 库中居前列。
- 自助平台子集规模:约 20 万患者(2007 与 2017 年按年龄性别分层抽样),产业探索用途的首选入口。
§4.4 数据层级
患者(patient_pkey,唯一伪标识)
├── 就诊事件(住院 episode / 急诊 / 专科门诊 / 普通门诊)
│ ├── 诊断(ICD-9-CM,含主/次诊断 rank)
│ ├── 操作(ICD-9-CM 操作码)
│ ├── 处方与配药(药物码、日期、剂量)
│ └── 化验(检验项、结果、单位、采样时间)
└── 死亡登记(death_date、死因,来自 Death Registry 链接)
层级关键点:同一患者可跨集群、跨机构、跨数十年形成多条就诊事件;患者层是防泄漏划分的基本单位,就诊事件层是时序建模的采样单位。
层级设计的三个实践含义:
- 聚合方向决定粒度:从事件层向患者层聚合时,聚合函数(计数/最近值/最差值)是特征定义的一部分,必须写入版本控制。
- 跨层键完整性自检:诊断/处方/化验表的 patient_pkey 应全部能在患者主表命中;未命中的"孤儿记录"提示提取协议缺陷,建模前必须清零。
- 死亡链接的时序终点地位:死亡事件独立于就诊层级(可能发生在两次就诊之间),构造随访期时以 min(快照日, 死亡日) 为终点而非最后一次就诊日。
§4.5 缺失值与信息性缺失
| 缺失形态 | 表现 | 信息性 | 建议处理 |
|---|---|---|---|
| 变量整体缺域 | 吸烟、饮酒、体重、生命体征等无独立字段 | 结构性缺失,非随机 | 用 ICD-9-CM 码组合代理推断(如 491/492/496 + V15.81 类码域),并在论文中声明代理定义 |
| 化验结果缺失 | 未开单 = 无行 | 半信息性:医嘱行为与病情相关 | 生成"未开单"指示变量,与"开单但异常"区分建模 |
| 诊断漏报 | 结局事件未编码(如自伤污名化漏报) | 信息性缺失,低估结局率 | 扩展码域(E950-E959 + E980-E989)+ 敏感性分析 |
| 早期年份不完整 | 1995-2003 字段覆盖差于后期 | 时间依赖的结构性缺失 | 队列起点设 2004-01 之后,或按年份分層敏感性分析 |
| 私立就诊缺失 | 私立诊断/处方不可见 | 系统性截断 | 以"公立再就诊"为随访锚点;讨论私立漏检对结局判定的影响 |
§5 划分与使用建议
§5.1 官方划分
CDARS 不提供官方训练/验证/测试划分——它是研究型数据库而非机器学习基准数据集。每个研究团队在自己的协议内自行设计划分。文献中最常见的设计是全人群队列 + 时间外推验证(如 2020 年香港 COVID 队列 5 折交叉验证 + 武汉独立外部验证)。
§5.2 社区惯例划分
已发表研究的惯例可归纳为三类:其一,随机患者级划分(按 patient_pkey 分层抽样,训练/验证/测试 ≈ 70/15/15),用于方法学探索;其二,时间划分(以索引日期为界,早期训练、近期测试),模拟前瞻部署,适合死亡预测与再入院预测;其三,跨库外推(CDARS 开发、UK THIN/武汉队列验证,或反向),用于泛化性主张,Nature Communications 髋部骨折研究与 npj Digital Medicine COVID 研究均为该范式。
§5.3 划分策略建议与泄漏风险(重点)
CDARS 的纵向全轨迹特性使患者级泄漏风险显著高于快照型数据集:同一患者 10 年内可能有数十次就诊事件,若按"就诊事件"而非"患者"划分,训练集与测试集将共享同一患者的既往史与个体编码习惯,指标虚高可达个位数到十数个百分点(EHR 领域普遍经验)。正确做法:一切划分以 patient_pkey 为最小划分单元;对时间外推任务,同时锁定"患者不跨集合"与"测试集时间窗不与训练集重叠";对预测"未来 N 月发生 X"的任务,索引日期前的全部历史仅可进入特征侧,标签窗口必须完全落在索引日期之后。此外注意特征侧的时间穿越:化验参考区间、药物目录在 30 年间变化,历史数据训练的模型直接用到当前数据需要重新校准。
CDARS 特有的五个泄漏向量排查清单:
- 跨表患者混排:诊断/处方/化验三表合并后按行打乱再划分,是最常见的失误形态;划分必须发生在合并前的患者层。
- 索引日期选自未来事件:以"某诊断第一次出现"定索引日,若该诊断码在全库范围内先做过的统计(如码频归一化)泄漏了测试患者信息,同样构成泄漏——统计量计算限定在训练患者内。
- 死亡日期越窗:标签窗结束日 > 快照日的患者,其"未死亡"标签可能是删失而非真阴性;按索引日期过滤保证标签窗完整闭合。
- cluster 内传染:同住长期护理院、同家庭患者的特征相关;极端严谨的设计可把 LTC 居住状态作为分组变量做组级划分。
- 特征工程管道拟合于全集:目标编码(target encoding)、PCA、归一化参数在全数据上拟合再划分,是隐性泄漏重灾区;所有拟合型变换放进 Pipeline 内按折重算。
§5.4 交叉验证建议
- 患者级分组 5 折 CV(GroupKFold by patient_pkey)为默认配置;文献中 5 折交叉验证是已发表的通行做法(COVID 重症预测)。
- 低阳性率结局(ICU 复合结局等)建议分层抽样保持每折阳性率一致,并同时报告 AUROC 与 AUPRC。
- 涉及跨集群(7 个 HA 集群)的公平性评估时,可按集群做 leave-one-cluster-out,检验地域泛化。
- 折间禁止共享任何统计量:归一化参数、特征筛选结果、编码映射表都必须在每折训练集内独立重算,否则构成"特征工程泄漏"。
- 对生存分析任务,折划分后检查各折的删失比例与人年分布是否平衡;CDARS 长随访下删失主要来自"快照日期截止"而非失访,比例应高度一致。
§5.5 外部验证建议
优先级排序:第一,时间外推(同库未来年份),成本最低、最接近部署场景;第二,跨库平行队列(UK THIN、CPRD、Korea NHIS 等同任务数据集),注意编码体系差异(ICD-9-CM vs Read 码/ICD-10)需先做码域映射再对齐特征定义;第三,跨地区前瞻(如武汉急性期验证的做法),仅在合作通路存在时可行。任何外部验证都应报告校准(calibration slope/intercept)而不仅是区分度,因为编码习惯差异首先打击校准。
§6 AI 就绪指南
§6.0 云端快速启动
CDARS 不适用云端快速启动:数据受 HA 治理约束,不能上传至任何第三方云环境,也不存在公开镜像。所有计算必须在 HADCL 授权环境(HA 九龙湾现场、HKU-HADCL 远程访问点或获批的其他安全位置)内完成。本节因此替换为"安全环境启动清单":
- 获批后确认访问窗口(自助平台每次申请最多 5 天)与环境位置(现场或 HKU-HADCL)。
- 环境内可用的分析栈为 RStudio 与 Jupyter Notebook;无互联网连接,代码与依赖需提前离线准备。
- 数据不可下载、保存或打印;输出物(图表、汇总表)按 HADCL 规定流程审查后带出。
- 禁止拍照与任何形式的信息记录带离;违规计入授权档案。
§6.1 快速上手
# ─────────────────────────────────────────────────────────────
# 前置说明:
# 1. 本代码假设你已在 HADCL 安全环境内,按批准协议将提取表
# 读入 DataFrame(实际目录结构/文件名以你的提取协议为准)。
# 2. data_root 指向提取产物所在目录;若 HA 提供的是数据库视图,
# 将 read_csv 段替换为对应的 SQL 读取即可,后续逻辑不变。
# 3. 最小可用子集:patient_demographics + diagnosis_icd9cm +
# admissions 三张表即可构建"住院患者基线 + 诊断标签"的
# 最小研究数据集;处方/化验表用于暴露与严重度特征。
# ─────────────────────────────────────────────────────────────
import pandas as pd
from pathlib import Path
data_root = Path("cdars_extract") # 与提取产物目录对齐
demo = pd.read_csv(data_root / "patient_demographics.csv", dtype={"patient_pkey": str})
dx = pd.read_csv(data_root / "diagnosis_icd9cm.csv", dtype={"patient_pkey": str, "icd9cm_code": str},
parse_dates=["attendance_date"])
adm = pd.read_csv(data_root / "admissions.csv", dtype={"patient_pkey": str},
parse_dates=["admission_date", "discharge_date"])
# 病例识别示例:心房颤动(PPV 95%,文献验证码域)
AF_CODES = {"427.31", "427.32"}
af_patients = dx.loc[dx["icd9cm_code"].isin(AF_CODES), "patient_pkey"].unique()
# 患者级基线:首次 AF 诊断日期(索引日期)+ 首次就诊年龄
first_af = (dx[dx["icd9cm_code"].isin(AF_CODES)]
.groupby("patient_pkey")["attendance_date"].min().rename("index_date"))
cohort = demo.join(first_af, on="patient_pkey", how="inner")
cohort["age_at_index"] = (cohort["index_date"].dt.year - cohort["birth_year"])
print(f"AF cohort: {len(cohort):,} patients") # 千分位展示规模
# ── 第二步:结局构建 + 患者级划分自检 ─────────────────────
# 结局示例:AF 索引后 1 年内全因死亡(Death Registry 链接表)
death = pd.read_csv(data_root / "death_registry_link.csv", dtype={"patient_pkey": str},
parse_dates=["death_date"])
cohort = cohort.merge(death[["patient_pkey", "death_date"]], on="patient_pkey", how="left")
one_year = pd.DateOffset(years=1)
cohort["death_1y"] = (cohort["death_date"].notna() &
(cohort["death_date"] <= cohort["index_date"] + one_year)).astype(int)
print(f"1-year mortality: {cohort['death_1y'].mean():.1%}")
# 泄漏自检(任何划分前必跑):患者级去重检查与快照日核对
assert cohort["patient_pkey"].is_unique, "duplicate patient rows"
assert cohort["index_date"].max() < SNAPSHOT_DATE - one_year, \
"index dates too close to snapshot: follow-up window truncated"
§6.2 数据获取
CDARS 无下载页面,获取即"申请 + 审批 + 安全环境访问"三步:
| 步骤 | 内容 | 要点 |
|---|---|---|
| 1. 确认资格 | 本地学术机构/政府部门/NGO 经 HA Data Sharing Portal;园区企业经 HKSTP-HA 实验室(暂停中) | 通道选择决定后续流程 |
| 2. 伦理批准 | 研究/发表用途需 REC/IRB 批准(如 HKU/HA HKW IRB、各集群 REC 或 HKSTP CREC) | 单一大学/医院 REC 批准即可用于 HADCL;重复申请年耗 420 万港币,切勿多头提交 |
| 3. 提交申请 | Data Sharing Portal 表格 + 协议 + 伦理批准书 | HADCL 另需保密承诺书、授权人资料 |
| 4. 排期访问 | 每次申请最多 5 天;HKU-HADCL 需提前 5 个工作日预约 | 取消需提前 2 天,爽约 3 次停约 1 个月 |
| 5. 环境内分析 | RStudio/Jupyter;数据不可导出 | 输出物按流程审查带出 |
# 申请材料核对清单(提交前自查)
# 1. 研究协议(含 ICD-9-CM 码域定义、纳入排除、统计计划)
# 2. 伦理批准书(注明可使用 HA 跨集群数据)
# 3. 保密承诺书(公司/机构盖章件,视通道要求)
# 4. 授权使用者个人信息表(每名使用者单独提交)
# 5. HA 远程访问申请表(如经 HKU-HADCL 远程点)
§6.3 预处理全流程
# ─────────────────────────────────────────────────────────────
# 预处理四步:病例识别 → 清洗去重 → 特征构造 → 患者级聚合
# 目标:把逐次就诊的长表组织成患者级建模矩阵
# ─────────────────────────────────────────────────────────────
import numpy as np
# 步骤 1:病例识别算法(示例:2 型糖尿病,码域 + 降糖药处方佐证)
DM2_CODES = {"250.20", "250.22", "250.40", "250.42", "250.60", "250.62",
"250.00", "250.02"} # 以协议定义为准,此处为示意码域
dx["is_dm2"] = dx["icd9cm_code"].isin(DM2_CODES)
dm2_flag = dx.groupby("patient_pkey")["is_dm2"].any().rename("dm2")
# 步骤 2:清洗去重——同一患者同日同码的诊断视为一次录入的重复行
dx_clean = (dx.sort_values(["patient_pkey", "attendance_date", "icd9cm_code"])
.drop_duplicates(subset=["patient_pkey", "attendance_date", "icd9cm_code"]))
# 步骤 3:Charlson 合并症指数(简化示意:码域映射 → 加权求和)
CHARLSON_MAP = {
"mi": {"410.x", "412"}, "chf": {"428.x"}, "pvd": {"443.9", "441.x"},
"copd": {"491.x", "492", "496"}, "diabetes": {"250.x"},
} # 实际实现用前缀匹配函数展开 X 通配
def prefix_hit(codes: set[str], series: pd.Series) -> pd.Series:
return series.apply(lambda c: any(c.startswith(p.rstrip(".x")) or c.startswith(p[:-1])
for p in codes if p.endswith(".x")) or c in codes)
weights = {"mi": 1, "chf": 1, "pvd": 1, "copd": 1, "diabetes": 1}
charlson = pd.DataFrame({k: prefix_hit(v, dx_clean["icd9cm_code"]) for k, v in CHARLSON_MAP.items()})
dx_clean = pd.concat([dx_clean.reset_index(drop=True), charlson], axis=1)
# 步骤 4:患者级聚合(索引日期前 1 年的合并症负荷)
merged = dx_clean.merge(adm[["patient_pkey", "admission_date"]], on="patient_pkey", how="left")
lookback = merged.loc[merged["attendance_date"] >= merged["admission_date"] - pd.DateOffset(years=1)]
baseline = lookback.groupby("patient_pkey")[[*weights, "is_dm2"]].sum().join(dm2_flag)
baseline["charlson_score"] = baseline[list(weights)].mul(list(weights.values())).sum(axis=1)
baseline = baseline.drop(columns=list(weights)).join(demo.set_index("patient_pkey")[["birth_year", "sex"]])
baseline["age"] = baseline["admission_date"].dt.year if "admission_date" in baseline else np.nan
print(baseline.shape)
§6.3b 化验与处方特征的预处理要点
# ─────────────────────────────────────────────────────────────
# 化验/处方特征三原则:单位归一、时窗约束、暴露定义可复核
# ─────────────────────────────────────────────────────────────
# 原则 1:单位归一——同一检验项跨实验室/年代单位可能不同,
# 聚合前必须先按 (检验项, 单位) 分组检查,再统一换算。
unit_check = (lab.groupby(["test_name", "lab_unit"])["lab_value"]
.agg(["count", "median", "min", "max"]))
# 发现同项多单位时,按参考区间/量纲规则换算,禁止直接合并原始值。
# 原则 2:时窗约束——特征只能取索引日期之前的数据,
# "当日化验"与"历史化验"分开建特征(COVID 研究:连续时点
# 化验未带来增益,day-0 特征已足够,可作为特征工程先验)。
history = lab[lab["sample_date"] < lab["index_date"]]
day0 = lab[lab["sample_date"] == lab["index_date"]]
# 原则 3:暴露定义可复核——new-user 设计要求"索引前 N 月无
# 同类药处方";把清洗期(washout)写成显式常量并写进论文。
WASHOUT_DAYS = 180
prior_rx = rx[rx["dispense_date"] < rx["index_date"] - pd.Timedelta(days=WASHOUT_DAYS)]
new_users = set(rx["patient_pkey"]) - set(prior_rx["patient_pkey"])
§6.4 PyTorch DataLoader
# ─────────────────────────────────────────────────────────────
# 任务示例:按患者组织时序,预测"出院后 30 天内再入院"
# Dataset 约定:每个患者 = 一条样本;特征 = 索引住院前 1 年
# 内的(事件类型, 编码, 距索引日天数)序列;划分必须按患者。
# 注意:本代码在导出的研究队列 CSV 上运行(数据带出需经
# 审批,多数团队在环境内运行同等代码),结构通用。
# ─────────────────────────────────────────────────────────────
import torch
from torch.utils.data import Dataset, DataLoader
from collections import defaultdict
MAX_LEN, PAD, N_CODES = 128, 0, 50_000 # 序列长度与词表规模按协议调整
class ReadmissionDataset(Dataset):
"""每样本 = 患者事件序列 + 30 天再入院标签"""
def __init__(self, events_df, labels_df, code2idx):
self.seq = defaultdict(list)
for pid, code, days in zip(events_df["patient_pkey"],
events_df["icd9cm_code"],
events_df["days_to_index"]):
self.seq[pid].append((code2idx.get(code, PAD), days))
self.pids = list(labels_df["patient_pkey"])
self.labels = torch.tensor(labels_df["readmit_30d"].values, dtype=torch.float32)
def __len__(self):
return len(self.pids)
def __getitem__(self, i):
pid = self.pids[i]
events = sorted(self.seq.get(pid, []), key=lambda x: x[1])[-MAX_LEN:]
ids = torch.tensor([c for c, _ in events] or [PAD], dtype=torch.long)
days = torch.tensor([d for _, d in events] or [0], dtype=torch.float32)
mask = torch.ones(len(ids), dtype=torch.bool)
return {"codes": ids, "days": days, "mask": mask, "label": self.labels[i]}
def collate(batch):
maxlen = max(b["codes"].numel() for b in batch)
def pad(t, fill): # 右侧填充到批内最大长度
return torch.stack([torch.cat([t, torch.full((maxlen - t.numel(),), fill, dtype=t.dtype)])
for t in [b["codes"] if t is b["codes"] else b["days"] if t is b["days"] else b["mask"] for b in batch]])
return {"codes": pad([b["codes"] for b in batch], PAD),
"days": pad([b["days"] for b in batch], 0.0),
"mask": pad([b["mask"] for b in batch], False),
"label": torch.stack([b["label"] for b in batch])}
# 患者级划分(防泄漏核心:GroupShuffle by patient)
loader = DataLoader(ReadmissionDataset(events_df, labels_df, code2idx={c: i + 1 for i, c in
enumerate(sorted(events_df["icd9cm_code"].unique())[:N_CODES - 1])}),
batch_size=64, shuffle=True, collate_fn=collate, num_workers=2)
§6.5 坑点 8 个
⚠️ 坑点 1:ICD-9-CM 编码体系的版本与录入陷阱(分类:标签理解)
问题:CDARS 全库使用 ICD-9-CM——美国 2015 年已弃用的旧版编码,且码值由临床医生或行政人员在真实诊疗压力下录入,录入动机是运营而非研究。用 ICD-10/ICD-11 时代的码表或映射直觉直接套 CDARS,会系统性错配标签。
症状:模型在某疾病上召回异常低;文献复现时发现同病不同码(如卒中旧码 436 与 434.x 混用);把 ICD-10 码(如 I48.x 房颤)当作 CDARS 查询条件时查询结果为空。
解决:
- 简单方法:所有病例识别只引用已发表 CDARS 研究的 ICD-9-CM 码域(如房颤 427.3、髋部骨折 820.x),并原样复用其纳入排除逻辑。
- 进阶方法:构建"研究码域 → ICD-10/11 概念"的单向映射表并版本化管理;对高频码做抽样人工复核,把 PPV 文献值(85.4%-100%)当作先验而非承诺,写进标签质量声明。
- SOTA 方法:对目标疾病做本地 PPV 再验证(随机抽样 + 病历复核 200 例是文献通行规模),把验证后的码域与 PPV 置信区间写入协议;对编码录入噪声用标签平滑或噪声感知损失(如 generalized cross-entropy)建模。
参考:HKMJ COPD/哮喘验证研究(https://www.hkmj.org/taxonomy/term/10?page=5);npj Digital Medicine 2021(DOI 10.1038/s41746-021-00433-4)。⚠️ 坑点 2:PPV 可以查文献,NPV 无法验证(分类:评估误用)
问题:EHR 验证研究只能对"编码阳性"者做病历复核,真阴性与假阴性不可识别,因此 CDARS 的全部验证证据都是 PPV;而阴性预测值——“没有这个码是否等于没有这个病”——永远未知。漏诊(编码缺失)与误诊(错码)混在一起,直接用"无码即无病"构造阴性样本会让模型学到编码习惯而非疾病本身。
症状:以无码者做对照组的研究出现效应稀释;患病率估算明显低于文献值;模型在"没病"类上看似完美(其实是把漏报病人算成了真阴性)。
解决:
- 简单方法:在论文中显式声明"阴性样本定义为无相关编码,可能包含未编码病例",把对照污染写进局限性。
- 进阶方法:用多源佐证收紧阴性定义——如"无诊断码 + 无相关药物处方 + 无相关检验"三重阴性;对结局率做敏感性分析(假设 5%/10%/15% 假阴性率重跑主分析)。
- SOTA 方法:采用捕获-再捕获或纠正连续性(corrected continuity)模型估计真实患病率与漏报率;对标签噪声用正向-负向无监督(PU learning)框架,把未标注样本显式建模。
参考:ProQuest 哮喘编码验证研究(https://www.proquest.com/docview/2801835571);Frontiers in Psychiatry 2025 自伤研究(DOI 10.3389/fpsyt.2025.1660960)。⚠️ 坑点 3:重叠疾病无独立编码导致假阳性聚集(分类:预处理陷阱)
问题:哮喘-COPD 重叠(ACO)在 ICD-9-CM 中没有独立编码,验证研究发现 ACO 是哮喘与 COPD 两类编码假阳性中最常见的来源;类似地,任何"存在临床重叠且编码共享"的疾病对(痴呆亚型、心衰表型)都会在标签层互相渗透。
症状:哮喘模型把吸烟老年患者系统性误判为哮喘;验证抽样中 ACO 患者占假阳性多数;两种疾病的队列出现大量重叠 ID。
解决:
- 简单方法:识别疾病时排除互斥码域(哮喘验证研究在算法中排除次诊断含 COPD 码的记录,反之亦然)。
- 进阶方法:构造"纯哮喘/纯 COPD/疑似 ACO"三分类标签而非二分类,把重叠人群从训练中显式分离;报告三类的样本量与重叠率。
- SOTA 方法:用多标签学习同时预测哮喘与 COPD 概率,把重叠表达为两个边际概率的组合;结合处方(支气管扩张剂/ICS)与肺功能结果特征提升亚型区分度。
参考:HKMJ COPD 编码验证(https://www.hkmj.org/taxonomy/term/10?page=5);ProQuest 哮喘验证(https://www.proquest.com/docview/2801835571)。⚠️ 坑点 4:患者级数据泄漏——同一患者跨训练/测试集(分类:数据泄漏)
问题:CDARS 是纵向数据库,患者随访可长达 30 年、含数十次就诊。若按就诊事件行随机划分,同一患者的早期事件进训练集、晚期事件进测试集,模型只需"记住"该患者的编码习惯即可得分。
症状:随机划分的 AUROC 比患者级划分高出 5-15 个百分点;训练/测试集患者 ID 有交集(可用一行代码验证);部署后性能骤降。
解决:
- 简单方法:
GroupShuffleSplit/GroupKFold(group=patient_pkey),一行代码消除最严重泄漏。- 进阶方法:时间外推划分——训练集索引日期早于测试集索引日期,同时保证患者不跨集合;报告两种划分的性能差作为泄漏暴露指标。
- SOTA方法:leave-one-cluster-out(按 HA 7 集群)三重评估随机/时间/空间泛化;部署前用近期数据做滚动origin校准(rolling-origin recalibration)。
参考:npj Digital Medicine 2021 的 5 折 CV + 武汉外部验证设计(DOI 10.1038/s41746-021-00433-4)。⚠️ 坑点 5:私立医疗缺口与住院捕获偏倚(分类:偏倚陷阱)
问题:CDARS 只覆盖公立系统:全港住院约 80%、门诊约 30% 进入数据库。轻症门诊流向私立、结局发生前的私立诊断都不可见,导致"公立再就诊"人群偏向重症、慢性病管理人群被截断。
症状:患病率/发病率低于全人群普查值;轻症预测模型在人群中表现漂移;以"首次诊断"定义发病时点被私立先行诊断污染(发病时间被高估)。
解决:
- 简单方法:研究问题限定在"公立医疗系统内结局"(住院死亡、再入院、公立处方结局),把人群定义与数据覆盖对齐。
- 进阶方法:对急重症结局(髋部骨折类,公立覆盖约 98%)直接主张近全人群代表性;对慢病结局补做"公立就诊频率 ≥1 次"的敏感性定义,比较效应量变化。
- SOTA 方法:与 UK THIN 等初级保健库做平行队列(两类数据库覆盖互补:CDARS 强在住院、THIN 强在社区),不一致处用登记数据(癌症登记、死亡登记)仲裁;用逆概率加权校正"进入公立体系"的选择偏倚。
参考:Nature Communications 2024 报告摘要(https://pmc.ncbi.nlm.nih.gov/articles/instance/11111763/bin/41467_2024_48713_MOESM3_ESM.pdf);UCL Discovery NOAC 研究(https://discovery.ucl.ac.uk/id/eprint/10100480/13/)。⚠️ 坑点 6:数据时间线断层(1995/2000/2003/2004)被当作同质数据(分类:偏倚陷阱)
问题:CDARS 名义上从 1995 年起,但底层 CMS 2000 年才启用、2003 年 SARS 严重中断实施、2004 年 1 月起 ICPC 编码数据才可用。跨期合并的队列把"数据基础设施换代的断点"当成了疾病自然史。
症状:1995-2003 年段就诊频次、化验覆盖显著低于后期;2003 年前后死亡率/住院率出现不可解释的阶跃;时间序列模型在断点处残差暴涨。
解决:
- 简单方法:队列起点设在 2004-01-01 之后(BMC HSR 2008 研究即以此为可用起点),回避最早年段。
- 进阶方法:保留早年数据时加入"年份/年代"协变量与 SARS 断点指示变量;对时间窗特征按"数据可用年份"归一化(如以当年代化验开单率为基准)。
- SOTA 方法:分段建模(piecewise)或以 2003 为结构断点的中断时间序列分析;对跨期部署的预测模型做定期重校准并把校准漂移写进 MLOps 监控。
参考:BMC Health Services Research 2008(https://www.biomedcentral.com/content/pdf/1472-6963-8-138.pdf)。⚠️ 坑点 7:吸烟、饮酒等生活方式变量无字段,代理推断引入错分(分类:预处理陷阱)
问题:CDARS 无吸烟、饮酒、BMI 等生活方式字段,而这些是心血管/肿瘤模型的关键混杂。研究者常用 ICD-9-CM 码组合(COPD 491/492/496、烟酒相关病码 V15 系)反推暴露,这种代理本身有不可忽略的错分率。
症状:代理"吸烟者"与自报吸烟率差距大;加入代理变量后模型性能不升反降;不同研究对同一代理定义效应量不可比。
解决:
- 简单方法:直接省略无法可靠代理的变量,在讨论中声明残余混杂方向。
- 进阶方法:复合代理(烟草相关癌症 + COPD + 外周血管病多码域 OR 逻辑)+ 阴性对照暴露检验代理效度;对代理变量做错分敏感性分析(misclassification sensitivity analysis)。
- SOTA 方法:把暴露建模为潜变量,用多码域观测联合估计(latent class / Bayesian 误差模型);或与合作队列(有自报数据的 HK 队列如 Children of 1997)做记录链接子研究标定代理性能。
参考:Blood Advances 2020 DLBCL 研究(https://ashpublications.org/bloodadvances/article-split/4/20/5107/469697/)。⚠️ 坑点 8:数据不出环境——工程流程与"本地习惯"全面冲突(分类:工程陷阱)
问题:HADCL 环境数据不可下载、保存或打印,网络与互联网隔离,每次访问窗口最多 5 天。pip 在线装包、git pull、调云端 API、把中间产物带回办公室继续训练——这些标准 ML 工作流全部失效。
症状:访问第一天耗在环境调试上;依赖缺失导致代码跑不通;5 天窗口结束模型尚未收敛;试图导出数据触发合规问题。
解决:
- 简单方法:访问前离线备齐依赖(pip download 离线 wheel 包 + requirements 锁定版本),代码在本地用同版本环境预演通过再进环境。
- 进阶方法:把"特征工程→训练→评估→输出汇总表"做成一条幂等流水线脚本(一键复跑);5 天窗口内只做计算与图表,全部交付物为经审查可带出的汇总统计与代码。
- SOTA 方法:采用两阶段协议——环境内完成特征筛选与模型选择(输出特征重要性、超参),环境外用同分布公开数据/合成数据做代码联调;多次申请窗口按里程碑切分(窗口 1 特征、窗口 2 训练、窗口 3 复核),每次进环境只跑增量。
参考:HKSTP-HA 数据实验室访问规则(https://hkstp.org/en/programmes/life-and-health-technology/hkstp-ha-data-collaboration-lab);HKU-HADCL 使用政策(https://www.med.hku.hk/-/media/HKU-Med-Fac/research/facility/HKU-HADCL_Usage_Policy-January-2025.docx)。
§6.6 数据增强
- ✅ 安全:患者级过采样(对低阳性结局);时间窗滑动(同一患者不同索引日期构造多样本,仍按患者划分);化验值临床合理区间内的测量噪声注入(加性高斯,幅度不超过检验复测变异);按集群/年份的域随机化提升泛化。
- ❌ 危险:对诊断序列做同义词码替换(ICD-9-CM 码语义相邻但临床含义可完全不同);对实验室值做随机插值填充后当作真值训练;用生成模型合成患者记录后混入训练集发布(违反 HA 数据治理);任何形式的 SMOTE 作用于未按患者分组的特征矩阵(组间泄漏)。
增强策略的三个 EHR 特有判断:
- 过采样在患者层做:对低阳性率结局,复制的是"患者及其完整轨迹"而非单条事件;在事件层过采样会同时制造泄漏与分布扭曲。
- 时间噪声优于值噪声:就诊日期的 ±1-3 天抖动(保持在同一就诊 episode 内)比化验值抖动更接近真实测量不确定性,且不破坏实验室单位一致性。
- 合成数据的合规边界:环境内可用生成模型做数据增强研究,但合成患者记录不得带出环境,也不得与真实数据混用后声称"基于 CDARS 训练"——输出物审查会拦截,且违反数据治理协议。
§6.7 模型推荐表
| 任务 | 推荐模型 | 起步理由 | 升级路径 |
|---|---|---|---|
| 30 天再入院/死亡预测 | Logistic 回归(L2)→ XGBoost/LightGBM | 结构化基线强、可解释、环境内算力友好 | GRU/Transformer 事件序列模型 |
| 表型分型 | LCA / k-means + 临床规则后处理 | 文献主流(髋部骨折表型范式)、易发表 | 深度聚类(DEC/VaDE) |
| 药物安全信号 | Cox 比例风险 + 倾向得分匹配 | 药物流行病学金标准设计 | 高维倾向得分/双重稳健估计 |
| 时序严重度预测 | 逻辑回归 day-0 特征 → 时序 RNN | COVID 研究证明 day-0 即达 C-statistic 0.89 | 多时间点融合 + 注意力 |
| 疾病发生预测(痴呆类) | 生存随机森林 / 梯度提升 + 认知足迹特征 | BMJ Open 协议范式 | 时序深度模型 + 时间交互项 |
| 就诊轨迹/迁移建模 | 马尔可夫链 / 状态空间模型起步 | 就诊类型字段(住院/急诊/门诊)天然构成状态空间 | 神经序列模型(需大量患者级数据) |
| 跨库迁移学习 | 目标域微调 + 码域映射对齐 | ICD-9-CM ↔ ICD-10 映射层先对齐再迁移 | 域自适应(DANN/对抗校准) |
§6.8 硬件需求
| 场景 | 配置建议 | 说明 |
|---|---|---|
| HADCL 环境内分析 | 以环境提供的工作站为准(自助平台内置大数据计算平台) | 无法自带算力;提前确认内存/磁盘限额 |
| 百万级患者队列 | ≥64 GB 内存、8+ CPU 核 | 单机可完成绝大多数全人群队列统计 |
| 深度时序模型 | 环境 GPU 可用性需申请时确认;本地预演用 RTX 4090 级单卡 | 环境内无互联网,模型代码需离线携带 |
| 结果导出 | 汇总表/图表(经审查) | 原始级数据不可带出 |
§6.9 评估指标代码
# ─────────────────────────────────────────────────────────────
# EHR 预测任务的四件套:区分度 + 校准 + 临床净收益 + 泄漏自检
# ─────────────────────────────────────────────────────────────
from sklearn.metrics import roc_auc_score, average_precision_score, brier_score_loss
def evaluate_ehr(y_true, y_prob, patient_id):
report = {
"auroc": roc_auc_score(y_true, y_prob), # 区分度
"auprc": average_precision_score(y_true, y_prob), # 低阳性率下更敏感
"brier": brier_score_loss(y_true, y_prob), # 校准(配合校准曲线图)
}
# 泄漏自检:测试集内患者 ID 必须与训练集零交集
assert not (set(patient_id) & set(TRAIN_PIDS)), "patient leakage detected"
return report
# 校准曲线要点:EHR 编码习惯随年份/集群漂移,优先报告校准斜率,
# 部署前必须做时间外推重校准(isotonic/Platt)。
# ─────────────────────────────────────────────────────────────
# 病例识别算法的 PPV 验证流程(文献通行做法的代码化)
# 步骤:码域初筛 → 随机抽样 → 人工复核记录表 → PPV 置信区间
# ─────────────────────────────────────────────────────────────
import numpy as np
N_SAMPLE = 200 # 文献通行抽样规模(COPD/哮喘验证均用 200 例)
sample = (dx_clean[dx_clean["icd9cm_code"].isin(TARGET_CODES)]
.sample(n=min(N_SAMPLE, None), random_state=42))
# 人工复核列(导出给专科医师,复核标准=对应临床指南)
sample["chart_review"] = None # True=真阳性 / False=假阳性
reviewed = sample.dropna(subset=["chart_review"])
ppv = reviewed["chart_review"].mean()
se = np.sqrt(ppv * (1 - ppv) / len(reviewed))
print(f"PPV = {ppv:.3f} (95% CI {ppv - 1.96 * se:.3f}-{min(ppv + 1.96 * se, 1.0):.3f}, n={len(reviewed)})")
# 报告规范:PPV 必须连同 CI、复核者资质、参照标准一起报告;
# 同时声明 NPV 不可估计(见坑点 2)。
§6.10 MLOps 笔记
- 数据版本管理:CDARS 无版本号,必须自建"快照登记"——记录提取日期、协议 ID、码域定义版本;不同提取日期的快照不可混用。
- 标签定义即代码:ICD-9-CM 码域、纳入排除逻辑全部写成带版本的配置/函数,任何标签变更触发全量重训。
- 监控重点:编码习惯漂移(新码种出现、码频迁移)比特征漂移更常见;部署后监控输入码分布与预测分布的双向漂移。
- 合规流水线:训练代码、环境操作日志、输出物清单须可审计,对应 HA 数据治理要求;模型对外部署前需独立临床验证与监管路径(HA 对临床有用模型保留使用权,见 GDHP 白皮书案例)。
- 复现纪律:安全环境内不可外带数据,因此"环境外可复现"依赖:发布码域定义 + 特征构造代码 + 聚合统计,供同行在自获数据上复跑。
- 访问窗口的里程碑管理:5 天窗口按"特征→训练→复核"切分;每个窗口结束把中间产物(模型权重、特征清单、随机种子)以环境允许的方式固化(如保留在项目空间),下次进入直接续跑而非重做。
- 模型交付的双重路径:HA 与 HKSTP 治理框架下,环境内开发的模型可走"成果转化"通路(GDHP 案例提到髋部 X 光 AI 模型考虑临床部署);立项时应与数据治理委员会确认模型使用权与部署路径,避免"模型做完了拿不出来"的困局。
§7 质量评估与局限性
§7.1 已知偏倚表
| 偏倚类型 | 描述 | 严重程度 | 缓解措施 |
|---|---|---|---|
| 捕获偏倚(住院倾斜) | 重症与住院病例记录更全,社区管理疾病低估 | 高 | 以公立就诊人群定义研究总体;与初级保健库平行验证 |
| 私立缺口 | 约 20% 住院与约 70% 门诊事件缺失 | 高 | 限定结局为公立系统内事件;急重症结局主张近全覆盖 |
| 漏报偏倚(污名化结局) | 自伤等结局系统性低编码 | 中-高 | 扩展码域定义 + 敏感性分析 |
| 错分偏倚(编码噪声) | PPV 79%-100%(疾病依赖),NPV 未知 | 中 | 引用验证码域;抽样复核;PPV 当先验 |
| 时间断层偏倚 | 1995-2003 数据完整性差(CMS 2000/SARS 2003) | 中 | 队列起点 ≥2004;断点指示变量 |
| 代理变量错分 | 吸烟/饮酒用 ICD 码推断存在错分 | 中 | 复合代理 + 敏感性分析;或省略该变量 |
| 人群同质性 | 华人占绝对多数,跨人群泛化受限 | 中 | 外部验证必做;避免跨种族直接迁移 |
| 就诊频次-SES 混杂 | 低收入人群更集中于公立系统,"就诊多"可能编码 SES 而非病情 | 中 | 控制服务利用强度特征;分层校准报告 |
| 结局判定无仲裁 | 复合结局依赖编码/登记,无独立临床裁定 | 中 | 结局定义写死为码域常量;引用已验证结局研究 |
| 快照截断偏倚 | 随访在提取快照日截断,近期队列随访窗短 | 低-中 | 按索引日期分层报告随访时长;生存分析处理行政删失 |
§7.2 标注质量
CDARS 标签质量的独特优势是"验证文献密度":超过 20 个疾病/结局的 PPV 已被本地研究量化(85.4%-100% 区间),HA 对出院编码的定期审计提供制度性质量保障,人口学与处方字段完整性达 100%/99.98%。短板同样明确:NPV 不可估计;无标注者间一致性(kappa)报告;结局无独立裁定(依赖编码与死亡登记);自由文本层验证证据缺乏。综合评级:结构化标签中上等(有量化边界可依),语义级标签(症状、严重度细节)不可依赖。
标签质量的四条使用纪律:
- 按疾病引用 PPV,不做库级泛化:胃肠出血的 100% 不能外推到间质性肺病的 79% 之外的新疾病;新疾病标签必须要么引用已验证码域,要么自建验证。
- 主/次诊断分层使用:主诊断(诊断 rank 1)的置信度高于次诊断;结局判定优先用主诊断 + 佐证(处方、检验),探索性特征可用次诊断。
- 码域定义写进版本控制:同一研究内码域定义只能有一个版本;修改码域 = 修改标签集 = 全部结果重跑。
- 在论文中同时报告码域与 PPV 依据:让读者能判断标签噪声量级,这是 CDARS 相对其他 EHR 库最可复用的透明化实践。
§7.3 泛化性表
| 部署场景 | 失效风险 | 证据 |
|---|---|---|
| 华人以外人群直接部署 | 高:人群构成以华人为主,疾病谱与就诊模式不同 | 验证研究报告成人以华人患者为主的局限性 |
| 私立医疗体系部署 | 高:编码录入动机、患者构成不同 | CDARS 数据原为 HA 内部运营用途(官方免责声明) |
| ICD-10/ICD-11 系统 | 中-高:码域需完整重映射与再验证 | 全库 ICD-9-CM(哮喘验证研究明示此局限) |
| 初级保健为主场景 | 中:门诊覆盖仅约 30% | JMIR 2024 覆盖口径 |
| 时序跨代部署(10 年+) | 中:编码习惯与化验体系漂移 | 1995/2000/2003/2004 断点证据 |
| 儿科亚人群 | 中-高:多数验证研究以成人(≥40/≥65)为样本框 | 哮喘/COPD/痴呆验证研究纳入标准 |
| 实时预警(小时级时窗) | 高:编码时点为日粒度,出院编码有滞后 | 逐次就诊录入口径(§3.7) |
§7.4 伦理
数据治理框架:香港《个人资料(私隐)条例》+ HA Clinical Data Policy Manual + CDARS Data Disclaimer(官方明确声明数据原为运营用途、研究者须自行确保准确性完整性)。访问须逐项目审批:伦理批准(大学/集群 REC 或 HKSTP CREC)+ 保密承诺 + 授权人登记;发表鼓励但数据不可共享(第三方限制与患者保密,Nature Communications 2024 数据可用性声明)。隐私技术:伪匿名化 + 唯一伪标识号 + 环境隔离 + 禁止导出/打印/拍照。
四个对 AI 项目有直接约束力的伦理要点:
- 知情同意豁免是常态但非自动:回顾性伪匿名研究通常豁免患者知情同意(多份 IRB 批准先例),但豁免决定权在 REC,协议中必须显式申请并说明理由。
- 发表前内部知会:CDARS 使用指引要求研究结果发表/披露前寻求相关部门(如部门主管、COC)背书,尤其当数据非本部门来源——这会影响发表时间线,应在项目排期中预留。
- 再识别禁止是硬红线:伪匿名 ≠ 匿名,任何试图通过准标识符组合(出生日期 + 性别 + 罕见病)反推个人身份的分析都违反私隐条例,稀有亚组报告(cell size < 阈值)需聚合处理。
- 模型即数据产品:在环境内训练的模型也受数据治理约束(HA 对有用模型保留使用权,见 GDHP 案例);模型带走 vs 权重带走 vs 仅方法带走,边界须在立项时与 HA 书面确认。
§7.5 公平性
CDARS 公平性研究的关键事实:人群以华人为主,少数族裔样本量小,亚组分析统计功效受限;性别维度上不同疾病自然分布差异大(髋部骨折女性占优、住院构成可超 70% 女性);社会经济维度上,公立系统重度补贴使低收入人群更集中于此,"公立就诊"本身与社会经济地位相关,模型可能间接编码 SES 信号。公平性审计建议:按性别/年龄/集群做分层校准报告,避免以就诊频次为特征时把"就医可得性"误编码为疾病风险。
三个可操作的公平性检查点:
- 特征代理审计:检查特征集中是否有变量与 SES/种族强相关(如居住区、支付类别),若有,做"去该特征"对照实验,观察亚组 AUROC 差异变化。
- 亚组校准而非只看区分度:全人群 AUROC 掩盖亚组校准失败;按年龄带(尤其 65+ 与 <65)与性别分别画校准曲线,斜率偏离 1 的亚组单独重校准。
- 部署边界声明:CDARS 训练的模型声明"适用于公立住院人群",若目标部署场景含私立或社区医疗,必须重新界定预期人群并补验证。
§7.6 数据漂移
结构性漂移源已明确:编码体系换代风险(ICD-9-CM → 未来 ICD-10/11 迁移)、药物目录更新、化验参考区间与检测方法演进、SARS/COVID 等公共卫生事件造成的就诊模式阶跃(2019-2021 急诊量与死亡模式的 pandemic 四波研究即为漂移实例)。实践建议:以年度为粒度监控码频与就诊量分布;跨事件期(如疫情波次)模型必须重新校准;历史数据训练的模型默认携带"训练年代偏置"。
漂移监控的三个 CDARS 特有信号:
- 码频漂移:某一 ICD-9-CM 码的使用率突变通常先于临床实践变化(编码培训、审计重点调整),是编码习惯漂移的最早指标。
- 化验体系漂移:同一检验项的单位/分布参数变化(参考区间调整、检测平台更换),直接打击以原始值输入的模型。
- 服务模式漂移:急诊/住院/门诊构成比突变(如疫情期急诊量下降与 ED 认证死亡上升并存),影响所有以"就诊"为采样单位的数据集构建。
§7.7 DAIMS 24 项评估
| # | 检查项 | 状态 | 说明 |
|---|---|---|---|
| 1 | 宽格式 | ⚠️ | 提取产物形态随协议而定,无官方宽格式规范;需自行把长表聚合为患者级矩阵 |
| 2 | 唯一标识 | ✅ | 每患者唯一伪标识号,跨域链接(诊断/处方/化验/死亡)成熟 |
| 3 | 特殊字符 | ✅ | 结构化编码字段为主,无自由文本污染核心表 |
| 4 | 重复行 | ⚠️ | 逐次就诊录入可能产生同日同码重复,需按(患者、日期、码)去重 |
| 5 | 缺失编码 | ✅ | 缺失以"行缺失"表达,语义清晰;无伪装成 0/-999 的伪缺失 |
| 6 | 标签标识 | ✅ | 诊断码含主/次诊断排序(诊断 rank),标签层级可辨 |
| 7 | 罕见类分组 | ⚠️ | 罕见病阳性例数不足时无官方分组指南,需研究者自定码域聚合 |
| 8 | 偏倚评估 | ✅ | 20+ 疾病 PPV 量化验证文献 + 捕获/漏报偏倚有公开研究支撑 |
| 9 | 数据字典 | ⚠️ | 官方字典随批准协议提供,无公开版;概念级结构可从文献重建 |
| 10 | 信息性缺失解释 | ⚠️ | 生活方式变量缺域与自伤漏报等文献有述,但无系统性官方缺失机制说明 |
| 11 | 设备记录 | ❌ | 无设备元数据,不含波形/影像像素级数据 |
| 12 | 共线性 | ⚠️ | 诊断码间强共线(编码习惯、疾病丛生),需在建特征时处理 |
| 13 | 编码映射 | ⚠️ | 库内 ICD-9-CM 一致;向外映射(ICD-10/11/SNOMED)需自行构建并验证 |
| 14 | 时间戳处理 | ✅ | 就诊/处方/化验/死亡日期齐全,支持患者级时序重建 |
| 15 | 划分建议 | ❌ | 无官方划分;患者级防泄漏全靠研究者自律 |
| 16 | 泄漏讨论 | ⚠️ | 文献普遍未讨论患者级泄漏,本百科 §5.3/坑点 4 提供完整方案 |
| 17 | 标签分布 | ⚠️ | 无官方分布报告;研究级分布散见各论文 |
| 18 | 测量偏倚 | ⚠️ | 化验体系/参考区间随年代与实验室变化,无统一校正层 |
| 19 | 外部验证建议 | ✅ | 有成熟范式(UK THIN 平行队列、武汉 COVID 外部验证) |
| 20 | 版本记录 | ⚠️ | 数据库持续运营无版本号;界面版本(CDARS 2009 等)有迹可循 |
| 21 | 预处理脚本 | ❌ | 无官方预处理脚本;分析栈(RStudio/Jupyter)由环境提供 |
| 22 | 合规要求 | ✅ | 治理文档完备:私隐条例、Policy Manual、Data Disclaimer、逐项目审批 |
| 23 | 多模态对齐 | ⚠️ | 单库内诊断-处方-化验-死亡四域对齐成熟;无影像/基因组模态 |
| 24 | 去标识化 | ✅ | 伪匿名化 + 加密 + 环境隔离 + 禁止导出,治理链条完整 |
DAIMS 评分:14 / 24
评分解读:14/24 的得分刻画了"治理强、工程弱"的典型受控研究型数据库画像。去标识化、唯一标识、合规、时间戳、偏倚证据、外部验证范式等"制度与语义层"项全部达标——这在全球受控 EHR 数据库中属第一梯队;失分集中在"ML 工程便利层":无官方划分、无预处理脚本、无公开数据字典、无版本号、无设备层。换言之,CDARS 随时可以被严肃地用于 AI 研究,但"可研究性"需要研究者自带方法学基础设施来兑现。
对你意味着什么:如果你要做药物安全或疾病预测类全人群研究,CDARS 的标签质量证据(PPV 文献)和死亡链接会让你在结果可信度上占便宜,直接引用已验证码域即可;但要在立项时就预留三类工程成本——申请审批周期、5 天访问窗口的流水线预演(依赖离线打包 + 幂等脚本)、自建患者级划分与泄漏自检。若你的任务强依赖影像、波形或设备元数据,此库不适用。若团队没有医学编码经验,第一周请把 §2.1 的码域映射表和已发表验证研究读透,再写第一行查询代码。
§7.8 外部验证矩阵
| 外部数据集/场景 | 来源机构 | 评估任务 | 性能指标 | 相对内部变化 | 关键发现 |
|---|---|---|---|---|---|
| 武汉亚洲总医院 COVID 队列 | 武汉(外部城市) | 重症 COVID-19(ICU/插管/死亡复合结局)风险分层 | 显著风险分层(评分系统 AUC 报告于原文) | 香港队列 C-statistic 0.89(day-0 化验) | 仅用入院当日人口学+合并症+化验即可跨城市分层;部分化验项未采集导致验证特征缩减 |
| UK THIN 平行队列 | 英国(Cegedim,IQVIA 授权) | 髋部骨折患者心血管事件风险表型 | 两库独立分析结果一致 | HK 78,417 例 vs UK 27,948 例 | 平行复分析的可复现性与可泛化性证据;住院库 vs 初级保健库捕获互补 |
| (方法学)多疾病码域验证 | 香港本地多中心 | ICD-9-CM 病例识别 PPV | 85.4%-100%(疾病依赖) | 不适用 | 跨疾病 PPV 差异本身构成外部使用时的校准基准 |
§8 基准性能与生态
§8.1 代表性研究型基准
CDARS 无统一排行榜(研究各自定义任务与队列),下表汇总已发表的代表性定量结果。各行数值来自不同队列、时间窗与结局定义,不可直接横向比较:
| 排名 | 模型/方法 | 任务与性能 | 年份 | 关键技术 | 完整引用 | 代码 |
|---|---|---|---|---|---|---|
| 1 | 逻辑回归评分系统 | 重症 COVID-19 预测,C-statistic 0.89(day-0 特征;香港 5 折 CV + 武汉外部验证) | 2021 | day-0 化验 + 合并症,无需影像 | Yin et al., 2021, npj Digital Medicine. DOI 10.1038/s41746-021-00433-4 | 未公开 |
| 2 | LCA 表型模型 | 髋部骨折患者表型识别与心血管事件时序关联(106,365 例跨库队列) | 2024 | 潜在类别分析 + 纵向 Cox | Hsu, Zhang, Sing et al., 2024, Nature Communications. DOI 10.1038/s41467-024-48713-3 | 未公开 |
| 3 | 2SLS 因果模型 | 急诊就诊减少 → 28 天超额死亡因果估计(860 万+ 就诊) | 2024 | 两阶段最小二乘工具变量 | Wong et al.(JMIR Public Health & Surveillance), 2024. DOI 10.2196/41792 | 未公开 |
| 4 | ML 痴呆预测协议 | 认知足迹 + 时间交互项预测痴呆(protocol,70,083 例阳性) | 2020 | 机器学习扩展常规风险评分 | Luo et al.(BMJ Open), 2020. DOI 10.1136/bmjopen-2019-034863 | 未公开 |
数值不可直接比较的原因:各研究阳性结局定义(复合/单一)、时间窗、候选特征集与队列规模完全不同;CDARS 无统一评测协议,任何"榜单化"都会制造伪精度。
§8.2 SOTA 总结与选型建议
已发表证据的模式很清晰:在 CDARS 这类全人群结构化 EHR 上,精心构造特征的浅层模型(逻辑回归、梯度提升、Cox + PS 匹配)仍是主力,且外部验证表现稳健;深度模型的优势场景(大规模影像、自由文本)在本库特征面上不存在。选型建议:以"可解释统计模型 + 严格患者级划分 + 平行外部队列"为默认配置;把深度模型留给事件序列长、事件密度高的子任务(再入院、多病种轨迹)。
三条从已发表证据提炼的建模经验:
- day-0 特征优先:COVID 重症研究证明入院当日特征已达成 C-statistic 0.89,后续时点化验未增益——全人群 EHR 上的首个决策点往往是价值最高的建模窗口,长时序复杂模型先证明自己优于 day-0 基线再上。
- 可解释性是发表硬通货:评分系统(beta 系数加权)在该库的研究生态里被反复使用,因其可直接嵌入临床工作流;黑箱模型需配备 SHAP/注意力可视化才能通过同行评审。
- 外部验证是区分研究等级的分水岭:有跨城市/跨库验证的研究(npj DM 2021、Nat Commun 2024)均发表于高影响力期刊;仅内部验证的研究多落于专科期刊。立项时就把外部验证通路写进方案,是对 ROI 最友好的决定。
§8.3 评测协议
社区事实标准(从高被引研究归纳):患者级划分(GroupKFold by patient_pkey)→ 特征窗(索引日期前 1 年)→ 标签窗(索引日期后固定窗)→ AUROC + AUPRC + 校准曲线 → 至少一层外部验证(时间外推 / 跨库平行 / 跨城市)。药物研究附加 STROBE 合规报告与新用药者设计。发表层面建议同时遵循 STROBE 与 NeurIPS Datasets & Benchmarks 类清单(rai: 字段即为此准备)。
可复用的协议细节(均出自已发表研究):
- 倾向得分匹配参数:1:1 最近邻匹配、caliper 0.1、混杂变量全量进入模型(无论统计显著性或共线性)——NOAC 肝损伤研究的完整设定。
- 结局定义双轨制:实验室阈值结局(Hy’s law:ALT/AST > 3×ULN + 总胆红素 > 2×ULN)与编码结局(ICD-9-CM)并行报告,前者客观后者可及。
- 交叉验证 + 外部验证的双层报告:5 折 CV 报告内部稳定性,独立外部队列(武汉模式)报告泛化性,验证后不重校准(no recalibration after validation)以保持评估严格性。
- 随访窗与终点显式声明:如"出院后 30 天死亡"“诊断后 15 年心血管事件”“9 个月 landmark 期后计数事件”——landmark 分析规避治疗期混入,是肿瘤心脏病学研究的成熟做法。
§8.4 相关数据集表
| 数据集 | 与 CDARS 的关系 | 适用组合研究 |
|---|---|---|
| UK THIN | 平行初级保健 EHR 库(IQVIA 授权,约 6% 英国人口) | 跨库平行队列互证(髋部骨折范式) |
| MIMIC-IV | 单机构 ICU 深时序库(PhysioNet) | 方法开发(MIMIC)+ 人群验证(CDARS)接力 |
| Korea NHIS | 韩国全人群理赔库 | 亚洲跨体系稳健性检查 |
| 香港死亡登记处 | CDARS 内建链接源 | 生存分析结局金标准(不可独立申请) |
| eHealth(香港电子健康纪录互通系统) | 全港公私立互通层(含中医),与 CDARS 互补 | 未来跨境/互通研究(2025 政策方向) |
| Children of 1997 出生队列 | HKU 公共卫生学院队列(8,300+ 名 1997 年出生者),已实现与 EHR 记录链接 | 队列-EHR 链接方法学参照;自报暴露与 EHR 编码的互补验证 |
| GBA 真实世界数据平台(RWSAC,规划中) | 大湾区 11 城真实世界数据整合(2025 政策推进) | 跨境药物审批证据链(远期) |
§8.5 关键论文 Top 6
- Yin et al., 2021, npj Digital Medicine. DOI 10.1038/s41746-021-00433-4 — CDARS 全港 COVID 队列重症预测模型,C-statistic 0.89 与武汉外部验证,展示 day-0 特征的实用范式。
- Hsu, Zhang, Sing et al., 2024, Nature Communications. DOI 10.1038/s41467-024-48713-3 — 106,365 例跨库(CDARS+THIN)髋部骨折表型与心血管事件研究,平行队列方法学标杆。
- Wu, Nam, Leung et al., 2023, Cardiovascular Innovations and Applications — 香港常规数据研究系统综述(454 项),量化研究增长与伦理治理实践(HADCL、单一 REC 通行)。
- Wong et al., 2020, Blood Advances. DOI 10.1182/bloodadvances.2020002621 — DLBCL 蒽环类化疗后 15 年心血管风险(2,600 例),药物警戒与长期随访范式。
- Luo et al., 2020, BMJ Open. DOI 10.1136/bmjopen-2019-034863 — CDARS 痴呆认知足迹预测协议,定义 EHR 特征 + ML 的疾病预测管线。
- Wong et al., 2008, BMC Health Services Research. DOI 10.1186/1472-6963-8-138 — 100 万+ 降压处方的常规数据研究,系统披露 e-CMS/CDARS 时间线与数据潜力陷阱,是理解本库断点问题的第一手文献。
- Cheung et al.(UCL Discovery 存档), Drug Safety — NOAC 时代房颤抗凝格局研究,系统描述 CDARS 覆盖口径(43 医院、49 专科门诊、73 普通门诊、80% 住院)与四病种 PPV 证据,是数据源描述被引最多的模板之一。
- HKSTP & Hospital Authority, 2023-09-26, 官方新闻稿 — HKSTP-HA 数据实验室设立公告(20 万患者匿名数据、非学术研发首接口),产业合作与数据开放政策的一手文献。
§8.6 社区活跃度
CDARS 的"社区"以学术产出与官方治理渠道为形态:PubMed 系统综述口径的已发表研究 454 项(截至 2023-03),年产出从 2010 年的 5 项增至 2022 年的 120 项;HADCL 截至 2025-09 支持 450+ 研究者、70+ 在研项目,覆盖乙肝、类风湿关节炎、糖尿病、痴呆、老年跌倒等主题;治理层面设 Central Clinical Research and Innovation Office、集群研究支持办公室与集中化的跨集群伦理审查。无公开 GitHub 生态与第三方教程社区,方法学交流发生在论文渠道与 HADCL 官方支持内。
活跃度的三个观察面:
- 官方节奏:HA 通过发言人声明与年度进展披露数据服务扩张(2025-09 声明强调"数据开放、服务扩围、平台增强、流程精简"四个方向),是判断通道变化的权威信源。
- 政策联动:2025 年施政报告将大湾区临床数据标准化、真实世界数据平台(RWSAC)、AI 肺癌筛查试点列入议程,CDARS 被定位为"真实世界研究的数据基础",政策面持续利好。
- 学界网络:HKU/CUHK 两所医学院及其附属研究团队构成核心用户群,跨机构合作论文(如 CDARS × UK THIN)显示国际网络在扩展。
§8.7 生态快照表
| 资源 | 类型 | 链接 | 推荐理由 |
|---|---|---|---|
| HA Data Sharing Portal | 官方申请入口 | https://www3.ha.org.hk/data | 学术申请唯一正式入口,含申请程序文档 |
| HA Data Collaboration Lab | 官方分析环境 | https://www3.ha.org.hk/data | 数据不出环境的分析平台(自助平台 + 项目通道) |
| HKU-HADCL | 远程访问点 | https://www.med.hku.hk/-/media/HKU-Med-Fac/research/facility/HKU-HADCL_Usage_Policy-January-2025.docx | 港大校区远程访问政策与预约规则 |
| HKSTP-HA 数据实验室 | 产业接口(暂停) | https://hkstp.org/en/programmes/life-and-health-technology/hkstp-ha-data-collaboration-lab | 产业自助通道状态与重启公告的第一来源 |
| GDHP AI 白皮书 Case Study 2 | 国际评估 | https://gdhp.health/wp-content/uploads/2022/03/GDHP_PolicyWorkStreams_AIWhitePaper_December_2020.pdf | 权威视角解读 HADCL 对 AI 研究的支撑机制 |
| CDARS 界面演示资料 | 官方培训 | https://www.ehealth.gov.hk/filemanager/content/pdf/en/2-terminology-in-practice-the-hospital-authority-experience-ms-maggie-lau.pdf | 了解检索界面、编码分类与数据免责声明原文 |
生态使用的三点评注:
- 入口唯一性:所有正规通路都收敛到 HA 官方域(ha.org.hk / hkstp.org / hku.hk),任何声称"提供 CDARS 数据"的第三方渠道都应视为合规风险源。
- 状态时效:HKSTP 通道 2025-04 暂停与后续重启属于动态信息,引用本表前请刷新官方页面确认(截至 2025-09 检索状态)。
- 政策文件优先级:使用规则冲突时,HA Clinical Data Policy Manual > HADCL 使用政策 > 各远程访问点细则,以更高层级文件为准。
§9 相关资源与引用
§9.1 官方资源
- HA Data Sharing Portal(申请入口与程序):https://www3.ha.org.hk/data 及 https://www3.ha.org.hk/data/Provision/ApplicationProcedure
- HA Data Collaboration Lab(分析环境与使用规则):经 Data Sharing Portal 内页获取
- HKSTP-HA 数据实验室(产业通道状态):https://hkstp.org/en/programmes/life-and-health-technology/hkstp-ha-data-collaboration-lab
- HKU-HADCL 使用政策(2025-01 版):HKU 李嘉诚医学院研究设施页面
- CDARS 数据免责声明与使用指引:香港 eHealth 官方演示资料(Terminology in Practice, The Hospital Authority Experience)
使用官方资源的三个提示:
- 申请前先读 ApplicationProcedure 页面的材料清单,材料不齐是退件的首要原因。
- HADCL 服务窗口、预约规则以最新官方政策为准(HKU-HADCL 政策文档更新至 2025-01,含爽约处罚细则)。
- 产业团队关注 HKSTP 页面的"服务重新启动公告"(2025-04 暂停后尚无重启日期),学术团队不受此影响。
§9.2 教程与方法学资源
- 系统综述:Wu et al., Population-Based Clinical Studies Using Routinely Collected Data in Hong Kong, 2023 — 香港研究实践与伦理治理全景。
- 编码验证方法学范本:HKMJ COPD 验证、哮喘验证研究 — 病例识别算法 + 病历复核 PPV 估计的完整流程模板。
- 平行队列方法学:Nature Communications 2024 髋部骨折研究的数据可用性与报告摘要 — CDARS/THIN 双库独立复分析范式。
§9.3 BibTeX 引用
@article{yin2021covid,
author = {Yin, Yusen and others},
title = {Development of a multivariable prediction model for severe {COVID-19} disease: a population-based study from {Hong Kong}},
journal = {npj Digital Medicine},
volume = {4},
year = {2021},
doi = {10.1038/s41746-021-00433-4}
}
@article{hsu2024hip,
author = {Hsu, Warrington W. Q. and Zhang, Xiaowen and Sing, Chor-Wing and others},
title = {Unveiling unique clinical phenotypes of hip fracture patients and the temporal association with cardiovascular events},
journal = {Nature Communications},
volume = {15},
pages = {4353},
year = {2024},
doi = {10.1038/s41467-024-48713-3}
}
@article{wu2023review,
author = {Wu, Derek and Nam, Ronald and Leung, Keith Sai Kit and others},
title = {Population-Based Clinical Studies Using Routinely Collected Data in {Hong Kong}, {China}: A Systematic Review of Trends and Established Local Practices},
journal = {Cardiovascular Innovations and Applications},
year = {2023}
}
@article{luo2020dementia,
author = {Luo, Jianxiong and others},
title = {Predicting dementia diagnosis from cognitive footprints in electronic health records: a case-control study protocol},
journal = {BMJ Open},
volume = {10},
pages = {e034863},
year = {2020},
doi = {10.1136/bmjopen-2019-034863}
}
@article{wong2020dlbcl,
author = {Wong, Au W. and others},
title = {Doxorubicin and subsequent risk of cardiovascular diseases among survivors of diffuse large {B}-cell lymphoma in {Hong Kong}},
journal = {Blood Advances},
volume = {4},
number = {20},
pages = {5107--5117},
year = {2020}
}
@article{wong2008cdars,
author = {Wong, Sian Y. and others},
title = {Health services research in the public healthcare system in {Hong Kong}: An analysis of over 1 million antihypertensive prescriptions between 2004-2007 as an example of the potential and pitfalls of using routinely collected electronic patient data},
journal = {BMC Health Services Research},
volume = {8},
pages = {138},
year = {2008},
doi = {10.1186/1472-6963-8-138}
}
§9.4 引用指南
CDARS 无专属数据集论文,引用规范为:在方法节写明"数据来自香港医院管理局 Clinical Data Analysis and Reporting System(CDARS)",附本节最贴近研究设计的 1-2 篇方法学论文作为数据描述引用,并在数据可用性声明中给出 HA Data Sharing Portal 链接(参照 Nature Communications 2024 的声明格式)。BibTeX 优先引用本节文献而非自造条目。
三种研究类型的数据声明模板(改写自已发表先例):
- 队列/预测研究:“This study used anonymised EMR from the Clinical Data Analysis and Reporting System (CDARS) developed by the Hospital Authority (HA) of Hong Kong. The HA manages all public hospitals and their ambulatory clinics, serving a population of over 7 million. Applications to access CDARS data can be made through the HA Data Sharing Portal (https://www3.ha.org.hk/data).”
- 药物流行病学研究:在上述基础上追加"new-user, active-comparator design"描述与 IRB 参考编号(如 UW13-468 先例格式)。
- 方法学/AI 研究:追加编码验证引用(所用疾病的 PPV 文献)与"no adjudication of outcomes"等限制声明,避免审稿人质疑标签质量时无据可依。
§10 AI 使用声明卡
§10.1 AI 模型列表
| 模型 | 用途 | 参与范围 |
|---|---|---|
| 千方病案医学编辑部 AI 辅助写作系统 | 条目草拟与结构化 | frontmatter、章节框架、代码示例草稿 |
| 检索增强事实核验 | 数字与来源核对 | 规模数字、日期、访问政策逐条溯源至 §FACTS 清单来源 |
§10.2 AI 参与范围
AI 参与了初稿撰写、结构排版与格式自检;全部医学判断(疾病映射、偏倚定性、DAIMS 评级)、事实取舍(数字去留)、坑点选择与解决方案设计由人工完成并承担责任。AI 不接触任何 CDARS 原始数据(本条目基于公开文献撰写)。
具体分工边界:
- AI 起草:frontmatter 结构化字段、章节骨架、代码示例的模板化部分、表格排版。
- AI 辅助核查:数字与来源清单的一致性比对(FACTS.md 逐条勾稽)。
- 人工专属:CDARS 本体判断与消歧、ICD-11/SNOMED 概念映射取舍、8 个坑点的选择与分级、DAIMS 24 项逐项评级、引用完整性与 DOI 核对、合规表述的最终措辞。
§10.3 输入来源列表
- Hsu, W. W. Q. et al., 2024, Nature Communications. DOI 10.1038/s41467-024-48713-3
- Yin, Y. et al., 2021, npj Digital Medicine. DOI 10.1038/s41746-021-00433-4
- Luo, J. et al., 2020, BMJ Open. DOI 10.1136/bmjopen-2019-034863(PMC7678375)
- Wu, D. et al., 2023, Cardiovascular Innovations and Applications(系统综述)
- Wong, S. Y. et al., 2008, BMC Health Services Research. DOI 10.1186/1472-6963-8-138
- Wong, A. W. et al., 2020, Blood Advances. DOI 10.1182/bloodadvances.2020002621
- JMIR Public Health and Surveillance, 2024. DOI 10.2196/41792(急诊与超额死亡研究)
- Life Science Alliance, 2022(SARS/COVID 肝损伤队列,ICD-9-CM 99% 准确率表述)
- Frontiers in Psychiatry, 2025. DOI 10.3389/fpsyt.2025.1660960(BDD 自伤研究)
- Hong Kong Medical Journal, COPD 编码验证研究(hkmj.org)
- ProQuest 2801835571, 哮喘编码验证研究
- HKSTP 官方页面:HKSTP-HA Data Collaboration Lab(2023 新闻稿与申请页)
- HKU-HADCL Usage Policy, 2025-01(med.hku.hk)
- China Daily Hong Kong, 2025-09:HA 数据服务与研究支持报道(55 亿条记录、450+ 研究者)
- Healthcare IT News, 2025:Policy Address 2025 数字健康举措报道
- GDHP AI White Paper, 2020-12:Case Study 2(香港健康数据整合支撑 AI 研究)
- eHealth 官方演示资料:Terminology in Practice, The Hospital Authority Experience
§10.4 人工校验表
| 内容模块 | 审核者 | 审核方式 | 审核状态 |
|---|---|---|---|
| frontmatter 与 INFOBOX 全部数字 | 千方病案医学编辑部 | 逐条对照 FACTS.md 来源清单 | ✅ 已通过 |
| §2 医学背景(ICD-11/SNOMED 映射) | 千方病案医学编辑部 | 对照公开编码资料与文献码域 | ✅ 已通过 |
| §4 数据结构与字段字典 | 医疗 AI 数据工程师 | 与文献描述逐项核对,标注"概念级"定位 | ✅ 已通过 |
| §6 坑点与代码 | 医疗 AI 数据工程师 | 代码逻辑走查 + 坑点溯源文献核对 | ✅ 已通过 |
| §7 DAIMS 24 项评级 | 医疗 AI 数据工程师 | 逐项证据复查 | ✅ 已通过 |
| §8 基准与引用完整性 | 千方病案医学编辑部 | DOI 与作者逐条核验 | ✅ 已通过 |
§10.5 AI 生成章节标注
全文初稿由 AI 辅助生成,经人工逐节改写与核验后定稿;§1.2/§2.5/§6.5/§7.7 三段式分析为人工主导撰写。无未核验的 AI 直接输出段落。
- 人工改写密度最高的章节:§2(医学映射与码域)、§6.5(坑点)、§7(DAIMS 与偏倚定性)。
- AI 贡献占比最高的章节:§3(规格结构化)、§9(资源与 BibTeX 整理)。
- 代码示例(§6.1/6.3/6.4/6.9)全部经人工逻辑走查,并在注释中标注"概念级/示意"定位,与官方数据字典的边界已声明。
§10.6 最后人工审核日期
2026-09-05(与 §0 审核声明一致)。
页面状态:published(全部内容已完成审核并发布)
§C 结构化数据
---
## 相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- [nhird](https://www.qianfanghub.com/ai-ready-dataset/nhird/276) — 共享标签:电子健康记录 / 药物发现与化学 / 药物安全 / 队列研究
- [trinetx](https://www.qianfanghub.com/ai-ready-dataset/trinetx/376) — 共享标签:电子健康记录 / 药物发现与化学 / 药物安全
- [cprd](https://www.qianfanghub.com/ai-ready-dataset/cprd/12) — 共享标签:电子健康记录 / 药物安全 / 队列研究
- [twosides](https://www.qianfanghub.com/ai-ready-dataset/twosides/254) — 共享标签:电子健康记录 / 药物发现与化学 / 药物安全
- [faers](https://www.qianfanghub.com/ai-ready-dataset/faers/264) — 共享标签:电子健康记录 / 药物发现与化学 / 药物安全
- [cgrd](https://www.qianfanghub.com/ai-ready-dataset/cgrd/346) — 共享标签:电子健康记录 / 药物发现与化学 / 药物安全
- [gepard](https://www.qianfanghub.com/ai-ready-dataset/gepard/525) — 共享标签:电子健康记录 / 药物安全 / 队列研究
- [cadec](https://www.qianfanghub.com/ai-ready-dataset/cadec/464) — 共享标签:药物发现与化学 / 药物安全
- [thin](https://www.qianfanghub.com/ai-ready-dataset/thin/256) — 共享标签:电子健康记录 / 药物发现与化学 / 药物安全
- [nhis-nhid](https://www.qianfanghub.com/ai-ready-dataset/nhis-nhid/286) — 共享标签:电子健康记录 / 药物安全 / 队列研究
> 导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

