MedHall-Bench is a field-grounded hallucination detection benchmark for medical AI assistants. It decomposes each clinical response into verifiable structured fields (dose value, unit, reference range, ICD/LOINC code, entity relation, ...) and evaluates AI outputs via per-field programmatic matching in addition to sentence-level LLM-as-Judge. Designed for use with the HolyEval framework.
β οΈ Research use only. Content is for benchmarking AI agents and should not be used for diagnosis or treatment decisions.
A single clinical sentence can embed many independently-lethal structured fields. Existing hallucination benchmarks (HaluBench, FActScore, HALoGEN) treat each sentence as one claim and produce a single correctness score, losing the ability to localize which field went wrong. MedHall-Bench drills hallucination evaluation down to the field level across numerical, unit, code, temporal, reference-range, structural, and entity-relation dimensions β enabling field-level localization, programmatic verification, and weighted scoring of lethal errors.
112 cases across 5 hallucination types:
| Type | Description | Cases |
|---|---|---|
factual | Medical facts (dose / contraindication / diagnostic criteria) β LLM-as-Judge | 12 |
contextual | Fabricated information not present in the patient record β LLM-as-Judge + user-data cross-check | 15 |
citation | Non-existent guidelines / papers β LLM-as-Judge + PubMed / CrossRef API | 10 |
numerical | Numerical value + unit + reference-range hallucinations (D1+D2+D5) β programmatic field match | 33 |
relational | Code / temporal / structural / entity-relation hallucinations (D3+D4+D6+D7) β programmatic field match | 42 |
βββ manifest.json # Change-detection entry point
βββ README.md
βββ data/
βββ 202604/
βββ full-20260420.jsonl # All 112 cases
βββ factual-20260420.jsonl # Per-type splits
βββ contextual-20260420.jsonl
βββ citation-20260420.jsonl
βββ numerical-20260420.jsonl
βββ relational-20260420.jsonl
βββ <email_id>/ # Virtual user (e.g. user110_AT_demo)
βββ profile.json # Demographics, history, family history
βββ exam_data.json # Clinical exam records
βββ timeline.json # Event + indicator timeline
Contextual cases reference 20 virtual users. Each case's user.target_overrides.*.email field points to the corresponding user directory. User data is included in this repository β no external dataset required.
Each JSONL line is a BenchItem compatible with the HolyEval framework:
{
"id": "dh_d1_0000",
"title": "...",
"description": "...",
"user": {
"type": "manual",
"strict_inputs": ["..."],
"target_overrides": { "theta_api": { "email": "user110@demo" } }
},
"eval": {
"evaluator": "hallucination",
"categories": ["data_hallucination"],
"data_hallu_type": "d1_numerical",
"context": "...",
"ground_truth_fields": [ { "field_name": "...", "expected_value": "...", "expected_unit": "...", "verification": "numeric_tolerance", "tolerance": 0.1 } ],
"known_facts": ["..."],
"threshold": 0.7
},
"tags": ["hallu_type:numerical", "subtype:d1_numerical", "difficulty:l1"]
}
Scored by the hallucination evaluator in HolyEval, which routes by type:
threshold)ground_truth_fields (numeric tolerance, unit normalization, code whitelist, date equality, etc.)Citation cases additionally use NCBI PubMed/PMC + CrossRef DOI + DuckDuckGo multi-source verification (30% API weight + 70% LLM weight).
from huggingface_hub import snapshot_download
path = snapshot_download(repo_id="healthmemoryarena/MedHall-Bench", repo_type="dataset")
# path/manifest.json, path/data/202604/...
from huggingface_hub import hf_hub_download
p = hf_hub_download(
repo_id="healthmemoryarena/MedHall-Bench",
filename="data/202604/numerical-20260420.jsonl",
repo_type="dataset",
)
# Place dataset under benchmark/data/medhall/ (already mirrored in the HolyEval repo)
python -m benchmark.basic_runner medhall full-20260420 --target-model gpt-4.1
python -m benchmark.basic_runner medhall contextual-20260420 --target-type theta_api
Apache 2.0
@software{holyeval,
title = {HolyEval: Virtual User Evaluation Framework for Medical AI Assistants},
author = {Theta Health},
url = {https://github.com/healthmemoryarena/holyeval},
year = {2026}
}
MedHall-Bench is a field-grounded hallucination detection benchmark for medical AI assistants. It decomposes each clinical response into verifiable structured fields (dose value, unit, reference range, ICD/LOINC code, entity relation, ...) and evaluates AI outputs via per-field programmatic matching in addition to sentence-level LLM-as-Judge. Designed for use with the HolyEval framework.
β οΈ Research use only. Content is for benchmarking AI agents and should not be used for diagnosis or treatment decisions.
A single clinical sentence can embed many independently-lethal structured fields. Existing hallucination benchmarks (HaluBench, FActScore, HALoGEN) treat each sentence as one claim and produce a single correctness score, losing the ability to localize which field went wrong. MedHall-Bench drills hallucination evaluation down to the field level across numerical, unit, code, temporal, reference-range, structural, and entity-relation dimensions β enabling field-level localization, programmatic verification, and weighted scoring of lethal errors.
112 cases across 5 hallucination types:
| Type | Description | Cases |
|---|---|---|
factual | Medical facts (dose / contraindication / diagnostic criteria) β LLM-as-Judge | 12 |
contextual | Fabricated information not present in the patient record β LLM-as-Judge + user-data cross-check | 15 |
citation | Non-existent guidelines / papers β LLM-as-Judge + PubMed / CrossRef API | 10 |
numerical | Numerical value + unit + reference-range hallucinations (D1+D2+D5) β programmatic field match | 33 |
relational | Code / temporal / structural / entity-relation hallucinations (D3+D4+D6+D7) β programmatic field match | 42 |
βββ manifest.json # Change-detection entry point
βββ README.md
βββ data/
βββ 202604/
βββ full-20260420.jsonl # All 112 cases
βββ factual-20260420.jsonl # Per-type splits
βββ contextual-20260420.jsonl
βββ citation-20260420.jsonl
βββ numerical-20260420.jsonl
βββ relational-20260420.jsonl
βββ <email_id>/ # Virtual user (e.g. user110_AT_demo)
βββ profile.json # Demographics, history, family history
βββ exam_data.json # Clinical exam records
βββ timeline.json # Event + indicator timeline
Contextual cases reference 20 virtual users. Each case's user.target_overrides.*.email field points to the corresponding user directory. User data is included in this repository β no external dataset required.
Each JSONL line is a BenchItem compatible with the HolyEval framework:
{
"id": "dh_d1_0000",
"title": "...",
"description": "...",
"user": {
"type": "manual",
"strict_inputs": ["..."],
"target_overrides": { "theta_api": { "email": "user110@demo" } }
},
"eval": {
"evaluator": "hallucination",
"categories": ["data_hallucination"],
"data_hallu_type": "d1_numerical",
"context": "...",
"ground_truth_fields": [ { "field_name": "...", "expected_value": "...", "expected_unit": "...", "verification": "numeric_tolerance", "tolerance": 0.1 } ],
"known_facts": ["..."],
"threshold": 0.7
},
"tags": ["hallu_type:numerical", "subtype:d1_numerical", "difficulty:l1"]
}
Scored by the hallucination evaluator in HolyEval, which routes by type:
threshold)ground_truth_fields (numeric tolerance, unit normalization, code whitelist, date equality, etc.)Citation cases additionally use NCBI PubMed/PMC + CrossRef DOI + DuckDuckGo multi-source verification (30% API weight + 70% LLM weight).
from huggingface_hub import snapshot_download
path = snapshot_download(repo_id="healthmemoryarena/MedHall-Bench", repo_type="dataset")
# path/manifest.json, path/data/202604/...
from huggingface_hub import hf_hub_download
p = hf_hub_download(
repo_id="healthmemoryarena/MedHall-Bench",
filename="data/202604/numerical-20260420.jsonl",
repo_type="dataset",
)
# Place dataset under benchmark/data/medhall/ (already mirrored in the HolyEval repo)
python -m benchmark.basic_runner medhall full-20260420 --target-model gpt-4.1
python -m benchmark.basic_runner medhall contextual-20260420 --target-type theta_api
Apache 2.0
@software{holyeval,
title = {HolyEval: Virtual User Evaluation Framework for Medical AI Assistants},
author = {Theta Health},
url = {https://github.com/healthmemoryarena/holyeval},
year = {2026}
}