Endpoints de la API de análisis de sangre
Referencia completa para todos los endpoints de la API de Análisis de Sangre Kantesti con ejemplos de código en múltiples lenguajes.
https://app.aibloodtestinterpret.com
Changelog
Sigue las versiones de la API, actualizaciones e información de migración. Usa los endpoints recomendados para nuevas integraciones.
Las tres actualizaciones de 2026 se aplicaron a todas las versiones de la API indicadas a continuación. Los números de versión y las rutas de los endpoints no cambiaron, por lo que no es necesaria ninguna migración.
- 8 de septiembre de 2026 Actualización del modelo de IA y mejoras en toda la plataforma
- 21 de julio de 2026 Mejoras integrales y correcciones de errores
- 8 de mayo de 2026 Mejoras integrales y correcciones de errores
Endpoints Estables Actuales
Estos endpoints son recomendados para uso en producción y nuevas integraciones.
| API | Endpoint | Estado |
|---|---|---|
| Análisis de Sangre v11 | /api/v11/01-06-2025/analyze |
Recomendado Actualizado 08.09.2026 |
| Análisis de Sangre (Puntuación de Salud) v11 | /api/v11/health-score/analyze |
Recomendado Actualizado 08.09.2026 |
| IA Nutrición v1 | /api/v1/nutrition/diet-plan/analyze |
Estable Actualizado 08.09.2026 |
| Comparación IA de Análisis de Sangre v1 | /api/v1/bloodtest/comparison/analyze |
Estable Actualizado 08.09.2026 |
| Evaluación de Riesgos de Salud Familiar v1 | /api/v1/family-health/analyze |
Publicado 23.03.2026 Actualizado 08.09.2026 |
| ICR - Reconocimiento Inteligente de Caracteres v1 | /api/icr/v1/extract |
Lanzado 14.02.2026 Actualizado 08.09.2026 |
| ICR Kan - Extracción de Análisis de Sangre v1 | /api/icr/v1/kan |
Lanzado 14.02.2026 Actualizado 08.09.2026 |
| Análisis de Tendencias v1 | /api/v1/analytics/trends/analyze |
Estable Actualizado 08.09.2026 |
Historial de Versiones
| Fecha | Versión | Cambios |
|---|---|---|
| Septiembre 2026 | Todas las versiones | Actualización del modelo de IA, fijado a la versión más reciente del modelo; mejoras integrales y correcciones de errores en todas las versiones de la API; números de versión sin cambios; precisión del 98,89% en exámenes de facultades de medicina (último benchmark de código abierto) |
| Julio 2026 | Todas las versiones | Mejoras integrales y correcciones de errores aplicadas a todas las versiones de la API; números de versión sin cambios |
| Mayo 2026 | Todas las versiones | Mejoras integrales y correcciones de errores aplicadas a todas las versiones de la API; números de versión sin cambios |
| Marzo 2026 | Family Health v1 | API de Evaluación de Riesgos de Salud Familiar publicada — Análisis de riesgos hereditarios por IA, soporte de 100+ idiomas, análisis de árbol genealógico, cronograma de cuidados preventivos, recomendaciones de cribado genético, modo sandbox |
| Febrero 2026 | ICR v1 | API ICR (Reconocimiento Inteligente de Caracteres) lanzada — 79% más rápida que OCR, salida JSON estructurada, detección de tipo de documento, extracción de tablas, integración Kan para análisis de sangre |
| Diciembre 2025 | Más Reciente | Manejo de errores mejorado, precisión del 98,7%, soporte para 100 idiomas |
| Junio 2025 | v11 | Análisis de sangre v11, endpoint de puntuación de salud, soporte multi-archivo |
| Abril 2025 | v9 | Modelo api_parameters_v9, extracción de parámetros mejorada |
| Marzo 2025 | v8 | Soporte de carga multi-archivo, procesamiento por lotes |
Endpoints Heredados
Estos endpoints se mantienen para compatibilidad retroactiva pero no son recomendados para nuevas integraciones.
| Versión | Endpoint | Estado |
|---|---|---|
| v10 | /api/v10/health-score/analyze |
Heredado |
| v9 | /api/v9/14-04-2025/analyze |
Heredado |
| v8 | /api/v8/31-03-2025/analyze |
Heredado |
| v6 | /api/v6-1/21-11-2024/analyze |
Heredado |
| v3 | /api/v3/10-10-2024/analyze |
Heredado |
Los endpoints heredados se mantienen para compatibilidad retroactiva pero no son recomendados para nuevas integraciones. Por favor, migre a los endpoints estables actuales para mejor rendimiento y soporte.
Referencia de Idiomas Soportados
La API de Kantesti soporta 100 idiomas para la localización de respuestas. Use el parámetro language con cualquiera de los códigos ISO 639-1 listados a continuación. Si no se específica, las respuestas se devuelven en inglés (en) por defecto.
Si no se proporciona ningún parámetro language, la API devuelve respuestas en inglés (en).
Principales Idiomas Mundiales
| Código | Idioma | Nombre Nativo |
|---|---|---|
en | Inglés | English |
zh | Chino | 中文 |
es | Español | Español |
ar | Árabe | العربية |
hi | Hindi | हिन्दी |
pt | Portugués | Português |
ru | Ruso | Русский |
ja | Japonés | 日本語 |
fr | Francés | Français |
de | Alemán | Deutsch |
ko | Coreano | 한국어 |
tr | Turco | Türkçe |
Idiomas Europeos
| Código | Idioma | Nombre Nativo |
|---|---|---|
it | Italiano | Italiano |
nl | Holandés | Nederlands |
pl | Polaco | Polski |
el | Griego | Ελληνικά |
sv | Sueco | Svenska |
no | Noruego | Norsk |
da | Danés | Dansk |
fi | Finlandés | Suomi |
cs | Checo | Čeština |
uk | Ucraniano | Українська |
ro | Rumano | Română |
hu | Húngaro | Magyar |
bg | Búlgaro | Български |
hr | Croata | Hrvatski |
sk | Eslovaco | Slovenčina |
sl | Esloveno | Slovenščina |
sr | Serbio | Српски |
lt | Lituano | Lietuvių |
lv | Leton | Latviešu |
et | Estonio | Eesti |
ca | Catalán | Català |
eu | Vasco | Euskara |
gl | Gallego | Galego |
cy | Galés | Cymraeg |
ga | Irlandés | Gaeilge |
is | Islandés | Íslenska |
mt | Maltés | Malti |
sq | Albanés | Shqip |
mk | Macedonio | Македонски |
bs | Bosnio | Bosanski |
lb | Luxemburgués | Lëtzebuergesch |
be | Bielorruso | Беларуская |
Idiomas de Oriente Medio y Asia Central
| Código | Idioma | Nombre Nativo |
|---|---|---|
he | Hebreo | עברית |
fa | Persa | فارسی |
az | Azerbaiyano | Azərbaycan |
ka | Georgiano | ქართული |
hy | Armenio | Հayerdelays |
kk | Kazajo | Қазақша |
uz | Uzbeko | Oʻzbek |
tg | Tayiko | Тоҷикӣ |
ky | Kirguiso | Кыргызча |
tk | Turkmeno | Türkmen |
mn | Mongol | Монгол |
ps | Pastun | پښتو |
ku | Kurdo | Kurdî |
Idiomas del Sur de Asia
| Código | Idioma | Nombre Nativo |
|---|---|---|
bn | Bengali | বাংলা |
ta | Tamil | தமிழ் |
te | Telugu | తెలుగు |
mr | Marathi | मराठी |
gu | Gujarati | ગુજરાતી |
kn | Kannada | ಕನ್ನಡ |
ml | Malayalam | മലയാളം |
pa | Punjabi | ਪੰਜਾਬੀ |
ur | Urdu | اردو |
ne | Nepali | नेपाली |
si | Cingalés | සිංහල |
sd | Sindhi | سنڌي |
as | Asames | অসমীয়া |
or | Odia | ଓଡ଼ିଆ |
Idiomas del Sudeste Asiático
| Código | Idioma | Nombre Nativo |
|---|---|---|
id | Indonesio | Bahasa Indonesia |
th | Tailandés | ไทย |
vi | Vietnamita | Tiếng Việt |
ms | Malayo | Bahasa Melayu |
my | Birmano | မြန်မာ |
km | Jemer | ភាសាខ្មែរ |
lo | Laosiano | ລາວ |
fil | Filipino | Filipino |
tl | Tagalo | Tagalog |
jv | Javanés | Basa Jawa |
su | Sundanés | Basa Sunda |
Idiomas Africanos
| Código | Idioma | Nombre Nativo |
|---|---|---|
af | Afrikaans | Afrikaans |
sw | Suajili | Kiswahili |
am | Amharico | አማርኛ |
ha | Hausa | Hausa |
yo | Yoruba | Yorùbá |
ig | Igbo | Igbo |
zu | Zulu | isiZulu |
xh | Xhosa | isiXhosa |
so | Somali | Soomaali |
mg | Malgache | Malagasy |
Otros Idiomas
| Código | Idioma | Nombre Nativo |
|---|---|---|
la | Latin | Latina |
eo | Esperanto | Esperanto |
yi | Yidis | ייִדיש |
ht | Criollo Haitiano | Kreyòl Ayisyen |
mi | Maori | Te Reo Māori |
sm | Samoano | Gagana Samoa |
to | Tongano | Lea Faka-Tonga |
haw | Hawaiano | ʻŌlelo Hawaiʻi |
API de Análisis de Sangre
Analiza imágenes o PDFs de análisis de sangre usando IA para extraer parámetros y generar interpretaciones médicas completas.
Endpoint de producción para análisis de sangre. Consume 1 crédito por solicitud.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
username | string | Si | Tu usuario de la API |
password | string | Si | Tu contraseña de la API |
file | file | Si | Imagen del análisis de sangre (PNG, JPG, WEBP) o archivo PDF. Max 20MB. |
language | string | No | Código del idioma de respuesta (por defecto: en). Soporta 100+ idiomas. |
Ejemplo cURL
curl -X POST "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze" \
-F "username=TU_USUARIO" \
-F "password=TU_CONTRASEÑA" \
-F "language=es" \
-F "file=@analisis_sangre.pdf"
Ejemplo Python
import requests
def analizar_sangre(ruta_archivo: str, usuario: str, contrasena: str, idioma: str = "es"):
url = "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze"
with open(ruta_archivo, "rb") as f:
files = {"file": (ruta_archivo, f, "application/pdf")}
data = {"username": usuario, "password": contrasena, "language": idioma}
response = requests.post(url, files=files, data=data, timeout=120)
return response.json()
resultado = analizar_sangre("analisis_sangre.pdf", "tu_usuario", "tu_contrasena")
print(resultado)
Referencia de campos de respuesta
Nivel raíz
| Campo | Tipo | Descripción |
|---|---|---|
status | string | "success" o "error" |
data | object | Contiene todos los resultados del análisis |
timestamp | string | Marca de tiempo ISO 8601 de la respuesta |
api_version | string | Versión de la API utilizada |
Objeto data.metadata
| Campo | Tipo | Descripción |
|---|---|---|
lab_date | string | Fecha de extracción de sangre (AAAA-MM-DD) |
results_date | string | Fecha de emisión de resultados (AAAA-MM-DD) |
lab_name | string | Nombre del laboratorio |
lab_city | string | Ciudad del laboratorio |
lab_country | string | País del laboratorio |
patient_name | string | Nombre completo del paciente (solo metadatos, no se envía a la interpretación) |
patient_age | string | Edad del paciente |
patient_sex | string | "male", "female" o "other" |
Elemento del array data.parameters
| Campo | Tipo | Descripción |
|---|---|---|
category | string | Categoría del parámetro (ej: "Hemograma", "Perfil lipídico") |
long_name | string | Nombre completo del parámetro |
short_name | string | Nombre abreviado del parámetro |
result | string | Valor medido |
unit | string | Unidad de medida |
range_min | string | Rango de referencia mínimo |
range_max | string | Rango de referencia máximo |
evaluation | string | Estado del resultado. Ver valores de evaluación |
Elemento del array data.interpretation
| Campo | Tipo | Descripción |
|---|---|---|
title | string | Título de la sección (ej: "Evaluación general de salud") |
content | string | Interpretación médica generada por IA |
Ejemplo de respuesta completa
{
"status": "success",
"data": {
"metadata": {
"patient_name": "Anna Müller",
"lab_name": "MedLab Diagnostics International",
"lab_city": "Madrid",
"lab_country": "España",
"lab_date": "2025-12-15",
"results_date": "2025-12-16",
"patient_age": "38",
"patient_sex": "female"
},
"parameters": [
{
"short_name": "WBC",
"long_name": "Recuento de glóbulos blancos",
"category": "Hemograma completo",
"result": "6.8",
"unit": "10^9/L",
"evaluation": "normal",
"range_min": "4.0",
"range_max": "11.0",
"short_description": "Mide el número total de glóbulos blancos.",
"long_description": "Los glóbulos blancos (leucocitos) son componentes esenciales del sistema inmunológico..."
},
{
"short_name": "RBC",
"long_name": "Recuento de glóbulos rojos",
"category": "Hemograma completo",
"result": "4.52",
"unit": "10^12/L",
"evaluation": "normal",
"range_min": "3.8",
"range_max": "5.8",
"short_description": "Mide el número total de glóbulos rojos.",
"long_description": "Los glóbulos rojos (eritrocitos) transportan oxígeno desde los pulmones a los tejidos..."
},
{
"short_name": "HGB",
"long_name": "Hemoglobina",
"category": "Hemograma completo",
"result": "13.2",
"unit": "g/dL",
"evaluation": "normal",
"range_min": "11.5",
"range_max": "16.0",
"short_description": "Proteína en los glóbulos rojos que transporta oxígeno.",
"long_description": "La hemoglobina es la proteína que contiene hierro en los glóbulos rojos responsable del transporte de oxígeno..."
},
{
"short_name": "GLU",
"long_name": "Glucosa en ayunas",
"category": "Panel metabólico",
"result": "102",
"unit": "mg/dL",
"evaluation": "borderline_high",
"range_min": "70",
"range_max": "140",
"short_description": "Mide el nivel de azúcar en sangre en ayunas.",
"long_description": "La glucosa en ayunas es un indicador clave de cómo el cuerpo metaboliza el azúcar..."
},
{
"short_name": "TC",
"long_name": "Colesterol total",
"category": "Perfil lipídico",
"result": "218",
"unit": "mg/dL",
"evaluation": "borderline_high",
"range_min": "0",
"range_max": "300",
"short_description": "Mide el colesterol total en sangre.",
"long_description": "El colesterol total es la suma del colesterol HDL, LDL y VLDL..."
},
{
"short_name": "LDL",
"long_name": "Colesterol LDL",
"category": "Perfil lipídico",
"result": "142",
"unit": "mg/dL",
"evaluation": "high",
"range_min": "0",
"range_max": "200",
"short_description": "Mide el nivel de colesterol 'malo'.",
"long_description": "El colesterol LDL puede acumularse en las paredes de las arterias..."
}
],
"interpretation": [
{
"title": "Evaluación general de salud",
"shortcode": "overall_health_assessment",
"subsections": [
{
"subtitle": "Visión general completa",
"items": [
{"item": "La paciente presenta parámetros hematológicos generalmente saludables con todos los valores del hemograma dentro de la normalidad."},
{"item": "El perfil lipídico muestra áreas que requieren atención, particularmente los niveles de colesterol LDL."}
]
}
]
},
{
"title": "Recomendaciones",
"shortcode": "recommendations",
"subsections": [
{
"subtitle": "Modificaciones del estilo de vida",
"items": [
{"item": "Aumentar la actividad física aeróbica a al menos 150 minutos por semana."},
{"item": "Adoptar una dieta de tipo mediterráneo rica en verduras, frutas y grasas saludables."}
]
}
]
}
]
},
"api_version": "v11",
"timestamp": "2025-12-16T14:32:18Z"
}
El campo evaluation utiliza valores estandarizados. Ver valores de evaluación.
Endpoints Sandbox
Los endpoints sandbox devuelven datos de prueba realistas sin consumir cuota de API. Úsalos para desarrollo y pruebas de integración.
- Sin consumo de cuota
- Devuelve datos de prueba realistas
- Mismo formato de solicitud que producción
- Prueba tu integración antes de ir a producción
| API | Endpoint Sandbox |
|---|---|
| Análisis de Sangre v11 | /api/v11/01-06-2025/sandbox |
| Análisis de Sangre v11-health | /api/v11/health-score/sandbox |
| IA Nutricional | /api/v1/nutrition/diet-plan/sandbox |
| Comparación de Análisis | /api/v1/bloodtest/comparison/sandbox |
| Análisis de Tendencias | /api/v1/analytics/trends/sandbox |
| ICR - Reconocimiento Inteligente de Caracteres | /api/icr/v1/sandbox |
| ICR Kan - Análisis de Sangre | /api/icr/v1/kan/sandbox |
Elija la API correcta para su caso de uso:
| Característica | Comparación IA de Análisis de Sangre | Análisis de Tendencias |
|---|---|---|
| Enfoque Principal | Comparación narrativa IA | Análisis estadístico de tendencias |
| Procesamiento IA | Narrativa IA completa | IA mejorada + estadísticas |
| Tipo de Salida | Resúmenes narrativos | Gráficos, estadísticas, patrones |
| Ideal Para | Qué cambió entre pruebas | Seguimiento de parámetros a largo plazo |
| Min Pruebas | 2 | 2 |
| Max Pruebas | 20 | 50 |
API de Análisis de Tendencias
Analiza tendencias de parámetros de salud a lo largo del tiempo usando reconocimiento de patrones con IA. Identifica mejoras, deterioros e información práctica a partir de datos históricos de análisis de sangre.
Analiza las tendencias de los parámetros del análisis de sangre durante múltiples fechas de prueba para identificar patrones y proporcionar información sobre la salud.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
username | string | Si | Tu usuario de la API |
password | string | Si | Tu contraseña de la API |
language | string | No | Idioma de respuesta (predeterminado: en). Ver idiomas soportados. |
blood_tests | array | Si | Array de objetos de análisis de sangre (min: 2, max: 50) |
analysis_type | string | No | Tipo de análisis. Ver valores. |
analysis_options | object | No | Opciones de configuración de análisis |
Objeto analysis_options
| Campo | Tipo | Predeterminado | Descripción |
|---|---|---|---|
include_predictions | boolean | true | Incluir predicciones de tendencias IA |
include_statistics | boolean | true | Incluir análisis estadístico |
include_charts | boolean | true | Incluir datos de configuración de gráficos |
- Mínimo: 2 análisis de sangre requeridos
- Máximo: 50 análisis por solicitud
- Cada prueba debe tener
lab_dateOresults_date - Use nombres de parámetros consistentes para seguimiento preciso
Estructura del Array blood_tests
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
lab_date | string | Si* | Fecha de prueba en formato YYYY-MM-DD |
results_date | string | Si* | Alternativa a lab_date (YYYY-MM-DD) |
parameters | array | Si | Array de parámetros del análisis de sangre |
metadata | object | No | Metadatos adicionales (lab_name, notas, etc.) |
*Se requiere lab_date o results_date para cada análisis de sangre.
Estructura blood_tests[].parameters
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
short_name | string | Si* | Nombre abreviado del parámetro (ej: "HGB", "GLU") |
name | string | Si* | Nombre completo del parámetro (alternativa a short_name) |
result | number | Si* | Valor numérico del resultado |
value | number | Si* | Valor numérico (alternativa a result) |
unit | string | Si | Unidad de medida (ej: "g/dL", "mg/dL") |
reference_range | string | No | Rango de referencia del laboratorio |
status | string | No | Estado del resultado (normal, high, low) |
*Se requiere short_name o name para identificación. Se requiere result o value para el valor numérico.
Ejemplo cURL
curl -X POST "https://app.aibloodtestinterpret.com/api/v1/analytics/trends/analyze" \
-H "Content-Type: application/json" \
-d '{
"username": "TU_USUARIO",
"password": "TU_CONTRASEÑA",
"language": "es",
"analysis_type": "comprehensive",
"blood_tests": [
{
"lab_date": "2024-01-15",
"parameters": [
{"short_name": "GLU", "result": 110, "unit": "mg/dL"},
{"short_name": "HbA1c", "result": 6.2, "unit": "%"},
{"short_name": "CHOL", "result": 240, "unit": "mg/dL"},
{"short_name": "LDL", "result": 155, "unit": "mg/dL"},
{"short_name": "HDL", "result": 45, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-05-10",
"parameters": [
{"short_name": "GLU", "result": 105, "unit": "mg/dL"},
{"short_name": "HbA1c", "result": 5.9, "unit": "%"},
{"short_name": "CHOL", "result": 220, "unit": "mg/dL"},
{"short_name": "LDL", "result": 140, "unit": "mg/dL"},
{"short_name": "HDL", "result": 48, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-08-22",
"parameters": [
{"short_name": "GLU", "result": 98, "unit": "mg/dL"},
{"short_name": "HbA1c", "result": 5.6, "unit": "%"},
{"short_name": "CHOL", "result": 200, "unit": "mg/dL"},
{"short_name": "LDL", "result": 120, "unit": "mg/dL"},
{"short_name": "HDL", "result": 52, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-12-18",
"parameters": [
{"short_name": "GLU", "result": 92, "unit": "mg/dL"},
{"short_name": "HbA1c", "result": 5.4, "unit": "%"},
{"short_name": "CHOL", "result": 185, "unit": "mg/dL"},
{"short_name": "LDL", "result": 105, "unit": "mg/dL"},
{"short_name": "HDL", "result": 58, "unit": "mg/dL"}
]
}
]
}'
Ejemplo Python
import requests
from typing import List, Dict
def analizar_tendencias(
usuario: str,
contrasena: str,
analisis_sangre: List[Dict],
idioma: str = "es",
tipo_analisis: str = "comprehensive"
) -> Dict:
"""
Analiza tendencias de analisis de sangre a lo largo del tiempo.
Args:
usuario: Usuario de la API
contrasena: Contrasena de la API
analisis_sangre: Lista de objetos de analisis con lab_date y parametros
idioma: Codigo de idioma de respuesta
tipo_analisis: comprehensive, quick o focused
Returns:
dict: Resultados del analisis de tendencias
"""
url = "https://app.aibloodtestinterpret.com/api/v1/analytics/trends/analyze"
payload = {
"username": usuario,
"password": contrasena,
"language": idioma,
"analysis_type": tipo_analisis,
"blood_tests": analisis_sangre
}
response = requests.post(url, json=payload, timeout=120)
response.raise_for_status()
return response.json()
# Ejemplo de uso
if __name__ == "__main__":
analisis_sangre = [
{
"lab_date": "2025-01-15",
"parameters": [
{"short_name": "HGB", "result": 12.5, "unit": "g/dL"},
{"short_name": "CHOL", "result": 220, "unit": "mg/dL"}
]
},
{
"lab_date": "2025-06-15",
"parameters": [
{"short_name": "HGB", "result": 13.2, "unit": "g/dL"},
{"short_name": "CHOL", "result": 195, "unit": "mg/dL"}
]
},
{
"lab_date": "2025-12-01",
"parameters": [
{"short_name": "HGB", "result": 14.1, "unit": "g/dL"},
{"short_name": "CHOL", "result": 180, "unit": "mg/dL"}
]
}
]
resultado = analizar_tendencias(
usuario="tu_usuario",
contrasena="tu_contrasena",
analisis_sangre=analisis_sangre
)
print(f"Tendencia general: {resultado['data']['overall_health_trend']}")
for tendencia in resultado['data']['parameter_trends']:
print(f"{tendencia['parameter']}: {tendencia['statistical_analysis']['trend_direction']}")
Referencia de Campos de Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
analysis_id | string | Identificador único para este análisis (formato: TRD-XXXXXXXX) |
analysis_period | object | Detalles del período de tiempo: start_date, end_date, span_months, total_tests |
categories | array | Lista de categorías de parámetros encontradas (ej: "Perfil Lipídico", "Hemograma Completo") |
chart_config | object | Datos listos para graficar: dates, raw_dates, simple_dates para visualización |
overall_health_trend | object | Resumen, array de riesgos de salud y recomendaciones |
parameter_trends | array | Análisis detallado por parámetro con estadísticas |
risk_factors | array | Factores de riesgo de salud identificados |
Estructura del Objeto parameter_trends
| Campo | Tipo | Descripción |
|---|---|---|
parameter | string | Nombre estandarizado del parámetro |
short_name | string | Nombre abreviado del parámetro |
category | string | Categoría del parámetro (ej: "Perfil Lipídico") |
unit | string | Unidad de medida |
trend_data | array | Array de objetos {date, value} para graficar |
statistical_analysis | object | average, min, max, standard_deviation, trend_direction, trend_strength |
analysis | object | Interpretación IA: description, significant_variations, trend |
interpretation | string | Descripción legible del parámetro |
Ejemplo de Respuesta
{
"api_version": "1.0.0",
"status": "success",
"message": "Analisis de tendencias completado exitosamente",
"timestamp": "2025-12-22T01:12:49.262700Z",
"data": {
"analysis_id": "TRD-49B4C616",
"analysis_period": {
"start_date": "2024-01-15",
"end_date": "2024-12-18",
"span_months": 11,
"total_tests": 4
},
"categories": [
"Panel Metabolico",
"Vitaminas",
"Marcadores de Diabetes",
"Estudios de Hierro",
"Perfil Lipidico",
"Hemograma Completo"
],
"chart_config": {
"dates": ["Ene 2024", "May 2024", "Sep 2024", "Dic 2024"],
"raw_dates": ["2024-01-15", "2024-05-20", "2024-09-10", "2024-12-18"]
},
"language": "es",
"overall_health_trend": {
"summary": "En general, los parametros del analisis de sangre muestran tendencias positivas con mejoras en hemoglobina, perfil lipidico incluyendo colesterol LDL y HDL, estado de vitamina D y reservas de hierro.",
"health_risks": [],
"recommendations": []
},
"parameter_trends": [
{
"parameter": "Hemoglobina (Hb)",
"short_name": "Hemoglobina",
"category": "Hemograma Completo",
"unit": "g/dL",
"original_names": ["Hemoglobina", "HGB"],
"trend_data": [
{"date": "2024-01-15", "value": 12.8},
{"date": "2024-05-20", "value": 13.5},
{"date": "2024-09-10", "value": 14.2},
{"date": "2024-12-18", "value": 14.8}
],
"statistical_analysis": {
"average": 13.82,
"min": 12.8,
"max": 14.8,
"standard_deviation": 0.87,
"trend_direction": "upward",
"trend_strength": "moderate"
},
"analysis": {
"description": "La hemoglobina mide la proteina transportadora de oxigeno en los globulos rojos.",
"significant_variations": "Inicialmente baja en 12.8 g/dL, luego aumento gradualmente a 14.8 g/dL.",
"trend": "increasing",
"unit": "g/dL"
},
"interpretation": "La hemoglobina mide la proteina transportadora de oxigeno en los globulos rojos."
},
{
"parameter": "Colesterol de Lipoproteinas de Baja Densidad (LDL-C)",
"short_name": "LDL",
"category": "Perfil Lipidico",
"unit": "mg/dL",
"trend_data": [
{"date": "2024-01-15", "value": 110.0},
{"date": "2024-05-20", "value": 102.0},
{"date": "2024-09-10", "value": 92.0},
{"date": "2024-12-18", "value": 85.0}
],
"statistical_analysis": {
"average": 97.25,
"min": 85.0,
"max": 110.0,
"standard_deviation": 11.0,
"trend_direction": "downward",
"trend_strength": "strong"
},
"analysis": {
"description": "El LDL-C es el colesterol 'malo' asociado con mayor riesgo de enfermedad cardiaca.",
"significant_variations": "El LDL-C paso de alto (110 mg/dL) a normal (85 mg/dL).",
"trend": "decreasing"
}
}
],
"risk_factors": [],
"sandbox_mode": false
}
}
Los campos de respuesta usan valores estandarizados: trend_direction (ver valores), trend_strength (ver valores).
IA Nutricional con Suplementos
Genera planes nutricionales personalizados, recomendaciones de dieta y sugerencias de suplementos basados en el análisis de sangre.
Genera recomendaciones completas de nutrición y suplementos basadas en los parámetros de análisis de sangre y perfil del paciente.
Esquema del Objeto Paciente
Descripción detallada de todos los campos disponibles para el objeto paciente:
| Campo | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
age |
integer | Sí | - | Edad del paciente en años (18-120) |
gender |
string | Sí | - | Sexo del paciente. Ver valores |
weight |
number | No | null | Peso en kg (para cálculos calóricos) |
height |
number | No | null | Altura en cm (para cálculos de IMC) |
conditions |
array | No | [] | Condiciones médicas. Ver valores |
allergies |
array | No | [] | Alergias alimentarias. Ver valores |
dietary_preferences |
array | No | [] | Preferencias alimentarias. Ver valores |
activity_level |
string | No | "moderate" | Nivel de actividad física. Ver valores |
dietary_restrictions |
array | No | [] | Restricciones alimentarias (ej: sin gluten, sin lactosa) |
liked_foods |
array | No | [] | Alimentos preferidos para personalización del plan |
disliked_foods |
array | No | [] | Alimentos a evitar en las recomendaciones |
meal_frequency |
integer | No | 3 | Número de comidas por día (1-6) |
budget |
string | No | "moderate" | Nivel de presupuesto: "low", "moderate", "high" |
medications |
array | No | [] | Medicamentos actuales (para interacciones) |
Referencia de campos de respuesta
Objeto nutrition_plan.educational_insights
| Campo | Tipo | Descripción |
|---|---|---|
blood_marker_education |
array | Contenido educativo sobre los marcadores sanguíneos analizados |
nutrition_principles |
array | Principios nutricionales generales aplicables al paciente |
Elemento del array blood_marker_education
| Campo | Tipo | Descripción |
|---|---|---|
marker |
string | Nombre del marcador sanguíneo (ej: "Vitamina D", "Colesterol") |
explanation |
string | Explicación educativa sobre la importancia del marcador |
normal_range |
string | Rango de valores normales para el marcador |
Elemento del array food_recommendations.power_foods
| Campo | Tipo | Descripción |
|---|---|---|
food |
string | Nombre del alimento recomendado |
nutrients |
array | Lista de los nutrientes clave proporcionados por este alimento |
serving |
string | Tamaño de porción recomendado |
why |
string | Explicación de por qué este alimento es beneficioso |
Elemento del array supplement_recommendations
| Campo | Tipo | Descripción |
|---|---|---|
supplement |
string | Nombre del suplemento |
dosage |
string | Dosis diaria recomendada |
timing |
string | Mejor momento para tomar (ej: "Con el desayuno") |
duration |
string | Duración recomendada de la suplementación |
reason |
string | Justificación basada en los resultados de los análisis |
Ejemplo cURL completo
curl -X POST "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze" \
-H "Content-Type: application/json" \
-d '{
"username": "tu_nombre_usuario",
"password": "tu_contraseña",
"language": "es",
"patient": {
"age": 45,
"gender": "male",
"weight": 82,
"height": 178,
"conditions": ["hypertension"],
"allergies": ["shellfish"],
"dietary_preferences": ["mediterranean"],
"activity_level": "moderate",
"liked_foods": ["fish", "vegetables", "olive oil"],
"disliked_foods": ["liver"],
"meal_frequency": 3,
"budget": "moderate"
},
"blood_test": {
"lab_date": "2025-12-01",
"parameters": [
{"short_name": "VITD", "result": 18, "unit": "ng/mL"},
{"short_name": "CHOL", "result": 210, "unit": "mg/dL"},
{"short_name": "LDL", "result": 140, "unit": "mg/dL"},
{"short_name": "HDL", "result": 45, "unit": "mg/dL"},
{"short_name": "FE", "result": 65, "unit": "µg/dL"}
]
},
"health_goals": ["lower_cholesterol", "increase_energy", "heart_health"]
}'
Respuesta completa
{
"status": "success",
"data": {
"nutrition_plan": {
"daily_calories": 2100,
"macros": {
"protein": {"grams": 105, "percentage": 20},
"carbohydrates": {"grams": 236, "percentage": 45},
"fats": {"grams": 82, "percentage": 35}
},
"educational_insights": {
"blood_marker_education": [
{
"marker": "Vitamina D",
"explanation": "La vitamina D es esencial para la salud ósea, función inmunológica y regulación del estado de ánimo. Tu nivel de 18 ng/mL indica deficiencia que puede afectar la absorción de calcio y la salud general.",
"normal_range": "30-50 ng/mL"
},
{
"marker": "Colesterol LDL",
"explanation": "El colesterol LDL, frecuentemente llamado 'colesterol malo', puede acumularse en las paredes arteriales. Tu nivel de 140 mg/dL está elevado y puede aumentar el riesgo cardiovascular.",
"normal_range": "< 100 mg/dL"
}
],
"nutrition_principles": [
"Prioriza los ácidos grasos omega-3 para la salud cardíaca",
"Aumenta las fibras solubles para reducir el colesterol LDL",
"Incluye alimentos ricos en vitamina D y exposición solar"
]
}
},
"food_recommendations": {
"power_foods": [
{
"food": "Salmón salvaje",
"nutrients": ["Omega-3", "Vitamina D", "Proteínas"],
"serving": "150g, 3 veces por semana",
"why": "Excelente fuente de omega-3 y vitamina D natural para salud cardíaca y ósea"
},
{
"food": "Avena integral",
"nutrients": ["Beta-glucano", "Fibras", "Magnesio"],
"serving": "50g al día en el desayuno",
"why": "Las fibras solubles de la avena ayudan a reducir la absorción del colesterol LDL"
},
{
"food": "Aceite de oliva virgen extra",
"nutrients": ["Grasas monoinsaturadas", "Polifenoles", "Vitamina E"],
"serving": "2-3 cucharadas al día",
"why": "Las grasas saludables mediterráneas mejoran el perfil lipídico y protegen el corazón"
},
{
"food": "Espinacas",
"nutrients": ["Hierro", "Folato", "Vitamina K"],
"serving": "100g al día, crudas o cocidas",
"why": "Ricas en hierro y antioxidantes para energía y salud cardiovascular"
}
]
},
"supplement_recommendations": [
{
"supplement": "Vitamina D3",
"dosage": "2000-4000 UI al día",
"timing": "Con el desayuno (comida con grasas)",
"duration": "3-6 meses, luego volver a analizar niveles",
"reason": "Tu nivel de 18 ng/mL está por debajo del óptimo de 30-50 ng/mL"
},
{
"supplement": "Omega-3 (EPA/DHA)",
"dosage": "1000-2000mg EPA+DHA al día",
"timing": "Con las comidas principales",
"duration": "Continuo para salud cardíaca",
"reason": "Ayuda a reducir triglicéridos y mejora la relación HDL/LDL"
},
{
"supplement": "Coenzima Q10",
"dosage": "100mg al día",
"timing": "Con la comida de la mañana",
"duration": "Mínimo 3 meses",
"reason": "Apoya la salud cardíaca, particularmente importante con hipertensión"
}
]
},
"api_version": "v1",
"timestamp": "2025-12-22T10:30:00Z"
}
Para una lista completa de todos los valores posibles de respuesta, consulta la sección Palabras clave de salida.
API de Comparación de Análisis de Sangre
Compara múltiples análisis de sangre para identificar cambios, mejoras y áreas que requieren atención con análisis basado en IA. Obtiene resúmenes narrativos completos de IA explicando qué cambió entre pruebas.
Analiza de 2 a 20 análisis de sangre y proporciona una comparación detallada con información narrativa generada por IA.
- Mínimo 2 análisis de sangre requeridos
- Máximo 20 análisis de sangre por solicitud
- Cada prueba debe incluir
lab_dateoresults_date - Al menos un parámetro comun entre pruebas
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
username | string | Si | - | Tu usuario de la API |
password | string | Si | - | Tu contraseña de la API |
language | string | No | en | Idioma de respuesta. Ver idiomas soportados |
blood_tests | array | Si | - | Array de objetos de análisis de sangre (2-20 pruebas) |
Estructura del Array blood_tests
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
lab_date | string | Si* | Fecha de prueba en formato YYYY-MM-DD |
results_date | string | Si* | Alternativa a lab_date (YYYY-MM-DD) |
parameters | array | Si | Array de parámetros del análisis de sangre |
metadata | object | No | Metadatos adicionales (lab_name, notas, etc.) |
*Se requiere lab_date o results_date para cada análisis de sangre.
Ejemplo cURL
curl -X POST "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze" \
-H "Content-Type: application/json" \
-d '{
"username": "TU_USUARIO",
"password": "TU_CONTRASEÑA",
"language": "es",
"blood_tests": [
{
"lab_date": "2025-06-15",
"lab_name": "Laboratorio Medico de la Ciudad",
"parameters": [
{"short_name": "HGB", "result": 12.8, "unit": "g/dL"},
{"short_name": "WBC", "result": 8.2, "unit": "10^9/L"},
{"short_name": "PLT", "result": 245, "unit": "10^9/L"}
]
},
{
"lab_date": "2025-12-15",
"lab_name": "Laboratorio Medico de la Ciudad",
"parameters": [
{"short_name": "HGB", "result": 14.2, "unit": "g/dL"},
{"short_name": "WBC", "result": 7.1, "unit": "10^9/L"},
{"short_name": "PLT", "result": 238, "unit": "10^9/L"}
]
}
]
}'
Ejemplo Python
import requests
from typing import Dict, List
def comparar_analisis_sangre(
usuario: str,
contrasena: str,
analisis_sangre: List[Dict],
idioma: str = "es"
) -> Dict:
"""
Compara multiples analisis de sangre con analisis narrativo impulsado por IA.
Args:
usuario: Usuario de la API
contrasena: Contrasena de la API
analisis_sangre: Lista de objetos de analisis de sangre (2-20 pruebas)
idioma: Idioma de respuesta
Returns:
dict: Resultados de comparacion con informacion narrativa de IA
"""
url = "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze"
if len(analisis_sangre) < 2:
raise ValueError("Se requieren minimo 2 analisis de sangre")
if len(analisis_sangre) > 20:
raise ValueError("Se permiten maximo 20 analisis de sangre")
payload = {
"username": usuario,
"password": contrasena,
"language": idioma,
"blood_tests": analisis_sangre
}
response = requests.post(url, json=payload, timeout=120)
response.raise_for_status()
return response.json()
# Ejemplo de uso
if __name__ == "__main__":
pruebas = [
{
"lab_date": "2024-06-15",
"parameters": [
{"short_name": "HGB", "result": 12.2, "unit": "g/dL"},
{"short_name": "CHOL", "result": 235, "unit": "mg/dL"},
{"short_name": "LDL", "result": 155, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-12-15",
"parameters": [
{"short_name": "HGB", "result": 14.5, "unit": "g/dL"},
{"short_name": "CHOL", "result": 185, "unit": "mg/dL"},
{"short_name": "LDL", "result": 98, "unit": "mg/dL"}
]
}
]
resultado = comparar_analisis_sangre("tu_usuario", "tu_contrasena", pruebas)
print(f"Tendencia general: {resultado['data']['comparison_summary']['overall_trend']}")
for param in resultado['data']['parameter_analysis']:
print(f"{param['parameter_name']}: {param['trend_assessment']}")
Referencia de Campos de Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
comparison_id | string | Identificador único para esta comparación (formato: CMP-XXXXXXXX) |
comparison_summary | object | Resumen general: hallazgos clave, tendencia general, fechas de informes, intervalo de tiempo |
parameter_analysis | array | Análisis detallado por parámetro con tipo de cambio y significancia clínica |
health_assessment | object | Áreas de preocupación, mejora, desarrollos positivos, factores de riesgo |
recommendations | object | Pruebas de seguimiento, acciones inmediatas, modificaciones de estilo de vida, derivaciones a especialistas |
detailed_interpretation | object | Secciones narrativas de IA con resumen ejecutivo y recomendaciones clínicas |
Estructura del Objeto parameter_analysis
| Campo | Tipo | Descripción |
|---|---|---|
parameter_name | string | Nombre del parámetro |
report1_value | string | Valor del primer informe con unidad |
report2_value | string | Valor del segundo informe con unidad |
change_type | string | increased, decreased o stable |
change_magnitude | string | significant, moderate o minor |
clinical_significance | string | Explicación IA de lo que significa el cambio |
trend_assessment | string | positive, negative o neutral |
Ejemplo de Respuesta
{
"api_version": "1.0.0",
"status": "success",
"message": "Comparacion de analisis de sangre completada exitosamente",
"timestamp": "2025-12-22T01:12:43.057537Z",
"data": {
"comparison_id": "CMP-F4ACEE52",
"tests_compared": 2,
"date_range": {
"earliest": "2024-06-15",
"latest": "2024-12-15",
"span_days": 183
},
"comparison_summary": {
"overall_trend": "improved",
"report1_date": "2024-06-15",
"report2_date": "2024-12-15",
"time_interval": "183 dias entre informes",
"key_findings": [
"Los niveles de hemoglobina y globulos rojos se normalizaron indicando resolucion de anemia",
"La glucosa y HbA1c mejoraron a rango normal sugiriendo mejor control glucemico",
"El perfil lipidico mejoro con colesterol total, LDL, HDL y trigliceridos normalizados"
]
},
"parameter_analysis": [
{
"parameter_name": "Hemoglobina",
"report1_value": "12.2 g/dL",
"report2_value": "14.5 g/dL",
"change_type": "increased",
"change_magnitude": "significant",
"clinical_significance": "Mejora de anemia a niveles normales de hemoglobina",
"trend_assessment": "positive"
},
{
"parameter_name": "Colesterol LDL",
"report1_value": "155 mg/dL",
"report2_value": "98 mg/dL",
"change_type": "decreased",
"change_magnitude": "significant",
"clinical_significance": "LDL cerca del rango optimo, reduciendo riesgo de aterosclerosis",
"trend_assessment": "positive"
},
{
"parameter_name": "Colesterol HDL",
"report1_value": "38 mg/dL",
"report2_value": "55 mg/dL",
"change_type": "increased",
"change_magnitude": "significant",
"clinical_significance": "HDL mejorado protege contra enfermedad cardiaca",
"trend_assessment": "positive"
}
],
"health_assessment": {
"overall_health_trend": "improved",
"areas_of_improvement": [
"Correccion de anemia",
"Control glucemico",
"Normalizacion del perfil lipidico",
"Estado de vitamina D y hierro"
],
"areas_of_concern": [],
"positive_developments": [
"Resolucion de anemia",
"Glucosa y HbA1c normales",
"Perfil de riesgo cardiovascular mejorado"
],
"risk_factors": [
"Anemia por deficiencia de hierro previa",
"Dislipidemia anterior",
"Historia de metabolismo de glucosa alterado"
]
},
"recommendations": {
"immediate_actions": [
"Continuar suplementacion actual de hierro y vitamina D",
"Mantener control glucemico y lipidico con dieta y ejercicio"
],
"follow_up_tests": [
"Repetir hemograma y estudios de hierro en 3 meses",
"Monitorear glucosa en ayunas y HbA1c trimestralmente",
"Revision del panel lipidico en 6 meses"
],
"lifestyle_modifications": [
"Adoptar dieta saludable para el corazon baja en grasas saturadas",
"Aumentar actividad fisica para mantener salud metabolica"
],
"specialist_referrals": [
"Consultar hematologo si la anemia recurre",
"Derivacion a endocrinologo si el control de glucosa empeora"
],
"monitoring_frequency": "3 meses"
},
"detailed_interpretation": {
"sections": [
{
"title": "Resumen Ejecutivo",
"content": "El paciente muestra una mejora marcada en anemia, metabolismo de glucosa, perfil lipidico y estado vitaminico en 6 meses."
},
{
"title": "Recomendaciones Clinicas",
"content": "Continuar suplementacion y medidas de estilo de vida. Monitorear conteos sanguineos, hierro, glucosa y lipidos regularmente."
}
]
},
"summary": {
"improved_parameters": 13,
"stable_parameters": 0,
"worsened_parameters": 0,
"overall_trend": "improved"
},
"sandbox_mode": false
}
}
Los campos de respuesta usan valores estandarizados: overall_trend y trend_assessment (ver evaluación de tendencias), change_type (increased, decreased, stable).
Referencia de Palabras Clave
Referencia completa de todos los valores de palabras clave de entrada utilizados en los endpoints de la API Kantesti. Usa estos valores exactos en las solicitudes de API.
analysis_type API Análisis de Tendencias
Específica el tipo de análisis de tendencias a realizar.
| Valor | Predeterminado | Descripción |
|---|---|---|
comprehensive | ✓ | Análisis completo con estadísticas, gráficos e interpretación IA |
statistical | Solo análisis estadístico | |
summary | Solo resumen de alto nivel |
health_goals API Nutrición
Objetivos de salud para recomendaciones nutricionales personalizadas. Se pueden proporcionar múltiples valores como array.
| Valor | Descripción |
|---|---|
maintain | Mantener salud actual (predeterminado) |
improve_energy | Enfoque en niveles de energía |
weight_management | Gestión saludable del peso |
heart_health | Salud cardiovascular |
immune_support | Soporte al sistema inmunológico |
digestive_health | Bienestar digestivo |
bone_health | Salud ósea |
mental_clarity | Función cognitiva |
dietary_restrictions API Nutrición
Restricciones dietéticas y alergias. Se pueden proporcionar múltiples valores como array. También se acepta texto libre para restricciones personalizadas.
| Valor | Descripción |
|---|---|
low_sodium | Ingesta reducida de sodio |
low_sugar | Ingesta reducida de azúcar |
low_fat | Ingesta reducida de grasas |
gluten_free | Sin gluten |
dairy_free | Sin lácteos |
nut_free | Sin frutos secos |
soy_free | Sin soja |
egg_free | Sin huevos |
halal | Conforme halal |
kosher | Conforme kosher |
También se acepta texto libre para restricciones dietéticas personalizadas no listadas arriba.
dietary_preferences API Nutrición
Preferencias de estilo de vida alimentario para planificación de comidas.
| Valor | Descripción |
|---|---|
omnivore | Sin restricciones (predeterminado) |
vegetarian | Sin carne |
vegan | Sin productos animales |
pescatarian | Vegetariano + pescado |
keto | Dieta cetogénica |
paleo | Dieta paleolítica |
mediterranean | Dieta mediterránea |
activity_level API Nutrición
Nivel de actividad física para cálculos calóricos y nutricionales.
| Valor | Descripción |
|---|---|
sedentary | Poco o ningún ejercicio |
light | Ejercicio ligero 1-3 días/semana |
moderate | Ejercicio moderado 3-5 días/semana (predeterminado) |
active | Ejercicio intenso 6-7 días/semana |
very_active | Ejercicio muy intenso o trabajo físico |
budget API Nutrición
Nivel de presupuesto para recomendaciones de alimentos y suplementos.
| Valor | Descripción |
|---|---|
low | Opciones económicas |
moderate | Opciones equilibradas (predeterminado) |
high | Opciones premium |
gender Todas las APIs
Sexo del paciente para rangos de referencia y recomendaciones personalizadas.
| Valor | Descripción |
|---|---|
male | Paciente masculino |
female | Paciente femenino |
other | Otro o no especificado |
Palabras clave de salida
Las siguientes palabras clave aparecen en las respuestas de la API. Comprender estos valores ayuda a interpretar y mostrar los resultados correctamente.
evaluation APIs Análisis de sangre & Comparación
Estado de evaluación del parámetro indicando cómo se compara el resultado con los rangos de referencia.
| Valor | Descripción |
|---|---|
normal | Dentro del rango de referencia normal |
low | Por debajo del rango normal |
high | Por encima del rango normal |
critical_low | Críticamente bajo (atención inmediata requerida) |
critical_high | Críticamente alto (atención inmediata requerida) |
borderline_low | Ligeramente por debajo del rango normal |
borderline_high | Ligeramente por encima del rango normal |
trend_assessment APIs Comparación & Tendencias
Evaluación general de las tendencias de los parámetros entre pruebas.
| Valor | Descripción |
|---|---|
positive | Mejorado (hacia el rango normal) |
negative | Empeorado (alejándose del rango normal) |
stable | Relativamente sin cambios entre pruebas |
improving | Tendencia general de mejora |
worsening | Tendencia general de empeoramiento |
trend_direction API Análisis de tendencias
Dirección de los cambios de valor de los parámetros a lo largo del tiempo.
| Valor | Descripción |
|---|---|
upward | Valores aumentando a lo largo del tiempo |
downward | Valores disminuyendo a lo largo del tiempo |
stable | Cambio mínimo a lo largo del tiempo |
trend_strength API Análisis de tendencias
Magnitud de la tendencia observada.
| Valor | Descripción |
|---|---|
strong | >15% de cambio entre períodos |
moderate | 5-15% de cambio entre períodos |
mild | <5% de cambio entre períodos |
health_score / score_interpretation API Puntuación de salud
Interpretación general de la puntuación de salud basada en los parámetros analizados.
| Valor | Descripción |
|---|---|
excellent | Todos los marcadores en el rango óptimo |
good | La mayoría de los marcadores en el rango normal |
fair | Algunos marcadores necesitan atención |
poor | Múltiples marcadores necesitan atención |
Endpoints Utilitarios
Verifica tu cuota de API restante. Requiere autenticación.
curl -X POST "https://app.aibloodtestinterpret.com/api/quota/check" \
-H "Content-Type: application/json" \
-d '{"username": "TU_USUARIO", "password": "TU_CONTRASEÑA"}'
API de Evaluación de Riesgos de Salud Familiar
La API Kantesti de Evaluación de Riesgos de Salud Familiar es una plataforma de análisis de riesgos de salud hereditarios impulsada por IA. Genera informes completos de salud familiar analizando el historial médico familiar, perfiles de salud de los pacientes y datos de análisis de sangre para identificar factores de riesgo hereditarios y proporcionar recomendaciones de cuidados preventivos personalizados.
Análisis de riesgos hereditarios por IA
La API Family Health utiliza modelos avanzados de IA para cruzar el historial médico familiar con los datos de análisis de sangre del paciente, identificando patrones de riesgo hereditario en categorías cardiovascular, metabólica, cáncer, neurológica, respiratoria, autoinmune, genética, salud mental y riñón/hígado. Los informes incluyen puntuación de riesgo, cronogramas de cuidados preventivos, recomendaciones de cribado genético y consejos de estilo de vida — todo localizado en más de 100 idiomas.
- Análisis de riesgos hereditarios — Clasificación en riesgo alto, moderado y bajo con puntuación detallada
- Análisis del árbol genealógico — Mapeo de riesgos de líneas paterna y materna
- Correlación de análisis de sangre — Cruce de antecedentes familiares con parámetros sanguíneos
- Recomendaciones de cribado genético — Sugerencias personalizadas de pruebas genéticas
- Cronograma de cuidados preventivos — Programas de detección adaptados a la edad
- Análisis de medicamentos — Evaluación de interacciones y sensibilidades hereditarias
- 100+ idiomas soportados — Localización completa de informes en más de 100 idiomas
- Modo Sandbox — Pruebe la integración sin consumir créditos
- 9 categorías de enfermedades — Cardiovascular, Metabólica, Cáncer, Neurológica, Respiratoria, Autoinmune, Genética, Salud mental, Riñón/Hígado
- 14 relaciones familiares — Padre, madre, hermanos, abuelos, tíos, tías, hijos
Resumen de endpoints
| Endpoint | Método | Descripción | Auth |
|---|---|---|---|
/api/v1/family-health/analyze | POST | Generar informe completo de evaluación de riesgos | Requerido (1 crédito) |
/api/v1/family-health/validate | POST | Validar datos de solicitud (sin consumo de cuota) | Requerido (Gratis) |
/api/v1/family-health/supported-languages | GET | Listar 100+ idiomas soportados | No requerido |
/api/v1/family-health/condition-categories | GET | Listar categorías de enfermedades | No requerido |
/api/v1/family-health/family-relations | GET | Listar tipos de relaciones familiares | No requerido |
/api/v1/family-health/sandbox/analyze | POST | Prueba sandbox con datos de ejemplo | Requerido (Gratis) |
Genere un informe completo de evaluación de riesgos de salud familiar impulsado por IA.
Parámetros de solicitud (JSON Body)
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
username | string | Sí | Su nombre de usuario API |
password | string | Sí | Su contraseña API |
patient_data | object | Sí | Información del paciente |
family_members | array | Sí* | Miembros de la familia (máx. 100). *Requerido si falta health_profile |
health_profile | object | Sí* | Perfil de salud. *Requerido si faltan family_members |
blood_test_data | array | No | Datos de análisis de sangre |
language | string | No | Código de idioma (defecto: en). 100+ idiomas |
Ejemplo cURL
curl -X POST "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze" \
-H "Content-Type: application/json" \
-d '{
"username": "SU_USUARIO",
"password": "SU_CONTRASEÑA",
"patient_data": {"name": "María García", "age": 42, "gender": "female"},
"family_members": [
{"relation": "father", "age": 70, "conditions": ["hypertension", "type2_diabetes"]},
{"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
],
"language": "es"
}'
Ejemplo Python
import requests
url = "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze"
payload = {
"username": "SU_USUARIO", "password": "SU_CONTRASEÑA",
"patient_data": {"name": "María García", "age": 42, "gender": "female"},
"family_members": [
{"relation": "father", "age": 70, "conditions": ["hypertension"]},
{"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
],
"language": "es"
}
response = requests.post(url, json=payload, timeout=120)
print(response.json())
Ejemplo de respuesta
{
"status": "success",
"data": {
"report_data": {
"report_title": "Informe de Evaluación de Riesgos de Salud Familiar",
"hereditary_risk_analysis": {
"high_risk": [{"condition": "Enfermedad cardiovascular", "risk_score": 75}],
"moderate_risk": [{"condition": "Diabetes tipo 2", "risk_score": 60}]
},
"genetic_screening_recommendations": ["Prueba genética BRCA1/BRCA2"],
"preventive_care_timeline": [{"age_range": "40-45", "screenings": ["Mamografía anual"]}]
}
},
"timestamp": "2026-03-23T10:30:00Z",
"api_version": "1.0.0"
}
Códigos de error Family Health API
| Código | HTTP | Descripción |
|---|---|---|
AUTH_1001 | 401 | Credenciales de autenticación faltantes |
AUTH_1002 | 401 | Usuario o contraseña inválidos |
QUOTA_1101 | 403 | Cuota API insuficiente |
VAL_2001 | 400 | Campo obligatorio faltante |
VAL_2003 | 400 | Código de idioma no soportado |
VAL_2007 | 400 | Estructura de datos de paciente inválida |
PROC_3001 | 500 | Fallo en generación de informe |
SRV_5001 | 500 | Error interno del servidor |
Endpoint Sandbox Family Health
Pruebe su integración sin consumir créditos.
| API | Endpoint Sandbox | Descripción |
|---|---|---|
| Family Health | /api/v1/family-health/sandbox/analyze | Datos de informe de ejemplo |
Endpoints de referencia (Sin auth)
| Endpoint | Método | Descripción |
|---|---|---|
/api/v1/family-health/supported-languages | GET | 100+ idiomas soportados |
/api/v1/family-health/condition-categories | GET | 9 categorías de enfermedades |
/api/v1/family-health/family-relations | GET | 14 relaciones familiares |
ICR - Reconocimiento Inteligente de Caracteres API
La API Kantesti ICR (Reconocimiento Inteligente de Caracteres) es una tecnología avanzada de extracción de texto de documentos que va mucho más allá del OCR tradicional. Impulsada por el motor de IA propietario de Kantesti, ICR proporciona salida JSON estructurada de cualquier tipo de documento.
Kantesti ICR vs OCR Tradicional
En pruebas de rendimiento, Kantesti ICR demostró un rendimiento 79% superior en comparación con soluciones OCR tradicionales. ICR entiende la estructura del documento, preserva diseños de tablas, extrae metadatos y devuelve JSON estructurado limpio.
- Salida JSON Estructurada — Tablas, secciones, metadatos y texto sin procesar en formato JSON limpio
- Detección de Tipo de Documento — Identifica automáticamente informes médicos, facturas, formularios, cartas, etc.
- Extracción de Tablas — Preserva encabezados y datos de filas con estructura completa
- Soporte Multi-formato — Procesamiento de documentos PDF, JPG, JPEG, PNG
- Integración Análisis de Sangre (Kan) — Endpoint especializado para extracción de documentos de análisis de sangre
- Modo Sandbox — Pruebe la integración sin consumir créditos
- Sistema de Créditos — 0,5 créditos por llamada API
Resumen de Endpoints ICR
| Endpoint | Método | Descripción | Costo |
|---|---|---|---|
/api/icr/v1/extract | POST | Extracción de texto ICR | 0,5 crédito |
/api/icr/v1/sandbox | POST | Prueba sandbox ICR | Gratis |
/api/icr/v1/kan | POST | Análisis de documentos de sangre | 0,5 crédito |
/api/icr/v1/kan/sandbox | POST | Prueba sandbox análisis de sangre | Gratis |
/api/icr/info | GET | Documentación y características de la API | Gratis |
/api/icr/health | GET | Endpoint de verificación de salud | Gratis |
/api/icr/v1/quota | POST | Verificar créditos ICR restantes | Gratis |
Extrae todo el contenido textual de los documentos cargados utilizando la tecnología ICR de Kantesti.
Parámetros de Solicitud
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
username | string | Sí | Su nombre de usuario API |
password | string | Sí | Su contraseña API |
file | file | Sí | Archivo de documento (PDF, JPG, JPEG, PNG) |
language | string | No | Idioma de salida (predeterminado: en) |
Ejemplo cURL
curl -X POST "https://app.aibloodtestinterpret.com/api/icr/v1/extract" \
-F "username=SU_USUARIO" \
-F "password=SU_CONTRASEÑA" \
-F "language=es" \
-F "[email protected]"
Ejemplo Python
import requests
def icr_extract(file_path: str, username: str, password: str, language: str = "es"):
"""
Extraer texto de un documento con la API ICR Kantesti.
79% más rápido y preciso que OCR tradicional.
"""
url = "https://app.aibloodtestinterpret.com/api/icr/v1/extract"
with open(file_path, "rb") as f:
files = {"file": (file_path, f)}
data = {"username": username, "password": password, "language": language}
response = requests.post(url, files=files, data=data, timeout=120)
response.raise_for_status()
return response.json()
# Ejemplo de uso
result = icr_extract("informe_medico.pdf", "usuario", "contraseña", "es")
print(f"Tipo de documento: {result['data']['document_type']}")
print(f"Páginas: {result['data']['page_count']}")
Ejemplo de Respuesta
{
"status": "success",
"data": {
"document_type": "blood_test_report",
"page_count": 1,
"pages": [{"page_number": 1, "content": {"raw_text": "Hospital Universitario de Colonia - Hemograma...", "sections": [{"type": "header", "content": "Hemograma"}], "tables": [{"headers": ["Prueba", "Resultado", "Unidad", "Rango de Referencia"], "rows": [["Glucosa", "92", "mg/dL", "74 - 100"], ["ALT", "22", "U/L", "< 35"]]}]}}],
"metadata": {"detected_language": "es", "confidence": "high"},
"icr_metadata": {"engine": "kantesti-icr", "version": "1.0.0", "images_processed": 1, "timestamp": "2026-02-14T10:30:00Z"}
},
"credit_cost": 0.5,
"api_version": "icr-v1"
}
Endpoints Sandbox ICR
Prueba tu integración ICR sin consumir créditos. Los endpoints sandbox devuelven datos de ejemplo realistas.
| API | Endpoint Sandbox | Descripción |
|---|---|---|
| Extracción ICR | /api/icr/v1/sandbox | Devuelve datos de ejemplo de extracción ICR |
| ICR Kan | /api/icr/v1/kan/sandbox | Devuelve datos de ejemplo de parámetros de análisis de sangre |
Rendimiento ICR vs OCR
| Métrica | Kantesti ICR | OCR Tradicional | Mejora |
|---|---|---|---|
| Velocidad de Procesamiento | 1,2s promedio | 5,7s promedio | 79% más rápido |
| Precisión del Texto | 99,7% | 92,1% | +7,6% |
| Detección de Tablas | 98,9% | 71,2% | +27,7% |
| Salida Estructurada | JSON con secciones, tablas, metadatos | Texto sin procesar | Estructura completa |
| Soporte Multilingüe | 100+ idiomas | 30-50 idiomas | 2x+ cobertura |