Educational use only — read this first
This calculator does not diagnose anything. Qp/Qs is a measurement made during cardiac catheterization, interpreted alongside pressures, flows, imaging, and the patient's full history by a cardiologist. A ratio computed here from four typed numbers cannot tell you whether you or anyone else has a shunt, how severe it is, or what should be done about it. If you have a heart condition, symptoms, or a catheterization report you do not understand, take the report to your cardiologist — do not act on a web calculator's band label. The formula also assumes saturations can stand in for oxygen content, which breaks down when hemoglobin differs between the circuits, in significant anemia, or when dissolved oxygen matters — see Accuracy & limitations below.
The model, stated exactly
Qp/Qs = (SaO2 − SvO2) ÷ (SpvO2 − SpaO2), with all saturations in percent. The numerator is the systemic oxygen extraction step: how much oxygen the body removes from arterial blood. The denominator is the pulmonary step: how much oxygen the lungs add. When oxygenated blood shunts left-to-right, pulmonary arterial blood arrives partly oxygenated already, so SpaO2 rises toward SpvO2, the denominator shrinks, and the ratio climbs above 1.0. When the shunt runs right-to-left, deoxygenated blood reaches the systemic arteries, SaO2 falls, and the ratio drops below 1.0. A ratio of exactly 1.0 means pulmonary and systemic flows are equal: no net shunt.
The shunt bands
| Qp/Qs | Band | What it means |
| < 1.0 | Right-to-left shunt | Systemic flow exceeds pulmonary flow; deoxygenated blood reaches the body. |
| 1.0 | Normal (no net shunt) | Pulmonary and systemic flows are equal. |
| > 1.0 to < 1.5 | Small left-to-right shunt | Modestly more flow through the lungs than the body. |
| 1.5 to 2.0 | Moderate / significant left-to-right shunt | Clearly elevated pulmonary flow; the range where clinicians take notice. |
| > 2.0 | Large left-to-right shunt | Pulmonary flow more than double systemic flow. |
The worked example, line by line
Setup: SaO2 = 98%, SvO2 = 70%, SpvO2 = 98%, SpaO2 = 80%.
Line 1 — the numerator. 98 − 70 = 28: the systemic extraction step.
Line 2 — the denominator. 98 − 80 = 18: the pulmonary step, narrowed because shunted oxygenated blood raised SpaO2 to 80%.
Line 3 — the ratio. 28 ÷ 18 = 1.56, which falls in the 1.5–2.0 moderate/significant left-to-right shunt band.
Try these
98 / 75 / 98 / 85. (98 − 75) ÷ (98 − 85) = 23 ÷ 13 = 1.77, still in the moderate/significant band — a higher SpaO2 step-up pushing the ratio up even as the systemic step narrows.
98 / 72 / 98 / 90. (98 − 72) ÷ (98 − 90) = 26 ÷ 8 = 3.25, a large left-to-right shunt: SpaO2 at 90% is nearly pulmonary venous blood, so the denominator nearly vanishes and the ratio explodes.
95 / 70 / 95 / 72. (95 − 70) ÷ (95 − 72) = 25 ÷ 23 = 1.09, a small left-to-right shunt — barely above normal, the kind of value where measurement error matters as much as the number.
90 / 65 / 92 / 80. (90 − 65) ÷ (92 − 80) = 25 ÷ 12 = 2.08, a large left-to-right shunt, despite a low SaO2 of 90% — the ratio is about relative flows, not about how well oxygenated the patient looks overall.
Output · formula · meaning
| Output | Formula | What it means |
| Numerator | SaO2 − SvO2 | 28 at the defaults — the systemic oxygen extraction step. |
| Denominator | SpvO2 − SpaO2 | 18 at the defaults — the pulmonary oxygen uptake step. |
| Qp/Qs ratio | numerator ÷ denominator | 1.56 at the defaults — pulmonary flow is 1.56 times systemic flow. |
| Shunt band | band table above | Moderate/significant left-to-right shunt at the defaults. |
Who uses this
- The cardiology student: checks a textbook worked example (98/70/98/80 → 1.56) and learns why a rising SpaO2 inflates the ratio.
- The trainee in the cath lab: sanity-checks a hand calculation between cases, then confirms it against the lab's own software and the full hemodynamic set.
- The exam candidate: drills the four branches above until the band boundaries (1.0, 1.5, 2.0) are automatic.
- The curious reader of a cath report: learns what the Qp/Qs line on the report means — and why the number alone never decides treatment.
Accuracy & limitations
The arithmetic is exact for the inputs, but the saturation formula is an approximation of the full Fick method. It treats oxygen saturation as a stand-in for oxygen content, which assumes the same hemoglobin concentration in both circuits and ignores dissolved oxygen. It breaks down with anemia, with different hemoglobin levels between circuits, with significant lung disease affecting SpvO2, and when saturations are measured at different times or under changing conditions. Small saturation errors move the ratio a lot when the denominator is small: at SpaO2 90% with SpvO2 98%, a 1-point SpaO2 error swings the ratio by roughly 15%. The band boundaries (1.0, 1.5, 2.0) are teaching conventions, and real clinical thresholds depend on the lesion, symptoms, pressures, and guidelines in force. Error policy: any saturation outside 0–100%, a denominator of zero or less (SpvO2 at or below SpaO2), or a non-numeric entry is reported as an error rather than modeled.
Cite this calculatorBright Side Kit. “Qp/Qs Ratio Calculator: Pulmonary Flow — Bright Side Kit.”
brightoolbox.com, 2026.
Bright Side Kit. "Qp/Qs Ratio Calculator." https://brightoolbox.com/qp-qs-ratio-calculator/ Accessed October 24, 2026.Data sources- Formula: Qp/Qs = (SaO2 − SvO2) / (SpvO2 − SpaO2), the Fick-principle saturation formula as taught for catheterization-lab shunt assessment; band boundaries are standard teaching bands.
- No patient data is used: every figure on this page is computed from the stated formula for the stated inputs, and the tool is educational only.
Embed this calculatorPaste this into any web page to embed the live calculator. The “Bright Side Kit” link below it must stay intact.
Frequently asked questions
What is a normal Qp/Qs ratio?
1.0. Equal pulmonary and systemic flows mean no net shunt. Values just above 1.0 are small left-to-right shunts; values above 2.0 are large.
What does a Qp/Qs of 1.56 mean?
A moderate/significant left-to-right shunt, in teaching bands. Pulmonary flow runs 1.56 times systemic flow. It is a measurement from a catheterization study, not a diagnosis on its own, and it needs a cardiologist's interpretation.
What is the Qp/Qs formula?
Qp/Qs = (SaO2 − SvO2) ÷ (SpvO2 − SpaO2). The numerator is the systemic extraction step and the denominator is the pulmonary uptake step, both from oxygen saturations measured during catheterization.
Why does a high SpaO2 raise the ratio?
Because it shrinks the denominator. When oxygenated blood shunts left-to-right, pulmonary arterial blood arrives partly oxygenated, so SpaO2 climbs toward SpvO2, the pulmonary step narrows, and the ratio grows — which is exactly what a left-to-right shunt should do to the number.
Can Qp/Qs be less than 1?
Yes. A ratio below 1.0 means systemic flow exceeds pulmonary flow: a right-to-left shunt, where deoxygenated blood reaches the body. The numerator and denominator still come from the same four saturations.
Why is this calculator educational only?
Because a real shunt assessment uses far more than four saturations. Pressures, flows, imaging, hemoglobin, timing, and the patient's history all matter, and the saturation formula itself breaks down with anemia or hemoglobin differences. Only the treating cardiology team can interpret a catheterization study.
How sensitive is Qp/Qs to small measurement errors?
Very, when the denominator is small. With SpvO2 98% and SpaO2 90%, a 1-point SpaO2 error swings the ratio by roughly 15%. Near-normal values should never be over-read from a single calculation.
What if SpvO2 is not higher than SpaO2?
The calculator reports an error. A zero or negative denominator has no valid ratio — it means the inputs are inconsistent or mis-entered, not that the shunt is infinite.