Calculadora ACR TI-RADS
Un nódulo sólido, hipoecoico, más ancho que alto, de bordes lisos y sin focos ecogénicos suma 4 puntos, TR4: punción desde 1,5 cm y seguimiento desde 1,0 cm. Cinco rasgos ecográficos con la tabla ACR de 2017. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Composición
- Solid
- Ecogenicidad
- Hypoechoic
- Forma
- Wider than tall
- Margen
- Smooth
- Focos ecogénicos
- None or large comet tail
- Puntos
- 4
- Nivel TR
- TR4
- Riesgo
- moderately_suspicious
- Umbral de PAAF (cm)
- 1,5
ACR TI-RADS, el Thyroid Imaging Reporting and Data System del American College of Radiology, asigna puntos enteros a un nódulo tiroideo a partir de cinco descriptores ecográficos: composición, ecogenicidad, forma, margen y focos ecogénicos. Esta calculadora aplica la tabla del artículo blanco de Tessler de 2017, suma esos puntos y sitúa el total en TR1 a TR5, con la etiqueta de riesgo y los umbrales de FNA o seguimiento según el tamaño que acompañan a cada categoría. Es una ayuda educativa de informe que usted puede usar en la docencia, no un diagnóstico ni un sustituto del radiólogo.
Las cinco características ACR de ecografía y cómo puntúa cada una
Envíe un valor para cada una de las cinco características. La composición es quística o casi por completo quística (cero puntos), esponjosa (cero), mixta quística y sólida (uno), o sólida o casi por completo sólida (dos). La ecogenicidad es anecoica (cero), hiperecoica o isoecoica (uno), hipoecoica (dos), o muy hipoecoica respecto al músculo pretiroideo anterior (tres).
La forma es más ancha que alta en un corte axial (cero) o más alta que ancha (tres). El margen es liso (cero), mal definido (cero), lobulado o irregular (dos), o extensión extratiroidea (tres). Los focos ecogénicos son ninguno o artefactos en cola de cometa grandes (cero), macrocalcificaciones (uno), calcificaciones periféricas o en rim (dos), o focos ecogénicos puntiformes (tres).
Cuando hay más de un tipo de focos, el artículo blanco suma los puntos; esta calculadora acepta un array o una cadena separada por comas y los acumula, descartando un token none si también constan calcificaciones reales. Entradas idénticas producen siempre el mismo total entero porque la ruta es una consulta pura de tabla, sin red, sin modelo, sin semilla aleatoria y sin reloj de pared.
Cómo el total de puntos pasa a TR1–TR5 y cuándo se rechaza la entrada
Cada característica aporta un entero publicado; el total ACR TI-RADS es su suma. Cero o un punto se mapea a TR1, etiquetado como benigno, sin FNA en la tabla del artículo blanco. Dos puntos se mapean a TR2, no sospechoso, también sin FNA.
Tres puntos se mapean a TR3, levemente sospechoso: FNA si el nódulo mide al menos 2.5 centímetros, seguimiento si mide al menos 1.5 centímetros. De cuatro a seis puntos se mapean a TR4, moderadamente sospechoso: FNA a 1.5 centímetros, seguimiento a 1.0 centímetro. Siete o más puntos se mapean a TR5, muy sospechoso: FNA a 1.0 centímetro, seguimiento a 0.5 centímetro.
Un nódulo de un punto es infrecuente; el comité lo sitúa en TR1 en lugar de dejar un hueco en la escala, y esta calculadora hace lo mismo. No trate un total alto como diagnóstico, motivo para biopsiar sin mirar el tamaño y el contexto clínico, ni sustituto de un radiólogo.
Qué puede hacer con ella
Tareas de TI-RADS en radiología y ecografía
Los estudiantes envían composición, ecogenicidad, forma, margen y focos de un nódulo de archivo docente, y fijan los points y el nivel TR esperados en correctores automáticos.
Laboratorios de simulación ecográfica e informes estructurados
Los casos con maniquíes y de e-learning necesitan un oráculo ACR TI-RADS determinista para que los mismos cinco descriptores produzcan siempre el mismo total entero y la misma categoría TR.
Preguntas frecuentes
¿Cómo se calcula la puntuación ACR TI-RADS?
ACR TI-RADS suma puntos publicados de cinco características ecográficas: composición, ecogenicidad, forma, margen y focos ecogénicos. Si hay varios tipos de focos, los puntos se añaden. El total entero se sitúa en TR1 a TR5.
¿Qué ocurre si falta una característica?
Un total TI-RADS sin los cinco descriptores no es un total TI-RADS, y ese fallo no se factura.
¿Cómo se relacionan los niveles TR con los umbrales de tamaño para FNA?
TR1 y TR2 no tienen recomendación de FNA. TR3 usa FNA a 2.5 cm y seguimiento a 1.5 cm; TR4 usa 1.5 cm y 1.0 cm; TR5 usa 1.0 cm y 0.5 cm. El diámetro del nódulo no es una entrada aquí.
¿Puedo enviar más de un tipo de focos ecogénicos?
Sí. Envíe un array o una cadena separada por comas; los puntos de macrocalcificaciones, calcificaciones periféricas y focos puntiformes se suman, como en el artículo blanco de 2017.
¿Es un diagnóstico y cuánto cuesta la calculadora TI-RADS?
No. Es una ayuda educativa de informe, no un dispositivo médico. La herramienta del navegador se ejecuta gratis en su dispositivo.
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/tirads \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"composition":"solid","echogenicity":"hypoechoic","shape":"wider_than_tall","margin":"smooth","echogenic_foci":"none_or_large_comet_tail"}'const res = await fetch("https://api.kit.forhosting.com/health/tirads", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"composition": "solid",
"echogenicity": "hypoechoic",
"shape": "wider_than_tall",
"margin": "smooth",
"echogenic_foci": "none_or_large_comet_tail"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/tirads",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"composition": "solid",
"echogenicity": "hypoechoic",
"shape": "wider_than_tall",
"margin": "smooth",
"echogenic_foci": "none_or_large_comet_tail"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/tirads", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"composition":"solid","echogenicity":"hypoechoic","shape":"wider_than_tall","margin":"smooth","echogenic_foci":"none_or_large_comet_tail"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"composition":"solid","echogenicity":"hypoechoic","shape":"wider_than_tall","margin":"smooth","echogenic_foci":"none_or_large_comet_tail"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/tirads", 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
{
"composition": "solid",
"echogenicity": "hypoechoic",
"shape": "wider_than_tall",
"margin": "smooth",
"echogenic_foci": "none_or_large_comet_tail"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.tirads",
"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
Toda característica es obligatoria; un valor ausente o no reconocido falla con invalid_input en lugar de inventar una puntuación. Los elementos API correctos cuestan $0.002.
Las cinco características ACR de ecografía y cómo puntúa cada una
ACR TI-RADS es un léxico de cinco ítems para nódulos tiroideos en ecografía en escala de grises, publicado por Tessler, Middleton, Grant y colegas en 2017 para que composition, echogenicity, shape, margin y echogenic foci se puntúen igual en cada informe. Este endpoint implementa solo esa tabla: no lee imágenes, no mide el diámetro mayor y no convierte el total en un porcentaje de malignidad. Campos ausentes, cadenas vacías, booleanos en huecos léxicos y tokens fuera del vocabulario publicado fallan con invalid_input nombrando el campo.
Cómo el total de puntos pasa a TR1–TR5 y cuándo se rechaza la entrada
Si tiene éxito, el cuerpo repite los cinco valores canónicos, lista los puntos por ítem en breakdown y devuelve points como total entero, tr_level como TR1 a TR5, risk como etiqueta en snake-case, recommendation como la frase de FNA o seguimiento, method acr_tirads y una cadena formula que reescribe la tabla de 2017. De TR3 a TR5 la carga incluye también fna_threshold_cm y follow_threshold_cm; esas claves se omiten en TR1 y TR2 en lugar de enviarse como null. Use points para una ficha, tr_level para un encabezado de informe y recommendation para un pie docente. Una petición que omita cualquiera de las cinco características, o que envíe un valor que el léxico no reconoce, falla con invalid_input y no se factura.
Uso de la API, precio, flujos de producto y límites educativos
Llame a la calculadora ACR TI-RADS gratuita en el navegador para tareas de radiología, archivos de enseñanza de ecografía y laboratorios de revisión de informes, sin reimplementar las bandas de 2017 en cada hoja de cálculo. Mantenga expectativas educativas: un nódulo sólido más alto que ancho, muy hipoecoico y con focos puntiformes necesita un radiólogo, no una etiqueta automática aislada. El producto nunca contacta un archivo de imagen, nunca inventa una puntuación aleatoria y nunca estampa un reloj en la carga. Envíe un cuerpo JSON con composition, echogenicity, shape, margin y echogenic_foci obligatorios. Los tokens canónicos son cystic, spongiform, mixed_cystic_and_solid, solid; anechoic, hyperechoic_or_isoechoic, hypoechoic, very_hypoechoic; wider_than_tall, taller_than_wide; smooth, ill_defined, lobulated_or_irregular, extra_thyroidal_extension; y none_or_large_comet_tail, macrocalcifications, peripheral_calcifications, punctate_echogenic_foci. Se aceptan alias documentados como comp, echo, nodule_shape, margins y foci, y también sinónimos clínicos habituales como isoechoic, irregular y microcalcifications. Use la API prepago cuando un SaaS de educación sanitaria, un prototipo de informe estructurado o un LMS escolar necesite un contrato estable bajo saldo KIT a $0.002 por elemento correcto; los fallos de validación nunca consumen saldo tras el rechazo del motor. Combine este endpoint con su propia lógica de tamaño e historia clínica si necesita una decisión completa de FNA: esta calculadora devuelve los umbrales publicados en centímetros, pero no toma el diámetro del nódulo como entrada. Guarde points, tr_level y breakdown junto a los descriptores brutos para paneles, y exporte columnas de las cinco características, cada banda de puntos y el total.
Casos de integración
Backends SaaS de educación sanitaria
Las canalizaciones de servidor que ya guardan campos del léxico ecográfico llaman a un endpoint prepago en lugar de duplicar la tabla de puntos de Tessler de 2017 en cada lenguaje.