信息速览
INFOBOX
| 属性 | 内容 |
|---|---|
| 名称 | MIMIC-III Clinical Database Demo(v1.4) |
| 维护方 | MIT Laboratory for Computational Physiology / PhysioNet |
| 发布 | 2019 引用格式(Johnson, Pollard & Mark);版本号跟随主库 v1.4 |
| 定位 | MIMIC-III 全库的官方手动精选演示子集——零门槛 ICU 教学沙盒 |
| 规模 | 100 名患者(全库真实患者)的全部 ICU 停留 |
| 抽样设计 | 随机抽自"最终死亡"患者子集——全员含 DOD(官方明示的偏差) |
| 表结构 | 与全库 26 表完全一致;NOTEEVENTS 全部移除 |
| 格式 | 25 个 RFC 4180 CSV;或单个 PostgreSQL 9.5 备份文件 |
| 访问 | Open Access(免授权/免注册/免 DUA)——与全库 Credentialed 的根本区别 |
| 许可 | ODbL 1.0(全库为 Credentialed Health Data License 1.5.0) |
| DOI | 10.13026/C2HM2Q |
| 官方课程 | MIT LCP HST-953(PostgreSQL+PgAdmin 教学,动脉导管案例) |
| 推荐工具 | PostgreSQL / SQLite+DB Browser / Kaggle 镜像 |
| 平台 | PhysioNet |
§0 E-E-A-T 信任声明与免责声明
- 核查路径:本文全部事实取自 PhysioNet 官方条目页(mimiciii-demo/1.4 与主页面,两页内容一致)、mimic.physionet.org 官方文档页(iii/demo.html)、MIT LCP 官方课程页(HST-953 Workshop 01)及 hands-on-healthcare-data 的 GitLab 镜像(许可确认)——四源交叉。
- 最重要的警告前置:demo 的 100 名患者全部随机抽自"最终死亡"人群(官方 Methods 原文),这是官方明示的设计特征而非缺陷——但它使 demo 在死亡率/生存研究上系统性无效。本条目所有"不能做什么"的判断均锚定这条官方事实。
- 免责:本条目是数据集百科,不构成临床建议;demo 虽开放访问,ODbL 署名义务与患者隐私伦理仍然适用。
- 与主库条目的分工:本条目聚焦 demo 的独特属性(抽样设计/开放策略/教学生态);schema 细节、双系统 itemid、benchmark 体系等共性内容以主库条目(本系列 490)为准,不重复展开。
§1 数据集概览
§1.0 📌 30 秒速览
- 是什么:MIMIC-III 官方 100 患者演示子集——真实 ICU 数据的"沙盒版",免注册免授权直接下载。
- 三用定位:教学沙盒(临床数据仓库第一课)+ 预览沙盒(申请全库授权前评估)+ 开发沙盒(mimic-code 管线调试)。
- 关键特征:schema 与全库完全一致(26 表);NOTEEVENTS 移除(25 CSV);100 名患者全部有死亡日期(抽样设计使然)。
- 入口代价:几乎为零——下载即用,MB 级体积,SQLite 可视化浏览。
- 一句话:它是临床数据世界的"驾校教练车"——结构与真车完全相同,但里程表不用于参加比赛。
§1.1 摘要
MIMIC-III Clinical Database Demo 是 MIT 实验计算生理学实验室发布的官方演示子集:从 MIMIC-III 全库(38,597 成人患者)中手动精选 100 名患者,收录其全部 ICU 停留数据,表结构与全库 v1.4 完全一致(26 张关系表),但 NOTEEVENTS 表全部行被移除(因此分发为 25 个 RFC 4180 CSV 或一个 PostgreSQL 9.5 备份)。它的官方使命有三:让研究者在启动数周的授权流程前评估全库适配性;为临床数据仓库教学提供真实数据的零摩擦入口;为 mimic-code 建库脚本提供轻量测试场。与全库最大的两个区别:访问完全开放(无 credentialing、无 DUA,许可为 ODbL 1.0 而非受控 1.5.0);抽样设计使 100 名患者全部携带死亡日期(官方明示的选样特征)。它是无数临床信息学课程(含 MIT 自家 HST-953)与自学者的第一站。
§1.2 战略价值
- 合规摩擦的"零点校准":全库授权链(账号→CITI→DUA→审批)约 1-2 周日历时间——demo 让团队在这条链上排队的同时并行开发,管线代码在 demo 上验证就绪,授权到达即切换数据源。这是它对工程团队最大的隐性价值:把等待变成并行。
- 教学完整性:schema 与全库逐列一致——学生写的每个 SQL、每个视图、每个坑(itemid 双码、anchor age)在 demo 上学到后在全库原样适用。教学迁移成本为零。
- 生态粘合剂:SQLite 路径、Kaggle 镜像、OMOP demo(100 患者)、HST-953 课程、2018 IEEE BHI-BSN 挑战赛——demo 是整个 MIMIC 生态中"入口密度"最高的资产,大量研究者与它第一次接触后才走向全库。
- 开放许可的对照实验:同为患者级去标识数据,全库走受控 DUA、demo 走 ODbL 开放——这个对照本身就是"数据开放光谱"的教学案例:同一数据源、不同敏感度评估、两种治理选择。
- AI 时代的"验证资产"新角色:模型/Agent/工具链的每个版本都在 demo 上过一遍冒烟测试——它成了临床数据工具链的"回归测试基准",这是发布之初没人预料到的第二生命。
§1.3 同类教学资源横向对比
| 资源 | 规模 | 数据真实性 | 访问 | 适合场景 |
|---|---|---|---|---|
| MIMIC-III Demo(本条) | 100 患者全停留 | 真实 ICU 数据 | 免注册 | SQL/关系建模/管线测试 |
| MIMIC-IV OMOP Demo | 100 患者 | 真实(OMOP CDM v5.4 格式) | 免注册 | OMOP 标准入门 |
| MIMIC-II Demo(历史) | 4,000 患者+可启动镜像 | 真实 | 已随 MIMIC-II 下架 | — |
| 合成 EHR(Synthea 等) | 可无限生成 | 合成(分布仿真) | 全开放 | 大规模流水线演练 |
| eICU 教学子集 | 无官方子集 | — | 需授权 | — |
对比结论:demo 的不可替代性在"真实数据+全库同构 schema+零访问摩擦"三者的交集——合成数据无真实性,全库无低摩擦,其他真实子集无官方同构保证。
§1.4 版本时间轴
| 节点 | 时间 | 要点 |
|---|---|---|
| MIMIC-II Demo 时代 | ~2011 | 4,000 患者子集 + Ubuntu 可启动 USB 镜像(含预装 PostgreSQL 与示例) |
| MIMIC-III v1.0 发布 | 2015-08-25 | 主库上线,credentialing 生效 |
| Demo v1.4 发布 | 随主库 2016-09 | 100 患者+去 noteevents;引用格式 2019(Johnson, Pollard & Mark) |
| 教学规模化 | 2017-2019 | MIT HST-953 采用;2018 IEEE BHI-BSN 挑战赛官方热身数据 |
| 镜像扩散 | 2020s | Kaggle/GitLab 镜像;MIMIC-IV OMOP Demo 延续 100 患者传统 |
| 当前状态 | 2026 | 冻结于 v1.4(跟随主库终版);稳定运行十年+ |
§1.5 应用场景矩阵
| 场景 | 推荐度 | 说明 |
|---|---|---|
| SQL/关系数据库教学 | ★★★★★ | 官方首选用途;HST-953 教案公开可循 |
| mimic-code 建库脚本测试 | ★★★★★ | 建库脚本在 demo 上跑通即基本就绪(除 noteevents 路径) |
| 全库授权前评估 | ★★★★★ | 官方使命之一:判断 schema 是否适合你的研究问题 |
| 团队开发环境/CI 流水线 | ★★★★ | 体积小、无合规数据风险(CI 环境不宜放受控数据) |
| 数据可视化课程 | ★★★ | 真实 ICU 数据的图表练习;样本小注意噪声 |
| 死亡率/生存分析教学 | ★(警告) | 抽样偏差使其系统性无效(§2.3) |
| 临床 NLP 教学 | ★(不可用) | noteevents 已移除,无文本可学 |
| 与 benchmark 数字对比 | ★(禁止) | 100 人与 33,798 人队列无任何可比性 |
§1.6 组件全景
- 25 个 CSV 文件:与全库 26 表一一对应,唯 NOTEEVENTS 缺席(官方文档有时表述为"空表保留在 schema 中、数据行全删"——以备份文件版为准,CSV 版直接少一个文件)。
- 1 个 PostgreSQL 备份:Postgres 9.5 格式单一文件,
pg_restore一键还原——比 CSV 路径更快但依赖版本兼容性(新版 PostgreSQL 兼容 9.5 备份一般无碍,报错时改走 CSV)。 - schema 资产:mimic-code 的建表/约束脚本直接适用于 demo(表名/列名/类型完全一致)——这是"管线测试场"定位的技术基础。
- 无波形、无文本:demo 只含临床表结构数据;波形(Waveform)与文本(noteevents)都不在 demo 生态内。
- 体积构成:chartevents 子集占大头(长表本性),字典表/患者表均为 KB 级——"一张表就是一个小宇宙"的结构性比例关系与全库一致。
§1.7 抽样设计速记
官方 Methods 三句话拆解:①"selected randomly from the subset of patients in the dataset who eventually die"——抽样框是"最终死亡者",不是全体患者;②"all patients will have a date of death (DOD)“——patients 表的 dod 列 100% 非空;③"However, patients do not necessarily die during an individual hospital admission or ICU stay”——有死亡日期≠死在院内/ICU 内,hospital_expire_flag 仍有 0/1 分布。三个推论:做"谁会死"的预测教学可行(结局仍有变异);做"死亡率是多少"的估计无效(分母被截断);做"死亡时间分布"无效(抽样框偏移)。
§1.8 访问方式速记
- 打开 PhysioNet 条目页 → Files 区直接下载(无需登录——与全库页面的 credentialing 门禁形成最直观对比)。
- 二选一:25 个 CSV(推荐,与全库流程一致)或 Postgres 9.5 备份(快)。
- SQLite 路线(官方推荐给轻量用户):CSV → SQLite 单文件 → DB Browser for SQLite 可视化浏览。
- 验证下载完整性:
SELECT COUNT(DISTINCT subject_id) FROM patients;应得 100。
§1.9 独特视角:真实数据的"低风险练车场"
医疗数据工程的悖论:真实数据(有噪声、有双码、有时间偏移)才能练出真功夫,但真实患者数据有合规重量——环境越真实、数据越难拿到手。MIMIC-III Demo 的巧思在于把"真实度"与"敏感度"解耦:数据完全真实(含真实噪声结构),但因体量小+去文本+开放许可而敏感度极低。它因此可以出现在任何环境——课堂投影、CI 服务器、公开 notebook——而不需要任何合规基础设施。这个设计模式(真实微缩子集作为生态入口)已被 MIMIC-IV OMOP Demo 延续,值得每个医疗数据团队借鉴。
§1.10 三类用户画像
- 学生/自学者:“我想进临床数据领域但还没有授权”——demo 给出零成本起点;路径:§5.2 一周路线 → 申请全库。
- 团队负责人:“授权在办,团队不能干等”——demo 让管线开发与合规审批并行;路径:§4.6 切换协议。
- 课程设计者:“需要真实数据但课堂环境不能有合规负担”——demo 的 ODbL 允许把数据本体放进公开仓库;路径:§7.4 资产清单。
- 隐性第四类:评审者/审稿人——看到"MIMIC-III Demo"出现在实证论文数据段时,应直接视为红旗(§6.5 坑点 1);本条目是它的"审稿人手册"。
§2 医学与科学背景
§2.1 为什么 ICU 数据适合教学
ICU 是"数据形态全谱系"的浓缩场景:时序(每小时的体征流)、事件(给药/操作)、编码(ICD-9/CPT)、层级(患者→住院→停留三级主键)、缺失模式(病情越重记录越密)。一个 ICU 数据库能同时教关系建模、时序处理、概念字典、隐私工程四门课——这是 MIMIC 系列被广泛用于教学的结构性原因,而 demo 把这个教学价值放进了免授权射程。
§2.2 与全库的 schema 同构性
"逐列一致"意味着全库条目(490)里的一切结构性知识原样适用:26 表四层架构、三级主键树、d_items 字典、itemid 双系统(CareVue 211/MetaVision 220045 的心率对照在 demo 里真实存在——100 人中两系统患者都抽到了)。教学含义:不要为 demo 编写"简化版"SQL——直接用全库口径写,练到的就是能迁移的。
§2.3 死亡抽样的统计学语义
这是 demo 最需要被正确理解的属性。设全库"最终死亡比例"为 p(约四成成人患者在随访窗口内死亡),demo 从这个子集抽 100 人——因此:①demo 内"最终死亡比例"=100%(常数,无信息量);②demo 内"院内死亡比例"仍有一定变异(因为部分最终死亡者的本次住院未死在院)——但它不能外推到全库的 11.5% 院内死亡率;③任何以"存活到出院"为分母的指标都被抽样框扭曲。教学上的正确用法:把"识别这个设计偏差"本身作为第一课的思考题——历史上不止一个团队在 demo 上"跑通"了死亡率模型然后把方法直接搬到全库,纠正这类迁移错误的成本远高于一开始就理解抽样框。
§2.4 noteevents 移除的连锁语义
移除文本的三个技术理由(隐私敏感性更高的自由文本、体积占比大、PHI 清洗管线复杂)与三个教学后果(NLP 教学不适用;noteevents 相关的 mimic-code 脚本无法在 demo 测试;“表+文"联合分析课程需全库)。工程上的替代方案:需要文本教学时用 MIMIC-IV-Note 的公开示例、合成临床文本或申请全库——demo 的定位就是"结构化侧的第一课”。
§2.5 ODbL 1.0 的许可语义
demo 与全库许可不同(ODbL 1.0 vs Credentialed 1.5.0),三个实践语义:①署名(Attribution):任何使用需按官方引用格式标注(Johnson, Pollard & Mark 2019 + DOI 10.13026/C2HM2Q);②同方式共享(Share-Alike):再分发 demo 本体或制作"数据库级"衍生(如重新导出的表集合)需沿用 ODbL——但模型权重/统计汇总通常不构成"衍生数据库"(与 ODbL 的数据库定义边界有关,发布时说明数据来源与许可即可);③开放不等于无伦理:去标识的义务仍在(禁止试图从 100 人小子集做重识别——小样本反而提高拼接外部信息的理论风险)。Kaggle/GitLab 镜像的存在说明官方接受这种再分发(GitLab 镜像页明确标注 ODbL 1.0)。
§2.6 教学法证据:HST-953 的课程设计
MIT 自家的 HST-953(LCP 官方课程)用 demo 教完整研究流:PostgreSQL/PgAdmin 安装 → 建库 → 一个"呼吸衰竭患者动脉导管与死亡率"的简化观察性研究(选题致敬经典论文,数据用 demo 的结构化侧)。课程设计的三点可复制经验:①研究问题先行——学生带着临床问题学 SQL,而非"学完 SQL 再找问题";②每步有验证查询(如建库后先跑 subject_id 计数);③版本管理工具(Git)从一开始就引入——数据工程和代码工程一起教。自学者可直接复用其公开 workshop 材料(lcp.mit.edu)。
§2.7 三级主键的教学教义
patients→admissions→icustays 的三级树是整个 MIMIC 教学的"第一性原理"。demo 上的标准教法:先让学生找出"一个 subject_id 对应多行 admissions"的实例(§4.4 查询 2),再找出"一个 hadm_id 对应多个 icustay_id"的实例——亲眼看过后,"患者≠住院≠停留"才从口号变成直觉。三个进阶辨析:①为什么 icustays 可以为 0(住院未进 ICU);②为什么 noteevents 的 hadm_id 可空(但 demo 里表都没了,此题留给全库);③为什么"首住"是社区默认队列单位(复入院者的结局相关性)。
§2.8 数据治理光谱的教学价值
把 MIMIC 家族的许可阶梯排成光谱:开放无门槛(demo,ODbL)→ 受控但快(eICU 类,Credentialed)→ 受控且慢(MIMIC 全库,CITI+DUA+审批)→ 合作申请制(AmsterdamUMCdb 类)→ 封闭(绝大多数医院内部数据)。demo 是光谱最左端唯一的患者级真实数据点,这个位置让它成为讲"为什么医疗数据不能全开放"的最佳教具——学生先体验零摩擦的爽感,再对比全库门禁,最后讨论两端的合理性:敏感度评估不是官僚主义,而是粒度/规模/模态(文本>数值)的函数。
§2.9 真实数据教学的认知逻辑
为什么"真实但小"胜过"合成但大"?三个认知理由:①噪声素养——合成数据的错误是"安排好的",真实数据的错误(单位混乱、双码、时序倒置)是"野生"的;在 demo 上见过野生的错,才会在全库上认得出来。②叙事锚点——真实患者(哪怕去标识)的旅程有叙事完整性,学生的动机与记忆深度都更高;③错误成本为零的试错——真实数据+无真实后果的组合极为罕见,demo 恰好是这个交集。这也是"教学数据集"作为独立资产类别的存在理由:教学数据 ≠ 小号研究数据,它是刻意设计的认知工具。
§2.10 历史位置:从 4,000 人到 100 人的演变语义
MIMIC-II 时代的 demo 是 4,000 患者子集 + 可启动 USB 镜像(预装 Ubuntu+PostgreSQL+示例查询)——那个年代"帮研究者绕开环境配置"是主要痛点。到 MIMIC-III,demo 收缩为 100 人 + 去 noteevents——收缩不是功能退化而是定位再校准:①环境配置问题已被云笔记本/成熟安装包解决;②"评估全库适配性"需要的是 schema 全貌而非统计功效;③更小的体量才配得上"零合规负担"(可进公开仓库/课堂投影)。演变揭示的原理:教学子集的规模由其使命决定——使命从"小型研究环境"变成"入口试衣间",规模就服从使命。MIMIC-IV OMOP Demo 沿用 100 人,验证了这一定位的稳定性。
§2.11 "去标识化但不低敏"的合规哲学
demo 的存在回答了一个常见误解:“去标识化了为什么还要授权?”——去标识化降低的是重识别概率,不改变数据敏感性的性质判断;授权制度承载的是"使用目的约束+责任传递+生态治理"。demo 之所以可以豁免门禁,是"体量小+无文本+教学用途"的组合把残余风险压到了可接受区间——这是风险工程而非"去标识=自由"的逻辑。教给学生的版本:隐私保护是概率工程(去标识化)+治理工程(许可/授权)+行为规范(使用纪律)的三层体系,任何一层都不能单独成立。
§3 数据集规格
§3.1 规格总表
| 维度 | 规格 |
|---|---|
| 全称 | MIMIC-III Clinical Database Demo |
| 版本 | v1.4(跟随主库终版,不再更新) |
| 患者数 | 100(全库真实患者,抽自"最终死亡"子集) |
| 停留覆盖 | 100 名患者的全部 ICU 停留 |
| 表结构 | 与全库 26 表一致;NOTEEVENTS 移除(25 CSV) |
| 分发 | 25 个 RFC 4180 CSV / 单个 PostgreSQL 9.5 备份 |
| 体积 | MB 级(数十 MB;全库压缩包的约 0.2% 量级) |
| 访问 | Open Access:免账号/免 CITI/免 DUA/免审批 |
| 许可 | ODbL 1.0(署名+同方式共享) |
| DOI | 10.13026/C2HM2Q |
| 数据时段 | 2001-2012(继承主库,患者分散于全时段) |
| 双系统 | CareVue/MetaVision 患者均有(双码教学场景真实存在) |
| IRB | BIDMC+MIT 批准,知情同意豁免 |
| 资助 | NIH-R01-EB017205 / R01-EB001659 / R01-GM104987 |
§3.2 发布口径地图
demo 的数字口径极简单,但有三处易错:
- “100 patients”:唯一权威数字——是"患者数"不是"住院数"也不是"停留数"(每患者可能多次住院/多次停留)。
- "26 tables"与"25 CSV"并存:schema 是 26 表(与全库同构),CSV 分发是 25 个文件(noteevents 无数据行不单独成文件)——两句话都对,说的是不同对象。
- “all ICU stays”:停留是全量收录(无抽样截断)——抽样只发生在患者层,患者内部数据完整。这使"单患者纵向完整性"教学可行。
§3.3 DAIMS 数据AI就绪度评估
| 维度 | 评分 | 说明 |
|---|---|---|
| 机器可读性 | 9/10 | 与全库同构(9.5/10 的 schema);扣分于无官方 API,仅文件分发 |
| 文档完备性 | 9/10 | 文档与全库共享(mimic.physionet.org),另加官方课程教案 |
| 数据质量 | 6.5/10 | 继承全库真实噪声(转录误差/单位陷阱);100 人下噪声更刺眼——恰是教学价值 |
| 语义标准化 | 6/10 | 同全库(ICD-9 老化、私有字典) |
| 时间语义 | 5.5/10 | 同全库(date shift/EST);无特殊问题 |
| 可复现性 | 9/10 | 任何人可复跑任何教程——开放访问带来的独特优势 |
| 合规摩擦 | 0.5/10 | 免授权即用;仅存 ODbL 署名义务 |
| 综合 | 7.4/10 | 作为教学/开发资产近乎满分;作为研究数据集刻意不设高分(样本量与偏差) |
§3.4 存储与计算需求
- 磁盘:<100 MB(CSV 解压后)——任何笔记本、CI 容器、Colab 免费档都轻松容纳。
- 导入:CSV 全量导入 PostgreSQL 约 1-2 分钟(全库需数小时)——"咖啡凉之前跑完五遍"的教学节奏。
- 内存:任何现代设备;SQLite 路径甚至不需要数据库服务器。
- CI 集成:无 PHI 重负+免授权使其可以进公开代码仓库的测试流程(受控全库数据绝不能这样用)——团队 pipeline 的标准做法:demo 上跑单元测试,全库上跑集成验证。
§3.5 获取通道
| 通道 | 说明 | 适合 |
|---|---|---|
| PhysioNet 官方页 | Files 区直下(25 CSV 或 Postgres 备份) | 首选(权威+最新校验) |
| Kaggle 镜像 | mimic-iii-clinical-database-demo-1-4 | 顺手进 Kaggle notebook |
| GitLab 镜像 | hands-on-healthcare-data(标注 ODbL 1.0) | 官方站不可达时的稳定备份 |
| HST-953 课程包 | 课程页指引的下载路径+教案 | 跟课学习者 |
§3.6 口径对齐表
| 想回答的问题 | 答案 |
|---|---|
| 多少患者? | 100 |
| 多少表? | 26 表 schema / 25 个有数据的 CSV |
| 能做死亡率研究吗? | 不能(抽样框=最终死亡者) |
| 能做死亡预测教学吗? | 能(结局有变异),但不可外推结论 |
| 文本在哪? | 不存在(noteevents 移除) |
| 要授权吗? | 不要(Open Access + ODbL 1.0) |
| 和全库 schema 有差异吗? | 无(逐列一致,唯 noteevents 空置) |
§3.7 版本选择纪律
- demo 无独立版本线——版本号永远跟随主库(当前唯一版本 v1.4);遇到标"v1.2/v1.3"的第三方镜像即为过时存档。
- release notes 不单独发布——主库 v1.4 的修复清单(#60/#88/#186 等)原样适用于 demo。
- 引用纪律:官方要求引用为 Johnson, A., Pollard, T., & Mark, R. (2019). MIMIC-III Clinical Database Demo (version 1.4). PhysioNet. DOI 10.13026/C2HM2Q——注意年份是 2019(引用格式发布年)而非 2016(数据年份)。
§3.8 与主库的差异清单
| 差异点 | 主库(490 条) | Demo(本条) |
|---|---|---|
| 患者数 | 46,520(成人 38,597) | 100(全库真实子集) |
| 访问 | Credentialed(CITI+DUA) | Open(免一切门禁) |
| 许可 | Credentialed Health Data License 1.5.0 | ODbL 1.0 |
| noteevents | 2,083,180 行 | 0 行(移除) |
| AWS S3 | mimic-iii-physionet(ARN 授权) | 无独立 S3(网页直下) |
| 体积 | ~47 GB 导入后 | <100 MB |
| 死亡抽样 | 自然人群构成 | 最终死亡子集(偏差) |
| benchmark | 官方四任务 | 不适用 |
§3.9 案例质量分层画像(教学视角)
| 分层 | 教学价值 |
|---|---|
| 多次住院患者 | 教"患者≠住院≠停留"三级树的最好案例 |
| 双系统跨界患者 | itemid 双码查询的真实演练(100 人中两系统均被抽中) |
| 超短停留案例 | 教"为什么要过滤 ≥12h"的反面教材 |
| 有 DOD 但院内存活 | 教"最终死亡≠院内死亡"口径差异的核心案例 |
| 稀有概念行 | 教"低频 itemid 该不该并入其他类"的字典治理题 |
§3.10 RFC 4180 陷阱解剖(官方示例逐字节)
官方给了一个精确的转义示例:文本 she said "the patient was notified at 6pm" 存入 CSV 后是 "she said ""the patient was notified at 6pm"""——首尾双引号包裹(因内容含引号)、内部双引号双写转义。教学要点:①pandas/read_csv 与 PostgreSQL COPY 默认遵循 RFC 4180,"自写解析器"是一切 CSV 惨案的根源;②为什么这个知识点在 MIMIC 特别重要——临床文本(即便 demo 移除了 noteevents,chartevents 的 Text 型值、出院科室备注等)天然高引号密度;③demo 体积小到可以用文本编辑器打开原始文件亲眼看到转义——全库上没人会这么干,但理解必须在某个时刻发生。
§4 数据结构
§4.1 对象模型
与全库完全一致的三级树(详见主库条目 §4.1):patients(100) → admissions(数倍于 100) → icustays;事实层(chartevents/labevents/inputevents_*)挂在 icustay/hadm 之下。demo 的 100 人规模让你能"肉眼"遍历整棵树——这是全库(3.98 亿行)永远给不了的体感。
§4.2 PostgreSQL 导入(教学版)
# 建库(本地 PostgreSQL 任意较新版本)
createdb mimiciii_demo
# 路线 A:官方 Postgres 备份一键还原(最快)
pg_restore -d mimiciii_demo mimiciii-demo-1.4.backup
# 路线 B:CSV 路线(与全库流程一致,教学推荐)
git clone https://github.com/MIT-LCP/mimic-code.git
psql -d mimiciii_demo -f mimic-code/mimic-iii/buildmimic/postgres/1.4/create_tables.sql
# 编辑 load 脚本指向 demo 的 25 个 CSV 后执行(约 1-2 分钟)
psql -d mimiciii_demo -f mimic-code/mimic-iii/buildmimic/postgres/1.4/add_constraints.sql
# 验证
psql -d mimiciii_demo -c "SELECT COUNT(DISTINCT subject_id) FROM patients;" # 应为 100
§4.3 SQLite 轻量路线(官方推荐)
import pandas as pd, sqlite3
# 25 个 CSV 直接入 SQLite 单文件
con = sqlite3.connect("mimiciii_demo.db")
for tbl in ["PATIENTS", "ADMISSIONS", "ICUSTAYS", "CHARTEVENTS", "LABEVENTS"]:
df = pd.read_csv(f"{tbl}.csv.gz", low_memory=False)
df.to_sql(tbl.lower(), con, if_exists="replace", index=False)
# DB Browser for SQLite 可视化打开 mimiciii_demo.db 即可点选浏览
print(pd.read_sql("SELECT COUNT(DISTINCT subject_id) FROM patients", con))
适用边界:交互探索/课堂教学极合适;CHARTEVENTS 在 demo 内也仅数百万行级(100 人的量),SQLite 毫无压力——但不要把这条路径的经验直接外推到全库(3.31 亿行的 chartevents 上 SQLite 不再合适,回到 PostgreSQL/DuckDB)。
§4.4 教学验证查询集(第一课作业)
-- 1. 患者数与性别构成
SELECT gender, COUNT(*) FROM patients GROUP BY gender;
-- 2. 每患者住院数分布(理解"患者≠住院")
SELECT n_hadm, COUNT(*) AS n_patients FROM (
SELECT subject_id, COUNT(*) AS n_hadm FROM admissions GROUP BY subject_id
) t GROUP BY n_hadm ORDER BY n_hadm;
-- 3. DOD 全员非空(抽样设计的直接证据)
SELECT COUNT(*) AS total,
SUM(CASE WHEN dod IS NOT NULL THEN 1 ELSE 0 END) AS with_dod
FROM patients; -- with_dod 应等于 total(=100)
-- 4. 院内死亡仍有变异(口径分层的关键)
SELECT hospital_expire_flag, COUNT(*) FROM admissions GROUP BY hospital_expire_flag;
-- 5. 双系统占比(itemid 双码教学的现实基础)
SELECT dbsource, COUNT(*) FROM icustays GROUP BY dbsource;
这五条查询合起来就是 demo 的"自我介绍"——第一课让学生跑完并解读每一行的含义。
§4.5 常见教学事故与修复
| 事故 | 症状 | 修复 |
|---|---|---|
| Postgres 备份版本不兼容 | pg_restore 报版本错 | 改走 CSV 路线(通用性最强) |
| CSV 引号转义困惑 | "双引号里套双引号"字段读错位 | 按 RFC 4180 解析(pandas 默认正确;自写解析器是错误源头) |
| 忘记 noteevents 不存在 | 脚本引用 NOTEEVENTS 报表不存在 | 25 表清单里删掉该表或建空表占位 |
| 用全库脚本跑 demo 报错 | mimic-code 部分脚本依赖 noteevents | 检查脚本的数据集参数;文本相关脚本跳过 |
| 把 demo 数字写进论文 | “我们的 MIMIC-III 有 100 人” | 分清教学数据与全库——论文必须用授权后的全库 |
§4.6 与全库管线的切换协议
demo 上开发、全库上生产的标准切换清单:
- 配置外置:数据路径/库名/凭据全部进配置文件——代码零修改切换。
- 行数断言:切换后先跑"行数验证"(全库 chartevents=330,712,483;demo=各自实测)——断言不过不往下走。
- 性能预案:demo 上秒级的查询在全库可能小时级——为每个查询写 EXPLAIN 计划与超时策略。
- 合规开关:全库数据出现后,导出/日志/打印语句全部检查(患者数据不能进日志)——demo 时代养成的 print 习惯要系统性清理。
- 统计重审:demo 上"能跑通"的统计方法在全库上重审功效与偏差(样本量变化会暴露新问题)。
§4.7 数据血缘
MIMIC-III v1.4(全库,Credentialed)
│ 手动精选:从"最终死亡"患者子集随机抽 100 人
│ 移除 NOTEEVENTS 全部行
▼
MIMIC-III Demo v1.4(Open Access,ODbL 1.0)
│
├──► 官方课程(MIT HST-953)与公开教案
├──► 2018 IEEE BHI-BSN Data Challenge 热身
├──► Kaggle / GitLab 社区镜像
└──► 教学生态辐射:MIMIC-IV OMOP Demo(100 患者传统延续)
§4.8 完整性清单
- [x] 100 患者、全部 ICU 停留收录(患者内数据完整)
- [x] schema 与 v1.4 全库逐列一致
- [x] 官方文档页 + 课程教案双轨可学
- [ ] 无文本(noteevents 移除)——文本教学需另寻数据
- [ ] 死亡抽样偏差——全库口径的统计结论在此无效
- [ ] 版本冻结(跟随主库终版,无后续更新)
§4.9 d_items 字典探索(实战)
d_items 是 chartevents 的"概念地图",demo 上探索它的标准练习:
-- 概念分布总览:数值型 vs 文本型 vs 分类型
SELECT dbsource, param_type, COUNT(*) AS n_concepts
FROM d_items GROUP BY dbsource, param_type ORDER BY dbsource, n_concepts DESC;
-- 找心率:label 模糊检索(体会"同一概念多个 label"的字典治理问题)
SELECT itemid, label, dbsource, linksto FROM d_items
WHERE label ILIKE '%heart rate%' OR label ILIKE '%hr%';
-- 概念→数据量:demo 的 chartevents 里哪些概念最高频
SELECT di.label, di.dbsource, COUNT(*) AS n_rows
FROM chartevents ce JOIN d_items di USING (itemid)
GROUP BY di.label, di.dbsource ORDER BY n_rows DESC LIMIT 15;
教学发现:①同一临床概念在字典里有多个 label 变体(“Heart Rate”/“HR”/“Heart Rate (bps)”)——数据清洗的第一课;②CareVue 与 MetaVision 的概念集不同(dbsource 列);③高频概念就是"监护仪基本盘"——与全库的分布形态一致,体感可迁移。
§4.10 单停留时序可视化(实战)
import pandas as pd, matplotlib.pyplot as plt
stay = pd.read_sql("""
SELECT ce.charttime, di.label, ce.valuenum
FROM chartevents ce JOIN d_items di USING (itemid)
WHERE ce.icustay_id = (SELECT icustay_id FROM icustays LIMIT 1)
AND ce.itemid IN (211, 220045) -- 心率双码
AND ce.valuenum IS NOT NULL
""", con, parse_dates=["charttime"])
stay = stay.sort_values("charttime")
plt.figure(figsize=(12, 3))
plt.plot(stay["charttime"], stay["valuenum"], ".", ms=3)
plt.title("One ICU stay: heart rate (itemid 211/220045)")
plt.ylabel("bpm"); plt.show()
# 三个观察作业:①采样间隔均匀吗?②有离群值吗(0 或 300+)?
# ③双码合并后曲线有没有"接缝"?(同一概念两系统记录习惯差异)
这张图是"时序数据第一印象"的教具:采样不均、噪声真实、双码合并的接缝——三节课的内容一张图讲完。
§4.11 合成数据注入练习(进阶)
把"管线正确性"与"统计结论"分离的经典练习:往 demo 里注入已知答案的合成数据再测管线——
-- 注入 5 个合成"完美患者":体征线性恶化、结局已知
INSERT INTO patients (subject_id, gender, dob, dod)
VALUES (99999901, 'M', '2050-01-01', '2052-06-15');
-- (admissions/icustays/chartevents 各注入配套行,体征按已知公式生成)
用途:①验证死亡预测管线能否在"信号确实存在"的数据上找回答案(管线灵敏度测试);②教"合成数据金标准"方法(模拟研究 simulation study 的原理);③警示"合成数据的结论不能写进论文"——练习终点是把合成行 DELETE 干净,这个"清理仪式"本身就是数据治理课。
§5 下游分析协议
§5.1 任务×资源速查表
| 你要做的 | 用 demo 吗 | 说明 |
|---|---|---|
| 学 SQL/关系建模 | ✅ 首选 | 最佳入门载体 |
| 测 mimic-code 建库脚本 | ✅ 首选 | 分钟级反馈回路 |
| 搭建 CI/教学环境 | ✅ | 免合规负担 |
| 死亡预测"方法学"教学 | ⚠️ 可教可跑 | 只讲方法不讲结论;不可写"性能数字" |
| 死亡率/生存估计 | ❌ | 抽样框无效 |
| 临床 NLP | ❌ | 无文本 |
| 发表任何实证结论 | ❌ | 必须全库(授权后) |
| benchmark 复现 | ❌ | demo 不含 benchmark 管线所需的口径与规模 |
§5.2 教学项目骨架:一周入门路线
| 天 | 内容 | 产出 |
|---|---|---|
| Day 1 | 下载+建库(§4.2/4.3)+验证查询集(§4.4) | 100 患者库就绪+五问解读 |
| Day 2 | 三级树探索:写 5 个跨表 JOIN(admissions↔icustays↔chartevents) | "患者旅程"个人报告 |
| Day 3 | 概念字典实操:d_items 检索心率双码+建第一个视图 | 可复用 itemid 视图 |
| Day 4 | 时序初探:某停留 48h 体征序列提取+图表 | 单患者 ICU 时间线图 |
| Day 5 | 口径课:DOD/hospital_expire_flag/30 天死亡三种口径计算+讨论为何不能外推 | 口径对比表 |
| Day 6-7 | 迷你课题:用 demo 数据回答一个自选临床问题+局限性陈述 | 结课 notebook |
Day 5 的口径课是整个课程的高潮——把"数据能回答什么/不能回答什么"变成肌肉记忆。
§5.3 "死亡预测教学"的正确打开方式
demo 上跑死亡预测是可行的教学(结局有变异),但必须立三块警示牌:①训练/评估在 100 人上——交叉验证的 CI 宽到只能演示流程,任何 AUROC 数字都是玩具数字;②抽样框声明——开头写明"数据抽自最终死亡人群,本练习不估计任何人群死亡率";③全库迁移预告——课程结尾给出"同一管线在授权全库上重跑"的路线图(数据切分要从头做,因为 demo 的患者集是全库的子集且非随机)。教材里见过最好的表述:“demo 上学的是’怎么做’,不是’结果是多少’”。
§5.4 统计练习的替代设计
想教统计推断又不能做人群估计?三个合法替代:①描述性自省——描述 demo 自身("这 100 人里院内死亡占比 x%“是事实陈述,不是人群估计,标清范围即可);②重抽样教学——bootstrap 在 100 人上的原理演示(重点看 CI 有多宽,体会"样本量决定说话底气”);③方法验证——把已知答案的模拟数据混入 demo schema(合成 gold standard),教"管线正确性"与"统计结论"的区别。三个替代共同传达:工具能力≠人群结论。
§5.5 方法学段落骨架(教学材料适用)
教学演示使用 MIMIC-III Clinical Database Demo v1.4(DOI 10.13026/C2HM2Q;ODbL 1.0 开放访问)。该子集含 100 名患者(官方抽样框为"最终死亡"人群)的全部 ICU 停留,schema 与 MIMIC-III v1.4 全库一致,NOTEEVENTS 移除。本文所有演示仅用于方法学教学与管线验证;受样本量与抽样设计限制,任何统计量均不外推至 ICU 总体,死亡率/生存类人群结论须在全库(Credentialed Access,DOI 10.13026/C2XW26)上另行验证。
§5.6 SQL 视图层工程(全库预演)
把 §4.4/4.9 的散装查询升级为项目级视图——这是 mimic-code concepts 的设计思想预演:
-- 视图 1:心率(双码统一)
CREATE VIEW v_heart_rate AS
SELECT ce.icustay_id, ce.charttime, ce.valuenum
FROM chartevents ce
WHERE ce.itemid IN (211, 220045) AND ce.valuenum IS NOT NULL
AND ce.valuenum BETWEEN 0 AND 300;
-- 视图 2:成人首次停留队列(§4.4 验证查询的工程化)
CREATE VIEW v_first_stay_adult AS
SELECT i.*, ROW_NUMBER() OVER (PARTITION BY i.subject_id ORDER BY i.intime) AS rn
FROM icustays i
JOIN admissions a ON i.hadm_id = a.hadm_id
JOIN patients p ON i.subject_id = p.subject_id
WHERE ROUND((EXTRACT(EPOCH FROM (i.intime - p.dob))/86400.0/365.25)) >= 16;
-- 全库迁移时:视图定义原样带走,底层表名/行数自动适配——这就是 schema 同构的红利
教学要点:视图是"概念"与"数据"的解耦层——demo 上建好的视图库,全库上原样可用(性能需重审)。学生完成这步后,实际上已经会读 mimic-code 的 concepts 目录了。
§5.7 从 notebook 到管线的工程化练习
demo 上的最后一课:把 notebook 重构为可测试的管线骨架——
mini-pipeline/
├── config.yaml # 数据路径/库名/参数(§4.6 切换协议的基础)
├── extract.py # SQL 视图调用 → 宽表
├── features.py # 特征计算(纯函数)
├── evaluate.py # 指标(纯函数)
├── tests/
│ ├── test_rowcount.py # 行数断言(demo 值 vs 配置选择)
│ └── test_features.py # 合成输入→已知输出
└── Makefile # make test / make run
训练点:①纯函数化(features/evaluate 无 IO,单测无忧);②配置外置(切换全库时改 config 不改代码);③行数断言文化(数据完整性第一道闸)。完成此课的学生面对任何"工业级"临床数据管线都不再陌生。
§5.8 结课考核题库样例
| 题型 | 样例 | 考察 |
|---|---|---|
| 概念辨析 | "该患者 83 岁死于 ICU"这句话里隐含了哪三个口径假设? | 三级树+死亡口径 |
| SQL 实操 | 写出"全部患者首次停留时长分布"查询并解释过滤条件 | 队列构建 |
| 数据诊断 | 给出一段错误输出(年龄-3 岁),定位病因并修复 | anchor age |
| 设计题 | 为"再入院教学练习"设计切分方案,说明防泄漏理由 | 按患者分组切分 |
| 伦理判断 | 同学想把 demo 数据上传某在线 SQL 平台做作业,合规吗?取决于什么? | 许可光谱 |
§3.11 下载校验清单
下载后五分钟完成的健康检查:①文件数——CSV 路线应为 25 个;②patients 表 100 行;③dod 非空 100%(抽样设计验证);④icustays 的 dbsource 双值(carevue/metavision 都出现);⑤chartevents 可查且 valuenum 有非空(管线贯通验证)。五项全绿才开始教学/开发——这五条本身可作为学生的"第一份作业"。
§3.12 常见下载与解压问题
| 症状 | 原因 | 处置 |
|---|---|---|
| 压缩包解压报错 | 下载不完整(浏览器中断) | 校验文件大小后重下;用 wget/curl 断点续传 |
| CSV 打开乱码 | 用了 Excel 双击打开(编码/长数字变科学计数法) | 文本编辑器/pandas;subject_id 永远当字符串看 |
| 行数与文档不符 | 混用了第三方旧镜像 | 回官方源,按 §3.11 校验 |
| 找不到 noteevents 文件 | 正常——官方就不分发 | 25 表清单(§3.8) |
§4.12 d_labitems 与实验室数据(实战)
-- 实验室字典:753 个项目的全库规模在 demo 里的分布
SELECT di.label, di.fluid, COUNT(*) AS n_rows
FROM labevents le JOIN d_labitems di USING (itemid)
GROUP BY di.label, di.fluid ORDER BY n_rows DESC LIMIT 10;
-- 异常标记的使用:flag 列(abnormal)是"参考区间"的替代物
SELECT di.label, le.flag, COUNT(*)
FROM labevents le JOIN d_labitems di USING (itemid)
WHERE di.label ILIKE '%potassium%'
GROUP BY di.label, le.flag;
教学要点:①demo 的 labevents 覆盖 d_labitems 中的多数项目——"临床检验基本盘"可完整教学;②fluid 列(Blood/Urine 等)是标本类型——“同一个项目不同标本"是检验数据的第一坑;③flag 列教"结算侧的异常标记≠临床危急值”。
§5.9 教学反馈闭环
课程迭代的三个反馈源:①口径题正确率——死亡三口径辨析题的错题分布直接指示哪层概念没讲透;②错误报告频次——学生撞坑(如 RFC 4180/anchor age)的频次是"坑点清单"排序的实证依据;③迁移追踪——学生进入全库后的问题类型变化(demo 阶段问题多为环境类,全库阶段转为口径/性能类——这个迁移本身就是教学成功的证据)。把反馈写回教案——demo 的十年生命力正是这种社区级迭代累积。
§5.10 三个自查项目(毕业设计级)
完成一周路线后,任选其一作为结业项目(预计 2-4 小时/项):
- “一个停留的病历报告”:随机抽一个 ICU 停留,用 SQL+图完整还原其 48 小时(体征曲线/用药时间线/检验异常),写成带局限声明的一页报告——考"纵向数据叙事"。
- “口径侦探”:找出并解释 demo 中三个"有 DOD 但院内存活"的案例,画出抽样框决策树——考"偏差敏感性"。
- “视图库发布”:把你的心率/血压/血氧视图+anchor age 函数+验证查询打包成可复用的 SQL 仓库(README 含迁移全库指南)——考"工程化与文档"。
评分标准统一三条:技术正确、口径清晰、局限诚实——第三条权重最高,呼应本条目的核心命题。
§6 实证结果与方法学分析
§6.1 规模实证:100 人的"体感密度"
demo 的教学价值来自"可遍历性":全库 chartevents 3.31 亿行永远只能采样观察,demo 的 chartevents 仅为百万行级——学生可以 SELECT * ... LIMIT 100 逐行读数据、可以画出某个停留的完整体征曲线、可以验证一条 SQL 影响"全部"数据。这种"我能看到整个数据库"的体感是学习曲线的加速器:先在 demo 上建立"数据长什么样"的直觉,再面对全库时把直觉交给 SQL 的规模外推。教学实证上,这正是 HST-953 把它选为课程载体的原因。
§6.2 教学管线实证:从 demo 到全库的迁移成功率
社区经验(mimic-code issue 区与论坛的可见模式)归纳出迁移成功率的分界:纯 SQL/建库类管线在 demo 上验证后迁移全库成功率极高(schema 同构,唯一变量是性能);统计/建模类管线迁移后需要重做设计(样本量、功效、偏差结构全变);文本类管线无法在 demo 验证(无数据,迁移即首跑)。给团队的落地建议:把管线拆成"结构正确性"(demo 负责)与"统计正确性"(全库负责)两级验证,各验各的,别让 demo 替全库背书,也别让全库的等待阻塞结构开发。
§6.3 抽样偏差的量化直觉
把官方抽样设计翻译成对比数字:全库成人患者中"最终死亡"比例约为四成量级(随访窗口内),demo 把这个比例固定为 100%——意味着任何"全人群"分母的指标在 demo 上偏移 2.5 倍量级(100% vs ~40%)。而"院内死亡"(hospital_expire_flag)在 demo 内仍有 0/1 变异(官方明确"患者不一定死于该次住院"),但其分布中心系统性高于全库的 11.5%。两个偏差叠加的教学结论:demo 是"死亡过采样"的镜像世界——在里面学游泳可以,量水温不行。
§6.4 许可双轨的实证对照
同为 MIMIC-III 数据,demo(ODbL 1.0,开放)与全库(Credentialed 1.5.0,受控)构成一组天然的"开放光谱"对照。差异不在数据本体(同样的患者、同样的去标识化、同样的 IRB 覆盖)而在敏感度评估:100 人+去文本的子集被判定为可开放,4.6 万人+全文本的完整库被判定为须受控——这是"数据效用与重识别风险随粒度/规模增长"原理的官方实证。它给数据治理者的启发:敏感度评估是分级产物而非开关,同一数据源可以合法存在多个开放层级。
§6.5 八个真实坑点
- 坑点 1 把 demo 数字写进论文:“我们使用了 MIMIC-III(100 名患者)”——立刻暴露未授权全库;任何实证结论必须来自授权全库。
- 坑点 2 死亡率估计无效却照做:忘记抽样框是"最终死亡者",算出"demo 院内死亡率 30%"并解读为 ICU 特征——分母被截断,数字无人群含义。
- 坑点 3 把 benchmark 管线跑在 demo 上:benchmark 切分/队列规则面向全库设计,demo 上"跑通"不等于可复现——两者是不同资产。
- 坑点 4 文本教学撞墙:计划好的 NLP 课程到"读 noteevents"一步报错表不存在——教学设计阶段就该查差异清单(§3.8)。
- 坑点 5 Postgres 备份版本冲突:老版本备份文件遇新工具链偶发兼容问题——CSV 路线是永不过时的备胎。
- 坑点 6 引用年份写错:写成"MIMIC-III Demo (2016)"——官方引用格式是 2019(引用格式发布年),DOI 10.13026/C2HM2Q 前务必核对。
- 坑点 7 以为"免授权=无义务":ODbL 署名义务+患者隐私伦理仍在——公开 notebook 里堆满患者行级数据截图是合规失分项。
- 坑点 8 把 SQLite 路线的性能经验外推到全库:demo 上 SQLite 秒开,全库 3.31 亿行上同样做法会撞墙——路径选择跟规模走。
§6.6 审稿人自查清单(教学材料/方法预演适用)
- [ ] 明确标注"演示子集"而非"MIMIC-III"(避免读者误读为全库研究)
- [ ] 引用官方格式:Johnson, Pollard & Mark (2019) + DOI 10.13026/C2HM2Q
- [ ] 抽样设计声明(最终死亡子集、100 人、全员 DOD)
- [ ] 局限性段写明"不可估计人群参数"
- [ ] 任何与全库/文献数字的并置都要加"不可比"脚注
- [ ] 教学产出物(notebook/教案)不留行级患者数据展示(聚合或改写)
§6.7 与 MIMIC 家族的分工治理
在本系列"三视角"治理叙事(记录/信号/流程)之外,demo 代表第四个维度——入口层。家族的分层结构:全库主库(490,记录视角主库)→ 演示子集(本条,入口层)→ 专用标注/风险数据集(493/494)→ 视角支系(486-489)。入口层的设计传统(100 人+去高敏模态+开放许可)在 MIMIC-IV OMOP Demo 延续,证明它是可持续的生态策略:每个受控数据库都值得配一个低摩擦入口。
§6.8 许可与派生语义
- ODbL 1.0 三义务:Attribution(官方引用格式)、Share-Alike(数据库级衍生同许可)、Open Database(允许任何用途包括商用——受控库的商用授权问题在 demo 上不存在)。
- 派生产物分层:notebook/教材/代码 = 自由发布(引用即可);demo 数据的再分发 = ODbL 兼容(Kaggle/GitLab 镜像即先例);基于 demo 训练的模型权重 = 通常不视为衍生数据库,但规范做法是声明数据来源与许可。
- 交叉合规警示:demo 与全库是两份独立许可的数据——用 demo 开发的管线跑全库数据时,产出受全库许可约束(不是 ODbL)。团队要建立"数据源-许可"映射表而非笼统的"我们合规"。
§6.9 口径存照
- 存照 A(抽样框):“selected randomly from the subset of patients who eventually die”——官方 Methods 原文;全员 DOD、不必然死于院内是同一段落的官方限定。
- 存照 B(25 vs 26):26 表 schema / 25 个有数据 CSV 的并存表述均为官方口径,对象不同。
- 存照 C(引用年份):官方引用格式 2019;数据版本号 1.4 跟随主库。
- 存照 D(许可双轨):ODbL 1.0(demo)与 Credentialed 1.5.0(全库)并行,各自绑定各自的数据本体。
§6.10 静态数据×活跃生态
demo 数据冻结于 v1.4,但它的生态角色持续增长:官方课程迭代、社区镜像新增、教学博客/notebook 不断产出。它是 MIMIC 家族中"数据最老、入口最新"的成员——十年间无数人的第一行 ICU SQL 都跑在它上面。维护策略:数据不动,文档与教案跟着社区走。
§6.11 生态采用实证
可观察的采用信号:①官方课程背书——MIT LCP 自家的 HST-953 以其为唯一数据载体;②挑战赛官方推荐——2018 IEEE BHI-BSN Data Challenge 明文建议"等全库授权期间先用 demo";③镜像繁荣——Kaggle(数据竞赛社区)、GitLab(hands-on-healthcare-data 稳定备份)、Linkr(法语区教程生态)等第三方自发镜像与本地化教程;④下一代传承——MIMIC-IV OMOP Demo 沿用 100 患者开放设计。四个信号共同指向:demo 完成了"生态入口"的设计使命,其辐射半径远超 100 人数据本体的表面价值。
§6.12 局限的系统陈述
作为数据资产的四条硬局限(作为教学资产时全部转化为教学素材):①样本量——100 人无统计功效;②抽样框——最终死亡子集,人群估计无效;③模态缺口——无文本/无波形,多模态教学需另配数据;④时代——2001-2012 数据+ICD-9 编码+冻结版本,反映的是 CareVue/MetaVision 过渡期的诊疗惯例。写教程/做评估时建议原样引用这四条——诚实的局限声明恰是本数据集官方文档的一贯风格。
§6.13 "反脆弱"资产特征
demo 展现了数据资产里少见的反脆弱性:主库世界的每次变化都让它更有用——全库门槛提高(授权链变长),它作为并行开发载体的价值上升;MIMIC-IV 推出,它作为"schema 教学经典"的历史价值上升;LLM 时代到来,它作为评测/Agent 沙盒的价值上升。原因在于它的价值锚定在"结构教学+零摩擦"这两个不随技术周期变化的需求上。给数据资产管理者的启示:识别你资产里的"demo 型资产"(小、稳、真、开放),它们是穿越技术周期的压舱石。
§7 AI 就绪指南与应用场景
§7.1 四种喂法
- 教学喂法(主用途):§5.2 一周路线——SQL→视图→时序→口径,真实数据全流程。
- CI 喂法:管线单元测试的数据源——每个 PR 在 demo 上验证 schema 假设与查询正确性。
- 预研喂法:立项前评估"MIMIC-III 有没有我要的字段/粒度"——比读文档快一个量级。
- 演示喂法:课程/演讲/文档的真实数据示例——无合规负担的"真 ICU 数据"。
§7.2 LLM 辅助教学配方
demo+LLM 是当前教学最活跃的组合:①SQL 助教——学生把 schema 给 LLM 生成候选查询,再人工核验执行结果(demo 上跑错的代价为零,适合放手试);②schema 问答机——把 26 表 DDL 喂给 LLM 做 RAG,回答"哪个表有给药剂量"类问题;③口径出题器——让 LLM 就 §5.2 Day 5 的三种死亡口径生成辨析题。纪律:LLM 生成的 SQL 必须人工跑通——demo 的价值正是提供了"跑错了也安全"的验证场。
§7.3 团队 onboarding 配方
新成员入职医疗数据团队的两周计划(demo 段):第 1-3 天建库+验证查询集;第 4-7 天承担一个"迷你课题"(§5.2 Day 6-7);第 8-10 天读团队真实管线的代码(此时 schema 已熟);第 11-14 天在正式环境(授权数据)重跑自己的迷你课题。效果:新人第一次接触生产数据时已具备 schema 直觉,把"环境恐惧期"压缩在零风险的 demo 上。
§7.4 课程设计者的资产清单
- [ ] PhysioNet 条目页链接(数据+引用格式)
- [ ] mimic-code 建库脚本(克隆到课堂仓库)
- [ ] HST-953 公开教案(课程结构参考)
- [ ] 五条验证查询(§4.4)作为第一课
- [ ] 差异清单(§3.8)打印贴墙(防止文本类作业撞墙)
- [ ] 结课迁移路线图(全库申请指引)
§7.5 成本与排期模板
| 阶段 | 内容 | 耗时 |
|---|---|---|
| 环境 | 下载+建库+验证 | 半天 |
| 结构学习 | 三级树+字典+视图 | 2-3 天 |
| 时序实践 | 特征提取+可视化 | 1-2 天 |
| 口径课 | 死亡口径辨析+偏差讨论 | 1 天 |
| 迷你课题 | 自选问题+局限陈述 | 2 天 |
合计约一周——比全库授权等待(1-2 周)还短,这就是"并行开发"策略的时间学基础。
§7.6 泄漏防控专项(教学版)
demo 上教学泄漏防控的三个标准练习:①同一患者两次住院被随机切分到 train/test——让学生亲手复现泄漏并测量虚高;②用 dischtime 派生特征"预测"院内死亡——演示目标泄漏的威力;③用 DOD 特征预测院内死亡——演示"标签近似泄漏"(DOD 与结局高度相关但非同义)。100 人规模让每个实验秒级完成——泄漏教学的最佳载体恰恰是小数据。
§7.7 公平性声明(教学版)
demo 不适合任何公平性结论(100 人分层后每格个位数样本),但适合教公平性概念:让学生计算性别/年龄分层的样本分布,亲眼看到"100 人里某个 65+ 男性亚组只有十几人"——从而理解为什么全库研究的公平性分析需要数万样本。小数据是公平性直觉的显微镜。
§7.8 复现包模板
teaching-pack/
├── README.md # 版本声明:Demo v1.4 + DOI + 抽样偏差警告
├── data/ # 25 个 CSV(ODbL 1.0,允许再分发)
├── notebooks/
│ ├── 01_setup.ipynb # 建库+验证查询集
│ ├── 02_joins.ipynb # 三级树探索
│ ├── 03_dictionary.ipynb # itemid 字典与视图
│ ├── 04_timeseries.ipynb # 单停留时序
│ └── 05_calibers.ipynb # 死亡口径三讲
├── sql/ # 可复用视图
└── quiz/ # 口径辨析题
demo 的 ODbL 许可允许把数据本体放进公开教学仓库(全库数据这样做即违规)——这是教学包能"开箱即用"的许可基础。
§7.9 消融案例:样本量对教学结论的影响
同一死亡预测教学管线在 100 人(demo)上跑,交叉验证 AUROC 的 CI 宽度可达 ±0.1 量级——同一方法在 benchmark 全量(33,798 患者)上 CI 收窄一个数量级。教学设计:让学生把两个 CI 画在同一张图上(demo 实测+全库文献值),直观建立"样本量→不确定性→结论可信度"的链条。这个消融的教学成本为零、冲击力极强。
§7.10 消融案例:抽样框偏移的方向感
把 §6.3 的偏差量化做成练习:给定"全库最终死亡比例 p≈40%(量级)、demo 抽样框=100%“,让学生推导"demo 院内死亡比例相对全库 11.5% 的偏移方向”(向上)与"谁的做法会放大这个偏移"(任何以死亡相关为条件的二次筛选)。产出:一张"偏移方向地图"——训练学生在读任何子集研究时先问"抽样框是什么"。
§7.11 负结果记录协议
| 尝试 | 假设 | 结果 | 教训 |
|---|---|---|---|
| demo 上估计院内死亡率 | 样本小但估计值总有意义 | 估计值系统性偏高(抽样框) | 描述性自省可行,人群估计无效(§5.4) |
| demo 上测试文本管线 | schema 同构所以都能测 | noteevents 不存在 | 差异清单先查(§3.8) |
| demo 的 AUROC 与 benchmark 对比 | 同是死亡预测可比较 | 队列/切分/规模全不同 | 数字对比必须同切分同队列 |
§7.12 可视化教学配方
demo 是"临床数据可视化"课程的理想载体(真实噪声+小体量+零合规):
- 单停留时序图(§4.10)——采样不均与离群值的第一印象。
- 多停留小倍数图(small multiples)——100 张停留曲线并排,让"ICU 人群的异质性"可视化。
- 缺失模式热图——停留×小时桶的观测计数矩阵,直观看"病情越重记录越密"。
- 双系统对照图——同一概念在 CareVue/MetaVision 侧的直方图重叠,教"记录习惯差异"。
- 三级树桑基图——患者→住院→停留的流量分解,可视化"1:n:n"结构。
每张图都是一次"数据理解力"测验:画得出+读得懂+说得出局限,三关全过才算掌握。
§7.13 数据治理课配方
用 demo+全库的对照讲数据治理(不需要全库数据本身,只需其文档):
| 课节 | 材料 | 讨论 |
|---|---|---|
| 1. 许可光谱 | §2.8 光谱图 + 两份许可原文 | ODbL 与 Credentialed 的义务差异 |
| 2. 敏感度评估 | demo 去掉 noteevents 的决策 | 为什么文本是敏感度分水岭 |
| 3. 重识别风险 | 100 人子集 vs 4.6 万人库 | 小样本+外部拼接的理论风险 |
| 4. IRB 逻辑 | 条目页的批准与豁免表述 | 豁免≠不审查 |
| 5. 派生产物 | 模型权重/统计表/再分发的许可边界 | 数据→产物的义务衰减 |
五节课全部可以用公开文档完成——治理教学的"零数据"路线。
§7.14 LLM 时代的新定位
LLM 教学爆发后 demo 又添三重身份:①评测沙盒——临床 SQL 生成任务的人工评测集(100 人库跑得快、答案可人工核验);②RAG 语料——schema 文档+数据字典做 RAG,搭"MIMIC 问答助手"教学项目;③Agent 练习场——让 coding agent 在 demo 上完成"从自然语言问题到 SQL 到图表"的全链路,错误零成本。注意边界:LLM 微调训练不适用(数据量远不够),demo 在 LLM 时代的角色仍是教学与验证,不是训练语料。
§7.15 DIY 工作坊配方(90 分钟版)
适合meetup/内训的浓缩版工作坊:
| 时间 | 环节 | 材料 |
|---|---|---|
| 0-15 min | 下载+SQLite 建库(§4.3 路线,免安装 PostgreSQL) | 教学包脚本 |
| 15-35 min | 验证查询集五连(§4.4)+口径讲解 | 查询卡 |
| 35-55 min | 分组任务:每组一个问题(心率分布/停留时长/双系统占比) | 分组题卡 |
| 55-75 min | 抽象病例复盘:用 §4.10 时序图讲一个"停留的故事" | 可视化模板 |
| 75-90 min | 抽样框讨论(§1.7)+全库路线图 | 本条目打印页 |
设计要点:全程不需要预装环境(SQLite 路线);90 分钟内完成"下载→查询→可视化→口径思维"的完整闭环;结束时每人都能带走"申请全库"的行动指引。
§7.16 四课迷你课程日历(数据工程视角)
面向已会 SQL 的工程师的四课速成(每课 45 分钟):
| 课 | 主题 | 实操 | 家庭作业 |
|---|---|---|---|
| 1 | 临床 schema 的形状 | 建库+验证五连+三级树探索 | 画 ER 图 |
| 2 | 概念字典与双系统 | d_items 检索+心率视图 | 建 5 个概念视图 |
| 3 | 时序与口径 | 单停留时序图+三种死亡口径 | 口径辨析题 |
| 4 | 迁移与合规 | 切换协议走查+许可光谱 | 填合规底稿 |
课程结束的检验标准:学员拿到一个 MIMIC 类数据库(任意代际)时,能在 1 小时内完成"建库→验证→首住队列"的标准动作——技能迁移完成即课程使命完成。
§8 伦理、许可与合规
- 许可本体:ODbL 1.0——开放(含商用)、署名、数据库级衍生同许可。官方引用格式:Johnson, A., Pollard, T., & Mark, R. (2019). MIMIC-III Clinical Database Demo (version 1.4). PhysioNet. DOI 10.13026/C2HM2Q。
- 访问零门槛的含义:免 CITI/免 DUA 是官方设计(用于授权前评估),不等于官方认为"无需伦理意识"——条目页同时载明 IRB 批准与豁免依据,说明伦理审查从未缺席,只是传导方式从"门禁"变为"许可条款"。
- 再识别禁令依旧:100 人的小子集+外部信息拼接在理论上重识别风险反而更高;任何试图匹配 demo 患者真实身份的行为违反使用规范。
- 展示纪律:公开材料(博客/notebook/课件)展示聚合统计与结构,不堆砌行级患者数据;这既是伦理习惯也是职业素养训练。
- 与全库的合规隔离:demo 产出(代码/教材)可自由公开;全库数据一旦进入,同一仓库的公开性要重新评估——CI/仓库管理要区分两个世界。
§8.1 团队合规工作底稿(模板)
把 demo 纳入团队资产时的最小合规底稿:
- [ ] 数据来源登记:PhysioNet mimiciii-demo v1.4,DOI 10.13026/C2HM2Q
- [ ] 许可登记:ODbL 1.0——署名方式(引用格式模板入 README)
- [ ] 再分发决策:教学仓库含数据本体?(是 → 仓库许可证需兼容 ODbL)
- [ ] 与全库数据的物理隔离:存储路径/仓库/CI 变量分立
- [ ] 产出物清单:代码/教材/图表( freely 公开)vs 含全库数据的产物(走全库许可)
- [ ] 责任人:谁负责许可复核(每次大版本更新时)
半小时填完的底稿,换来"demo 世界零摩擦、全库世界不串线"的长期清晰。
§8.2 常见违规情景与纠正
| 情景 | 问题 | 纠正 |
|---|---|---|
| 公开 repo 直接堆 demo CSV 无署名 | 违反 ODbL Attribution | README 加官方引用格式+许可说明 |
| 教学材料暗示"基于 MIMIC-III 的研究结论" | 误导(100 人非全库) | 全文标注"演示子集/教学用途" |
| 用 demo 数据训练产品模型并宣称性能 | 无意义且有误导风险 | 模型性能声明只来自全库正规研究 |
| 把 demo 与全库数据混存同一目录 | 合规边界模糊 | 物理分立(§8.1 底稿) |
| 对 demo 患者 ID 做外部信息拼接"玩玩" | 触碰再识别红线 | 绝对禁止;教育与纪律并重 |
每条情景都来自真实社区问题的模式化——把它们放进教案的合规课节,比抽象条款有效得多。
§9 常见问题(FAQ)
Q1 Demo 和全库最大的区别是什么?
三个:访问开放(免授权)、许可不同(ODbL vs Credentialed)、100 人+去文本的子集设计。schema 零差异。
Q2 真的完全免费不用注册吗?
是。官方页面 Files 区直接下载——与全库页面的 credentialing 门禁形成鲜明对照。
Q3 能用来发表论文吗?
不能作为数据来源发表实证结果;只能作为方法学预演/教学材料被引用。
Q4 为什么所有患者都有死亡日期?
官方抽样设计:随机抽自"最终死亡"患者子集——这是特性不是缺陷,但决定了死亡率估计无效。
Q5 那 demo 里院内死亡还有 0/1 吗?
有(患者不一定死于本次住院)——所以死亡预测教学可跑,但结论不可外推。
Q6 为什么没有 noteevents?
官方移除:文本隐私敏感度更高+体积大+PHI 管线复杂——demo 定位是结构化侧教学。
Q7 CSV 还是 Postgres 备份?
学全库流程用 CSV(迁移无缝);只求最快上手用备份(pg_restore 一键)。
Q8 SQLite 真的够用吗?
demo 规模下完全够用(官方推荐 DB Browser for SQLite);全库规模下请回 PostgreSQL。
Q9 25 张表里最大的是哪张?
CHARTEVENTS(100 人也仍是百万行级)——教"长表思维"的最佳素材。
Q10 CareVue 和 MetaVision 患者都有吗?
有——100 人的抽样覆盖了双系统,itemid 双码教学真实可练。
Q11 引用格式是什么?
Johnson, A., Pollard, T., & Mark, R. (2019). MIMIC-III Clinical Database Demo (version 1.4). PhysioNet. DOI: 10.13026/C2HM2Q。
Q12 为什么引用年份是 2019?
2019 是官方引用格式条目的发布年;数据本体随主库 v1.4(2016)。
Q13 有中文教程吗?
社区有零散教程;权威源头是官方文档+mimic-code+HST-953 教案(英文)。
Q14 Kaggle 上的版本能用吗?
数据本体一致(ODbL 允许再分发);正式教学建议官方源——镜像的时效与完整性无官方保证。
Q15 能把 demo 数据放进公开 GitHub 仓库吗?
可以(ODbL 署名+同许可);全库数据绝对不行——这是两个许可世界的边界。
Q16 教完 demo 下一步?
申请全库授权(CITI→DUA→约 1 周)——期间管线开发可在 demo 上并行。
Q17 和 MIMIC-IV 有 demo 吗?
MIMIC-IV OMOP Demo 延续了"100 患者开放子集"传统(OMOP CDM 格式);原生 MIMIC-IV schema 无官方 demo。
Q18 全库授权下来后 demo 上的代码能直接用吗?
结构类(SQL/管线)直接切换数据源可用;统计类要重设计(样本量/偏差);性能要重新评估。
Q19 demo 上能练 mimic-code 的哪些脚本?
建表/约束/多数概念 SQL 都能练;noteevents 相关与 benchmark 管线除外。
Q20 学生作业里怎么声明数据来源?
照官方引用格式+注明"演示子集,仅用于教学,不外推人群结论"。
Q21 每个患者的数据完整吗?
完整——抽样只发生在患者层,入选患者的全部 ICU 停留都被收录。
Q22 有波形数据吗?
没有。demo 只含临床表;波形见 Waveform 系列(本系列 486-488)。
Q23 能做季节性/时间趋势教学吗?
不能得出真实结论(date shift 破坏绝对时间),但正好用来教"date shift 是什么"。
Q24 demo 的 IRB 覆盖和全库一样吗?
同一组批准(BIDMC+MIT)与豁免逻辑覆盖整个 MIMIC-III 项目(含其子集)。
Q25 能用于商业培训课程吗?
ODbL 允许商用——但培训材料仍需署名且不得暗示官方背书。
Q26 遇到数据问题找谁?
官方渠道 PhysioNet support / mimic-code GitHub issues——先搜 issue 库,多数教学问题已有答案。
Q27 100 人里男女比例多少?
以实测为准(demo 是随机子集,约与全库 55.9% 男性接近)——这正是 §4.4 验证查询 1 的作业内容。
Q28 年龄分布能用吗?
可以描述性展示(教 anchor age 计算),不可做人群年龄结构结论。
Q29 一句话总结这个数据集?
真实 ICU 数据的零门槛沙盒——练车场的结构完全是真车,但里程表不用于比赛。
Q30 它在 MIMIC 家族里的位置?
入口层:家族生态的第一站,把"真实数据体验"从授权门内搬到门外。
Q31 可以只下几张表吗?
可以——官方页逐文件下载;教学最小集为 PATIENTS/ADMISSIONS/ICUSTAYS/CHARTEVENTS/D_ITEMS 五表。
Q32 demo 数据有 date shift 吗?
有(继承全库去标识化)——绝对日期无意义、患者内时间差可信的原则原样适用。
Q33 教学中怎么处理死亡日期和出生日期?
都教"锚点思想":年龄用 intime-dob 差值算(全库同款安全算法)。
Q34 能对比 demo 和全库的统计差异吗?
无授权时无法获得全库数据来对比;有授权后这种对比本身没有科学意义(已知偏差方向)。
Q35 为什么官方要花精力维护一个 100 人子集?
生态战略:低门槛入口降低全库支持成本(新手问题在 demo 上就消化了)+扩大采用漏斗。
Q36 demo 能导入 ClickHouse/其他 OLAP 吗?
能(CSV 是通用格式)——但教学期建议与全库保持同构(PostgreSQL),减少切换成本。
Q37 做数据可视化课程合适吗?
合适——真实数据+小体量是可视化练习的黄金组合;注意标注抽样背景。
Q38 有 Docker 镜像吗?
社区有第三方打包;官方分发的仍是 CSV/备份——教学用官方源最稳。
Q39 demo 的 license 对生成的图表有限制吗?
图表是统计产物非数据库衍生,正常发布;合理做法是图注注明数据来源与许可。
Q40 课堂上允许学生互相交换改写后的数据集吗?
ODbL Share-Alike 下允许(同许可+署名);这本身就是许可教育的活教材。
Q41 为什么不用合成数据教学?
合成数据没有真实噪声结构(双码/转录误差/缺失模式)——demo 的价值恰在"真实感"。
Q42 demo 上能跑特征工程的全流程吗?
能——76 维 benchmark 特征的抽取逻辑完全可练(只差 benchmark 官方切分)。
Q43 批改学生作业时怎么防止答案雷同?
指定不同的患者子集/不同的 itemid 组合——schema 同构让"一人一题"易于分发。
Q44 学生想看真实临床文本怎么办?
引导申请全库,或用公开的合成临床文本——不要在 demo 里"找文本"(不存在)。
Q45 demo 的数据质量问题和全库一样吗?
同源同构(同样的转录噪声/单位陷阱)——甚至更适合教学:小数据上噪声肉眼可见。
Q46 能用 demo 练习 OMOP 转换吗?
可以练结构映射(mimic-omop 工具);官方的 OMOP demo 是 MIMIC-IV 侧的(格式不同)。
Q47 访问 demo 需要提交使用计划吗?
不需要——这是它与全库流程的核心区别;引用与署名是仅存义务。
Q48 demo 里有婴幼儿患者吗?
可能(抽样自全库真实患者,含 2001-2008 新生儿段概率极低但非零)——教学时把"年龄核查"作为数据卫生练习。
Q49 教学评估怎么设计?
前置+后测同一组口径题(三种死亡口径辨析);验证查询集的解读报告;迷你课题的局限性陈述质量。
Q50 一句话给课程设计者的建议?
把"抽样框是什么"设为贯穿课程的核心问题——demo 的一切局限都会变成教学素材。
Q51 下载后如何确认数据完整?
patients 数=100;各表行数与官方 Files 页标注一致;CHARTEVENTS 可查且有 dbsource 双值。
Q52 demo 支持 Windows/Mac/Linux 全平台吗?
是(SQLite/PostgreSQL/Python 均跨平台)——HST-953 教案甚至分 OS 给了安装指引。
Q53 能给 demo 加自己的模拟数据吗?
能(教学沙盒就该如此)——用独立 schema/table 区分真实与合成,杜绝混淆。
Q54 它和 492 条目的 MIMIC-IV 什么关系?
无直接关系(不同代主库);但"demo 传统"被 MIMIC-IV OMOP Demo 继承。
Q55 教学中要不要讲许可差异?
要——ODbL vs Credentialed 的对照是"数据治理光谱"的最佳真实案例。
Q56 demo 适合 self-taught 自学者吗?
非常适合:零门槛+官方文档+社区答案密度高——自学者的第一周就该泡在这里。
Q57 有没有官方"结业标准"?
无官方认证;自设标准可参考 §5.2 一周路线的产出清单。
Q58 demo 数据是否会被 MIMIC-IV 时代淘汰?
不会——schema 教学与"抽样框思维"训练是跨版本技能;它已是十年级的活教材。
Q59 为什么体积这么小还值得单独一个条目?
因为它定义了一个数据治理范式(真实微缩子集作为开放入口)+教学生态的核心节点——条目价值在模式不在体积。
Q60 下载数据前读什么?
本条 §1.7(抽样设计)+§3.8(与全库差异)+官方 Usage Notes——十分钟避免所有常见误解。
Q61 demo 的 chartevents 有多少行?
以实测为准(百万行级,100 人的量)——行数验证本就是 §3.11 清单的作业之一;官方不公布该数,别引用他人的具体值。
Q62 能用 demo 教窗口函数吗?
绝佳教材——ROW_NUMBER 取首住、LAG 算体征变化、聚合桶化时序,全部是真实需求。
Q63 有官方习题集吗?
官方无习题集;HST-953 教案含实操指引;本条目 §4.4/§5.8 提供了可用的题目骨架。
Q64 学生问"为什么数据是 2001-2012 的老数据"怎么答?
教学目标是结构与方法,数据年代不影响;顺带教"数据集也有保质期与代际"的概念(III→IV 演进)。
Q65 demo 能装进课堂的公用机吗?
能——ODbL 允许、体积小、无需账号,比大多数教学数据集的合规负担都低。
Q66 想教"数据血缘"有素材吗?
有——demo↔全库的派生关系+MIMIC-II→III 的继承关系都是现成案例(§4.7 血缘图)。
Q67 demo 上能练数据清洗吗?
能且合适——单位异常/离群值/label 变体都是真实存在的清洗对象,100 人规模适合人工复核。
Q68 全库授权被拒过的人能用 demo 吗?
能(开放许可与授权流程互不影响);但注意被拒通常涉及合规疑点,重申申请前先解决根因。
Q69 demo 数据可以转换格式再分发吗(如转 Parquet)?
转换后仍属数据库衍生,ODbL 同许可义务适用;技术上可行(列式格式教学友好)。
Q70 有官方的 demo 讨论 community 吗?
PhysioNet 论坛/GitHub discussion 均可;历史问题库(mimic-code issues)已是宝库。
Q71 教学中怎么展示患者隐私意识?
从第一条查询起就只 SELECT 聚合/脱敏列——课堂纪律即职业训练;行级展示仅限课堂内部。
Q72 demo 能作为招聘笔试题库吗?
能(真实 schema 的 SQL 题)——注意 ODbL 署名与"题目不得含行级数据原文"的分寸。
Q73 demo 的 hospital_expire_flag 分布是什么?
以实测为准(有 0 有 1,比例偏高方向)——这是 §4.4 查询 4 的答案,让学生自己跑。
Q74 一个患者最多几次住院?
以实测为准——demo 里真实存在多次住院者(复入院教学的前提),让学生跑分布。
Q75 为什么推荐 PostgreSQL 而非 MySQL 教学?
官方脚本/文档/社区答案的默认都是 PostgreSQL——教学跟着生态走,少踩无关的坑。
Q76 demo 上的查询结果能写进博客吗?
聚合结果+明确"演示子集"标注可以;行级数据原文不建议公开堆砌(§8 展示纪律)。
Q77 能教时态数据库/时间粒度问题吗?
能——采样不均+时区统一+date shift 都是时间语义的真实教学案例(§6.3 主库条目同款议题的微缩版)。
Q78 demo 会随 MIMIC-IV 更新吗?
不会——demo v1.4 冻结跟随主库 III;MIMIC-IV 侧教学走其 OMOP Demo(不同 schema)。
Q79 一台 4GB 内存的旧笔记本能跑吗?
能——SQLite 路线甚至不需要"跑"数据库服务器;这是它对教育资源不均环境的友好面。
Q80 想教"数据字典治理",从哪张表入手?
d_items——label 变体/双系统/param_type 是字典治理三个真实议题的微缩样本(§4.9)。
Q81 demo 与 eICU 有教学级子集对照吗?
eICU 无官方 demo——多中心结构的教学可用其文档对照讲解。
Q82 能把 demo 作为数据工程的"练手停车场"长期使用吗?
正是其设计使命之一——作为持续集成/回归测试的固定小数据源非常合适。
Q83 学生完成一周路线后的水平定位?
相当于"能独立启动一个 MIMIC 类研究的准备阶段"——离独立研究差全库实战与统计深化。
Q84 demo 的数据有版本差异问题吗?
只有一个版本(v1.4)——教学无版本兼容烦恼;文档里的版本讨论全是给全库用户的。
Q85 为什么 demo 移除文本但保留编码表(ICD-9 等)?
编码表是结构化侧(数值/分类),敏感度评估通过;文本(自由叙事)敏感度高——分界线在"自由文本"。
Q86 demo 里能找到同一患者的完整就医史吗?
患者内完整(全部 ICU 停留收录)——纵向分析教学的真实素材。
Q87 用 demo 讲"单中心偏差"合适吗?
合适——它连"单中心"都不完全是(是单中心的一个死亡过采样切片),偏差教学的极端案例。
Q88 有基于 demo 的公开论文吗?
少数方法学/教育论文使用;实证临床论文几乎不用(规模限制)——这本身是学术规范生效的证据。
Q89 教学中如何处理患者的死亡主题伦理?
以"数据背后的真实照护"为叙事基调;技术中性表达+职业敬畏——教案语言的温度也是课程设计。
Q90 demo 能否验证基准评估脚本(mimic3-benchmarks 代码)?
可跑通代码路径(小数据秒级)但产出无意义——用于"代码会跑"验证而非"结果可信"验证。
Q91 一个学期课程怎么扩到 12 周?
一周路线(§5.2)+ 三周可联数据仓库扩展 + 三周迷你研究(全库授权并行办)+ 三周项目展示——demo 段占前 1/4。
Q92 教学包要不要含下载脚本?
要(wget 脚本+校验清单)——把"可复现获取"作为工程素养的一部分教。
Q93 demo 数据丢失/损坏的风险?
极低(官方站+多镜像);教学包内置校验清单即可自愈。
Q94 有必要给 demo 写独立的数据字典吗?
不必——与全库共享官方文档;给"demo 特有差异"(25/26 表、100 人)写一页附录即可。
Q95 最后一个问题:demo 十年不变的启示?
好数据资产不一定大而新——结构稳定、许可清晰、使命明确的"小而美"能服务一代学习者;设计入口层资产时以它为模板。
Q96 demo 适合作为“数据集百科”教学案例吗?
正是——本条目本身就是把一个“小数据”写出完整百科的方法示范:定位/偏差/许可/教法四位一体。
Q97 用 demo 讲“数据契约”(data contract)有素材吗?
有——schema 同构承诺(25 表结构不变)就是官方给的隐式契约,CI 行数断言即契约测试。
Q98 如果只能记住一件事?
抽样框决定一切结论的边界——“这些 100 人是谁”比“能跑多快的 SQL”更值得先回答。
Q99 90 分钟工作坊和一周课程能合并吗?
可以——工作坊是课程第 1 天的浓缩预演;两者共用同一套教学包,仅节奏不同。
Q100 最后的最后一:demo 对"我"最大的价值判断口诀?
学结构→零门槛即价值;做研究→零价值(请走全库授权);教学生→高价值;建管线→隐藏的高价值(CI 好朋友)。
## §10 存照与溯源
§10.1 口径存照
- 存照 A(抽样框官方原文):“These patients were selected randomly from the subset of patients in the dataset who eventually die. Consequently, all patients will have a date of death (DOD). However, patients do not necessarily die during an individual hospital admission or ICU stay.”——官方 Methods 段原文逐句存照;本条目全部"不能做什么"的判断锚定于此。
- 存照 B(25/26 并存口径):“MIMIC-III is a relational database consisting of 26 tables… The demo shares an identical schema, except all rows in the NOTEEVENTS table have been removed.”(26 表 schema)与"25 comma-separated-value (CSV) files"(mimic 文档页)并行——前者说结构、后者说文件。
- 存照 C(访问政策原文):官方文档页"Navigate to the project page… Scroll to the Files section to view and download the data"——无任何 credentialing 步骤;GitLab 镜像页明确标注"License Open Data Commons Open Database License v1.0"。
- 存照 D(引用格式年份):官方 Cite 组件"Johnson, A., Pollard, T., & Mark, R. (2019)"——2019 为引用条目年,数据版本 1.4。
- 存照 E(体积表述):官方未给压缩包字节数;本条目"MB 级/数十 MB"为按全库比例(100/46,520 患者且无文本)的量级表述,精确值以下载页 Files 标注为准。
存照 F(DOD 100% 与院内死亡变异并存):"全员 DOD"与"院内死亡 flag 有 0/1 变异"同时为真(官方 Methods 段两句原文分别对应)——教学材料常见错误是只引其中一句。
存照 G(开放访问的官方依据):官方文档页的下载指引(无 credentialing 步骤)+ ODbL 1.0 许可页共同构成开放访问的依据;本条目不引用第三方转述。
存照 H(HST-953 的课程定位):MIT 课程页明确其教学案例为"呼吸衰竭患者动脉导管与死亡率"的简化研究流——引用该课程时注明"教学案例"性质,非临床结论。
存照 I(MIMIC-II demo 4,000 人口径):archive.physionet.org 的 MIMIC-II 访问页描述"4000-patient subset + bootable image"——用于 §2.10 的演变叙述;MIMIC-II 现已下架,引用时注明"历史资料口径"。
存照 J(OMOP Demo 的独立性):Linkr 教程站确认"MIMIC-IV OMOP Demo 为 100 患者开放子集(OHDSI CDM v5.4 格式)"——它与本条目(原生 MIMIC-III schema 的 demo)是两个不同资产,教学时不可混用。
存照 K(引用格式的三件套):官方 Cite 组件给出 Demo 引用(Johnson/Pollard/Mark 2019)+主库论文引用(Johnson et al. 2016 Sci Data)+PhysioNet 标准引用(Pollard et al. 2026 Nature Health 平台文)三件套——正式材料建议三件齐引。
存照 L("以实测为准"的写作纪律):demo 官方不公布各表行数(100 患者级细节),本条目所有"行数/分布"处统一用"以实测为准"表述——这是小数据集百科的诚实写法:任何具体数字都依赖具体下载副本,官方口径只有"100 患者+25 CSV"两层。
存照 M(官方 Usage Notes 的 SQLite 推荐):官方 Usage Notes 原文推荐"create an SQLite database using the CSV files"并点名 DB Browser for SQLite——本条目 §4.3 路线的官方依据;引用教程时注明这是官方认可的轻量路线而非社区旁门。
§10.2 引文清单
- Johnson A, Pollard T, Mark R. MIMIC-III Clinical Database Demo (version 1.4). PhysioNet (2019). DOI: 10.13026/C2HM2Q.
- PhysioNet. MIMIC-III Clinical Database Demo. https://physionet.org/content/mimiciii-demo/(Abstract/Methods/Usage Notes)
- MIT LCP. MIMIC-III demo (official documentation). https://mimic.physionet.org/docs/iii/demo.html
- MIT LCP. HST-953 Workshop 01: Setup and installation. https://lcp.mit.edu/hst-953/01/01-install.html
- Johnson AEW, et al. MIMIC-III, a freely accessible critical care database. Scientific Data 3:160035 (2016). PMID 27219127.
- PhysioNet. 2018 IEEE BHI and BSN Data Challenge. https://physionet.org/content/bhi-2018-challenge/1.0/
- Hands-On Healthcare Data. MIMIC-III Clinical Demo Database v1.4 (GitLab mirror; ODbL 1.0 confirmation). https://gitlab.com/hands-on-healthcare-data/mimic-iii-clinical-demo-database
- Pollard T, Moody BE, et al. PhysioNet as a global platform for biomedical research. Nature Health (2026). DOI: 10.1038/s44360-026-00096-z.
§10.3 与本系列其他条目的关系
- 490(MIMIC-III):母库条目——schema/双系统/基准体系的权威叙述在彼处;本条目只讲差异。
- 492(MIMIC-IV):不同代主库;"100 患者开放 demo"传统由 MIMIC-IV OMOP Demo 延续。
- 486-489(波形与事件日志支系):demo 不含波形/文本——支系数据均需各自授权。
- 493/494(专用标注数据集):同为 MIMIC 生态成员但走 Credentialed 路线,与 demo 的开放路线对照。
§10.4 变更日志
- 2026-09-20:初版(order 491)。四源交叉核查完成;抽样框/许可双轨/25-26 口径存照 A-E 落档;教学一周路线与验证查询集为原创教学资产。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:
- mimicel — 共享标签:电子健康记录 / 公共卫生与流行病学
- mimiciv — 共享标签:电子健康记录 / 公共卫生与流行病学
- maternal-ultrasound-nutrition — 共享标签:电子健康记录 / 公共卫生与流行病学
- hrs — 共享标签:电子健康记录 / 公共卫生与流行病学
- cdsl-covid-data-shared-learning — 共享标签:电子健康记录 / 公共卫生与流行病学
- seer-nci — 共享标签:电子健康记录 / 公共卫生与流行病学
- openfda — 共享标签:电子健康记录 / 公共卫生与流行病学
- gemini — 共享标签:电子健康记录 / 公共卫生与流行病学
- framingham — 共享标签:电子健康记录 / 公共卫生与流行病学
- charls — 共享标签:电子健康记录 / 公共卫生与流行病学
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

