Calculadora del ratio Qp/Qs
Unas saturaciones de 98, 70, 99 y 85 % dan un Qp/Qs de 2: los pulmones reciben el doble de flujo que la circulación sistémica, un cortocircuito de izquierda a derecha. Indique las cuatro saturaciones para compararlos. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Saturación arterial sistémica
- 98
- Saturación venosa mixta
- 70
- Saturación venosa pulmonar
- 99
- Saturación arterial pulmonar
- 85
- Numerador
- 28 ratio
- Denominador
- 14
- Qp qs
- 2
- Qp/Qs redondeado
- 2
El ratio Qp/Qs compara el flujo sanguíneo pulmonar con el flujo sanguíneo sistémico y es una magnitud docente habitual en cardiología congénita, cateterismo cardíaco y cursos de fisiología. Esta calculadora aplica la identidad de Fick por saturación de oxígeno: el flujo pulmonar respecto al sistémico es igual a la saturación arterial sistémica menos la venosa mixta, dividido por la saturación venosa pulmonar menos la arterial pulmonar. Usted envía cuatro saturaciones de oxígeno como porcentajes de cero a cien. El motor devuelve el ratio Qp/Qs adimensional, el numerador y el denominador de la división, un valor de visualización con dos decimales y una etiqueta educativa sencilla de dirección del cortocircuito.
Qué mide Qp/Qs y cómo cuatro saturaciones dan el ratio
El ratio Qp/Qs es el flujo sanguíneo pulmonar dividido por el flujo sanguíneo sistémico. En una circulación sin cortocircuito ambos flujos coinciden, de modo que el ratio vale uno. Un cortocircuito de izquierda a derecha envía volumen extra a los pulmones, el flujo pulmonar supera al sistémico y Qp/Qs es mayor que uno.
Un cortocircuito de derecha a izquierda elude los pulmones, el flujo pulmonar queda por debajo del sistémico y Qp/Qs es menor que uno. El flujo volumétrico directo no siempre está disponible en un aula, una hoja de trabajo o un conjunto de datos de cateterismo docente, pero sí las saturaciones de oxígeno de cuatro sitios. El principio de Fick afirma que el consumo de oxígeno es igual al flujo por la diferencia arteriovenosa de contenido de oxígeno.
Al cancelar el consumo entre los circuitos pulmonar y sistémico, y al sustituir porcentajes de saturación por contenido cuando la hemoglobina y el oxígeno disuelto se tratan como compartidos, se obtiene la identidad clásica usada aquí: Qp/Qs igual a (SaO2 menos SvO2) dividido por (SpvO2 menos SpaO2). SaO2 es la saturación arterial sistémica, habitualmente muestreada en aorta o ventrículo izquierdo. SvO2 es la saturación venosa mixta, habitualmente de vena cava superior o de una estimación mixta de cavas.
SpvO2 es la saturación venosa pulmonar, muestreada en venas pulmonares o asumida cerca del noventa y ocho por ciento cuando no se mide. SpaO2 es la saturación arterial pulmonar.
Para qué sirve el ratio Qp/Qs y sus límites
Los cursos de cardiología, los módulos de cardiopatía congénita y los laboratorios de fisiología usan una calculadora del ratio Qp/Qs para que el alumnado compruebe la aritmética de Fick sin extender una fórmula de hoja de cálculo que divide por cero en silencio. Los generadores de exámenes y los complementos LMS necesitan un oráculo determinista que rechace saturaciones fuera de cero a cien en lugar de inventar un ratio.
Mantenga expectativas educativas: es una herramienta de cálculo y aprendizaje, no un dispositivo médico de diagnóstico, y no sustituye informes de cateterismo, mapeo de flujo por resonancia cardíaca ni el juicio clínico. Quienes tengan lesiones congénitas conocidas, cianosis o un soplo sin explicación deben seguir consejo médico profesional y no un único ratio automatizado.
Qué puede hacer con ella
Docencia de cardiología congénita
Permita que el alumnado envíe saturaciones de cuatro sitios y compruebe Qp/Qs y la dirección del cortocircuito frente a la identidad de Fick usada en clase.
Hojas de cateterismo y simulación
Los simuladores de laboratorio que ya guardan saturaciones aórtica, venosa mixta, venosa pulmonar y arterial pulmonar calculan Qp/Qs sin un fork local de la fórmula.
Corrección automática LMS de fisiología
Califique tareas de Qp/Qs con un oráculo determinista que rechaza saturaciones fuera de 0–100 y nunca devuelve Infinity con denominador cero.
Preguntas frecuentes
¿Cómo se calcula el ratio Qp/Qs a partir de las saturaciones de oxígeno?
Qp/Qs = (SaO2 − SvO2) / (SpvO2 − SpaO2).
¿Qué saturaciones necesita para un ratio Qp/Qs?
Cuatro saturaciones de oxígeno en porcentaje: arterial sistémica (aorta), venosa mixta (habitualmente SVC), venosa pulmonar (a menudo se asume cerca del 98% si no se muestrea) y arterial pulmonar.
¿Qué ocurre si una saturación queda fuera de 0 a 100?
Las saturaciones de oxígeno deben estar entre 0 y 100 inclusive; los valores fuera de ese rango no se cobran.
¿Qué significa un Qp/Qs mayor que uno?
Son ayudas docentes, no un diagnóstico ni un umbral quirúrgico.
¿Qué pasa si no se midió la saturación venosa pulmonar?
Cuando no hay muestra de las venas pulmonares, suele suponerse un valor cercano al 98 %, y muchos casos docentes usan esa cifra. Introduzca el valor que indique su caso o su informe para que el cociente coincida.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/health/qp-qs-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sat_systemic_arterial":98,"sat_mixed_venous":70,"sat_pulmonary_venous":99,"sat_pulmonary_arterial":85}'const res = await fetch("https://api.kit.forhosting.com/health/qp-qs-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sat_systemic_arterial": 98,
"sat_mixed_venous": 70,
"sat_pulmonary_venous": 99,
"sat_pulmonary_arterial": 85
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/qp-qs-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sat_systemic_arterial": 98,
"sat_mixed_venous": 70,
"sat_pulmonary_venous": 99,
"sat_pulmonary_arterial": 85
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/qp-qs-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sat_systemic_arterial":98,"sat_mixed_venous":70,"sat_pulmonary_venous":99,"sat_pulmonary_arterial":85}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sat_systemic_arterial":98,"sat_mixed_venous":70,"sat_pulmonary_venous":99,"sat_pulmonary_arterial":85}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/qp-qs-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"sat_systemic_arterial": 98,
"sat_mixed_venous": 70,
"sat_pulmonary_venous": 99,
"sat_pulmonary_arterial": 85
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.qp_qs_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Las saturaciones fuera del rango de cero a cien, los campos ausentes, los valores no finitos y un denominador cero fallan con invalid_input y nunca se cobran.
Qué mide Qp/Qs y cómo cuatro saturaciones dan el ratio
Este endpoint implementa solo esa identidad: cuatro porcentajes de entrada, un ratio adimensional de salida, sin imagen, sin corrección por hemoglobina y sin pretensión diagnóstica sobre el tipo de lesión ni el umbral quirúrgico.
Contrato de entrada, forma de la respuesta y errores
Si la saturación venosa pulmonar iguala a la arterial pulmonar el denominador es cero y la solicitud falla en lugar de devolver Infinity. Ejemplo: noventa y ocho, setenta, noventa y nueve y ochenta y cinco por ciento dan numerador veintiocho, denominador catorce y Qp/Qs igual a dos. Haga POST de un cuerpo JSON con cuatro números finitos obligatorios, cada uno un porcentaje de saturación de oxígeno de cero a cien inclusive. sat_systemic_arterial es SaO2 (alias sao2, aortic_sat, sat_ao, systemic_arterial, ao_sat). sat_mixed_venous es SvO2 (alias svo2, mv_sat, sat_mv, mixed_venous, mixed_venous_sat). sat_pulmonary_venous es SpvO2 (alias spvo2, pv_sat, sat_pv, pulmonary_venous, pulmonary_vein_sat). sat_pulmonary_arterial es SpaO2 (alias spao2, pa_sat, sat_pa, pulmonary_arterial, pulmonary_artery_sat). Cada campo puede llegar como número JSON o como cadena numérica. Los campos ausentes, las cadenas vacías y los valores no finitos fallan con invalid_input nombrando el campo. Cualquier saturación estrictamente menor que cero o estrictamente mayor que cien falla con invalid_input; ese es el rango duro que este producto exige. En caso de éxito el cuerpo ecoa las cuatro saturaciones, informa numerator y denominator, qp_qs como ratio redondeado de forma estable, qp_qs_rounded a dos decimales para pantalla, shunt_direction como left_to_right cuando el ratio es mayor que uno, balanced cuando vale uno, right_to_left cuando está entre cero y uno, o inverted cuando el signo es negativo, más las cadenas unit, formula y method. Combine el JSON con sus propias gráficas si necesita un trazado; este endpoint solo calcula el ratio.
Dónde rinde una API de Qp/Qs, precio y límites honestos
Los backends de simulación y de hojas de cateterismo que ya almacenan saturaciones de cuatro sitios pueden llamar a una API parse pequeña en lugar de reimplementar la identidad en cada lenguaje. Como la implementación es parse pura de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo y sin red de salida, y la validación fallida no consume saldo. Fije qp_qs en las pruebas, trate shunt_direction como etiqueta docente y no como umbral quirúrgico, convierta las lecturas del pulsioxímetro a la misma escala porcentual antes de llamar, y nunca envíe presiones parciales en milímetros de mercurio sin una conversión propia a saturación.
Preguntas técnicas
¿Cuánto cuesta la calculadora del ratio Qp/Qs?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo KIT de prepago a $0.002 por llamada correcta; la entrada no válida no se cobra.