信息速览
呼吸支持这件事,临床上最难的不是"要不要上",而是"什么时候上、什么时候撤"。插管晚了,患者在自主呼吸里耗竭;撤早了,再插管的代价更高。官方页面在背景部分给出的数字是:急性肺损伤与急性呼吸窘迫综合征这类情况下,院内死亡率仍在 40% 附近;而关于插管与撤机时机的推荐意见与结局,官方明确写着"仍存在争议且认识不足"。争议之所以长期悬着,一个重要原因是真实世界试验很难做——呼吸支持是一项随时间演化的治疗,患者今天在高流量鼻导管上,明天可能改无创,后天插管,随机化在这里既不合伦理也难以执行。
于是大家退到观察性数据。公开的 ICU 数据集并不少——官方背景段落点名了 HiRID、萨尔茨堡重症数据库、阿姆斯特丹 UMCdb 与 MIMIC——但已有基准的任务几乎都压在"结局预测"上:死还是活、住多久。这类基准回答不了"此刻该不该换档",因为它们没有把治疗本身作为逐小时的时序变量放进来。
A Temporal Dataset for Respiratory Support in Critically Ill Patients 就是冲着这个空档去的,它是一份把治疗本身铺到时间轴上的危重症呼吸支持时序库。它把 MIMIC-IV v2.2 中 50,920 名成人 ICU 患者入 ICU 之后的 0–2160 小时(即 90 天)压成逐小时网格,每小时给出有创通气、无创通气、高流量鼻导管三类呼吸支持的二值指示,外加血管活性药与连续性肾脏替代治疗的指示;同时给出通气参数、动脉血气、生命体征、格拉斯哥昏迷评分与 24 小时 SOFA 评分,以及出院、转出 ICU、死亡、脓毒症、ICU 住院天数五项结局。它的取舍同样明确:单中心、2008–2019 年、需要签署数据使用协议、每位患者只保留一次 ICU 住院、小时内多个观测取中位数。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全名 | A Temporal Dataset for Respiratory Support in Critically Ill Patients |
| 发布方 | PhysioNet;由 MIT 与首尔大学医院团队贡献,平台由 MIT 计算生理实验室维护 |
| 首次发布 | 2024 年 5 月 31 日,版本 1.0.0 |
| 最近改动 | 2025 年 4 月 15 日,版本 1.1.0;数据未变,仅细化数据描述 |
| 版本与 DOI | 1.1.0,DOI 10.13026/wewp-sj67;最新版本 DOI 10.13026/4nm5-h710 |
| 患者数 | 50,920 名成人 ICU 患者 |
| 记录形态 | 每名患者一个 CSV,以 subject_id 命名;目录按 subject_id 前三位分桶 |
| 时间跨度与粒度 | 入 ICU 后 0–2160 小时(90 天),逐小时一行 |
| 变量规模 | 官方变量表合计 59 个:静态 13、通气 15、检验 5、生命体征 10、其他 6、干预 5、结局 5 |
| 原始来源 | MIMIC-IV v2.2,贝斯以色列女执事医疗中心(波士顿),2008–2019 年 |
| 干预标签 | invasive / noninvasive / highflow / vasopressor / crrt,逐小时二值 |
| 结局变量 | discharge_outcome、icuouttime_outcome、death_outcome、sepsis、los |
| 文件格式 | CSV,每患者一文件,分目录存放 |
| 访问与许可 | 仅限凭证用户;PhysioNet Credentialed Health Data License 1.5.0 + DUA 1.5.0 + CITI 培训 |
| 典型用途 | 时序分析、生存分析、序贯决策与强化学习;撤机延迟与失败、插管时机、策略优化、公平性审计 |
§1 它要解决的具体麻烦
1.1 三档呼吸支持与"换档时机"
重症监护里的呼吸支持大致分三档。最重的是有创机械通气(invasive mechanical ventilation, INV),需要气管插管或气管切开,患者的气道被人工气道接管;中间是无创机械通气(non-invasive ventilation, NIV),通过面罩或鼻罩给正压,不建立人工气道;最轻的是高流量鼻导管(high-flow nasal cannula, HFNC),通过鼻塞输送加温加湿的高流量气体,提供一定程度的呼气末正压与冲刷效应。
三档之间的升降级,就是临床每天在做、也每天都在犹豫的决定:从 HFNC 升到 NIV,从 NIV 升到 INV,反过来是从 INV 撤到 NIV 再撤到 HFNC 直至完全自主呼吸。这个决定之所以难,是因为它没有"标准答案时刻"——同一个血氧饱和度,在一个慢性阻塞性肺疾病患者身上可以继续观察,在一个重症肺炎患者身上就该考虑插管了。
官方页面在背景里点明了两件事:其一,这几档治疗的选择与结局"仍存在争议且认识不足";其二,呼吸治疗随时间演化,真实世界试验难以开展,因此"精心整理的观察性数据"是循证决策的关键资源。前者说明问题本身未解,后者说明能用的工具只有观察性数据这一把。
1.2 三条常见的错误期待
第一条,期待它是原始波形或原始事件流。 它不是。所有随时间变化的变量都被聚合进逐小时的桶里,同一小时内出现多个观测时取中位数。官方明确写了这样做是为了提高数据密度与分析一致性,并用中位数而非均值是因为中位数对噪声更不敏感。代价是秒级时间戳不再保留,小时内先高后低还是先低后高,从数据里看不出来。
第二条,期待三类呼吸支持可以同时为 1。 官方对互斥做了显式处理:当记录显示患者同时接受无创与有创通气时,保留更具侵入性的那一档,优先级为 INV 高于 NIV 高于 HFNC;两个不同治疗之间不足 6 小时的短空档,被归给较不侵入的那一档。所以三列在同一小时最多只有一列是 1。想研究"过渡期的叠加治疗",这份数据不支持。
第三条,期待它能代表所有 ICU。 它来自一家医院——波士顿的贝斯以色列女执事医疗中心,时间跨度 2008 到 2019 年。官方把"泛化性"与"时间偏倚"直接写进了使用注意:不同方案、不同人群的 ICU 未必被它代表,临床实践随时间变化也会让较早的数据相关性下降。
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 逐小时的呼吸支持状态序列 | INV / NIV / HFNC 三列逐小时互斥指示 | 够,这是它最核心的资产 |
| 撤机时点与撤机失败研究 | 有创通气指示的起止构成的序列,可自行定义撤机事件 | 够做定义层,不含官方撤机成败标签 |
| 序贯决策 / 强化学习环境 | 逐小时状态 + 干预指示 + 结局 | 够,官方明列该用途 |
| 生存分析 | 逐小时死亡指示,含住院死亡与院外死亡来源 | 够,但死亡时间精度见 §2.4 |
| 器官功能与意识状态轨迹 | 24 小时 SOFA、GCS 四项与插管指示 | 够做协变量,粒度为日级与小时级混合 |
| 通气参数的剂量—反应研究 | 峰压、PEEP、潮气量、呼吸频率、吸入氧浓度、吸呼比等 | 够,但单位为小时聚合值 |
| 原始呼吸机波形 | — | 不够,本数据集不含波形 |
| 静脉或毛细血管血气 | — | 不够,实验室值明确取自动脉血标本 |
| 多中心泛化验证 | 单一中心 | 不够,只能做跨库而非跨中心 |
| 同一患者多次 ICU 住院的轨迹 | 每患者仅保留首次带呼吸支持的 ICU 住院 | 不够 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 你想做"何时插管"的对比研究 | 提供逐小时的三档状态与大量协变量,可构造目标试验模拟 | 先照官方引用的目标试验框架定义合格时点与治疗策略,再配平混杂 |
| 你在做撤机预测模型 | 有创通气段与通气参数、血气、生命体征同源对齐 | 自己定义撤机事件与观察窗,注意标签定义必须写进方法学 |
| 你在做强化学习或离线策略评估 | 逐小时状态、动作(干预指示)、结局三者齐备 | 把干预当作动作时要记住它已被互斥化,动作空间与原临床选择不等价 |
| 你在做健康公平性审计 | 数据集含种族、保险、 language、婚姻状况等变量,原论文正是做这个 | 沿用官方引用论文的任务定义(延长机械通气、成功撤机)以便对比 |
| 你只想拿到一个规整的 ICU 小时级表 | 不必自己写 SQL 从 MIMIC-IV 抽小时视图 | 直接下载复用,但要重读官方的排除规则(§4.5) |
| 你要的是波形级呼吸机数据 | — | 转向波形库,本数据集不含波形 |
1.5 一句话判断
它不是"更大的 ICU 数据库",而是"把呼吸支持这件事按小时铺平的那张表"——价值在于治疗与状态在时间轴上对齐,代价是单中心、单住院、小时聚合。
1.6 不适合谁:四条边界
不适合做跨机构泛化的主实验。 单中心数据,官方自己把泛化性列为限制。用它得出的绝对性能数字,只能在"同源分布"的意义上解读。
不适合做放弃抢救与临终决策相关研究。 官方明确排除了带有不复苏或不插管指令的患者,这类临床路径在数据里不存在。
不适合做"入 ICU 前已经插管"群体的研究。 入 ICU 前 24 小时内已接受有创通气的患者被排除,因此数据里的有创通气起点不代表全院所有机械通气人群。
不适合做细粒度生理动力学研究。 小时聚合抹平了小时内的变化,波形不在数据里,分钟级的通气力学与患者不同步事件无从复原。
§2 数据构成与规格
2.1 一名患者一个文件,目录按编号前三位分桶
官方的数据描述段落把组织形式讲得很具体:每名患者的内容存成一个 *.csv 文件,文件以患者的唯一标识(subject ID)命名;存放目录被拆成多个文件夹,每个文件夹以 subject ID 的前三位数字命名,该文件夹内存放所有以这三位数字开头的受试者 CSV。
这种结构对批量处理很友好——按编号前三位分片可以自然地把 50,920 个文件切成若干并行任务;对随机抽样也友好——抽一个桶就等于抽一个编号区间的患者。它带来的麻烦只有一个:不做哈希分片、不做时间分片,因此按桶顺序读取时,患者之间没有任何顺序保证,训练前必须自己打乱。
静态变量、随时间变化的变量与结局变量被组织进同一张"逐小时物化视图"。官方的表述是 hourly materialized view,意思是患者的静态属性(如性别、入院 ICU 类型)与逐小时列并排放在同一张宽表里,而不是分成"患者表 + 时序表"两张。
2.2 官方变量表逐条列出
官方用四张表给出全部变量:表 1 患者级静态变量、表 2 测量与观测、表 3 治疗干预、表 4 结局变量。下面照官方原文逐条列出,并补上使用注意。
表 1:患者级静态变量(13 项)
| 变量 | 官方描述 | 使用注意 |
|---|---|---|
intime |
ICU 入院时间 | 起点时间,用于理解时间轴;受日期偏移影响 |
outtime |
ICU 出院时间 | 与 intime 共同界定住院区间 |
gender |
患者性别 | 公平性分组变量之一 |
anchor year |
患者被平移的年份 | MIMIC-IV 的日期偏移机制,不可当作真实日历年 |
anchor age |
患者在 anchor year 的年龄 | 年龄是相对 anchor year 给出的 |
insurance |
患者保险类型 | 与健康社会决定因素相关,原论文用于公平性审计 |
language |
英语熟练程度指示 | 官方描述为 English proficiency indicator |
marital status |
患者婚姻状况 | 社会支持相关变量 |
race |
患者种族 | 公平性审计的核心分组变量 |
first_careunit |
首次入住的 ICU 类型 | 因每患者只取一次住院,类型固定 |
pbw_kg |
患者预测体重(千克) | 潮气量设定按预测体重算,做剂量研究要用它 |
height_inch |
患者身高(英寸) | 英制单位,换算时不要漏 |
elixhauser_vanwalraven |
Elixhauser–Van Walraven 评分 | 合并症负担得分 |
表 2-1:通气参数(15 项,其中 4 项为官方标注的中间变量)
| 变量 | 官方描述 | 单位 | 使用注意 |
|---|---|---|---|
ppeak |
峰压(Peak inspiratory pressure) | cmH2O | 观测得到的气道峰压 |
set_peep |
官方写作 Set peak inspiratory pressure | cmH2O | 描述文字与 total_peep 重复,疑为官方笔误(见 §5.6) |
total_peep |
官方写作 Total peak inspiratory pressure | cmH2O | 同上,按临床语义应为总呼气末正压 |
rr |
呼吸频率 | 次/分 | 观测呼吸频率 |
set_rr |
设置呼吸频率 | 次/分 | 医嘱设定值 |
total_rr |
总呼吸频率 | 次/分 | 含自主触发后的总频率 |
set_tv |
设置潮气量 | mL | 医嘱设定值 |
total_tv |
总潮气量 | mL | 含自主呼吸贡献 |
set_fio2 |
设置吸入氧浓度 | 分数 | 氧合干预强度的核心变量 |
set_ie_ratio |
设置吸呼比 | 比值 | 官方未给单位 |
set_pc |
压力控制通气的设置压力 | cmH2O | 由下面三个来源按优先级填充 |
_set_pc_draeger |
德尔格呼吸机的设置压力 | cmH2O | 中间变量(官方下划线前缀) |
_pinsp_draeger |
德尔格呼吸机吸气压 | cmH2O | 中间变量 |
_pinsp_hamilton |
哈美顿呼吸机吸气压 | cmH2O | 中间变量 |
_pcv_level |
压力控制通气水平 | cmH2O | 中间变量 |
set_pc 的填充规则官方写得很细:优先取 pcv_level;若缺失取 pinsp_hamilton;若两者都缺失取 set_pc_draeger,而 set_pc_draeger 是德尔格呼吸机吸气压 pinsp_draeger 与设置峰压 ppeak 之差。这条规则说明了一件事:不同厂商呼吸机的参数在 MIMIC 里落在不同 ItemID 上,作者按临床知识把它们归拢到同一个语义槽位。想要复现或改动这条规则,得回到官方公开的 GitHub 代码库。
表 2-2:实验室值(5 项)
| 变量 | 官方描述 | 单位 |
|---|---|---|
calculated_bicarbonate |
计算所得碳酸氢盐(全血) | mEq/L |
so2 |
血氧饱和度 | % |
pCO2 |
二氧化碳分压 | mmHg |
pO2 |
氧分压 | mmHg |
pH |
pH | — |
全部实验室值来自 MIMIC 的 labevents 表,且官方明确限定为动脉血气(ABG)标本:理由是评估呼吸功能、酸碱平衡与氧合状态时,动脉血测量的临床相关性与精度更高。这一条决定了它的适用边界——只关心血气的分析可以直接用,需要常规生化(肌酐、乳酸、白细胞)的分析还得回 MIMIC-IV 自己去抽。
表 2-3:生命体征(10 项)
| 变量 | 官方描述 | 单位 |
|---|---|---|
heart_rate |
心率 | bpm |
sbp |
动脉收缩压 | mmHg |
dbp |
动脉舒张压 | mmHg |
mbp |
平均动脉压 | mmHg |
sbp_ni |
无创收缩压 | mmHg |
dbp_ni |
无创舒张压 | mmHg |
mbp_ni |
无创平均压 | mmHg |
temperature |
体温 | °C |
spO2 |
脉搏血氧饱和度 | % |
glucose |
血糖 | 官方未给单位 |
有创与无创血压被分成两组列,这个设计值得单独说一句:临床上同一个小时里两种测量方式可能都存在,把它们合并成"血压"一列会丢掉测量方式的信息,也会在换管、拔管时产生数值台阶。保留分组列是对的,但分析时要想清楚用哪一组,或者同时保留并加一个来源标记。
表 2-4:其他变量(6 项)
| 变量 | 官方描述 | 使用注意 |
|---|---|---|
gcs |
格拉斯哥昏迷评分总分 | 镇静与插管会压低评分,解读需配合 gcs_unable |
gcs_motor |
GCS 运动反应分量 | 分量表 |
gcs_verbal |
GCS 语言反应分量 | 插管患者无法语言作答 |
gcs_eyes |
GCS 睁眼反应分量 | 分量表 |
gcs_unable |
气管插管指示 | 用于识别 GCS 分量不可得的小时 |
sofa_24_hours |
24 小时 SOFA 评分 | 器官功能障碍评估 |
表 3:治疗干预(5 项)
| 变量 | 官方描述 | 生成方式 |
|---|---|---|
invasive |
有创通气指示 | 来自 procedureevents,呼吸治疗师记录的起止时间 |
noninvasive |
无创通气指示 | 来自 procedureevents,同样有起止时间 |
highflow |
高流量鼻导管指示 | 来自 chartevents,仅观测时刻,需推断区间 |
vasopressor |
血管活性药指示 | 来自 inputevents,匹配起止时间到小时 |
crrt |
连续性肾脏替代治疗指示 | 来自 chartevents,血流速或脱水量为正即判定 |
血管活性药的判定标准官方给得很具体:接受了去甲肾上腺素、肾上腺素、多巴胺、去氧肾上腺素或血管加压素之一,即判定为使用血管活性药。CRRT 的判定标准同样具体:透析相关的血流速或液体清除量为正值。
表 4:结局变量(5 项)
| 变量 | 官方描述 | 使用注意 |
|---|---|---|
discharge_outcome |
出院指示 | 逐小时标记,1 表示事件发生在该小时 |
icuouttime_outcome |
转出 ICU 指示 | 逐小时标记 |
death_outcome |
死亡指示 | 死亡日期来自医院记录与州记录,两者都有时优先住院死亡 |
sepsis |
脓毒症指示 | 按 Sepsis-3 诊断标准判定 |
los |
ICU 住院天数 | 小数日 |
2.3 一个文件的解剖
官方没有给出 CSV 的列顺序样例,下面按官方变量表拼出结构示意,列顺序以实际文件表头为准:
subject_id,hour,invasive,noninvasive,highflow,vasopressor,crrt,...
10000032,0,1,0,0,1,0,...
10000032,1,1,0,0,1,0,...
读取与检查的最小流程:
import pandas as pd
from pathlib import Path
root = Path('/data/temporal-respiratory-support/1.1.0')
def find_csv(subject_id: int) -> Path:
#-- 目录名取 subject_id 的前三位数字
return root / f'{subject_id // 100000:03d}' / f'{subject_id}.csv'
df = pd.read_csv(find_csv(10000032))
print(df.shape)
print(df.columns.tolist())
#-- 三档呼吸支持已互斥化:检查是否存在同时为 1 的行
tri = df[['invasive', 'noninvasive', 'highflow']].fillna(0)
print(int((tri.sum(axis=1) > 1).sum()))
#-- 时间轴是入 ICU 后的相对小时,窗口 0 到 2160
print(int(df['hour'].min()), int(df['hour'].max()))
三件必须在读取后立刻确认的事:列名是否与官方变量表逐字一致;小时列的最小值是否为 0、最大值是否落在 0–2160 区间;三档呼吸支持是否真的没有同时为 1 的行。这三件事任一不符,说明你读到的不是官方描述的那一版,或者你的列映射错了。
2.4 主键与时间轴
主键是 subject_id,一患者一行不行——一患者一文件、文件内一行一小时。时间轴是相对小时:0 表示入 ICU 的那一小时,2160 表示满 90 天的最后一小时。官方写的是"每位受试者入 ICU 后 0 到 2160 小时(相当于 90 天)"。
相对小时的好处是跨患者可比、可直接做对齐;代价是丢掉了绝对日历时间。想做"某年某季度的实践变化"这类分析,不能从这个数据集的时间轴直接得到,只有静态变量里的 anchor year 能提供被平移过的年份。
死亡时间的精度也受这一层影响。官方说明:MIMIC 的死亡日期来自医院记录与州记录,两者都有时优先住院死亡;而州记录只包含日期部分,转换时默认取当日零点。因此逐小时死亡指示里,来自州记录的那部分患者,死亡小时是"当天的第 0 小时",不是真实时刻。做生存分析时这一条必须写进方法学,否则会把一批事件人为提前到午夜。
2.5 与同类字段的差异
| 对比对象 | 时间粒度 | 治疗干预 | 本数据集的差别 |
|---|---|---|---|
| MIMIC-IV 原生表 | 事件级,秒级时间戳 | 分散在 procedureevents / chartevents / inputevents |
本数据集预先聚成小时并归拢到五个指示列 |
| MIMIC-IV 派生小时视图(社区版本) | 逐小时 | 通常不含呼吸支持三档互斥标注 | 本数据集的干预层由临床专家核验 |
| eICU-CRD | 多为逐小时护理记录 | 呼吸支持以治疗表形式存在,口径不同 | 单中心与多中心的差别,变量口径不可直接并 |
| HiRID | 高频生理信号 | 干预标注非主线 | 本数据集不含波形,但协变量与结局更齐 |
| AmsterdamUMCdb | 逐分钟级 | 干预信息有限 | 本数据集时间跨度更长(90 天对多数 ICU 库) |
这张表想说明的不是优劣,而是"能不能直接并"。不同库的呼吸支持口径不同、排除规则不同、时间原点不同,把两个库拼起来训练前,先确认三件事:时间原点是否都是入 ICU、干预是否都做了互斥化、排除规则是否重叠。
2.6 列的物理含义与单位
| 单位 | 出现在 | 含义 |
|---|---|---|
| cmH2O | 通气压力类列 | 厘米水柱,呼吸机压力的标准单位 |
| mL | 潮气量类列 | 毫升 |
| 次/分 | 呼吸频率类列 | 每分钟吸气次数 |
| mmHg | 血压与血气分压 | 毫米汞柱 |
| mEq/L | 碳酸氢盐 | 毫当量每升 |
| % | 饱和度类列 | 百分比 |
| °C | 体温 | 摄氏度 |
| 小数日 | los |
ICU 住院时长 |
单位混乱是这类跨表抽取数据集最常见的翻车点。官方表 2 里身高用英寸、体重要么是预测体重千克,说明整个数据集沿用 MIMIC-IV 的原始美制习惯。做国际合作数据合并、或把结果写成论文表格时,先把单位换算成目标体系,再进模型。
§3 它是谁的数据
3.1 贡献者与机构
| 作者 | 官方署名机构 |
|---|---|
| Mira Moukheiber | Massachusetts Institute of Technology |
| Lama Moukheiber | Massachusetts Institute of Technology |
| Dana Moukheiber | MIT |
| Sicheng Hao | Massachusetts Institute of Technology, USA |
| Leo Anthony Celi | Massachusetts Institute of Technology |
| Hyung-Chul Lee | 首尔大学医院,首尔大学医学院 |
六位作者里五位挂 MIT,一位挂首尔大学医院。这个组合在数据来源与研究方向上有明确分工意味:MIT 计算生理实验室长期维护 PhysioNet 与 MIMIC 系列,首尔大学医院一方则与 VitalDB 等重症数据工作相关。平台侧由 MIT 计算生理实验室维护,资助方包括美国国立生物医学影像与生物工程研究所、国立心肺血液研究所以及 NIH 主任办公室。
3.2 时间线
| 时间 | 事件 |
|---|---|
| 2008–2019 | 原始数据在贝斯以色列女执事医疗中心产生 |
| 2024 年 5 月 31 日 | 版本 1.0.0 首次发布 |
| 2025 年 2 月 23 日 | 配套论文在 arXiv 公开(arXiv:2502.16477) |
| 2025 年 4 月 15 日 | 版本 1.1.0 发布,数据未变,数据描述更详细 |
版本历史只有两行,且官方在发布说明里写明:1.1.0 的数据与 1.0.0 相同,变化只在数据描述更详细。这一点对复现很重要——引用 1.0.0 的旧结果与引用 1.1.0 的新结果,在数值上应当是可比的;如果两者不一致,问题多半出在代码或口径,而不是数据被改过。
3.3 采集场景
数据产生在贝斯以色列女执事医疗中心的 ICU,时间跨度 2008 到 2019 年。这是 MIMIC-IV v2.2 的时间范围,本数据集作为派生数据集继承了这个范围。
十二年跨度既是资产也是负担。资产在于样本量足够撑起大模型与子组分析;负担在于这十二年里呼吸支持实践本身在变——无创通气与高流量鼻导管的普及、肺保护性通气策略的推广、体外膜肺氧合的应用,都可能让 2008 年的数据与 2019 年的数据不是同一个分布。官方把"时间偏倚"单列为一条限制,正是这个意思。
3.4 来源层次
| 层次 | 内容 | 能否独立核验 |
|---|---|---|
| 第四层:本数据集 | 50,920 名患者的逐小时 CSV | 需凭证下载后核验 |
| 第三层:抽取代码 | GitHub 上的预处理脚本 | 公开可查 |
| 第二层:MIMIC-IV v2.2 | chartevents、labevents、procedureevents、inputevents 等 |
需凭证 |
| 第一层:原始电子病历 | 贝斯以色列女执事医疗中心 | 不可及 |
它是派生数据集,官方在伦理部分写得很清楚:数据来自 MIMIC-IV v2.2,通过 PhysioNet 凭证健康数据使用协议 1.5.0 获得授权,没有采集任何新的患者数据,伦理审批沿用母库。这个层次决定了两件事:引用时必须同时引用母库;任何想把结果与外部真实世界数据对齐的尝试,都要考虑日期偏移带来的不可比。
§4 它最独特的东西
4.1 把"治疗"做成逐小时的变量
多数 ICU 公开数据集把治疗放在事件表里:某患者在某个时间接受了某项操作,起止时间各一行。这样做忠实于原始记录,但对建模不友好——要把事件表与逐小时的生理序列对齐,得自己写区间判定,而每个研究团队写的判定规则都不一样,结果也就不太可比。
本数据集把这件事做完了,并且做在最关键的三档上。有创、无创、高流量鼻导管三个指示列按小时铺开,与通气参数、血气、生命体征处在同一行。这意味着"此刻患者在什么支持上、参数多少、血气如何"成为一个可以直接切片的状态向量。
官方在摘要里把用途列得很直白:时序分析、生存分析、序贯决策任务、强化学习。前两个是观察性研究的常规操作,后两个才是这份数据的真正指向——强化学习需要状态、动作、奖励三者对齐,而这里的状态是生命体征与评分、动作是干预指示、奖励可以由结局构造。缺了逐小时的干预层,这类研究只能靠猜动作。
4.2 差异化证据
| 现有公开 ICU 数据集(官方背景列举) | 主流基准任务 | 本数据集补上的 |
|---|---|---|
| HiRID | 死亡率与时长预测 | 逐小时呼吸支持干预层 |
| 萨尔茨堡重症数据库 | 同上 | 同上 |
| AmsterdamUMCdb | 同上 | 同上 |
| MIMIC 系列 | 同上 | 同上,且把三档互斥化 |
官方背景的原话是:已有基准主要聚焦在死亡率预测与住院时长估计这类常规临床预测任务上。这句话既是定位也是自我约束——本数据集不打算在"预测谁会死"上跟现有基准竞争,它要补的是"治疗决策"这一层。
配套论文给出了两个具体任务:延长机械通气(prolonged mechanical ventilation)与成功撤机(successful weaning)。这两个任务正是它设计意图的落地——都不是静态预测,都依赖对治疗过程的理解。
4.3 一个具体案例:高流量鼻导管的时间窗是怎么补出来的
三档呼吸支持里,有创与无创在 MIMIC 的 procedureevents 表里由呼吸治疗师记录了起止时间,可以直接映射到小时。高流量鼻导管不同:它在 chartevents 里只有"被观测到的时刻",没有区间。
官方的处理逻辑值得完整复述,因为它直接决定了 HFNC 标签的可信度:
| 步骤 | 规则 | 为什么这样做 |
|---|---|---|
| 1 | 为每次 ICU 住院的每个 HFNC 事件建立起止时间 | 原始只有观测时刻 |
| 2 | 相邻两次 HFNC 观测间隔超过 24 小时,视为两个独立事件 | 避免把断断续续的使用连成一段 |
| 3 | 取每个事件内 HFNC 被应用的最小与最大时刻,作为起止 | 用观测极值界定区间 |
| 4 | 起止时间相同的事件被排除 | 无法构成有意义区间 |
这套规则的本质是"用观测的密度去推断治疗的连续性"。它的合理性建立在临床常识上:护士记录 HFNC 的时刻,通常就是治疗正在进行的时刻。它的弱点也来自同一处——记录频率低的时间段(夜间、转运、交接班),区间边界会被拉宽或截断。
4.4 标注粒度与优先级规则
| 情形 | 官方规则 | 影响 |
|---|---|---|
| 同一小时同时记录有创与无创 | 保留更具侵入性的,INV 高于 NIV 高于 HFNC | 三档互斥,过渡期被归入侵入性更高的一档 |
| 两次不同治疗之间的空档不足 6 小时 | 空档归给较不侵入的治疗 | 短空档被抹平 |
| 同一小时内同一指标有多个观测 | 取中位数 | 极值被平滑,小时内趋势不可见 |
| 多个 ItemID 表示同一指标但单位不同 | 先统一单位再入库 | 单位问题已在数据侧处理 |
| 呼吸支持变量的整理 | 由临床专家核验 | 过程可信,但官方未给出一致性量化指标 |
优先级规则里藏着一个必须写进论文方法学的陷阱:把过渡期归给更具侵入性的一档,等于默认"只要那一小时里插着管,就算有创通气"。对某些研究问题(比如评估无创通气的真实暴露时长)这个口径偏保守。
4.5 边界条件:谁被排除在外
| 排除规则 | 官方表述 | 对结论的影响 |
|---|---|---|
| 取首次带呼吸支持的 ICU 住院 | 一名患者多年内可有多次 ICU 住院,只保留首次带呼吸支持的 | 避免同一患者多次住院造成信息泄漏,也失去跨次住院轨迹 |
| 排除不复苏或不插管指令患者 | 带有 DNR 或 DNI 指示的患者被排除 | 临终与保守治疗路径不在数据内 |
| 排除入 ICU 前 24 小时内已在有创通气者 | 入 ICU 前 24 小时接受有创通气的患者被排除 | 数据里的有创通气起点不等于全院机械通气的起点 |
排除后剩下 50,920 名患者。官方把"选择首次带呼吸支持的住院"的理由讲得很明确:防止数据泄漏、保持数据完整性,确保建模所用数据相互独立、不被后续住院的信息污染。
这个决定在方法上是干净的——同一患者的多次住院高度相关,混进训练集与测试集会虚高成绩。代价是任何需要"患者完整住院史"的问题(再入院、多次住院的累积暴露)都无法用这份数据回答。
§5 怎么拿到
5.1 目录结构
| 层级 | 命名 | 说明 |
|---|---|---|
| 版本根 | temporal-respiratory-support/1.1.0/ |
版本号写进路径,换版本即换路径 |
| 分桶目录 | 以 subject_id 前三位数字命名 | 如编号以 100 开头者归入同一目录 |
| 数据文件 | <subject_id>.csv |
一患者一文件 |
官方文件清单因地区限制未对本文的访问返回内容,因此文件总数、单文件体积与总量均未核验(见 §10)。能核验的是组织规则本身,它写在官方的数据描述段落里。
5.2 批量下载
Credentialed 数据集需要先在 PhysioNet 完成两件事:签署数据使用协议 1.5.0,完成 CITI 的"Data or Specimens Only Research"培训。之后用 wget 带凭据递归抓取:
#-- 递归抓取 1.1.0 版本目录;-N 只取比本地新的,-c 支持断点续传
wget -r -N -c -np --user YOUR_USERNAME --ask-password \
https://physionet.org/files/temporal-respiratory-support/1.1.0/
#-- 只核对目录结构而不下载内容
wget -r --spider -np --user YOUR_USERNAME --ask-password \
https://physionet.org/files/temporal-respiratory-support/1.1.0/
5 万多个小文件是这次下载的主要难点。按分桶目录并行抓取比单线程递归快得多,也更容易断点续传;抓完之后先用目录下的文件数与官方患者数对一遍,缺文件比缺行更难发现。
5.3 流式读取
逐文件读取、处理完即释放,是 5 万文件场景下的默认姿势。不要试图把所有患者拼成一张大表后再处理,内存会先崩。
import pandas as pd
from pathlib import Path
root = Path('/data/temporal-respiratory-support/1.1.0')
SUPPORT = ['invasive', 'noninvasive', 'highflow']
def iter_subjects(root: Path):
#-- 分桶目录 -> 目录内每个 csv
for bucket in sorted(root.iterdir()):
if not bucket.is_dir():
continue
for f in sorted(bucket.glob('*.csv')):
yield int(f.stem), f
def load(subject_id: int, path: Path) -> pd.DataFrame:
df = pd.read_csv(path)
#-- 小时列补齐到 0..2160,缺失的小时保留为空而不是填 0
df = df.set_index('hour').reindex(range(2161)).rename_axis('hour')
return df.reset_index()
for sid, path in iter_subjects(root):
df = load(sid, path)
#-- 在这里做逐患者的特征与标签构造
break
reindex 那一行是最容易写出 bug 的地方。把缺失的小时填成 0 会让"没测"变成"测了且为零",模型会把测量频率当成信号;反过来,如果不补齐,不同患者的行数不同,做批次张量时又得再对齐一次。保留空值、另外维护一个"该小时是否观测"的掩码列,是两种做法里代价最小的。
5.4 转成分析表
| 你要的形态 | 做法 | 注意 |
|---|---|---|
| 逐患者宽表(小时 × 变量) | 直接读单个 CSV | 行数不超过 2161 |
| 全体患者的时序面板 | 逐文件读取后按 subject_id 拼接 | 内存压力大,建议落盘成分区文件 |
| 监督学习的样本表 | 先定观察窗与预测窗,再切窗 | 切窗前先定好患者级划分 |
| 强化学习的轨迹表 | 逐患者一行一小时,按 episode 存 | 动作空间已被互斥化 |
切窗这一步是最容易引入泄漏的:同一个患者的相邻窗口高度重叠,随机划分会让测试窗口的信息在训练窗口里出现。正确顺序是先按 subject_id 分组划分,再在组内切窗。
5.5 标签映射与单位
| 原字段 | 映射建议 | 说明 |
|---|---|---|
| 三档呼吸支持 | 直接用作三分类或合并成"是否接受支持" | 已互斥,不需要再做 one-hot 冲突处理 |
vasopressor、crrt |
作为共干预协变量 | 与呼吸支持不互斥,可同时为 1 |
death_outcome |
生存分析的事件指示 | 注意州记录死亡时间默认为零点 |
sepsis |
二值协变量或结局 | Sepsis-3 标准 |
los |
回归目标 | 小数日,左截断问题需自行处理 |
5.6 六个坑
坑一:官方表 2 里 set_peep 与 total_peep 的描述文字都写作 “peak inspiratory pressure”。 按临床语义,set_peep 应为设置的呼气末正压、total_peep 应为总呼气末正压,两者与峰压不是一回事。官方描述文字疑似笔误。使用这两列时以临床语义为准,并在论文里注明这一处不一致。
坑二:把缺失小时当成"该小时未做治疗"。 逐小时视图里的空值来自"这一小时没有记录",不等于"这一小时治疗为 0"。把空值填 0 会凭空造出大量阴性样本。
坑三:把三档呼吸支持当成多标签问题。 官方已做互斥化,同一小时最多一档为 1。用多标签损失函数训练,会与数据生成方式打架。
坑四:跨版本混用。 1.0.0 与 1.1.0 数据相同、描述不同,但路径里的版本号不同。脚本里硬编码路径时把版本号写进去,不要把两个版本的文件混在同一目录。
坑五:把 anchor year 当真实年份。 年份被平移过,做"某年之后实践变化"的分析会得出错误结论。时间轴只有"入 ICU 后的相对小时"是可信的。
坑六:忽略排除规则就下人群结论。 DNR/DNI 患者、入 ICU 前已插管的患者都不在内。任何"ICU 机械通气患者如何如何"的表述,实际只覆盖"入 ICU 后新开始呼吸支持且未放弃抢救"的那一群。
§6 与库内条目的关系
6.1 关系图谱
| 关系 | 数据集 | 说明 |
|---|---|---|
| 母库 | MIMIC-IV(v2.2) | 本数据集是其派生数据集,引用时必须同时引用 |
| 同母库不同形态 | MIMIC-IV 临床数据库、MIMIC-IV FHIR、MIMIC-IV 波形 | 同一批患者的不同组织方式 |
| 前代 | MIMIC-III | 更早版本,患者范围与时间范围不同 |
| 同类多中心库 | eICU-CRD | 多中心,可用来检验单中心结论的稳定性 |
| 同类单中心库 | HiRID、AmsterdamUMCdb | 官方背景中并列提到的公开 ICU 数据集 |
| 用途交叉 | ICU 临床轨迹类数据集 | 都处理治疗过程,但干预口径不同 |
| 社会决定因素 | SDOH 标注类数据集 | 本数据集自带种族、保险等变量,可对接公平性研究 |
| 老年重症 | 老年 ICU 数据集 | 子人群分析的对照 |
6.2 检索路径
| 你想找什么 | 先看 | 再看 |
|---|---|---|
| 原始事件级 ICU 记录 | MIMIC-IV 临床数据库 | 本数据集(已聚合,便于快速上手) |
| 逐小时的治疗过程 | 本数据集 | ICU 临床轨迹类数据集 |
| 波形级呼吸力学 | MIMIC-IV 波形库 | 本数据集不含波形 |
| 多中心验证集 | eICU-CRD | 本数据集只能做同源验证 |
| 公平性分组变量 | 本数据集的静态变量 | SDOH 标注类数据集 |
6.3 分工判据
| 判据 | 选本数据集 | 选别处 |
|---|---|---|
| 需要逐小时呼吸支持三档状态 | 是 | — |
| 需要原始时间戳与事件级细节 | 否 | MIMIC-IV 原生表 |
| 需要多中心 | 否 | eICU-CRD |
| 需要波形 | 否 | 波形库 |
| 需要多次住院的完整史 | 否 | 母库自行抽取 |
| 需要快速拿到规整训练表 | 是 | — |
§7 质量评估与局限性
7.0 前置校正:用之前先做的三件事
第一件,确认你的凭证与版本路径。Credentialed 数据必须在协议下使用,版本号写进路径,引用时也要带上。
第二件,确认排除规则与你的研究问题相容。如果你的问题涉及临终决策、院前已插管、或多次住院,这份数据在结构上就回答不了,换数据比改方法省事。
第三件,确认你对"小时"的定义与官方一致。官方的时间原点是入 ICU,不是入急诊、不是入院、也不是开始呼吸支持。
7.1 五维评分
| 维度 | 评价 | 依据 |
|---|---|---|
| 规模 | 强 | 50,920 名成人 ICU 患者,90 天窗口 |
| 时间分辨率 | 中等 | 逐小时,小时内取中位数,无波形 |
| 干预标注 | 较强 | 五类逐小时指示,临床专家核验,但互斥化后丢失过渡细节 |
| 人群代表性 | 弱 | 单中心、单国、十二年跨度内含实践变迁 |
| 可复现性 | 较强 | 抽取代码公开,版本说明清楚,1.0.0 与 1.1.0 数据一致 |
五个维度里只有一个是弱的,但那一维恰好是最难补的:人群代表性无法靠更多工程工作解决,只能靠外部数据验证。
7.2 标签的两层来源
| 层 | 来源 | 可信度 |
|---|---|---|
| 有创与无创通气 | procedureevents,呼吸治疗师记录起止时间 |
高,有时间区间 |
| 高流量鼻导管 | chartevents,仅有观测时刻,区间由规则推断 |
中,边界依赖推断 |
| 血管活性药 | inputevents 起止时间匹配到小时 |
高 |
| CRRT | chartevents 血流速或脱水量为正 |
中,判据单一 |
| 死亡 | 医院记录优先于州记录,州记录仅日期 | 高但时间精度有限 |
官方说呼吸支持变量的整理"由临床专家核验以确保准确性与可靠性",但没有给出核验人数、一致性指标或仲裁机制。这句话支撑"有人看过",不支撑"错误率是多少"。
7.3 可枚举偏差
| 偏差 | 来源 | 后果 |
|---|---|---|
| 单中心偏差 | 一家医院的方案与人群 | 外部泛化不可保证 |
| 时间偏倚 | 2008–2019 实践变迁 | 早期数据的相关性下降 |
| 选择偏倚 | 排除 DNR/DNI 与院前插管 | 最保守与最危重两端被削去 |
| 聚合偏差 | 小时内取中位数 | 极值被平滑,短时恶化不可见 |
| 过渡期偏差 | 互斥优先级与 6 小时空档规则 | 治疗切换的真实时刻被系统性地平移 |
| 标本偏差 | 实验室值仅取动脉血气 | 常规生化不可得 |
| 住院选择偏差 | 只取首次带呼吸支持的住院 | 无法研究累积暴露与再入院 |
7.4 外部验证状况
官方页面没有列出任何第三方复现结果、独立验证或引用清单,也没有配套挑战赛。目前可核验的外部验证只有配套论文自身报告的两个任务:延长机械通气与成功撤机,以及对不同人口学组与健康社会决定因素分组的公平性审计。论文只取摘要,未读全文,因此具体性能数字不在本文的引用范围(见 §10)。
7.5 为什么它值得持续关注
三个理由。第一,它把"治疗"从事件表推进到逐小时网格,这个形态对序贯决策研究是刚需,而能做这件事的数据集不多。第二,它与 MIMIC-IV 的映射关系清晰、抽取代码公开,后来的研究者可以在它的基础上改口径、加变量,而不必从零写 SQL。第三,它自带种族、保险、语言、婚姻状况等变量,且配套论文做的就是公平性审计——在算法公平性越来越被要求的当下,这是一个少见地把公平性写进设计意图的数据集。
§8 生态位与历史
8.1 沿革
| 阶段 | 内容 |
|---|---|
| 起点 | MIMIC-IV v2.2 公开,社区出现大量派生小时视图 |
| 缺口被指出 | 已有基准聚焦死亡率与时长预测,缺乏治疗干预基准 |
| 1.0.0 | 2024 年 5 月 31 日发布,首次给出三档呼吸支持的逐小时指示 |
| 论文 | 2025 年 2 月 23 日 arXiv 公开,定义延长机械通气与成功撤机两个任务 |
| 1.1.0 | 2025 年 4 月 15 日发布,数据未变,描述更详细 |
从 1.0.0 到 1.1.0 只改描述不改数据,这个选择本身说明作者对"数据稳定性"的重视:一个被用来做基准的数据集,中途改数据会让已有结果全部失效。
8.2 与挑战赛
官方页面没有列出任何挑战赛关联。它不是一个挑战赛数据集,没有官方划分、没有排行榜、没有隐藏测试集。想用它做竞赛式评测,需要自己定划分口径并公开,否则不同团队的数字不可比。
8.3 生态位
| 生态位 | 占据情况 |
|---|---|
| 结局预测基准 | 已饱和,本数据集不以此为卖点 |
| 治疗干预的时序基准 | 稀缺,本数据集正面占据 |
| 序贯决策与强化学习环境 | 稀缺,官方明列为目标用途 |
| 公平性审计载体 | 稀缺,自带社会决定因素变量 |
| 波形级呼吸力学 | 不占,本数据集无波形 |
8.4 谁在用
官方页面给出了版本浏览量(当前版本 292 次、全部版本 454 次),但没有给出引用清单或用户名单。可以确认的使用方是作者团队自己:配套论文用它做了延长机械通气与成功撤机两个任务以及公平性审计。除此之外谁在用、用得怎么样,属于未核验内容。
§9 使用指引
9.1 三种角色路径
| 角色 | 建议路径 | 关键提醒 |
|---|---|---|
| 临床研究者 | 先读官方背景与排除规则,再套目标试验框架 | 合格时点、治疗策略、混杂集合要先写死 |
| 机器学习工程师 | 先做患者级划分,再切窗,最后建模 | 空值掩码与测量频率要作为特征或协变量 |
| 强化学习研究者 | 把三档支持当作离散动作,结局构造奖励 | 动作已被互斥化,动作空间与原临床选择不等价 |
9.2 最短流程
| 步 | 动作 | 产出 |
|---|---|---|
| 1 | 完成 CITI 培训并签署 DUA 1.5.0 | 下载权限 |
| 2 | 按分桶目录并行下载 1.1.0 | 5 万余个 CSV |
| 3 | 逐文件读取,核对列名与时间轴 | 结构确认 |
| 4 | 按 subject_id 分组划分训练与测试 | 无泄漏划分 |
| 5 | 定义观察窗、预测窗与标签 | 样本表 |
| 6 | 建模并报告口径 | 结果 |
第 4 步与第 5 步的顺序不能颠倒。先切窗再划分,测试集里会出现训练患者的相邻窗口,成绩会虚高。
9.3 引用方式
官方要求引用三处:数据集本身(带版本号)、原始论文、以及 PhysioNet 平台的标准引用。
| 引用对象 | 内容 |
|---|---|
| 数据集 | Moukheiber, M., Moukheiber, L., Moukheiber, D., Hao, S., Celi, L. A., & Lee, H. (2025). A Temporal Dataset for Respiratory Support in Critically Ill Patients (version 1.1.0). PhysioNet. doi:10.13026/wewp-sj67 |
| 原始论文 | Moukheiber M, Moukheiber L, Moukheiber D, Lee HC. Unmasking Societal Biases in Respiratory Support for ICU Patients through Social Determinants of Health. arXiv:2502.16477 |
| 平台 | Pollard 等(2026)PhysioNet as a global platform for biomedical research. Nature Health. doi:10.1038/s44360-026-00096-z |
| 母库 | MIMIC-IV v2.2(本数据集为派生数据集,官方要求同时引用) |
§10 AI 使用声明
| 项目 | 说明 |
|---|---|
| 文本生成 | 全文由 AI 起草,结构与事实均来自 PhysioNet 官方页面与官方引用的论文摘要 |
| 数字来源 | 全部规模、结构、边界数字取自官方页面与官方变量表,未自行计算任何分布性统计 |
| 文件核验 | 官方文件清单因地区限制未返回内容,CSV 的列顺序、文件总数、体积均未核验 |
| 不一致说明 | 官方表 2 中 set_peep 与 total_peep 的描述文字均为 “peak inspiratory pressure”,与临床语义不符,已在 §2.2 与 §5.6 标注 |
| 论文信息 | 仅取 arXiv 摘要页的标题、作者与摘要,未读全文,不引用其中性能数字 |
| 未核验内容 | 文件总数与体积、CSV 实际列顺序、各变量的观测密度、第三方使用与复现结果 |
| 图像 | 封面图为提示词生成,不含真实患者信息,不承载数据内容 |
| 免责 | 本文不构成医疗建议;数据集仅限凭证用户在协议范围内使用 |
常见误读(避坑清单)
| 说法 | 实际 | 证据 |
|---|---|---|
| 它是一份新的患者数据采集 | 派生数据集,无新数据采集,伦理沿用母库 | 官方伦理段落 |
| 它包含呼吸机波形 | 只有逐小时聚合的表格,不含波形 | 官方变量表与数据描述 |
| 三档呼吸支持可以同时发生 | 已互斥化,INV 高于 NIV 高于 HFNC | 官方呼吸支持干预段落 |
| 1.1.0 改了数据 | 数据与 1.0.0 相同,只改描述 | 官方发布说明 |
| 50,920 是 ICU 住院次数 | 是患者数,每患者只取首次带呼吸支持的住院 | 官方方法与数据描述 |
| 时间轴是绝对时间 | 是入 ICU 后的相对小时 0–2160 | 官方方法段落 |
| 空值表示未做治疗 | 空值表示该小时无记录 | 逐小时物化视图的生成方式 |
| anchor year 是真实年份 | 是被平移过的年份 | 官方静态变量表 |
| 实验室值涵盖常规生化 | 仅动脉血气的五项 | 官方实验室值说明 |
| 死亡时间精确到小时 | 州记录来源只到日期,转换时取零点 | 官方结局变量段落 |
| 可以拿它做多中心泛化结论 | 单中心,官方把泛化性列为限制 | 官方使用注意 |
| 用了它就不必引用 MIMIC-IV | 官方要求同时引用母库 | 官方父项目段落 |
FAQ
Q1:它和 MIMIC-IV 是什么关系,能替代 MIMIC-IV 吗?
不能替代,它是派生数据集。全部变量由定制脚本用 SQL 从 MIMIC-IV v2.2 的关系型数据库中抽取,再聚合成逐小时物化视图。官方在父项目一栏明确列出 MIMIC-IV v2.2 并要求同时引用。想做事件级分析、想要波形、想要常规生化,仍要回到母库。它的价值在于省掉那一层抽取与对齐工作。
Q2:50,920 这个数字是怎么来的?
官方方法段落写明:为避免数据泄漏,每名患者只保留首次带呼吸支持的 ICU 住院;在此之上排除带有不复苏或不插管指令的患者,以及入 ICU 前 24 小时内已在接受有创通气的患者,最终得到 50,920 名。所以这个数字是"经过三重筛选后的患者数",不等于 BIDMC 同期的全部 ICU 患者数,也不等于全部机械通气患者数。
Q3:为什么是 90 天,而不是整个住院期?
官方把窗口定为入 ICU 后 0 到 2160 小时,即 90 天。这是一个固定长度的设计选择:便于跨患者对齐,也便于构造固定长度的序列。代价是对住院超过 90 天的患者,后面的信息被截去;对住院远短于 90 天的患者,窗口尾部是空行。
Q4:标签可信吗?有没有人工标注的一致性问题?
官方声明呼吸支持变量的整理由临床专家核验,以确保准确性与可靠性。但官方没有给出核验人数、一致性指标或仲裁流程。有创与无创来自呼吸治疗师记录的起止时间,可信度较高;高流量鼻导管的区间由规则推断,边界存在不确定性。把这些不确定性写进方法学,比在论文里笼统地说"专家标注"更负责。
Q5:能直接拿来训练一个"是否该插管"的模型吗?
能训练,但要清楚你训出来的是什么。数据的标签是"实际发生了什么治疗",不是"什么治疗是对的"。 clinicians 的决定受当时信息、床位、家属意愿、医师习惯影响,这些在数据里大多不可见。用观察性数据训出的策略模型,学到的是"当时的常规做法",包括其中的偏差。这也是配套论文要做公平性审计的原因。
Q6:需要做患者级划分吗?
需要,但本数据集已经帮你做了一半:每患者只有一次住院,同一患者的轨迹只在一个文件里。跨文件的相关性主要来自同期住院、同一病区、同一批医师与同一套方案,这类相关性无法用文件级划分消除。做严格评测时,按 anchor year 分层划分可以部分检验时间偏倚。
Q7:数据能和自己医院的 ICU 数据合并吗?
技术上能,方法上要谨慎。两个来源的变量口径、时间原点、排除规则都不同;本数据集的年份被平移过,无法与外部数据的日历时间对齐。合并前至少统一三件事:时间原点的定义、呼吸支持的判定口径、排除规则。做外部验证时,把本数据集当训练、本院数据当测试,比强行合并更干净。
Q8:为什么官方页面的主题标签里 “observational” 拼错了?
官方页面的主题栏写作 “oberservational data time-series”,observational 一词拼写有误。这只是页面的元信息拼写问题,不影响数据内容,但如果你按主题标签检索数据集,用正确拼写可能检索不到它。
Q9:有哪些东西是这份数据给不了、必须从母库补的?
四类:波形级信号、常规生化与血常规等非动脉血气检验、用药明细(除五类血管活性药之外的全部药物)、临床文本。官方在使用注意里提到它可以与临床笔记结合、用自然语言模型抽取呼吸干预与病程相关的洞见——但笔记本身不在这个数据集里,需要另外去 MIMIC-IV 取并按协议使用。
术语表
| 术语 | 解释 |
|---|---|
| 有创机械通气(INV) | 经气管插管或气管切开建立人工气道后的正压通气 |
| 无创机械通气(NIV) | 经面罩或鼻罩给正压,不建立人工气道 |
| 高流量鼻导管(HFNC) | 经鼻塞输送加温加湿高流量气体的氧疗方式 |
| 撤机 | 逐步降低通气支持直至完全自主呼吸的过程 |
| 延长机械通气 | 有创通气持续超过某一时限,配套论文的两个任务之一 |
| 呼气末正压(PEEP) | 呼气末维持的气道正压,防止肺泡塌陷 |
| 峰压 | 吸气相气道压力的最高值 |
| 潮气量 | 每次吸气送入的气体体积 |
| 吸入氧浓度(FiO2) | 吸入气体中氧气的比例 |
| 吸呼比 | 吸气时间与呼气时间之比 |
| 动脉血气(ABG) | 动脉血标本测定的氧合、通气与酸碱指标 |
| SOFA 评分 | 序贯器官衰竭评估,衡量器官功能障碍程度 |
| 24 小时 SOFA | 以 24 小时为窗口计算的 SOFA |
| 格拉斯哥昏迷评分(GCS) | 睁眼、语言、运动三项构成的意识状态评分 |
| Elixhauser–Van Walraven 评分 | 基于合并症的负担得分 |
| 预测体重 | 按身高与性别推算的体重,用于设定潮气量 |
| 血管活性药 | 升压类药物,本数据集涵盖五种 |
| 连续性肾脏替代治疗(CRRT) | 持续进行的肾脏替代治疗 |
| Sepsis-3 | 2016 年提出的脓毒症诊断标准 |
| 健康社会决定因素(SDOH) | 影响健康的社会与经济条件,如保险、语言、婚姻状况 |
| 公平性审计 | 检验模型在不同人群分组上的表现差异 |
| 物化视图 | 预先计算并存储的查询结果表 |
| 日期偏移 | MIMIC 系列为保护隐私对日期做的整体平移 |
| anchor year | 患者被平移到的年份 |
| 凭证访问 | 需签署数据使用协议并通过培训才能下载 |
| DUA | 数据使用协议 |
| CITI 培训 | 人体研究伦理与数据安全的在线培训 |
| ItemID | MIMIC 中标识测量项目的编号 |
| DNR / DNI | 不复苏 / 不插管医嘱 |
| 互斥化 | 把可能重叠的治疗记录处理为同一时刻只保留一档 |
| 目标试验模拟 | 用观察性数据模仿随机对照试验设计的分析框架 |
附录 A:核心数字核对表
| 项 | 值 | 出处 | 来源层级 |
|---|---|---|---|
| 患者数 | 50,920 | 官方摘要与方法段落 | 官方页面 |
| 时间窗口 | 入 ICU 后 0–2160 小时 | 官方方法段落 | 官方页面 |
| 天数换算 | 2160 小时 = 90 天 | 官方方法段落 | 官方页面 |
| 静态变量数 | 13 | 官方表 1 | 官方页面 |
| 通气参数数 | 15(含 4 个中间变量) | 官方表 2 | 官方页面 |
| 实验室变量数 | 5 | 官方表 2 | 官方页面 |
| 生命体征变量数 | 10 | 官方表 2 | 官方页面 |
| 其他变量数 | 6 | 官方表 2 | 官方页面 |
| 干预指示数 | 5 | 官方表 3 | 官方页面 |
| 结局变量数 | 5 | 官方表 4 | 官方页面 |
| 变量合计 | 59 | 官方表 1–4 逐条计数 | 官方页面 |
| 呼吸支持档数 | 3(INV、NIV、HFNC) | 官方呼吸支持干预段落 | 官方页面 |
| HFNC 独立事件间隔阈值 | 24 小时 | 官方预处理规则 | 官方页面 |
| 治疗切换短空档阈值 | 6 小时 | 官方互斥处理规则 | 官方页面 |
| 院前有创通气排除窗口 | 入 ICU 前 24 小时 | 官方方法段落 | 官方页面 |
| 数据时间跨度 | 2008–2019 年 | 官方数据描述 | 官方页面 |
| 版本 1.0.0 日期 | 2024-05-31 | 官方版本列表 | 官方页面 |
| 版本 1.1.0 日期 | 2025-04-15 | 官方版本列表 | 官方页面 |
| DOI(1.1.0) | 10.13026/wewp-sj67 | 官方发现信息 | 官方页面 |
| DOI(最新) | 10.13026/4nm5-h710 | 官方发现信息 | 官方页面 |
| 许可 | PhysioNet Credentialed Health Data License 1.5.0 | 官方许可栏 | 官方页面 |
| 页面浏览量(当前版本) | 292 | 官方发现信息 | 官方页面 |
附录 B:数字的来源分层
第一层:官方页面。 患者数、时间窗口、全部变量名与描述、预处理阈值、排除规则、日期、DOI、许可、浏览量。这些都写在项目主页的摘要、方法、数据描述与使用注意里,是本文几乎所有数字的来源。
第二层:官方引用的论文摘要。 配套论文的两个任务(延长机械通气、成功撤机)与公平性审计的设计,来自 arXiv 摘要页。摘要只能支撑"作者定义了这些任务",不能支撑"任务上取得了什么成绩"。
第三层:未核验。 文件总数、单文件体积、CSV 的实际列顺序、各变量的观测密度、第三方使用与复现结果。官方文件清单因地区限制未对本文访问返回内容,这些需要凭证下载后自行统计。
附录 C:完整参考文献
| 编号 | 文献 | 链接 | 用途 |
|---|---|---|---|
| 1 | A Temporal Dataset for Respiratory Support in Critically Ill Patients v1.1.0 | https://physionet.org/content/temporal-respiratory-support/1.1.0/ | 全部规模、结构、边界数据的来源 |
| 2 | Moukheiber 等,Unmasking Societal Biases in Respiratory Support for ICU Patients through SDOH | https://arxiv.org/abs/2502.16477 | 任务定义与公平性审计设计(仅摘要) |
| 3 | 官方抽取代码库 | https://github.com/respiratory-support/respiratory-interventions | 预处理逻辑的公开实现 |
| 4 | Pollard 等,PhysioNet as a global platform for biomedical research(2026) | https://doi.org/10.1038/s44360-026-00096-z | 平台引用规范 |
| 5 | MIMIC-IV v2.2(母库) | https://physionet.org/content/mimiciv/ | 派生来源,需同时引用 |
附录 D:任务代码
任务一:构造逐小时的呼吸支持状态单列
import pandas as pd
from pathlib import Path
root = Path('/data/temporal-respiratory-support/1.1.0')
def support_state(row) -> str:
#-- 官方已互斥化,此处按优先级再兜一层
if row.get('invasive') == 1:
return 'INV'
if row.get('noninvasive') == 1:
return 'NIV'
if row.get('highflow') == 1:
return 'HFNC'
return 'NONE'
df = pd.read_csv(root / '100' / '10000032.csv')
df['support'] = df.apply(support_state, axis=1)
#-- 只保留状态发生变化的时刻,用于看换档序列
sw = df.loc[df['support'] != df['support'].shift(), ['hour', 'support']]
print(sw.head(20))
任务二:以入 ICU 后 24 小时为观察窗、之后 48 小时为预测窗构造样本
import pandas as pd
import numpy as np
OBS, PRED = 24, 48
df = pd.read_csv('/data/temporal-respiratory-support/1.1.0/100/10000032.csv')
df = df.set_index('hour').reindex(range(2161))
feat_cols = ['heart_rate', 'mbp', 'spO2', 'set_fio2', 'set_peep', 'total_tv', 'sofa_24_hours']
obs = df.loc[0:OBS - 1, feat_cols].to_numpy(dtype='float32')
#-- 预测窗内的事件:任一小时发生即记 1
label = int(df.loc[OBS:OBS + PRED - 1, 'death_outcome'].fillna(0).max())
#-- 观测掩码:区分"没测"与"测了为零"
mask = (~df.loc[0:OBS - 1, feat_cols].isna()).to_numpy(dtype='float32')
print(obs.shape, mask.shape, label)
第二段代码里最关键的是 mask。把"是否观测"与"观测值"分开喂给模型,是处理这类稀疏临床时序的标准做法;把缺失填成 0 或填成全局均值,等于让模型把测量频率误读成病情信号。
附录 E:如果只记五件事
| 序号 | 记住什么 | 为什么 |
|---|---|---|
| 1 | 50,920 名成人 ICU 患者,入 ICU 后 0–2160 小时逐小时 | 这两个数字定义了它的全部用法与限制 |
| 2 | 有创、无创、高流量鼻导管三档已互斥化 | 不能当多标签用,也不能研究过渡期叠加 |
| 3 | 单中心、2008–2019、只取首次带呼吸支持的住院 | 泛化性、时间偏倚、跨次住院三件事都不成立 |
| 4 | 小时内取中位数,实验室值仅动脉血气 | 极值被平滑,常规生化需回母库取 |
| 5 | 需要签署 DUA 1.5.0 并完成 CITI 培训 | 数据不是开放下载,引用要带版本号 |
编辑说明
本文的核验时间为 2026 年 10 月 28 日。核对方式为直接访问 PhysioNet 项目页(含 1.1.0 版本页)与官方引用的 arXiv 摘要页,逐一确认全称、作者与署名机构、发布日期与版本历史、DOI、患者数、时间窗口、四张官方变量表的逐条内容与单位、预处理与排除规则、许可与访问条件。
未覆盖的内容包括:官方文件清单的实际内容(因地区限制未返回)、CSV 的实际列顺序与文件体积、各变量的观测密度、配套论文全文中的性能数字、以及第三方使用与复现情况。涉及这些地方,本文只做定性表述或明确标注为未核验。
需要特别提示的一处官方不一致:官方表 2 中 set_peep 与 total_peep 的描述文字均写作 “peak inspiratory pressure”,与临床语义不符,本文按临床语义解读并在 §2.2 与 §5.6 各标注一次。另外官方主题标签栏的 “oberservational” 为拼写错误,见 FAQ 第 8 问。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本数据集共享多个主题标签的相关数据集,按相关度降序排列:
- mimiciv — 共享标签:重症医学 / 电子病历 / 时序数据
- mimic-iv-clinical-database — 共享标签:重症医学 / 电子病历 / 临床决策
- mimic-iii — 共享标签:重症医学 / 电子病历
- hirid — 共享标签:重症医学 / 时序数据
- amsterdamumcdb — 共享标签:重症医学 / 电子病历
- eicu-crd — 共享标签:重症医学 / 临床决策
- elder-icu-db — 共享标签:重症医学 / 时序数据
- annotation-dataset-sdoh — 共享标签:电子病历 / 临床决策
- clinical-trajectory-flow-icu — 共享标签:重症医学 / 时序数据
- mimic-iv-fhir — 共享标签:电子病历
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

