hosp/:住院侧数据
包括骨架表、检验、诊断、处方等 hospital provenance 数据。
MIMIC-IV v3.1 · beginner-friendly walkthrough
这不是 toy schema,而是基于你本地 MIMIC-IV v3.1 文件整理出的 demo。 页面按“模块导览 → 骨架表 → 单患者旅程 → 事件表 → 最小 join → caveat”展开, 帮你建立对真实临床数据的第一层直觉。
Step 1
MIMIC-IV 在物理上首先是两个目录:hosp/ 和 icu/。
真实交付是压缩 CSV,而不是已经帮你建好的数据库。
包括骨架表、检验、诊断、处方等 hospital provenance 数据。
包括 ICU stay、床旁 chart、输入输出、procedure 等 ICU provenance 数据。
静态病人信息,最适合作为入口。
住院级骨架,帮助你看见一次次 hospital encounter。
ICU stay 粒度,比 admission 更细。
事件表,不能靠“直接打开文件”来理解全貌。
高频 ICU 记录,建议数据库/筛选子集查看。
注意:这里展示的 MB / GB 是文件大小,不是行数。它们的作用是帮助你建立规模感,而不是给出 row count。
Step 2
如果只记住一件事,就记住这三个层级:subject_id →
hadm_id → stay_id。
Step 3
网站主线只围绕一个真实样例展开:subject_id=10000032。
这样新手能先理解“一个病人如何穿过多张表”,而不是在几十张表里迷路。
labevents 的演示样例优先固定到 hadm_id=29079034。
同一 subject_id 下如果出现空 hadm_id 的 lab 行,不能直接并入这次住院 / ICU 时间线。
Step 4
不要一次性看完整张大表。这里每次只展示少量真实样例行,帮助你先看懂“行的形状”。
一行代表某次检验结果。主线样例显式过滤到 hadm_id=29079034。
更高频,天然更像 ICU 内部的时间序列记录。
labevents 更偏检验结果,通常与住院上下文关联。chartevents 更偏 ICU 床旁记录,频率更高。Step 5
第一轮 demo 只讲“为什么要这样连”,而不是讲复杂 SQL 技巧。
admissions.hadm_id = labevents.hadm_id 可以帮助你把 lab 挂回某次住院,
但它不应该抢走主线解释权。
Step 6
这一节不是完整数据库工程,而是一个最小 DuckDB / SQL 练习台:
先把本地 .csv.gz 文件映射成只读视图,再围绕主线患者跑几条最关键的查询。
项目里已经放了一份 duckdb-demo.sql,
你可以把它当成最小查询脚本使用。
duckdb mimic_demo.duckdb -f duckdb-demo.sql
Step 7
这部分不是“补充说明”,而是防止误解的安全护栏:版本边界、单患者时间线的局限、以及如何用命令复现页面中的关键结论。
itemid 需要字典表解释;这里只放最小语义锚点,不把全部字典表塞进主线。hosp / icu 模块组织,并以 CSV 导出。subject_id 过滤,d_ 字典表保持完整。这些命令与页面里的核心结论一一对应,可直接在当前目录执行。