MIMIC-IV-Note

MIMIC-IV-Note — 去标识化临床自由文本语料库 AI-Ready Wikipedia | 千方病案医数集

来源 MIT 计算生理学实验室 & 贝斯以色列女执事医疗中心发布时间: 2026-08-04最后更新: 2026-08-04 阅读 1

信息速览

数据集名称MIMIC-IV-Note
数据类型约 45GB(压缩 CSV), 331794 份出院摘要, 2321355 份放射报告, HIPAA 去标识化
规模14.6 万名患者
接入方式MIT 计算生理学实验室 & 贝斯以色列女执事医疗中心
AI 就绪度

INFOBOX

数据集名称 MIMIC-IV-Note
英文全称 MIMIC-IV-Note: Deidentified free-text clinical notes
别名 / 简称 MIMIC-IV Note、MIMIC-IV Notes module、MIMIC-IV-Note v2.2
疾病分类 全疾病覆盖(重症监护 + 内外科住院 + 急诊)。无特定疾病限制,涵盖 ICD-9/ICD-10 全编码体系
SNOMED CT SNOMED CT Entity Linking Challenge 已基于 272 份出院摘要建立 74,808 条标注、6,624 个唯一概念映射(详见 §2.2)
数据模态 文本(自由文本临床笔记:出院摘要、放射报告、出院摘要补遗、放射报告补遗)
AI 任务类型 自然语言推理、命名实体识别、文本摘要生成、ICD 自动编码、实体链接、临床问答、时序事件抽取、表型识别、死亡预测(文本增强)
样本总数 331,794 份出院摘要(145,915 名患者)+ 2,321,355 份放射报告(237,427 名患者)= 2,653,149 份临床文本记录
数据大小 ~45 GB(压缩 CSV)
数据格式 CSV(gzip 压缩,含 4 张主表 + 2 张明细表)/ PostgreSQL / BigQuery / Google Cloud
许可证 PhysioNet Credentialed Health Data License 1.5.0
访问级别 注册后开放(CITI 培训 + PhysioNet 凭证认证 + DUA 签署)
DUO 标签 HMB, NPUNCU
语言 英文(美国医学英语临床文档)
首发日期 2023-01-06(PhysioNet v2.2 发布,与 MIMIC-IV v2.2 同期)
最后更新 2023-01-06(v2.2 为当前最新版本)
发布机构 MIT Laboratory for Computational Physiology(MIT-LCP)& Beth Israel Deaconess Medical Center(BIDMC)
官方主页 https://physionet.org/content/mimic-iv-note/2.2/
下载地址 https://physionet.org/content/mimic-iv-note/2.2/ (凭证认证后可见下载入口)
DOI 10.13026/1n74-ne17(v2.2)/ 10.13026/7qgp-kc16(最新版本)
引用次数 3,200+(Google Scholar,截至 2026-07;含 MIMIC-IV 主库引用)
AI 就绪度评分 ⭐⭐⭐⭐(4/5)— 与 MIMIC-IV 结构化数据无缝关联 + 完整去标识化 + 社区加载工具成熟;扣分项:无官方 train/test 划分、笔记结构异质性高、去标识化标记引入 NLP 噪声
页面状态 published

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

字段编号 内容
0.1 医学审核者 [千方病案医学编辑部]交叉审核:§2 医学背景(ICD-11 映射、临床笔记类型定义、去标识化规范)、§7 偏倚分析。
0.2 数据工程审核者 [千方病案医学编辑部交叉审核] 医疗 AI 数据工程师,审核范围:§4 DAIMS 数据字典、§5 数据划分策略、§6 预处理 Pipeline 和坑点。
0.3 审核日期 2026-08-04
0.4 审核方式 交叉审核
0.5 强制免责声明 见下方
0.6 利益冲突声明 本页面与 MIT-LCP、BIDMC、PhysioNet 无商业关联。千方病案医数集为独立第三方百科平台。

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

技术免责声明:本页面的代码示例、预处理建议和基准性能数据基于公开资料整理,不保证在特定环境下的准确性和适用性。使用者应自行验证代码安全性和数据预处理流程的正确性。千方病案医数集不对因使用本页面信息而导致的任何直接或间接损失承担责任。

数据使用合规:使用本页面描述的数据集前,请务必阅读并遵守数据集原始许可协议。MIMIC-IV-Note 要求 PhysioNet 凭证认证与 CITI 培训(Data or Specimens Only Research)。DUO 标签仅供参考,具体使用限制以数据集官方协议为准。

权威文献溯源:本页面核心信息基于以下 8 篇同行评审论文与官方文档:

编号 文献 贡献
[1] Johnson, A., Pollard, T., Horng, S., et al. (2023). MIMIC-IV-Note: Deidentified free-text clinical notes. PhysioNet. DOI: 10.13026/1n74-ne17 数据集官方发布文档
[2] Johnson, A.E.W., Bulgarelli, L., Shen, L., et al. (2023). MIMIC-IV, a freely accessible electronic health record dataset. Scientific Data, 10, 1. DOI: 10.1038/s41597-022-01899-x MIMIC-IV 主库论文(Note 模块为子模块)
[3] Johnson, A.E., Stone, D.J., Celi, L.A., Pollard, T.J. (2018). The MIMIC Code Repository: enabling reproducibility in critical care research. JAMIA, 25(1), 32-9. MIMIC 代码仓库与可复现性框架
[4] Alsentzer, E., Murphy, J., Boag, W., et al. (2019). Publicly Available Clinical BERT Embeddings. Clinical NLP @ NAACL-HLT 2019. arXiv:1904.03323 Bio_ClinicalBERT 预训练模型(基于 MIMIC-III 出院摘要)
[5] Aali, A., Van Veen, D., Arefeen, Y., et al. (2025). MIMIC-IV-Ext-BHC: Labeled Clinical Notes Dataset for Hospital Course Summarization. PhysioNet. 基于 MIMIC-IV-Note 的 BHC 摘要标注数据集
[6] Wang, J., Niu, X., Zhang, T., et al. (2025). MIMIC-IV-Ext-22MCTS: A 22 Million-Event Temporal Clinical Time-Series Dataset. PhysioNet. 从 MIMIC-IV-Note 提取 2258 万条时序事件
[7] Davidson, R., Hardman, W. (2025). SNOMED CT entity linking challenge. JAMIA, 32(9), 1397-1406. DOI: 10.1093/jamia/ocaf104 基于 MIMIC-IV-Note 的 SNOMED CT 实体链接竞赛
[8] Johnson, A.E., Bulgarelli, L., Pollard, T.J. (2020). Deidentification of free-text medical records using pre-trained bidirectional transformers. ACM CHIL, 214-221. 去标识化管道技术论文

§1 数据集概览(Overview)

§1.0 📌 30 秒速览(Executive Summary)

MIMIC-IV-Note 是 MIT 计算生理学实验室与贝斯以色列女执事医疗中心(BIDMC)于 2023 年发布的全球最大规模去标识化临床自由文本语料库,包含 331,794 份出院摘要和 2,321,355 份放射报告,覆盖 2008-2019 年间超过 23 万名患者的住院与急诊记录。

它的独特价值在于提供了真实的、大规模的、去标识化的临床叙事文本——这些文本是医生每日记录患者病情的第一手资料,包含临床表现、诊疗推理、治疗决策和出院建议。所有笔记可与 MIMIC-IV 结构化数据库通过 subject_idhadm_id 无缝关联,形成"结构化数据 + 自由文本"的多模态联合体。这一设计使 MIMIC-IV-Note 成为临床自然语言处理(Clinical NLP)研究的事实标准基础设施。

你可以用它来:训练一个自动生成出院摘要的大语言模型、从放射报告中提取诊断实体并映射到 SNOMED CT 标准术语、或者将自由文本与结构化生命体征融合提升 ICU 死亡预测精度(AUC 从 0.753 提升至 0.918)。

§1.1 摘要

MIMIC-IV-Note 是 MIMIC-IV 临床数据库的自由文本笔记模块,独立发布于 PhysioNet 平台。数据集包含两类核心笔记:出院摘要(Discharge Summaries,331,794 份)和放射报告(Radiology Reports,2,321,355 份),分别来自 145,915 名和 237,427 名在 BIDMC 接受治疗的患者。所有笔记按 Header-Detail 模式组织:主表(discharge / radiology)存储笔记全文与时间元数据,明细表(discharge_detail / radiology_detail)以 EAV 结构存储附加属性。每份笔记通过 note_id(格式:{subject_id}-{note_type}-{note_seq})唯一标识,通过 subject_idhadm_id 与 MIMIC-IV 结构化数据关联。去标识化采用混合规则型 + 预训练双向 Transformer 管道,将 18 类 HIPAA Safe Harbor 标识符替换为三个下划线(___),人工审计报告 PHI 移除灵敏度 >99%。

§1.2 战略价值分析

技术创新维度:MIMIC-IV-Note 的核心创新在于将临床自由文本这一长期被研究社区忽视的数据模态以合规、可关联、大规模的方式公开。在此之前,临床 NLP 研究受限于数据获取——大多数医院的自由文本笔记因包含 PHI 而无法共享。MIMIC-IV-Note 通过 MIT-LCP 开发的混合去标识化管道(Johnson et al., 2020, ACM CHIL),首次在 >99% PHI 移除灵敏度下实现了 260 万份笔记的公开释放。该管道结合规则型正则表达式与预训练 BERT NER 模型,在保留临床叙事完整性的同时满足 HIPAA Safe Harbor 合规要求。这一技术突破直接催生了 Bio_ClinicalBERT(Alsentzer et al., 2019)等临床语言模型,以及后续基于 MIMIC-IV-Note 的 LLM 微调研究(Llama2-13B QLoRA、GPT-4 ICL 等)。

应用影响维度:MIMIC-IV-Note 已成为临床 NLP 全任务谱的基准平台。在文本摘要领域,MIMIC-IV-Ext-BHC(Aali et al., 2025)从出院摘要中提取"简要住院病程"(BHC)作为标签,构建了 270,033 对笔记-摘要训练数据,支撑了 BioNLP ACL “Discharge Me!” 挑战赛。在自动 ICD 编码领域,MIMIC-IV-Note 提供了 ICD-9(209,326 例,6,150 码)和 ICD-10(122,278 例,7,942 码)双编码体系基准,是评估自动编码模型的现代标准。在实体链接领域,SNOMED International 基于 MIMIC-IV-Note 发起了全球实体链接挑战赛(Davidson et al., 2025, JAMIA),产生 74,808 条标注、6,624 个唯一概念。在多模态融合领域,研究证明将 MIMIC-IV-Note 文本特征与结构化数据融合可将 ICU 死亡预测 AUC 从 0.753 提升至 0.918(Mamatov et al., 2025)。

生态推动维度:MIMIC-IV-Note 构建了一个以自由文本为核心的派生数据集生态系统。MIMIC-IV-Ext-22MCTS(Wang et al., 2025)从 267,284 份出院摘要中提取了 22,588,586 条带时间戳的临床事件,解决了原始笔记缺乏结构化时间信息的痛点。Medication Extraction Labels(Goel et al., 2023)为 600 份出院摘要提供了药物提取标注。Transformer-DeID(Moore et al., 2023)将去标识化工具开源化。这些派生资源共同构成了一个以 MIMIC-IV-Note 为底座的临床 NLP 研究生态,其影响力远超数据集本身。

§1.3 横向对比

数据集 样本量 模态 标注方式 核心差异化
MIMIC-IV-Note 2,653,149 份笔记 自由文本 去标识化(无任务标注) 与 MIMIC-IV 结构化数据无缝关联 + 规模最大
MIMIC-III NOTEEVENTS ~200 万份笔记 自由文本 去标识化 前代版本,仅 ICU 患者,含护理笔记类型更多
n2c2 (National NLP Challenges) ~1,000-1,300 份 自由文本 人工专家标注 质量极高但规模小,竞赛专用
ShARe/CLEF eHealth ~4,500 份 自由文本 人工疾病障碍标注 欧洲多中心,SNOMED CT 标注
i2b2 (Informatics for Biology) ~2,000 份 自由文本 人工 NER + 关系标注 经典临床 NLP 基准,任务多样
PubMed Central ~33 万篇全文 文献文本 文献而非临床笔记,无患者关联
Clinical Note NER (n2c2 2014) 1,304 份 自由文本 人工去标识化标注 去标识化 NER 专用基准

§1.4 版本演进时间轴

时间 事件
2003 MIMIC 项目启动(NIH 资助,MIT + BIDMC + Harvard)
2011 MIMIC-II 发布,首次包含 NOTEEVENTS 表(去标识化临床笔记)
2015-10 美国 ICD-9 → ICD-10 编码转换,影响 MIMIC 笔记中的诊断编码引用
2019 Bio_ClinicalBERT 发布(Alsentzer et al.),基于 MIMIC-III 出院摘要预训练
2020 Johnson et al. 发表去标识化 Transformer 管道论文(ACM CHIL),为 MIMIC-IV-Note 奠定技术基础
2022-10 MIMIC-IV v2.2 发布(Johnson et al., Scientific Data 2023),Note 模块作为独立子模块开发
2023-01-06 MIMIC-IV-Note v2.1 & v2.2 正式发布于 PhysioNet(DOI: 10.13026/1n74-ne17)
2023-12 Medication Extraction Labels for MIMIC-IV-Note 发布(Goel et al., 600 份出院摘要)
2024-06 BioNLP ACL “Discharge Me!” 挑战赛,基于 MIMIC-IV-Note 出院摘要
2025-02 MIMIC-IV-Ext-BHC v1.2.0 发布(Aali et al., 270,033 对笔记-摘要标注)
2025-09 MIMIC-IV-Ext-22MCTS 发布(Wang et al., 2258 万条时序事件)
2025-09 SNOMED CT Entity Linking Challenge 论文发表(Davidson et al., JAMIA)

§1.5 典型 AI 应用场景

场景 描述 典型方法
自动出院摘要生成 从完整出院记录中自动生成"简要住院病程"(BHC),减轻医生文书负担 LLM 微调(Llama2-13B QLoRA)+ 提示学习(GPT-4 ICL)
自动 ICD 编码 从出院摘要中预测 ICD-9/ICD-10 诊断编码,加速计费编码流程 Bio_ClinicalBERT + 分层注意力网络(LAN)
临床实体链接 从自由文本中识别临床概念并映射到 SNOMED CT / UMLS 标准术语 字典法 / 编码器法 / 解码器法(SNOMED Challenge Top-3)
多模态死亡预测 将文本特征与结构化生命体征/实验室数据融合,提升 ICU 死亡预测精度 TF-IDF / BioBERT + LASSO/XGBoost 特征融合
时序事件抽取 从非结构化出院摘要中提取带时间戳的临床事件,构建患者时间线 LLM (Llama-3.1-8B) + BM25 检索 + 语义检索

§2 医学背景(Medical Context)

§2.1 ICD-11 映射

MIMIC-IV-Note 为全疾病覆盖数据集,无特定疾病限制。出院摘要涵盖患者在院期间的所有诊断,对应的 ICD 编码同时存在于 MIMIC-IV 结构化表 diagnoses_icd 中。以下为 MIMIC-IV-Note 中高频出现的疾病类别映射:

ICD-11 编码 疾病名称 在 MIMIC-IV-Note 中的典型表现
MD90.0 脓毒症(Sepsis) ICU 最常见诊断之一,出院摘要"住院病程"段详述感染源、抗生素方案与器官支持
CA40.0 肺炎(Pneumonia) 呼吸系统高频诊断,放射报告描述肺部浸润影,出院摘要记录病原体与抗生素选择
BA00 急性心肌梗死 出院摘要记录心电图变化、心肌酶谱趋势、再灌注策略
DB98.Z 胸腔积液(Pleural Effusion) 放射报告高频发现,描述积液量与侧别
MD80 急性肾损伤(AKI) 出院摘要记录肌酐动态、肾脏替代治疗决策
4A4Y 恶性肿瘤( unspecified ) 出院摘要"既往史"段记录肿瘤分期与化疗方案
DB90 慢性阻塞性肺疾病(COPD) 出院摘要记录肺功能、呼吸支持策略
MD70 糖尿病(Diabetes Mellitus) 出院摘要记录血糖管理、胰岛素方案调整

§2.1b SNOMED CT 映射

SNOMED International 基于 MIMIC-IV-Note 发起了全球实体链接挑战赛(2023.12 - 2024.03),产生了大规模 SNOMED CT 标注:

维度 数值
标注笔记数 272 份出院摘要
标注实体总数 74,808 条
唯一 SNOMED CT 概念数 6,624 个
标注团队 临床标注专家团队
竞赛注册参赛者 553 人
评估指标 字符级 Intersection-over-Union (IoU)
获胜方案 KIRI(字典法)/ SNOBERT(编码器法)/ MITEL-UNIUD(解码器法)
数据集实体类型 SNOMED CT 概念示例 SNOMED CT ID
疾病/障碍 Pneumonia 233604007
临床发现 Chest pain 27429001
操作/干预 Mechanical ventilation 243141004
药物/制剂 Vancomycin 372745003
解剖结构 Left lung 113286005
检验结果 Serum creatinine elevated 166034007

§2.2 临床笔记类型与文档结构

MIMIC-IV-Note 的临床笔记反映美国学术医疗中心的文档实践,笔记类型与结构如下:

笔记类型代码 笔记类型名称 所属表 说明
DS Discharge Summary(出院摘要) discharge 患者住院全程总结性文档,平均 >1,775 词
AD Discharge Summary Addendum(出院摘要补遗) discharge 对已签署出院摘要的补充说明
RR Radiology Report(放射报告) radiology 各类影像检查的诊断报告
AR Radiology Report Addendum(放射报告补遗) radiology 对已签署放射报告的补充说明

出院摘要典型结构(非严格模板,各医生书写风格差异较大):

章节 英文名 内容
入院信息 Admission Info 患者基本人口学信息、入院日期
主诉 Chief Complaint 一句话概括入院原因
现病史 History of Present Illness (HPI) 详细发病经过、症状演变
既往史 Past Medical History 慢性疾病、手术史、过敏史
用药史 Medications on Admission 入院前长期用药清单
家族史 Family History 家族遗传性疾病
社会史 Social History 吸烟/饮酒/职业/居住状况
体格检查 Physical Exam 各系统查体发现
实验室检查 Laboratory Data 关键检验结果
影像检查 Imaging Studies 放射学检查发现
简要住院病程 Brief Hospital Course (BHC) 核心章节——住院期间诊疗经过的时间叙事
出院用药 Discharge Medications 出院时处方清单
出院诊断 Discharge Diagnoses 所有最终诊断列表(含 ICD 编码参考)
出院计划 Discharge Plan/Instructions 随访安排、患者教育

放射报告典型结构

章节 内容
Indication(适应症) 检查申请理由
Comparison(对比) 既往影像参考
Findings(发现) 影像学描述
Impression(印象) 放射科医师诊断结论

§2.3 临床任务定义

任务类别 定义 临床价值
文档摘要 从完整出院摘要中自动生成 BHC 减轻医生文书负担 ~30%,保证摘要质量一致性
自动编码 从出院诊断文本预测 ICD-9/10 编码 加速计费编码流程,减少编码错误
实体识别与链接 从自由文本中提取临床概念并映射到标准术语 构建结构化患者画像,支持后续推理
表型识别 从笔记中识别患者疾病表型 队列筛选、临床试验入组判定
临床问答 基于笔记内容回答自然语言问题 辅助查房决策、患者教育
时序事件抽取 从叙事文本中提取带时间戳的事件 构建患者疾病时间线,支持轨迹分析
风险预测增强 将文本特征与结构化数据融合提升预测 补充结构化数据遗漏的临床推理信息

§2.4 患者人群特征

维度 特征
数据来源 BIDMC(贝斯以色列女执事医疗中心),波士顿,美国三级教学医院
采集时间 2008-2019(12 年跨度)
患者总数 出院摘要覆盖 145,915 名患者;放射报告覆盖 237,427 名患者
年龄分布 成人患者(≥16 岁),平均年龄约 65 岁(与 MIMIC-IV 一致)
性别比例 约 55% 男性 / 45% 女性(与 MIMIC-IV 一致)
种族分布 美国波士顿地区人口结构:白人为主,含非裔、亚裔、西语裔等少数群体
就医类型 住院(内科/外科/ICU)+ 急诊就诊
保险类型 Medicare / Medicaid / 商业保险 / 自费(MIMIC-IV admissions 表可查)

§2.5 临床意义

临床自由文本笔记承载了结构化数据无法捕获的关键信息:医生的诊疗推理过程。研究表明,ICU 死亡预测模型仅使用结构化数据时 AUC 为 0.753,加入 MIMIC-IV-Note 文本特征后 AUC 提升至 0.918——提升幅度达 22%(Mamatov et al., 2025)。这一巨大增益源于出院摘要中包含的临床印象演变、治疗反应评估、并发症预警和代码状态讨论等叙事性信息,这些信息在结构化 EHR 表中不存在。

自动 ICD 编码是另一个高价值场景。美国医院平均每例住院需分配 10-20 个 ICD 编码,编码员耗时 15-30 分钟/例。MIMIC-IV-Note 提供的 331,794 份出院摘要及其关联的 ICD-9/10 编码标签,使自动编码模型的训练成为可能。当前 SOTA 模型在 Top-50 ICD-10 编码任务上 Micro-F1 ≥ 0.70、P@5 ≥ 0.70,已接近实用化水平。

§2.6 金标准与标注方式

数据划分 标注方式 标注者 金标准性质
出院摘要(全量) 无任务标注(原始文本) 原始文本(非金标准)
放射报告(全量) 无任务标注(原始文本) 原始文本(非金标准)
BHC 摘要对(MIMIC-IV-Ext-BHC) 医生原始书写的 BHC 作为 ground truth 主治医师 参考标准(弱金标准)
ICD 编码标签 出院时编码员分配的 ICD-9/10 码 认证编码员 参考标准(编码员间一致性 ~85%)
SNOMED CT 实体标注 人工实体链接标注 临床标注专家 金标准(74,808 条标注)
药物提取标注 人工药物名与剂量标注 专业标注团队 金标准(600 份笔记)
去标识化标注 人工 PHI 标注(n2c2 2014 基准) 临床标注团队 金标准(1,304 份记录)

§3 数据集规格(Specifications)

§3.0 版本抉择矩阵

你的需求 推荐版本 大小 理由
临床 NLP 研究 / BERT 预训练 / ICD 编码 MIMIC-IV-Note v2.2 ~45 GB 当前唯一公开版本,含全量出院摘要 + 放射报告
出院摘要摘要生成(BHC) MIMIC-IV-Note v2.2 + MIMIC-IV-Ext-BHC v1.2.0 ~50 GB BHC 扩展提供 270,033 对预处理好的笔记-摘要训练数据
时序事件抽取 / 患者轨迹建模 MIMIC-IV-Note v2.2 + MIMIC-IV-Ext-22MCTS ~55 GB 22MCTS 提供 2258 万条带时间戳的事件,免去了自行提取的时间戳推断
快速原型 / 教学演示 MIMIC-IV-Note v2.2 子集 ~2 GB 随机采样 10,000 份出院摘要即可跑通 pipeline
去标识化模型开发 MIMIC-IV-Note v2.2 + n2c2 2014 Deid ~45 GB + n2c2 MIMIC-IV-Note 作为训练集,n2c2 作为评估基准

§3.1 模态详细说明

MIMIC-IV-Note 为纯文本模态数据集,但可通过与 MIMIC-IV 其他模块关联实现多模态融合:

模态 来源 关联方式 数据量
自由文本(核心) MIMIC-IV-Note 直接使用 2,653,149 份笔记
结构化 EHR MIMIC-IV hosp/icu/ed 模块 subject_id + hadm_id + stay_id 364,627 名患者
胸部 X 光影像 MIMIC-CXR 模块 subject_id + study_id 377,110 张影像
心电图波形 MIMIC-IV-ECG 模块 subject_id + study_id ~80 万份 ECG

§3.2 样本统计

笔记类型 笔记数 患者数 平均词数 来源表
出院摘要(DS) 331,794 145,915 ~1,775 discharge
出院摘要补遗(AD) discharge
放射报告(RR) 2,321,355 237,427 ~150-300 radiology
放射报告补遗(AR) radiology
合计 2,653,149+ ~250,000+

§3.3 数据格式

文件类型 格式 大小 说明
discharge.csv.gz CSV (gzip) ~8 GB 出院摘要主表
discharge_detail.csv.gz CSV (gzip) ~0.5 GB 出院摘要明细表(EAV 结构)
radiology.csv.gz CSV (gzip) ~35 GB 放射报告主表
radiology_detail.csv.gz CSV (gzip) ~1.5 GB 放射报告明细表(EAV 结构)
合计 ~45 GB

§3.4 存储大小

版本 压缩后 解压后 推荐存储
v2.2 (CSV gzip) ~45 GB ~180 GB SSD(频繁读取)
v2.2 (PostgreSQL 导入) ~200 GB PostgreSQL 数据库
v2.2 (Google BigQuery) BigQuery 托管(免本地存储)

§3.5 标注方式

MIMIC-IV-Note 的"标注"指去标识化处理,而非任务特定标注:

┌─────────────────────────────────────────────────────────────┐
│              MIMIC-IV-Note 去标识化管道                      │
│                                                             │
│  原始临床笔记(含 PHI)                                      │
│  ├── Epic EHR 导出                                          │
│  └── ICU 信息系统导出                                        │
│           │                                                 │
│           ▼                                                 │
│  ┌─────────────────────────┐                               │
│  │  第一层:规则型去标识化   │                               │
│  │  ├── 正则表达式匹配      │                               │
│  │  │   ├── 日期 → ___      │                               │
│  │  │   ├── 姓名 → ___      │                               │
│  │  │   ├── 电话 → ___      │                               │
│  │  │   ├── 地址 → ___      │                               │
│  │  │   └── 18 类 HIPAA 标识 │                              │
│  │  └── 字典查找             │                               │
│  └───────────┬─────────────┘                               │
│              ▼                                              │
│  ┌─────────────────────────┐                               │
│  │  第二层:神经网络去标识化  │                               │
│  │  ├── 预训练 BERT NER     │                               │
│  │  │   (Johnson et al. 2020)│                              │
│  │  ├── 序列标注            │                               │
│  │  └── 残留 PHI 检测        │                               │
│  └───────────┬─────────────┘                               │
│              ▼                                              │
│  ┌─────────────────────────┐                               │
│  │  第三层:人工审计         │                               │
│  │  ├── 随机抽样审计        │                               │
│  │  └── 灵敏度 >99%         │                               │
│  └───────────┬─────────────┘                               │
│              ▼                                              │
│  去标识化笔记(PHI → ___)                                   │
│  └── 发布于 PhysioNet                                       │
└─────────────────────────────────────────────────────────────┘

§3.6 标注者资质

标注类型 标注者 资质 一致性
去标识化规则 MIT-LCP 工程团队 NLP 工程师 + HIPAA 合规培训
去标识化模型 预训练 BERT NER Johnson et al. 2020 训练 >99% 灵敏度(人工审计)
去标识化审计 MIT-LCP 临床信息学团队 临床信息学专家
BHC 摘要(原文) 主治医师 BIDMC 出诊主治医师
ICD 编码 认证编码员 AHIMA/AAPC 认证 编码员间一致性 ~85%
SNOMED CT 实体 临床标注专家 SNOMED International 聘用 74,808 条标注

§3.7 数据采集时间

维度 时间范围
笔记记录时间 2008-01-01 至 2019-12-31(与 MIMIC-IV 一致)
ICD 编码体系 ICD-9-CM(2008-2015.09)→ ICD-10-CM(2015.10-2019)
数据提取时间 2020-2022(MIMIC-IV 数据整理期间)
去标识化处理 2022(v2.2 发布前)

§3.8 地域覆盖

维度 覆盖
机构 单中心:Beth Israel Deaconess Medical Center(BIDMC)
地区 美国马萨诸塞州波士顿
机构类型 三级教学医院(Harvard Medical School 附属)
床位 ~673 张(含 ICU 床位 ~70 张)

§3.9 采集设备规格

系统 说明
医院级 EHR Epic Systems(电子健康记录系统,覆盖门诊与住院)
ICU 信息系统 MetaVision(ICU 临床信息系统,覆盖 ICU 患者生命体征与药物)
放射系统 PACS(Picture Archiving and Communication System)

§3.10 深度溯源链

┌──────────────────────────────────────────────────────────────────┐
│                  MIMIC-IV-Note 深度溯源链                         │
│                                                                  │
│  Level 1: 原始数据源                                             │
│  ├── BIDMC Epic EHR(医院级电子健康记录)                         │
│  └── BIDMC MetaVision ICU 系统                                   │
│       │                                                          │
│       ▼                                                          │
│  Level 2: 数据提取与脱敏                                         │
│  ├── MIT-LCP 数据提取脚本                                        │
│  ├── 混合去标识化管道(规则 + BERT NER)                          │
│  │   └── Johnson et al. (2020) ACM CHIL                          │
│  └── 人工审计(>99% PHI 移除灵敏度)                              │
│       │                                                          │
│       ▼                                                          │
│  Level 3: 物理发布                                               │
│  ├── PhysioNet 平台(https://physionet.org)                     │
│  ├── DOI: 10.13026/1n74-ne17 (v2.2)                              │
│  └── 格式: CSV (gzip) / PostgreSQL / BigQuery                    │
│       │                                                          │
│       ▼                                                          │
│  Level 4: 关联模块                                               │
│  ├── MIMIC-IV hosp 模块(结构化住院数据)                         │
│  ├── MIMIC-IV ICU 模块(ICU 时序数据)                            │
│  ├── MIMIC-IV ED 模块(急诊数据)                                 │
│  └── MIMIC-CXR 模块(胸部 X 光影像 + 放射报告)                    │
│       │                                                          │
│       ▼                                                          │
│  Level 5: 派生数据集                                             │
│  ├── MIMIC-IV-Ext-BHC(270,033 对 BHC 摘要标注)                  │
│  ├── MIMIC-IV-Ext-22MCTS(2258 万条时序事件)                     │
│  ├── Medication Extraction Labels(600 份药物标注)                │
│  └── SNOMED CT Entity Linking(74,808 条实体标注)                │
│       │                                                          │
│       ▼                                                          │
│  Level 6: 下游模型                                               │
│  ├── Bio_ClinicalBERT(MIMIC-III 预训练 → MIMIC-IV 微调)          │
│  ├── Llama2-13B QLoRA(BHC 摘要生成)                             │
│  ├── GPT-4 ICL(零样本摘要生成)                                   │
│  └── Llama-3.1-8B(时序事件抽取)                                  │
└──────────────────────────────────────────────────────────────────┘

§3.11 评估指标

任务类型 推荐指标 说明
ICD 自动编码 Micro-F1, Macro-F1, P@5, P@8, AUC-ROC 多标签分类标准指标
文本摘要 BLEU, ROUGE-L, BERT-Score, METEOR, MEDCON MEDCON 为医学内容保持度专用指标
命名实体识别 Entity-level F1, Token-level F1, IoU (字符级) SNOMED Challenge 使用字符级 IoU
实体链接 Accuracy@1, MRR, Recall@k 标准实体链接指标
死亡预测 AUROC, AUPRC, Sensitivity, Specificity 二分类标准指标
时序事件抽取 Event-level F1, Timestamp MAE 事件抽取 + 时间推断联合评估
笔记分割 Sentence F1, Freetext F1, Avg F1 边界检测 + 分类联合指标

§3.12 工具生态

工具 类型 说明
MIMIC Code Repository 代码库 MIT-LCP 官方 GitHub 仓库,含 SQL/Python 提取脚本
PhysioNet Toolkit 工具库 PhysioNet 数据下载与校验工具
Bio_ClinicalBERT 预训练模型 HuggingFace emilyalsentzer/Bio_ClinicalBERT
Clinical-Longformer 预训练模型 长序列临床文本 BERT 变体
MedSpaCy NLP 工具库 临床文本处理 pipeline(NER、断句、UMLS 链接)
cTAKES NLP 工具库 Apache cTAKES 临床 NLP 系统
MedCAT NLP 工具库 医学概念标注与链接工具
Transformer-DeID 去标识化工具 基于 Transformer 的临床文本去标识化
ScispaCy NLP 工具库 生物医学文本处理 SpaCy 扩展
BERN2 NER 服务 生物医学实体识别在线服务
mimic-icd-coder 代码库 MIMIC-IV ICD 编码模型训练 pipeline
HuggingFace Datasets 数据加载 多个社区预处理版本可从 HuggingFace 获取

§4 数据结构详解(Data Schema)

§4.0 目录结构预览

mimic-iv-note/
├── discharge/
│   ├── discharge.csv.gz           # 出院摘要主表 (331,794 行)
│   └── discharge_detail.csv.gz    # 出院摘要明细表 (EAV 结构)
├── radiology/
│   ├── radiology.csv.gz           # 放射报告主表 (2,321,355 行)
│   └── radiology_detail.csv.gz    # 放射报告明细表 (EAV 结构)
├── LICENSE.txt                    # PhysioNet Credentialed Health Data License
├── SHA256SUMS.txt                 # 文件校验和
└── README.md                      # 数据集说明

§4.1 DAIMS 标准化字段描述表

discharge 表(出院摘要主表)
字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
note_id VARCHAR 唯一笔记标识:{subject_id}-{note_type}- 10000032-DS-21 主键,关联明细表 格式固定
subject_id INTEGER 患者唯一标识符 10000032 与 MIMIC-IV 关联 正整数
hadm_id INTEGER 住院唯一标识符 28405182 与 MIMIC-IV 关联 正整数
note_type VARCHAR 笔记类型代码 DS 分类笔记类型
note_seq INTEGER 同类型笔记序号(按时间排序) 21 排序同患者同类型笔记 正整数
charttime TIMESTAMP 记录时间(最接近临床事件的时间) 2186-08-23 12:00:00 时序分析 日期偏移 2100-2200(偏移后)
storetime TIMESTAMP 签字归档时间 2186-08-23 14:30:00 流程分析 日期偏移 2100-2200(偏移后)
text TEXT 笔记全文(PHI 替换为 ___) “Admission Date: ___…” 核心字段:NLP 输入 去标识化噪声 任意文本
radiology 表(放射报告主表)
字段名 数据类型 说明 示例值 AI 用途 观测误差 信息性缺失编码 取值范围
note_id VARCHAR 唯一笔记标识 10000032-RR-5 主键 格式固定
subject_id INTEGER 患者唯一标识符 10000032 与 MIMIC-IV 关联 正整数
hadm_id INTEGER 住院唯一标识符 28405182 与 MIMIC-IV 关联 正整数
note_type VARCHAR 笔记类型代码 RR 分类笔记类型
note_seq INTEGER 同类型笔记序号 5 排序 正整数
charttime TIMESTAMP 检查时间 2186-08-22 08:15:00 时序分析 日期偏移 2100-2200
storetime TIMESTAMP 报告签字时间 2186-08-22 09:00:00 流程分析 日期偏移 2100-2200
text TEXT 报告全文(PHI 替换为 ___) “INDICATION: ___…” 核心字段:NLP 输入 去标识化噪声 任意文本
discharge_detail / radiology_detail 表(EAV 结构明细表)
字段名 数据类型 说明 示例值
note_id VARCHAR 关联主表笔记 10000032-DS-21
field_name VARCHAR 属性名(EAV 中的 Attribute) “Author”
field_value TEXT 属性值(EAV 中的 Value) “___ MD”

§4.2 标签分布统计

MIMIC-IV-Note 本身无任务标签,但以下派生标签可通过与 MIMIC-IV 关联获得:

标签来源 标签类型 正/负例比 说明
MIMIC-IV admissions.hospital_expire_flag 二分类(院内死亡) ~10% / ~90% 出院摘要 + 死亡标签
MIMIC-IV diagnoses_icd 多标签(ICD-9: 6,150 码) 平均 13.27 码/例 自动 ICD 编码
MIMIC-IV diagnoses_icd 多标签(ICD-10: 7,942 码) 平均 15.65 码/例 自动 ICD 编码
MIMIC-IV admissions.admission_type 多分类 入院类型分类
MIMIC-IV-Ext-BHC 文本生成 270,033 对 BHC 摘要

§4.3 关键字段描述性统计

统计项 出院摘要 放射报告
平均词数 ~1,775 ~150-300
平均 token 数(BPE) ~2,267 ± 914 ~200-400
最大文本长度 ~15,000+ 词 ~3,000+ 词
BHC 章节平均长度 ~564 ± 410 词
每患者平均笔记数 ~2.3 ~9.8
含"___"去标识化标记的笔记比例 ~99% ~95%
ICD-9 时期笔记数 209,326(出院摘要)
ICD-10 时期笔记数 122,278(出院摘要)

§4.4 数据层级关系

患者 (subject_id)
└── 住院 (hadm_id)
    ├── ICU 入住 (stay_id) — 可选
    ├── 出院摘要 (note_id: DS)
    │   ├── 补遗 (note_id: AD)
    │   └── 明细 (discharge_detail)
    └── 放射报告 (note_id: RR) × N
        ├── 补遗 (note_id: AR)
        └── 明细 (radiology_detail)

§4.5 缺失值情况

字段 缺失率 缺失原因 信息性缺失编码
charttime ~5-10% 部分旧记录无精确时间 NULL(时间戳缺失)
storetime ~2-5% 系统迁移导致部分元数据丢失 NULL
hadm_id <1% 极少数门诊放射报告无住院关联 NULL(非住院报告)
text 中的 PHI 100% 替换 HIPAA 去标识化要求 ___(三个下划线)
discharge_detail ~60-70% 笔记无明细 非所有笔记都有附加元数据 无记录(EAV 结构天然稀疏)

§5 数据划分与使用建议(Splits & Usage)

§5.1 官方划分

MIMIC-IV-Note 不提供官方 train/validation/test 划分。研究者需自行划分,社区有以下共识实践:

划分策略 来源 划分方式 适用任务
患者级分层随机 社区共识 80/10/10 按 subject_id 分组 通用 NLP 任务
ICD 编码专用 icd-coding-datasets hadm_id 分组,ICD-9/ICD-10 分别划分 自动 ICD 编码
BHC 摘要专用 MIMIC-IV-Ext-BHC 按输入长度分区间(0-1024 / 1024-2048 / 2048-4096 token),区间内随机划分 文本摘要
时序事件专用 MIMIC-IV-Ext-22MCTS subject_id 分组,267,284 份摘要 → 80/20 划分 时序事件抽取

§5.2 推荐划分策略

策略 方法 优点 缺点
患者级划分(推荐) subject_id 分组,同一患者所有笔记在同一集合 杜绝数据泄漏 有效样本量减少
住院级划分 hadm_id 分组 同上,但允许同一患者不同住院进入不同集合 轻微患者信息泄漏
时间序列划分 按时间前后划分(如 2008-2017 训练,2018-2019 测试) 评估时间泛化性 训练集分布可能偏移
ICD 分期划分 ICD-9 时期训练,ICD-10 时期测试 评估编码迁移能力 编码体系不同,非直接可比

§5.3 数据泄漏风险

⚠️ 关键风险:同一患者的多次住院笔记存在信息关联。出院摘要经常引用既往住院信息(“Patient was admitted 3 months ago for…”),如果同一患者的笔记分属训练集和测试集,模型可能学到患者特定的写作模式而非通用临床知识。必须按 subject_id 分组划分

§5.4 跨数据集整合

整合场景 方法 价值
MIMIC-IV-Note + MIMIC-IV 结构化 subject_id + hadm_id JOIN 多模态融合(文本 + 结构化)
MIMIC-IV-Note + MIMIC-CXR subject_id + study_id JOIN 文本 + 影像多模态
MIMIC-IV-Note + MIMIC-III 不可直接 JOIN 跨代迁移学习(患者群体不同)
MIMIC-IV-Note + n2c2 域适应 跨机构泛化评估
MIMIC-IV-Note + eICU 不可直接 JOIN 跨机构外部验证(eICU 含不同 EHR 系统)

§5.5 外部验证推荐

外部数据集 来源 适用验证任务
n2c2 (i2b2) Partners HealthCare NER、关系抽取、去标识化
ShARe/CLEF eHealth 欧洲 SNOMED CT 实体链接
AmsterdamUMCdb 荷兰 跨国/跨系统泛化
eICU Collaborative Research Database Philips eICU 跨机构临床 NLP 泛化

§5.6 AI 训练数据获取流程

步骤 操作 耗时
1 注册 PhysioNet 账户 5 分钟
2 在 CITI 官网完成 “Data or Specimens Only Research” 培训 2-3 小时
3 下载 CITI 培训完成报告 5 分钟
4 在 PhysioNet 提交凭证认证申请(上传 CITI 报告) 1-3 个工作日审核
5 签署 PhysioNet Credentialed Health Data Use Agreement 5 分钟
6 获取 MIMIC-IV-Note 下载权限 即时(审批通过后)
7 下载 mimic-iv-note-2.2.zip(~45 GB) 1-4 小时(取决于带宽)
8 校验 SHA256 5 分钟
9 解压并导入 PostgreSQL / Pandas 30-60 分钟
10 (可选)下载 MIMIC-IV 结构化数据进行关联 额外 ~7 GB

§6 AI 就绪指南(AI-Ready Guide)⭐

§6.1 快速上手

# ========================================
# MIMIC-IV-Note 快速上手 — Python 版
# 环境要求: pandas>=2.0, transformers>=4.30, torch>=2.0, scikit-learn
#
# ⚠️ 目录结构预期:
#   请将下载的数据解压至 ./data/ 目录,确保以下结构:
#   ./data/
#   ├── discharge/
#   │   └── discharge.csv.gz       # 出院摘要主表
#   ├── radiology/
#   │   └── radiology.csv.gz       # 放射报告主表
#   └── (可选) mimiciv/             # MIMIC-IV 结构化数据
#       ├── hosp/
#       └── icu/
#
#   数据需通过 PhysioNet 凭证认证后下载:
#   https://physionet.org/content/mimic-iv-note/2.2/
# ========================================

import pandas as pd
import gzip
from pathlib import Path

# ── 1. 加载出院摘要 ──
data_root = Path("./data")

# 读取出院摘要(gzip CSV)
discharge_df = pd.read_csv(
    data_root / "discharge" / "discharge.csv.gz",
    compression="gzip",
    dtype={"note_id": str, "subject_id": int, "hadm_id": int,
           "note_type": str, "text": str}
)

print(f"出院摘要总数: {len(discharge_df):,}")
print(f"唯一患者数: {discharge_df[''''''''''''''''subject_id''''''''''''''''].nunique():,}")
print(f"唯一住院数: {discharge_df[''''''''''''''''hadm_id''''''''''''''''].nunique():,}")
print(f"笔记类型分布:\n{discharge_df[''''''''''''''''note_type''''''''''''''''].value_counts()}")
print(f"平均文本长度(字符): {discharge_df[''''''''''''''''text''''''''''''''''].str.len().mean():.0f}")

# ── 2. 查看一份出院摘要样本 ──
sample_note = discharge_df.iloc[0]
print(f"\n样本 note_id: {sample_note[''''''''''''''''note_id'''''''''''''''']}")
print(f"患者 ID: {sample_note[''''''''''''''''subject_id'''''''''''''''']}")
print(f"住院 ID: {sample_note[''''''''''''''''hadm_id'''''''''''''''']}")
print(f"文本前 500 字符:\n{sample_note[''''''''''''''''text''''''''''''''''][:500]}")

# ── 3. 加载放射报告(注意内存,建议分块读取) ──
# 放射报告量大(230 万+),建议按需读取
radiology_reader = pd.read_csv(
    data_root / "radiology" / "radiology.csv.gz",
    compression="gzip",
    chunksize=100000,
    dtype={"note_id": str, "subject_id": int, "hadm_id": int,
           "note_type": str, "text": str}
)

# 仅取第一个 chunk 做探索
first_chunk = next(radiology_reader)
print(f"\n放射报告第一个 chunk: {len(first_chunk):,} 行")
print(f"平均文本长度(字符): {first_chunk[''''''''''''''''text''''''''''''''''].str.len().mean():.0f}")

§6.2 数据获取方式

获取方式 链接 大小 前置条件
PhysioNet 直接下载 https://physionet.org/content/mimic-iv-note/2.2/ ~45 GB CITI 培训 + 凭证认证 + DUA
Google BigQuery PhysioNet BigQuery 项目 PhysioNet 凭证 + GCP 账户
PhysioNet 云端工作区 PhysioNet Workspaces PhysioNet 凭证
HuggingFace 社区预处理版 搜索 “mimic-iv-note” 变体 检查许可合规性

§6.3 预处理全流程

# ========================================
# MIMIC-IV-Note 预处理全流程
# 从原始 CSV → 可用于训练的 tokenized 数据集
# ========================================

import re
import pandas as pd
import numpy as np
from transformers import AutoTokenizer
from sklearn.model_selection import train_test_split

# ── 步骤 1: 文本清洗 ──
def clean_clinical_text(text: str) -> str:
    """清洗临床文本:去除去标识化标记残留、多余空白"""
    # 将 ___ 替换为 [REDACTED] 或直接移除
    text = re.sub(r''''''''''''''''_{2,}'''''''''''''''', ''''''''''''''''[REDACTED]'''''''''''''''', text)
    # 移除双空格
    text = re.sub(r''''''''''''''''\s+'''''''''''''''', '''''''''''''''' '''''''''''''''', text)
    # 移除行首行尾空白
    text = text.strip()
    return text

# ── 步骤 2: 章节提取(出院摘要) ──
def extract_sections(text: str) -> dict:
    """从出院摘要中提取各章节"""
    sectionevent-blocked= {}
    # 常见章节标题模式
    sectionevent-blocked= {
        ''''''''''''''''chief_complaint'''''''''''''''': r''''''''''''''''Chief Complaint:\s*(.*?)(?=\n\w+:|$)'''''''''''''''',
        ''''''''''''''''hpi'''''''''''''''': r''''''''''''''''History of Present Illness:\s*(.*?)(?=\n\w+:|$)'''''''''''''''',
        ''''''''''''''''past_medical_history'''''''''''''''': r''''''''''''''''Past Medical History:\s*(.*?)(?=\n\w+:|$)'''''''''''''''',
        ''''''''''''''''brief_hospital_course'''''''''''''''': r''''''''''''''''Brief Hospital Course:\s*(.*?)(?=\n\w+:|$)'''''''''''''''',
        ''''''''''''''''discharge_diagnoses'''''''''''''''': r''''''''''''''''Discharge Diagnoses?:\s*(.*?)(?=\n\w+:|$)'''''''''''''''',
        ''''''''''''''''discharge_medications'''''''''''''''': r''''''''''''''''Discharge Medications:\s*(.*?)(?=\n\w+:|$)'''''''''''''''',
    }
    for name, pattern in section_patterns.items():
        match = re.search(pattern, text, re.DOTALL | re.IGNORECASE)
        if match:
            sections[name] = match.group(1).strip()
    return sections

# ── 步骤 3: Tokenization ──
tokenizer = AutoTokenizer.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")

def tokenize_notes(texts, max_length=512):
    """对临床笔记列表进行 tokenization"""
    return tokenizer(
        texts.tolist() if hasattr(texts, ''''''''''''''''tolist'''''''''''''''') else texts,
        padding=True,
        truncation=True,
        max_length=max_length,
        return_tensors="pt"
    )

# ── 步骤 4: 完整预处理 pipeline ──
def preprocess_pipeline(discharge_df, max_length=512):
    """完整预处理流程"""
    # 1. 清洗文本
    discharge_df[''''''''''''''''text_clean''''''''''''''''] = discharge_df[''''''''''''''''text''''''''''''''''].apply(clean_clinical_text)

    # 2. 提取 BHC(如有摘要生成任务)
    discharge_df[''''''''''''''''bhc''''''''''''''''] = discharge_df[''''''''''''''''text''''''''''''''''].apply(
        lambda x: extract_sections(x).get(''''''''''''''''brief_hospital_course'''''''''''''''', '''''''''''''''''''''''''''''''')
    )

    # 3. 按患者分组划分(避免数据泄漏)
    unique_subjects = discharge_df[''''''''''''''''subject_id''''''''''''''''].unique()
    train_subjects, test_subjects = train_test_split(
        unique_subjects, test_size=0.2, random_state=42
    )
    train_subjects, val_subjects = train_test_split(
        train_subjects, test_size=0.125, random_state=42  # 0.125 * 0.8 = 0.1
    )

    train_df = discharge_df[discharge_df[''''''''''''''''subject_id''''''''''''''''].isin(train_subjects)]
    val_df = discharge_df[discharge_df[''''''''''''''''subject_id''''''''''''''''].isin(val_subjects)]
    test_df = discharge_df[discharge_df[''''''''''''''''subject_id''''''''''''''''].isin(test_subjects)]

    print(f"训练集: {len(train_df):,} 笔记 ({len(train_subjects):,} 患者)")
    print(f"验证集: {len(val_df):,} 笔记 ({len(val_subjects):,} 患者)")
    print(f"测试集: {len(test_df):,} 笔记 ({len(test_subjects):,} 患者)")

    # 4. Tokenize
    train_encodings = tokenize_notes(train_df[''''''''''''''''text_clean''''''''''''''''], max_length)
    val_encodings = tokenize_notes(val_df[''''''''''''''''text_clean''''''''''''''''], max_length)
    test_encodings = tokenize_notes(test_df[''''''''''''''''text_clean''''''''''''''''], max_length)

    return {
        ''''''''''''''''train'''''''''''''''': (train_df, train_encodings),
        ''''''''''''''''val'''''''''''''''': (val_df, val_encodings),
        ''''''''''''''''test'''''''''''''''': (test_df, test_encodings)
    }

§6.4 框架加载

<details>
<summary>PyTorch Dataset 实现</summary>

import torch
from torch.utils.data import Dataset, DataLoader

class MIMICNoteDataset(Dataset):
    """PyTorch Dataset for MIMIC-IV-Note"""

    def __init__(self, texts, labels=None, tokenizer=None, max_length=512):
        self.texts = texts.tolist() if hasattr(texts, ''''''''''''''''tolist'''''''''''''''') else list(texts)
        self.labels = labels
        self.tokenizer = tokenizer or AutoTokenizer.from_pretrained(
            "emilyalsentzer/Bio_ClinicalBERT"
        )
        self.max_length = max_length

    def __len__(self):
        return len(self.texts)

    def __getitem__(self, idx):
        text = self.texts[idx]
        encoding = self.tokenizer(
            text,
            truncation=True,
            padding=''''''''''''''''max_length'''''''''''''''',
            max_length=self.max_length,
            return_tensors=''''''''''''''''pt''''''''''''''''
        )
        item = {
            ''''''''''''''''input_ids'''''''''''''''': encoding[''''''''''''''''input_ids''''''''''''''''].squeeze(),
            ''''''''''''''''attention_mask'''''''''''''''': encoding[''''''''''''''''attention_mask''''''''''''''''].squeeze()
        }
        if self.labels is not None:
            item[''''''''''''''''labels''''''''''''''''] = torch.tensor(self.labels[idx], dtype=torch.float)
        return item

# 使用示例
# dataset = MIMICNoteDataset(train_df[''''''''''''''''text_clean''''''''''''''''], labels=train_labels)
# dataloader = DataLoader(dataset, batch_size=16, shuffle=True, num_workers=4)

</details>

<details>
<summary>TensorFlow / Keras 加载</summary>

import tensorflow as tf
from transformers import AutoTokenizer

def create_tf_dataset(texts, labels=None, batch_size=16, max_length=512):
    """TensorFlow Dataset for MIMIC-IV-Note"""
    tokenizer = AutoTokenizer.from_pretrained("emilyalsentzer/Bio_ClinicalBERT")

    def tokenize_fn(text):
        return tokenizer(text.numpy().decode(''''''''''''''''utf-8''''''''''''''''),
                        truncation=True, max_length=max_length,
                        padding=''''''''''''''''max_length'''''''''''''''', return_tensors=''''''''''''''''np'''''''''''''''')

    def tf_tokenize(text):
        tokens = tf.py_function(
            lambda t: tokenize_fn(t),
            inp=[text],
            Tout=[tf.int32, tf.int32]
        )
        return {''''''''''''''''input_ids'''''''''''''''': tokens[0], ''''''''''''''''attention_mask'''''''''''''''': tokens[1]}

    dataset = tf.data.Dataset.from_tensor_slices(texts.values)
    dataset = dataset.map(tf_tokenize, num_parallel_calls=tf.data.AUTOTUNE)

    if labels is not None:
        label_ds = tf.data.Dataset.from_tensor_slices(labels.values)
        dataset = tf.data.Dataset.zip((dataset, label_ds))

    dataset = dataset.batch(batch_size).prefetch(tf.data.AUTOTUNE)
    return dataset

</details>

§6.5 常见坑点

⚠️ 坑点 1:去标识化标记 ___ 破坏 NLP 模型输入(分类:预处理陷阱)

问题:MIMIC-IV-Note 中 PHI 被替换为 ___(三个下划线),这些标记出现在日期、姓名、电话等位置。对 BERT 等模型来说,___ 是一个不在词表中的 token,会被拆成多个子词,引入噪声。

症状:模型在含 ___ 密集的文本段(如主诉、既往史中的日期)上注意力分散,性能下降。

解决

  1. ___ 替换为语义中性 token(如 [REDACTED]),并在 tokenizer 中注册
  2. 或直接移除 ___,但需注意这可能破坏句子结构
  3. 推荐方法:text = re.sub(r''''''''''''''''_{2,}'''''''''''''''', ''''''''''''''''[REDACTED]'''''''''''''''', text)

参考:Johnson et al. (2020). Deidentification of free-text medical records using pre-trained bidirectional transformers. ACM CHIL.

⚠️ 坑点 2:出院摘要超长导致 BERT 截断丢失信息(分类:预处理陷阱)

问题:出院摘要平均 ~1,775 词,最长可达 15,000+ 词。标准 BERT 最大输入 512 token,截断后丢失大量临床信息。

症状:模型仅看到入院信息部分,遗漏出院诊断和住院病程(BHC 通常在文档后半部分)。

解决

  1. 分块处理:将长文档切分为 512-token 重叠块,分别编码后池化
  2. 长序列模型:使用 Clinical-Longformer(4,096 token)或 BigBird
  3. 章节提取:先用正则提取目标章节(如 BHC),再做任务
  4. 层次化注意力:先 token-level 编码各块,再 note-level 聚合

参考:Li et al. (2020). Hierarchical fine-tuning for ICD coding. Computers in Biology and Medicine.

⚠️ 坑点 3:同一患者多次住院的数据泄漏(分类:数据泄漏)

问题:出院摘要经常引用既往住院信息,如果同一患者的不同住院笔记分属训练集和测试集,模型可能学到患者特征而非临床知识。

症状:测试集性能虚高,部署到新患者后性能骤降。

解决必须按 subject_id 分组划分,确保同一患者所有笔记在同一集合。

unique_subjects = df[''''''''''''''''subject_id''''''''''''''''].unique()
train_subj, test_subj = train_test_split(unique_subjects, test_size=0.2, random_state=42)
train_df = df[df[''''''''''''''''subject_id''''''''''''''''].isin(train_subj)]
test_df = df[df[''''''''''''''''subject_id''''''''''''''''].isin(test_subj)]

⚠️ 坑点 4:ICD-9 与 ICD-10 编码体系不兼容(分类:标签理解)

问题:2008-2015.09 使用 ICD-9-CM(6,150 码),2015.10 起切换至 ICD-10-CM(7,942 码)。两套编码体系不完全兼容,直接混合训练会导致标签空间混乱。

症状:ICD-9 → ICD-10 过渡期的模型性能急剧下降;混合训练后 Macro-F1 显著低于 Micro-F1。

解决

  1. 分开训练:ICD-9 和 ICD-10 分别建模
  2. 迁移学习:先在 ICD-9(数据量大)上预训练,再在 ICD-10 上微调
  3. 使用 ICD-9↔ICD-10 映射表(CMS GEMs)统一标签空间

参考:Edin et al. (2022). medical-coding-reproducibility. GitHub.

⚠️ 坑点 5:放射报告与出院摘要的文本风格差异巨大(分类:偏倚陷阱)

问题:放射报告短(~150-300 词)、高度结构化(Indication/Findings/Impression),出院摘要长(~1,775 词)、叙事性强。在同一模型中混合处理两类文本会导致风格冲突。

症状:在放射报告上训练的模型直接用于出院摘要时性能骤降,反之亦然。

解决:按笔记类型分别训练或使用笔记类型嵌入(note type embedding)作为额外输入。

⚠️ 坑点 6:日期偏移导致时间特征异常(分类:数据理解)

问题:MIMIC-IV 对日期进行了随机偏移(2100-2200 年),直接从文本中提取日期会得到异常值。

症状:基于日期的时间推理任务(如"入院后第 3 天发生了什么")失败。

解决:使用相对时间(如 charttime - admittime 的差值),不依赖绝对日期。MIMIC-IV-Ext-22MCTS 已提供了相对时间戳标注。

⚠️ 坑点 7:笔记结构异质性高(分类:数据理解)

问题:不同医生的出院摘要结构差异极大——有的严格按章节模板书写,有的自由叙事。章节标题命名不统一(如 “Brief Hospital Course” vs “Hospital Course” vs “BHC”)。

症状:基于正则的章节提取漏召回率高;模型在结构化笔记上表现好但在非结构化笔记上差。

解决

  1. 使用 MedSpaCy 的章节检测器(section detector)替代正则
  2. 使用 LLM 进行笔记分割(GPT-5-mini Sentence F1=80.8)
  3. 训练专门的边界检测模型

⚠️ 坑点 8:放射报告内存爆炸(分类:工程陷阱)

问题:放射报告有 230 万+份,全量加载到内存需要 ~64 GB+ RAM。

症状pd.read_csv() 直接加载时 OOM(Out of Memory)。

解决

  1. 分块读取:pd.read_csv(..., chunksize=100000)
  2. 使用 Dask 或 Polars 替代 Pandas
  3. 导入 PostgreSQL 数据库后用 SQL 查询
  4. 使用 Parquet 格式存储(比 CSV 读取快 5-10x)

⚠️ 坑点 9:ICD 编码长尾分布导致罕见码不可学(分类:偏倚陷阱)

问题:ICD-10 有 7,942 个唯一码,但分布极度长尾——Top-50 码覆盖 94% 的案例,而大量罕见码仅出现 1-2 次。

症状:Macro-F1 极低(<0.10),因为罕见码几乎无法学习。

解决

  1. 仅训练 Top-50 或 Top-100 码(覆盖 94%+)
  2. 使用 few-shot learning 或元学习处理罕见码
  3. 利用 ICD 编码层级结构进行层次化预测

参考:Tanaka et al. mimic-icd-coder GitHub.

⚠️ 坑点 10:评估时混淆 token-level 与 entity-level F1(分类:评估误用)

问题:NER 任务有两种 F1 计算方式——token-level(逐 token 匹配)和 entity-level(完整实体边界匹配)。SNOMED CT Challenge 使用字符级 IoU,与标准 NER F1 不同。

症状:同一模型在不同评估方式下 F1 差异可达 10-20%。

解决:明确论文使用的评估方式。推荐使用 n2b2 / nervaluate 库同时报告两种 F1。

⚠️ 坑点 11:去标识化不完全的残留风险(分类:偏倚陷阱)

问题:尽管去标识化灵敏度 >99%,仍有 <1% 的 PHI 可能残留。研究表明医生姓名缩写、罕见疾病特征组合等可能成为再识别向量。

症状:模型可能学到残留的 PHI 特征而非临床知识。

解决:不在模型输出中直接展示原始文本段落;部署前进行二次去标识化审计。

⚠️ 坑点 12:MIMIC-III → MIMIC-IV 迁移时的编码差异(分类:工程陷阱)

问题:MIMIC-III NOTEEVENTS 表包含更多笔记类型(护理、医生病程、ECG、Echo 等),而 MIMIC-IV-Note v2.2 仅含出院摘要和放射报告。在 MIMIC-III 上预训练的模型直接迁移到 MIMIC-IV 时可能遇到领域偏移。

症状:MIMIC-III 预训练模型在 MIMIC-IV 出院摘要上微调时需要更多 epoch 才能收敛。

解决:在 MIMIC-IV-Note 上进行额外的领域适应预训练(DAPT)后再微调。

§6.6 数据增强策略

策略 安全性 说明
同义词替换(医学同义词) ✅ 安全 使用 UMLS 同义词词典替换非关键词
章节重排 ⚠️ 谨慎 仅对独立章节间重排,不破坏 BHC 内部时序
回译增强 ⚠️ 谨慎 英→法→英,需验证医学语义保持
随机遮蔽 ✅ 安全 随机遮蔽非实体词,类似 MLM
文本截断增强 ✅ 安全 随机截取不同长度的文本段
笔记拼接 ❌ 危险 不同患者笔记拼接会导致虚假关联

§6.7 推荐模型

任务 推荐 Backbone 预训练 关键超参 预期性能
ICD 编码 (Top-50) Bio_ClinicalBERT + LAN MIMIC-III 预训练 lr=2e-5, batch=16, max_len=2500, epoch=20 Micro-F1 ≥ 0.70, P@5 ≥ 0.70
ICD 编码 (Full) PubMedBERT + 层次化 PubMed 预训练 lr=2e-5, batch=16, max_len=2500, epoch=30 Micro-F1 ≥ 0.45
BHC 摘要生成 Llama2-13B + QLoRA 通用预训练 lr=3e-4, batch=4, max_len=4096, epoch=3 BLEU-4 ≥ 0.15, BERT-Score ≥ 0.60
BHC 摘要生成(零样本) GPT-4 + ICL few-shot=3, temperature=0.7 临床医师盲法评估优于原始 BHC
NER Bio_ClinicalBERT + CRF MIMIC-III 预训练 lr=2e-5, batch=32, max_len=512, epoch=10 Entity F1 ≥ 0.75
死亡预测(文本增强) BioBERT + XGBoost PubMed 预训练 TF-IDF + 结构化特征融合 AUC ≥ 0.90
时序事件抽取 Llama-3.1-8B 通用预训练 BM25 + 语义检索 + LLM 验证 Event F1 ~0.65-0.75
笔记分割 MedSpaCy 规则型 Avg F1 ~83

§6.8 计算资源需求

任务 GPU 需求 训练时间 内存需求 磁盘需求
Bio_ClinicalBERT 微调 (ICD) 1× V100 32GB 12-24 小时 32 GB RAM 60 GB
Llama2-13B QLoRA 微调 1× A100 80GB 24-48 小时 64 GB RAM 120 GB
GPT-4 ICL 推理 API 调用 实时
全量放射报告加载 64+ GB RAM 180 GB
TF-IDF + 机器学习 CPU 即可 1-2 小时 32 GB RAM 60 GB
MIMIC-IV-Ext-22MCTS 处理 1× V100 16GB 6-12 小时 32 GB RAM 80 GB

§6.9 评估指标代码

# ========================================
# MIMIC-IV-Note 评估指标计算
# ========================================

from sklearn.metrics import (
    f1_score, precision_score, recall_score,
    roc_auc_score, average_precision_score,
    precision_recall_fscore_support
)
from rouge_score import rouge_scorer
from nltk.translate.bleu_score import corpus_bleu, SmoothingFunction
import numpy as np

# ── 1. ICD 编码评估(多标签分类) ──
def evaluate_icd_coding(y_true, y_pred, y_prob=None, top_k=5):
    """ICD 自动编码评估"""
    micro_f1 = f1_score(y_true, y_pred, average=''''''''''''''''micro'''''''''''''''', zero_division=0)
    macro_f1 = f1_score(y_true, y_pred, average=''''''''''''''''macro'''''''''''''''', zero_division=0)
    micro_precision = precision_score(y_true, y_pred, average=''''''''''''''''micro'''''''''''''''', zero_division=0)
    micro_recall = recall_score(y_true, y_pred, average=''''''''''''''''micro'''''''''''''''', zero_division=0)

    # Precision@k
    if y_prob is not None:
        top_k_preds = np.argsort(y_prob, axis=1)[:, -top_k:]
        p_at_k = np.mean([
            y_true[i, top_k_preds[i]].sum() / top_k
            for i in range(len(y_true))
        ])
    else:
        p_at_k = None

    # AUC-ROC (per-label, then macro average)
    if y_prob is not None:
        aucs = []
        for i in range(y_true.shape[1]):
            if y_true[:, i].sum() > 0:
                aucs.append(roc_auc_score(y_true[:, i], y_prob[:, i]))
        macro_auc = np.mean(aucs) if aucs else 0.0
    else:
        macro_auc = None

    return {
        ''''''''''''''''micro_f1'''''''''''''''': micro_f1,
        ''''''''''''''''macro_f1'''''''''''''''': macro_f1,
        ''''''''''''''''micro_precision'''''''''''''''': micro_precision,
        ''''''''''''''''micro_recall'''''''''''''''': micro_recall,
        f''''''''''''''''p@{top_k}'''''''''''''''': p_at_k,
        ''''''''''''''''macro_auc'''''''''''''''': macro_auc
    }

# ── 2. 文本摘要评估 ──
def evaluate_summarization(references, predictions):
    """出院摘要生成评估"""
    # ROUGE
    scorer = rouge_scorer.RougeScorer([''''''''''''''''rouge1'''''''''''''''', ''''''''''''''''rouge2'''''''''''''''', ''''''''''''''''rougeL''''''''''''''''],
                                       use_stemmer=True)
    rouge_scores = {''''''''''''''''rouge1'''''''''''''''': [], ''''''''''''''''rouge2'''''''''''''''': [], ''''''''''''''''rougeL'''''''''''''''': []}
    for ref, pred in zip(references, predictions):
        scores = scorer.score(ref, pred)
        for key in rouge_scores:
            rouge_scores[key].append(scores[key].fmeasure)

    # BLEU
    smoothie = SmoothingFunction().method4
    bleu = corpus_bleu(
        [[ref.split()] for ref in references],
        [pred.split() for pred in predictions],
        smoothing_function=smoothie
    )

    return {
        ''''''''''''''''bleu'''''''''''''''': bleu,
        ''''''''''''''''rouge1_f'''''''''''''''': np.mean(rouge_scores[''''''''''''''''rouge1'''''''''''''''']),
        ''''''''''''''''rouge2_f'''''''''''''''': np.mean(rouge_scores[''''''''''''''''rouge2'''''''''''''''']),
        ''''''''''''''''rougeL_f'''''''''''''''': np.mean(rouge_scores[''''''''''''''''rougeL''''''''''''''''])
    }

# ── 3. NER 评估(Entity-level F1) ──
def evaluate_ner(true_entities, pred_entities):
    """命名实体识别评估(严格边界匹配)"""
    tp = len(set(true_entities) &amp; set(pred_entities))
    fp = len(set(pred_entities) - set(true_entities))
    fn = len(set(true_entities) - set(pred_entities))

    precision = tp / (tp + fp) if (tp + fp) > 0 else 0
    recall = tp / (tp + fn) if (tp + fn) > 0 else 0
    f1 = 2 * precision * recall / (precision + recall) if (precision + recall) > 0 else 0

    return {''''''''''''''''precision'''''''''''''''': precision, ''''''''''''''''recall'''''''''''''''': recall, ''''''''''''''''f1'''''''''''''''': f1}

§6.10 MLOps 笔记

维度 建议
数据版本管理 使用 DVC 追踪数据集版本与预处理脚本变更
实验追踪 MLflow / Weights & Biases 记录超参、指标与模型 checkpoint
数据质量监控 监控文本长度分布、___ 标记密度、章节完整率的漂移
模型部署 推理时注意最大输入长度限制;使用 ONNX Runtime 加速 BERT 推理
持续学习 新版本 MIMIC-IV-Note 发布后需评估是否需要增量微调

§7 质量评估与局限性(Quality & Limitations)

§7.1 已知偏倚

偏倚类型 描述 严重程度 缓解措施
单中心偏倚 所有数据来自 BIDMC 一家医院,文档风格、诊断习惯、治疗协议单一 使用 n2c2、AmsterdamUMCdb 进行外部验证
学术医疗中心偏倚 三级教学医院患者病情更复杂、更严重,不代表社区医院 在社区医院数据上验证模型
美国医疗体系偏倚 编码体系(ICD-CM)、保险结构、用药习惯为美国特有 跨国验证(AmsterdamUMCdb、HiRID)
ICD 编码过渡偏倚 2015.10 ICD-9 → ICD-10 切换导致编码分布不连续 分时期训练或使用映射表
文档风格异质性 不同医生/科室的文档风格差异大 使用章节检测器规范化输入
去标识化噪声 ___ 标记破坏句子结构,引入 token 化异常 替换为 [REDACTED] 并注册 token
长尾标签偏倚 ICD 编码分布极度长尾,罕见码几乎不可学习 Top-K 过滤或层次化预测
时间漂移 2008-2019 跨度内医疗实践发生变化(新药、新指南) 按时间段评估模型性能变化
种族/语言偏倚 以英语为医疗语言,波士顿地区种族分布非全美代表性 在不同种族构成的数据集上验证公平性
文档长度偏倚 长文档信息丰富但被 BERT 截断;短文档信息不足 使用长序列模型或分块策略
编码员间变异 ICD 编码由不同编码员分配,存在 ~15% 不一致 使用多数投票或一致性过滤
去标识化残留 <1% PHI 可能残留,存在再识别风险 不展示原始文本段落于模型输出

§7.2 标签质量评估

标签来源 质量评估方法 已知问题 可信度
ICD 编码(diagnoses_icd 编码员间一致性研究 ~15% 不一致;编码优先级影响 中(参考标准)
BHC 摘要(原文) 医生书写质量审计 风格差异大;部分 BHC 过于简略 中(弱金标准)
SNOMED CT 实体标注 多标注者一致性(IoU) 罕见概念标注困难 高(金标准)
去标识化标注 n2c2 2014 基准 残留 PHI <1% 高(>99% 灵敏度)
药物提取标注 人工标注 + 交叉验证 600 份样本量较小 高(金标准,小规模)

§7.3 泛化性讨论

场景 失效风险 证据
迁移到非美国医院 文档语言、编码体系、医疗协议完全不同
迁移到社区医院 患者病情轻重不同,文档详细度不同
迁移到门诊场景 门诊笔记结构与住院出院摘要完全不同
迁移到儿科人群 极高 MIMIC-IV 仅含成人(≥16 岁),儿科诊断与用药完全不同
时间迁移到 2024+ 医疗实践演进(COVID-19 后诊疗变化、新药上市)
迁移到非英语系统 极高 语言、医学术语、编码体系完全不同

§7.4 伦理考量

  1. 患者隐私:尽管去标识化灵敏度 >99%,仍存在理论上的再识别风险。使用者须遵守 PhysioNet DUA,不得尝试再识别患者。
  2. 公平性:模型在少数种族/非英语母语患者上的表现可能更差。部署前应进行分亚组公平性评估。
  3. 临床安全:自动 ICD 编码和摘要生成模型的错误可能导致计费错误或临床信息遗漏。模型输出不应直接用于临床决策,须经人工审核。
  4. 商业使用限制:PhysioNet Credentialed Health Data License 禁止商业用途(DUO: NPUNCU)。商业产品需另行获取授权。
  5. 知情同意:原始数据收集经 BIDMC IRB 批准,豁免个体知情同意(去标识化 retrospective 研究)。

§7.5 公平性评估

# ========================================
# MIMIC-IV-Note 公平性评估示例
# 评估 ICD 编码模型在不同性别/种族子群体上的性能差异
# ========================================

from sklearn.metrics import f1_score
import pandas as pd

def fairness_assessment(y_true, y_pred, sensitive_feature, group_names=None):
    """评估模型在不同子群体上的性能差异"""
    results = {}
    for group in sorted(set(sensitive_feature)):
        mask = sensitive_feature == group
        if mask.sum() > 0:
            f1 = f1_score(y_true[mask], y_pred[mask],
                         average=''''''''''''''''micro'''''''''''''''', zero_division=0)
            name = group_names.get(group, str(group)) if group_names else str(group)
            results[name] = {
                ''''''''''''''''count'''''''''''''''': mask.sum(),
                ''''''''''''''''micro_f1'''''''''''''''': f1
            }

    # 计算性能差距
    f1_values = [r[''''''''''''''''micro_f1''''''''''''''''] for r in results.values()]
    f1_gap = max(f1_values) - min(f1_values) if f1_values else 0

    print("=== 公平性评估 ===")
    for group, metrics in results.items():
        print(f"  {group}: n={metrics[''''''''''''''''count'''''''''''''''']}, Micro-F1={metrics[''''''''''''''''micro_f1'''''''''''''''']:.4f}")
    print(f"\n  性能差距 (max - min): {f1_gap:.4f}")
    if f1_gap > 0.05:
        print("  ⚠️ 警告:子群体性能差距 >5%,建议调查偏倚来源")

    return results

# 使用示例(需关联 MIMIC-IV admissions 表获取性别/种族信息)
# fairness_assessment(y_true, y_pred, df[''''''''''''''''gender''''''''''''''''], {0: ''''''''''''''''男'''''''''''''''', 1: ''''''''''''''''女''''''''''''''''})

§7.6 数据漂移提示

漂移类型 描述 检测方法
文档风格漂移 不同年代医生的书写习惯变化 文本长度分布、章节结构变化
编码实践漂移 ICD-9→ICD-10 过渡 + 编码指南更新 编码分布变化
医疗实践漂移 新药、新指南、COVID-19 等影响 药物/诊断频率变化
去标识化管道漂移 不同版本去标识化工具的残留差异 ___ 标记密度变化

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

编号 检查项 状态 说明
1 数据集版本号 v2.2
2 发布日期 2023-01-06
3 许可证 PhysioNet Credentialed Health Data License 1.5.0
4 数据格式说明 CSV (gzip),4 张表,字段文档完整
5 数据字典 MIT-LCP 官方文档 + DeepWiki
6 采集协议 BIDMC IRB 批准 + HIPAA Safe Harbor
7 去标识化方法 混合规则 + BERT NER,>99% 灵敏度
8 患者人群描述 年龄、性别、地域、就医类型完整描述
9 采集时间范围 2008-2019
10 采集机构 BIDMC(单中心)
11 样本量统计 出院摘要 331,794 / 放射报告 2,321,355
12 数据质量审计 MIT-LCP 人工审计
13 已知偏倚文档 单中心、学术医疗中心、ICD 过渡
14 缺失值说明 charttime/storetime 部分缺失
15 标签质量评估 ICD 编码员间一致性 ~85%
16 官方 train/test 划分 无官方划分,需自行实现
17 预处理脚本 MIMIC Code Repository (GitHub)
18 加载工具 社区多版本(PyTorch/TF/HuggingFace)
19 基准性能 多任务社区基准
20 外部验证 n2c2、AmsterdamUMCdb、eICU
21 伦理审查 BIDMC IRB + PhysioNet 凭证认证
22 DUO 标签 HMB, NPUNCU
23 更新频率 ⚠️ v2.2 自 2023-01 未更新,但派生数据集持续发布
24 引用规范 DOI + PhysioNet 引用格式

DAIMS 评分:22 / 24(91.7%)

评分解读优秀 — 该数据集在文档完整性、去标识化质量、社区生态方面表现卓越,是临床 NLP 领域 AI 就绪度最高的数据集之一。

对你意味着什么:主要扣分项为无官方 train/test 划分(需按 subject_id 自行实现)和主版本自 2023-01 未更新。但派生数据集(BHC、22MCTS、SNOMED 标注)持续发布,生态活跃度极高。建议在训练前执行以下操作:(1) 按 subject_id 分组实现 80/10/10 患者级划分以杜绝数据泄漏;(2) 将 ___ 标记替换为 [REDACTED] 并注册到 tokenizer;(3) 评估是否需要使用 Clinical-Longformer 处理超长出院摘要;(4) 利用 MIMIC Code Repository 中的官方 SQL 脚本加速数据提取。

§7.8 外部验证矩阵

外部数据集/场景 来源机构 样本量 评估任务 性能指标 相对内部测试集变化 关键发现
n2c2 (i2b2) Partners HealthCare ~2,000 NER Entity F1: 0.62-0.89 -5% ~ -15% 跨机构文档风格差异导致 NER 性能下降
ShARe/CLEF eHealth 欧洲多中心 ~4,500 SNOMED CT 链接 Accuracy: 0.55-0.70 -10% ~ -20% 欧洲临床文档与美国风格差异显著
AmsterdamUMCdb 荷兰 AMC ~24,000 文本特征迁移 N/A 语言不同,需翻译或跨语言迁移
eICU-CRD Philips (美国多中心) ~200,000 死亡预测(文本增强) AUC: 0.85-0.90 -3% ~ -5% 跨机构泛化性较好,但 EHR 系统不同
SNOMED CT Challenge SNOMED International 272 实体链接 IoU: 0.40-0.65 罕见概念是主要瓶颈

约束:本矩阵仅记录有同行评审论文或竞赛报告支撑的外部评估结果。

§8 基准性能与生态(Benchmarks & Ecosystem)

§8.1 排行榜

排名 模型 任务 性能指标 年份 关键技术 完整引用 代码
1 GPT-4 + ICL BHC 摘要生成 临床医师盲法评估最优 2024 Few-shot ICL + 长文本鲁棒性 Damm et al., 2024, BioNLP ACL. “WisPerMed at Discharge Me!”
2 Llama2-13B + QLoRA BHC 摘要生成 BLEU-4: 0.15+, BERT-Score: 0.60+ 2024 QLoRA 参数高效微调 Aali et al., 2025, PhysioNet. “MIMIC-IV-Ext-BHC” GitHub
3 Bio_ClinicalBERT + LAN ICD-10 编码 (Top-50) Micro-F1: 0.70+, P@5: 0.70+ 2024 层次化微调 + 标签注意力网络 Edin et al., 2022. “medical-coding-reproducibility” GitHub
4 PubMedBERT + LAN ICD-9 编码 (Top-50) Micro-F1: 0.67, AUC: 0.93 2021 PubMed 预训练 + 层次化 Huang et al., 2022, CIBM. “Does the magic of BERT apply to medical code assignment?”
5 BioBERT + XGBoost ICU 死亡预测(文本增强) AUC: 0.918 2025 TF-IDF/BioBERT + 结构化特征融合 Mamatov et al., 2025. “Enhancing mortality prediction…”
6 SNOBERT SNOMED CT 实体链接 IoU: 0.65 (竞赛第 2) 2025 编码器法 (BERT-based) Davidson et al., 2025, JAMIA. “SNOMED CT entity linking challenge” DrivenData
7 KIRI SNOMED CT 实体链接 IoU: 0.67 (竞赛第 1) 2025 字典法 + 模糊匹配 Davidson et al., 2025, JAMIA
8 MedSpaCy 笔记分割 Avg F1: 83.2 2025 规则型 + 句法分析 Surana et al., 2025. “CNSight benchmarks” GitHub
9 Llama-3.1-8B 时序事件抽取 Event F1: ~0.70 2025 BM25 + 语义检索 + LLM 验证 Wang et al., 2025, PhysioNet. “MIMIC-IV-Ext-22MCTS” PhysioNet
10 Rule-based + BERT 疼痛信息提取 (9 维) F1: >0.98 (结构化维度) 2024 混合规则 + BERT 分类器 RegAItool, 2024. “mimic-pain-nlp” GitHub
11 BioClinicalBERT 结构化信息提取 F1: 0.60 (MIMIC-IV) 2025 BERT 微调 This Study, 2025, Algorithms. “Understanding Tradeoffs…”
12 OpenBioLLM-70B BHC 摘要生成 DES5 score: 0.332 2024 LoRA + Asclepius 预训练 Damm et al., 2024, BioNLP ACL
13 Transformer-DeID 去标识化 Sensitivity: >99% 2023 Transformer NER 微调 Moore et al., 2023, PhysioNet. “Transformer-DeID” PhysioNet

注意:不同论文的绝对数值不可直接比较——任务定义、数据子集、预处理流程、评估方式(token vs entity vs IoU)均不同。上述排行榜按任务类型分组,同任务内可参考比较。

§8.2 SOTA 总结与选型建议

任务 SOTA 模型 推荐场景 替代方案
BHC 摘要生成 GPT-4 ICL(质量最优)/ Llama2-13B QLoRA(成本最优) 研究:GPT-4;部署:Llama2-13B OpenBioLLM-70B, Mistral-7B
ICD 编码 (Top-50) Bio_ClinicalBERT + LAN 通用 ICD 编码 PubMedBERT, Clinical-Longformer
NER Bio_ClinicalBERT + CRF 通用临床 NER cTAKES, MedCAT, BERN2
SNOMED CT 链接 KIRI / SNOBERT 标准术语映射 MedCAT + UMLS
死亡预测(增强) BioBERT + XGBoost 多模态融合预测 ClinicalBERT + 结构化融合
笔记分割 MedSpaCy 章节边界检测 GPT-5-mini(LLM 方案)
时序事件抽取 Llama-3.1-8B + 检索 患者时间线构建 MIMIC-IV-Ext-22MCTS(预处理版)

§8.3 评测协议

任务 评测协议 注意事项
ICD 编码 hadm_id 划分;报告 Micro/Macro-F1、P@5/P@8、AUC ICD-9 与 ICD-10 分开评测
BHC 摘要 subject_id 划分;报告 BLEU、ROUGE、BERT-Score、MEDCON 同时进行人工盲法评估
NER Entity-level F1(严格边界匹配) 明确 token-level vs entity-level
SNOMED 链接 字符级 IoU 参考 DrivenData 竞赛评测脚本
死亡预测 AUROC、AUPRC、校准曲线 subject_id 划分,报告 95% CI
数据集 关系 说明
MIMIC-IV 父数据库 MIMIC-IV-Note 是 MIMIC-IV 的 Note 子模块
MIMIC-III NOTEEVENTS 前代版本 含更多笔记类型(护理/病程/Echo/ECG),但仅 ICU 患者
MIMIC-CXR 互补模块 胸部 X 光影像 + 放射报告,与 Note 模块的放射报告有重叠
MIMIC-IV-Ext-BHC 派生数据集 270,033 对 BHC 摘要标注
MIMIC-IV-Ext-22MCTS 派生数据集 2258 万条时序事件
n2c2 / i2b2 外部基准 小规模高质量标注,适合验证
AmsterdamUMCdb 外部验证 欧洲 GDPR 合规 ICU 数据库
eICU-CRD 外部验证 美国多中心 ICU 数据库

§8.5 关键论文

编号 论文 贡献
[1] Johnson, A., Pollard, T., Horng, S., et al. (2023). MIMIC-IV-Note: Deidentified free-text clinical notes. PhysioNet. DOI: 10.13026/1n74-ne17 数据集官方发布
[2] Johnson, A.E.W., Bulgarelli, L., Shen, L., et al. (2023). MIMIC-IV, a freely accessible electronic health record dataset. Scientific Data, 10, 1. DOI: 10.1038/s41597-022-01899-x MIMIC-IV 主库论文
[3] Alsentzer, E., Murphy, J., Boag, W., et al. (2019). Publicly Available Clinical BERT Embeddings. Clinical NLP @ NAACL-HLT. arXiv:1904.03323 Bio_ClinicalBERT 预训练模型
[4] Johnson, A.E., Bulgarelli, L., Pollard, T.J. (2020). Deidentification of free-text medical records using pre-trained bidirectional transformers. ACM CHIL, 214-221. 去标识化管道
[5] Aali, A., Van Veen, D., Arefeen, Y., et al. (2025). MIMIC-IV-Ext-BHC: Labeled Clinical Notes Dataset for Hospital Course Summarization. PhysioNet. BHC 摘要标注数据集
[6] Wang, J., Niu, X., Zhang, T., et al. (2025). MIMIC-IV-Ext-22MCTS: A 22 Millions-Event Temporal Clinical Time-Series Dataset. PhysioNet. 时序事件提取
[7] Davidson, R., Hardman, W. (2025). SNOMED CT entity linking challenge. JAMIA, 32(9), 1397-1406. DOI: 10.1093/jamia/ocaf104 SNOMED CT 实体链接竞赛
[8] Damm, et al. (2024). WisPerMed at “Discharge Me!” — BioNLP ACL. BHC 摘要生成 SOTA
[9] Huang, C., et al. (2022). Does the magic of BERT apply to medical code assignment? CIBM. ICD 编码 BERT 研究
[10] Moore, C., Bulgarelli, L., Pollard, T., et al. (2023). Transformer-DeID: Deidentification of free-text clinical notes with transformers. PhysioNet. 开源去标识化工具

§8.6 社区活跃度

维度 数值(截至 2026-07)
PhysioNet 项目浏览量 10,000+(Unique Registered Users)
Google Scholar 引用 3,200+(含 MIMIC-IV 主库)
HuggingFace 相关数据集 20+ 个社区预处理版本
HuggingFace 相关模型 50+ 个基于 MIMIC 预训练的模型
GitHub 相关仓库 500+ 个使用 MIMIC-IV-Note 的项目
BioNLP / ACL 挑战赛 2+ 个(Discharge Me!, SNOMED Challenge)
派生 PhysioNet 数据集 5+ 个(BHC, 22MCTS, Medication Labels, Transformer-DeID 等)

§8.7 生态快照

资源 类型 链接 Star/Fork(截至 2026-07) 为什么值得关注
MIMIC Code Repository 代码库 GitHub 2,000+/600+ MIT-LCP 官方代码仓库,含 SQL/Python 提取脚本与 benchmark
Bio_ClinicalBERT 预训练模型 HuggingFace 500+ downloads/day 临床 NLP 事实标准预训练模型
mimic-icd-coder 代码库 GitHub 活跃 完整的 MIMIC-IV ICD 编码 pipeline(Bronze→Silver→Gold)
medical-coding-reproducibility 代码库 GitHub 活跃 ICD 编码可复现性研究,含 MIMIC-IV 数据准备脚本
mimic-pain-nlp 代码库 GitHub 活跃 9 维疼痛信息提取,规则+BERT+LLM 对比
Transformer-DeID 工具 PhysioNet 开源去标识化工具,可用于自定义数据
DrivenData SNOMED Challenge 竞赛 DrivenData 553 参赛者 SNOMED CT 实体链接竞赛,含数据与基线
MIMIC-IV-Ext-BHC 数据集 PhysioNet 270,033 对 BHC 摘要标注,摘要任务即用型
MIMIC-IV-Ext-22MCTS 数据集 PhysioNet 2258 万条时序事件,时序任务即用型
MedSpaCy 工具库 GitHub 800+/150+ 临床文本处理 pipeline(NER、断句、章节检测)

§8.8 真实影响案例

案例 影响领域 描述
Bio_ClinicalBERT 发布 预训练模型 基于 MIMIC 出院摘要预训练的 BERT 成为临床 NLP 基础设施,被引用 2,000+
BioNLP “Discharge Me!” 挑战赛 文本摘要 基于 MIMIC-IV-Note 的 BHC 自动生成竞赛,推动摘要模型发展
SNOMED CT Entity Linking Challenge 实体链接 SNOMED International 基于 MIMIC-IV-Note 发起全球竞赛
ICU 死亡预测 AUC 提升 22% 多模态融合 文本+结构化融合将 AUC 从 0.753 提升至 0.918
2258 万条时序事件提取 时序建模 MIMIC-IV-Ext-22MCTS 从非结构化文本中提取时序事件
自动 ICD 编码接近实用化 计费自动化 Top-50 ICD-10 编码 Micro-F1 ≥ 0.70,接近编码员水平
Transformer-DeID 开源 隐私保护 去标识化工具开源化,支持自定义数据集
疼痛多维信息提取 临床信息学 从 32,003 份笔记中提取 9 维疼痛信息

§8.9 临床试验 AI 数据生态中的 MIMIC-IV-Note

┌──────────────────────────────────────────────────────────────────┐
│           临床文本 NLP 数据生态(以 MIMIC-IV-Note 为核心)           │
│                                                                  │
│  ┌─────────────────────────────────┐                             │
│  │       MIMIC-IV-Note (核心)       │                             │
│  │  331K 出院摘要 + 2.3M 放射报告   │                             │
│  └────────────┬────────────────────┘                             │
│               │                                                  │
│     ┌─────────┼─────────┐                                       │
│     ▼         ▼         ▼                                       │
│  ┌──────┐ ┌──────┐ ┌──────────┐                                │
│  │ BHC  │ │22MCTS│ │ SNOMED   │                                │
│  │摘要  │ │时序  │ │ 实体链接 │                                │
│  │标注  │ │事件  │ │ 标注     │                                │
│  └──┬───┘ └──┬───┘ └────┬─────┘                                │
│     │        │          │                                       │
│     ▼        ▼          ▼                                       │
│  ┌──────────────────────────────┐                               │
│  │       下游模型生态            │                               │
│  ├── Bio_ClinicalBERT (NER)     │                               │
│  ├── Llama2-13B QLoRA (摘要)    │                               │
│  ├── GPT-4 ICL (零样本摘要)     │                               │
│  ├── Llama-3.1-8B (时序事件)    │                               │
│  └── MedSpaCy (笔记分割)        │                               │
│  └──────────────────────────────┘                               │
│                                                                  │
│  ┌──────────────────────────────────────────┐                   │
│  │       外部验证与泛化生态                   │                   │
│  ├── n2c2 / i2b2 (Partners HealthCare)      │                   │
│  ├── ShARe/CLEF eHealth (欧洲)              │                   │
│  ├── AmsterdamUMCdb (荷兰)                  │                   │
│  └── eICU-CRD (美国多中心)                  │                   │
│  └──────────────────────────────────────────┘                   │
└──────────────────────────────────────────────────────────────────┘

§8.10 MIMIC-IV-Note vs 后续派生项目

项目 基于 MIMIC-IV-Note 的改进 规模 发表年份
MIMIC-IV-Ext-BHC 预处理 + BHC 摘要标注 270,033 对 2025
MIMIC-IV-Ext-22MCTS 时序事件 + 时间戳提取 22,588,586 事件 2025
Medication Extraction Labels 药物名/剂量标注 600 份笔记 2023
SNOMED CT Entity Linking SNOMED CT 概念标注 74,808 标注 / 272 份 2025
Transformer-DeID 去标识化模型开源 2023
MIMIC-III-Ext-Notes MIMIC-III 笔记 LLM 标注 2026

§9 相关资源与引用(Resources & Citation)

§9.1 BibTeX

@article{johnson2023mimicivnote,
  title={MIMIC-IV-Note: Deidentified free-text clinical notes},
  author={Johnson, Alistair and Pollard, Tom and Horng, Steven and Celi, Leo Anthony and Mark, Roger},
  journal={PhysioNet},
  year={2023},
  doi={10.13026/1n74-ne17},
  url={https://physionet.org/content/mimic-iv-note/2.2/}
}

@article{johnson2023mimiciv,
  title={MIMIC-IV, a freely accessible electronic health record dataset},
  author={Johnson, Alistair E.W. and Bulgarelli, Lucas and Shen, Li and Gayles, Ayad and Shammout, Adel and Horng, Steven and Pollard, Tom J. and Moor, Benjamin and Celi, Leo Anthony and Mark, Roger G.},
  journal={Scientific Data},
  volume={10},
  number={1},
  pages={1},
  year={2023},
  doi={10.1038/s41597-022-01899-x}
}

@inproceedings{alsentzer2019publicly,
  title={Publicly Available Clinical BERT Embeddings},
  author={Alsentzer, Emily and Murphy, John and Boag, William and Weng, Wei-Hung and Jindi, Di and Naumann, Tristan and McDermott, Matthew},
  booktitle={Clinical Natural Language Processing Workshop at NAACL-HLT},
  year={2019},
  arxiv={1904.03323}
}

@inproceedings{johnson2020deidentification,
  title={Deidentification of free-text medical records using pre-trained bidirectional transformers},
  author={Johnson, Alistair E.W. and Bulgarelli, Lucas and Pollard, Tom J.},
  booktitle={Proceedings of the ACM Conference on Health, Inference, and Learning},
  pages={214221},
  year={2020}
}

@article{davidson2025snomed,
  title={SNOMED CT entity linking challenge},
  author={Davidson, Rory and Hardman, Will},
  journal={Journal of the American Medical Informatics Association},
  volume={32},
  number={9},
  pages={13971406},
  year={2025},
  doi={10.1093/jamia/ocaf104}
}

@misc{aali2025bhc,
  title={MIMIC-IV-Ext-BHC: Labeled Clinical Notes Dataset for Hospital Course Summarization},
  author={Aali, Asad and Van Veen, Dave and Arefeen, Yamin and others},
  journal={PhysioNet},
  year={2025},
  doi={10.13026/}
}

@misc{wang202522mcts,
  title={MIMIC-IV-Ext-22MCTS: A 22 Millions-Event Temporal Clinical Time-Series Dataset with Relative Timestamp},
  author={Wang, Jing and Niu, Xing and Zhang, Tong and others},
  journal={PhysioNet},
  year={2025}
}

§9.2 官方资源

资源 链接
PhysioNet 数据集页面 https://physionet.org/content/mimic-iv-note/2.2/
MIT-LCP MIMIC 官方文档 https://mimic.mit.edu/docs/iv/modules/note/
MIMIC Code Repository https://github.com/MIT-LCP/mimic-code
PhysioNet 凭证认证 https://physionet.org/settings/credentialing/
CITI 培训官网 https://about.citiprogram.org/
DrivenData SNOMED Challenge https://www.drivendata.org/competitions/258/

§9.3 社区资源

资源 链接
HuggingFace Bio_ClinicalBERT https://huggingface.co/emilyalsentzer/Bio_ClinicalBERT
HuggingFace 社区数据集 搜索 “mimic-iv-note”
mimic-icd-coder https://github.com/nancytanaka1/mimic-icd-coder
medical-coding-reproducibility https://github.com/JoakimEdin/medical-coding-reproducibility
mimic-pain-nlp https://github.com/RegAItool/mimic-pain-nlp
MedSpaCy https://github.com/medspacy/medspacy
Transformer-DeID https://physionet.org/content/transformer-deid/1.0.0/

§9.4 引用指南

使用 MIMIC-IV-Note 时,请引用:

Johnson, A., Pollard, T., Horng, S., et al. (2023). MIMIC-IV-Note: Deidentified free-text clinical notes (version 2.2). PhysioNet. https://doi.org/10.13026/1n74-ne17

同时引用 MIMIC-IV 主库:

Johnson, A.E.W., Bulgarelli, L., Shen, L., et al. (2023). MIMIC-IV, a freely accessible electronic health record dataset. Scientific Data, 10, 1. https://doi.org/10.1038/s41597-022-01899-x

并引用 PhysioNet 平台:

Goldberger, A., Amaral, L., Glass, L., et al. (2000). PhysioBank, PhysioToolkit, and PhysioNet: Components of a new research resource for complex physiologic signals. Circulation, 101(23), e215-e220.

§9.5 变更日志

版本 日期 变更
2.1 2023-01-05 MIMIC-IV-Note 首次发布
2.2 2023-01-06 当前最新版本(与 v2.1 同期发布,为正式稳定版)

§10 AI 使用声明卡(AI Usage Card)

§10.1 撰写页面时使用的 AI 模型

模型 版本 用途
Claude Sonnet 4 资料整合、结构化撰写、代码生成
WebSearch 实时文献检索与数据集信息收集

§10.2 AI 参与范围

  • ✅ 资料搜集与整理(WebSearch + PDF 提取)
  • ✅ 结构化内容撰写(全部章节)
  • ✅ 代码示例生成(Python 预处理 / PyTorch / TF / 评估指标)
  • ✅ 表格与 ASCII 图表生成
  • ❌ 未参与:医学判断与临床建议(由千方病案医学编辑部交叉审核)

§10.3 输入来源

  1. Johnson, A. et al. (2023). MIMIC-IV-Note PhysioNet 官方页面 — 数据集规模、表结构、许可协议
  2. Johnson, A.E.W. et al. (2023). MIMIC-IV Scientific Data 论文 — 主库背景与数据架构
  3. Alsentzer, E. et al. (2019). Publicly Available Clinical BERT Embeddings — Bio_ClinicalBERT 预训练
  4. Johnson, A.E. et al. (2020). Deidentification ACM CHIL — 去标识化管道技术
  5. Aali, A. et al. (2025). MIMIC-IV-Ext-BHC PhysioNet — BHC 摘要标注
  6. Wang, J. et al. (2025). MIMIC-IV-Ext-22MCTS PhysioNet — 时序事件提取
  7. Davidson, R. et al. (2025). SNOMED CT Challenge JAMIA — 实体链接竞赛
  8. DeepWiki MIT-LCP/mimic-IV — 表结构与字段定义
  9. MIT-LCP MIMIC 官方文档 mimic.mit.edu — Note 模块文档
  10. PhysioNet Resources 页面 — 派生数据集列表
  11. Edin et al. (2022). medical-coding-reproducibility — ICD 编码统计
  12. Mamatov et al. (2025). arXiv:2510.18103 — 多模态死亡预测
  13. Surana et al. (2025). CNSight benchmarks — 笔记分割评估
  14. SelectDataset MIMIC-IV-Note 页面 — 中文数据集描述
  15. IntuitionLabs — 去标识化最佳实践

§10.4 人工校验表

内容模块 审核者 审核方式 审核状态
§2 医学背景 千方病案医学编辑部 交叉审核 ✅ 已通过
§4 数据字典 千方病案医学编辑部 与 MIT-LCP 官方文档交叉比对 ✅ 已验证
§6 代码示例 千方病案医学编辑部 逻辑审查 ✅ 已通过
§7 偏倚分析 千方病案医学编辑部 交叉审核 ✅ 已通过
§8 基准性能 千方病案医学编辑部 与原始论文交叉比对 ✅ 已验证

§10.5 AI 生成章节标注

全部章节由 AI 辅助生成,经千方病案医学编辑部交叉审核后发布。

§10.6 最后一次人工审核日期

2026-08-04

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

返回 AI Ready 数据集