How Robust Are Large Language Models for Clinical Numeracy? An Empirical Study on Numerical Reasoning Abilities in Clinical Contexts
Organizations: School of Computing Technologies, RMIT University, Australia
Abstract
Large Language Models (LLMs) are increasingly being explored for clinical question answering and decision support, yet safe deployment critically requires reliable handling of patient measurements in heterogeneous clinical notes. Existing evaluations of LLMs for clinical numerical reasoning provide limited operation-level coverage, restricted primarily to arithmetic computation, and rarely assess the robustness of numerical understanding across clinical note formats. We introduce ClinicNumRobBench, a benchmark of 1,624 context-question instances with ground-truth answers that evaluates four main types of clinical numeracy: value retrieval, arithmetic computation, relational comparison, and aggregation. To stress-test robustness, ClinicNumRobBench presents longitudinal MIMIC-IV vital-sign records in three semantically equivalent representations, including a real-world note-style variant derived from the Open Patients dataset, and instantiates queries using 42 question templates. Experiments on 17 LLMs show that value retrieval is generally strong, with most models exceeding 85% accuracy, while relational comparison and aggregation remain challenging, with some models scoring below 15%. Fine-tuning on medical data can reduce numeracy relative to base models by over 30%, and performance drops under note-style variation indicate LLM sensitivity to format. ClinicNumRobBench offers a rigorous testbed for clinically reliable numerical reasoning. Code and data URL are available on https://github.com/MinhVuong2000/ClinicNumRobBench.
Figures & tables
| Task | Subtask | #Templates | #Questions |
| Retrieval | – | 6 | 240 |
| Arithmetic | 1 step | 4 | 200 |
| 2 steps | 4 | 200 | |
| 3 steps | 2 | 200 | |
| Comparison | Comparative | 11 | 191 |
| Superlative | 12 | 192 |
| Benchmark | #Inst. | Tasks | Ctx Rep. | Ctx Tok. | Q Tok. | Root TTR |
| MedCalc-Bench | 1,047 | arithmetic | note-style | 613 | 41 | 10.71 |
| ClinicNumRobBench | 1,624 | retrieval; | structured | 745 | 23 | 4.93–5.49 |
| (Ours) | arithmetic; | fixed template | 551 | 23 | 4.28–5.51 | |
| comparison; aggregation | note-style variant | 1480 | 23 | 12.56–12.87 |
| LLMs | Size | Retrieval | Arithmetic | Comparison | Aggregation | ||||||||
| Struct. | Fixed | Variant | Struct. | Fixed | Variant | Struct. | Fixed | Variant | Struct. | Fixed | Variant | ||
| Medical | |||||||||||||
| medgemma-it | 4B | 97.50 | 93.75 -3.75 | 90.83 -6.17 | 71.33 | 73.17 +1.84 | 68.83 -2.50 | 1.56 | 2.35 +0.79 | 1.83 +0.27 | 15.92 | 21.87 +5.95 | 15.42 -0.50 |
| MediPhi | 4B | 94.58 | 93.33 -1.25 | 86.67 -7.91 | 22.00 | 18.67 -3.33 | 16.50 -5.50 | 29.50 | 29.76 -0.26 | 20.89 -8.61 | 15.92 | 26.37 +10.45 | 13.93 -1.99 |
| Meditron3-Qwen2.5 | 7B | 98.33 | 98.33 +0.00 | 90.00 -8.33 | 83.33 | 82.67 -0.66 | 73.50 -9.93 | 36.29 | 47.52 +11.23 | 34.20 -2.09 | 50.25 | 51.74 +1.49 | 44.28 -7.46 |
| Meditron3-Llama | 8B | 75.83 | 79.58 +3.75 | 73.75 -2.08 | 43.33 | 53.50 +10.17 | 46.50 +3.15 | 2.35 | 4.18 +1.83 | 3.13 +0.78 | 15.42 | 16.92 +1.50 | 11.94 -3.48 |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | 1-step | 2-steps | 3-steps |
| MedGemma | 69.50 | 73.50 | 63.50 |
| MediPhi | 21.00 | 14.50 | 14.00 |
| Meditron3-Qwen2.5 | 82.00 | 77.00 | 61.50 |
| Meditron3-Llama | 56.00 | 45.50 | 38.00 |
| UltraMedical | 51.50 | 38.50 | 38.00 |
| Huatuo-o1 | 51.00 | 51.50 | 54.00 |
| LLM | Model Implementation |
| medgemma-it | google/medgemma-4b-it |
| gemma-3-it | google/gemma-3-4b-it |
| MediPhi | microsoft/MediPhi-Instruct |
| Phi-3.5-mini | microsoft/Phi-3.5-mini-instruct |
| Meditron3-Qwen2.5 | OpenMeditron/Meditron3-Qwen2.5-7B |
| Meditron3-Llama | OpenMeditron/Meditron3-8B |
| Model | Struct. | Fixed | Variant | |||||||||
| sup_highest | com_higher | com_lower | sup_lowest | sup_highest | com_higher | com_lower | sup_lowest | sup_highest | com_higher | com_lower | sup_lowest | |
| medgemma-it | 3.12 | 1.68 | 1.39 | 0.00 | 2.08 | 2.52 | 2.78 | 2.08 | 2.08 | 0.00 | 2.78 | 2.52 |
| gemma-3-it | 61.46 | 69.75 | 55.56 | 63.54 | 58.33 | 68.07 | 50.00 | 66.67 | 46.88 | 46.88 | 30.56 | 36.13 |
| MediPhi | 29.17 | 30.25 | 33.33 | 26.04 | 27.08 | 28.57 | 31.94 | 32.29 | 28.12 | 23.96 | 18.06 | 14.29 |
| Phi-3.5-mini | 53.12 | 54.62 | 52.78 | 52.08 | 54.17 | 57.98 | 56.94 | 61.46 | 44.38 | 47.50 | 48.89 | 46.97 |
| Meditron3-Qwen2.50 | 44.79 | 32.77 | 27.78 | 38.54 | 47.92 | 47.90 | 45.83 | 47.92 | 36.46 | 37.50 | 26.39 | 34.45 |
| Medical | Qual. Reasoning | Comput. | Non-MCQ | Num. | Granul. | Robust. | |
| MedQA | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MedXpertQA | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| MedBullets | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| GSM8K | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| MATH | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| NumericBench | ✗ | ✓ | ✓ | ✗ | ✓ | ✓ | ✗ |
| Task Category | Measurement | Temporal | Ratio/Proportion | Range | Frequency | Ordinal | Formula/Math |
| Retrieval | |||||||
| Retrieval | ✓ | ✓ | |||||
| Arithmetic | |||||||
| 1-step | ✓ | ✓ | ✓ | ||||
| 2-steps | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| 3-steps | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Model | full | abbr | no_unit | abbr-no_unit | order_shuffle | sep_change |
| MedGemma | 21.87 | 17.41 | 20.90 | 17.41 | 19.90 | 20.40 |
| Gemma | 43.79 | 33.29 | 39.76 | 30.81 | 43.74 | 39.26 |
| MediPhi | 26.37 | 19.90 | 24.88 | 17.41 | 25.87 | 25.87 |
| Phi3.5-mini | 59.7 | 53.53 | 57.71 | 44.78 | 57.71 | 53.73 |
| Meditron3-Qwen2.5 | 51.74 | 48.26 | 50.74 | 48.25 | 48.26 | 48.76 |
| Qwen-2.5 | 58.21 | 50.25 | 55.72 | 50.72 | 55.72 | 55.22 |
| Task | Subtask | ID | Question template | Reasoning focus |
| retrieval | retrieval | T1-6 | What was the {column} of the patient at {charttime}? | Single-record lookup of a vital at a specific timestamp. |
| calculation | 1step_add | T7 | Calculate the sum of systolic and diastolic blood pressure at {charttime}. | A step in Mean Arterial Pressure (MAP) |
| calculation | 1step_sub | T8 | Calculate the pulse pressure at {charttime}. | Difference (SBP – DBP) |
| calculation | 1step_mul | T9 | What is the value when multiplying the temperature at {charttime} by 1.8 round to 1 decimal places. | Scalar multiplication (°C × 1.8) |
| calculation | 1step_div | T10 | Calculate the Shock Index at {charttime}, round to 1 decimal places. | Heart-rate / SBP ratio. |
| calculation | 2step_add_div | T11 | Calculate the average of respiratory rate at the {case} 2 records, round to 1 decimal places. | Mean of first or last two respiratory-rate entries. |
| Task | Structured | Fixed-Tem. | Var-Tem. |
| Retrieval | 4.9268 | 4.3826 | 12.5604 |
| Calculation | 5.3545 | 5.5130 | 12.5724 |
| Comparison | 5.4663 | 4.6588 | 12.8695 |
| Aggregation | 5.4866 | 4.7530 | 12.8291 |
| Metric | MedCalc | Var-Tem. |
| Root TTR ( Guiraud, 1959 ) | 10.7108 | 12.7079 |
| HDD ( Malvern et al., 2004 ) | 0.7335 | 0.8487 |
| MTLD ( McCarthy and Jarvis, 2010 ) | 96.0998 | 84.6647 |
| Benchmarks & Datasets | %Num |
| MedXpertQA ( Zuo et al., 2025 ) | 73.51 |
| Medbullets ( Chen et al., 2025a ) | 99.35 |
| MedQA ( Jin et al., 2020 ) | 85.55 |
| MedCalc-Bench ( Khandekar et al., 2024 ) | 96.73 |
| PubMedQA* ( Jin et al., 2019 ) | 96.50 |
| EBM-NLP* Nye et al. (2018) | 90.00 |
| MedXpertQA | MedBullets | |
| Full data | 13.06 | 48.70 |
| Number-only | 12.72 | 48.69 |
| %NumSamples | 73.51% | 99.35% |
Numerical Reasoning in Language Models
Numerical reasoning in language models studies how systems represent, calculate with, and explain numbers across mathematical and real-world tasks.
See all 150 papers