Evaluates a model's ability to parse and reason over real-world medical documents, including laboratory test reports and general medical documents, through tasks like table extraction, simple/complex QA, and free-form scoring. Use when the user wants to benchmark on MedDocBench, or asks about evaluating this task. Reports Field-level micro Precision/Recall/F1 & Macro-Doc F1.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill meddocbench-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Meddocbench Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-meddocbench-eval)More formats (shields.io, HTML) on the badges page.
---
name: meddocbench-eval
description: Evaluates a model's ability to parse and reason over real-world medical documents, including laboratory test reports and general medical documents, through tasks like table extraction, simple/complex QA, and free-form scoring. Use when the user wants to benchmark on MedDocBench, or asks about evaluating this task. Reports Field-level micro Precision/Recall/F1 & Macro-Doc F1.
metadata:
skill_kind: dataset_eval
source_arxiv: 2509.19090
bibtex_key: wang2025citrusv
confidence: high
---
# meddocbench-eval
> Citrus-V: Advancing Medical Foundation Models with Unified Medical Image Grounding for Clinical Reasoning — Wang et al. (2025) (arXiv:2509.19090, 2025)
## What this evaluates
Evaluates a model's ability to parse and reason over real-world medical documents, including laboratory test reports and general medical documents, through tasks like table extraction, simple/complex QA, and free-form scoring.
## Datasets
- **MedDocBench** — total ?; splits: Hard test set (-1)
## Metrics
- `Field-level micro Precision/Recall/F1 & Macro-Doc F1` **(primary)** — range: [0, 1]
- Bipartite matching between predicted and gold entry_names, then field-level correctness for entry_name, result, reference, and unit. Reports micro P/R/F1 at field level and macro-averaged scores at document level.
- `Exact-match accuracy` — range: [0, 1]
- Computed after canonicalization for simple QA subtasks.
- `LLM judge mean score` — range: [0, 1]
- Free-form answers scored by an LLM judge on a continuous scale s∈[0,1]; mean score reported.
## Input / output format
**Input**: Medical document images (laboratory test reports or general medical documents) paired with parsing instructions or questions.
**Output**: Markdown tables for full parsing; JSON containing result, reference, and abnormality label for complex QA; free-form text for simple QA and GMD.
## Scoring recipe
```python
def score_meddocbench(predictions, golds):
scores = []
for pred, gold in zip(predictions, golds):
if pred.task == 'full_parsing':
pred_table = canonicalize(pred.markdown)
matches = bipartite_match(pred_table, gold.table)
scores.append(f1_score(matches))
elif pred.task == 'simple_qa':
scores.append(exact_match(canonicalize(pred.text), gold.text))
elif pred.task == 'gmd':
scores.append(llm_judge_score(pred.text, gold.text, pred.question))
return mean(scores)
```
## Common pitfalls
- Canonicalization is strictly required before exact-match or rule-based matching; skipping it causes severe score drops.
- LLM judge is used as a fallback for rule-based matching failures, introducing potential non-determinism and prompt sensitivity.
- Macro-averaged document-level scores can be skewed by rare entry types in sparse tables.
## Evidence (verbatim from paper)
> LTR: All predictions are canonicalized as a preprocessing step. For full parsing, models output a Markdown table; we perform bipartite matching between predicted and gold entry_names, then assess field-level correctness for entry_name, result, reference, and unit. We report micro Precision/Recall/F1 at the field level and macro-averaged scores at the document (image) level. For complex QA, models return JSON containing the result, reference, and an abnormality label; evaluation follows the same matching procedure with P/R/F1 reporting. For simple QA, we compute exact-match accuracy after canonicalization. In all LTR subtasks, an LLM judge is used as a fallback when rule-based matching failed. GMD: Free-form answers are scored by an LLM judge given the question, the predicted answer, and the gold answer. The judge produces a continuous score $s\in[0,1]$; we report the mean score.
## Citation
```bibtex
@misc{wang2025citrusv,
title={Citrus-V: Advancing Medical Foundation Models with Unified Medical Image Grounding for Clinical Reasoning},
author={Wang et al. (2025)},
year={2025},
note={arXiv:2509.19090}
}
```
- arXiv: 2509.19090
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!