Calculadora da razão Qp/Qs
Saturações de 98, 70, 99 e 85% dão um Qp/Qs de 2: os pulmões recebem o dobro do fluxo sistêmico, um shunt da esquerda para a direita. Informe as quatro saturações de oxigênio para comparar os dois fluxos. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Saturação arterial sistêmica
- 98
- Saturação venosa mista
- 70
- Saturação venosa pulmonar
- 99
- Saturação arterial pulmonar
- 85
- Numerador
- 28 ratio
- Denominador
- 14
- Qp qs
- 2
- Qp/Qs arredondado
- 2
A razão Qp/Qs compara o fluxo sanguíneo pulmonar com o fluxo sanguíneo sistêmico e é uma grandeza didática padrão em cardiologia congênita, cateterismo cardíaco e cursos de fisiologia. Esta calculadora aplica a identidade de Fick por saturação de oxigênio: o fluxo pulmonar em relação ao sistêmico é igual à saturação arterial sistêmica menos a venosa mista, dividido pela saturação venosa pulmonar menos a arterial pulmonar. Você envia quatro saturações de oxigênio como porcentagens de zero a cem. O motor devolve a razão Qp/Qs adimensional, o numerador e o denominador da divisão, um valor de exibição com duas casas decimais e um rótulo educacional simples da direção do shunt.
O que Qp/Qs mede e como quatro saturações geram a razão
A razão Qp/Qs é o fluxo sanguíneo pulmonar dividido pelo fluxo sanguíneo sistêmico. Numa circulação sem shunt esses dois fluxos são iguais, então a razão vale um. Um shunt da esquerda para a direita envia volume extra pelos pulmões, o fluxo pulmonar supera o sistêmico e Qp/Qs fica maior que um.
Um shunt da direita para a esquerda desvia os pulmões, o fluxo pulmonar cai abaixo do sistêmico e Qp/Qs fica menor que um. O fluxo volumétrico direto nem sempre está disponível em sala, numa planilha ou num conjunto de dados de cateterismo didático, mas as saturações de oxigênio de quatro sítios estão. O princípio de Fick afirma que o consumo de oxigênio é igual ao fluxo vezes a diferença arteriovenosa de conteúdo de oxigênio.
Cancelando o consumo entre os circuitos pulmonar e sistêmico, e substituindo porcentagens de saturação pelo conteúdo quando hemoglobina e oxigênio dissolvido são tratados como compartilhados, obtém-se a identidade clássica usada aqui: Qp/Qs igual a (SaO2 menos SvO2) dividido por (SpvO2 menos SpaO2). SaO2 é a saturação arterial sistêmica, em geral amostrada na aorta ou no ventrículo esquerdo. SvO2 é a saturação venosa mista, em geral da veia cava superior ou de uma estimativa mista das cavas.
SpvO2 é a saturação venosa pulmonar, amostrada nas veias pulmonares ou assumida perto de noventa e oito por cento quando não medida. SpaO2 é a saturação arterial pulmonar.
Para que serve a razão Qp/Qs e seus limites
Cursos de cardiologia, módulos de cardiopatia congênita e laboratórios de fisiologia usam uma calculadora da razão Qp/Qs para que os alunos confiram a aritmética de Fick sem espalhar uma fórmula de planilha que divide por zero em silêncio. Geradores de prova e plugins LMS precisam de um oráculo determinístico que rejeite saturações fora de zero a cem em vez de inventar uma razão.
Mantenha expectativas educacionais: esta é uma ferramenta de cálculo e aprendizagem, não um dispositivo médico de diagnóstico, e não substitui laudos de cateterismo, mapeamento de fluxo por ressonância cardíaca nem o julgamento clínico. Pessoas com lesões congênitas conhecidas, cianose ou sopro sem explicação devem seguir orientação médica profissional em vez de qualquer razão automatizada isolada.
Casos de uso
Ensino de cardiologia congênita
Deixe os alunos enviarem saturações de quatro sítios e conferirem Qp/Qs e a direção do shunt contra a identidade de Fick usada em aula.
Planilhas de cateterismo e simulação
Simuladores de laboratório que já guardam saturações aórtica, venosa mista, venosa pulmonar e arterial pulmonar calculam Qp/Qs sem um fork local da fórmula.
Correção automática LMS de fisiologia
Avalie tarefas de Qp/Qs com um oráculo determinístico que rejeita saturações fora de 0–100 e nunca devolve Infinity com denominador zero.
Perguntas frequentes
Como a razão Qp/Qs é calculada a partir das saturações de oxigênio?
Qp/Qs = (SaO2 − SvO2) / (SpvO2 − SpaO2).
Quais saturações você precisa para uma razão Qp/Qs?
Quatro saturações de oxigênio em porcentagem: arterial sistêmica (aorta), venosa mista (em geral SVC), venosa pulmonar (muitas vezes assumida perto de 98% se não amostrada) e arterial pulmonar.
O que acontece se uma saturação ficar fora de 0 a 100?
As saturações de oxigênio devem estar entre 0 e 100 inclusive; valores fora dessa faixa não são cobrados.
O que significa Qp/Qs maior que um?
São apoios didáticos, não um diagnóstico nem um limiar cirúrgico.
E se a saturação venosa pulmonar não foi medida?
Quando não há amostra das veias pulmonares, costuma-se supor um valor perto de 98%, e muitos casos de ensino usam esse número. Informe o valor que o seu caso ou laudo indica para que a razão coincida.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"sat_systemic_arterial": 98,
"sat_mixed_venous": 70,
"sat_pulmonary_venous": 99,
"sat_pulmonary_arterial": 85
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.qp_qs_ratio",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Saturações fora da faixa de zero a cem, campos ausentes, valores não finitos e denominador zero falham com invalid_input e nunca são cobrados.
O que Qp/Qs mede e como quatro saturações geram a razão
Este endpoint implementa só essa identidade: quatro porcentagens na entrada, uma razão adimensional na saída, sem imagem, sem correção por hemoglobina e sem pretensão diagnóstica sobre o tipo de lesão ou o limiar cirúrgico.
Contrato de entrada, formato da resposta e erros
Se a saturação venosa pulmonar igualar a arterial pulmonar o denominador é zero e a solicitação falha em vez de devolver Infinity. Exemplo: noventa e oito, setenta, noventa e nove e oitenta e cinco por cento geram numerador vinte e oito, denominador quatorze e Qp/Qs igual a dois. Faça POST de um corpo JSON com quatro números finitos obrigatórios, cada um uma porcentagem de saturação de oxigênio de zero a cem inclusive. sat_systemic_arterial é SaO2 (aliases sao2, aortic_sat, sat_ao, systemic_arterial, ao_sat). sat_mixed_venous é SvO2 (aliases svo2, mv_sat, sat_mv, mixed_venous, mixed_venous_sat). sat_pulmonary_venous é SpvO2 (aliases spvo2, pv_sat, sat_pv, pulmonary_venous, pulmonary_vein_sat). sat_pulmonary_arterial é SpaO2 (aliases spao2, pa_sat, sat_pa, pulmonary_arterial, pulmonary_artery_sat). Cada campo pode chegar como número JSON ou como string numérica. Campos ausentes, strings vazias e valores não finitos falham com invalid_input nomeando o campo. Qualquer saturação estritamente abaixo de zero ou estritamente acima de cem falha com invalid_input; essa é a faixa rígida que este produto impõe. Em caso de sucesso o corpo ecoa as quatro saturações, informa numerator e denominator, qp_qs como razão arredondada de forma estável, qp_qs_rounded com duas casas para exibição, shunt_direction como left_to_right quando a razão é maior que um, balanced quando vale um, right_to_left quando está entre zero e um, ou inverted quando o sinal é negativo, mais as strings unit, formula e method. Combine o JSON com seus próprios gráficos se precisar de um traçado; este endpoint calcula apenas a razão.
Onde uma API de Qp/Qs se paga, preço e limites honestos
Backends de simulação e de planilhas de cateterismo que já armazenam saturações de quatro sítios podem chamar uma API parse pequena em vez de reimplementar a identidade em cada linguagem. Como a implementação é parse pura de nível A, cada chamada bem-sucedida custa o preço-base publicado US$ 0,002 sem tokens de modelo e sem rede de saída, e a falha de validação não consome saldo. Fixe qp_qs nos testes, trate shunt_direction como rótulo didático e não como corte cirúrgico, converta as leituras do oxímetro de pulso para a mesma escala percentual antes de chamar, e nunca envie pressões parciais em milímetros de mercúrio sem uma conversão própria para saturação.
Perguntas técnicas
Quanto custa a calculadora da razão Qp/Qs?
A ferramenta do navegador é gratuita. Solicitações API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.