信息速览
机械通气患者每天早晨都会被问同一个问题:今天能不能把管子拔掉。这个判断在临床上由三样东西拼出来——重症团队的临床判断、呼吸治疗师的评估、以及一次自主呼吸试验。官方页面对这三样的共同点说得很直白:它们都不够精确。拔早了,患者脱离不了呼吸机,出现呼吸衰竭要重新插管;拔晚了,呼吸机相关肺炎、自身肺功能受损、ICU 住院日拉长、医疗负担加重,每一项都按天计费。而官方采用的拔管失败定义本身就带着时间滞后:拔管后 48 小时内需要重新插管,才算失败。也就是说,真正决定对错的那次拔管,在决策当下没有人知道答案。
SCRIPT X2B8 次日拔管库就是围绕这一个决策点切出来的一张窄表。它不是把 ICU 里能抽到的东西都搬出来,而是先由重症医师圈定 37 项每天查房时本来就会看的参数,再把时间窗从"整个自然日"收窄到午夜至早八点,让每一行特征都对应"早晨交班时你手上确实拿得到的信息"。这个收窄是它与其母体 CarpeDiem 数据集最实质的差别,也是它名字里那个八小时的含义。
它的第二层价值在队列设计上:内部 SCRIPT 队列 696 名患者、9,828 个 ICU 日,外部测试队列另起一家社区医院、333 名患者、2,835 个 ICU 日。多数公开的重症预测数据集只给一个来源,泛化性只能靠随机切分假装验证;而这里外部队列是真实存在的另一家医院、另一种 ICU 类型、另一段时间。代价同样明确:它在凭证化健康数据许可之下,需要完成 CITI 培训并签署数据使用协议才能拿到,且只有一个版本 1.0.0,没有后续修订。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全名 | SCRIPT X2B8 Dataset: per-day clinical features to model successful next-day extubation |
| 发布方 | PhysioNet;数据由美国西北大学 NU SCRIPT 研究团队贡献 |
| 首次发布 | 2025 年 1 月 28 日,版本 1.0.0 |
| 最近改动 | 无;官方版本历史只列出 1.0.0 一条,发布说明写"初始发布" |
| 内部队列规模 | 696 名唯一患者、781 次 ICU 住院、9,828 个 ICU 患者日 |
| 外部队列规模 | 333 名唯一患者、349 次 ICU 住院、2,835 个 ICU 患者日 |
| 入组前原始体量 | SCRIPT 期间 712 次入组、940 次 ICU 住院、16,402 个 ICU 日 |
| 外部入组前体量 | CDH 459 名患者、518 次 ICU 住院、5,814 个 ICU 日 |
| 数据粒度 | 每行一个患者日(patient-ICU-day),按 ICU 住院顺序分组 |
| 特征数 | 37 项临床特征,另附数据字典说明逐列含义 |
| 聚合时间窗 | 午夜至早八点;连续变量取该时段全部测量值的均值 |
| 原始来源 | 西北大学企业数据仓库(NU EDW)的电子病历抽取 |
| 标注 | 次日拔管/插管标签、气管切开标签、拔管失败标签,经医师人工复核 |
| 文件格式 | CSV 表格,配 x2b8_data_dictionary.csv 数据字典与各队列 README |
| 许可 | PhysioNet 凭证化健康数据许可 1.5.0 |
| 获取门槛 | 凭证化用户 + CITI Data or Specimens Only Research 培训 + 签署数据使用协议 1.5.0 |
| 典型用途 | 次日拔管预测、拔管失败识别、ICU 临床状态轨迹建模、支持设备使用预测、无监督模式发现 |
§1 它要解决的具体麻烦
1.1 拔管决策有三个已知的结构性难点
第一个难点是标签滞后。拔管成功与否要等 48 小时之后才能确定,临床决策却必须在当天早晨做出。任何建模工作因此都必须把"特征时间窗"和"标签时间窗"严格错开,否则模型学到的只是当天下午已经发生的事。官方把聚合窗设在午夜至早八点,正是为了让特征完全落在查房时刻之前。
第二个难点是特征离散。电子病历里同一个变量一天可能被记几十次——血氧饱和度是连续监护的,血气是一天抽几次的,肌酐是每天化验的。要把它们变成一行一个患者日的表,就得选聚合口径。官方选的是均值,且只聚午夜到早八点这一段;这个口径是刻意的,代价是丢掉了当天八点之后的所有波动。
第三个难点是人群异质。需要机械通气的患者跨越肺炎、哮喘、心衰等不同病因,且研究期覆盖了 COVID-19 疫情前后。官方在数据描述里明确提到,不同队列的人口学与总体结局相近,但特征差异明显,很可能反映了疫情期间机械通气人群构成的变化。这意味着跨队列迁移时不能只看结局率。
1.2 四条常见的错误期待
第一条,期待它是"完整的 ICU 数据库"。37 项是重症医师挑出来的查房变量,官方在局限性里说得很清楚:ICU 里还有很多被测量、可获取的参数没有被纳入。想做药物、液体、影像或文本类的研究,它给不了。
第二条,期待它能做"任意时刻的预测"。所有行都是日粒度,且特征来自固定的八小时窗。要预测"下午三点能不能拔管",这张表的口径对不上。
第三条,期待主训练文件里包含全部患者。气管切开患者被单独放进 trach.csv,拔管失败结局的患者被单独放进 fail.csv,主训练集中只保留成功拔管的那部分。把 train.csv 当成完整人群会直接算错结局率。
第四条,期待内部与外部队列可直接合并训练。外部队列来自社区医院的混合内外科 ICU,是回顾性方案且豁免知情同意;官方把它定位为外部测试用途。合并训练会破坏它唯一的价值——作为真实外部验证集。
1.3 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 次日成功拔管的监督学习 | 37 项当日特征 + 经人工复核的次日拔管标签 | 够,且标签清洗有医师参与 |
| 拔管失败的识别 | 失败结局患者集中在 fail.csv,官方明确说很适合 |
够,且是官方点名的用途 |
| 院内时间序列模型(RNN/LSTM 类) | 按 ICU 住院顺序排列的患者日序列 | 够,官方自己就训了序列模型 |
| 支持设备使用预测(ECMO/CRRT/血透/气切) | 这些状态被标注 | 够,官方列为可换的预测目标 |
| 死亡、长期置管、转出 ICU 等结局 | 数据含结局信息,官方列为可建模目标 | 部分,需自行确认所在列与口径 |
| 药物与干预效应研究 | — | 不够,37 项里没有用药与干预序列 |
| 非肺炎、非机械通气人群的推断 | 入组限定为疑似肺炎且需机械通气 | 不够,人群边界很窄 |
| 实时或当日多次预测 | 日粒度、固定八小时窗 | 不够 |
1.4 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 你想复现"次日拔管预测"这条基线 | 提供了与预印本同源的清洗后标签与官方划分 | 用官方的 train/val/test 三件套跑,别自己重切 |
| 你已有模型,想要一个真实外部测试集 | 外部队列来自另一家社区医院、另一类 ICU | 只用 full.csv 做外测,报告时写清是外部医院 |
| 你在做缺失值处理的方法研究 | 官方承认 EHR 缺失固有存在,并认为缺失本身携带信息 | 把缺失模式当特征而非噪声,写清插补口径 |
| 你想研究"临床决策窗口"的设计 | 八小时窗与二十四小时窗的口径差异可直接对照 | 与母体 CarpeDiem 数据集的口径并排比较 |
| 你在做重症状态轨迹的无监督分析 | 患者日按 ICU 住院顺序排列,可直接构造序列 | 先按住院分组再切窗,避免跨住院拼接 |
| 你要一个教学用的小体量纵向表 | CSV、行数在万级、字典齐全 | 课堂演示最合适,产出图表不必抽样 |
1.5 一句话判断
它不是"更大的重症数据库",而是一把口径已经替你定好的尺子:三十七项查房变量、一个清晨八小时窗、两组互相独立的人群——用它量的是"模型在真实外部医院还剩多少性能"。
1.6 不适合谁:四条边界
不适合做药物、液体或干预的因果研究。 表里没有用药序列、没有医嘱事件流、没有干预时间戳。官方的变量大类只到人口学、生命体征、呼吸机参数、化验值、意识状态评估、器官衰竭评估六类。
不适合做非重症或非肺炎人群的推断。 入组条件是内科 ICU、需要机械通气、疑似肺炎,且外部队列是混合内外科 ICU。结论不能外推到术后常规监护或普通病房。
不适合拿来做当日多次或实时预测。 日粒度是硬约束。想做小时级预测,需要回到波形与监护原始流,那类数据与这张表不是同一层。
不适合对"拔管失败率"做跨研究直接比较。 官方给的是各自队列内的失败比例(SCRIPT 23.1%、CDH 15.8%),定义统一为"两日内需重新插管";但若你的研究用了不同纳入口径,数字不可比。
§2 数据构成与规格
2.1 它由两个目录、八个 CSV 与一本字典组成
官方把数据组织成两个目录:内部 SCRIPT 队列与外部测试队列。两个目录下的表结构完全一致,区别只在装了哪些患者——这是官方的原话,也是使用中最省事的一点:写一次读表代码,两个队列通用。
| 目录 | 文件 | 官方说明的含义 |
|---|---|---|
| 内部 SCRIPT 队列 | train.csv |
用于训练模型 |
| 内部 SCRIPT 队列 | val.csv |
用于调参与超参优化 |
| 内部 SCRIPT 队列 | test.csv |
用于内部评估 |
| 内部 SCRIPT 队列 | trach.csv |
因气管切开而被过滤掉的患者数据 |
| 内部 SCRIPT 队列 | fail.csv |
因拔管失败结局而被过滤掉的患者数据 |
| 外部测试队列 | full.csv |
用于外部评估 |
| 外部测试队列 | trach.csv |
因气管切开而被过滤掉的患者数据 |
| 外部测试队列 | fail.csv |
因拔管失败结局而被过滤掉的患者数据 |
| 根目录 | x2b8_data_dictionary.csv |
说明全部 37 项临床特征的逐列含义 |
| 各目录 | README |
官方说明每个目录内文件的分工 |
八个数据文件加一本字典,加起来不到十个文件。这种"少文件、宽表格"的形态对下载与版本管理友好,但对理解不友好——所有语义都压在数据字典里,不看字典直接读表几乎必然误读列名。
2.2 六个变量大类与三十七项特征
官方没有在主页逐项列出 37 个列名,而是给出六个大类,并指向数据字典。下表按官方列出的类别整理。
| 变量大类 | 官方归类 | 在这一任务里的角色 |
|---|---|---|
| Demographics | 人口学 | 年龄、性别一类的静态协变量 |
| Vital signs | 生命体征 | 呼吸与循环状态的直接读数 |
| Ventilator parameters | 呼吸机参数 | 氧合与通气支持强度的量化 |
| Laboratory values | 化验值 | 代谢、感染、器官功能的实验室证据 |
| Mental status assessments | 意识状态评估 | 能否配合、能否保护气道的关键判断 |
| Organ failure assessments | 器官衰竭评估 | 多器官受累程度的综合评分 |
这六类的排列顺序本身携带信息:从静态到动态,从单一读数到综合评分。要特别指出,特征是由重症医师选定的"日常查房会看"的 37 项,不是数据驱动的筛选结果。这个选择方式有好处——临床上可解释、部署时可直接拿——也有代价——它不等于预测力最强的 37 项。
2.3 一行数据的完整解剖
官方对行结构的描述可以拆成四句,每一句都对应一处容易写错的代码:
每行是一个患者日。 索引单位是"某患者在某次 ICU 住院中的某一天",不是患者,也不是住院。所以行数的量级是万级而非千级。
行按 ICU 住院分组并按顺序排列。 同一次住院的若干天在表里是连续的,这为构造序列提供了前提,也意味着"随机打乱行再做切分"会同时切断时间序列与患者归属。
连续变量是午夜到早八点全部测量值的均值。 不是全天均值,也不是末次值、最差值。用过八点之后数据参与特征的写法,等于把标签时刻之后的信息提前喂进去。
离散变量与支持设备状态也是按日给出。 官方提到 ECMO、气管切开、CRRT、血透这些支持设备的使用是被标注的,可作为预测目标而非仅作特征。
| 结构要素 | 官方口径 | 写错会怎样 |
|---|---|---|
| 行索引 | 患者日 | 当成患者级会重复计算同一人 |
| 分组键 | ICU 住院 | 漏掉分组键会让序列跨住院拼接 |
| 连续变量聚合 | 午夜—早八点均值 | 用全天均值会引入八点后的信息 |
| 排序 | 住院内按日顺序 | 打乱后序列模型失效 |
| 缺失 | EHR 固有缺失,官方认为缺失本身有信息 | 直接填均值会抹掉"医生没开这项检查"的信号 |
2.4 时间坐标:日期被整体移除
官方的去标识做法是 HIPAA 安全港规则,并且明确写了"所有日期都已移除,以 ICU 住院为相对参照"。举例是:ICU 住院 1 的第 1 天,表示该患者第一次 ICU 住院的第一天。
这个设计带来三个直接后果。第一,无法做任何与日历时间有关的分析——季节、周末效应、疫情分期的按月切分都不成立,除非你自己另有映射。第二,无法与其他带真实日期的数据源按时间对齐。第三,"住院天序号"成为唯一的时间轴,任何窗口特征都必须用它来构造,跨住院的间隔信息不可得。
| 时间信息 | 是否可得 | 说明 |
|---|---|---|
| 日历日期 | 不可得 | 官方明确全部移除 |
| 相对住院序号 | 可得 | 如"第 1 次 ICU 住院" |
| 住院内天序号 | 可得 | 如"第 1 天" |
| 时刻粒度 | 不可得 | 聚合后只剩日粒度 |
| 住院之间的间隔 | 不可得 | 未提供相对间隔字段 |
2.5 与母体 CarpeDiem 数据集的口径差异
官方在"本数据集的独特之处"里逐条列出四项,其中两项直接指向与母体的差别。
| 对比项 | CarpeDiem(母体,v1.1.0) | X2B8 |
|---|---|---|
| 聚合窗口 | 整个 24 小时自然日 | 午夜至早八点 |
| 特征数量 | 母体为宽表、参数更多 | 收窄到 37 项查房变量 |
| 标签重心 | 人口学、结局与逐日参数 | 次日拔管/插管与气管切开标签 |
| 队列设计 | 主为单中心前瞻队列 | 内部队列 + 独立外部测试队列 |
| 设计目的 | 描述与建模重症过程 | 面向每日查房场景的可部署预测 |
母体是宽而全的,X2B8 是窄而准的。官方把这一点说得很直接:之所以改成八小时窗,是着眼于未来在每日查房时部署——查房时你手上只有到八点为止的数据。这解释了为什么"特征更少"反而是优点:少掉的那些,本来在部署时刻也拿不到。
2.6 数据字典的位置与读取方式
x2b8_data_dictionary.csv 是理解列名的唯一官方依据。官方说它描述全部 37 项临床特征,包括生命体征、呼吸机参数、化验值与支持设备使用。注意官方这一句列举的是四类,而变量大类列的是六类——两处口径不完全对齐,说明字典里可能同时包含人口学与评分类条目。这一点需要拿到数据后自行确认。
由于资源是凭证化的,未授权状态下无法直接查看字典内容。使用时应先申请访问,下载后把字典当作第一份要读的文件。
§3 它是谁的数据
3.1 贡献者与机构
官方作者列表共十三人,来自西北大学的不同院系。
| 角色 | 人员与机构 |
|---|---|
| 第一作者 | Sam Fenske,西北大学医学院肺与重症医学科 |
| 共同作者 | Alec Peltekian(McCormick 工程学院)、Mengjia Kang、Nikolay Markov、Anna Pawlowski、Thomas Stoeger、Ankit Agrawal(西北大学) |
| 临床作者 | Luke Rasmussen、Benjamin Singer、GR Scott Budinger、Richard Wunderink(Feinberg 医学院) |
| 资深作者 | Alexander Misharin(西北大学)、Catherine A Gao(Feinberg 医学院肺与重症医学科) |
值得注意的是名单里同时有工程学院与医学院的作者,这与数据本身的性质吻合:一边是临床口径的审定,一边是建模口径的实现。官方在方法部分明确说,特征是由重症医师选定并经过 ICU 医师人工复核与验证的,重点放在通气特征与插管拔管标记上。
3.2 时间线
| 时间 | 事件 |
|---|---|
| 2018 年起 | SCRIPT 前瞻队列在一家四级医疗中心开始入组 |
| 2018—2022 年 | 外部 CDH 队列在社区医院混合内外科 ICU 采集 |
| 2018—2023 年 | SCRIPT 入组持续,期间共 712 次入组 |
| 2024 年 6 月 28 日 | 方法学预印本在 medRxiv 上线 |
| 2025 年 1 月 28 日 | 版本 1.0.0 在 PhysioNet 发布 |
截至核验时,官方版本历史只有 1.0.0 一条,发布说明写"初始发布"。也就是说,这是一个还没有经历修订的数据集——没有勘误、没有补发、没有列名字段调整记录。对使用者而言,这既是好事(不必担心版本间口径漂移),也是提醒(发现问题时没有官方勘误可参照,只能通过代码仓库提 issue)。
3.3 采集场景:两个不同的临床现场
内部队列来自一家四级医疗中心的内科 ICU。 入组条件是需要机械通气、因已知或疑似肺炎而接受支气管肺泡灌洗。这是前瞻性队列,患者或其法定代表签署了知情同意。研究方案编号 STU00204868。
外部队列来自社区医院 Central DuPage Hospital 的混合内外科 ICU。 这是回顾性的纯数据方案,获得知情同意豁免,编号 STU00216678。
两个现场的差异正是外部验证的价值所在:一个四级中心、一个社区医院;一个内科 ICU、一个混合内外科 ICU;一个前瞻知情同意、一个回顾豁免。官方没有声称两者可比,而是把它们放在训练与外部测试的不同位置——这个安排本身就是结论:模型要跨过这道坎才算站得住。
3.4 数据来源的三个层次
| 层次 | 内容 | 可核验性 |
|---|---|---|
| 第一层 | 西北大学企业数据仓库的电子病历抽取 | 官方明确点名来源系统 |
| 第二层 | ICU 医师人工复核与验证,集中在通气特征与插管拔管标记 | 官方说明,未给出复核人数与一致性指标 |
| 第三层 | 为标注次日拔管状态所做的清洗与过滤,两百余份病历被医师人工审阅 | 官方给出量级,细节指向论文与代码仓库 |
第三层的"两百余份"是一个值得单独拎出来的数字。它说明标签不是规则自动生成的,而是有人工审阅参与的;同时也说明人工审阅覆盖的是数百份而不是全部患者日——其余部分是规则化清洗的结果。想严格评估标签质量,需要看论文方法与代码仓库里的清洗逻辑。
§4 它最独特的东西
4.1 八小时窗是一个部署约束,不是一个技术选择
多数重症预测数据集按自然日聚合,因为自然日是数据库里最容易对齐的单位。X2B8 放弃了自然日,改成午夜至早八点,官方给的理由是"着眼于未来在每日查房时部署"。
这个差别在数据科学上是收窄,在工程上是解放。二十四小时窗的特征里,混进了拔管之后才发生的事情——下午拔的管,当天晚上的血氧当然好看。用这种特征训练出来的模型,在离线评估上很好看,部署即失效,因为它偷偷看到了答案。八小时窗把特征严格限制在"查房时你手上拿得到的",才使离线数字有可能对应在线表现。
4.2 外部队列是真的外部,不是切分出来的外部
| 做法 | 常见数据集 | X2B8 |
|---|---|---|
| 时间外推切分 | 同一医院按时间切 | 未采用为主口径 |
| 随机切分 | 同一人群随机分 | 内部队列用,但另设外部队列 |
| 真实外部医院 | 罕见 | 有:社区医院 CDH,独立 IRB 方案 |
| 报告方式 | 只用内部 test 集 | 内部 test + 外部 full 双报告 |
外部队列的存在把"泛化性"从一个说法变成一次可执行的检验。它的成本是真实的:另一家医院要单独申请 IRB(且是回顾性豁免方案)、要单独抽取、要单独清洗,最后只得到 2,835 个 ICU 日。这也是为什么这类设计在公开数据里少见——不是没人想做,是做起来贵。
4.3 失败病例被单独留出来,而不是被丢掉
官方在纳入与排除部分写得很清楚:主训练集纳入成功拔管的患者;因气管切开、或因拔管失败结局而被排除的患者,其数据仍然提供,分别在 trach.csv 与 fail.csv 里。
这个处理比直接删掉高明,也更容易被误用。
| 文件 | 装的是谁 | 常见误用 | 正确用法 |
|---|---|---|---|
train.csv / val.csv / test.csv |
成功拔管路径上的患者日 | 当成全部人群算结局率 | 按官方划分使用,结局率须另算 |
trach.csv |
气管切开患者 | 混入训练制造标签泄漏 | 单独分析气切路径,或作为对照 |
fail.csv |
拔管失败结局患者 | 与 test.csv 混并 |
官方点名的拔管失败识别任务的原料 |
失败病例留在包里意味着"研究拔管失败"这件事官方是支持的,并且在局限性之后的使用说明里把它列为最适合的用途之一。
4.4 标注的粒度:日级清楚,时刻级不可得
标签是次日拔管状态,粒度是天。官方定义失败为拔管后 48 小时内需重新插管,也表述为"两日内需重新插管"。这意味着标签本身带一个 48 小时的观察窗——要构造标签,必须有拔管时刻之后两天的数据,因此数据末尾的若干天在逻辑上是无法标注的。
对使用者来说,推论有三条:一是不要试图从这张表恢复精确时刻;二是标签的时间基准是"次日",任何当天多次预测的版本都要自行定义;三是 48 小时窗与日粒度并存,做序列标注时要显式说明标签挂在哪一天。
4.5 边界条件:什么情况下它不再适用
当研究目标需要八点之后的信息时。 窗是硬的,八点后的波动不在表里。
当人群不是机械通气的疑似肺炎患者时。 入组条件把外推范围锁死了。
当需要跨机构合并训练时。 外部队列在官方设计里是测试用途,合并会消解它的唯一价值。
当需要用药、影像、文本或波形时。 六类变量里没有这些。
当需要真实日历时间时。 日期已按安全港规则移除。
§5 怎么拿到
5.1 目录结构与获取门槛
这是一个凭证化资源。官方在文件区写明三道门槛:成为凭证化用户、完成 CITI “Data or Specimens Only Research” 培训、签署本项目的数据使用协议。三项都满足后才能看到并下载文件;未授权状态下文件清单不可见。
| 路径 | 内容 |
|---|---|
/content/script-x2b8-dataset/1.0.0/ |
项目主页,含摘要、背景、方法、数据描述与使用说明 |
/files/script-x2b8-dataset/1.0.0/ |
文件目录,需凭证后可见 |
| 内部队列目录 | train.csv、val.csv、test.csv、trach.csv、fail.csv、README |
| 外部队列目录 | full.csv、trach.csv、fail.csv、README |
| 根目录 | x2b8_data_dictionary.csv |
由于文件清单在授权前不可见,上表的目录层级依据官方"数据被组织成两个文件夹"以及"README 描述每个文件夹内的文件构成"的表述整理;具体路径层级以下载后的实际目录为准。
5.2 批量下载
#-- 凭证化资源:用 PhysioNet 账号下载,密码会交互式询问,不要写进脚本
wget -r -N -c -np --user 你的PhysioNet用户名 --ask-password \
https://physionet.org/files/script-x2b8-dataset/1.0.0/
#-- 下载后先看字典,再看 README,最后才动数据表
ls -R script-x2b8-dataset | head -40
第一行的 -np 很重要,否则递归会顺着父目录爬到别的项目去。-N -c 让重复执行时跳过已完整下载的文件,凭证化项目常常一次下不完。
如果命令行不方便,PhysioNet 也提供浏览器登录后从项目页下载的方式,以及官方的云端工作台通道。无论哪种,产出物都是同一批 CSV。
5.3 先把字典读成映射表
import pandas as pd
#-- 字典是理解列名的唯一官方依据,先读它
dd = pd.read_csv('x2b8_data_dictionary.csv')
print(dd.shape)
print(dd.columns.tolist())
#-- 官方说字典描述全部 37 项临床特征,用行数核对一次
print(dd.iloc[:, 0].tolist())
字典读出来之后,第一件事是把列名与官方的六个变量大类对上。官方主页列了六类(人口学、生命体征、呼吸机参数、化验值、意识状态评估、器官衰竭评估),而描述字典的句子里只举了四类(生命体征、呼吸机参数、化验值、支持设备使用)。两处口径不同,不要假定它们一一对应。
5.4 构造患者日序列
import pandas as pd
#-- 行索引是患者日;按 ICU 住院分组后按日排序即成序列
#-- 下面的列名是示意,实际列名以 x2b8_data_dictionary.csv 为准
STAY, DAY = 'icu_stay_id', 'icu_day'
df = pd.read_csv('train.csv')
df = df.sort_values([STAY, DAY]) #-- 官方说同一次住院的行本来就连续,排序是保险
#-- 每个住院日构造"过去三天"的窗口特征;不足三天的位置留缺失,不要填 0
feat_cols = [c for c in df.columns if c not in (STAY, DAY)]
for lag in (1, 2, 3):
df[[f'{c}_lag{lag}' for c in feat_cols]] = df.groupby(STAY)[feat_cols].shift(lag)
print(df.shape)
这段代码里最容易被忽略的一行是 groupby(STAY)。不加分组直接 shift,会把上一次 ICU 住院的最后几天挪到下一次住院的开头,凭空造出不存在的轨迹。官方既然明确说表"按 ICU 住院分组、同一次住院顺序出现",分组键就是必须显式写出来的东西。
另一处是缺失不要填 0。官方在局限性里说 EHR 缺失是固有的,并且认为缺失本身携带信息——医生觉得没用就不会开这项检查。填 0 会同时抹掉这个信号并制造假的正常值。
5.5 训练/验证/测试的口径
import pandas as pd
#-- 官方已经划好三份,直接用,不要自己重切
tr = pd.read_csv('train.csv')
va = pd.read_csv('val.csv')
te = pd.read_csv('test.csv')
ex = pd.read_csv('full.csv') #-- 外部队列,只在最后跑一次
for name, d in [('train', tr), ('val', va), ('test', te), ('external', ex)]:
print(name, d.shape)
#-- 三份表的列必须一致;不一致说明读错了目录
assert tr.columns.equals(va.columns) and va.columns.equals(te.columns)
assert tr.columns.equals(ex.columns)
官方说得很明白:各表结构相同,只是按过滤与分配装了不同患者。因此列一致性是可以断言的;如果断言失败,问题在读文件而不是在划分。
5.6 五个最容易出错的地方
| 位置 | 错误写法 | 后果 | 正确做法 |
|---|---|---|---|
| 划分 | 把 train/val/test 合并后随机重切 | 破坏官方划分,与外部队列口径不一致 | 直接用官方三件套 |
| 序列构造 | 不按 ICU 住院分组直接 shift | 跨住院拼接出假轨迹 | 显式 groupby 住院键 |
| 缺失处理 | 全部填 0 或填均值 | 抹掉"没开这项检查"的信息 | 保留缺失,或显式加缺失指示列 |
| 结局率计算 | 只用 test.csv 算拔管失败比例 |
失败病例在 fail.csv 里 |
说明所用文件与纳入口径 |
| 外部队列 | 与内部数据合并训练 | 消解唯一的外部验证价值 | 只在最后做一次外测 |
§6 与库内条目的关系
6.1 关系图谱
在重症电子病历这一类目里,可以用"数据来源 × 时间粒度 × 任务聚焦度"三个轴把它摆出来。
| 对比对象 | 来源 | 粒度 | 与本数据集的关系 |
|---|---|---|---|
| 大型公开 ICU 数据库 | 多中心、多院区 | 事件级到小时级 | 它们是粮仓,参数全但要自己定口径 |
| 单中心重症专科库 | 一家医院某专科 | 事件级 | 与本数据集人群不同,可互补做外测 |
| 跨库特征工程基准 | 由大型库派生 | 已切好特征 | 与本数据集一样省事,但任务不聚焦拔管 |
| 母体重症逐日表 | 单中心前瞻队列 | 患者日 | 口径更宽、按自然日聚合;本数据集是其收窄版 |
| 脓毒症与感染专科库 | 专科 ICU | 患者日或小时 | 人群相邻、任务不同 |
| 本数据集 | 单中心前瞻 + 一家社区医院 | 患者日 | 在"任务聚焦度"这一轴上最深 |
这条关系线的意义在于:如果你要的是"尽可能多的重症参数",它不合适;如果你要的是"一个已经把拔管任务的口径定好的表",它几乎是最直接的选择。
6.2 检索路径
| 你要找的东西 | 检索词 | 会落到哪里 |
|---|---|---|
| 更宽的重症逐日参数 | 重症、逐日参数、人口学与结局 | 母体重症逐日表词条 |
| 大体量 ICU 数据来源 | 重症数据库、多中心、事件级 | 大型公开 ICU 数据库词条 |
| 已切好的特征基准 | 特征工程、基准、派生表 | 跨库特征工程基准词条 |
| 拔管与通气决策建模 | 机械通气、拔管、呼吸衰竭 | 本页 |
| 感染与脓毒症人群 | 脓毒症、感染、专科 ICU | 脓毒症与感染专科库词条 |
| 老年与衰弱重症人群 | 老年、重症、预后 | 老年重症数据库词条 |
6.3 与其他库的分工判据
| 任务 | 主粮仓该用什么 | 本数据集的位置 | 原因 |
|---|---|---|---|
| 重症预后模型的预训练 | 大型多中心 ICU 库 | 只在外部测试出现 | 696 名患者不足以预训练 |
| 次日拔管预测 | 无可替代 | 主力 | 标签与窗口口径都已定好 |
| 拔管失败识别 | 无可替代 | 主力 | 失败病例被单独保留 |
| 真实外部验证示范 | 少数几个之一 | 主力 | 有独立医院、独立 IRB 的测试队列 |
| 缺失值方法论研究 | 任一大型库 | 主力之一 | 官方明确认为缺失携带信息 |
| 用药与干预效应 | 带医嘱流的库 | 不适用 | 37 项里没有用药序列 |
| 波形与信号建模 | 波形库 | 不适用 | 表格数据,无波形 |
| 影像与文本建模 | 影像与文本库 | 不适用 | 无影像无文本 |
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
评价这个数据集时,最容易犯的错误是拿"参数多不多、患者多不多"当尺子。它的设计目标从一开始就不是覆盖,而是可部署——三十七项查房变量、八小时窗、外部医院测试,三件事都服务于同一个目的。用覆盖度去评价它,等于用载重去评价一辆手术推车。
7.1 五维评分
| 维度 | 评价 | 依据 |
|---|---|---|
| 任务聚焦度 | 高 | 标签、窗口、特征三项都围绕次日拔管设计 |
| 外部验证能力 | 高 | 独立医院、独立 IRB、独立时间窗的测试队列 |
| 标注可信度 | 中高 | 重症医师复核通气与插管标记,两百余份病历人工审阅 |
| 覆盖广度 | 低 | 37 项,官方明确承认 ICU 里还有很多参数未纳入 |
| 时间分辨率 | 低 | 日粒度,且只有午夜到早八点一段 |
五个维度里两高、一中高、两低。这不是缺陷清单,而是设计取舍的记录:两个低分维度正是换来两个高分维度的代价。
7.2 标注质量的两层
第一层是规则层。插管与拔管这类事件在电子病历里有结构化记录,可被规则抽取。第二层是人工层。官方说由 ICU 医师人工复核与验证,重点在通气特征与插管拔管标记,并且为标注次日拔管状态做了大量清洗与过滤,两百余份病历被医师人工审阅。
这两层的组合决定了可信度边界:标记类字段可信度较高,因为它们被医师专门复核过;而"清洗后的次日拔管标签"的可信度取决于清洗规则,官方把细节指向论文与代码仓库。想复现或质疑标签,必须去看那份代码。
7.3 已知的、可枚举的偏差
| 偏差 | 机制 | 影响 |
|---|---|---|
| 人群偏差 | 入组限定内科 ICU、机械通气、疑似肺炎 | 结论不能外推到其他重症人群 |
| 时间偏差 | 研究期跨疫情前后,官方称特征差异明显 | 内部队列可能内含两个不同时期的人群 |
| 机构偏差 | 内部为四级中心,外部为社区医院 | 外测性能差里含机构差异,不全是模型问题 |
| 选择偏差 | 主训练集只留成功拔管路径 | 直接算结局率会偏低 |
| 检查偏差 | 化验是否做取决于医生判断 | 缺失不是随机的 |
| 时间坐标偏差 | 日期全部移除 | 无法做季节、周末、分期分析 |
六项偏差里有三项是设计决定的(人群、机构、时间坐标),两项是 EHR 固有的(时间、检查),一项是任务定义决定的(选择)。也就是说,六项里没有一项是数据质量事故——它们都是已知的、可写进方法节的。
7.4 外部验证矩阵
| 验证类型 | 本数据集能否提供 | 说明 |
|---|---|---|
| 随机切分的内部验证 | 能 | train.csv / val.csv / test.csv |
| 时间外推验证 | 不能 | 日期已移除,无法按日历时间切 |
| 真实外部机构验证 | 能 | 外部队列来自另一家医院、另一类 ICU |
| 跨人群(非肺炎)验证 | 不能 | 人群边界锁定 |
| 前瞻部署验证 | 不能 | 数据为回顾抽取,无部署日志 |
五项里能两项,不能三项。能的两项恰好是最难造的(真实外部机构)和最基础的(内部切分);不能的三项里,时间外推的缺失是去标识的直接代价。
7.5 它为何能持续:稀缺的不是数据量,是那个组合
696 名患者、9,828 个 ICU 日在重症数据里不算多。它值得存在的原因是三个条件的交集:标签经过医师清洗、特征窗口与部署时刻对齐、并且有一家真实的外部医院等着做检验。三个条件里任何一个单独拿出来都不稀奇,凑在一起就很少见——因为凑齐它们需要一家医院愿意为另一家医院的数据单独申请伦理方案,还要把部署约束写进数据构造阶段,而不是等建模时再补救。
§8 生态位与历史
8.1 历史沿革
它脱胎于 NU SCRIPT 系统生物学中心。SCRIPT 全称为 Successful Clinical Response In Pneumonia Therapy,是一项在四级医疗中心开展的单中心前瞻队列研究,对象是需要机械通气并因已知或疑似肺炎接受支气管肺泡灌洗的患者,由 NIH NIAID U19AI135964 资助。
母体数据集先于它发布,以人口学、结局与逐日临床参数为内容,按自然日聚合。X2B8 是母体的派生:官方在项目页的"父项目"一栏明确标注它衍生自 SCRIPT CarpeDiem Dataset v1.1.0,并要求使用时一并引用。
从母体到派生的演进方向很清楚——从"描述重症过程"转向"支持一个具体决策"。收窄特征数、收窄时间窗、增设外部队列,三步都朝同一个方向走。
8.2 与挑战赛的关系
它不属于任何挑战赛,也不是挑战赛的遗留物。这一点值得单独说明,因为很多 PhysioNet 上的知名数据集都带挑战赛血统,使用者容易默认"有官方排行榜、有标准评测脚本"。这里没有。
评测口径因此要自己定义,而官方给出的参照是三件套划分加一个外部队列。这比排行榜灵活,也比排行榜容易走样——不同论文只要改了纳入口径,数字就不可比。
8.3 生态位:一把口径定好的尺子
| 生态位 | 谁占着 | 本数据集的角色 |
|---|---|---|
| 大体量重症数据源 | 多中心公开库 | 不参与 |
| 宽口径逐日重症表 | 母体数据集 | 派生与收窄 |
| 具体决策任务的窄表 | 少数 | 占据,且带外部验证 |
| 特征工程基准 | 派生特征库 | 任务更聚焦 |
| 教学用小体量纵向表 | 若干 | 适合,行数与字典规模都合适 |
它的竞争者不是那些更大的库,而是"你自己从大库里切一张拔管表"这个选项。相比之下它的优势是口径已被医师审定、标签已被清洗、外部队列已就位;劣势是灵活性差——想换特征集或换窗口,它给不了。
8.4 谁在用它,用来做什么
官方在用途说明里点名的方向有四类,且都写得很具体:
| 用途 | 官方表述的要点 |
|---|---|
| 次日拔管预测 | 数据集的编制目的 |
| 拔管失败识别 | 官方说数据很适合识别拔管失败的指征 |
| 支持设备使用预测 | ECMO、气管切开、CRRT、血透的使用已被标注,可作预测目标 |
| 其他结局建模 | 死亡、长期置管、成功转出 ICU 均可作为目标 |
| 无监督探索 | 官方认为值得做,可发现与上述结局或状态相关的模式 |
此外,两位作者所在机构同时有医学院与工程学院背景,配套的预印本与公开代码仓库为复现提供了入口。官方在使用说明里直接给出代码仓库地址,并欢迎在上面提 issue——这意味着遇到口径疑问时,提问的去处是代码仓库而不是 PhysioNet 的评论区。
§9 使用指引
9.1 三种角色的路径
| 角色 | 第一天 | 第一周 | 注意事项 |
|---|---|---|---|
| 临床预测研究者 | 申请凭证,读完字典与 README | 用官方三件套跑通基线,最后跑一次外部队列 | 不要重切训练集 |
| 重症临床研究者 | 核对入组条件与自己的研究人群是否匹配 | 用外部队列检验结论是否跨机构成立 | 人群边界锁在机械通气的疑似肺炎 |
| 方法学研究者 | 以缺失机制为切入点读使用说明 | 把缺失模式作为研究对象而非噪声 | 官方认为缺失本身携带信息 |
9.2 一条最短的可用流程
#-- 1. 凭证化下载(密码交互式输入,不要写进脚本)
wget -r -N -c -np --user 你的用户名 --ask-password \
https://physionet.org/files/script-x2b8-dataset/1.0.0/
#-- 2. 先确认拿到的文件与官方列出的八个 CSV + 字典一致
find . -name '*.csv' | sort
find . -iname 'README*' | sort
import pandas as pd
#-- 3. 读字典,建立列名到含义的映射
dd = pd.read_csv('x2b8_data_dictionary.csv')
#-- 4. 读官方三件套,确认列一致
tr = pd.read_csv('train.csv')
va = pd.read_csv('val.csv')
te = pd.read_csv('test.csv')
assert tr.columns.equals(va.columns) and va.columns.equals(te.columns)
#-- 5. 外部队列只在最后跑一次
ex = pd.read_csv('full.csv')
print('行数:', len(tr), len(va), len(te), len(ex))
print('列数:', tr.shape[1])
第二步的核对不能省。凭证化资源偶尔会因为权限范围而少下文件,等到建模时才发现少了一份 fail.csv,再回头排查代价更大。
9.3 引用方式
| 引用对象 | 内容 |
|---|---|
| 数据集 | Fenske, S., Peltekian, A., Kang, M., 等(2025)。SCRIPT X2B8 Dataset: per-day clinical features to model successful next-day extubation(版本 1.0.0)。PhysioNet。https://doi.org/10.13026/235w-zn26 |
| 原始论文 | Fenske SW, Peltekian A, Kang M, 等。Developing and validating a machine learning model to predict successful next-day extubation in the ICU。medRxiv 2024。 |
| 父项目 | SCRIPT CarpeDiem Dataset v1.1.0;官方要求使用时一并引用 |
| 平台 | PhysioNet 平台综述论文,按官方页面 Cite 按钮生成 |
写论文时建议同时注明:使用的版本号(1.0.0)、所用的具体文件(train/val/test 或 full)、以及是否使用了 trach.csv 与 fail.csv。这三项决定了读者的结局率能否对上。
§10 AI 使用声明
| 项目 | 声明 |
|---|---|
| 文本生成 | 本文由 AI 辅助撰写,编辑把关结构与事实 |
| 数字来源 | 规模、结构、边界三类数字来自 PhysioNet 官方项目页与版本页 |
| 文件核验 | 项目页、版本页、引用块、许可与访问策略经直接访问确认;文件目录为凭证化资源,未授权状态下不可见,未逐文件核验 |
| 不一致说明 | 官方主页列六个变量大类,而描述数据字典的句子只举四类,两处口径不完全对齐,已在 §2.6 指出 |
| 论文信息 | 预印本仅据官方页引用信息与检索摘要,未读全文与补充材料 |
| 未核验内容 | 37 项特征的逐列名称与取值编码、各 CSV 的精确行数与字节体积、目录层级结构、缺失的具体分布 |
| 图像 | 无配图;封面为生成式提示词,不含真实病历信息 |
| 免责 | 本文不构成临床建议;数据使用须遵守 PhysioNet 凭证化健康数据许可 1.5.0 与数据使用协议 1.5.0 |
常见误读(避坑清单)
| 说法 | 实际 | 证据 |
|---|---|---|
| 「主训练集里包含全部患者」 | 气管切开与拔管失败患者被放进单独的 trach.csv 与 fail.csv |
官方纳入与排除段 |
| 「它是按整天聚合的」 | 午夜至早八点,连续变量取该时段均值 | 官方数据集结构段 |
| 「外部队列可以并入训练」 | 官方定位为外部评估用途 | 官方文件说明:full.csv 用于外部评估 |
| 「有真实日期可以做时间外推」 | 日期已按 HIPAA 安全港规则移除,只有相对住院与相对天 | 官方方法段 |
| 「缺失值应当填 0」 | 官方认为 EHR 缺失本身携带信息 | 官方局限性段 |
| 「可以自己重切训练测试集」 | 官方已按用途划好三件套 | 官方文件说明 |
| 「它是通用重症数据库」 | 37 项查房变量,官方承认还有很多参数未纳入 | 官方局限性段 |
| 「能研究用药效果」 | 六大类变量里没有用药序列 | 官方变量列表 |
| 「拔管失败定义为当天出问题时」 | 定义为拔管后 48 小时内需重新插管 | 官方背景段 |
| 「它有几个版本可以选」 | 版本历史只有 1.0.0 一条 | 官方版本与发布说明栏 |
| 「谁都能下载」 | 需凭证化用户 + CITI 培训 + 签署数据使用协议 | 官方访问策略栏 |
| 「它和挑战赛数据一样有排行榜」 | 与挑战赛无关,无官方排行榜 | 官方页面未见挑战赛归属 |
FAQ
Q1:为什么时间窗是午夜到早八点,而不是整天?
官方给的理由是着眼于未来在每日查房时部署。查房时你手上只有到八点为止的数据,如果训练特征用了整天,模型就偷偷看到了拔管之后才发生的事情,离线数字好看但部署即失效。这个约束在数据构造阶段就写死了,不是建模时可选的选项。
Q2:trach.csv 和 fail.csv 能拿来做训练吗?
能做但不能混进主训练表。官方把这两类患者从主训练集里排除,是因为他们没有成功拔管路径;数据仍然提供,是让人研究气切路径与拔管失败的。官方在使用说明里明确说,数据很适合识别拔管失败的指征。
Q3:外部队列和内部队列能合并训练吗?
不建议。外部队列来自社区医院的混合内外科 ICU,是回顾性方案,官方把它定位为外部评估。合并训练会消解它唯一的用途——作为真实外部验证集。正确做法是内部三件套完成训练与调参,最后在外部队列上跑一次。
Q4:缺失值该怎么处理?
官方的表态值得注意:他们认为 EHR 缺失是固有的,而且缺失本身携带信息——医生觉得某项检查没用就不会开。因此不要把缺失一律填 0 或填均值,那既抹掉了这个信号,又制造了假的正常值。更稳妥的做法是保留缺失并显式加一列缺失指示。
Q5:它和母体重症逐日表是什么关系?
它是派生数据集,官方在项目页的父项目栏标注衍生自 SCRIPT CarpeDiem Dataset v1.1.0,并要求一并引用。差别在三点:特征收窄到 37 项、时间窗从自然日改到八小时、增设独立外部测试队列。母体更宽,它更聚焦。
Q6:能不能用它研究 COVID-19 前后的变化?
不能直接做。所有日期都已按 HIPAA 安全港规则移除,只剩相对住院序号与住院内天序号,无法按日历时间分期。官方在队列描述里提到不同队列特征差异明显、可能与疫情期间人群构成变化有关,但那是作者的推断,数据层面没有可做分期的字段。
Q7:拿到数据后第一件该做的事是什么?
读 x2b8_data_dictionary.csv。所有列名的语义都压在这本字典里,官方主页只给了六个变量大类而没有逐项列名。不看字典直接读表,几乎必然把列名理解错。
Q8:为什么只给 37 项特征?
这是重症医师选定的"日常查房会看"的参数,不是数据驱动的筛选结果。好处是临床上可解释、部署时可直接拿;代价是它不等于预测力最强的 37 项。官方在局限性里也承认 ICU 里还有很多其他参数未被纳入。
Q9:它需要什么样的授权?
三道门槛:成为 PhysioNet 凭证化用户、完成 CITI “Data or Specimens Only Research” 培训、签署本项目的数据使用协议 1.5.0。许可是 PhysioNet 凭证化健康数据许可 1.5.0。未满足前文件清单不可见。
Q10:它有几个版本?会不会有修订?
截至核验时只有 1.0.0,发布于 2025 年 1 月 28 日,发布说明写"初始发布"。好处是不必担心版本间口径漂移;提醒是发现问题时尚无官方勘误可参照,只能通过官方给出的代码仓库提 issue。
Q11:它能用来做实时预测吗?
不能。数据粒度是患者日,特征来自固定的八小时窗,没有时刻信息。要做小时级或实时预测,需要回到监护波形与原始事件流,那类数据与这张表不在同一层。
Q12:拔管失败的判定口径是什么?
拔管后 48 小时内需要重新插管,官方也表述为"两日内需重新插管"。这个定义带观察窗,因此数据末尾靠后的若干天在逻辑上是无法标注的。做序列标注时要显式说明标签挂在哪一天。
术语表
| 术语 | 解释 |
|---|---|
| 机械通气 | 通过呼吸机维持或替代自主呼吸的生命支持手段 |
| 拔管 | 撤除气管插管,让患者恢复自主呼吸 |
| 再插管 | 拔管后因呼吸衰竭等原因重新置入气管插管 |
| 拔管失败 | 官方定义为拔管后 48 小时内需要重新插管 |
| 自主呼吸试验 | 短时脱离呼吸机支持以评估脱机能力的床旁试验 |
| 呼吸机相关肺炎 | 机械通气期间发生的院内肺炎,通气时间越长风险越高 |
| 患者日 | 一名患者在 ICU 中的一天,是本数据集的行单位 |
| ICU 住院 | 一次重症监护住院;同一次住院的若干患者日在表中连续排列 |
| 聚合窗口 | 把多次测量压成一个值所取的时间范围,此处为午夜至早八点 |
| 气管切开 | 经颈部造口置入气切套管,与经口插管不同的长期气道通路 |
| CRRT | 连续性肾脏替代治疗,用于危重患者的持续血液净化 |
| ECMO | 体外膜肺氧合,用于严重心肺衰竭的体外生命支持 |
| 支气管肺泡灌洗 | 经支气管镜灌洗并回收肺泡灌洗液,用于病原学检查 |
| HIPAA 安全港 | 美国去标识规则之一,移除十八类标识后视为去标识数据 |
| 企业数据仓库 | 医院把各业务系统数据整合后的集中存储,此处为抽取来源 |
| 凭证化访问 | PhysioNet 对敏感数据的访问控制:实名认证 + 培训 + 签署协议 |
| CITI 培训 | 人体研究伦理与数据使用的在线培训课程体系 |
| 数据使用协议 | 规定数据用途限制与责任的法律协议 |
| 前瞻队列 | 先定方案再入组随访的研究设计 |
| 回顾性方案 | 利用已有病历数据开展、通常豁免知情同意的研究设计 |
| 知情同意豁免 | 伦理委员会批准不逐一取得患者同意的决定 |
| 四级医疗中心 | 提供最高级别复杂诊疗与教学的医院 |
| 序列模型 | 把患者日按顺序输入以学习轨迹的模型,如 RNN、LSTM |
| 提升树模型 | 把每个患者日视作独立样本训练的梯度提升类模型 |
| 外部验证 | 在与训练来源不同的机构或人群上检验模型性能 |
附录 A:核心数字核对表
| 项 | 值 | 来源 | 来源层级 |
|---|---|---|---|
| 内部队列患者数 | 696 | 官方摘要与数据描述 | 官方页面 |
| 内部队列 ICU 住院数 | 781 | 官方数据描述 | 官方页面 |
| 内部队列 ICU 患者日 | 9,828 | 官方摘要与数据描述 | 官方页面 |
| 外部队列患者数 | 333 | 官方摘要与数据描述 | 官方页面 |
| 外部队列 ICU 住院数 | 349 | 官方数据描述 | 官方页面 |
| 外部队列 ICU 患者日 | 2,835 | 官方摘要与数据描述 | 官方页面 |
| SCRIPT 入组次数 | 712 | 官方数据描述 | 官方页面 |
| SCRIPT 入组期 ICU 住院数 | 940 | 官方数据描述 | 官方页面 |
| SCRIPT 入组期 ICU 日 | 16,402 | 官方数据描述 | 官方页面 |
| CDH 队列原始患者数 | 459 | 官方数据描述 | 官方页面 |
| CDH 队列原始 ICU 住院数 | 518 | 官方数据描述 | 官方页面 |
| CDH 队列原始 ICU 日 | 5,814 | 官方数据描述 | 官方页面 |
| 临床特征数 | 37 | 官方摘要与数据字典说明 | 官方页面 |
| 聚合窗口 | 午夜至早八点 | 官方摘要与数据集结构 | 官方页面 |
| SCRIPT 拔管失败比例 | 23.1% | 官方数据描述 | 官方页面 |
| CDH 拔管失败比例 | 15.8% | 官方数据描述 | 官方页面 |
| 拔管失败定义 | 48 小时内需重新插管 | 官方背景段 | 官方页面 |
| SCRIPT 中位年龄 | 63 岁,Q1 为 51、Q3 为 72 | 官方数据描述 | 官方页面 |
| SCRIPT 女性比例 | 44% | 官方数据描述 | 官方页面 |
| SCRIPT 不良结局比例 | 45% | 官方数据描述 | 官方页面 |
| 人工审阅病历量级 | 两百余份 | 官方方法段 | 官方页面 |
| 数据文件数 | 8 个 CSV(内部 5、外部 3)+ 1 个字典 | 官方数据集结构 | 官方页面 |
| 伦理方案编号 | STU00204868、STU00216678 | 官方方法与伦理段 | 官方页面 |
| 入组年份范围 | SCRIPT 2018—2023;CDH 2018—2022 | 官方方法段 | 官方页面 |
| 许可 | PhysioNet 凭证化健康数据许可 1.5.0 | 官方许可栏 | 官方页面 |
| 版本与发布日期 | 1.0.0,2025 年 1 月 28 日 | 官方版本栏 | 官方页面 |
| DOI(v1.0.0) | 10.13026/235w-zn26 | 官方 Discovery 栏 | 官方页面 |
| DOI(latest) | 10.13026/av6f-8r24 | 官方 Discovery 栏 | 官方页面 |
| 资助 | NIH NIAID U19AI135964 | 官方致谢段 | 官方页面 |
附录 B:数字的来源分层
第一层:官方页面。 摘要、背景、方法、数据描述、数据集结构、使用说明、版本、许可与发现栏里出现的所有数字,包括两组队列的患者数、住院数、患者日、入组期体量、失败比例、中位年龄、女性比例、不良结局比例、特征数、伦理编号、DOI 与发布日期。附录 A 全部归入这一层。
第二层:官方页面引用的外部材料。 预印本与代码仓库由官方列在参考文献里,但正文没有采用其中的模型性能指标。本文只引用官方页面本身写出的信息,不把论文结果当作数据描述的一部分。
第三层:未核验。 37 项特征的逐列名称与取值编码、各 CSV 的精确行数与体积、目录层级、缺失的具体分布。这些需要获得凭证化授权、下载文件后才能确认,本文按要求只写规模、结构、边界三类数字,凡涉及的地方一律只做定性表述。
附录 C:完整参考文献
| 编号 | 文献 | 链接 | 用途 |
|---|---|---|---|
| 1 | Fenske S, 等。SCRIPT X2B8 Dataset(版本 1.0.0)。PhysioNet。2025。 | https://doi.org/10.13026/235w-zn26 | 全部规模、结构、边界数字的出处 |
| 2 | Fenske SW, Peltekian A, Kang M, 等。Developing and validating a machine learning model to predict successful next-day extubation in the ICU。medRxiv 2024。 | https://www.medrxiv.org/content/10.1101/2024.06.28.24309547v1 | 官方页指定的原始出版物 |
| 3 | 2024_Fenske_Peltekian 代码仓库 | https://github.com/NUPulmonary/2024_Fenske_Peltekian | 官方指定的口径疑问提交处 |
| 4 | NU SCRIPT。Successful Clinical Response In Pneumonia Therapy。 | https://script.northwestern.edu/ | 队列背景 |
| 5 | Starren JB, 等。Enabling a learning health system through a unified enterprise data warehouse。Clin Transl Sci 2015。 | 官方页参考文献 4 | 数据来源系统背景 |
| 6 | Melsen WG, 等。Attributable mortality of ventilator-associated pneumonia。Lancet Infect Dis 2013。 | 官方页参考文献 1 | 通气延长风险的论据 |
| 7 | Epstein SK, Ciubotaru R。Independent effects of etiology of failure and time to reintubation。Am J Respir Crit Care Med 1998。 | 官方页参考文献 2 | 再插管与结局关系的论据 |
| 8 | HHS OCR。HIPAA 去标识指南。 | 官方页参考文献 7 | 去标识口径 |
附录 D:任务代码
| 任务 | 该读哪些文件 | 关键注意 |
|---|---|---|
| 次日拔管预测 | train.csv、val.csv、test.csv |
不要重切,官方划分即口径 |
| 外部验证 | full.csv |
只在最后跑一次 |
| 拔管失败识别 | fail.csv |
官方点名的适合用途 |
| 气管切开路径分析 | 两个 trach.csv |
与主训练表分开处理 |
| 支持设备使用预测 | 全套,取设备状态列 | 列名以字典为准 |
| 无监督轨迹发现 | 全套,按住院分组 | 必须显式分组键 |
附录 E:如果只记五件事
| 序号 | 记住什么 | 为什么 |
|---|---|---|
| 1 | 696 名内部患者、333 名外部患者 | 规模不大,价值在队列设计而非体量 |
| 2 | 37 项特征、午夜至早八点聚合 | 这个窗口是为部署时刻定的,不是随手切的 |
| 3 | 外部队列来自另一家社区医院 | 真实外部验证是它最难被替代的地方 |
| 4 | 气切与失败病例在 trach.csv 与 fail.csv |
只用主训练表算结局率必然偏低 |
| 5 | 日期已移除,只有相对住院与相对天 | 所有与日历时间有关的分析都做不了 |
需要更高工程化程度或合规出域的商业版本?
当前展示的公开版本适用于学术研究与原型验证。千方医数集依托三甲医院直采网络,提供经专家标注、符合伦理合规的专病数据集交易服务。
前往商城查看可交易产品 →
