Método Varsóvia
Uma refeição com 60 g de carboidrato, 20 g de gordura e 30 g de proteína, com relação de 10 g por unidade, dá 6 unidades imediatas e 3 distribuídas em 5 horas, 9 no total. É um guia educativo, não uma prescrição. 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
- Carboidratos (g)
- 60
- Fat g
- 20
- Proteína (g)
- 30
- Icr
- 10
- Gorduras (kcal)
- 180 U
- Proteínas (kcal)
- 120
- Gordura e proteína (kcal)
- 300
- Unidades de carboidratos
- 6
O método de Varsóvia, também chamado protocolo de bomba de insulina de Pańkowska ou da Escola de Varsóvia, estima a dose de insulina de uma refeição a partir dos gramas de carboidrato e do efeito glicêmico tardio da gordura e da proteína. Uma unidade de carboidrato equivale a dez gramas de carboidrato. Uma unidade gordura-proteína (FPU) são cem quilocalorias de gordura mais proteína, com nove quilocalorias por grama de gordura e quatro por grama de proteína. A insulina imediata cobre o carboidrato com a sua razão insulina-carboidrato. A insulina estendida cobre cada FPU como se equivalesse a dez gramas de carboidrato, em geral como bolus quadrado ou de onda dupla. Esta calculadora é uma planilha educativa determinística: não diagnostica, não prescreve e não substitui um clínico. Quantidades negativas de nutrientes são rejeitadas.
Unidades de carboidrato, unidades gordura-proteína e a ideia do bolus dual
O método de Varsóvia foi desenvolvido na Universidade Médica de Varsóvia para cobrir refeições mistas, não só a linha de carboidrato do rótulo nutricional. A contagem de carboidrato continua sendo a primeira metade da dose: dez gramas de carboidrato digerível equivalem a uma unidade de carboidrato, e o bolus imediato ou normal é gramas de carboidrato divididos pela razão insulina-carboidrato, ou seja, os gramas de carboidrato cobertos por uma unidade de insulina. A segunda metade reconhece que gordura e proteína elevam a glicose mais tarde e por mais tempo.
Somam-se nove quilocalorias por grama de gordura e quatro por grama de proteína, e o resultado se divide por cem para obter as unidades gordura-proteína. Cada unidade gordura-proteína é tratada como se tivesse o efeito hiperglicemiante de dez gramas de carboidrato, de modo que a insulina estendida é igual às unidades gordura-proteína vezes dez, divididas pela mesma razão.
Quem usa bomba costuma entregar a porção de carboidrato como bolus normal e a de gordura-proteína como onda quadrada ou estendida; quem se injeta discute doses fracionadas ou atrasadas com a equipe de cuidado. Ele não conhece o seu fator de correção, a insulina ativa nem o alvo de glicose, e não é uma prescrição. Use para conferir uma planilha, ensinar a lógica do bolus dual ou automatizar um protocolo documentado que você já segue com um clínico.
Casos de uso
Planilha de bolus dual de bomba para refeição mista
Informe os gramas de carboidrato, gordura e proteína da refeição mais a sua razão insulina-carboidrato para separar a insulina imediata de carboidrato do bolus estendido de gordura-proteína e a respectiva faixa de duração.
Educação e onboarding das unidades gordura-proteína
Clínicas e cursos mostram por que uma pizza ou um prato rico em proteína exige mais do que contar carboidrato, com FPU reproduzíveis, gramas equivalentes de carboidrato e horas de onda quadrada sugeridas.
Perguntas frequentes
Como o método de Varsóvia calcula a insulina da refeição?
As unidades estendidas equivalem a FPU × 10 / icr. O total é a soma. Gramas negativos de nutrientes são rejeitados.
O que é uma unidade gordura-proteína (FPU)?
Uma FPU são 100 kcal provenientes de gordura e proteína. A gordura contribui 9 kcal por grama e a proteína 4 kcal por grama. Cada FPU é tratada como se tivesse o efeito hiperglicemiante de 10 g de carboidrato.
Por quanto tempo o bolus estendido deve correr?
A tabela da Escola de Varsóvia usada aqui é: 0 FPU → 0 h; até 1 FPU → 3 h; até 2 FPU → 4 h; até 3 FPU → 5 h; mais de 3 FPU → 8 h. A sua bomba ou o seu clínico podem ajustar a faixa.
Quanto custa a calculadora do método de Varsóvia?
A ferramenta do navegador é grátis. Esta planilha é educativa e não é uma prescrição médica.
O que é a relação insulina-carboidrato?
É quantos gramas de carboidrato uma unidade de insulina cobre, conforme combinado com a sua equipe de saúde. Com relação de 10, uma refeição com 60 g de carboidrato precisa de 6 unidades na parte imediata.
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/warsaw-method \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"carbohydrate_g":60,"fat_g":20,"protein_g":30,"icr":10}'const res = await fetch("https://api.kit.forhosting.com/health/warsaw-method", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"carbohydrate_g": 60,
"fat_g": 20,
"protein_g": 30,
"icr": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/warsaw-method",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"carbohydrate_g": 60,
"fat_g": 20,
"protein_g": 30,
"icr": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/warsaw-method", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"carbohydrate_g":60,"fat_g":20,"protein_g":30,"icr":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"carbohydrate_g":60,"fat_g":20,"protein_g":30,"icr":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/warsaw-method", 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
{
"carbohydrate_g": 60,
"fat_g": 20,
"protein_g": 30,
"icr": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.warsaw_method",
"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
Unidades de carboidrato, unidades gordura-proteína e a ideia do bolus dual
Este endpoint só faz essa aritmética. As mesmas entradas sempre geram o mesmo JSON porque o algoritmo não toca a rede, um modelo de linguagem, um relógio de parede nem um gerador aleatório.
Entradas, validação, tabela de duração e campos da resposta
Exemplo: sessenta gramas de carboidrato, vinte de gordura, trinta de proteína e uma razão de dez geram seis unidades de carboidrato, três FPU, seis unidades imediatas, três estendidas, nove no total e uma onda de cinco horas. Envie por POST um objeto JSON com quatro números finitos obrigatórios. carbohydrate_g, fat_g e protein_g são massas de nutrientes em gramas e devem ser não negativas; uma quantidade negativa falha com invalid_input e não é cobrada, porque massa não pode ser negativa. Os aliases incluem carbs, carb_g, carbs_g e carbohydrate para carbohydrate_g; fat e lipid_g para fat_g; protein e protein_grams para protein_g. icr é a razão insulina-carboidrato em gramas de carboidrato por unidade de insulina e deve ser um número finito maior que zero; aceitam-se os aliases insulin_to_carb_ratio, carb_ratio, icr_g e grams_per_unit. Os valores podem chegar como números JSON ou strings numéricas; booleanos, objetos, strings vazias, NaN e Infinity são rejeitados nomeando o campo. Em caso de sucesso a resposta devolve as entradas limpas e fat_kcal, protein_kcal, fat_protein_kcal, carbohydrate_units, fat_protein_units, carb_equivalent_g (quilocalorias de gordura e proteína divididas por dez), immediate_units, extended_units, total_units e extended_hours. A tabela de duração segue a Escola de Varsóvia: zero unidades gordura-proteína significam zero horas estendidas; até uma unidade, três horas; até duas, quatro horas; até três, cinco horas; mais de três, oito horas. method vale sempre warsaw_pankowska e unit é U para as cifras de insulina.
Onde esta calculadora é usada, preço e o que ela não faz
Sites de educação em diabetes, planilhas de início de bomba e apps de nutrição que já guardam macros da refeição podem chamar uma única definição em vez de recodificar a aritmética de unidades gordura-proteína em cada cliente. Demonstrações em sala do bolus dual podem mostrar unidades imediatas versus estendidas ao lado da faixa de duração. Pessoas com diabetes tipo 1, tipo 2 em insulina ou outras condições que usam insulina prandial devem seguir o clínico prescritor e um nutricionista ou educador em diabetes. Mantenha as requisições pequenas, documente a origem da sua razão insulina-carboidrato e trate os números como uma planilha transparente do protocolo de Varsóvia, não como uma prescrição automática. Coordenadores de pesquisa que registram desafios de refeição mista podem fixar o JSON esperado porque o algoritmo é aritmética pura, sem relógio, semente aleatória nem rede. Itens API bem-sucedidos são cobrados a US$ 0,002 no saldo KIT; invalid_input não é cobrado. Isto não é um dispositivo médico: não ajusta índice glicêmico, subtração de fibra, álcool, insulina residual do bolus, doença, exercício nem variação menstrual, e não escolhe uma taxa basal. Gramas extremamente grandes acima do teto de segurança do isolate são rejeitados para um Worker permanecer limitado. Combine a conferência grátis no dispositivo com a automação API quando precisar das mesmas unidades em um log de backend, um plugin LMS ou um painel de coaching.
Casos de integração
Automação do protocolo de Varsóvia em apps e pesquisa
Software de bem-estar ou de estudo que já armazena macros chama um endpoint pré-pago estável em vez de reimplementar a aritmética de Pańkowska em cada linguagem de cliente.
Perguntas técnicas
Por que a minha requisição foi rejeitada?
carbohydrate_g, fat_g e protein_g devem ser números finitos não negativos. icr deve ser um número finito maior que zero. Valores ausentes, não numéricos, infinitos ou nutrientes negativos devolvem invalid_input e não são cobrados.