Endpoints de la API
Referencia completa para todos los endpoints de la API de Analisis de Sangre Kantesti con ejemplos de codigo en multiples lenguajes.
https://app.aibloodtestinterpret.com
Changelog
Sigue las versiones de la API, actualizaciones e informacion de migracion. Usa los endpoints recomendados para nuevas integraciones.
Endpoints Estables Actuales
Estos endpoints son recomendados para uso en produccion y nuevas integraciones.
| API | Endpoint | Estado |
|---|---|---|
| Analisis de Sangre v11 | /api/v11/01-06-2025/analyze |
Recomendado |
| Analisis de Sangre (Puntuacion de Salud) v11 | /api/v11/health-score/analyze |
Recomendado |
| IA Nutricion v1 | /api/v1/nutrition/diet-plan/analyze |
Estable |
| Comparacion IA de Analisis de Sangre v1 | /api/v1/bloodtest/comparison/analyze |
Estable |
| Evaluación de Riesgos de Salud Familiar v1 | /api/v1/family-health/analyze |
Publicado 23.03.2026 |
| ICR - Reconocimiento Inteligente de Caracteres v1 | /api/icr/v1/extract |
Lanzado 14.02.2026 |
| ICR Kan - Extracción de Análisis de Sangre v1 | /api/icr/v1/kan |
Lanzado 14.02.2026 |
| Analisis de Tendencias v1 | /api/v1/analytics/trends/analyze |
Estable |
Historial de Versiones
| Fecha | Version | 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 | Mas Reciente | Manejo de errores mejorado, precision del 98,7%, soporte para 100 idiomas |
| Junio 2025 | v11 | Analisis de sangre v11, endpoint de puntuacion de salud, soporte multi-archivo |
| Abril 2025 | v9 | Modelo api_parameters_v9, extraccion de parametros 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.
| Version | 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 localizacion de respuestas. Use el parametro language con cualquiera de los codigos ISO 639-1 listados a continuacion. Si no se especifica, las respuestas se devuelven en ingles (en) por defecto.
Si no se proporciona ningun parametro language, la API devuelve respuestas en ingles (en).
Principales Idiomas Mundiales
| Codigo | Idioma | Nombre Nativo |
|---|---|---|
en | Ingles | English |
zh | Chino | 中文 |
es | Espanol | Español |
ar | Arabe | العربية |
hi | Hindi | हिन्दी |
pt | Portugues | Português |
ru | Ruso | Русский |
ja | Japones | 日本語 |
fr | Frances | Français |
de | Aleman | Deutsch |
ko | Coreano | 한국어 |
tr | Turco | Türkçe |
Idiomas Europeos
| Codigo | Idioma | Nombre Nativo |
|---|---|---|
it | Italiano | Italiano |
nl | Holandes | Nederlands |
pl | Polaco | Polski |
el | Griego | Ελληνικά |
sv | Sueco | Svenska |
no | Noruego | Norsk |
da | Danes | Dansk |
fi | Finlandes | Suomi |
cs | Checo | Čeština |
uk | Ucraniano | Українська |
ro | Rumano | Română |
hu | Hungaro | Magyar |
bg | Bulgaro | Български |
hr | Croata | Hrvatski |
sk | Eslovaco | Slovenčina |
sl | Esloveno | Slovenščina |
sr | Serbio | Српски |
lt | Lituano | Lietuvių |
lv | Leton | Latviešu |
et | Estonio | Eesti |
ca | Catalan | Català |
eu | Vasco | Euskara |
gl | Gallego | Galego |
cy | Gales | Cymraeg |
ga | Irlandes | Gaeilge |
is | Islandes | Íslenska |
mt | Maltes | Malti |
sq | Albanes | Shqip |
mk | Macedonio | Македонски |
bs | Bosnio | Bosanski |
lb | Luxemburgues | Lëtzebuergesch |
be | Bielorruso | Беларуская |
Idiomas de Oriente Medio y Asia Central
| Codigo | 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
| Codigo | Idioma | Nombre Nativo |
|---|---|---|
bn | Bengali | বাংলা |
ta | Tamil | தமிழ் |
te | Telugu | తెలుగు |
mr | Marathi | मराठी |
gu | Gujarati | ગુજરાતી |
kn | Kannada | ಕನ್ನಡ |
ml | Malayalam | മലയാളം |
pa | Punjabi | ਪੰਜਾਬੀ |
ur | Urdu | اردو |
ne | Nepali | नेपाली |
si | Cingales | සිංහල |
sd | Sindhi | سنڌي |
as | Asames | অসমীয়া |
or | Odia | ଓଡ଼ିଆ |
Idiomas del Sudeste Asiatico
| Codigo | Idioma | Nombre Nativo |
|---|---|---|
id | Indonesio | Bahasa Indonesia |
th | Tailandes | ไทย |
vi | Vietnamita | Tiếng Việt |
ms | Malayo | Bahasa Melayu |
my | Birmano | မြန်မာ |
km | Jemer | ភាសាខ្មែរ |
lo | Laosiano | ລາວ |
fil | Filipino | Filipino |
tl | Tagalo | Tagalog |
jv | Javanes | Basa Jawa |
su | Sundanes | Basa Sunda |
Idiomas Africanos
| Codigo | 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
| Codigo | 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 Analisis de Sangre
Analiza imagenes o PDFs de analisis de sangre usando IA para extraer parametros y generar interpretaciones medicas completas.
Endpoint de produccion para analisis de sangre. Consume 1 credito por solicitud.
Parametros de Solicitud
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
username | string | Si | Tu usuario de la API |
password | string | Si | Tu contrasena de la API |
file | file | Si | Imagen del analisis de sangre (PNG, JPG, WEBP) o archivo PDF. Max 20MB. |
language | string | No | Codigo 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_CONTRASENA" \
-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. Usalos para desarrollo y pruebas de integracion.
- Sin consumo de cuota
- Devuelve datos de prueba realistas
- Mismo formato de solicitud que produccion
- Prueba tu integracion antes de ir a produccion
| API | Endpoint Sandbox |
|---|---|
| Analisis de Sangre v11 | /api/v11/01-06-2025/sandbox |
| Analisis de Sangre v11-health | /api/v11/health-score/sandbox |
| IA Nutricional | /api/v1/nutrition/diet-plan/sandbox |
| Comparacion de Analisis | /api/v1/bloodtest/comparison/sandbox |
| Analisis 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 Analisis de Tendencias
Analiza tendencias de parametros 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.
Parametros de Solicitud
| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
username | string | Si | Tu usuario de la API |
password | string | Si | Tu contrasena de la API |
language | string | No | Idioma de respuesta (predeterminado: en). Ver idiomas soportados. |
blood_tests | array | Si | Array de objetos de analisis de sangre (min: 2, max: 50) |
analysis_type | string | No | Tipo de analisis. Ver valores. |
analysis_options | object | No | Opciones de configuración de análisis |
Objeto analysis_options
| Campo | Tipo | Predeterminado | Descripcion |
|---|---|---|---|
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 | Descripcion |
|---|---|---|---|
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 parametros del analisis de sangre |
metadata | object | No | Metadatos adicionales (lab_name, notas, etc.) |
*Se requiere lab_date o results_date para cada analisis de sangre.
Estructura blood_tests[].parameters
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
short_name | string | Si* | Nombre abreviado del parametro (ej: "HGB", "GLU") |
name | string | Si* | Nombre completo del parametro (alternativa a short_name) |
result | number | Si* | Valor numerico del resultado |
value | number | Si* | Valor numerico (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 identificacion. Se requiere result o value para el valor numerico.
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_CONTRASENA",
"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 | Descripcion |
|---|---|---|
analysis_id | string | Identificador unico para este analisis (formato: TRD-XXXXXXXX) |
analysis_period | object | Detalles del periodo de tiempo: start_date, end_date, span_months, total_tests |
categories | array | Lista de categorias de parametros encontradas (ej: "Perfil Lipidico", "Hemograma Completo") |
chart_config | object | Datos listos para graficar: dates, raw_dates, simple_dates para visualizacion |
overall_health_trend | object | Resumen, array de riesgos de salud y recomendaciones |
parameter_trends | array | Analisis detallado por parametro con estadisticas |
risk_factors | array | Factores de riesgo de salud identificados |
Estructura del Objeto parameter_trends
| Campo | Tipo | Descripcion |
|---|---|---|
parameter | string | Nombre estandarizado del parametro |
short_name | string | Nombre abreviado del parametro |
category | string | Categoria del parametro (ej: "Perfil Lipidico") |
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 | Interpretacion IA: description, significant_variations, trend |
interpretation | string | Descripcion legible del parametro |
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 multiples analisis de sangre para identificar cambios, mejoras y areas que requieren atencion con analisis basado en IA. Obtiene resúmenes narrativos completos de IA explicando qué cambió entre pruebas.
Analiza de 2 a 20 analisis de sangre y proporciona una comparacion detallada con informacion narrativa generada por IA.
- Minimo 2 analisis de sangre requeridos
- Maximo 20 analisis de sangre por solicitud
- Cada prueba debe incluir
lab_dateoresults_date - Al menos un parametro comun entre pruebas
Parametros de Solicitud
| Parametro | Tipo | Requerido | Predeterminado | Descripcion |
|---|---|---|---|---|
username | string | Si | - | Tu usuario de la API |
password | string | Si | - | Tu contrasena de la API |
language | string | No | en | Idioma de respuesta. Ver idiomas soportados |
blood_tests | array | Si | - | Array de objetos de analisis de sangre (2-20 pruebas) |
Estructura del Array blood_tests
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
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 parametros del analisis de sangre |
metadata | object | No | Metadatos adicionales (lab_name, notas, etc.) |
*Se requiere lab_date o results_date para cada analisis 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_CONTRASENA",
"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 | Descripcion |
|---|---|---|
comparison_id | string | Identificador unico para esta comparacion (formato: CMP-XXXXXXXX) |
comparison_summary | object | Resumen general: hallazgos clave, tendencia general, fechas de informes, intervalo de tiempo |
parameter_analysis | array | Analisis detallado por parametro con tipo de cambio y significancia clinica |
health_assessment | object | Areas de preocupacion, 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 clinicas |
Estructura del Objeto parameter_analysis
| Campo | Tipo | Descripcion |
|---|---|---|
parameter_name | string | Nombre del parametro |
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 | Explicacion 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 evaluacion 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
Especifica 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 autenticacion.
curl -X POST "https://app.aibloodtestinterpret.com/api/quota/check" \
-H "Content-Type: application/json" \
-d '{"username": "TU_USUARIO", "password": "TU_CONTRASENA"}'
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"
}
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 |