九十人近两百病人日 — MIMIC 初代多参数库

121 条记录 / 72 条完整波形 / 500 Hz 心电 + 125 Hz 其余通道

来源 https://physionet.org/content/mimicdb/1.0.0/发布时间: 2026-10-28最后更新: 2026-10-28 阅读 12
九十人近两百病人日 — MIMIC 初代多参数库

信息速览

数据集名称九十人近两百病人日 — MIMIC 初代多参数库
数据类型时序信号,波形,numerics,报警标注,元数据
规模90 余名 ICU 患者 / 121 条记录
接入方式https://physionet.org/content/mimicdb/1.0.0/
AI 就绪度

1990 年代的床旁监护仪每 1.024 秒刷新一次测量值,心电通道每秒采集五百个点,动脉血压、肺动脉压、中心静脉压、脉搏血氧容积波与呼吸波形同时压在同一条时间轴上。这些数据在临床上只活在屏幕上:监护仪算完、显示完、报警完,就随下一次刷新消失。要让一台「智能监护仪」学会分辨哪些报警是真的,研究者需要的不是截图也不是摘要,而是同一批数据的可复现副本——原始波形,加上监护仪当时自己喊出来的每一条报警。

MIMIC Database(今天常被叫作初代 MIMIC 或 MIMIC-I)就是为这件事做的第一批工程化尝试。麻省理工与波士顿 Beth Israel Hospital 在 1992 到 1999 年间,用一对串口把惠普 CMS(Merlin)床旁监护仪上的信号直接引出来写进 PC 硬盘,再刻到光盘上归档。最终成型的是 121 条记录、覆盖 90 余名 ICU 患者、近两百病人日的连续多参数数据:其中 72 条把原始波形一并公开,其余只公开由波形导出的周期性测量值(numerics)。2000 年 3 月 15 日,它以 1.0.0 版本挂在 PhysioNet 上,许可为 ODC-BY 1.0,版本 DOI 为 10.13026/C2JS34。

它的位置有点尴尬。今天提起 MIMIC,多数人指的是 MIMIC-III、MIMIC-IV 那两套几十万人的电子病历库;MIMIC 初代多参数库没有化验、没有用药、没有结局标签,只有波形、数字与监护仪自己的报警流。但也正因如此,它是少数还能回答「这台监护仪当时到底看到了什么、为什么报警」的原始材料——后来的大库为了规模,把波形留在本地、只放出数字。一屏速览见下表。

维度 内容
全名 MIMIC Database(MIMIC,Multi-parameter Intelligent Monitoring for Intensive Care;通称初代 MIMIC、MIMIC-I)
发布方 PhysioNet;数据由 MIT 计算生理实验室与波士顿 Beth Israel Hospital 联合采集
贡献者 George B. Moody、Roger G. Mark
首次发布 2000 年 3 月 15 日,版本 1.0.0
最近改动 官方版本列表只有 1.0.0 一条,未见后续修订版
记录数 121 条(含同一受试者的多次记录)
完整波形记录 72 条
患者数 90 余名 ICU 患者
总时长 近 200 病人日;numerics 合计约 4658 小时
单条时长 约 1 小时至 77 小时以上,多数 35–40 小时,平均约 40 小时
通道数 每条记录 2–3 路心电加若干路其它波形,视病例监护配置而定
采样率 心电 500 Hz,其余波形 125 Hz;numerics 每 1.024 秒(0.9765625 Hz)
分辨率 波形 12 位(WFDB 格式 212);numerics 16 位并带物理单位
原始来源 Beth Israel Hospital 内科、外科、心脏 ICU 的 HP CMS(Merlin)床旁监护仪
标注规模 qrs(心搏位置,全部标为正常)、al 与 in(患者状态与监护状态报警)、abp / pap / cvp / ple(血压类逐搏标注,视信号可用性)
标注方式 采集端同步落盘的监护仪原始输出与后期自动标注,非专家逐条判读
文件格式 WFDB:.hea 头文件、.dat 信号、.qrs .abp .al .in 等注释,另有 .txt 测量日志
许可 Open Data Commons Attribution License v1.0(ODC-BY 1.0),无需注册
体积 整库未压缩 23.5 GB,其中 numerics 目录 548 MB
典型用途 监护仪报警的假阳性研究、多参数生理耦合分析、波形算法评测、设备输出的可复现复盘

§1 它要解决的具体麻烦

1.1 智能监护缺的不是算法,是能反复跑的同一批数据

自动决策支持系统的开发有个绕不开的麻烦:算法改一次就要再评一次,而评测必须落在同一批数据上,否则「变好了」和「换了一批病人」分不开。论文式的评测通常只能复述结论,因为原始数据留在研究者手里。1996 年那篇原始论文的开头就把这个缺口写得很直白——开发与评价自动化决策支持系统需要大量「被充分刻画、可复现」的测试数据,而 MIMIC 正是为此建的。

这条需求决定了它的形态与后面的 MIMIC-III、MIMIC-IV 完全不同。后者解决的是「临床大数据够不够多」,前者解决的是「同一段监护过程能不能原样重放」。重放要求的是时间轴上的完整性:波形、测量值、报警、校准脉冲要落在同一条轴上,缺一样,「为什么报警」就退化成猜测。

具体到报警这件事,缺失的那一环最容易说清。监护仪的报警逻辑跑在波形上:心率超限来自心搏检测,血氧报警来自容积波的质量与幅度,动脉压报警来自压力波形换算出的收缩压与舒张压。病历库记录的是「护士在几点处理了一次报警」,而波形库记录的是「监护仪在几点因为看到了什么而报警」。前者只能研究处理流程,后者才能研究报警本身。这也是为什么近两百病人日的规模听起来不大,却至今没有替代品——规模能补的是统计效力,补不了这一层因果链。

1.2 三条常见的错误期待

第一条,把它当成 MIMIC-III 的早期版本。 名字相同,内容不同源。初代 MIMIC 是 1992–1999 年在 Beth Israel Hospital 用串口抓下来的波形库;MIMIC-III 及后续版本是 2001 年后从医院信息系统抽取的病历库,主体是表格与文本。官方页面专门写了这句提醒:MIMIC-II 与 MIMIC-III 的规模是初代 MIMIC 的数倍,而初代唯一的优势是心电以 500 Hz、12 位、几乎无抖动保存,MIMIC-II 的心电只有 125 Hz 的「峰值抽取」样本、8 或 10 位、抖动 ±6 毫秒。

第二条,以为它带病历里的化验与用药。 官方介绍确实写了「包含从患者病历获得的临床数据」,论文也描述了关系型数据库与病例时间线注释的建库方案。但可下载目录里能看到的是波形、numerics、报警与注释文件——没有化验表、没有用药表、没有结局字段。想做结局预测的人会在这里扑空(§7.0)。

第三条,以为报警标注是专家判读的金标准。 恰恰相反,官方把话说得很清楚:这些报警是监护仪自己报的,包括全部假报警。它的价值就在于保留了假报警,而不是剔除了假报警。

1.3 它能给到的与给不到的

你的需求 它给的 够不够
监护仪报警为什么响 报警原文(含变量与阈值)、同时间轴的原始波形、报警重复直到复位的行为 够,这是它最独特的能力
报警假阳性的量化与抑制 患者状态报警(al)与监护状态报警(in)两套标注,可对照波形复盘 够,但无真值判定,需自建判读
多参数生理耦合分析 同一时间轴上的心电、动脉压、肺动脉压、中心静脉压、容积波、呼吸 够,通道组合随病例而异
心电算法评测 500 Hz、12 位、几乎无抖动的心电,最长单条超 77 小时 够做长时程,但标注只有位置、类型单一
心搏级别的节律分类 qrs 注释给出心搏位置,但全部标为正常 不够,类型标签不可用
血压波形的逐搏特征 abp、pap、cvp、ple 四套逐搏标注(视信号可用性) 够,覆盖度取决于该记录是否录了对应通道
结局预测、用药分析 — 不够,可下载内容里没有这些字段
跨中心泛化验证 单一医院、单一厂商设备、1992–1999 年 不够,只能做跨库,不能做跨中心

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

你的处境 它能帮你什么 下一步该做什么
你在做监护仪报警的假阳性抑制,缺带真值的报警流 提供监护仪原样输出的报警时间与原文,配同时间轴波形 先按报警类型分组做人工抽样判读,建立自己的真值子集,再训练
你要复现一篇 1990 年代的 MIMIC 论文 记录号、段结构、标注名与当年一致,可直接对照 用官方索引核对记录时长与通道,确认你用的是同一条记录
你在研究血压与心率、呼吸的耦合关系 多通道同步波形,最长超 77 小时,采样率足够 按病例挑通道齐全的记录,先做对齐与单位换算(§2.6)
你想评估算法对波形质量的敏感度 真实 ICU 波形,含运动、脱落、换能器故障等干扰 用 in 标注定位监护状态异常段,作为天然的干扰样本池
你在教生理信号课,需要一个真实病例 官方索引给出每条记录的临床类别、时长与通道清单 挑一条通道齐全、时长中等的记录,用 WAVE 或 wfdb 演示
你需要大样本临床结论 — 换用 MIMIC-III / MIMIC-IV 系列(§6.3)

1.5 一句话判断

它不是「更小的 MIMIC-III」,而是一台 1990 年代 ICU 监护仪的完整黑匣子记录:规模小、字段少,但把「监护仪当时看到了什么」这件事保存得最完整。

1.6 不适合谁:四条边界

不适合做结局预测与临床建模。 没有化验、用药、诊断编码与出院结局。把「重症数据库」这个名字理解成 MIMIC-III 那种临床库,会在这里直接卡住。

不适合做心律失常的标签学习。 qrs 注释给出的是心搏位置,且全部标记为正常;它不能当心律失常的分类标签用。

不适合做跨厂商、跨年代的泛化评测。 全部数据来自 HP CMS(Merlin)一个型号、波士顿一家医院、1992–1999 一个时段。设备特征与当代监护仪差别很大。

不适合追求完整覆盖的批量统计。 通道组合、测量项、报警有无都随病例变化,官方明确说这是「尽量不干扰临床监护」的结果。做全库统一样本的统计前,必须先接受这个异质性。

§2 数据构成与规格

2.1 三层目录:库根、记录目录、十分钟段

数据库用 WFDB(Waveform Database)格式,这是 PhysioNet 自 1980 年代沿用至今的物理信号存储规范。理解它的第一步是记住目录是三层的:库根放全局清单与索引,每条记录一个目录,目录内按十分钟切成一段一段的文件。

层级 内容 典型文件
库根 全局清单、索引页、报警类型表、论文页、校验和 RECORDS、ANNOTATORS、SHA256SUMS.txt、mimic-index.shtml、alarm-types.shtml、mimic-cic96/、numerics/
记录目录 一条记录的全部内容,目录名即记录号 055/、411/、037/(共 72 个)
十分钟段 连续波形被切成十分钟的片段,可单独读也可无缝拼回 05500001.hea .dat .txt .al
记录级视图 主头文件声明该记录由哪些段按什么顺序拼成 055.hea(段清单)、055.qrs、055.abp、055.not
numerics 由波形导出的周期测量值,一条记录一组 055n.hea、.dat、.al、.in(全部 121 条)

为什么要切十分钟?论文里给了工程原因:连续记录按十分钟分段写入磁盘,日志结束后自动转储到磁带,这样断电最多损失十分钟;同时软件允许把这些段当成独立记录读,或当成一个无间隙的连续记录读。这个设计一直保留到今天的文件布局里。

2.2 波形通道与测量项的字典

官方索引逐条列出每条记录收录了哪些信号与哪些测量项。索引原文说明:心电按 500 Hz 采样,其它信号按 125 Hz 采样,numerics 每 1.024 秒一个点。下表把索引里出现过的通道名与测量项名汇总,作为字段字典。

通道 / 测量项 类型 含义 备注
I、II、III、aVR、aVL、aVF、V、MCL1 心电 体表心电导联,MCL1 为改良胸导联 心电通道 500 Hz
ABP 波形 动脉血压波形 单位 mmHg,头文件中带增益与基线
PAP 波形 肺动脉压波形 单位 mmHg
CVP 波形 中心静脉压波形 单位 mmHg
ART 波形与测量项 动脉测压通道 部分记录以 ART 取代 ABP 命名
LAP 波形与测量项 左心房压 心脏术后病例可见
UAP 波形与测量项 官方索引中的另一路动脉压通道 索引未展开全称
ICP 波形与测量项 颅内压 脑损伤病例可见
PLETH 波形 指尖光电容积脉搏波 监护仪据此推算血氧饱和度
RESP 波形与测量项 呼吸波形 / 呼吸率 波形无量纲,测量项单位 bpm
CO2 波形 二氧化碳波形(呼气末监测) 少数病例
HR 测量项 心率 单位 bpm
PULSE 测量项 脉搏率 与 HR 可分列,来自容积波或压力波
SpO2 测量项 血氧饱和度 单位 %
NBP 测量项 无创血压 单位 mmHg,间断测量
C.O. 测量项 心输出量 头文件增益 100/lpm
PAWP 测量项 肺动脉楔压 单位 mmHg
Tblood 测量项 血温 头文件增益 10/degC
ST1、ST2、ST3 测量项 ST 段偏移量(按通道编号) 带一位小数
ETCO2、IMCO2 测量项 呼气末与吸入最低二氧化碳 少数病例
AWRR、CPP、PRESS 测量项 呼吸机相关呼吸率、脑灌注压、压力类测量 少数病例

这张表的信息来源是官方索引页,而不是某一条记录的头文件:具体某条记录有哪些通道,要以该记录自己的头文件与索引中的对应一行为准。

2.3 一条记录的完整解剖

以 055 为例。它的主头文件声明整条记录是一个多段记录:

055/224 7 125 16796990 15:36:26 02/03/1995
05500001 75000
05500002 75000
...

第一行从左到右:记录名与段布局标识、7 路信号、基准采样率 125 Hz、总采样点 16796990、起始时刻 1995 年 3 月 2 日 15:36:26。后面每一行是一个段名加该段的采样点数,75000 个采样点除以 125 Hz 正好 600 秒,即十分钟。16796990 除以 125 约等于 134376 秒,约 37.3 小时,与官方索引给出的 37.5 小时一致。

单个段的头文件给出每一路信号怎么存:

05500001 7 125 75000 15:36:26 02/03/1995
05500001.dat 212x4 2000 12 0 235 3278 0 MCL1
05500001.dat 212x4 2000 12 0 -7 -20978 0 III
05500001.dat 212x4 2000 12 0 390 22670 0 V
05500001.dat 212 20(-1600)/mmHg 12 0 142 -16863 0 ABP
05500001.dat 212 40(-1600)/mmHg 12 0 -637 27587 0 PAP
05500001.dat 212 2000 12 0 -204 -27633 0 PLETH
05500001.dat 212 2000 12 0 2041 -21382 0 RESP

这里有三处要读懂。第一,212 是 WFDB 的十二位打包格式,两个样本占三字节,字段名里的 12 是位分辨率。第二,心电三路写的是 212x4:x4 是 WFDB 的「每帧样本数」修饰符,意思是这一路在每一个基准采样间隔里存 4 个样本,实际采样率就是 125×4 = 500 Hz,与官方索引「心电 500 Hz」的说法互相印证;其余四路没有这个修饰符,就是 125 Hz。第三,增益字段带单位:20(-1600)/mmHg 表示每毫米汞柱 20 个整数单位、基线偏移 -1600;PLETH 与 RESP 写 2000 这类纯数字,表示无量纲定标。

numerics 的头文件是另一套写法,采样率约 0.9765625 Hz,16 位,每路自带物理单位:

055n 12 0.9765625 131250 15:36:24 02/03/1995
055n.dat 16 1/mmHg 16 0 89 18500 0 ABPmean
055n.dat 16 1/mmHg 16 0 114 24605 0 ABPsys
055n.dat 16 1/mmHg 16 0 78 -19353 0 ABPdias
055n.dat 16 100/lpm 16 0 412 -32483 0 C.O.
055n.dat 16 1/bpm 16 0 101 16590 0 HR
055n.dat 16 1/mmHg 16 0 27 -2578 0 PAPmean
055n.dat 16 1/mmHg 16 0 34 -2469 0 PAPsys
055n.dat 16 1/mmHg 16 0 22 -12395 0 PAPdias
055n.dat 16 1/bpm 16 0 100 5044 0 PULSE
055n.dat 16 1/bpm 16 0 15 6758 0 RESP
055n.dat 16 1/% 16 0 100 -24038 0 SpO2
055n.dat 16 10/degC 16 0 371 -26359 0 Tblood

131250 个采样点乘以 1.024 秒约等于 134400 秒,即约 37.3 小时,与波形长度对得上——这也是核对「波形与 numerics 是否同一段监护」的最简办法。

2.4 受试者与记录的映射

官方索引按受试者分组,做法是给每位受试者一个与其第一条记录号相同的编号,同一受试者的多条记录归在一起,并在括号里给出性别与年龄(有则给,无则注明未记录)。

关系 官方口径 使用含义
记录总数 121 条 numerics 覆盖全部 121 条
波形记录数 72 条 只有这 72 条带原始波形
受试者数 90 余名 索引按受试者分组列出
一人多次 约三分之一的患者有两条记录,少数三条 按记录划分数据集会把同一人放进两侧
受试者编号 与其第一条记录号相同 划分时以受试者编号为分组键
编号不连续 记录号跨 032–488 区间但不连续 编号不是序号,不能当计数用

这条映射是最容易被忽略的泄漏源。同一受试者的两次记录,共享的不只是同一个人,还有同一台监护仪、同一批电极与换能器、同一套报警阈值设置。如果按记录随机切分训练与测试,模型只要记住「这个人的动脉压波形形态」,就能在测试侧白拿分,而这个能力换到另一家医院完全失效。正确做法是按受试者编号分组,同一个人只出现在一侧。

2.5 与同类资源的字段差异

对比项 初代 MIMIC(本库) MIMIC-II 波形 MIMIC-III 波形库(站内 mimic3wdb) MIMIC-IV 波形库(站内 mimic4wdb)
主体内容 原始波形 + numerics + 报警 波形 + numerics 波形与临床数据联动 波形与临床数据联动
心电采样 500 Hz,12 位,官方称几乎无抖动 125 Hz 峰值抽取,8 或 10 位,抖动 ±6 毫秒 125 Hz 62.5 Hz 以上(依通道)
数据年份 1992–1999 2001 起 2000 年代后 2008–2019
记录规模 121 条(72 条带波形) 远大于初代 远大于初代 远大于初代
报警原文 有,且保留假报警 有 无(以临床事件为主) 无
临床表格 可下载内容中没有 有 有 有
许可 ODC-BY 1.0 依版本 需完成认证与数据使用协议 需完成认证与数据使用协议
取用门槛 无需注册 依版本而定 高(需伦理与培训) 高(需伦理与培训)

这张表最该被记住的是最后一行的差异:初代 MIMIC 是整条 MIMIC 谱系里门槛最低的一个,ODC-BY 1.0、无需注册、无需数据使用协议。代价是规模与临床字段。

2.6 通道的物理含义与单位换算

通道类别 头文件写法 物理量 换算要点
心电 212x4 + 增益(如 1047/mV) 毫伏 先减 ADC 零值再除增益;实际采样率 500 Hz
压力波形 212 + 20(-1600)/mmHg 毫米汞柱 括号里的数是基线偏移,读数要减掉
容积波与呼吸 212 + 2000 无量纲定标 只能做相对比较,不能当物理量
numerics 压力 16 + 1/mmHg 毫米汞柱 16 位存储,单位已写在头文件
numerics 率值 16 + 1/bpm 每分钟次数 心率与脉搏率分列,可能不相等
血氧 16 + 1/% 百分比 0 值在部分记录里代表未测量而非缺氧
血温 16 + 10/degC 摄氏度 读数除以 10
心输出量 16 + 100/lpm 升每分 读数除以 100

单位写在头文件里这件事,是 WFDB 相对 CSV 的核心优势,也是转格式时最容易丢的信息(§5.4)。

2.7 采样偏斜与校准:跨通道的毫秒级比较要留神

论文方法部分交代了一个很容易被忽略的细节:每次采集开始时,先录一段监护仪的校准脉冲,后期复查用这些脉冲校正心电通道之间的采样偏斜。但校正只做了一半——由于监护仪自身设计的限制,其它通道之间可能残留 16 毫秒或 32 毫秒的偏斜,且未被校正。

通道类别 偏斜处理 对分析的影响
心电通道之间 用校准脉冲校正 心电内部的相对时刻可用于毫秒级分析
心电与其它通道 残留 16 或 32 毫秒 脉搏波传导时间一类的计算会带上系统误差
压力通道之间 残留 16 或 32 毫秒 多通道压力比较要声明误差范围
numerics 与波形 不同采样网格(1.024 秒对 500 Hz) 合并前必须重采样并对齐时间基准

这条边界的实际后果很具体:凡是把两个非心电通道的波形特征做时间差的研究(例如用心电 R 波到容积波峰值的间隔估算脉搏传导时间),都要在方法里写明这 16 或 32 毫秒的系统误差,否则结果不可与别的数据源横向比较。校准脉冲本身也被做成标注保留下来,对应注释角色清单里的 not(calibration annotations),需要校正的记录可以直接取用。

§3 它是谁的数据

3.1 贡献者与机构

角色 主体 出处
数据作者 George B. Moody、Roger G. Mark 官方页面作者栏
所属机构 MIT 计算生理实验室(MIT Laboratory for Computational Physiology) 官方页面作者单位与页脚
采集医院 波士顿 Beth Israel Hospital,内科、外科、心脏三个 ICU 1996 年论文方法部分
设备厂商 惠普 CMS(Merlin)床旁监护仪,厂商提供接口卡与技术支援 论文方法部分与致谢
资助方 惠普基金会、Nihon Kohden America;平台侧由 NIH 资助 论文致谢与 PhysioNet 页脚
维护方 MIT 计算生理实验室 官方页面页脚

3.2 时间线

时间 事件 依据
1992–1999 在三个 ICU 采集多参数记录 官方页面「Related Databases」段
1995 年前后 现存记录头文件的起始时刻(如 1995-03-02、1995-05-16) 记录头文件
1996 Computers in Cardiology 23:657–660 论文发表,描述建库方案 官方引用文献
2000-03-15 版本 1.0.0 在 PhysioNet 发布 官方版本列表
2016–2019 站点迁移期间文件清单与校验和重传 官方文件目录时间戳
至今 版本仍为 1.0.0,无修订版 官方版本列表

3.3 采集场景:串口带宽决定了它的形态

论文的方法部分把工程约束讲得很具体,这些约束至今解释着数据的形状:

约束 具体值 造成的结果
传输链路 监护仪两块可选接口卡,双串口 38400 波特 通道数上限由带宽决定
采集配置上限 3 路心电 500 Hz 加 4–5 路 125 Hz,或 2 路心电加 6 路其它 每条记录的通道组合不同
单条容量 约 600 MB 封顶,便于刻进一张光盘 单条最长约 80 小时
分段策略 十分钟一段,写盘后自动转储磁带 目录里几百个段文件
采样偏斜 心电商用校准脉冲校正;其它通道间残留 16 或 32 毫秒偏斜 跨通道的毫秒级比较要谨慎
采集姿态 尽量不干扰常规监护,不指定必录通道 通道与测量项随病例变化

最后一行是最重要的一点。官方索引里那些看起来「缺胳膊少腿」的记录,不是数据质量问题,而是 protocol 主动选择的结果:临床需要监测什么,就录什么。

3.4 来源层次:从原始波形到索引

层次 内容 是否可下载
第一层 床旁监护仪的原始波形(心电 500 Hz、其它 125 Hz) 是,72 条
第二层 由波形导出的周期测量值 numerics(每 1.024 秒) 是,121 条
第三层 监护仪输出的报警原文与监护状态消息 是(部分记录为空,见 §4.5)
第四层 自动标注:qrs、abp、pap、cvp、ple、not 是,视信号可用性
第五层 官方索引:临床类别、时长、信号与测量项清单 是(mimic-index.shtml)
论文描述的临床数据层 症状、诊断、病程记录、用药、化验结果,进关系型数据库并生成时间线注释 可下载目录中没有对应表

第六层的落差需要在论文里写清楚:按论文描述,完整形态的 MIMIC 应该包含这部分临床数据,而 PhysioNet 上发布的这一版只到第五层。把「官方介绍里提到临床数据」当成「下载包里有化验表」,是这里最常见的误读。

§4 它最独特的东西

4.1 稀缺性:几百病人日的原始多参数波形

公开数据集里,长时程心电不少见,长时程的多通道同步波形很少见,带监护仪报警原文的更是几乎没有。初代 MIMIC 把三者叠在了一起:近两百病人日、每条记录最多七到八路同步通道、报警原文与波形同一条时间轴。这个组合是 1990 年代工程条件的产物——后来规模更大的 MIMIC 版本放弃了原始波形的全量公开,转向临床表格。

放弃的原因不难推断,也在论文里留下了痕迹:单条记录约 600 MB 的封顶,本身就来自「一张光盘装得下」的约束,而整库 23.5 GB 在今天不算什么,在 2000 年前后是实打实的分发负担。相比之下,从医院信息系统抽取的表格数据体积小、字段多、能支撑的统计问题也更多。于是谱系的重心整体移向表格,波形退化为子集。初代 MIMIC 因此成为一个「分发逻辑留在二十年前」的遗留物,而它的价值恰恰在于没有被后来的取舍改写过:采集时监护仪输出了什么,今天拿到的就是什么。

4.2 差异化证据:心电质量的官方口径

维度 初代 MIMIC MIMIC-II
心电采样率 500 Hz 125 Hz
采样方式 连续采样 峰值抽取(peak-picked)
位精度 12 位 8 或 10 位
抖动 官方称几乎可忽略 ±6 毫秒
波形可用性 可做形态与间期分析 只适合粗略节律分析

这段话是官方页面原话,也是初代 MIMIC 至今仍被波形研究者提及的唯一硬理由:要做毫秒级的心电形态分析(QT 间期、ST 形态、心搏级别的波形特征),后续大库的采样规格不够,而初代够。

4.3 两个具体案例

记录 临床类别 时长 波形通道 numerics 测量项 备注
055 呼吸衰竭 37.5 小时 MCL1、III、V、ABP、PAP、PLETH、RESP(7 路) ABP 三项、PAP 三项、C.O.、HR、PULSE、RESP、SpO2、Tblood(12 项) 官方页面说 al 与 in 标注自 055 起才有
411 官方索引给出临床类别 头文件起止可见 II、V、ABP、PAP、PLETH、RESP(6 路) C.O.、RESP、SpO2、Tblood(4 项) 官方页面用它举例:rdann -r mimicdb/411/411 -a al
037 官方索引给出临床类别 31.0 小时 MCL1、ABP、RESP(3 路) ABP 三项、HR、PULSE、RESP、SpO2(7 项) 属前 5 例,报警文件为空

这三条记录放一起看,正好说明异质性有多强:通道从 3 路到 7 路,测量项从 4 项到 12 项,时长从 31 小时到 37.5 小时。任何「全库统一输入维度」的想法都要先过这一关。

4.4 标注粒度:报警是监护仪的原话,不是专家的判读

官方的报警类型页(alarm-types.shtml)说明:清单里的报警消息原产自 HP CMS(Merlin)监护仪,且只是 MIMIC 中实际出现过的那些,不是厂商全部可能的报警。消息里的 m 是监护仪测得的值,n 是报警阈值;多数为整数,ST 与血温带一位小数;i 表示通道号。

形态 示例 含义
越限 ** HR m < n、** ABP m > n 变量越过设定阈值
危急 ***ASYSTOLE、***VENT FIB/TACH、***APNEA 三颗星标记的高优先级事件
节律 ** IRREGULAR HR、** MULTIFORM VPBs、** VENT BIGEMINY 监护仪自己的节律判读
脱落 ***ABP DISCONNECT、***PAP DISCONNECT 换能器或导管连接问题
通道相关 ** ST i m.m < n.n、** P i m < n 带通道号的报警

这类标注的关键性质有两条,都写在官方说明里:一是报警包含全部假报警;二是一旦触发,监护仪每 1.024 秒重复输出该报警,直到工作人员复位或变量回到正常范围。第二条决定了「数报警条数」是没有意义的——同一个事件会重复成百上千次,正确的做法是按时间把重复的报警聚成事件。

4.5 边界条件:哪些记录没有哪些东西

边界 官方口径 影响
前 5 例无报警 032、033、037、039、041 的 .al 与 .in 文件为空 报警相关研究要把这 5 条剔除
al 与 in 的起点 055 之后的记录才有患者状态与监护状态报警 055 之前只有波形与 numerics
qrs 标注 全部记录都有,但所有心搏都标为正常 只能当心搏位置,不能当节律标签
血压类标注 abp、pap、cvp、ple 只在该信号存在的记录里 逐搏血压研究要先筛记录
校准注释 not 少数记录带有校准脉冲标注 通道偏斜校正的参考
波形记录数 72 条;其余记录只有 numerics 波形研究的有效样本是 72 条而非 121 条

最后一行是规模口径里最关键的一条:写下「121 条记录」时必须同时写下「其中 72 条有波形」,否则读者会按 121 条估算波形数据量。

§5 怎么拿到

5.1 目录结构

mimicdb/1.0.0/
├── RECORDS                #-- 记录目录清单,每行一个记录号+斜杠
├── ANNOTATORS             #-- 注释角色清单:abp al all cvp in log not pap ple qrs
├── SHA256SUMS.txt         #-- 全库文件校验和
├── alarm-types.shtml      #-- 报警消息原文清单
├── mimic-index.shtml      #-- 官方索引:临床类别、时长、信号、测量项
├── mimic-cic96/           #-- 1996 年论文全文(HTML)
├── numerics/              #-- 121 条记录的周期测量值
│   ├── 037n.hea .dat .al .in .xws
│   └── ...
└── 055/                   #-- 一条完整记录一个目录
    ├── RECORDS            #-- 本记录内部的段清单
    ├── 055.hea            #-- 主头文件:段名+每段采样点数
    ├── 055.qrs .abp .pap .ple .al .not
    ├── 055n.hea .dat .al .in
    ├── 05500001.hea .dat .txt .al
    └── ...                #-- 十分钟一段,几百个段

5.2 批量下载

官方给出的整库取法是递归 wget,也提供整库压缩包与 AWS 命令行通道:

#-- 整库递归下载(官方页面给出的命令,23.5 GB,务必加 -c 断点续传)
wget -r -N -c -np https://physionet.org/files/mimicdb/1.0.0/

#-- 只取 numerics(548 MB),多数研究的起步选择
wget -r -N -c -np https://physionet.org/files/mimicdb/1.0.0/numerics/

#-- 只取一条记录的波形目录
wget -r -N -c -np https://physionet.org/files/mimicdb/1.0.0/055/

有一个现实约束要写在前面:核对时(2026-10-28)从部分网络出口访问官方文件页,会返回「Data is not available in your region due to legal or policy restrictions」而拿不到文件清单。这与许可无关(许可为 ODC-BY 1.0、无需注册),是站点按访问来源做的限制。遇到这种情况的可行路径是换网络出口、走 AWS 命令行通道,或先用 wfdb 的远程读取接口确认哪些记录能取到,再决定下载范围。

5.3 流式读取

不落盘也能读。官方页面的例子是读 411 的报警注释,命令里 411 出现两次,第一次是目录、第二次是记录名:

#-- 官方给出的命令行写法
rdann -r mimicdb/411/411 -a al

Python 侧对应的写法:

import wfdb

#-- 记录级视图:主头文件按段清单把整条记录拼成连续记录
hdr = wfdb.rdheader('411/411', pn_dir='mimicdb')
print(hdr.sig_name)          #-- 通道名,心电在前
print(hdr.fs, hdr.sig_len)   #-- 基准 125 Hz 与总采样点数

#-- 单段读取:段名 = 记录号 + 五位序号
seg = wfdb.rdrecord('411/41100271', pn_dir='mimicdb')
print(seg.p_signal.shape)    #-- (75000, 6),已按头文件增益换算

#-- numerics:记录号 + n 后缀,采样间隔 1.024 秒
num = wfdb.rdrecord('411/411n', pn_dir='mimicdb')
print(num.sig_name, num.fs, num.sig_len)

#-- 报警注释:aux_note 里是监护仪报警原文
ann = wfdb.rdann('411/411n', 'al', pn_dir='mimicdb')
print(ann.sample[:3], ann.aux_note[:3])

5.4 转表

numerics 转成分析用的表格时,最容易丢的是单位与时间基准。下面这段把单位与时间一起带上:

import wfdb
import pandas as pd

#-- 读 numerics 的物理量与通道名(单位在头文件里)
rec = wfdb.rdrecord('055/055n', pn_dir='mimicdb')
units = [u or '' for u in rec.units]

#-- 采样间隔 1.024 秒,用起始时刻重建绝对时间
t0 = pd.to_datetime(rec.base_time.isoformat()) if rec.base_time else None
idx = pd.to_timedelta(rec.sig_len and [i * 1.024 for i in range(rec.sig_len)], unit='s')
if t0 is not None:
    idx = t0 + idx

df = pd.DataFrame(rec.p_signal, columns=[f'{n}({u})' for n, u in zip(rec.sig_name, units)])
df.insert(0, 'time', idx)
print(df.shape, list(df.columns))

转表的三条原则:单位跟着列名走,不要丢;时间用 1.024 秒重建,不要用采样点序号当秒数;波形与 numerics 的时间基准不同,合并前必须重采样到同一网格。

5.5 注释映射

注释名 ANNOTATORS 里的官方说明 读取方式
qrs unaudited beat annotations(未审核的心搏标注,全部标为正常) rdann -r mimicdb/055/055 -a qrs
al patient alarms(患者状态报警) rdann -r mimicdb/411/411 -a al
in monitor status alarms(监护状态报警) rdann -r mimicdb/411/411 -a in
all 监护状态与患者状态报警的并集 -a all
abp / pap / cvp / ple 对应压力或容积波的逐搏标注 -a abp 等,仅该信号存在的记录
not calibration annotations(校准脉冲) -a not
log timeline annotations(时间线注释) 官方清单列出,实际文件按记录核查

5.6 五个坑

坑 现象 正确做法
把 125 当心电采样率 头文件记录行写基准 125 Hz 心电通道带 x4 修饰符,实际 500 Hz
用报警条数事件数 同一事件每 1.024 秒重复 按时间窗把重复报警聚成事件再计数
拿 qrs 当心律失常标签 所有心搏标为正常 只用位置,不用类型
按记录切分训练测试 同一受试者有两条甚至三条记录 按受试者编号分组
全库当同构数据 通道与测量项随病例变化 先按索引筛出通道齐全的记录子集

§6 与库内条目的关系

6.1 关系图谱

站内数据集 关系 怎么用
mimic3wdb 同谱系的后续波形库,规模远大于本库 需要样本量时用它,需要报警原文与 500 Hz 心电时用本库
mimic4wdb 最新一代波形库,与临床数据联动 做「波形 + 结局」的联合建模时用它
mimic3wdb-matched 波形与临床记录配对的子集 需要波形与病历对齐时的替代方案
mimic-iii 临床表格库,无原始波形 结局预测与用药分析的主战场
mimiciv 最新临床表格库 同上,规模更大
mimic-iv-waveform-legacy 波形侧的现代对照 对比 1990 年代与当代设备的信号特征
mimic-perform 重症 PPG 心跳检测基准 做脉搏波检测时对照
mimic-iii-ext-ppg 光电容积波心律基准 容积波算法的现代对照
mimic-iv-ecg 院内十二导联心电波形库 需要标准十二导联时用它,本库只有 2–3 路心电
hirid 高时间分辨率 ICU 数据库 需要高频测量值网格时的替代
eicu-crd 多中心 ICU 数据库 需要跨中心样本时的替代
nwicu 多院区 ICU 电子病历 需要更近年代的临床数据时对照

6.2 检索路径

从主题出发:本库的官方主题标签是 health record、icu、ehr、critical care、mimic。按「重症监护」检索会同时命中上表的大部分数据集;按「波形」检索会收敛到本库、mimic3wdb、mimic4wdb 与 mimic-iv-ecg 这一支;按「报警」检索几乎只命中本库——这是它在全站里最窄也最独特的入口。

6.3 分工判据

你的问题 该找谁 理由
监护仪为什么会误报警 本库 只有它保留了监护仪原样输出的报警原文
心电波形形态的精细分析 本库 500 Hz、12 位、几乎无抖动
需要几百例以上的样本 mimic3wdb / mimic4wdb 规模
需要化验、用药、结局 mimic-iii / mimiciv 临床表格
需要标准十二导联 mimic-iv-ecg 导联配置
需要多中心 eicu-crd / nwicu 中心数
需要波形与病历对齐 mimic3wdb-matched / mimic4wdb 配对关系

§7 质量评估与局限性

7.0 前置校正:纸面数字与文件数字的口径

动手前先把三组口径对齐,后面所有结论才站得住:

口径 纸面说法 文件里的实际 以哪个为准
记录数 121 条 numerics 目录 121 条,波形目录 72 个 分层表述:121 条总数,72 条带波形
患者数 90 余名 索引按受试者分组,部分受试者多条记录 以受试者编号为准,不按记录数
总时长 近 200 病人日 numerics 合计约 4658 小时(约 194 天) 官方文字与 numerics 页互相印证
采样率 心电 500 Hz 头文件基准 125 Hz,心电带 x4 修饰符 心电 500 Hz,其余 125 Hz
临床数据 介绍中提到来自病历的临床数据 可下载目录里没有化验、用药、结局表 以可下载内容为准

7.1 五维评分

维度 评价 依据
时间轴完整性 高 波形、测量值、报警、校准落在同一条轴上
信号质量 中高,心电高 心电 500 Hz 12 位;其余通道存在 16–32 毫秒残留偏斜
标注可信度 分层:波形自动标注可用,报警为设备原始输出 官方明确报警含假报警
临床上下文 低 只有临床类别与时长,无化验用药结局
规模与泛化 低 90 余人、单一医院、单一厂商设备、单一时段

7.2 标注的两层可信度

层 内容 可信度 用途
波形层 心电、压力、容积波、呼吸的原始采样 高,受采集链路噪声影响 信号算法的输入真值
自动标注层 qrs、abp、pap、cvp、ple 的逐搏标注 中,官方标注为未审核 可用作位置参考
设备输出层 al、in 报警原文 作为「监护仪说了什么」是真值;作为「患者发生了什么」是真值加噪声 报警研究的目标对象本身
索引层 临床类别、时长、通道清单 高 筛选记录的依据

第三层最容易被误读。它记录的不是「患者发生了什么事件」,而是「监护仪当时认为发生了什么事件」。这两个量之间的差,正是报警研究要研究的东西——把它当成噪声滤掉,研究就没了对象。

7.3 可枚举偏差

偏差 机制 后果
选择偏倚 论文明确说选取的是预计在记录期内血流动力学不稳定的患者 病理分布偏向循环波动,不代表普通 ICU 人群
设备偏倚 单一厂商单一型号监护仪 报警行为与阈值逻辑带厂商特征
中心偏倚 波士顿一家医院三个 ICU 无法做跨中心验证
时代偏倚 1992–1999 年的监护实践 当代设备与流程已变化
通道异质 不指定必录通道,按临床需要录 全库同构输入不可得
记录长度差异 约 1 小时至 77 小时以上 按时间加权与按记录加权结论不同
波形缺失 121 条中 49 条只有 numerics 波形研究的有效样本是 72 条

7.4 外部验证的边界

本篇的事实核验只覆盖官方页面、官方文件目录与 1996 年论文全文(HTML 版)。关于「谁在用、用得怎么样」这部分,只做了摘要级检索,没有读全文,也没有做第三方复现。因此凡涉及外部效果的判断,一律只作定性表述。

要把它变成可引用的外部验证,至少还缺三步:一是下载目标记录的全量波形与注释,按受试者编号固定分组;二是对报警做人工抽样判读,把「监护仪说有」与「临床确实发生」分开标注;三是在论文里写明分组口径、通道组合与偏斜误差,让后来者能复算。这三步本文都没有做,正文里凡涉及效果的说法都只到「有人这样用」为止。

7.5 为什么二十多年后还在用

三个理由,都能追到具体事实:心电规格至今优于后续大库(500 Hz、12 位、几乎无抖动);报警原文加波形的组合在公开数据里几乎唯一;许可门槛最低(ODC-BY 1.0,无需注册与数据使用协议)。这三条不构成「它更好」的结论,只说明它在特定问题上没有替代品。

§8 生态位与历史

8.1 沿革

阶段 时间 主体内容 与本库的关系
MIMIC(本库) 1992–1999 多参数波形 + numerics + 报警 起点
MIMIC-II 2001 起 波形 + 更完整的临床数据 规模倍增,心电规格下降
MIMIC-III 2000 年代后 临床表格为主,波形为子集 成为主流重症数据库
MIMIC-IV 2008–2019 临床表格 + 波形子集 当前主力

官方页面对这段沿革的评价很克制:初代项目让人学到很多,后续项目尤其在临床数据收集上做得更多;而初代唯一的优势是心电采样规格。这句话既解释了为什么它被后来的库盖过,也解释了为什么它没被删掉。

这段沿革还有一个容易被忽略的侧面:它是「以光盘为单位分发」的时代的产物。单条记录按约 600 MB 封顶、每十分钟一段便于分卷、论文里还专门提到「原则上可以做出跨越多张光盘的无缝记录」——这些设计都是为了把一次连续监护塞进物理介质。等带宽足够、云端分发成为常态后,这些约束全部消失,波形的全量公开反而变得容易;但那时的项目重心已经移到了临床表格上。初代 MIMIC 因此停在了它被设计出来的那个年代,既没有被扩容,也没有被重新采集。

8.2 与挑战赛

官方页面没有列出与本库直接关联的挑战赛。站内若干挑战赛数据集与它共享生理信号标签,但那是标签层面的邻近,不是数据来源层面的引用。把「PhysioNet 挑战赛用过 MIMIC」推到「本库是某届挑战赛数据源」上,需要该届赛题的官方说明支撑,这里没有。

8.3 生态位

位置 说明
在 MIMIC 谱系里 起点与波形侧的原点,后来的库都从它长出
在波形库里 唯一带监护仪报警原文的 ICU 多参数库
在许可维度上 同类数据里门槛最低的一档
在任务维度上 报警研究、生理耦合分析、设备输出复盘的默认选项
在规模维度上 明显劣势,不适合任何靠样本量取胜的任务

8.4 谁在用

按可核验的痕迹看,三类使用者最典型:做监护仪报警与假阳性抑制的研究者(需要假报警真值)、做多参数生理耦合与信号质量研究的工程师(需要同步多通道)、以及需要复现 1990 年代 MIMIC 论文结果的复核者(需要同一批记录号与标注口径)。这三类都不是「大样本临床建模」人群——那部分人应该在 MIMIC-III、MIMIC-IV 一侧。

§9 使用指引

9.1 三种角色的最短路径

角色 路径 关键一步
报警研究者 索引挑有报警的记录 → 读 al / in → 与波形对齐 → 人工抽样建真值 剔除前 5 例空报警记录
信号算法工程师 挑通道齐全记录 → 读段波形 → 按 x4 还原心电 500 Hz → 建模 按受试者编号分组划分
复核者 按记录号定位 → 核对头文件起止与段数 → 对齐 numerics 与波形长度 用总采样点数交叉验证时长

9.2 最短流程

import wfdb
import pandas as pd

#-- 第一步:用索引挑一条通道齐全、有报警的记录(示例用 411)
ann = wfdb.rdann('411/411n', 'al', pn_dir='mimicdb')

#-- 第二步:报警原文(监护仪原话)与发生时刻
ev = pd.DataFrame({'sec': ann.sample * 1.024, 'msg': ann.aux_note})

#-- 第三步:按时间窗把重复报警聚成事件(官方说明:触发后每 1.024 秒重复)
ev['evt'] = (ev['msg'] != ev['msg'].shift()).cumsum()
events = ev.groupby('evt').agg(msg=('msg', 'first'),
                               t0=('sec', 'min'),
                               t1=('sec', 'max'))
print(events.head())

#-- 第四步:取对应时刻的波形做复盘
rec = wfdb.rdrecord('411/41100271', pn_dir='mimicdb')
print(rec.sig_name, rec.p_signal.shape)

9.3 引用方式

官方要求在引用数据时同时给出原始论文与平台引用:

Moody GB, Mark RG. A Database to Support Development and Evaluation
of Intelligent Intensive Care Monitoring. Computers in Cardiology
23:657-660 (1996).

PhysioNet 平台引用:
Pollard T, Moody BE, Lehman L, Gow B, Fernandes C, Xie C, Johnson A,
Mark RG, Heldt T. PhysioNet as a global platform for biomedical
research. Nature Health (2026). doi:10.1038/s44360-026-00096-z

版本 DOI:10.13026/C2JS34
来源页:https://physionet.org/content/mimicdb/1.0.0/

许可层面,ODC-BY 1.0 要求署名,允许商业使用,但要求注明数据来源并保留许可声明;具体条款以官方许可全文为准。

§10 AI 使用声明

项目 声明
文本生成 本文由 AI 辅助撰写,编辑把关结构与事实
数字来源 规模、结构、边界三类数字来自 PhysioNet 官方页面、官方文件目录与 1996 年论文全文
文件核验 根 RECORDS(72 个记录目录)、ANNOTATORS、055.hea、05500001.hea、055n.hea、41100271.hea、411n.hea、037/03700018.txt 经直接访问确认
不一致说明 官方文字称 121 条记录,波形目录为 72 个;已在 §7.0 分层说明
论文信息 1996 年论文读了 HTML 全文(摘要、方法、讨论与致谢),未核对印刷版页码
未核验内容 各报警类型在具体记录中的出现情况、逐条记录的段数与总时长完整清单、临床类别与记录号的完整对应
图像 无配图;封面为生成式提示词,不含真实波形
免责 本文不构成临床建议;数据使用须遵守 ODC-BY 1.0 署名要求

常见误读(避坑清单)

说法 实际 证据
「它是 MIMIC-III 的早期版本」 不同的采集年代、不同的机构工程、不同的内容主体 官方 Related Databases 段明确区分两者
「121 条记录都有波形」 72 条有波形,121 条都有 numerics 官方页面与文件目录
「心电是 125 Hz」 心电 500 Hz,头文件用 x4 修饰符表达 头文件 212x4 + 官方索引
「报警标注是专家判读的真值」 是监护仪原样输出,官方明确包含假报警 numerics 页与报警类型页
「qrs 注释能用于心律失常分类」 全部心搏标为正常 官方页面与 ANNOTATORS
「下载包里有化验与用药」 可下载目录只有波形、numerics、报警与注释 记录目录清单
「报警条数就是事件数」 触发后每 1.024 秒重复直到复位 numerics 页说明
「按记录切分训练测试没问题」 同一受试者有两条甚至三条记录 官方索引按受试者分组
「全库通道一致」 通道与测量项随病例监护需要变化 官方索引逐条列出不同组合
「前 5 例也有报警」 032、033、037、039、041 的报警文件为空 numerics 页明确列出
「它已经过时没用了」 心电规格与报警原文至今无替代 官方 Related Databases 段

FAQ

Q1:它和 MIMIC-III、MIMIC-IV 到底是什么关系?
名字同源,内容不同源。初代 MIMIC 是 1992–1999 年在 Beth Israel Hospital 采集的波形库,2000 年发布;MIMIC-II 起转向临床数据的规模化收集。官方页面的说法是后两者规模是初代的数倍,而初代唯一优势在心电采样规格。做临床建模应该去 MIMIC-III、MIMIC-IV;做波形与报警研究留在初代。

Q2:为什么记录数是 121,但目录只有 72 个?
这两个数字描述的是不同层次的东西。121 是记录总数,对应 numerics 目录里的 121 组周期测量值;72 是当前公开了原始波形的记录数。官方页面两个数字都写了,随库发布的 numerics 说明页也提到当时上线了 72 个记录目录、其余 49 个尚未上线。写论文时应当写成「121 条记录,其中 72 条含原始波形」。

Q3:心电到底是 500 Hz 还是 125 Hz?
500 Hz。WFDB 头文件的记录行写的是基准采样率 125 Hz,而心电通道的格式字段写成 212x4,其中 x4 是「每帧样本数」修饰符,表示该通道在每个基准间隔里存 4 个样本,实际就是 500 Hz。其余通道没有这个修饰符,就是 125 Hz。官方索引也直接写「心电 500 Hz,其它信号 125 Hz」。

Q4:报警标注能不能直接当不良事件的标签?
不能。官方说明得很明确:这些报警是监护仪自己报的,包括全部假报警;而且一旦触发,监护仪每 1.024 秒重复输出,直到工作人员复位或变量回到正常范围。正确用法是把它当作「监护仪的输出」来研究,先用时间窗聚成事件,再通过人工抽样建立你自己的真值子集。

Q5:qrs 注释有什么用?
它给出心搏位置,官方标注为未审核、且所有心搏都标为正常。所以它能用来做心搏检测器的位置参考,不能用来做心律失常分类。需要类型标签的研究得自己标注,或者改用带类型标注的其它库。

Q6:数据能商用吗?
ODC-BY 1.0 允许商业使用,条件是署名并保留许可声明。它不需要注册、不需要数据使用协议,这一点与 MIMIC-III、MIMIC-IV 的受控访问不同。具体条款以官方许可全文为准。

Q7:为什么同一个患者的几次记录要放在一起看?
因为官方索引明确按受试者分组,且说明约三分之一的患者有两条记录、少数三条。同一个人、同一台监护仪、同一套阈值设置,两次记录的相关性极强。按记录随机划分会让模型在测试侧见到「同一个人」的波形特征,成绩虚高。

Q8:整库 23.5 GB,有更省的入门方式吗?
有。numerics 目录只有 548 MB,覆盖全部 121 条记录,足以支撑测量值层面的研究;需要波形时再按记录目录单取,一条记录约几百 MB。核对时还要注意部分地区访问文件页会遇到区域限制提示,先确认能否取到再规划下载量。

Q9:能不能和 MIMIC-III、MIMIC-IV 的患者对上号?
不能,官方没有提供跨版本的患者标识映射。初代 MIMIC 的编号是记录号(032 到 488 区间、不连续),受试者编号沿用其第一条记录的编号;MIMIC-III 及后续版本用的是住院与患者标识符体系,两者采集年代、医院信息系统与去标识方案都不同。任何试图把初代记录与后续版本病历配对的尝试,都需要官方出具的映射表,目前没有。

Q10:想做报警研究,从哪条记录起步?
先用官方索引挑「有报警、通道齐全、时长中等」的记录:剔除 032、033、037、039、041 这五条报警文件为空的记录;从 055 之后挑选,因为患者状态与监护状态报警自 055 起才有;再按索引挑同时含心电、动脉压与容积波的记录,这样报警原因能在波形上找到对应证据。拿到记录后先按 §5.3 读出报警原文,再用附录 D 的办法把重复报警聚成事件,最后回到波形上人工判读一小批,建立自己的真值子集。

术语表

术语 解释
MIMIC Multi-parameter Intelligent Monitoring for Intensive Care,多参数智能重症监护
numerics 监护仪周期性测量值,在心电场以外按 1.024 秒间隔给出
WFDB PhysioNet 的波形数据库格式,含头文件、信号文件与注释文件
.hea 纯文本头文件,声明采样率、通道数、增益、单位与起始时刻
.dat 二进制信号文件
格式 212 WFDB 的十二位打包格式,两个样本占三字节
x4 修饰符 每帧样本数修饰符,表示该通道采样率为基准频率的 4 倍
增益 每物理单位对应的整数值,如 20(-1600)/mmHg
ADC 零值 零电平对应的整数值,换算物理量时先减
段(segment) 十分钟一段的波形文件,可单读也可无缝拼回整条记录
主头文件 声明整条记录由哪些段按什么顺序拼成的头文件
患者状态报警(al) 监护仪认为需要医疗干预的事件
监护状态报警(in) 影响监护仪自身功能的事件,如换能器故障
逐搏标注 对每一次心搏或每一个压力波标出位置与特征
校准注释(not) 记录开始时的校准脉冲,用于校正通道间采样偏斜
采样偏斜(skew) 不同通道采样时刻的毫秒级错位
假报警 监护仪报警但临床并无对应事件
病人日 一名患者被监护一整天的计量单位
ODC-BY 开放数据共享署名许可,要求署名、允许商用
PhysioBank PhysioNet 旗下的生理信号数据库集合
WAVE PhysioNet 的波形查看与标注软件

附录 A:核心数字核对表

项 值 出处 层级
记录总数 121 条 官方页面;numerics 页 官方页面
带波形记录数 72 条 官方页面;根 RECORDS 72 个目录 官方页面 + 文件
患者数 90 余名 官方页面 官方页面
总时长 近 200 病人日 官方页面 官方页面
numerics 总时长 约 4658 小时 numerics 页 官方页面
单条时长范围 约 1 小时至 77 小时以上 numerics 页;论文方法部分 官方页面 + 论文
多数记录时长 约 35–40 小时,平均约 40 小时 numerics 页;官方页面 官方页面
心电采样率 500 Hz(212x4,基准 125) 官方索引;段头文件 官方页面 + 文件
其余波形采样率 125 Hz 官方索引;段头文件 官方页面 + 文件
位分辨率 12 位(格式 212) 段头文件 官方文件
numerics 采样间隔 1.024 秒(0.9765625 Hz) numerics 页;numerics 头文件 官方页面 + 文件
numerics 分辨率 16 位带单位 numerics 头文件 官方文件
段长度 十分钟(75000 采样点) 官方页面;段头文件 官方页面 + 文件
单条容量上限 约 600 MB 论文方法部分 论文
整库体积 23.5 GB(numerics 548 MB) 官方文件页 官方页面
版本 1.0.0,2000-03-15 官方版本列表 官方页面
DOI 10.13026/C2JS34 官方页面 官方页面
许可 ODC-BY 1.0 官方页面 Access 段 官方页面
无报警记录 032、033、037、039、041 numerics 页 官方页面
报警重复间隔 1.024 秒 numerics 页 官方页面

附录 B:数字的来源分层

第一层:官方页面与官方文件。 记录数、波形记录数、患者数、总时长、时长范围、采样率、位分辨率、段长度、整库体积、版本、DOI、许可,这些数字来自项目主页、numerics 页、索引页与直接访问的文件头。心电 500 Hz 这一项由官方索引文字与段头文件里的 x4 修饰符双重印证。

第二层:1996 年论文全文(HTML 版)。 采集配置上限、单条容量封顶、通道间残留偏斜、选患者偏向血流动力学不稳定,这些来自论文的方法与讨论部分。论文描述的是建库方案与当时状态,与最终发布形态存在差异(如临床数据层),凡差异处一律以可下载内容为准。

第三层:未核实。 各报警类型在具体记录中的出现情况、逐条记录段数与总时长的完整清单、临床类别与记录号的完整对应、报警中假报警的实际规模。这些需要下载全量后逐条统计,超出本篇范围,正文中凡是涉及的地方只做定性表述。

附录 C:完整参考文献

编号 文献 链接 用途
1 MIMIC Database v1.0.0(官方页面) https://physionet.org/content/mimicdb/1.0.0/ 全部规模、结构、边界数据的主来源
2 MIMIC Database 索引页 官方文件目录 mimic-index.shtml 临床类别、时长、信号与测量项清单
3 MIMIC Database 报警类型页 官方文件目录 alarm-types.shtml 报警消息原文与参数约定
4 numerics 目录说明页 官方文件目录 numerics/HEADER.shtml 采样间隔、文件后缀、空报警记录
5 Moody GB, Mark RG. A Database to Support Development and Evaluation of Intelligent Intensive Care Monitoring. Computers in Cardiology 23:657-660 (1996) 官方文件目录 mimic-cic96/ 建库方案、采集约束、选例原则
6 PhysioNet 平台综述(2026,Nature Health) https://doi.org/10.1038/s44360-026-00096-z 平台引用规范
7 版本 DOI https://doi.org/10.13026/C2JS34 版本标识
8 MIMIC-III 波形库(站内对照) https://www.qianfanghub.com/ai-ready-dataset/mimic3wdb/586 §2.5 与 §6.1 的对比
9 MIMIC-IV 波形库(站内对照) https://www.qianfanghub.com/ai-ready-dataset/mimic4wdb/588 §2.5 与 §6.1 的对比

附录 D:任务代码

任务一:挑出通道齐全且带报警的记录

import wfdb

#-- 逐条试探:能读到 al 注释且段数正常的记录才是报警研究的候选
cands = []
for rec in wfdb.get_record_list('mimicdb/055'):
    try:
        ann = wfdb.rdann(rec, 'al', pn_dir='mimicdb')
    except Exception:
        continue
    if len(ann.sample) > 0:
        cands.append((rec, len(ann.sample)))
print(cands[:10])

任务二:把重复报警聚成事件

import wfdb
import pandas as pd

ann = wfdb.rdann('411/411n', 'al', pn_dir='mimicdb')
df = pd.DataFrame({'sec': ann.sample * 1.024, 'msg': ann.aux_note})

#-- 官方说明:报警触发后每 1.024 秒重复一次,直到复位或变量回到正常范围
df['evt'] = (df['msg'] != df['msg'].shift()).cumsum()
events = df.groupby('evt').agg(msg=('msg', 'first'),
                               t0=('sec', 'min'),
                               t1=('sec', 'max'),
                               n=('sec', 'size'))
print(events.sort_values('n', ascending=False).head(10))

这段代码输出的 n 是重复次数而不是事件严重程度,排序只是为了快速定位持续时间最长的报警段,真正做研究时还要回到波形上人工判读。

附录 E:如果只记五件事

序号 记住什么 为什么
1 121 条记录、90 余名患者,其中 72 条带波形 这两个数字必须同时写,否则样本量估计全错
2 心电 500 Hz 12 位,其余通道 125 Hz 头文件基准 125 Hz 加 x4 修饰符,看错就全盘错位
3 报警是监护仪的原话,含全部假报警 它研究的对象就是这份噪声,不是要滤掉的噪声
4 qrs 只给位置、全标正常 心律失常标签不在这里
5 按受试者分组,不按记录分组 同一人有两条甚至三条记录,切错就泄漏

编辑说明

本文的核验时间为 2026 年 10 月 28 日。核对方式为直接访问 PhysioNet 项目页与文件目录,逐项确认根目录清单、记录目录数量、注释角色清单、段头文件、numerics 头文件、索引页与报警类型页的可访问性与内容;1996 年论文读了随库发布的 HTML 全文(摘要、方法、讨论、致谢与参考文献)。

需要读者特别注意的两处口径差异已在正文分层说明:一是官方文字称 121 条记录,而公开原始波形的记录目录为 72 个;二是官方介绍提到来自病历的临床数据,而可下载目录中只有波形、numerics、报警与注释文件。另有一处现实约束:核对时从部分网络出口访问官方文件页会返回区域限制提示,这与许可无关,取数据前应先确认可达性。

未覆盖的内容包括:各报警类型在具体记录中的出现情况、逐条记录段数与总时长的完整清单、临床类别与记录号的完整对应、以及报警中假报警的实际规模。这些需要下载全量后统计,本文按要求只写规模、结构、边界三类数字。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • mimic-iv-waveform-legacy — 共享标签:生理信号 / 重症监护
  • barcelona-sicu-signals — 共享标签:生理信号 / 重症监护
  • bidmc-ppg — 共享标签:生理信号 / 重症监护
  • sicdb — 共享标签:生理信号 / 重症监护
  • mc-med — 共享标签:生理信号 / 重症监护
  • vtac — 共享标签:生理信号 / 重症监护
  • charisdb — 共享标签:生理信号 / 重症监护
  • alott — 共享标签:生理信号 / 重症监护
  • mghdb — 共享标签:生理信号 / 重症监护
  • pulsedb — 共享标签:生理信号 / 重症监护

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集