ROX Index Calculator
ROX Index Calculator
The ROX index is SpO₂/FiO₂ divided by respiratory rate, for patients on high-flow nasal oxygen. Its threshold is not one number: it depends on the hours of high-flow elapsed, and it was derived in pneumonia.
ROX index
S/F over respiratory rateSpO₂ 92%, FiO₂ 60%, respiratory rate 28, 12 hours of high-flow
Formula
with SpO₂ as a percentage, FiO₂ as a fraction and rate in breaths per minute
- SpO2/FiO2
- the S/F ratio, a non-invasive stand-in for PaO₂/FiO₂. On an FiO₂ of 0.6 an SpO₂ of 92% gives 153. The existing P/F ratio page covers what S/F can and cannot do, including that it tracks P/F closely only below an SpO₂ of about 97%
- respiratory rate
- in the DENOMINATOR, so a tachypnoeic patient scores low. This is the term that makes ROX more than an oxygenation index: it is the one that notices work of breathing
- the timepoint
- part of the threshold, not a label. The published failure cut-offs are 2.85 at 2 hours, 3.47 at 6 and 3.85 at 12, and 4.88 or above was associated with lower risk at all three
- the population, and what it ignores
- adults with PNEUMONIA and acute hypoxaemic respiratory failure on high-flow nasal oxygen: 157 patients in the 2016 derivation, 191 in the 2019 validation. Not derived in cardiogenic pulmonary oedema, post-extubation support, hypercapnic failure or COVID-19, where a different cut-off around 5.9 has been proposed. It also ignores the set gas flow and time itself
Worked example
SpO₂ 92%, FiO₂ 60%, respiratory rate 28, 12 hours of high-flow
S/F ratio = 92 ÷ 0.6 = 153.3
ROX = 153.3 ÷ 28 = 5.48
At 12 hours, 5.48 is above both the 3.85 failure cut-off and the 4.88 associated with a lower hazard of intubation (hazard ratio 0.291, 95% CI 0.161 to 0.524)
Hold the gas exchange and let the rate rise to 40: ROX becomes 3.83, now below the 12-hour cut-off, with nothing about the oxygenation changed
Hold the rate at 28 and let the FiO₂ rise to 90% for the same SpO₂: ROX becomes 3.65. Either term can take the index across the line on its own
The same 5.48 read against the 2-hour cut-off of 2.85 instead of the 12-hour 3.85 sits a full point further from the line — which is why the timepoint is an input and not a note
The published thresholds, with their timepoints and performance
| Hours on high-flow | Failure cut-off | Sensitivity and specificity | Hazard ratio for ROX 4.88 or above |
|---|---|---|---|
| 2 | Under 2.85 | Not published separately; specificity 98 to 99% across the three cut-offs | 0.434 (95% CI 0.264 to 0.715) |
| 6 | Under 3.47 | As above | 0.304 (0.182 to 0.509) |
| 12 | Under 3.85 | Sensitivity 23.5%, specificity 98.4% | 0.291 (0.161 to 0.524) |
| Any other time | None published | This page will not interpolate one | Not applicable |
Where the index came from, and where it has not been tested
| Study | Population | What it established |
|---|---|---|
| Roca and colleagues, J Crit Care 2016 | 157 patients with pneumonia on high-flow nasal oxygen | The index, and 4.88 at 12 hours: sensitivity 70.1%, specificity 72.4%, PPV 89.4%, NPV 42% |
| Roca and colleagues, AJRCCM 2019 | 191 patients with pneumonia, multicentre prospective; 68 (35.6%) intubated | The hourly cut-offs 2.85, 3.47 and 3.85; area under the curve 0.752 at 12 hours |
| COVID-19 cohorts | Hypoxaemic respiratory failure outside the ICU | A different cut-off, around 5.9, has been proposed; the original figures were not derived here |
One index, three thresholds, and an hour on the clock
High-flow nasal oxygen either works or delays an intubation, and the second outcome is worse than the first was ever going to be good. The ROX index is an attempt to tell them apart early, and its construction is the whole idea: oxygenation on top, as the SpO₂ divided by the fraction of inspired oxygen, and respiratory rate underneath. A patient whose saturation is adequate only on a high FiO₂ scores low; so does one maintaining a saturation by breathing 40 times a minute. Either route takes the index down, which is more than an oxygenation measure can do on its own.
The thing most often got wrong is that there is no single threshold. Roca and colleagues published three, because the index means different things at different points in a trial of high-flow: below 2.85 at two hours, below 3.47 at six, below 3.85 at twelve. A value of 4.88 or above was associated with a lower hazard of intubation at all three timepoints, with hazard ratios from 0.43 at two hours to 0.29 at twelve. Reading a two-hour value against the twelve-hour line shifts the threshold by a full point, which is why the elapsed time is an input on this page rather than a footnote.
The performance figures deserve to be read in the right order. At twelve hours, a ROX below 3.85 had a specificity of 98.4% and a sensitivity of 23.5%. That is an instrument identifying a small group at high risk and missing three quarters of the patients eventually intubated: crossing the line is informative, staying above it is not reassurance. And both cohorts were pneumonia. In COVID-19 a different cut-off has been proposed, and in cardiogenic oedema, hypercapnic failure and post-extubation support the index has no threshold behind it at all. Its own critics add that the respiratory rate term moves with fever, pain and fatigue, that small changes in the inputs give dissimilar answers, and that the index ignores the gas flow entirely.
This supports a clinician’s judgement rather than replacing it.
Frequently asked questions
How is the ROX index calculated?
SpO₂ as a percentage divided by FiO₂ as a fraction, and that result divided by the respiratory rate in breaths per minute. An SpO₂ of 92% on an FiO₂ of 0.6 with a rate of 28 gives (92 ÷ 0.6) ÷ 28 = 5.48.
What is the ROX index threshold?
It depends on the hour. Roca and colleagues published failure cut-offs of 2.85 at 2 hours, 3.47 at 6 hours and 3.85 at 12 hours after high-flow nasal oxygen was started, and found 4.88 or above associated with a lower hazard of intubation at all three. There is no published threshold for any other timepoint.
Does a ROX index above the threshold mean high-flow is working?
It means a lower hazard of intubation in the cohort it was validated in. The thresholds have very high specificity and very low sensitivity — 98.4% and 23.5% at 12 hours — so a value below the line identifies a high-risk minority while one above it misses most patients eventually intubated.
Was the ROX index derived in COVID-19?
No. Both the 2016 derivation (157 patients) and the 2019 validation (191 patients) were in adults with pneumonia and acute hypoxaemic respiratory failure on high-flow. COVID-19 cohorts have proposed different cut-offs, around 5.9 outside the ICU, and the index has not been validated in cardiogenic oedema, hypercapnic failure or post-extubation high-flow.
Related calculators
References
- Roca O, Caralt B, Messika J, et al. An index combining respiratory rate and oxygenation to predict outcome of nasal high-flow therapy. Am J Respir Crit Care Med. 2019;199(11):1368–76.
- Roca O, Messika J, Caralt B, et al. Predicting success of high-flow nasal cannula in pneumonia patients with hypoxemic respiratory failure: the utility of the ROX index. J Crit Care. 2016;35:200–5.
- Gallardo A, Zamarrón-López E, Deloya-Tomas E, Pérez-Nieto OR. Advantages and limitations of the ROX index. Pulmonology. 2022;28(4).
- University of Maryland Department of Emergency Medicine. ROX index for predicting outcomes of HFNC. UMEM Educational Pearls.
Not medical advice. For healthcare professionals and education. Reference intervals vary by laboratory and assay — always use your own laboratory's. Never base a dose or a treatment decision on this page alone. Full disclaimer at calcengines.com/disclaimer/
