信息速览
护士比生命体征更早知道病人要出问题,这件事在临床上几乎是人尽皆知的常识,在数据上却长期无处安放。床旁护士察觉到的苍白、淡漠、尿量变少、夜里频繁起身查看,多数不会变成一条可计算的字段;它们变成的是电子病历里护理评估与干预记录的频次和节奏。传统早期预警评分只看结构化的生命体征与化验值,等于把这一层信号整段丢掉。于是一个尴尬的局面出现了:所有关于「恶化预测」的公开数据都来自生理和检验数据,而所有关于「机器学习预警系统到底有没有用」的前瞻性证据都极其稀少——公开可得的重症数据库几乎全是回顾性观察数据,能证明模型能预测,却证明不了把预测结果告诉医护之后病人会不会好一点。
CONCERN 试验库是这两条缺口交汇处的罕见产物。它的名字来自 COmmunicating Narrative Concerns Entered by RNs(由注册护士录入的叙事性担忧传达),背后是一次已经做完、已经发表、并且是整群随机的前瞻性试验:74 个住院病区按 37 比 37 随机,一半病区的医护团队能在电子病历里看到 CONCERN 风险评分,另一半维持常规治疗;入组的 60,893 例成人住院就诊横跨 2020 年 10 月至 2022 年 10 月,覆盖两家美国医疗系统的四家医院。2026 年 10 月 19 日,这份经过两阶段去标识的就诊—班次级分析数据集以 1.0.0 版本挂上 PhysioNet,随包附带可以把已发表调整模型重跑出来的 R 与 SAS 脚本。
它的代价同样直白:这是一个结局表,不是原始病历。没有波形、没有时间戳、没有病区标识、没有护理文档原文、也没有 CONCERN 模型自己算出来的风险评分;随访时间被压成五个粗区间,住院时长被取整并抖动过,病区一级的聚类标准误在发布数据上根本无法复现。它回答不了「模型怎么建」,只能回答「干预有没有效、效应有多大、能不能被别人重算出来」。一屏速览见下表。
| 维度 | 内容 |
|---|---|
| 全名 | CONCERN Early Warning System Trial |
| 名称含义 | CONCERN = COmmunicating Narrative Concerns Entered by RNs |
| 发布方 | PhysioNet(由 MIT 计算生理实验室维护),数据由哥伦比亚大学欧文医学中心与宾夕法尼亚大学团队贡献 |
| 首次发布 | 2026 年 10 月 19 日,版本 1.0.0,发布说明为 Initial release |
| 最近改动 | 无后续版本;1.0.0 是当前也是唯一版本 |
| 就诊规模 | 60,893 例成人住院就诊(干预组 33,024,常规治疗组 27,869) |
| 筛查规模 | 79,049 例接受筛查,其中 60,893 例符合入组标准 |
| 随机单位 | 74 个住院病区(急症病区与 ICU),干预 37 个、常规 37 个;两家医疗系统、四家医院 |
| 时间跨度 | 入组时间为 2020 年 10 月至 2022 年 10 月 |
| 记录粒度 | 一行对应一次住院就诊与一个 12 小时护理班次的组合 |
| 通道数与采样率 | 不适用,本数据集不含波形与连续生理信号 |
| 原始来源 | 各院区 Epic 电子健康记录数据仓库的 SQL 抽取 |
| 结局变量 | 院内死亡、存活出院、脓毒症、心肺骤停、非计划 ICU 转入、30 天再入院,共 6 个二元指标 |
| 标注方式 | 结局按试验定义从电子病历派生,非人工逐条标注;去标识经 HIPAA 安全港加专家判定两阶段 |
| 文件格式 | CSV 主数据 + TXT 变量说明 + R/SAS 复现脚本 + PNG 森林图 + TXT 会话信息 |
| 许可 | PhysioNet 受限健康数据许可 1.5.0,须注册并签署使用协议 |
| 典型用途 | 已发表调整模型的复现、恶化预测的二次分析、护理信息学决策支持、实用性试验方法学 |
§1 它要解决的具体麻烦
1.1 恶化预测领域缺的不是模型,是前瞻性证据
过去十年,住院患者病情恶化的预测模型几乎成了公开数据的标准练习题。给一批生命体征与化验值,让模型预测几小时后的 ICU 转入或死亡,这类任务在任何一个大型重症数据库上都能跑起来,指标体系也高度成熟。问题在于,这类研究回答的是「能不能算出来」,而不是「算出来之后告诉医护,病人会不会因此活下来」。这两件事之间隔着一层临床现实:一个再准的评分,如果没人看、看了不改变处置、改变了处置也救不回来,就等于零。
要跨过这一层,必须做前瞻性的干预研究,而且最好是随机化的。公开可得的重症与急诊数据库基本都是回顾性的观察性数据,它们记录了自然状态下的医疗过程,没有「干预」这一维。结果是,模型文献越堆越厚,能证明部署有效的研究却屈指可数——官方背景段落引用的一项系统综述给出的数字是,医疗领域机器学习干预的随机试验只有 41 项。这个数字本身就是这个领域最大的尴尬。
CONCERN 试验库填的正是这个坑。它不是又一个「可以拿来训练恶化预测模型」的数据集,而是一份带着干预分配标签、带着预设共同主要结局、带着已发表统计结果的试验数据。用它做的事和用回顾性数据库做的事,在方法学上是两类。
1.2 护理文档这一层信号为什么长期缺席
第二个麻烦更隐蔽。绝大多数恶化预测模型吃的是生理与检验数据:心率、血压、呼吸频率、体温、血氧、乳酸、肌酐。这些字段的好处是结构化、有时间戳、可直接入模;坏处是它们变化得晚。生命体征异常通常已经是失代偿的表现,而在此之前几小时甚至几十小时,患者的状态已经开始走下坡。
经验丰富的床旁护士捕捉的正是这段下坡路:这次评估比上次更频繁、这次记录的措辞不一样、夜里多看了两趟。这些信息在电子病历里不是以某个数值存在的,而是以「护理记录的频次与类型」存在的。CONCERN 的核心假设就在这里——把护理监测行为的模式本身当作临床担忧的代理变量,用机器学习建模,生成实时风险评分推给整个照护团队。
这一层信号在公开数据里基本找不到。原因不难理解:护理文档是自由文本与结构化流水的混合体,去标识成本极高,且涉及机构层面的文档规范与文化差异,机构愿意放出来的少之又少。所以 CONCERN 的独特性不在于它用了某种特殊算法,而在于它证明了「护理文档模式」这一路信号可以被工程化、被随机验证、并且最终被公开发布——哪怕发布出来的只是结局层。
1.3 三条常见的错误期待
第一条,期待它有护理文档原文或风险评分。官方在方法段里写得很清楚:CONCERN 风险评分、护理文档元数据与模型输入都不在发布范围内。拿到这份数据,你无法重建模型,也无法复现「每小时一个风险分」的过程。想做模型的人会在这里止步。
第二条,期待它有精确时间。所有随访时间都被粗化进五个区间:1–2、3–6、7–14、15–28、29 及以上个 12 小时班次,而数据集里出现的数值 2、6、14、28、29 是区间代号,不是精确班次个数。住院时长则先取整到 24 小时网格,再叠加最多约 6 小时的有界随机抖动。精确到小时的时间—事件分析在这里做不了。
第三条,期待它能做病区一级的聚类分析。病区标识在去标识阶段被整体移除,只留下「多数班次在干预病区」「多数班次在 ICU」这样的汇总指示。随包脚本因此只能报基于模型的标准误,官方明确说这不替代院区一级的聚类。把脚本跑出来的标准误当成试验原始的标准误来引用,是这份数据最容易发生的误引。
1.4 它能给到的与给不到的
| 你的需求 | 它给的 | 够不够 |
|---|---|---|
| 复现已发表的调整模型 | 随包 R 与 SAS 脚本加主数据,官方称方向、量级与统计解释保持一致 | 够,且这是设计目标 |
| 比较干预组与常规组的结局 | 60,893 例就诊带分组指示,6 个二元结局 | 够,规模足以支撑二次分析 |
| 用护理文档模式训练恶化预测模型 | — | 不够,模型输入与文档元数据未发布 |
| 精确时间—事件的生存分析 | 五个粗化区间 | 不够,只能做区间级 |
| 病区一级的聚类与组内相关 | — | 不够,病区标识已移除 |
| 30 天再入院研究 | 非计划、间隔至少 24 小时、同一系统、限于存活出院者 | 可做,但口径要先读清 |
| 脓毒症预测建模 | Sepsis-3 定义的二元结局 | 可做,但没有构成 Sepsis-3 的原始指标 |
| 多中心泛化验证 | 两家医疗系统、四家医院 | 半够,是两家而不是多中心大样本 |
| 儿科或青少年住院研究 | — | 不够,入组下限为 18 岁 |
1.5 你的处境与它能帮到的事
| 你的处境 | 它能帮你什么 | 下一步该做什么 |
|---|---|---|
| 你在复现一篇已发表试验的结果 | 官方脚本与主数据配套,可直接跑通对照 | 先跑 R 与 SAS 两条链,比对森林图与文档图 1 |
| 你做实用性试验方法学,缺一份真实整群随机数据 | 74 个整群、干预分配已知、结局预设 | 用它练整群随机下的分析口径,注意聚类已不可复现 |
| 你做护理信息学,想论证文档模式的价值 | 官方背景与结果段给出完整的论证链 | 引原始论文,用本数据做二次分析而非建模 |
| 你做医院质量管理,关心预警系统的副作用 | 非计划 ICU 转入被单独列为一个结局 | 把「转入增加」写进评估框架,不要只看死亡与住院日 |
| 你想做去标识方法学研究 | 两阶段流程写在方法段,含具体的粗化与抖动规则 | 复刻这套规则到自己的数据上做对照 |
| 你要训练模型 | — | 换用带原始时间序列的库,本数据不适合 |
1.6 一句话判断与四条边界
它不是一份建模粮仓,而是一份已经判过胜负的成绩单:适合用来核对、复算与二次解读,不适合用来训练。
不适合做模型训练。 没有风险评分、没有护理文档、没有生命体征时间序列,特征空间只剩去标识后的少量协变量。任何「用 CONCERN 数据集训练恶化预测模型」的说法都和数据内容对不上。
不适合做精细时间分析。 随访时间被压成五个区间,住院时长被抖动过。需要小时级精度的研究请另找数据源。
不适合做整群随机的方法学示范。 整群存在过,但整群标识被移除,组内相关无从估计。示范整群分析需要能拿到群标识的数据。
不适合代表美国以外的医疗环境。 数据来自两家美国学术医疗系统,护理文档的规范、护理人力配置、ICU 转入文化都嵌在这两家的实践里。官方背景段也把「不同护理文档文化下的可推广性未经验证」列为限制。
§2 数据构成与规格
2.1 六个文件各司其职
官方文件目录列出的内容一共六项,分工非常清楚:一份主数据、一份说明文档、两条复现脚本、一张对照图、一份运行环境记录。
| 文件名 | 类型 | 作用 | 使用注意 |
|---|---|---|---|
concern_deidentified_release_20260724.csv |
CSV | 去标识的就诊与班次级分析数据主体 | 文件名含发布日期串 20260724,引用时建议保留 |
CONCERN_Deidentified_Dataset_File_and_Variable_Description.txt |
TXT | 概览、文件说明、变量字典、去标识方法、森林图、基础数据摘要、使用注意与限制 | 变量字典与限制条款的权威出处 |
concern_reproduce_results_20260724.R |
R | 复现已发表的调整模型并生成森林图 | 需配合文档中的图 1 对照 |
concern_reproduce_results_20260724.sas |
SAS | 同上,用 SAS 复现调整模型 | 与 R 脚本互为交叉验证 |
concern_reproduced_forest_20260724.png |
PNG | 已发表估计与复现估计的森林图对照 | 判断复现是否一致的直接依据 |
concern_reproduction_sessionInfo_20260724.txt |
TXT | 复现当时的 R 会话信息 | 包版本不一致时先看它 |
这个组合透露了发布方的意图:主数据是配角,可复现性才是主角。六项里有三项直接服务于「把论文里的模型再算一遍」,一项是算完之后的对照图,一项是环境记录。相比之下,纯粹描述数据的一件只有那份变量说明。
2.2 变量字典:能确认的部分与不能确认的部分
官方页面正文点名了十余个变量,完整字典写在随包的变量说明文档里,而该文档属于受限访问范围,本次未能直接读取。下表把可以从官方页面正文确认的变量逐条列出,未确认的一并标注。
| 变量 | 官方说明 | 层级 | 确认状态 |
|---|---|---|---|
ID |
去标识的就诊标识符 | 主键 | 官方页面确认 |
assignment_majority_int |
该患者被观察到的班次级分配中多数落在干预病区时为 1 | 暴露 | 官方页面确认 |
majority_icu |
该患者被观察到的照护班次区间多数在 ICU 时为 1 | 场景 | 官方页面确认 |
| 院内死亡 | 二元指标,试验中按瞬时风险建模 | 共同主要结局 | 官方页面确认 |
| 存活出院 | 二元指标 | 结局 | 官方页面确认 |
| 脓毒症 | 二元指标,Sepsis-3:疑似感染加 SOFA 或 qSOFA 标准 | 次要结局 | 官方页面确认 |
| 心肺骤停 | 二元指标,Code Blue 事件 | 次要结局 | 官方页面确认 |
| 非计划 ICU 转入 | 二元指标,由急症病区直接转入 ICU 且非计划操作所致 | 次要结局 | 官方页面确认 |
| 30 天再入院 | 二元指标,非计划、至少间隔 24 小时、同一医疗系统,限于存活出院者 | 次要结局 | 官方页面确认 |
| 年龄组 | 年龄被转换成分类年龄组 | 协变量 | 官方页面确认(分组边界未公布) |
| 性别 | 入院时从电子病历取得 | 协变量 | 官方页面确认 |
| 种族 | 入院时取得,已按数据字典重编码 | 协变量 | 官方页面确认(类别未公布) |
| 民族 | 入院时取得,已按数据字典重编码 | 协变量 | 官方页面确认(类别未公布) |
| Charlson 合并症指数 | 分组为 0、1、2、3、4、5 及以上 | 协变量 | 官方页面确认 |
| 研究地点 | 作为协变量保留 | 协变量 | 官方页面确认 |
| 住院时长 | 取整到 24 小时网格、加有界随机抖动(最多约 6 小时)、以天发布 | 结局/协变量 | 官方页面确认 |
| 死亡随访时间 | 粗化为五个班次区间 | 时间 | 官方页面确认 |
| 出院随访时间 | 粗化为五个班次区间 | 时间 | 官方页面确认 |
| 脓毒症随访时间 | 粗化为五个班次区间 | 时间 | 官方页面确认 |
| 心肺骤停随访时间 | 粗化为五个班次区间 | 时间 | 官方页面确认 |
| ICU 转入随访时间 | 粗化为五个班次区间 | 时间 | 官方页面确认 |
| CSV 总列数 | — | 结构 | 未核验,见 §10 |
| CSV 总行数 | — | 规模 | 未核验,见 §10 |
最后两行是这份数据最容易被问到、也最容易被人随口编出来的两个数字。官方页面只说「一行对应一次住院就诊与一个班次」,没有给出行数;就诊数 60,893 是入组的就诊数,不等于 CSV 的行数,因为同一次就诊会横跨多个班次。把 60,893 当成行数,是这份数据上最典型的数字误用。
2.3 一次就诊在表里长什么样
把官方说明拆开,一次就诊在数据里的生命周期是这样的:患者入院,在某研究病区待够 12 小时,前 6 小时没有发生任何院内事件,住院时间超过 24 小时,年龄满 18 岁——五条同时满足,这次就诊进入候选池。之后每一次 12 小时的护理班次,都会产生一行,行上带着这一时刻的分组状态、场景状态、以及到结局发生或删失为止的随访区间。
这就是为什么主键不能简单等于就诊。发布方把标识符定义为去标识的就诊标识符,同时声明就诊之间按独立处理,这意味着行与行之间的纵向关联需要使用者自己按标识符去组织。
用 Python 读进来之后的第一步,应该是先确认标识符的粒度,而不是急着跑模型:
import pandas as pd
#-- 读入主数据;编码与分隔符请先按变量说明文档确认
df = pd.read_csv('concern_deidentified_release_20260724.csv')
print(df.shape) #-- 行数与列数,先记下来再往下走
print(df.columns.tolist())
#-- 先确认 ID 是不是唯一:唯一则一行一就诊,不唯一则是就诊-班次展开
print('ID 唯一:', df['ID'].is_unique)
print('就诊数:', df['ID'].nunique(), ' 行数:', len(df))
三行打印解决三件事:拿到真实的行列规模、确认标识符粒度、为后面的分组与去重定口径。这一步在受限数据上尤其重要,因为变量说明文档虽然存在,但每次分析都应该用实际读到的表头来对齐,而不是凭页面上的变量名猜。
2.4 主键映射:就诊、班次、病区三层
理解这份数据要分清三层,而官方只把其中两层留在了数据里。
| 层次 | 是否存在于发布数据 | 留下的痕迹 | 缺失的后果 |
|---|---|---|---|
| 就诊(encounter) | 是 | ID,去标识就诊标识符 |
— |
| 班次(12 小时 shift) | 是,隐含在行结构与随访区间里 | 五个粗化区间、行级展开 | 无法还原班次的绝对时刻 |
| 病区(unit) | 否 | assignment_majority_int、majority_icu 两个汇总指示 |
整群结构不可复现 |
| 医院与医疗系统 | 部分 | 研究地点作为协变量保留 | 地点层级较粗 |
| 患者(person) | 否 | 官方声明就诊之间按独立处理 | 同一患者的多次就诊无法串联 |
第三行是这份数据最实质的限制。整群随机试验的一切统计前提——组内相关、设计效应、整群层级的标准误修正——都建立在「哪个病区属于哪一组」这张表上。发布方为了去标识移除了病区标识,只留下两个汇总指示,这等于把整群结构从数据里摘掉了。随包脚本改用基于模型的标准误,官方也明说这不替代院区一级的聚类。
第四行与第五行是连带损失。同一患者多次住院在数据里是两条互不相连的就诊;研究地点只到系统或院区一级,做不了更细的分层。
2.5 与同类资源的字段差异
| 对比项 | CONCERN 试验库 | 常规重症公开数据库 | 常规 EHR 衍生数据表 |
|---|---|---|---|
| 研究设计 | 前瞻性整群随机对照试验 | 回顾性观察性队列 | 回顾性观察性 |
| 干预变量 | 有,病区级随机分配 | 无 | 无 |
| 时间粒度 | 12 小时班次,粗化为五个区间 | 分钟到小时级 | 事件级或日级 |
| 波形与连续信号 | 无 | 多数有 | 无 |
| 原始护理文档 | 无 | 少数有(文本库) | 视库而定 |
| 模型输入 | 不发布 | 可自行构造 | 可自行构造 |
| 结局 | 6 个预设二元结局 | 需自行定义 | 需自行定义 |
| 去标识方式 | 安全港加专家判定,两阶段 | 多为日期平移加标识符移除 | 视库而定 |
| 获取门槛 | 注册并签署使用协议 | 部分需注册,部分开放 | 视库而定 |
| 复现脚本 | 有,R 与 SAS 双份 | 罕见 | 罕见 |
这张表里真正决定性的是第二行与第十行。有干预变量,才能谈因果;有复现脚本,才能谈核对。其余各行多半是取舍。
2.6 时间轴、班次与「29」这个数字
官方把时间—事件按 12 小时的护理班次计量,然后把随访时间粗化进五个区间。这个设计值得单独拆开讲,因为它是数据里最容易读错的地方。
| 区间代号 | 对应的班次区间 | 换算成小时 | 读法 |
|---|---|---|---|
| 2 | 1–2 个班次 | 12–24 小时 | 读作区间,不是精确值 |
| 6 | 3–6 个班次 | 36–72 小时 | 读作区间,不是精确值 |
| 14 | 7–14 个班次 | 84–168 小时 | 读作区间,不是精确值 |
| 28 | 15–28 个班次 | 180–336 小时 | 读作区间,不是精确值 |
| 29 | 29 个及以上班次 | 348 小时及以上 | 右删失端,不可当作 29 |
最后一行是官方特意写进使用注意里的:数值 29 代表「29 及以上」,不能读成恰好 29 个班次。同样的提醒适用于其余四个值——它们是区间的上界代号,不是精确时长。
住院时长的处理是另一套规则:先按 24 小时网格取整,再叠加最多约 6 小时的有界随机抖动,最后以天为单位发布。官方明确说,发布的住院时长与原值有意不同。这意味着拿这份数据的住院时长去和任何外部基准对绝对值,都是无效比较;能做的是什么方向的比较、以及组间比较。
§3 它是谁的数据
3.1 贡献者与机构
官方页面列出三位作者。Sarah Rossetti 与 Brandon Lau 来自哥伦比亚大学欧文医学中心(Columbia University Irving Medical Center,美国);Kenrick Cato 来自宾夕法尼亚大学(University of Pennsylvania,美国)。PhysioNet 页面把 Sarah Rossetti 标为通讯作者,联系方式需登录查看。
这三个人与这项试验的关系,要从原始论文看才完整。2025 年发表于《Nature Medicine》的那篇论文署名二十余位作者,横跨哥伦比亚大学、宾夕法尼亚大学、布莱根妇女医院与麻省总医院等机构;本次 PhysioNet 发布只列了三位,是数据集层面的署名,不是试验层面的完整作者名单。引用时如果只引数据集,用三位作者的 PhysioNet 引文即可;如果要谈试验本身,必须引原始论文。
机构背景决定了数据的两个气质。哥伦比亚大学欧文医学中心是护理信息学与生物医学信息学的重镇,这解释了为什么整个项目会从「护理文档模式」而不是「生命体征异常」切入;而试验跨越两家医疗系统,说明它在立项之初就把可推广性放在了设计里,只是最终能公开的范围受去标识约束而收窄。
3.2 时间线
| 时间 | 事件 | 意义 |
|---|---|---|
| 2020 年 10 月 | 试验开始入组 | 起点,与常规护理流程并行 |
| 2022 年 10 月 | 入组结束 | 覆盖约两年,含疫情期住院实践 |
| 2025 年 4 月 | 《Nature Medicine》论文上线 | 结果公开,成为领域内的里程碑式证据 |
| 2026 年 10 月 19 日 | PhysioNet 版本 1.0.0 发布 | 去标识分析数据集首次公开 |
| — | 无后续版本 | 1.0.0 是当前唯一版本 |
第一行与第二行之间的两年值得留意。这段时间覆盖了美国住院医疗实践受疫情冲击最剧烈的阶段,护理人力、收治结构、ICU 转入阈值都在变动。官方没有在页面里讨论这一点,但任何拿这份数据做时间相关二次分析的人都应该把它作为背景变量记着。
第三行与第四行之间隔了一年半。论文先发表、数据后发布,这个顺序在 PhysioNet 上并不罕见,但它的含义很具体:数据集的定位是「供他人核对与二次分析已发表结果」,而不是「供他人抢先做出结果」。随包脚本的存在把这个意图说得更明白。
3.3 采集场景:从 Epic 数据仓库出来的日常记录
官方在方法段里交代得很直接:所有数据由各院区的 Epic 电子健康记录(EHR)通过机构数据仓库的 SQL 查询抽取,产生自常规临床照护,而不是研究专用的采集工具。
这句话有两层后果。好的一层是生态效度高——数据反映真实的文档与编码习惯,不是研究护士按方案填出来的表格。坏的一层是异质性强——两家医疗系统的护理文档规范、评估频次默认项、编码口径不可能完全一致,而这些差异在数据里没有单独的标记列,只有研究地点这一粗粒度协变量可以部分吸收。
入组标准也是从这套日常数据里筛出来的,一共五条正向条件加两类排除:
| 类别 | 条件 | 说明 |
|---|---|---|
| 年龄 | 18 岁及以上 | 下限明确,无上限 |
| 住院时长 | 超过 24 小时 | 排除短住与日间病例 |
| 病区暴露 | 在研究病区至少 12 小时 | 保证干预有施加的机会 |
| 前 6 小时 | 无任何院内事件(含出院) | 排除进来就出事的就诊 |
| 排除一 | 临终关怀或姑息治疗 | 结局定义不适用 |
| 排除二 | 在结局事件前已启用 DNR/DNI 或舒适护理医嘱 | 避免抢救相关结局被医嘱状态决定 |
筛过之后,79,049 例接受筛查的就诊里留下 60,893 例。这一条筛除链本身就是研究设计的一部分:它决定了这批患者是「有一定住院时长、在研究病区待够时间、且一开始没有马上出事」的人群,而不是所有住院患者的代表。
3.4 数据来源的三个层次
| 层次 | 内容 | 是否公开 |
|---|---|---|
| 第一层:原始临床记录 | Epic 中的护理文档、生命体征、医嘱、事件流水 | 不公开 |
| 第二层:CONCERN 模型输入与风险评分 | 护理监测行为特征与每小时风险分 | 不公开 |
| 第三层:就诊—班次分析表 | 去标识后的协变量、分组指示、二元结局、粗化时间 | 公开 |
这三层之间是不可逆的。从第三层既回不到第二层(没有模型输入,也算不出风险分),也回不到第一层(没有时间戳与文档)。理解这一点,就能理解这份数据的全部用法边界:它是试验的「结论层」,不是试验的「原料层」。
第三层内部还能再分:一部分是原始信息的直接搬运(性别、研究地点),一部分是被粗化后的残影(年龄组、Charlson 分组、随访区间),一部分是被有意扰动过的值(住院时长)。三类信息的可信度与使用方式完全不同,混在一起用会出问题。
§4 它最独特的东西
4.1 稀缺性:带着干预标签的前瞻性试验数据
在公开可得的临床数据里,「有随机化干预」这一条几乎是最稀缺的属性。回顾性数据库记录了自然状态下的医疗过程,你能看到谁用了什么、结果如何,但看不到「为什么用」——而这个「为什么」恰恰混杂了医生的判断、患者的病情与机构的惯例,是观察性研究里最难剥离的东西。
CONCERN 试验库有干预标签,而且是在病区层级随机分配的。病区级随机有一个特别的好处:它避开了同一病区内患者之间的污染——同一个病区的医护要么都看得到评分,要么都看不到。这也让「整群」成为分析单位,是数据与统计设计的关键前提。
稀缺的原因不复杂。前瞻性干预研究耗时长、成本高、需要伦理与注册,做完之后还要做去标识才能公开。多数做完试验的团队不会再做第二步,因为第二步没有学术回报,只有合规成本。CONCERN 团队做了,并且把复现脚本一并放出,这在同类发布里属于少数。
4.2 差异化证据:它证明的是「告诉了医护之后会怎样」
| 层面 | 回顾性数据能证明 | CONCERN 试验库能证明 |
|---|---|---|
| 模型区分度 | 能 | 不能(无模型输入) |
| 信号是否存在 | 能(护理文档模式是否携带信息) | 间接能(试验结果为正,说明信号有效) |
| 干预是否有效 | 不能 | 能 |
| 效应的方向 | — | 能(官方页面给出定性方向) |
| 是否带来副作用 | 不能 | 能(非计划 ICU 转入被单列) |
第三行是分水岭。绝大多数公开数据在第三行上都写「不能」,而这份数据写「能」。
第四行与第五行是这份数据最值得细读的地方。官方背景段给出的定性结论是:使用 CONCERN 的病区里,就诊的院内死亡风险下降、住院时长缩短、脓毒症风险下降,同时非计划 ICU 转入率上升。最后这一条「上升」被官方解释为与更早识别出高危患者、进而升级照护相一致——也就是说,转入增加不是失败,而是机制的一部分。把非计划 ICU 转入当成单纯的负面指标来读,会误判整个干预。
4.3 具体案例:一次「被提前的升级」在数据里留下什么
设想一次典型的干预组就诊。患者在急症病区住院第三天,生命体征仍在正常范围,但夜班护士的评估频次明显提高,记录里反复出现对精神状态与尿量的描述。CONCERN 模型捕捉到这个模式变化,风险评分升高,照护团队收到提示,决定转入 ICU 进一步监测。
这一次就诊在数据里会留下什么?assignment_majority_int 为 1(多数班次在干预病区);majority_icu 取决于转入后的班次占比;非计划 ICU 转入这一列记为 1;若最终存活出院,院内死亡为 0、存活出院为 1;随访时间落在某个粗化区间;住院时长是被取整并抖动过的天数。
留下什么之外的部分同样重要:模型当时给了几分、护理记录写了什么、几点几分做的决定——全都没有。这个案例说明了这份数据的准确位置:它记录结局与分组,不记录过程。用它论证「模型有用」时,你引用的其实是试验的结论,而不是自己从数据里算出的新证据。
4.4 标注粒度:结局是二元的,时间是区间的
这份数据的「标注」与信号类数据库不是一个概念。没有逐搏标注、没有逐段标签,只有从电子病历按试验定义派生的二元结局,以及粗化后的随访区间。
| 信息 | 粒度 | 能支撑的分析 | 支撑不了的 |
|---|---|---|---|
| 6 个结局 | 二元 | 组间比较、风险建模、复现 | 严重度分层、时间趋势 |
| 随访时间 | 五个班次区间 | 区间级的生存分析、区间回归 | 小时级时间—事件分析 |
| 住院时长 | 天,经取整与抖动 | 组间比较、方向性判断 | 与外部的绝对值比较 |
| 年龄 | 分类组 | 分层、协变量调整 | 连续年龄建模 |
| Charlson | 0 到 5 及以上,共 6 组 | 合并症分层 | 连续评分、逐个组分 |
| 分组 | 二值汇总指示 | 意向性治疗式的对比 | 按实际暴露时间的剂量反应 |
第六行是方法学上的一个要点。assignment_majority_int 是「多数班次在干预病区」的汇总指示,不是「实际接受干预的时长」。用它做的是近似于意向性治疗的分析,而不是按暴露剂量的分析。想要剂量反应,需要班次级的分配历史,而那不在发布范围内。
4.5 边界条件:什么情况下不该抬出它
| 条件 | 是否适用 | 判断依据 |
|---|---|---|
| 复现已发表结果 | 适用,且是设计目标 | 随包 R 与 SAS 脚本与主数据配套 |
| 干预效果的二次分析 | 适用 | 60,893 例就诊、分组已知、结局预设 |
| 护理文档模式的建模 | 不适用 | 文档元数据与模型输入未发布 |
| 小时级时间—事件分析 | 不适用 | 随访时间粗化为五个区间 |
| 整群随机方法学示范 | 不适用 | 病区标识已移除,组内相关不可估 |
| 与本院住院日做绝对值对标 | 不适用 | 住院时长经取整与抖动,官方称与原值有意不同 |
| 儿科住院研究 | 不适用 | 入组下限 18 岁 |
| 跨护理文化的推广性验证 | 不适用 | 两家美国学术医疗系统 |
| 商业部署前的效果预估 | 谨慎 | 专利与许可限制,见 §8.4 |
§5 怎么拿到
5.1 目录结构与获取门槛
这是一份受限访问数据。官方访问策略写得很明确:只有注册用户并签署指定数据使用协议后,才能访问文件。许可为 PhysioNet 受限健康数据许可 1.5.0,配套的使用协议为 PhysioNet 受限健康数据使用协议 1.5.0。
| 项 | 内容 |
|---|---|
| 内容页 | https://physionet.org/content/concern-early-warning/1.0.0/ |
| 文件目录 | https://physionet.org/files/concern-early-warning/1.0.0/ |
| 访问策略 | 需注册并签署数据使用协议 |
| 许可 | PhysioNet Restricted Health Data License 1.5.0 |
| 使用协议 | PhysioNet Restricted Health Data Use Agreement 1.5.0 |
| 版本 DOI | 10.13026/qf6v-ev20 |
| 最新版本 DOI | 10.13026/y27x-pe73 |
| 项目主页 | https://www.dbmi.columbia.edu/concern-study/ |
| 页面浏览计数 | 当前版本 15,全部版本 15(发布初期的计数) |
受限访问的一个直接后果是:文件目录下的实际内容在未授权时不可列,文件大小、行列数这类「看一眼就知道」的信息无法在授权前确认。这也是本文把 CSV 行数与列数列为未核验的原因(§10)。
5.2 授权后的批量下载
PhysioNet 的受限数据通常通过带凭据的方式下载。授权完成后,常规做法有两种,任选其一:
#-- 方式一:用 PhysioNet 官方命令行工具(需先在网页完成 DUA 签署)
wfdb-download concern-early-warning/1.0.0
#-- 方式二:带用户名密码的 wget;会提示输入 PhysioNet 账号口令
wget -r -N -c -np --user=<PHYSIONET_USER> --ask-password \
https://physionet.org/files/concern-early-warning/1.0.0/
#-- 下载后先看清单,确认六个文件齐全
ls -l concern-early-warning/1.0.0/
<PHYSIONET_USER> 要换成自己的账号名。不要尝试用共享账号或把口令写进脚本,受限健康数据的访问是绑定到个人账户的,使用协议里通常包含不得转授予第三方的条款。
5.3 授权后的流式读取
只对主数据做分析、不想把整个目录拉下来时,可以用带会话的请求直接读 CSV:
import io
import requests
import pandas as pd
URL = 'https://physionet.org/files/concern-early-warning/1.0.0/concern_deidentified_release_20260724.csv'
#-- 用已登录会话请求;受限数据需要先完成 DUA 签署
with requests.Session() as s:
s.auth = ('<PHYSIONET_USER>', '<PHYSIONET_PASSWORD>')
r = s.get(URL, stream=True)
r.raise_for_status()
df = pd.read_csv(io.BytesIO(r.content))
print(df.shape)
print(df.dtypes.head(20))
把口令硬编码进脚本是不安全的做法。实际使用时建议用环境变量或凭据管理器注入,脚本本身不落盘口令。
5.4 转成分析用的长表与宽表
官方脚本用的是统计软件习惯的宽表口径,做二次分析时通常需要在长表与宽表之间切换:
import pandas as pd
df = pd.read_csv('concern_deidentified_release_20260724.csv')
#-- 先按就诊标识符聚合,得到就诊级的分组与结局快照
outcome_cols = [c for c in df.columns
if any(k in c.lower() for k in
('mort', 'discharge', 'sepsis', 'arrest', 'icu', 'readmi'))]
enc = (df.sort_values('ID')
.groupby('ID')[outcome_cols]
.max() #-- 任一行发生即视为该就诊发生
.reset_index())
#-- 把分组指示与场景指示也聚到就诊级
for c in ('assignment_majority_int', 'majority_icu'):
if c in df.columns:
enc[c] = df.groupby('ID')[c].max().values
print(enc.shape, enc.head())
print('分组指示取值:', sorted(enc['assignment_majority_int'].dropna().unique()))
这段的关键在注释那一行:max 聚合意味着「任何一个班次上发生过即算发生」。这是口径选择,不是唯一正确解,写进方法节时必须说明。反过来用「首个班次」或「最后一个班次」会得到不同的就诊级快照,三种口径在边界情形下并不等价。
5.5 复现脚本的用法与读法
随包的 R 与 SAS 脚本是这份数据的价值核心。用法上只需两步:装好依赖、跑脚本;读法上则要看三处。
| 检查点 | 看什么 | 不一致时怎么办 |
|---|---|---|
| 会话信息 | 脚本跑起来的 R 包版本与 sessionInfo 记录是否一致 |
按记录降级或升级相关包 |
| 森林图 | 随包 PNG 与文档图 1 的走势是否一致 | 先核对变量口径,再看模型设定 |
| 两条脚本链 | R 与 SAS 给出的估计是否一致 | 不一致时以文档图 1 为基准排查 |
| 标准误类型 | 脚本报的是基于模型的标准误 | 不要当成整群修正后的结果引用 |
第四行是引用时最需要小心的一点。官方明说由于病区被移除,脚本报告基于模型的标准误,且不替代院区一级的聚类。论文里的原始结果是带整群修正的,两者不同源,混在一起对照会得出错误结论。
5.6 五个最容易出错的地方
| 位置 | 错误写法 | 后果 | 正确做法 |
|---|---|---|---|
| 规模引用 | 把 60,893 当成 CSV 行数 | 就诊数被当成行级样本量 | 区分就诊数与行—班次展开后的行数 |
| 时间变量 | 把 29 读成恰好 29 个班次 | 随访时间被系统性低估 | 读作「29 及以上」的右删失端 |
| 住院时长 | 与外部基准比较绝对值 | 比较无效,官方称已取整并抖动 | 只做组间与方向性比较 |
| 标准误 | 把脚本输出当成整群修正结果 | 置信区间偏窄,结论过强 | 明确标注为基于模型的标准误 |
| 变量口径 | 按页面变量名猜列名 | 读表报错或读错列 | 以随包变量说明文档为准 |
§6 与库内条目的关系
6.1 关系图谱:三条不同的路
站内与这份数据最接近的,是三条不同方向的资源:重症监护信号类、电子健康记录衍生类、临床试验与登记类。它站在三条路的交叉口,但任何一条路上它都不是主力。
| 站内资源 | 方向 | 与它的关系 | 谁补谁的缺 |
|---|---|---|---|
| ALOTT 遥测病历库 | 生理信号 + 电子健康记录 + 重症监护 | 同为床旁与病历的对照,但 ALOTT 有波形,它只有结局 | 互补:一个看过程,一个看结局 |
| 巴塞罗那 SICU 波形库 | 生理信号 + 重症监护 | 同为重症场景,对方是原始监护波形 | 互补:波形给你特征,试验数据给你因果 |
| CHARIS 颅内压监护波形库 | 生理信号 + 重症监护 | 同为重症床旁数据,病种不同 | 互不替代 |
| 自贡四院重症感染患者数据库 | 重症监护 + 电子健康记录 + 队列 | 同为住院重症队列,对方是观察性 | 它提供干预维,对方提供更细的临床字段 |
| EHR-ReasonCon | 电子健康记录 + 重症监护 + 推理评测 | 同为 EHR 上的推理任务 | 它是试验数据,对方是评测基准 |
| MIMIC-IV-Ext-22MCTS | 电子健康记录 + 时序 + 临床文本 | 同为 EHR 派生的时序表 | 对方可用于建模,它不可 |
| MIMIC-III SDoH 标注集 | 电子健康记录 + 临床文本 | 同为人工加工过的 EHR 衍生表 | 方法论可互鉴,主题不同 |
| MIMIC 出院医嘱幻觉标注集 | 电子健康记录 + 评测基准 | 同为二次加工产物 | 互不替代 |
| 去标识医学文本语料 | 临床文本 + 去标识 | 同为去标识方法学的公开样本 | 对方给文本样本,它给表格样本 |
| EHRSHOT | 电子健康记录 + 纵向 + 评测 | 同为纵向 EHR 基准 | 对方面向模型评测,它面向结果复现 |
| TrialBench | 临床试验 + 多模态 | 同为试验相关数据 | 对方预测试验结果,它提供已完成的试验结果 |
| HCUP 住院数据家族 | 电子健康记录 + 住院 + 卫生服务 | 同为住院层面的数据家族 | 对方覆盖广而浅,它窄而深 |
这张表里最该记住的是第一行与第四行。ALOTT 把监护仪波形与病历对上时间,回答的是「床旁发生了什么」;CONCERN 试验库回答的是「告诉了医护之后结局变没变」。这两个问题串起来才是完整的证据链,但没有任何一份数据同时覆盖两端。
6.2 检索路径
| 你要找的东西 | 检索词 | 会落到哪里 |
|---|---|---|
| 带干预分配的前瞻性试验数据 | 随机对照、整群随机、临床试验 |
本数据集与 TrialBench |
| 护理文档与护理信息学 | nursing、护理、护理记录 |
本数据集背景段与去标识医学文本语料 |
| 恶化预测的可建模数据 | 重症监护、时序、波形 |
ALOTT、巴塞罗那 SICU 波形库、CHARIS |
| 去标识方法学样例 | 去标识、HIPAA、安全港 |
本数据集方法段与去标识医学文本语料 |
| 住院结局与住院日研究 | 住院、再入院、住院时长 |
本数据集与 HCUP |
| EHR 上的模型评测 | EHR、电子健康记录、评测基准 |
EHRSHOT、EHR-ReasonCon、MIMIC 系列衍生库 |
6.3 与其他库的分工判据
| 任务 | 主粮仓该用什么 | 它的位置 | 原因 |
|---|---|---|---|
| 恶化预测模型的训练 | 带时间序列的重症库 | 不适用 | 无模型输入、无生命体征序列 |
| 预警系统效果评估 | 无可替代 | 主力 | 有随机干预与预设结局 |
| 已发表结果的复现 | 无可替代 | 主力 | 随包 R 与 SAS 脚本 |
| 去标识流程设计参考 | 两阶段流程的公开样例 | 主力之一 | 安全港加专家判定的完整描述 |
| 护理文档挖掘 | 护理文本语料库 | 不适用 | 文档未发布 |
| 住院日与再入院的服务研究 | 大型住院数据库 | 辅助 | 规模够,但时长被扰动 |
| 整群随机方法学教学 | 带群标识的教学数据 | 不适用 | 群标识已移除 |
| 临床试验预测 | 试验登记与多模态试验数据 | 辅助 | 它是一次试验的结果,不是试验库 |
第三行是它最不可替代的位置。公开数据里提供「可运行的复现脚本」的很少,提供两种语言各一份的更少。对于做可复现性研究的人来说,这一条比样本量更重要。
§7 质量评估与局限性
7.0 阅读本节前的一个前置校正
先纠正一个常见误判:把「没有原始记录」当成质量差。这份数据没有波形、没有文档、没有时间戳,是去标识的必然结果,不是发布方偷懒。评价它时不能用「原始程度」这把尺子,而要问:在它声称能回答的问题上,它的信息够不够、口径对不对?
这个校正会改变五维评分的读法。在「原始程度」这一维它拿不到高分,但在「设计完整性」与「可核对方」两维上它几乎无可替代。把这两件事混在一起看,会得出「没什么可分析」的错误结论——事实是,能被分析的东西被精确地限定在了结论层。
7.1 五维评分
按常用数据集评价维度打分,每项 1–5 分,分数针对「作为临床预警系统效果证据与二次分析基底」这个用途:
| 维度 | 分数 | 理由 |
|---|---|---|
| 数据规模 | 4 | 60,893 例就诊、74 个整群,对结局层面的比较足够 |
| 设计完整性 | 5 | 前瞻性整群随机、干预分配已知、共同主要结局预设 |
| 可核对方 | 5 | 随包 R 与 SAS 脚本加森林图,可直接比对已发表结果 |
| 文档完整 | 4 | 方法段把入组、结局定义、去标识、限制写得清楚;变量字典在受限文档内 |
| 可获取性 | 2 | 受限访问,须注册并签署使用协议;授权前无法确认文件细节 |
五项合计 20 分(满分 25)。扣分集中在可获取性,这与其说是缺点不如说是合规代价;加分集中在设计与可核对性,这是它区别于绝大多数公开临床数据的地方。
7.2 去标识的两层与它们的代价
第一层是 HIPAA 安全港(Safe Harbor)。这一步移除直接标识符、源系统标识符、日期与时间戳、住院病区标识与纵向临床记录。移除之后,数据里不再有任何可以指回个人的时间锚点,也不再有可以指回具体病区的组织锚点。
第二层是专家判定(Expert Determination)。这一步不是简单的再删一遍,而是主动排查可能的再识别路径并做缓解。官方列出的缓解动作有四类:年龄改成分类年龄组;Charlson 评分归并为 0、1、2、3、4、5 及以上;五个结局的随访时间粗化为五个班次区间;住院时长取整到 24 小时网格并叠加最多约 6 小时的有界随机抖动。
代价是清晰的,而且全部落在分析能力上:
| 缓解动作 | 换来的隐私 | 丢掉的分析能力 |
|---|---|---|
| 移除日期与时间戳 | 消除时间锚点 | 无法做日历时间趋势、季节性与排班分析 |
| 移除病区标识 | 消除组织锚点 | 整群结构、组内相关、整群标准误全部不可复现 |
| 年龄分组 | 削弱准标识符组合 | 连续年龄建模、年龄交互项 |
| Charlson 归并 | 削弱极端值识别度 | 连续合并症评分、组分分析 |
| 随访时间粗化 | 消除精确事件时刻 | 小时级时间—事件分析 |
| 住院时长取整加抖动 | 削弱个体指纹 | 与外部基准的绝对值比较 |
第二行的代价最大,也最容易被低估。整群随机试验的统计核心就是整群,把它摘掉之后,数据仍然是试验数据,却不再是完整的整群随机数据。
7.3 已知的、可枚举的偏差
| 偏差 | 表现 | 影响 |
|---|---|---|
| 入组筛选偏差 | 79,049 例筛查留下 60,893 例 | 结论适用于「住满 24 小时、在研究病区待够 12 小时、前 6 小时无事件」的人群 |
| 排除临终与舒适护理 | 相关就诊被排除 | 结局风险被系统性改变,不可外推到这类人群 |
| 时间背景偏差 | 入组跨越 2020 年 10 月至 2022 年 10 月 | 住院实践受外部冲击,官方未讨论 |
| 机构偏差 | 两家美国学术医疗系统、四家医院 | 护理文档文化与转入阈值嵌入结果 |
| 汇总指示偏差 | 分组与 ICU 状态是「多数班次」的汇总 | 无法刻画转科者的实际暴露 |
| 就诊独立性假设 | 官方声明就诊之间按独立处理 | 同一患者的多次住院无法串联,重复住院被当作独立观测 |
| 时长被扰动 | 住院时长经取整与抖动 | 绝对值不可与外部基准比较 |
| 非计划 ICU 转入上升 | 干预组该项结局方向与其他结局相反 | 单看这一项会误判干预为有害 |
最后一行不是数据缺陷,是结果本身的复杂性,但它足以让「预警系统降低死亡」这个结论在转述时被曲解成单向的好消息。
7.4 外部验证与可复现性矩阵
| 验证角色 | 做法 | 讲得通的地方 | 风险 |
|---|---|---|---|
| 结果复现 | 用随包 R 或 SAS 脚本重跑调整模型 | 脚本与主数据同源,官方称方向、量级、解释一致 | 标准误类型不同,不可直接对照论文数值 |
| 二次分析 | 换模型设定重估干预效应 | 样本量与分组支持 | 无整群结构,效应估计的精度表述受限 |
| 方法学对照 | 把两阶段去标识流程复刻到自有数据 | 流程描述完整 | 缺少官方的具体参数细节 |
| 教学演示 | 用它演示整群随机试验的分析 | 整群存在过 | 群标识已移除,演示不完整 |
| 跨数据集外推 | 与本机构数据比较结局水平 | 结局定义公开 | 时长与随访已被扰动,比较口径不对齐 |
第一行是它被设计出来的用途,也是唯一一个几乎没有风险的用途。第二行之后都要附加条件。第三行值得单独说:官方描述的流程足够让人照着做一遍,但诸如年龄组的具体分界、Charlson 的归并细节、抖动的具体分布,都写在受限的变量说明文档里,页面正文没有给出。
7.5 它为何能持续存在
它没有版本迭代,也没有扩容计划,但作为证据基底它的价值不会随时间衰减。原因是它占着一个很难被复制的位置:前瞻性、随机化、有干预、已发表、可复现,这五条同时成立的临床数据本来就不多。要复制它,需要有人再做一次耗时数年的整群随机试验,再走一遍去标识,再愿意把结果交给别人核对。这个门槛比「再采一批波形」高得多。
同时也要看到它的时效风险:CONCERN 模型本身的技术形态会过时,护理文档的形式会变化(例如更多结构化录入、更少自由文本),而数据冻结在 2020 至 2022 年的实践里。它是对那个时间点那两家医院那套系统的证据,不是对「护理文档模式永远有用」的证明。
§8 生态位与历史
8.1 历史沿革:从基金项目到公开数据
官方致谢段给出了这条链的起点:项目由美国国家护理研究所(NINR)资助,编号 R01NR016941,项目名就是 CONCERN 的全称——由注册护士录入的叙事性担忧传达,副标题是「面向高风险患者状态的临床决策支持沟通」;另有 T32NR007969「通过信息学减少健康差异」提供支持。官方声明资助方不参与研究设计、数据收集与分析、发表决定或稿件准备。
从基金到试验、从试验到论文、从论文到公开数据,这条链走了六年多。中间的每一步都是独立的决策:要不要做整群随机、要不要发在《Nature Medicine》、要不要把数据放上 PhysioNet。第三步尤其不寻常,因为它意味着团队愿意接受外部核对。
伦理与注册方面:研究经哥伦比亚大学伦理审查委员会批准,知情同意被豁免;临床试验注册号为 NCT03911687;去标识由 Amy Finnegan 独立验证。
8.2 与挑战赛的关系:它不在那条路上
PhysioNet 生态里相当一部分知名资源来自挑战赛:给定数据、给定任务、给定评测指标,让参赛者比拼模型。CONCERN 试验库不在那条路上——它没有挑战赛页面,没有排行榜,没有测试集与训练集划分,也没有提交入口。
这个区别决定了用法。挑战赛数据的价值在于「同一个任务上谁的方法更好」,靠横向比较产生;这份数据的价值在于「一个已经做完的试验的结论是否站得住」,靠纵向核对产生。带着找 benchmark 的预期来用它,会空手而归。
反过来,它提供了一样挑战赛永远提供不了的东西:干预之后的结局。挑战赛比的是预测,这里看的是预测被用起来之后发生了什么。
8.3 生态位:证据基底而不是基准
| 角色 | 基准(benchmark) | 证据基底(evidence base) |
|---|---|---|
| 典型用法 | 训练与排名 | 复现、复核、二次解读 |
| 需要的前提 | 任务明确、标签可评判 | 设计明确、结果已发表、数据可核对 |
| 典型产物 | 模型分数、排行榜 | 复现报告、再分析论文 |
| 失败模式 | 榜单过拟合 | 口径误用导致结论偏差 |
| 代表 | 各类挑战赛数据集 | 本数据集、已发表试验的公开分析数据 |
它坐在右边这一列,而且是右边这一列里少见的、把复现脚本一起放出来的那种。把证据基底当基准用,会得到「没有标签可用」的困惑;把基准当证据基底用,会得到「这个分数说明不了临床价值」的空洞。
8.4 谁在用它,以及利益声明
从定位看,使用者集中在三类:做预警系统与临床决策支持效果评估的研究组、做实用性试验方法学的统计与信息学研究者、做去标识与数据治理的工程与合规团队。第三类常被忽略,但这份数据的方法段把两阶段流程写得足够具体,是很好的参照对象。
利益冲突方面,官方声明需要如实转述:哥伦比亚大学已就本数据库所评估的相关技术提交美国非临时专利申请(申请号 18/814,823),Sarah Rossetti、Chris Knaplund 与 Kenrick Cato 为专利申请的发明人,按学校专利政策享有收益分成。校方与发明人承诺该技术在学术非商业研究用途下可依申请免费提供;有意取得商业实施许可的实体需联系哥伦比亚大学技术转化部门。
这一条对使用者的实际含义是:学术非商业用途的通道是明确存在的,商业用途则需要单独谈。把这份数据用于商业产品的效果验证时,涉及的不仅是数据许可,还有专利许可,两者不重叠。
§9 使用指引
9.1 三种角色的路径
| 角色 | 第一天 | 第一周 | 注意事项 |
|---|---|---|---|
| 复现者 | 读官方方法段与使用注意,跑通 R 脚本 | 用 SAS 脚本交叉验证,比对森林图 | 标准误类型不同,不要照抄论文数值 |
| 二次分析者 | 读变量说明文档,确认行列与口径 | 定就诊级聚合口径,做组间比较 | 聚合口径必须写进方法节 |
| 方法学与合规研究者 | 读去标识方法段,列出六项缓解动作 | 在自己的数据上复刻并比较信息损失 | 具体参数在受限文档内 |
| 医院管理与患者安全研究者 | 读背景段与结局定义 | 把非计划 ICU 转入纳入评估框架 | 不要把转入上升读成干预失败 |
9.2 一条最短的可用流程
#-- 1. 在网页完成注册与 DUA 签署(不可跳过,受限数据无匿名通道)
#-- 2. 拉取整个版本目录
wget -r -N -c -np --user=<PHYSIONET_USER> --ask-password \
https://physionet.org/files/concern-early-warning/1.0.0/
#-- 3. 先读变量说明文档,把所有变量名抄成一张对照表
grep -n -i -E 'variable|description|assignment|outcome' \
CONCERN_Deidentified_Dataset_File_and_Variable_Description.txt | head -80
#-- 4. 跑 R 复现脚本,输出到工作目录
Rscript concern_reproduce_results_20260724.R
#-- 5. 用 SAS 再跑一遍,与 R 的输出交叉比对
sas concern_reproduce_results_20260724.sas
第 3 步最容易被跳过,代价也最大。页面正文只点名了十余个变量,真实表头以文档为准;凭页面上的变量名去猜列名,是这份数据上最常见的低级错误。
9.3 引用方式
官方给出的引用对象是三层:数据集本身、原始论文、以及 PhysioNet 平台。
| 引用对象 | 内容 |
|---|---|
| 数据集 | Rossetti, S., Lau, B., & Cato, K. (2026). CONCERN Early Warning System Trial (version 1.0.0). PhysioNet. RRID:SCR_007345. https://doi.org/10.13026/qf6v-ev20 |
| 原始论文 | Rossetti SC, Dykes PC, Knaplund C, 等. Real-time surveillance system for patient deterioration: a pragmatic cluster-randomized controlled trial. Nat Med. 2025 Jun;31(6):1895-1902. doi:10.1038/s41591-025-03609-7 |
| 平台 | Pollard T, Moody BE, Lehman L, 等. PhysioNet as a global platform for biomedical research. Nature Health. 2026. doi:10.1038/s44360-026-00096-z |
| 试验注册 | ClinicalTrials.gov 注册号 NCT03911687 |
| 版本 DOI | 10.13026/qf6v-ev20(1.0.0);10.13026/y27x-pe73(最新版本) |
写论文时建议同时注明:使用的数据集版本号(1.0.0)、主数据文件名(含日期串)、复现脚本的语言(R 或 SAS)、以及是否采用了基于模型的标准误。这四项里缺任何一项,别人都无法精确复现你的复现。
§10 AI 使用声明
| 项目 | 声明 |
|---|---|
| 文本生成 | 本文由 AI 辅助撰写,编辑把关结构与事实 |
| 数字来源 | 规模、结构、边界三类数字来自 PhysioNet 官方内容页(版本 1.0.0)正文,未从文件目录取数 |
| 文件核验 | 文件目录返回受限访问状态,六个文件名与用途来自官方页文件列表,未下载原始文件 |
| 不一致说明 | 官方页称「一行对应一次住院就诊与一个班次」,但未给出 CSV 行数,故正文区分就诊数与行数 |
| 论文信息 | 原始论文信息来自官方页引用块与公开检索摘要,未读全文;具体效应量未写入正文 |
| 未核验内容 | CSV 总行数与总列数、各文件字节大小、变量字典的完整清单、年龄组与种族民族的具体类别边界、Charlson 归并细节、抖动分布参数、变量说明文档中的基础数据摘要 |
| 图像 | 无配图;封面为生成式提示词,不含真实病历或波形 |
| 免责 | 本文不构成临床建议;数据使用须遵守 PhysioNet 受限健康数据许可 1.5.0 与使用协议 |
常见误读(避坑清单)
| 说法 | 实际 | 证据 |
|---|---|---|
| 「它有 60,893 行」 | 60,893 是入组就诊数,行是就诊与班次的组合 | 官方称一行对应一次住院就诊与一个班次 |
| 「它给了护理记录原文」 | 护理文档元数据未发布 | 官方称风险评分、护理文档元数据与模型输入不在发布范围 |
| 「随访时间 29 就是 29 个班次」 | 代表 29 个及以上,是右删失端 | 官方使用注意明确说明 |
| 「住院时长可以对标本院数据」 | 已取整到 24 小时网格并抖动最多约 6 小时 | 官方称发布值与原值有意不同 |
| 「脚本输出就是论文里的标准误」 | 脚本报基于模型的标准误,不替代整群修正 | 官方称病区已移除,整群不可复现 |
| 「分组变量能算出暴露剂量」 | assignment_majority_int 是「多数班次」的汇总指示 |
官方称提供汇总指示而非病区级历史 |
| 「可以用它训练恶化预测模型」 | 无模型输入、无生命体征序列 | 官方数据描述段列出的内容不含这些 |
| 「它说明预警系统只有好处」 | 非计划 ICU 转入在干预组上升 | 官方背景段把这一条与其他结局并列 |
| 「它是多中心研究」 | 两家医疗系统、四家医院 | 官方方法段 |
| 「它免费开放」 | 受限访问,须注册并签署使用协议 | 官方访问策略与许可条款 |
| 「可以把它转给同事」 | 受限健康数据绑定个人账户,不得转授 | 官方访问策略与使用协议条款 |
FAQ
Q1:这份数据到底有多少条记录?
官方给出的是 60,893 例入组住院就诊,这个数字不是 CSV 的行数。官方数据描述段说明,一行对应一次符合条件的住院就诊与一个 12 小时班次的组合;同一次就诊横跨多个班次时会产生多行。真正意义上的行数写在随包的变量说明文档里,而该文档属于受限访问范围,未签署使用协议前无法确认。引用时请写清自己说的是就诊数还是行数。
Q2:能不能用它训练一个恶化预测模型?
不能,至少不能用它训练 CONCERN 那一类基于护理文档模式的模型。官方明确说明风险评分、护理文档元数据与模型输入都不在发布范围内;发布的是去标识的协变量、分组指示、二元结局与粗化随访时间。这份数据的用途是复现已发表结果与做结局层面的二次分析,不是建模。
Q3:为什么非计划 ICU 转入会上升?这是不是说明干预有害?
官方把这一条与其他结局并列描述,并解释为与更早识别高危患者、从而更早升级照护相一致。也就是说,转入增加既是代价也是机制的一部分:它意味着被识别出来的患者进了 ICU,而不是在普通病区继续恶化。评估这类干预时,把死亡、住院日、脓毒症与转入四项放在一起看,才不会得出片面结论。
Q4:我没有 PhysioNet 账号,能不能先看一眼文件?
不能。这份数据属于受限访问,官方策略写明只有注册并签署指定使用协议的用户才能访问文件。内容页的摘要、背景、方法、数据描述与使用注意可以公开阅读,这部分的官方正文已经覆盖了绝大部分关键数字与限制条款,足以判断是否值得申请。
Q5:用 R 脚本跑出来的结果和论文不完全一致,是数据有问题吗?
不一定。先看三处:一是随包的会话信息文件,确认包版本是否与复现当时一致;二是标准误类型,脚本报的是基于模型的标准误,而论文用的分析考虑了病区一级的聚类,两者本就不同源;三是变量口径,以随包变量说明文档为准而不是按页面上的变量名猜。三处都核对过仍不一致,再按官方页给出的联系方式反馈。
术语表
| 术语 | 解释 |
|---|---|
| CONCERN | COmmunicating Narrative Concerns Entered by RNs 的缩写,指由注册护士录入的叙事性担忧传达,本项目中的早期预警系统名称 |
| 早期预警系统(EWS) | 用可获得的临床信息实时估计患者恶化风险的决策支持工具 |
| 早期预警评分 | 传统做法,主要基于结构化生命体征计算的危险度评分 |
| 整群随机 | 以病区、医院等群体为单位随机分配干预,而非以个体为单位 |
| 实用性试验 | 在日常临床流程中进行的试验,不额外设置研究专用流程 |
| 共同主要结局 | 试验预设的两个并列主要结局,本试验为院内死亡与住院时长 |
| 瞬时风险 | 在某一时点上发生事件的风险,本试验中用于建模院内死亡 |
| 班次(shift) | 本数据中时间计量的基本单位,一个班次为 12 小时 |
| 粗化 | 把连续或细粒度值归并进若干区间以降低再识别风险的处理 |
| 有界随机抖动 | 在给定范围内加入随机偏移,本数据中用于住院时长 |
| 安全港(Safe Harbor) | HIPAA 去标识的两条路径之一,移除指定类别标识符后视为去标识 |
| 专家判定(Expert Determination) | 由具备资质的专家评估并认定再识别风险极低的方法 |
| Charlson 合并症指数 | 按合并症种类与权重计算的共病负担评分 |
| Sepsis-3 | 脓毒症的第三代定义,疑似感染加 SOFA 或 qSOFA 标准 |
| SOFA | 序贯器官衰竭评估评分 |
| qSOFA | 快速 SOFA,用于床旁快速筛查 |
| Code Blue | 医院内心肺骤停的急救呼叫代码 |
| 非计划 ICU 转入 | 从普通病区直接转入 ICU 且不是计划性操作所致的转入 |
| 30 天再入院 | 出院后 30 天内因非计划原因再次入院,本数据中限于同一医疗系统且间隔至少 24 小时 |
| 意向性治疗 | 按随机分组而非实际接受干预来分析的做法 |
| 基于模型的标准误 | 不依赖整群结构、由模型本身给出的标准误 |
| 组内相关 | 同一整群内个体之间的相似性,是整群随机分析的关键参数 |
| 右删失 | 观察结束时事件尚未发生,只知道其发生时间超过某个界值 |
| DNR / DNI | 不施行心肺复苏 / 不插管的医嘱 |
| Epic | 美国主流的电子健康记录系统,本数据的抽取源 |
| 受限访问 | 需注册并签署使用协议才能获取的数据访问方式 |
附录 A:核心数字核对表
| 项 | 值 | 来源层级 |
|---|---|---|
| 入组就诊数 | 60,893 | 官方内容页摘要与方法段 |
| 干预组就诊数 | 33,024 | 官方内容页摘要 |
| 常规治疗组就诊数 | 27,869 | 官方内容页摘要 |
| 接受筛查的就诊数 | 79,049 | 官方内容页方法段 |
| 随机病区数 | 74(干预 37、常规 37) | 官方内容页摘要与方法段 |
| 医疗系统数与医院数 | 2 个系统、4 家医院 | 官方内容页方法段 |
| 入组时间范围 | 2020 年 10 月至 2022 年 10 月 | 官方内容页方法段 |
| 入组年龄下限 | 18 岁 | 官方内容页方法段 |
| 病区暴露门槛 | 至少 12 小时 | 官方内容页方法段 |
| 住院时长门槛 | 超过 24 小时 | 官方内容页方法段 |
| 班次长度 | 12 小时 | 官方内容页方法段与使用注意 |
| 随访时间区间 | 1–2、3–6、7–14、15–28、29 及以上个班次 | 官方内容页方法段 |
| 随访区间代号 | 2、6、14、28、29 | 官方内容页方法段与使用注意 |
| Charlson 分组 | 0、1、2、3、4、5 及以上 | 官方内容页方法段 |
| 住院时长抖动上界 | 约 6 小时 | 官方内容页方法段 |
| 二元结局个数 | 6 | 官方内容页方法段逐项列举 |
| 发布文件数 | 6 | 官方内容页文件列表 |
| 版本号与发布日期 | 1.0.0,2026 年 10 月 19 日 | 官方内容页版本块 |
| 版本 DOI | 10.13026/qf6v-ev20 | 官方内容页 Discovery 块 |
| 临床试验注册号 | NCT03911687 | 官方内容页摘要与伦理段 |
| 基金编号 | NINR R01NR016941、T32NR007969 | 官方内容页致谢段 |
| 专利申请号 | 18/814,823 | 官方内容页利益冲突段 |
| 论文出处 | Nat Med. 2025;31(6):1895-1902 | 官方内容页引用块 |
| CSV 行数与列数 | 未核验 | 见 §10 未核验内容 |
编辑说明
本文的核验时间为 2026 年 10 月 28 日。核对方式为直接访问 PhysioNet 官方内容页(版本 1.0.0)并抓取摘要、背景、方法、数据描述、使用注意、发布说明、伦理、致谢与利益冲突各段,以及页面上的文件列表、许可、访问策略与 DOI 信息。文件目录返回受限访问状态,故六个文件只确认了名称与官方用途说明,未下载原始内容;CSV 的行数与列数、各文件字节大小、变量字典的完整清单、年龄组与种族民族的具体类别边界、Charlson 归并细节与抖动分布参数均未取得,一律按未核验处理,写入 §10 与附录 A 末行。原始论文的具体效应量虽在公开检索结果中可见,但因其不在官方内容页正文内,本文只保留官方页给出的定性方向,未写入具体数值。本文按要求只收规模、结构、边界三类数字,未产出任何分布性统计。
相关数据集导航
以下为站内 AI-Ready 数据集百科中与本数据集共享多个主题标签的相关数据集,按相关度降序排列:
- alott — 共享标签:重症监护 / 电子健康记录 / 时序数据
- barcelona-sicu-signals — 共享标签:重症监护 / 电子健康记录 / 生理信号
- charisdb — 共享标签:重症监护 / 生理信号 / 时序数据
- icu-infection-zigong-fourth — 共享标签:重症监护 / 电子健康记录 / 队列研究
- ehr-reasoncon — 共享标签:电子健康记录 / 重症监护 / 临床文本
- mimic-iv-ext-22mcts — 共享标签:电子健康记录 / 临床文本 / 时序数据
- annotation-dataset-sdoh — 共享标签:电子健康记录 / 临床文本 / 公共卫生与流行病学
- ann-pt-summ — 共享标签:电子健康记录 / 临床文本 / 医学问答与基准
- deidentified-medical-text — 共享标签:临床文本 / 电子健康记录 / 评测基准
- ehrshot — 共享标签:电子健康记录 / 时序数据 / 评测基准
- trialbench — 共享标签:临床试验 / 电子健康记录 / 医疗登记
- hcup — 共享标签:电子健康记录 / 卫生服务研究 / 调查数据
导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

