PSEBench
A controllable, verifiable benchmark for policy-grounded patient-safety event triage against Minnesota's 29 Reportable Adverse Health Events (MN29).
What PSEBench measures
Patient safety event (PSE) triage determines whether a clinical event is reportable under jurisdiction-specific policy, a high-stakes task usually performed manually by patient-safety experts. PSEBench evaluates whether an LLM can support this workflow through policy-grounded reasoning rather than mere classification: grounding decisions in legal evidence, identifying missing decision-critical facts, and abstaining when facts or policy criteria are ambiguous.
It is the first comprehensive benchmark for PSE reportability triage that jointly evaluates policy-grounded verdicts, legal-evidence grounding, targeted information-seeking over missing facts, and explicit recognition of policy-level uncertainty.
Construction: clause cards + closed-loop verification
The methodology centers on the clause card, a structured decision specification that factorizes opaque regulatory guidance into auditable variables: reportability criteria, boundary conditions, required facts, and expected verdicts. A clause card is a tuple (s, B, E, ρ, y, G, Φ), event type, boundary conditions, basic event elements, the mapping from conditions to elements, the intended verdict, the governing legal basis, and instantiation constraints.
Combining clause cards with diverse real-world clinical anchor materials, an LLM generates event narratives while automated verifiers check both the structured facts and the generated text against the clause card. This closed-loop process yields by-construction ground truth, narratives that faithfully inherit the triage verdict, legal basis, and decision-critical facts of their clause card, without expensive post-hoc annotation. It also enables systematic construction of missing-information and uncertain variants.
Instantiated on MN29, the pipeline produced 5,074 cases: 3,455 complete, 1,362 missing-information, and 257 uncertain. Two patient-safety experts validated a sample of 90 cases, strongly concurring with the pipeline's by-construction ground truth.
Headline finding
High verdict accuracy frequently masks critical failures. Strong models exceed 92% verdict accuracy (M1), yet their evidence grounding (M3) and boundary-condition hit rate (M4) lag well behind, they often guess the right verdict for the wrong or hallucinated reasons. The starkest gap is uncertainty awareness (M7): only the strongest models meaningfully escalate gray-zone events, while most, including all medical-specialty models, collapse toward a confident "Reportable" verdict. Simple classification accuracy is an unreliable proxy for real-world triage readiness.
Leaderboard
| Model | M1 Verdict Acc. | M2 Clause Acc. | M3 Evidence Cite F1 | M4 Boundary Hit | M5 Missing Detect F1 | M6 Missing Slot F1 | M7 Uncertain Detect F1 | M8 Reportable Detect F1 |
|---|---|---|---|---|---|---|---|---|
| Closed-source frontier | ||||||||
| GPT-5.5 | 94.6 | 98.5 | 74.3 | 88 | 82.2 | 77.3 | 79.7 | 91.7 |
| GPT-5 | 90.2 | 98 | 66.4 | 83.9 | 77.7 | 77.7 | 12.8 | 86.9 |
| Claude Opus 4.7 | 92.3 | 97.3 | 67.4 | 78.5 | 83.4 | 77.6 | 57.1 | 90.9 |
| Claude Sonnet 4.6 | 84.6 | 97.9 | 65.8 | 85.8 | 70.1 | 76.2 | 49.2 | 81.6 |
| Gemini 3.1 Pro | 95.3 | 97.8 | 65.5 | 78.6 | 88.2 | 77.4 | 74 | 94 |
| Gemini 2.5 Flash | 85.8 | 96.7 | 64.9 | 77.5 | 70.5 | 71.6 | 31.3 | 82.4 |
| Open-source frontier | ||||||||
| DeepSeek-R1 | 83.7 | 95.3 | 56.3 | 76.5 | 66.5 | 66.3 | 36.3 | 82 |
| Qwen3-235B | 76.7 | 93.3 | 60.6 | 81.6 | 54.7 | 69.3 | 18.3 | 74.4 |
| GPT-OSS-120B | 79 | 94.3 | 45.4 | 68.5 | 36.5 | 71.6 | 10 | 71.4 |
| Small models | ||||||||
| GPT-5-nano | 71.9 | 87.2 | 41.1 | 72.5 | 35.3 | 61 | 10.1 | 69.4 |
| Llama-3.1-8B | 52.4 | 59.7 | 30.7 | 62.1 | 46.7 | 24.6 | 10.5 | 59.5 |
| Mistral-Small-3.2 (24B) | 60.5 | 89.5 | 49.4 | 71.4 | 27.7 | 53.5 | 2.2 | 60.5 |
| Medical-specialty | ||||||||
| HuatuoGPT-o1 (8B) | 45.5 | 48.8 | 13.6 | 58.7 | 0.3 | 0 | 2.3 | 51.9 |
| MedGemma (27B) | 51.3 | 77.4 | 43.8 | 73.8 | 0.6 | 37.5 | 0 | 54.2 |
| HuatuoGPT-o1 (70B) | 61.1 | 84.1 | 51.7 | 67.4 | 2.3 | 56.6 | 3.6 | 60.5 |
What does reliable triage cost?
The leaderboard's M1 (accuracy) and M7 (uncertain-detection) columns translate directly into dollars. Each model handles cases it's confident about and escalates the rest to a human; the cost is its token cost plus the human review it still needs to reach the target reliability. Drag the controls, and watch token cost stay a rounding error next to oversight cost.
| Model | M1 acc | M7 unc | Token $/case | Escalation | Total $/case | vs all-human |
|---|---|---|---|---|---|---|
| Gemini 3.1 Pro | 95.3 | 74.0 | $0.048 | 26% | $6.49 | −74% |
| GPT-5.5 | 94.6 | 79.7 | $0.048 | 30% | $7.42 | −70% |
| Claude Opus 4.7 | 92.3 | 57.1 | $0.130 | 65% | $16.25 | −35% |
| GPT-5 | 90.2 | 12.8 | $0.048 | 87% | $21.80 | −13% |
| Claude Sonnet 4.6 | 84.6 | 49.2 | $0.078 | 87% | $21.89 | −12% |
| Gemini 2.5 Flash | 85.8 | 31.3 | $0.012 | 89% | $22.32 | −11% |
| DeepSeek-R1 | 83.7 | 36.3 | $0.012 | 90% | $22.51 | −10% |
| GPT-OSS-120B | 79.0 | 10.0 | $0.003 | 95% | $23.63 | −5% |
| Qwen3-235B | 76.7 | 18.3 | $0.004 | 95% | $23.69 | −5% |
| GPT-5-nano | 71.9 | 10.1 | $0.002 | 96% | $24.00 | −4% |
| Mistral-Small 3.2 | 60.5 | 2.2 | $0.001 | 98% | $24.38 | −2% |
| HuatuoGPT-o1 70B | 61.1 | 3.6 | $0.006 | 98% | $24.38 | −2% |
| Llama-3.1-8B | 52.4 | 10.5 | $0.000 | 98% | $24.44 | −2% |
| MedGemma 27B | 51.3 | 0.0 | $0.001 | 98% | $24.50 | −2% |
| HuatuoGPT-o1 8B | 45.5 | 2.3 | $0.001 | 98% | $24.56 | −2% |
At Y=98.0% with $25 human review, token cost ranges $0.000–$0.130/case — a rounding error next to escalation cost. The economic ranking tracks M1 accuracy and M7 calibration, not token price.
Escalation per model is derived from its measured M1 and M7 (a calibrated agent escalates its genuinely-uncertain cases). Token cost uses a per-case PSEBench profile (cached MN29 policy + narrative + Ask-loop) priced at each model's rate; Claude rates are list prices, others are representative. Human accuracy ceiling a_H = 0.99.
What M7 measures: calibration
The cost above hinges on a model escalating the right cases, which requires its confidence to actually track correctness. That property is produced by a calibration map g(s) ≈ P(correct | s), and PSEBench's M7 score is essentially a measure of how well-calibrated a model's uncertainty is. Here's the idea on a synthetic overconfident model:
A calibration map g rewrites a model's raw self-confidence s into a number that matches how often it's actually right: g(s) ≈ P(correct | s). Fit it on held-out (confidence, was-it-correct) data.
raw s | truth | g(s) |
|---|---|---|
| 0.55 | 0.36 | 0.36 |
| 0.65 | 0.48 | 0.47 |
| 0.75 | 0.61 | 0.60 |
| 0.85 | 0.76 | 0.75 |
| 0.95 | 0.92 | 0.92 |
Synthetic overconfident model (truth: a claim of s is right with probability s^1.7). The map pulls the dots onto the diagonal and cuts calibration error ~3×. This g(s) is what the escalation gate g(s) ≥ τ consumes — and what PSEBench's M7 score proxies.
Paper
PSEBench: A Controllable and Verifiable Benchmark for Evaluating LLMs in Patient Safety Event Triage
Han, Young, Strauss, Hughes, Nesbitt, Schueler, Ngufor, Yang, Xue, Yin (Emory · Scale AI · Mayo Clinic · Vanderbilt)
arXiv:2606.05463