👂 💉 EHRSHOT
一个用于评估电子健康记录(EHR)基础模型少样本学习能力的基准/数据集。您可以**在此阅读论文**。
与大多数先前仅限于重症监护室环境的EHR基准不同,EHRSHOT包含来自斯坦福医学院6,739名患者的完整纵向健康记录,以及专为评估预训练模型少样本学习能力而设计的15个分类任务。
📖 目录
🚀 快速入门
按照以下步骤运行EHRSHOT基准。
1): 安装 EHRSHOT
conda create -n EHRSHOT_ENV python=3.10 -y
conda activate EHRSHOT_ENV
git clone https://github.com/som-shahlab/ehrshot-benchmark.git
cd ehrshot-benchmark
pip install -r requirements.txt
2): 安装 FEMR
对于我们的数据预处理管道,我们使用**FEMR (电子病历框架)**,这是一个用于使用EHR数据构建深度学习模型的Python包。
您还必须安装CUDA/cuDNN(我们推荐CUDA 11.8和cuDNN 8.7.0)。
请注意,这目前仅适用于Linux机器。
pip install femr-cuda==0.0.20 dm-haiku==0.0.9 optax==0.1.4
pip install --upgrade "jax[cuda11_pip]==0.4.8" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
3): 从Redivis下载数据集 + 模型,并将结果放在名为EHRSHOT_ASSETS/
的目录中。
4): 使用以下命令端到端运行基准:
bash run_all.sh
文件夹结构
您的最终文件夹结构应如下所示:
ehrshot-benchmark/
EHRSHOT_ASSETS/
athena_download/
- 我们不提供此资源。您需要按照下面"下载Athena本体"部分的说明进行操作。不过,您可以通过使用我们Redivis下载中包含的FEMR提取完全跳过这一步。
benchmark/
- 我们从Redivis提供此资源,其中包含所有任务的标签 + 少样本样本。
data/
- 我们从Redivis提供此资源,其中包含整个数据集的CSV文件。
features/
- 我们从Redivis提供此资源,其中包含预处理的计数 + 基于CLMBR的特征化。
femr/
- 我们从Redivis提供此资源,其中包含作为FEMR提取的去识别化EHR数据。
figures/
- 我们从Redivis提供此资源,其中包含总结运行我们基准预期结果的图表。
models/
- 我们从Redivis提供此资源,其中包含我们预训练基础模型(CLMBR)的权重。
results/
- 我们从Redivis提供此资源,其中包含我们在基线模型上运行基准的原始结果。
splits/
- 我们从Redivis提供此资源,确定哪个患者对应哪个分割。
ehrshot/
- 我们在此处提供运行基准的脚本
🔮 EHR基础模型
访问: 模型可在HuggingFace上获取,需要签署研究使用协议。
我们发布了一个1.41亿参数的临床基础模型的模型权重,该模型在斯坦福医学院257万患者的去识别化结构化EHR数据上进行了预训练。
我们是首批完全发布此类编码EHR数据模型之一;相比之下,大多数先前发布的临床数据模型(例如GatorTron、ClinicalBERT)仅适用于非结构化文本,无法处理EHR中丰富的结构化数据。
我们使用临床语言模型表示(CLMBR)作为我们的模型。CLMBR是一个自回归模型,旨在根据先前的代码预测患者时间线中的下一个医疗代码。CLMBR采用因果掩蔽局部注意力,确保信息仅向前流动,这对预测任务至关重要,与BERT基础模型的双向性质形成对比。我们使用transformer作为基础模型,具有1.41亿可训练参数和下一个代码预测目标,提供分钟级EHR分辨率,而不是原始模型制定中的日级聚合。
🗃️ 数据集 + 任务
访问: EHRSHOT数据集可在Redivis上获取,需要签署研究使用协议。
EHRSHOT包含:
- 6,739名患者
- 4160万临床事件
- 921,499次就诊
- 15个预测任务
每名患者由其EHR结构化数据(例如诊断、手术、处方等)中提取的有序临床事件时间线组成。
每个任务都是一个预测性分类任务,并包括一个标准的训练/验证/测试分割。任务定义如下:
任务 | 类型 | 预测时间 | 时间范围 | 数据集中可能的标签值 |
---|---|---|---|---|
长期住院 | 二分类 | 入院当天23:59 | 住院时长 | {0,1} 即 {<7天, >=7天} |
30天再入院 | 二分类 | 出院当天23:59 | 出院后30天 | {0,1} 即 {无再入院, 再入院} |
ICU转移 | 二分类 | 入院当天23:59 | 住院时长 | {0,1} 即 {无转移, 转移} |
血小板减少症 | 4类多分类 | 记录结果前立即 | 下一次结果 | {0,1,2,3} 即 {低, 中, 高, 异常} |
高钾血症 | 4类多分类 | 记录结果前立即 | 下一次结果 | {0,1,2,3} 即 {低, 中, 高, 异常} |
低血糖 | 4类多分类 | 记录结果前立即 | 下一次结果 | {0,1,2,3} 即 {低, 中, 高, 异常} |
低钠血症 | 4类多分类 | 记录结果前立即 | 下一次结果 | {0,1,2,3} 即 {低, 中, 高, 异常} |
贫血 | 4类多分类 | 记录结果前立即 | 下一次结果 | {0,1,2,3} 即 {低, 中, 高, 异常} |
高血压 | 二分类 | 出院当天23:59 | 出院后1年 | {0,1} 即 {无诊断, 诊断} |
高脂血症 | 二分类 | 出院当天23:59 | 出院后1年 | {0,1} 即 {无诊断, 诊断} |
胰腺癌 | 二分类 | 出院当天23:59 | 出院后1年 | {0,1} 即 {无诊断, 诊断} |
乳糜泻 | 二分类 | 出院当天23:59 | 出院后1年 | {0,1} 即 {无诊断, 诊断} |
狼疮 | 二分类 | 出院当天23:59 | 出院后1年 | {0,1} 即 {无诊断, 诊断} |
急性心肌梗塞 | 二分类 | 出院当天23:59 | 出院后1年 | {0,1} 即 {无诊断, 诊断} |
胸部X光检查结果 | 14类多标签 | 记录报告前24小时 | 下一次报告 | {0,1,...,8192} 即二进制字符串,位置idx 处为1表示CHEXPERT_LABELS[idx] 处的标签为真,参见此数组 |
📊 与先前工作的比较
大多数先前的基准测试(1)仅限于ICU环境,(2)不适合对预训练模型进行少样本评估。
相比之下,EHRSHOT包含(1)医疗系统对其所治疗患者的全面纵向数据,以及(2)旨在评估模型任务适应和少样本能力的广泛任务范围:
基准测试 | 来源 | 电子健康记录属性 | 评估 | 可复现性 | |||||
---|---|---|---|---|---|---|---|---|---|
数据集 | 重症监护/急诊就诊 | 非重症监护/急诊就诊 | 患者数量 | 任务数量 | 少样本学习 | 通过数据使用协议获取数据集 | 预处理代码 | 模型权重 | |
EHRSHOT | 斯坦福医学院 | ✓ | ✓ | 7千 | 15 | ✓ | ✓ | ✓ | ✓ |
MIMIC-Extract | MIMIC-III | ✓ | -- | 34千 | 5 | -- | ✓ | ✓ | -- |
Purushotham 2018 | MIMIC-III | ✓ | -- | 35千 | 3 | -- | ✓ | ✓ | -- |
Harutyunyan 2019 | MIMIC-III | ✓ | -- | 33千 | 4 | -- | ✓ | ✓ | -- |
Gupta 2022 | MIMIC-IV | ✓ | * | 257千 | 4 | -- | ✓ | ✓ | -- |
COP-E-CAT | MIMIC-IV | ✓ | * | 257千 | 4 | -- | ✓ | ✓ | -- |
Xie 2022 | MIMIC-IV | ✓ | * | 216千 | 3 | -- | ✓ | ✓ | -- |
eICU | eICU | ✓ | -- | 73千 | 4 | -- | ✓ | ✓ | -- |
EHR PT | MIMIC-III / eICU | ✓ | -- | 86千 | 11 | ✓ | ✓ | ✓ | -- |
FIDDLE | MIMIC-III / eICU | ✓ | -- | 157千 | 3 | -- | ✓ | ✓ | -- |
HiRID-ICU | HiRID | ✓ | -- | 33千 | 6 | -- | ✓ | ✓ | -- |
Solares 2020 | CPRD | ✓ | ✓ | 4百万 | 2 | -- | -- | -- | -- |
其他
下载Athena本体
Redivis下载中提供的FEMR提取文件包含了所有必要的概念,因此只要您跳过运行bash脚本1_create_femr_database.sh
,就可以忽略这一点。
但如果您想从头开始重新创建FEMR提取文件,那么您需要自行下载Athena本体:
- 前往Athena网站的这个链接。您可能需要创建一个账户。
- 点击网站右上角的绿色"Download"按钮
- 点击绿色"Download"按钮下方的紫色"Download Vocabularies"按钮
- 将捆绑包命名为"athena_download"并选择5.x版本
- 滚动到列表底部,点击蓝色"Download"按钮
- 下载准备就绪需要一些时间。请刷新此网页以检查您的下载是否准备就绪。一旦下载准备就绪,点击"Download"
- 下载完成后,解压文件并将所有文件移动到您仓库中的
EHRSHOT_ASSETS/athena_download/
文件夹。
下载Athena OHDSI本体后,您还需要单独下载本体的CPT子集。您可以按照Athena下载中readme.txt
的说明操作,或按照以下步骤进行:
- 在此创建UMLS账户
- 在此获取您的UMLS API密钥
- 从
EHRSHOT_ASSETS/athena_download/
文件夹运行此命令:bash cpt.sh <YOUR UMLS API KEY>
然后您的本体就准备就绪了!
引用
如果您发现这个项目有帮助,请引用我们的论文:
@article{wornow2023ehrshot,
title={EHRSHOT: An EHR Benchmark for Few-Shot Evaluation of Foundation Models},
author={Michael Wornow and Rahul Thapa and Ethan Steinberg and Jason Fries and Nigam Shah},
year={2023},
eprint={2307.02028},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
许可证
本仓库的源代码根据Apache License 2.0发布。模型许可证和数据集许可证列在其相应的网页上。