er-reason-eval
ER-REASON: A Benchmark Dataset for LLM-Based Clinical Reasoning in the Emergency Room — Mehandru et al. (2025) (arXiv:2505.22919, 2025)
What this evaluates
Evaluates LLMs on longitudinal clinical reasoning across five emergency room workflow stages, including acuity assessment, case summarization, treatment planning, final diagnosis, and patient disposition. It probes the models' ability to integrate sparse clinical notes, perform rule-out differential diagnosis, and align outputs with real-world clinical decision-making and safety constraints.
Datasets
Metrics
Accuracy (primary) — range: percent
- Percentage of correctly predicted categorical labels (acuity level or disposition) out of total instances.
ROUGE-F1 (primary) — range: [0, 1]
- F1 score computed over unigram (ROUGE-1), bigram (ROUGE-2), and longest common subsequence (ROUGE-L) overlaps between generated summaries and reference summaries.
cTAKES CUI Overlap Ratio (primary) — range: [0, 1]
- Average ratio of overlapping Clinical Unit Identifiers (CUIs) extracted via cTAKES between model-generated treatment plans and physician-annotated rationales across three reasoning dimensions.
ICD-10 Match — range: percent
- Exact match percentage of predicted ICD-10 codes against gold-standard diagnostic codes.
HCC Match — range: percent
- Percentage of predictions matching the gold standard when aggregated into broader Hierarchical Condition Category groups to mitigate lexical coding variations.
Input / output format
Input: Longitudinal de-identified clinical notes across ER stages, often accompanied by task-specific prompts detailing the intended clinical workflow context.
Output: Task-dependent: categorical acuity level, one-line patient summary, structured treatment plan/reasoning rationale, ICD-10 diagnosis code, and final disposition (e.g., discharge vs. admission).
Scoring recipe
acc = sum(pred == gold for pred, gold in zip(predictions, golds)) / len(golds)
rouge_scores = rouge.compute(predictions=predictions, references=golds, rouge_types=['rouge1', 'rouge2', 'rougeL'])
model_cuis = ctakes_extract(model_output)
gold_cuis = ctakes_extract(gold_rationale)
overlap = len(model_cuis & gold_cuis) / len(gold_cuis)
icd_match = sum(pred == gold for pred, gold in zip(icd_preds, icd_golds)) / len(golds)
hcc_match = sum(map_hcc(pred) == map_hcc(gold) for pred, gold in zip(icd_preds, icd_golds)) / len(golds)
Common pitfalls
- Models exhibit a 'regression to the mean' or risk-averse bias, over-classifying patients as Urgent or recommending admission, which compresses the acuity spectrum and skews resource allocation predictions.
- Exact ICD-10 code matching is heavily penalized by free-text documentation variations (e.g., 'sepsis' vs 'acute sepsis'), making HCC category matching a more robust diagnostic fidelity metric.
- Summarization ROUGE scores remain modest because the task requires workflow-aware reasoning about which sparse clinical details are actionable, rather than general text compression.
Evidence (verbatim from paper)
Table 2: ER acuity assessment
| Model |
Accuracy |
| LLaMA 3.2 |
53.63 |
| GPT-3.5 |
62.11 |
| GPT-4o |
61.98 |
| o3-mini |
62.70 |
Citation
@misc{mehandru2025erreason,
title={ER-REASON: A Benchmark Dataset for LLM-Based Clinical Reasoning in the Emergency Room},
author={Mehandru et al. (2025)},
year={2025},
note={arXiv:2505.22919}
}
1---2name: er-reason-eval3description: Evaluates LLMs on longitudinal clinical reasoning across five emergency room workflow stages, including acuity assessment, case summarization, treatment planning, final diagnosis, and patient disposition. It probes the models' ability to integrate sparse clinical notes, perform rule-out differential diagnosis, and align outputs with real-world clinical decision-making and safety constraints. Use when the user wants to benchmark on ER-Reason, or asks about evaluating this task. Reports Accuracy, ROUGE-F1, cTAKES CUI Overlap Ratio.4---56# er-reason-eval78> ER-REASON: A Benchmark Dataset for LLM-Based Clinical Reasoning in the Emergency Room — Mehandru et al. (2025) (arXiv:2505.22919, 2025)910## What this evaluates1112Evaluates LLMs on longitudinal clinical reasoning across five emergency room workflow stages, including acuity assessment, case summarization, treatment planning, final diagnosis, and patient disposition. It probes the models' ability to integrate sparse clinical notes, perform rule-out differential diagnosis, and align outputs with real-world clinical decision-making and safety constraints.1314## Datasets1516- **ER-Reason** — total 3984; splits: test (-1); repo https://github.com/AlaaLab/ER-Reason1718## Metrics1920- `Accuracy` **(primary)** — range: percent21 - Percentage of correctly predicted categorical labels (acuity level or disposition) out of total instances.22- `ROUGE-F1` **(primary)** — range: [0, 1]23 - F1 score computed over unigram (ROUGE-1), bigram (ROUGE-2), and longest common subsequence (ROUGE-L) overlaps between generated summaries and reference summaries.24- `cTAKES CUI Overlap Ratio` **(primary)** — range: [0, 1]25 - Average ratio of overlapping Clinical Unit Identifiers (CUIs) extracted via cTAKES between model-generated treatment plans and physician-annotated rationales across three reasoning dimensions.26- `ICD-10 Match` — range: percent27 - Exact match percentage of predicted ICD-10 codes against gold-standard diagnostic codes.28- `HCC Match` — range: percent29 - Percentage of predictions matching the gold standard when aggregated into broader Hierarchical Condition Category groups to mitigate lexical coding variations.3031## Input / output format3233**Input**: Longitudinal de-identified clinical notes across ER stages, often accompanied by task-specific prompts detailing the intended clinical workflow context.3435**Output**: Task-dependent: categorical acuity level, one-line patient summary, structured treatment plan/reasoning rationale, ICD-10 diagnosis code, and final disposition (e.g., discharge vs. admission).3637## Scoring recipe3839```python40acc = sum(pred == gold for pred, gold in zip(predictions, golds)) / len(golds)41rouge_scores = rouge.compute(predictions=predictions, references=golds, rouge_types=['rouge1', 'rouge2', 'rougeL'])42model_cuis = ctakes_extract(model_output)43gold_cuis = ctakes_extract(gold_rationale)44overlap = len(model_cuis & gold_cuis) / len(gold_cuis)45icd_match = sum(pred == gold for pred, gold in zip(icd_preds, icd_golds)) / len(golds)46hcc_match = sum(map_hcc(pred) == map_hcc(gold) for pred, gold in zip(icd_preds, icd_golds)) / len(golds)47```4849## Common pitfalls5051- Models exhibit a 'regression to the mean' or risk-averse bias, over-classifying patients as Urgent or recommending admission, which compresses the acuity spectrum and skews resource allocation predictions.52- Exact ICD-10 code matching is heavily penalized by free-text documentation variations (e.g., 'sepsis' vs 'acute sepsis'), making HCC category matching a more robust diagnostic fidelity metric.53- Summarization ROUGE scores remain modest because the task requires workflow-aware reasoning about which sparse clinical details are actionable, rather than general text compression.5455## Evidence (verbatim from paper)5657> Table 2: ER acuity assessment5859| Model | Accuracy |60| --- | --- |61| LLaMA 3.2 | 53.63 |62| GPT-3.5 | 62.11 |63| GPT-4o | 61.98 |64| o3-mini | 62.70 |6566## Citation6768```bibtex69@misc{mehandru2025erreason,70 title={ER-REASON: A Benchmark Dataset for LLM-Based Clinical Reasoning in the Emergency Room},71 author={Mehandru et al. (2025)},72 year={2025},73 note={arXiv:2505.22919}74}75```7677- arXiv: 2505.22919