Método Varsovia
Una comida con 60 g de hidratos, 20 g de grasa y 30 g de proteína, con una relación de 10 g por unidad, da 6 unidades inmediatas y 3 repartidas en 5 horas, 9 en total. Es una guía educativa, no una receta. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Carbohidratos (g)
- 60
- Fat g
- 20
- Proteína (g)
- 30
- Icr
- 10
- Grasas (kcal)
- 180 U
- Proteínas (kcal)
- 120
- Grasa y proteína (kcal)
- 300
- Unidades de carbohidratos
- 6
El método de Varsovia, también llamado protocolo de bomba de insulina de Pańkowska o de la Escuela de Varsovia, estima la dosis de insulina de una comida a partir de los gramos de hidratos de carbono y del efecto glucémico tardío de la grasa y la proteína. Una unidad de hidratos equivale a diez gramos de carbohidrato. Una unidad grasa-proteína (FPU) son cien kilocalorías de grasa más proteína, con nueve kilocalorías por gramo de grasa y cuatro por gramo de proteína. La insulina inmediata cubre los hidratos con su ratio insulina-carbohidrato. La insulina extendida cubre cada FPU como si equivaliera a diez gramos de hidratos, habitualmente en un bolo cuadrado o de onda dual. Esta calculadora es una hoja educativa determinista: no diagnostica, no prescribe ni sustituye a un clínico. Se rechazan cantidades de nutrientes negativas.
Unidades de hidratos, unidades grasa-proteína y la idea del bolo dual
El método de Varsovia se elaboró en la Universidad Médica de Varsovia para cubrir comidas mixtas, no solo la línea de hidratos de la etiqueta nutricional. El recuento de hidratos sigue siendo la primera mitad de la dosis: diez gramos de carbohidrato digerible equivalen a una unidad de hidratos, y el bolo inmediato o normal es gramos de carbohidrato divididos por el ratio insulina-carbohidrato, es decir, los gramos de hidratos que cubre una unidad de insulina.
La segunda mitad reconoce que la grasa y la proteína elevan la glucosa más tarde y durante más tiempo. Se suman nueve kilocalorías por gramo de grasa y cuatro por gramo de proteína, y el resultado se divide entre cien para obtener las unidades grasa-proteína. Cada unidad grasa-proteína se trata como si tuviera el efecto hiperglucemiante de diez gramos de hidratos, de modo que la insulina extendida es igual a las unidades grasa-proteína multiplicadas por diez y divididas por el mismo ratio.
Quienes usan bomba suelen administrar la porción de hidratos como bolo normal y la de grasa-proteína como onda cuadrada o extendida; quienes se inyectan comentan dosis fraccionadas o diferidas con su equipo asistencial. No conoce su factor de corrección, la insulina activa ni el objetivo de glucosa, y no es una prescripción. Úselo para comprobar una hoja de trabajo, enseñar la lógica del bolo dual o automatizar un protocolo documentado que ya sigue con un clínico.
Dónde se usa esta calculadora, precio y lo que no hace
Los sitios de educación diabetológica, las hojas de arranque de bomba y las aplicaciones de nutrición que ya guardan macros de la comida pueden llamar a una sola definición en lugar de recodificar la aritmética de unidades grasa-proteína en cada cliente. Las demostraciones de aula del bolo dual pueden mostrar unidades inmediatas frente a extendidas junto a la franja de duración.
No es un dispositivo médico: no ajusta el índice glucémico, la sustracción de fibra, el alcohol, la insulina residual del bolo, la enfermedad, el ejercicio ni la variación menstrual, y no elige una tasa basal. Las personas con diabetes tipo 1, tipo 2 en insulina u otras condiciones que usan insulina prandial deben seguir a su clínico prescriptor y a un dietista o educador en diabetes.
Mantenga las peticiones pequeñas, documente el origen de su ratio insulina-carbohidrato y trate las cifras como una hoja transparente del protocolo de Varsovia, no como una prescripción automática.
Qué puede hacer con ella
Hoja de bolo dual de bomba para una comida mixta
Introduzca los gramos de hidratos, grasa y proteína de la comida más su ratio insulina-carbohidrato para separar la insulina inmediata de hidratos del bolo extendido de grasa-proteína y su franja de duración.
Formación e incorporación a las unidades grasa-proteína
Clínicas y cursos muestran por qué una pizza o un plato alto en proteína exige más que contar hidratos, con FPU reproducibles, gramos equivalentes de hidratos y horas de onda cuadrada sugeridas.
Preguntas frecuentes
¿Cómo calcula el método de Varsovia la insulina de la comida?
Las unidades extendidas equivalen a FPU × 10 / icr. El total es la suma. Se rechazan gramos de nutrientes negativos.
¿Qué es una unidad grasa-proteína (FPU)?
Una FPU son 100 kcal procedentes de grasa y proteína. La grasa aporta 9 kcal por gramo y la proteína 4 kcal por gramo. Cada FPU se trata como si tuviera el efecto hiperglucemiante de 10 g de hidratos.
¿Cuánto debe durar el bolo extendido?
La tabla de la Escuela de Varsovia usada aquí es: 0 FPU → 0 h; hasta 1 FPU → 3 h; hasta 2 FPU → 4 h; hasta 3 FPU → 5 h; más de 3 FPU → 8 h. Su bomba o su clínico pueden ajustar la franja.
¿Cuánto cuesta la calculadora del método de Varsovia?
La herramienta del navegador es gratuita. Esta hoja es educativa y no es una prescripción médica.
¿Qué es la relación insulina-carbohidratos?
Indica cuántos gramos de hidratos de carbono cubre una unidad de insulina, según lo acordado con su equipo médico. Con una relación de 10, una comida de 60 g de hidratos necesita 6 unidades en la parte inmediata.
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/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)Ejemplo de solicitud
{
"carbohydrate_g": 60,
"fat_g": 20,
"protein_g": 30,
"icr": 10
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.warsaw_method",
"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
Unidades de hidratos, unidades grasa-proteína y la idea del bolo dual
Este endpoint solo realiza esa aritmética. Las mismas entradas producen siempre el mismo JSON porque el algoritmo no toca la red, un modelo de lenguaje, un reloj de pared ni un generador aleatorio.
Entradas, validación, tabla de duración y campos de respuesta
Ejemplo: sesenta gramos de hidratos, veinte de grasa, treinta de proteína y un ratio de diez producen seis unidades de hidratos, tres FPU, seis unidades inmediatas, tres extendidas, nueve en total y una onda de cinco horas. Envíe por POST un objeto JSON con cuatro números finitos obligatorios. carbohydrate_g, fat_g y protein_g son masas de nutrientes en gramos y deben ser no negativos; una cantidad negativa falla con invalid_input y no se factura, porque la masa no puede ser negativa. Los alias incluyen carbs, carb_g, carbs_g y carbohydrate para carbohydrate_g; fat y lipid_g para fat_g; protein y protein_grams para protein_g. icr es el ratio insulina-carbohidrato en gramos de hidratos por unidad de insulina y debe ser un número finito mayor que cero; se aceptan los alias insulin_to_carb_ratio, carb_ratio, icr_g y grams_per_unit. Los valores pueden llegar como números JSON o cadenas numéricas; booleanos, objetos, cadenas vacías, NaN e Infinity se rechazan nombrando el campo. Si la petición es correcta, la respuesta devuelve las entradas limpias y fat_kcal, protein_kcal, fat_protein_kcal, carbohydrate_units, fat_protein_units, carb_equivalent_g (kilocalorías de grasa y proteína divididas por diez), immediate_units, extended_units, total_units y extended_hours. La tabla de duración sigue la Escuela de Varsovia: cero unidades grasa-proteína significan cero horas extendidas; hasta una unidad, tres horas; hasta dos, cuatro horas; hasta tres, cinco horas; más de tres, ocho horas. method vale siempre warsaw_pankowska y unit es U para las cifras de insulina.
Dónde se usa esta calculadora, precio y lo que no hace
Los coordinadores de investigación que registran retos de comida mixta pueden fijar el JSON esperado porque el algoritmo es aritmética pura, sin reloj, semilla aleatoria ni red. Los ítems API correctos se facturan a $0.002 contra el saldo KIT; invalid_input no se cobra. Los gramos extremadamente grandes por encima del techo de seguridad del isolate se rechazan para que un Worker permanezca acotado. Combine la comprobación gratuita en el dispositivo con la automatización API cuando necesite las mismas unidades en un registro de backend, un plugin LMS o un panel de coaching.
Casos de integración
Automatización del protocolo de Varsovia en apps e investigación
El software de bienestar o de estudio que ya almacena macros llama a un endpoint prepago estable en lugar de reimplementar la aritmética de Pańkowska en cada lenguaje de cliente.
Preguntas técnicas
¿Por qué se rechazó mi solicitud?
carbohydrate_g, fat_g y protein_g deben ser números finitos no negativos. icr debe ser un número finito mayor que cero. Valores ausentes, no numéricos, infinitos o nutrientes negativos devuelven invalid_input y no se facturan.