删掉六千六百三十六人 — MIMIC-III CareVue 子集

26 张表 / 剔除 6,636 人 / 2001—2008 年 CareVue 期

来源 https://physionet.org/content/mimic3-carevue/1.4/发布时间: 2026-10-28最后更新: 2026-10-28 阅读 9
删掉六千六百三十六人 — MIMIC-III CareVue 子集

信息速览

数据集名称删掉六千六百三十六人 — MIMIC-III CareVue 子集
数据类型CSV.gz,关系表,纵向住院记录,ICD-9编码,自由文本病历
规模BIDMC重症监护患者/已剔除与MIMIC-IV重叠6636人
接入方式https://physionet.org/content/mimic3-carevue/1.4/
AI 就绪度

MIMIC-III 覆盖 2001 到 2012 年,MIMIC-IV 覆盖 2008 到 2019 年,两者在 2008 到 2012 这四年里收治的是同一批住院——同一张病床、同一次插管、同一个出院小结,在两个数据库里各存了一份。按理说把它们拼起来是最自然的事:样本翻倍,时间轴拉长到十九年。但真去拼的人会立刻撞上一堵墙:MIMIC-IV 换了日期偏移策略,为每名患者重新生成了 subject_id,MIMIC-III 与 MIMIC-IV 之间不存在任何可用来对齐的公共主键。于是你无法判断某个人是不是被数了两次,而「观测独立」恰恰是绝大多数统计方法写在第一行的前提假设。这不是精度问题,是能不能做的问题。

MIMIC-III Clinical Database CareVue 子集就是为拆这堵墙而生的。它的做法不优雅但极其有效:既然认不出谁是谁,那就把所有可能重叠的人整个删掉。先从 MIMIC-III v1.4 里取出 dbsource 标记为 carevue 的监护室住院,得到 2001—2008 年的患者集合;再把在 MIMIC-IV v2.0 里住过院的人都剔除,这一步移走了 6,636 名个体。剩下的这批人,可以确定性地断言:他们不在 MIMIC-IV 里。代价写在官方页的使用说明中——被移走的更可能是活下来的那一批,留下的人群偏向死亡结局。

一屏速览如下,全部字段均可在官方页面上下文中找到对应表述。

维度 内容
全名 MIMIC-III Clinical Database CareVue subset
发布方 PhysioNet;由 MIT 计算生理实验室(Laboratory for Computational Physiology)维护
作者 Alistair Johnson、Tom Pollard、Roger Mark(均署名 MIT)
首次发布与版本 2022 年 9 月 21 日,版本 1.4(唯一版本)
派生来源 MIMIC-III Clinical Database v1.4(DOI 10.13026/C2XW26)
DOI 10.13026/8a4q-w170(v1.4);10.13026/yj38-pn40(latest 指向)
许可 PhysioNet Credentialed Health Data License 1.5.0
访问条件 仅凭证化用户,须完成 CITI「Data or Specimens Only Research」培训并签署 DUA 1.5.0
患者规模 官方页未直接给出;一篇外部文献报告为 23,692 名患者、26,836 次住院(二手值,见附录 A)
剔除规模 6,636 名与 MIMIC-IV v2.0 重叠的个体被移走
时间跨度 2001—2008 年(Philips CareVue 系统在位期)
表结构 26 张表,与 MIMIC-III 完全一致
空表 inputevents_mv、procedureevents_mv 保留但为空
文件格式 gzip 压缩的 CSV,解压后遵循 RFC 4180
主键层级 subject_id(人)→ hadm_id(住院)→ icustay_id(监护室停留)
标注情况 不含新增人工标注,继承 MIMIC-III 的编码与自由文本
已知偏倚 剔除存活者带来的死亡结局偏倚,官方页明确提示
典型用途 MIMIC-III 与 MIMIC-IV 的合并分析、跨版本临床实践变迁、CareVue 期重症队列研究

§1 它要解决的具体麻烦

1.1 四年重叠与两套接号规则

重症公开数据库有一个很具体的尴尬:新版本不是旧版本的超集,也不是它的不相交延拓,而是与它有一段交集的交叠集。MIMIC-III 的采集期是 2001—2012 年,MIMIC-IV 是 2008—2019 年,交集落在 2008—2012 这四年。这四年里的住院记录,两个库都有。

重叠之所以被设计出来,是为了让 MIMIC-IV 的样本量最大化。但从使用者的角度看,它把一个本来清晰的决策变成了两难:

做法 后果
只用 MIMIC-III 时间轴止于 2012,拿不到 2013 年之后的临床实践
只用 MIMIC-IV 时间轴起于 2008,做不了 2008 年之前的长期对照
两者直接纵向拼接 2008—2012 的住院被算两次,样本独立性假设被破坏
两者直接横向合并 无公共主键,无法判定同一个人是否被重复计入

前三种做法的代价是信息损失,第四种的代价是结论不可用。真正卡住的是第四种——因为大多数人真正想要的正是「把两个库合起来用」。

把这件事说得更具体一点。假设你要研究某个评分在十年间的预测性能是否稳定,手上只有 MIMIC-III 时时间轴止于 2012,只有 MIMIC-IV 时起于 2008,两条路都做不出十九年的跨度。把两者纵向拼接看似解决了跨度,但 2008—2012 年的每一次住院都会被计两次:这些住院的两个版本来自同一批病人,却因为编号不通而无法去重。样本量凭空变大、置信区间凭空变窄,而变窄的那部分完全没有信息支撑。

第四种做法之所以最危险,恰恰因为它看起来最无损。前三种做法的代价写在明面上——数据量变少,谁都看得见;第四种的代价藏在方差估计里,审稿人不追问就发现不了。这也是为什么需要有人从数据供给端把这条路堵死,而不是靠每个研究者自觉。

1.2 为什么认不出同一个人

日期偏移(date shifting)是去标识化的标准动作:给每名患者的时间轴整体加一个随机偏移,保留间隔、抹掉绝对日期。MIMIC-III 与 MIMIC-IV 在这个动作上的取舍不同,差异直接决定了两者能否对齐。

取舍项 MIMIC-III MIMIC-IV
保留的 星期几、大致季节 入院年份(带噪声)
抹掉的 入院年份 星期几、季节
连带后果 无法按年份做趋势研究 无法研究星期效应与季节效应
subject_id 沿用旧编号体系 因换偏移策略而重新生成

MIMIC-III 当年选保留星期与季节,理由是这让「周末入院是否更危险」「冬季是否更忙」这类问题可以被研究,代价是必须模糊掉年份。发布之后社区的实践表明,保留年份的价值更大——它让人能研究临床实践随时间的迁移,而这正是重症医学里最常被追问的一类问题。于是 MIMIC-IV 改成保留年份、模糊星期与季节。

换偏移就要换号。新号一旦生成,MIMIC-III 的某个人与 MIMIC-IV 的某个人之间就不再有任何可计算的对应关系。官方页对这件事的表述很直接:由于无法识别同一个体,研究者在合并两个库时无法保证观测独立性这一假设成立。

值得强调的是,这个障碍不是工程上的麻烦,而是理论上的不可解。有人会想到用间接特征去匹配——性别加上年龄、入院诊断、住院天数,做成一条准标识符去两侧比对。这条路走不通的原因有两层:一是匹配必然有误配,而误配带来的偏差方向未知;二是这种做法本身正在尝试恢复被去标识化刻意抹掉的信息,与数据使用协议禁止再识别的条款直接冲突。与其在下游做不可靠的推断,不如在上游用确定性规则把重叠删干净。本子集选择的就是后者。

另一层影响常被忽略:不仅人连不上,连时间也对不上。MIMIC-III 侧保留星期与季节,MIMIC-IV 侧保留年份,这意味着即便你不在乎重复计数,也没法把两个库放在同一条日历轴上讨论「某年之后临床实践是否改变」。人连不上是主键问题,时间对不上是语义问题,两者叠加才是合并分析真正的难度。

1.3 三条常见的错误期待

第一条,以为它是「MIMIC-III 的 CareVue 部分」。 不完全是。它有两道过滤:第一道是 dbsource 等于 carevue,把范围收到 2001—2008;第二道是与 MIMIC-IV v2.0 求差集,把在 MIMIC-IV 里住过院的人移走。第二道过滤会移走一部分本属 2001—2008 年的人,因为有人在 2008 年之后又住过院、因而进了 MIMIC-IV。所以「CareVue 子集」不等于「MIMIC-III 里的 CareVue 期全部数据」,它比后者小。

第二条,以为它解决了两个库的时间对齐问题。 它没有。MIMIC-III 侧的日期仍是保留星期与季节、模糊年份的旧偏移;MIMIC-IV 侧是保留年份、模糊星期与季节的新偏移。两个库的时间轴在语义上仍不可直接拼接。它解决的只是「人会不会被数两次」,不解决「两个时间轴怎么对齐」。

第三条,以为它与 MIMIC-IV 拼起来就得到一个 2001—2019 的连续队列。 不能。中间被拿掉的不是某几年,而是「在 2008 年之后还住过院的那批人的全部历史」——包括他们 2008 年之前的住院。留下的这批人,其 2008 年之后的结局根本不在数据里。拼接后得到的是一个在人群构成上有系统性空洞的集合,而不是一条平滑的时间轴。

1.4 它能给到的与给不到的

你的需求 它给的 够不够
与 MIMIC-IV 合并且保证个体不重复 确定性不相交,官方页明确保证 够,这是它存在的唯一理由
2001—2008 年 CareVue 期重症队列 完整的 26 张表结构 够,但人群已偏向死亡结局
跨 2008 年前后的临床实践变迁 提供前段,后段需用 MIMIC-IV 可做,但两段人群不同、时间轴不对齐
研究星期效应与季节效应 日期偏移保留了星期与季节 够,这是 MIMIC-III 体系的固有属性
研究年份趋势 MIMIC-III 侧年份被模糊 不够,需改用 MIMIC-IV
MetaVision 期的输液与操作事件 inputevents_mv 与 procedureevents_mv 为空表 不够,完全没有
新增的人工标注或金标准 无,全部继承自 MIMIC-III 不够,需自建或改用派生标注集
无需审批即可下载 凭证化访问,需 CITI 与 DUA 不够,审批通常需一周以上

1.5 你的处境与它能帮到的事

你的处境 它能帮你什么 下一步该做什么
你要同时用 MIMIC-III 与 MIMIC-IV,被审稿人质疑重复计数 提供一个可证明不相交的前段,差别只在人不在表结构 用它替换 MIMIC-III 全库,写作时明确写出「前段来自 CareVue 子集、后段来自 MIMIC-IV」
你只做 2008 年之前的问题,却嫌 MIMIC-III 太杂 单一信息系统来源,不必为同一概念写两套抽取逻辑 只用 inputevents_cv,不必处理 mv 表
你在复现一篇 2016—2020 年间基于 MIMIC-III 的论文 表结构逐字一致,旧 SQL 基本可直接迁移 先跑通原查询,再核对样本量差异是否来自被剔除的 6,636 人
你做死亡相关结局建模,担心人群偏倚 官方页已明示偏倚方向 在方法部分写明偏倚来源,或用 MIMIC-III 全库做敏感性分析
你要跨库做外部验证 与 MIMIC-IV 不相交,可当作真正的独立测试集 用它训练、用 MIMIC-IV 测试,或反过来
你要 2013 年之后的数据 完全没有 直接用 MIMIC-IV

1.6 一句话判断与四条边界

它不是一个「更好的 MIMIC-III」,而是一把剪子:剪掉所有可能污染合并分析的人,剪完的那部分才是能安全与 MIMIC-IV 并排放的。

不适合拿来做需要与 MIMIC-IV 对齐时间轴的纵向研究。 两个库的日期偏移策略不同,年份在 MIMIC-III 侧被模糊、星期与季节在 MIMIC-IV 侧被模糊,任何依赖绝对日历位置的变量都拼不起来。

不适合拿来做生存结局的无偏估计。 剔除规则是「在 MIMIC-IV 里住过院的人不要」,而被再次收治的人群本身更可能是存活者,官方页直接指出这导致结果偏向死亡。任何以死亡率为结局的模型,都必须把这一点写进局限性。

不适合拿来研究 MetaVision 系统下的临床流程。 与 MetaVision 绑定的两张事件表被保留但清空,只有表头没有行。

不适合当作「MIMIC-III 精简版」来省事。 它的表结构与 MIMIC-III 逐字相同,体积并未因剔除而变得特别小,复杂程度也一点没降。省下的只是「要不要担心重复计数」这一件事。

1.7 一个反例:什么时候用它反而更糟

假设你要复现一篇 2018 年发表、基于 MIMIC-III 全库的脓毒症早期预测研究。原文的样本量、基线表与主要结局都建立在全库人群之上。此时改用本子集会出现三个麻烦:样本量对不上,旁人无法判断差异来自数据版本还是你的实现;原文可能纳入了 2008—2012 年 MetaVision 期的住院,而这部分在本子集里根本不存在;原文的死亡基线建立在未剔除人群之上,本子集因为剔除了存活者,死亡结局的基线会系统性偏高。

三个麻烦叠加的结果是:你无法用本子集去判断原文结论是否稳健,反而引入了新的解释负担。正确的做法是复现阶段用全库,把本子集留到「需要与 MIMIC-IV 联合分析」的那一步。这个反例说明一件事:本子集的优势是专用的,不是通用的。它在特定研究设计里不可替代,在其余设计里是纯粹的负担。

§2 数据构成与规格

2.1 二十六张表与三级主键

数据库是一套关系表,共 26 张,与 MIMIC-III 完全一致。表之间靠带 ID 后缀的标识符连接,构成三级层次:

层级 标识符 含义 典型承载表
人 subject_id 一名患者 patients
住院 hadm_id 一次入院 admissions、diagnoses_icd、prescriptions
监护室停留 icustay_id 一次 ICU 停留 icustays、chartevents、outputevents

派生的过滤动作正是按这三级做的。对每张表,取该表全部行都具备的最具体标识符来筛:patients 用 subject_id;admissions、callout、cptevents、diagnoses_icd、drgcodes、microbiologyevents、prescriptions、procedures_icd、services、transfers 用 hadm_id;chartevents、datetimeevents、icustays、inputevents_cv、inputevents_mv、outputevents、procedureevents_mv 用 icustay_id。

无患者信息的字典表(官方举例 d_items)整表保留,不做过滤。这带来一个值得注意的性质:字典表里会存在本子集根本用不到的项目,因为那些项目只对 MetaVision 期有意义。

labevents 与 noteevents 是例外中的例外。前者只带 subject_id 与 hadm_id,后者在 MIMIC-III 中本身的关联就松散,官方对这两张表改用时间截断:只保留记录时间早于子集中最后一次住院的出院日期的行。

为什么要对这两张表特殊处理?因为它们的数据来源不是床旁系统,而是全院级的检验系统与文档系统。一个人即便只在 2003 年住过一次院,他在此前的门诊检验、此后的影像报告,都仍挂在同一个 subject_id 下。若按 subject_id 过滤,这些住院之外的记录会被整包带进来,而它们既不属于这次住院,也不属于本研究的时间窗口。按时间截断是唯一能守住边界的办法。

这个设计带来一个必须记住的后果:本子集内的 labevents 与 noteevents 不再能用「属于某次住院」的逻辑去理解,只能用「发生在某个日期之前」去理解。写查询时如果习惯性地把它们与 admissions 内连接,会静默丢掉大量没有 hadm_id 的行。

2.2 字段字典(高频列)

下表列出实际写查询时绕不开的列。这不是全量字典,MIMIC-III 官方页给出了逐表的完整定义。

列 所在表 类型 含义 使用注意
subject_id patients 等 整数 患者编号 与 MIMIC-IV 的编号不可对齐
hadm_id admissions 等 整数 住院编号 一人多次住院各有独立编号
icustay_id icustays 等 整数 ICU 停留编号 一次住院可能有多次 ICU 停留
dbsource icustays 字符串 数据来源系统 本子集内取值为 carevue
itemid chartevents 等 整数 测量概念编号 语义须查 d_items
charttime chartevents 时间戳 记录时刻 已做日期偏移
storetime chartevents 时间戳 入库时刻 与 charttime 可能相差很远
value / valuenum chartevents 字符串 / 浮点 测量值原文 / 数值 非数值测量只有 value
valueuom chartevents 字符串 单位 同 itemid 也可能有多单位
error chartevents 整数 是否被标记为错误 非零通常应剔除
icd9_code diagnoses_icd、procedures_icd 字符串 ICD-9 编码 须查 d_icd_diagnoses 取标题
drg_code drgcodes 字符串 DRG 分组码 用于费用与分组研究
text noteevents 自由文本 病历原文 已做去标识化,仍受 DUA 约束
expire_flag patients 布尔 院内死亡标记 与死亡偏倚直接相关

2.3 一条记录的解剖

以 chartevents 的一行为例。这张表是护理记录的主体,也是 MIMIC 系列数据量最大的表。一行记录回答四个问题:谁(三级 ID)、什么时候(charttime 与 storetime)、测了什么(itemid)、测到多少(value、valuenum、valueuom)。

四个问题里最容易出错的是第二个。charttime 是护士在床旁确认的时刻,storetime 是数据落库的时刻,两者可以相差数小时——补录、批量补记、班次交接都会造成这个差。用 storetime 做时间对齐的研究,等于把补录延迟当成了生理事件延迟。

第三个问题则必须靠 d_items 翻译。chartevents 本身只有编号,d_items 给出编号对应的标签、所属类别与单位。同一生理量在不同时期、不同床旁设备下会有多个 itemid,这是 CareVue 期数据最常被低估的一个坑:只看一个 itemid 拿不到该生理量的全部记录。

2.4 主键映射与拼接顺序

三级主键不是并列关系,而是一条链。写多表查询时,顺序错了会得到行数暴涨的笛卡尔积。

拼接顺序 结果 说明
patients ← admissions 一人对多次住院 正确,一人可有多行
admissions ← icustays 一次住院对多次 ICU 停留 正确,转科会产生新 icustay_id
icustays ← chartevents 一次停留对数千条记录 正确,这是最细粒度
chartevents ← d_items 多对一 正确,字典表是维度
admissions ← diagnoses_icd 一次住院对多个诊断 正确,诊断有先后序号
patients ← icustays 直接连 需经 admissions 若不经住院层,可能跨住院错配

判定拼接是否正确的经验法则:每往下一级,行数应当单调不减,且不该出现「一次住院对应多名患者」这类反向一对多。

2.5 与 MIMIC-IV 的字段差异

对比项 MIMIC-III CareVue 子集 MIMIC-IV
组织方式 单一 26 表集合 按模块拆分(hosp、icu、ed、cxr、note)
患者编号 subject_id,旧偏移体系 subject_id,重新生成
住院编号 hadm_id hadm_id,编号空间不同
输液事件 inputevents_cv 有数据,inputevents_mv 为空 统一在 icu 模块的 inputevents
操作事件 procedureevents_mv 为空 icu 模块的 procedureevents
实验室 labevents 单表 hosp 模块的 labevents
文本 noteevents 单表 note 模块,含 discharge 与 radiology 子表
时间语义 保留星期与季节,模糊年份 保留年份,模糊星期与季节
采集期 2001—2008 2008—2019

表结构层面的差异意味着:为 MIMIC-III 写的 SQL 不能直接搬到 MIMIC-IV,反之亦然。本子集的价值恰恰在于它在结构上与 MIMIC-III 逐字一致,因而大量既有的 MIMIC-III 代码(尤其是 MIMIC Code Repository 里的派生脚本)可以零改动迁移。

这种一致性带来的实际收益常被低估。重症临床研究里最耗时、最容易出错的往往不是建模,而是概念定义:某项生理量取哪些 itemid、某个合并症用哪组 ICD-9 码、某次住院算不算首次。MIMIC Code Repository 把这些定义沉淀成了可复用的 SQL,而复用它们的前提是表结构与列名不变。本子集在这一点上做到了逐字兼容,因此它不只是一个数据切片,还是一套可复用代码的兼容层。

2.6 列的物理含义:CareVue 期特有的两套概念

CareVue 与 MetaVision 是两家厂商的两套床旁信息系统,字段组织逻辑不同。MIMIC-III 的做法是把能合并的合并、不能合并的加后缀区分,这个设计在本子集里的表现是:

概念 CareVue 侧 MetaVision 侧 在本子集的状态
静脉输液与入量 inputevents_cv inputevents_mv cv 有数据,mv 为空
操作事件 无独立表 procedureevents_mv 为空
出量 outputevents outputevents 有数据
护理记录 chartevents chartevents 有数据
实验室 labevents labevents 有数据,按时间截断

对使用者来说,一个直接推论是:凡是要处理输液速率、血管活性药剂量的研究,在本子集里只能走 inputevents_cv 的列定义,而这套列定义与 inputevents_mv 不同。写通用抽取逻辑时,不能假设两者同构。

2.7 导出链路:从 PostgreSQL 到 CSV.gz

官方页说明,数据文件由 PostgreSQL 以 CSV 参数导出,再用 gzip 压缩;解压后遵循 RFC 4180。这条链路虽然只有两步,但每一步都会在下游留下痕迹。

导出这一步决定了三件事。一是空值以空字符串表示,而不是 NULL 字面量,因此读入时必须显式声明空值符号,否则数值列会被推断成字符串。二是引号与换行的转义遵循 RFC 4180,自由文本字段里出现逗号与引号是常态,用朴素的分隔符切分一定会错。三是列顺序与数据库建表顺序一致,不保证跨版本稳定,按位置取列不如按列名取列稳健。

压缩这一步决定了读取姿势。.csv.gz 是整体压缩而非分块压缩,因此支持流式顺序读,但不支持随机访问——想直接跳到文件中部必须先解压到那里。这解释了为什么 §5.3 推荐分块迭代:分块读一遍流的代价远小于先整体解压再读。

另外值得注意:官方未提供本子集自有的校验和清单页面(写作时因区域限制未能列出文件列表),完整性核对建议以登录后在文件目录下所见为准。

§3 它是谁的数据

3.1 贡献者与维护方

作者三人均署名 MIT:Alistair Johnson、Tom Pollard、Roger Mark。页面底部标注维护方为 MIT 计算生理实验室,资助来自美国国立生物医学影像与生物工程研究所(NIBIB)、国立心肺血液研究所(NHLBI)与 NIH 主任办公室,资助号 U24EB037545 与 R01EB030362。

原始临床数据来自波士顿贝斯以色列女执事医疗中心(Beth Israel Deaconess Medical Center,BIDMC)的重症监护室。项目经 BIDMC 与 MIT 两地的机构审查委员会(IRB)批准,因不影响临床诊疗且全部受保护健康信息已去标识化,免除了个体知情同意。

致谢部分列出 BIDMC 的 Carolyn Conti、Alvin Gayles、Larry Markson、Ayad Shammout、Lu Shen、Manu Tandon,并感谢 NIH 的支持。利益冲突声明为无。

3.2 时间线

时间 事件
2001 Philips CareVue 系统在 BIDMC 重症监护室投入使用,成为床旁数据来源
2008 重症监护室换用 iMDsoft MetaVision 系统,CareVue 期结束
2012 MIMIC-III 的采集期结束
2015 MIMIC-III 首次发布
2016 MIMIC-III v1.4 发布(DOI 10.13026/C2XW26),成为本子集的派生源
2020 MIMIC-IV 首次发布,采集期 2008—2019
2022-09-21 MIMIC-III Clinical Database CareVue 子集 v1.4 发布

3.3 采集场景

数据产生于常规诊疗过程,不是为了研究而额外采集的。床旁监护仪与护理工作站持续输出,护士在班次中确认并录入数值,医生写病程与出院小结,检验科回传结果,计费系统生成 ICD-9、DRG 与 CPT 编码。MIMIC-III 官方页把床旁生命体征的密度描述为大约每小时一个数据点,这个密度是护理记录惯例的产物,而不是设备采样率。

这一点决定了数据的两个性质。第一,它不是等间隔时间序列,两次记录之间可能隔十分钟,也可能隔三小时。第二,记录的有无本身就是临床信息——护士频繁记录的时段往往正是病情不稳定的时段,把「有没有记录」当缺失来处理会丢掉这层含义。

第二个性质值得展开。在重症监护里,测量频率本身就是治疗强度的函数:病情越不稳定,护士被要求记录得越勤;病情平稳后,记录间隔自动拉长。于是「某个时间窗内没有心率记录」既可能是设备故障、也可能是患者已转出、更可能是这个时段患者很平稳。把这三种情况一律当作「数据缺失」并做插补,等于把一个指示病情的信号抹掉,换成一个看起来完整但语义错误的序列。

对 2001—2008 年这一时段还要多考虑一层:床旁设备的数字化程度与今天不同,某些监测项的记录依赖于人工抄录再录入,因此同一 itemid 在不同年份的记录习惯可能不同。做跨年份比较时,记录密度的变化未必反映临床实践的变化,也可能反映录入流程的变化。

3.4 来源层次

层次 内容 影响
床旁信息系统 Philips CareVue(型号 M2331A、M1215A) 生命体征、护理记录、输液与出入量
医院电子病历 BIDMC 院内系统 人口学、实验室、微生物、出院小结与影像报告
计费系统 ICD-9、DRG、CPT 编码 诊断、操作与费用分组
社会保障局死亡主文件 院外死亡日期 长期生存结局

四层数据的采集目的各不相同,精度与时序也各不相同。计费编码是事后为报销生成的,其时间粒度通常是住院级而非小时级;实验室结果有明确的采集时刻与回报时刻;床旁数值是护理确认时刻。把它们放在同一条时间轴上比较时,必须区分这些时刻的语义。

第四层尤其值得单独说。院外死亡日期来自社会保障局的死亡主文件,它提供的不是临床事件,而是一条行政记录。这条记录让长期生存结局成为可能,但也带来两个限制:一是它只覆盖能够被匹配到的个体,未匹配到的人不会被标记为存活,而是没有记录;二是它给出的日期是行政登记日期,与临床死亡时刻之间存在不确定的间隔。用它做长期生存分析时,这两个限制都要写进方法部分。

§4 它最独特的东西

4.1 稀缺性:唯一一份「确定性不相交」的 MIMIC-III

MIMIC 家族里有很多派生数据集,绝大多数是加东西——加标注、加波形、加影像、加文本重排。这一份是减东西,而且减的是人。它的稀缺性不在于数据本身,而在于一个可以被证明的性质:子集中的每一个 subject_id,都不在 MIMIC-IV v2.0 里。

性质 普通 MIMIC-III 本子集
与 MIMIC-IV 是否相交 2008—2012 段相交,但无法判定同一人 确定性不相交
能否与 MIMIC-IV 合并 不能保证观测独立 可以
需要自己判断重叠 需要,且无法判断 不需要
代价 无 6,636 人被移走,死亡结局偏倚

这个性质看似简单,实际上只有数据持有方才能给出。外部研究者无法自行构造,因为判定「某人是否在 MIMIC-IV 中」需要同时访问两侧的可标识信息,而两侧编号又不通用。换句话说,这是一件只能由发布方做的事,发布方做了。

4.2 差异化证据:三个库放在一处看

维度 MIMIC-III 全库 CareVue 子集 MIMIC-IV
采集期 2001—2012 2001—2008 2008—2019
患者规模量级 官方页表述为四万余名 官方页未列;外部文献报告为 23,692 官方页按其模块分别给出
信息系统 CareVue 与 MetaVision 两套 仅 CareVue MetaVision 及后续
表结构 26 张 26 张,逐字一致 按模块组织
与另一个库的关系 与 IV 相交且不可判定 与 IV 不相交 与 III 相交且不可判定
时间语义 保留星期与季节 同左 保留年份
空表 无 inputevents_mv、procedureevents_mv 无

4.3 具体案例:三种合并写法

写法 操作 风险 适用
纵向拼接(union) 把两个库的住院行堆在一起 2008—2012 重复计数,且人群构成不一致 不推荐
分段使用 2008 前用本子集、2008 后用 MIMIC-IV 两段人群不同质,时间轴语义不同 做实践变迁研究时的可行写法
互为外部验证 一个训练、一个测试 需确认两侧变量定义一致 推荐,这是本子集最稳的用法
全量 MIMIC-III + 敏感性分析 用全库跑主结果,用子集跑敏感性 工作量翻倍 结局为死亡时的推荐写法

4.4 标注粒度:没有新标注

本子集不含任何新增的人工标注。它继承 MIMIC-III 的既有编码体系:ICD-9 诊断与操作码、DRG 分组、CPT 编码、实验室项目编号、护理记录项目编号,以及自由文本病历。所有「标签」都是诊疗与计费的副产品,不是为研究而标注的金标准。

这个事实有两个直接后果。第一,讨论它的标注质量时,讨论的其实是 MIMIC-III 的编码质量,本子集未做任何增减。第二,任何需要人工判定的结局(例如某并发症是否发生)都仍需自建标注流程,子集本身不提供帮助。

4.5 边界条件:四条硬边界

时间边界。 只覆盖 2001—2008,且因第二道过滤,实际人群的住院史被截断在最后一次住院的出院日期之前——连 labevents 与 noteevents 也按这个日期做了截断。

系统边界。 只有 CareVue。inputevents_cv 有数据,MetaVision 侧的两张表为空,表头在、行不在。

人群边界。 剔除了 6,636 名与 MIMIC-IV 重叠的个体,这些人被移走的原因正是他们活到了 2008 年之后且再次住院,留下的人群因此偏向死亡结局。

访问边界。 凭证化。需完成 CITI「Data or Specimens Only Research」培训、签署 PhysioNet 凭证化健康数据使用协议 1.5.0,审批通常需要一周以上。

4.6 与派生标注集的分工

MIMIC 生态里有大量标注型数据集,它们从 MIMIC-III 或 MIMIC-IV 中抽取样本,附上人工判定的标签,用来支撑某个具体任务。本子集与它们不在同一层,也不构成竞争。

层次 做什么 是否含人工新标注 典型使用者
原始数据库 提供全部原始记录 否 所有人
本子集 清掉与 MIMIC-IV 的重叠 否 跨世代合并分析者
标注集 为具体任务产出金标准 是 做特定任务的建模者
基准集 定义任务、划分与指标 是 参加评测的团队

分工判据很清晰:如果你的瓶颈是「不知道标签对不对」,本子集帮不上忙,应去找标注集;如果你的瓶颈是「不知道人有没有被数两次」,标注集帮不上忙,应该用本子集。两者可以叠加——在已去重叠的人群上再做人工标注,得到的是既无重复计数又有可靠标签的样本,但这样的工作量需要自行承担。

§5 怎么拿到

5.1 目录结构

页面在 Files 区域按版本号组织,目录层级与 MIMIC-III 一致:每个版本目录下一批 .csv.gz 文件,表名即文件名。字典表与数据表同处一层,不做子目录拆分。

文件类别 例子 说明
患者与就诊定义 PATIENTS、ADMISSIONS、ICUSTAYS、SERVICES、TRANSFERS 五张表定义与追踪患者停留
字典表 D_CPT、D_ICD_DIAGNOSES、D_ICD_PROCEDURES、D_ITEMS、D_LABITEMS 五张表用于交叉查询编码含义
事件表 CHARTEVENTS、LABEVENTS、MICROBIOLOGYEVENTS、OUTPUTEVENTS 按事件粒度存放
输液与操作 INPUTEVENTS_CV、INPUTEVENTS_MV、PROCEDUREEVENTS_MV MV 两张为空
计费与编码 DIAGNOSES_ICD、PROCEDURES_ICD、CPTEVENTS、DRGCODES 诊断、操作、计费分组
文本与呼叫 NOTEEVENTS、CALLOUT 自由文本与转科呼叫记录

说明:本文写作时,PhysioNet 对当前网络出口返回了「因法律或政策限制,文件列表在你所在区域不可用」,因此上表为按 MIMIC-III 官方页描述的表分类,具体文件清单以登录后在 /files/mimic3-carevue/1.4/ 下所见为准。

5.2 批量下载

#-- 凭证化访问:先登录并接受 DUA,再用用户名密码递归拉取
wget -r -N -c -np --user <你的PhysioNet用户名> --ask-password \
  https://physionet.org/files/mimic3-carevue/1.4/

#-- 官方推荐的另一种方式:用 PhysioNet 提供的下载工具按目录同步
#-- 注意 -np 防止爬到父目录,-c 支持断点续传

下载前必须完成三件事:注册并登录 PhysioNet 账号;完成 CITI「Data or Specimens Only Research」培训并在账号中关联;在项目页签署 PhysioNet Credentialed Health Data Use Agreement 1.5.0。三者缺一,文件请求会被拒绝。

5.3 流式读取

数据量不适合整体载入内存,按块读是标准做法。

import pandas as pd

#-- CHARTEVENTS 是本套表里最大的一张,必须分块处理
keep_icustay = set(icustays_sample['icustay_id'])    #-- 先备好要保留的停留编号

chunks = []
for part in pd.read_csv('CHARTEVENTS.csv.gz',
                        chunksize=1_000_000,
                        low_memory=False,
                        usecols=['subject_id', 'hadm_id', 'icustay_id',
                                 'itemid', 'charttime', 'valuenum', 'valueuom', 'error']):
    #-- 先按停留编号缩范围,再剔除被标记为错误的行
    part = part[part['icustay_id'].isin(keep_icustay)]
    part = part[(part['error'].isna()) | (part['error'] == 0)]
    chunks.append(part)

chartevents = pd.concat(chunks, ignore_index=True)

usecols 在这里不是优化技巧而是必需项:整行读入会让内存峰值翻倍。另一个常见写法是把 icustay_id 与 itemid 读成整数而非浮点——CSV 中有空值会让 pandas 推断成浮点,导致与字典表连接时类型不匹配。

5.4 转表与入库

官方页说明文件由 PostgreSQL 以 CSV 参数导出、再用 gzip 压缩,解压后遵循 RFC 4180。因此最省事的用法是照原样建库:

-- 建表后直接用 COPY 导入,分隔符为逗号、首行为表头
COPY chartevents
FROM '/data/CHARTEVENTS.csv'
WITH (FORMAT csv, HEADER true, NULL '');

-- MetaVision 两张空表也要建,否则旧脚本会因缺表报错
CREATE TABLE inputevents_mv (LIKE inputevents_cv);
CREATE TABLE procedureevents_mv (LIKE procedureevents_cv);

保留空表这一点不是冗余。大量基于 MIMIC-III 的社区脚本会以「全部 26 张表都存在」为前提写联合查询或视图,缺表会直接报错而不是返回空结果。官方明确说这两张表被保留是为了兼容 MIMIC-III 的查询。

5.5 项目编号映射

#-- 同一生理量在 CareVue 期可能对应多个 itemid,必须靠字典表展开
d_items = pd.read_csv('D_ITEMS.csv.gz', low_memory=False)

target = d_items[d_items['label'].str.contains('Heart Rate', case=False, na=False)]
print(target[['itemid', 'label', 'dbsource', 'unitname', 'category']])

#-- 拿到编号集合后再回到事件表取数,不要只用其中一个编号
hr_ids = set(target['itemid'])

映射的注意事项有三条:一是 label 有大小写与缩写变体,按包含匹配比按相等匹配稳;二是同 itemid 可能出现在不同 dbsource 下,dbsource 字段要一起看;三是单位列 unitname 可能为空,换算前要确认。

5.6 五个坑

下面五个坑的共同点是:它们都不会报错。数据能读进来,查询能跑出结果,行数看起来也合理,唯独结论偏了。这类问题在关系型临床数据里比程序错误更难发现,因为没有任何一处会抛异常。

第一个坑:把 storetime 当 charttime。 前者是入库时刻,后者是床旁确认时刻,可差数小时。凡涉及时序与生理动态的研究,一律用 charttime。

第二个坑:只用一个 itemid 取生理量。 CareVue 期同一概念常有多个编号,只用其一会系统性少取记录,而这个少取不是随机的——它通常与设备或病区绑定。

第三个坑:忘记 MV 两张表存在但为空。 写左连接时它们不会报错,只会静默返回空,结果看起来像「本子集没有操作数据」,其实是操作事件在 CareVue 期本来就走另一套表(procedureevents_mv 无对应的 cv 表,操作信息落在计费编码里)。

第四个坑:把字典表当成本子集实际用到的项目集合。 字典表整表保留,含大量仅对 MetaVision 期有意义的记录项。用字典表行数去推测数据覆盖度会高估。

第五个坑:忽略死亡偏倚直接做结局建模。 剔除规则与存活强相关,官方页明确要求研究者注意这一偏倚并在结果解释中加以限定。

§6 与库内其他资源的关系

6.1 关系图谱

库内资源 与本子集的关系 什么时候该用那个
MIMIC-III 全库(mimiciii-legacy) 本子集的派生母集 不需要与 MIMIC-IV 合并、或要做 2008—2012 段研究时用全库
MIMIC-IV(mimiciv) 本子集的补集来源 2008 年之后的数据一律用 IV
MIMIC-IV on FHIR(mimic-iv-fhir) 另一条技术路线的 IV 表达 需要 FHIR 资源模型与互操作测试时用
MIMIC-III 序列样本库(mimic-seqex) 同为 MIMIC-III 派生,但做了序列化重排 需要直接可喂模型的序列张量时用
MIMIC-III 波形数据库(mimic3wdb) 同源患者群体的波形侧 需要原始生理波形而非护理记录时用
MIMIC-II 导管临床表(mimic2-iaccd) 更早期的 MIMIC 世代 做跨世代方法学对照时用

6.2 检索路径

按问题类型走,比按数据库名走更快:

你要回答的问题 走哪条路
2008 年前的重症结局,且要与 IV 合并 本子集 → MIMIC-IV
2008 年前的重症结局,不关心合并 MIMIC-III 全库
2013 年之后的问题 MIMIC-IV
需要波形而非数值 MIMIC-III 波形数据库 / MIMIC-IV 波形数据库
需要互操作标准表达 MIMIC-IV on FHIR
需要现成的模型输入张量 MIMIC-III 序列样本库

按问题走还有一层好处:它迫使你先回答「我到底要不要跨库」。这个答案决定了本子集是否登场,也决定了后面所有技术细节的走向。若答案是不要,那么本节其余内容都可以跳过,直接用 MIMIC-III 全库。

反过来,若答案是「要跨库,但我还想保留 2008—2012 这一段」,那么目前没有现成的资源能同时满足两条。你只能在「保留该段但接受重复计数风险」与「去掉该段但获得可证明的不相交性」之间选一个,本子集代表了后一种选择的成品形态。

6.3 分工判据

判据 选本子集 不选本子集
是否与 MIMIC-IV 联用 是 否
是否在意重复计数 是 否
是否需要 2008—2012 段 否 是
是否需要 MetaVision 期输液事件 否 是
能否接受死亡结局偏倚 能,且会写进局限性 不能

一句话概括:只有当「与 MIMIC-IV 联用」这件事出现在你的研究设计里时,本子集才比全库更合适。其余所有情形下,全库的样本量都更大、人群更完整。

§7 质量评估与局限性

7.0 使用前的三项前置校正

校正一:确认时间列语义。 明确区分采集时刻、记录时刻与入库时刻,在变量字典里写明用了哪一列。

校正二:确认编号语义。 subject_id 与 MIMIC-IV 不通,跨库分析不能按编号做连接,只能在人群层面并列。

校正三:确认人群定义。 写方法部分时,人群入选条件要写完整——不只要写「2001—2008 年 ICU 住院」,还要写「且未出现在 MIMIC-IV v2.0 中」。少写后一句,读者无法理解为何样本量与文献不一致。

7.1 五维评分

维度 评价 依据
结构完整性 高 26 张表与 MIMIC-III 逐字一致,旧脚本可迁移
时间覆盖 中 仅 2001—2008,且被第二道过滤进一步截断
人群代表性 中偏低 6,636 人被按「是否再次住院」剔除,构成系统性偏倚
文档完备度 中 官方页给出派生方法与偏倚提示,但未提供本子集自有的规模数字与文件清单
获取便利性 低 凭证化访问,需 CITI 培训与 DUA,审批一周以上

7.2 标注的两层

第一层是结构化编码,来自计费与诊疗流程:ICD-9 诊断与操作、DRG、CPT、实验室与护理项目编号。它们的准确性取决于编码员与临床记录,不是研究级标注。

第二层是自由文本,来自病程、护理记录、出院小结与影像报告。它们经过去标识化处理——按 HIPAA 要求移除十八类标识元素,自由文本部分用基于词典查表与正则模式匹配的系统清洗。文本里仍可能残留罕见表述,DUA 明确禁止尝试再识别。

两层都没有经研究级的一致性检验。这不是缺点,是本子集的性质:它是 MIMIC-III 的一个切片,不做任何质量增强。

7.3 可枚举的偏差

偏差 机制 影响方向 能否校正
死亡结局偏倚 被剔除者更可能是存活并再次住院者 高估死亡率一类的结局 可用全库做敏感性分析
时间截断偏差 labevents 与 noteevents 按最后出院日截断 后期记录系统性缺失 不能,只能避免用此类分析
信息系统偏差 仅 CareVue 期 结论不可外推到 MetaVision 期 不能,需在结论中限定
单中心偏差 全部来自 BIDMC 外推性受限 不能,可用 eICU 一类多中心库对照
记录密度偏差 记录有无本身反映病情 把无记录当正常会失真 部分可,需显式建模记录过程

7.4 外部验证的定位

本子集与 MIMIC-IV 不相交,这个性质让它在外部验证里有确定性的位置:用一侧训练、另一侧测试时,可以明确断言测试对象没有出现在训练集中。这一点在多数同类资源里只能靠声明,这里可以靠构造保证。

需要注意的反向问题:不相交不等于同分布。两个库的人群构成、信息系统、时间语义都不同,跨库性能下降里既含真实的泛化差距,也含分布漂移。把它当纯粹的外部验证集时,掉点幅度不能直接解读为模型泛化能力。

7.5 为什么它仍然值得存在

因为它把一个「无法验证的假设」换成了「可证明的事实」。在合并两个重叠数据库时,研究者原本只能声明「我们假设没有重复」,而现在可以用一个官方构造的子集让这句话变成「按构造不存在重复」。研究设计里能被证明的前提越多,结论的争议面就越小。

代价是 6,636 人和一个已知的偏倚方向。这笔交易是否划算,取决于你的结局变量是什么:死亡相关的研究要谨慎,其余研究大多划算。

7.6 把偏倚写进论文的三句话

第一句写在方法的人群部分:「为排除 MIMIC-III 与 MIMIC-IV 之间的个体重叠,本研究采用 MIMIC-III 的 CareVue 子集(v1.4),该子集已移除 MIMIC-IV v2.0 中出现过的 6,636 名个体。」这句话的作用是让读者立刻理解样本量为何小于文献。

第二句写在局限性部分:「由于剔除规则与患者是否再次住院相关,本队列的死亡结局比例高于未剔除人群,效应估计应在此前提下解读。」这句话的作用是 preempt 审稿人关于基线死亡率偏高的质疑。

第三句写在结论的适用范围部分:「本队列仅覆盖单一中心 2001—2008 年间由 CareVue 系统收治的住院,不可外推至 MetaVision 期或其他医疗机构。」这句话的作用是划清边界,避免结论被过度引用。

三句话都不长,但缺任何一句都会让同行对结果产生不同方向的误读。这也是使用本子集时最容易省掉、也最不该省掉的部分。

§8 生态位与历史

8.1 沿革:从两套系统到一个剪子

阶段 关键事件 遗留问题
2001—2008 CareVue 在位,数据按一套逻辑组织 与后续系统字段不同构
2008 换用 MetaVision 同一概念需两套抽取算法
2008—2012 两个库共同覆盖的四年 重叠且不可判定
2015—2016 MIMIC-III 发布并定版 v1.4 保留星期与季节、模糊年份
2020 MIMIC-IV 发布,换偏移换编号 与 III 无法对齐
2022 本子集发布 人群偏倚与体积缩小

MIMIC Code Repository 的出现,把「同一概念要写两套抽取算法」这件事从每个研究者各自的负担变成了社区共建的公共资产。本子集在某种意义上延续了同一思路:把「判断两个库是否重复」这件每个人都要做一遍、且谁都做不彻底的事,由发布方一次性做完。

8.2 与挑战赛的关系

MIMIC 家族长期是 PhysioNet 挑战赛的数据底座。本子集本身不挂挑战赛,也没有配套榜单。它的定位是基础设施而非基准:不提供任务定义、不提供评测指标、不提供划分好的训练测试集。要用它参加或复现挑战赛,需要自己按挑战赛的任务定义重建标签与划分。

8.3 生态位

层次 谁在这一层 本子集的位置
原始数据库 MIMIC-III、MIMIC-IV —
去重叠切片 本子集 唯一一层
结构化重排 MIMIC-IV on FHIR、序列样本库 下游
任务化标注 各类标注集与基准 下游
波形与影像 波形库、胸片库 平行

它卡在原始库与任务化数据集之间,做的是一件很窄的事:清掉重叠。窄到几乎没有替代品,也窄到适用范围有限。

这个生态位还有一个特点:它的价值随 MIMIC-IV 的存在而存在。若 MIMIC-IV 从未发布,就不会有重叠问题,本子集也就没有存在的理由。它是一个为「上一代与下一代并存」这段过渡期准备的工具。官方对 MIMIC-III 的态度是短期维护以便研究者过渡,因此本子集的生命周期与过渡期的长短绑定——一旦社区整体迁移到 MIMIC-IV,它作为合并工具的必要性就会下降,但它作为 2001—2008 年历史队列的独立价值仍然保留。

从这个角度看,本子集其实有两重身份:一重是过渡期的合并工具,另一重是 CareVue 期的历史档案。前者会随时间贬值,后者不会。在研究设计里区分自己用的是哪一重身份,能避免在过渡期结束之后仍在做不必要的解释。

8.4 谁在用

三类使用者。第一类是同时用两个 MIMIC 世代做时间跨度研究的人,他们需要可证明的不相交性。第二类是复现旧文献的人,他们需要一个与旧代码完全兼容的表结构,同时又能避开重复计数的质疑。第三类是做外部验证的人,他们需要一个与训练集确定不同源的测试人群。

页面记录的累计浏览量为 2,590 次,与全部版本浏览量相同(只有一个版本)。这个量级在凭证化的临床数据库里属于中等,与它极窄的适用范围相符。

§9 使用指引

9.1 三种角色的路径

角色 最短路径 要避开的坑
临床研究者 拿到凭证 → 建库导入 26 张表 → 用既有 MIMIC-III 脚本跑人群 → 与 MIMIC-IV 分段分析 忘记在方法部分写清人群剔除规则
数据工程师 下载 → 流式读 gz → 按三级主键建索引 → 保留空表 把空表删掉导致旧脚本报错
方法学研究者 用它做训练侧、MIMIC-IV 做测试侧 → 报告跨库掉点 把分布漂移全归因于泛化差距

9.2 最短流程

第一步,完成 CITI 培训并在 PhysioNet 账号关联;第二步,在项目页签署 DUA 1.5.0;第三步,下载 1.4 版本目录下的 .csv.gz 文件;第四步,建 PostgreSQL 库并用 COPY 导入,含两张空表;第五步,用既有的 MIMIC-III 查询脚本验证行数与人群;第六步,在方法部分写明「采用 MIMIC-III 的 CareVue 子集以排除与 MIMIC-IV 的个体重叠」。

9.3 引用方式

官方给出的引用格式为:

Johnson, A., Pollard, T., & Mark, R. (2022). MIMIC-III Clinical Database CareVue subset (version 1.4). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/8a4q-w170

对应的 BibTeX:

@article{PhysioNet-mimic3-carevue-1.4,
  author = {Johnson, Alistair and Pollard, Tom and Mark, Roger},
  title = {{MIMIC-III Clinical Database CareVue subset}},
  journal = {{PhysioNet}},
  year = {2022},
  month = sep,
  note = {Version 1.4},
  doi = {10.13026/8a4q-w170},
  url = {https://doi.org/10.13026/8a4q-w170}
}

按 PhysioNet 的要求,还需同时引用平台本身的文献,以及派生来源 MIMIC-III v1.4(DOI 10.13026/C2XW26)。若分析中还用到 MIMIC-IV,须一并引用 MIMIC-IV 的对应文献。

§10 AI 使用声明

项目 说明
文本生成 全文由 AI 撰写,结构、判断与措辞均为生成结果
数字来源 全部规模、结构与边界数字取自 PhysioNet 官方页面正文与版本页元数据
文件核验 写作时 PhysioNet 对当前网络出口返回区域限制,文件清单未能直接列出,表分类依据 MIMIC-III 官方页描述
不一致说明 官方页未给出本子集的患者数与住院数;正文中的 23,692 / 26,836 来自一篇外部文献,属二手值,未独立核验
论文信息 官方页列有三条参考文献:MIMIC-III v1.4、MIMIC Code Repository、MIMIC-IV v1.0
未核验内容 各表的具体行数、文件大小、校验和、逐列定义、实际人群构成
图像 封面由提示词生成,不来自数据集本体
免责 内容不构成医疗建议;数据使用受 DUA 约束,禁止再识别尝试

常见误读(避坑清单)

说法 实际 证据
它等于 MIMIC-III 的 CareVue 期全部数据 还额外剔除了与 MIMIC-IV 重叠的 6,636 人 官方页 Methods 段描述第二道过滤
它能让 MIMIC-III 与 MIMIC-IV 的时间轴对齐 两侧日期偏移策略不同,年份在 III 侧被模糊 官方页 Background 段
拼上 MIMIC-IV 就得到 2001—2019 连续队列 被拿掉的是一批人的全部历史,人群存在系统性空洞 由剔除规则推得
它是 MIMIC-III 的精简版,更好上手 26 张表逐字一致,复杂度未降 官方页 Data Description 段
里面有 MetaVision 的输液数据 inputevents_mv 与 procedureevents_mv 保留但为空 官方页 Data Description 段明写
死亡结局可直接建模 剔除规则与存活相关,存在死亡偏倚 官方页 Usage Notes 段明确提示
subject_id 可以跨库连接 MIMIC-IV 重新生成了编号 官方页 Background 段
字典表行数反映本子集覆盖度 字典表整表保留,含 MetaVision 期项目 官方页 Methods 段说明字典表不过滤
用 storetime 做时序没问题 storetime 是入库时刻,与 charttime 可差数小时 MIMIC-III 表结构定义
只用一个 itemid 就能取全某生理量 CareVue 期同一概念常有多个 itemid 需查 d_items 展开
无需审批即可下载 凭证化访问,须 CITI 培训与 DUA 1.5.0 官方页 Access 区

FAQ

它和 MIMIC-III 全库到底差在哪?

差两件事:时间和人。时间上,它只留 2001—2008 年 CareVue 系统收治的住院,2008 年之后 MetaVision 期的记录不在其中;人这一层更关键,它把所有在 MIMIC-IV v2.0 里住过院的个体整人剔除,一共移走 6,636 人。表结构层面两者逐字一致,26 张表、三级主键、字典表组织方式都相同。所以你为 MIMIC-III 写的查询基本可以原样迁移,只是返回的行数会少。

为什么非要删掉那 6,636 人?不删行不行?

不删就没法保证观测独立。MIMIC-IV 换了日期偏移策略并重新生成了 subject_id,两个库之间没有任何可用于对齐的公共主键。既然认不出谁是谁,唯一能保证不重复计数的办法就是让两个集合不相交。代价是这 6,636 人恰好更可能是存活到 2008 年之后并再次住院的人,留下的人群因此偏向死亡结局——官方页把这一点写在使用说明里,要求研究者据此限定结论。

做 2008 年之前的研究,用它还是用 MIMIC-III 全库?

如果不涉及与 MIMIC-IV 合并,全库的样本量更大,人群更完整,通常更划算。只有当你的研究设计里出现「与 MIMIC-IV 联用」这一条时,本子集才提供全库给不了的东西:一个可证明的不相交性。此外,若你复现的文献用的是全库,改用本子集会让样本量对不上,需要在论文里解释。

能不能用它来做外部验证?

可以,而且这是它最稳的用法之一。用它训练、用 MIMIC-IV 测试(或反过来),可以明确断言测试对象未出现在训练集中,这一点在多数同类资源里只能靠声明。但要注意不相交不等于同分布:两个库的人群构成、信息系统、时间语义都不同,跨库性能下降里既含真实泛化差距也含分布漂移,掉点幅度不能简单解读为泛化能力。

拿到数据后第一步该做什么?

先建库导入,包括那两张空表。官方页说明文件由 PostgreSQL 以 CSV 参数导出、gzip 压缩,解压后遵循 RFC 4180,因此 COPY 导入最省事。空表必须建——大量社区脚本假定 26 张表齐全,缺表会直接报错。导入后先跑一条既有 MIMIC-III 查询核对行数与人群,确认下载完整。之后按 §7.0 做三项前置校正:确认时间列语义、确认编号语义、确认人群定义。

术语表

术语 解释
CareVue Philips 的床旁临床信息系统(型号 M2331A、M1215A),BIDMC 重症监护室 2001—2008 年在用
MetaVision iMDsoft 的临床信息系统,2008 年起接替 CareVue
date shifting 日期偏移,去标识化手段:给每名患者的时间轴整体加随机偏移,保留间隔、抹掉绝对日期
subject_id 患者编号,MIMIC-III 与 MIMIC-IV 的编号空间互不通用
hadm_id 住院编号,一次入院一个号
icustay_id 监护室停留编号,一次住院可对应多次停留
itemid 护理与测量项目的编号,语义须查 d_items
ICD-9 国际疾病分类第九版,诊断与操作的编码体系
DRG 诊断相关分组,用于住院费用与资源消耗的分组
CPT 现行操作术语编码,用于计费
RFC 4180 逗号分隔值文件的通用格式约定
DUA 数据使用协议,凭证化数据的法律约束文件
HIPAA 美国健康保险可携性与责任法案,规定去标识化需移除的十八类标识元素
BIDMC 贝斯以色列女执事医疗中心,波士顿,原始数据的来源医院
CITI 人体研究受试者保护的标准化培训课程体系

附录 A:核心数字核对表

数字 出处
版本 1.4 官方页标题与版本区(Published Sept. 21, 2022 · Version 1.4)
发布日期 2022-09-21 官方页项目元信息与版本列表
6,636 名个体被剔除 官方页 Methods 段原文
2001—2008 年 CareVue 期 官方页 Background 段
2008—2012 年两库重叠 官方页 Abstract
MIMIC-IV 采集期 2008—2019 官方页 Background 段
26 张表 MIMIC-III v1.4 官方页 Data Description 段;本子集官方页称格式与其一致
派生自 MIMIC-III v1.4 官方页 Parent Projects 区
DOI 10.13026/8a4q-w170 官方页 Discovery 区(v1.4)
DOI 10.13026/yj38-pn40 官方页 Discovery 区(latest)
MIMIC-III DOI 10.13026/C2XW26 官方页 References 第 1 条
许可 1.5.0 / DUA 1.5.0 官方页 Access 区
培训要求 CITI Data or Specimens Only Research 官方页 Access 区
累计浏览量 2,590 官方页 Project Views 区
资助号 U24EB037545、R01EB030362 官方页页脚
23,692 名患者 / 26,836 次住院 外部文献报告值,官方页未列,未独立核验
作者 3 人 官方页作者区
参考文献 3 条 官方页 References 区

附录 B:完整参考文献

下表为官方页面 References 区列出的全部文献,另附平台本身的标准引用。

序号 文献 用途
1 Johnson, A., Pollard, T., & Mark, R. (2016). MIMIC-III Clinical Database (version 1.4). PhysioNet. https://doi.org/10.13026/C2XW26 派生母库,讨论表结构与字段定义时引用
2 Johnson, A. E., Stone, D. J., Celi, L. A., & Pollard, T. J. (2018). The MIMIC Code Repository: enabling reproducibility in critical care research. Journal of the American Medical Informatics Association, 25(1), 32-39 派生脚本与概念定义,复用社区代码时引用
3 Johnson, A., Bulgarelli, L., Pollard, T., Horng, S., Celi, L. A., & Mark, R. (2021). MIMIC-IV (version 1.0). PhysioNet. https://doi.org/10.13026/s6n6-xd98 合并分析的另一侧,联用时引用
4 Pollard, T., Moody, B. E., Lehman, L., Gow, B., Fernandes, C., Xie, C., Johnson, A., Mark, R. G., & Heldt, T. (2026). PhysioNet as a global platform for biomedical research. Nature Health. https://doi.org/10.1038/s44360-026-00096-z PhysioNet 平台标准引用,官方要求一并给出

引用时官方给出的是本子集自身的引用格式(Johnson, A., Pollard, T., & Mark, R.,2022,DOI 10.13026/8a4q-w170,RRID:SCR_007345),格式见 §9.3。若分析中同时用到母库或合并侧,须按上表一并列出。

相关数据集导航

导航说明:以上链接指向站内已发布的相邻资源,按「母集—并列—下游」的顺序排列。需要 2008 年之后的数据请转向 MIMIC-IV;需要现成模型输入请转向序列样本库;需要互操作标准表达请转向 FHIR 版本。

返回 AI-Ready 数据集