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.

URL Base
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.

APIEndpointEstado
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

FechaVersionCambios
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.

VersionEndpointEstado
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
Nota

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.

Idioma Predeterminado

Si no se proporciona ningun parametro language, la API devuelve respuestas en ingles (en).

Principales Idiomas Mundiales

CodigoIdiomaNombre Nativo
enInglesEnglish
zhChino中文
esEspanolEspañol
arArabeالعربية
hiHindiहिन्दी
ptPortuguesPortuguês
ruRusoРусский
jaJapones日本語
frFrancesFrançais
deAlemanDeutsch
koCoreano한국어
trTurcoTürkçe

Idiomas Europeos

CodigoIdiomaNombre Nativo
itItalianoItaliano
nlHolandesNederlands
plPolacoPolski
elGriegoΕλληνικά
svSuecoSvenska
noNoruegoNorsk
daDanesDansk
fiFinlandesSuomi
csChecoČeština
ukUcranianoУкраїнська
roRumanoRomână
huHungaroMagyar
bgBulgaroБългарски
hrCroataHrvatski
skEslovacoSlovenčina
slEslovenoSlovenščina
srSerbioСрпски
ltLituanoLietuvių
lvLetonLatviešu
etEstonioEesti
caCatalanCatalà
euVascoEuskara
glGallegoGalego
cyGalesCymraeg
gaIrlandesGaeilge
isIslandesÍslenska
mtMaltesMalti
sqAlbanesShqip
mkMacedonioМакедонски
bsBosnioBosanski
lbLuxemburguesLëtzebuergesch
beBielorrusoБеларуская

Idiomas de Oriente Medio y Asia Central

CodigoIdiomaNombre Nativo
heHebreoעברית
faPersaفارسی
azAzerbaiyanoAzərbaycan
kaGeorgianoქართული
hyArmenioՀayerdelays
kkKazajoҚазақша
uzUzbekoOʻzbek
tgTayikoТоҷикӣ
kyKirguisoКыргызча
tkTurkmenoTürkmen
mnMongolМонгол
psPastunپښتو
kuKurdoKurdî

Idiomas del Sur de Asia

CodigoIdiomaNombre Nativo
bnBengaliবাংলা
taTamilதமிழ்
teTeluguతెలుగు
mrMarathiमराठी
guGujaratiગુજરાતી
knKannadaಕನ್ನಡ
mlMalayalamമലയാളം
paPunjabiਪੰਜਾਬੀ
urUrduاردو
neNepaliनेपाली
siCingalesසිංහල
sdSindhiسنڌي
asAsamesঅসমীয়া
orOdiaଓଡ଼ିଆ

Idiomas del Sudeste Asiatico

CodigoIdiomaNombre Nativo
idIndonesioBahasa Indonesia
thTailandesไทย
viVietnamitaTiếng Việt
msMalayoBahasa Melayu
myBirmanoမြန်မာ
kmJemerភាសាខ្មែរ
loLaosianoລາວ
filFilipinoFilipino
tlTagaloTagalog
jvJavanesBasa Jawa
suSundanesBasa Sunda

Idiomas Africanos

CodigoIdiomaNombre Nativo
afAfrikaansAfrikaans
swSuajiliKiswahili
amAmharicoአማርኛ
haHausaHausa
yoYorubaYorùbá
igIgboIgbo
zuZuluisiZulu
xhXhosaisiXhosa
soSomaliSoomaali
mgMalgacheMalagasy

Otros Idiomas

CodigoIdiomaNombre Nativo
laLatinLatina
eoEsperantoEsperanto
yiYidisייִדיש
htCriollo HaitianoKreyòl Ayisyen
miMaoriTe Reo Māori
smSamoanoGagana Samoa
toTonganoLea Faka-Tonga
hawHawaianoʻŌ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.

POST /api/v11/01-06-2025/analyze Mas Reciente

Endpoint de produccion para analisis de sangre. Consume 1 credito por solicitud.

Parametros de Solicitud

ParametroTipoRequeridoDescripcion
usernamestringSiTu usuario de la API
passwordstringSiTu contrasena de la API
filefileSiImagen del analisis de sangre (PNG, JPG, WEBP) o archivo PDF. Max 20MB.
languagestringNoCodigo 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
CampoTipoDescripción
statusstring"success" o "error"
dataobjectContiene todos los resultados del análisis
timestampstringMarca de tiempo ISO 8601 de la respuesta
api_versionstringVersión de la API utilizada
Objeto data.metadata
CampoTipoDescripción
lab_datestringFecha de extracción de sangre (AAAA-MM-DD)
results_datestringFecha de emisión de resultados (AAAA-MM-DD)
lab_namestringNombre del laboratorio
lab_citystringCiudad del laboratorio
lab_countrystringPaís del laboratorio
patient_namestringNombre completo del paciente (solo metadatos, no se envía a la interpretación)
patient_agestringEdad del paciente
patient_sexstring"male", "female" o "other"
Elemento del array data.parameters
CampoTipoDescripción
categorystringCategoría del parámetro (ej: "Hemograma", "Perfil lipídico")
long_namestringNombre completo del parámetro
short_namestringNombre abreviado del parámetro
resultstringValor medido
unitstringUnidad de medida
range_minstringRango de referencia mínimo
range_maxstringRango de referencia máximo
evaluationstringEstado del resultado. Ver valores de evaluación
Elemento del array data.interpretation
CampoTipoDescripción
titlestringTítulo de la sección (ej: "Evaluación general de salud")
contentstringInterpretació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"
}
Palabras clave de respuesta

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.

Beneficios del Sandbox
  • Sin consumo de cuota
  • Devuelve datos de prueba realistas
  • Mismo formato de solicitud que produccion
  • Prueba tu integracion antes de ir a produccion
APIEndpoint 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
API de Comparación vs API de Análisis de Tendencias

Elija la API correcta para su caso de uso:

CaracterísticaComparación IA de Análisis de SangreAnálisis de Tendencias
Enfoque PrincipalComparación narrativa IAAnálisis estadístico de tendencias
Procesamiento IANarrativa IA completaIA mejorada + estadísticas
Tipo de SalidaResúmenes narrativosGráficos, estadísticas, patrones
Ideal ParaQué cambió entre pruebasSeguimiento de parámetros a largo plazo
Min Pruebas22
Max Pruebas2050

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.

IA Nutricional con Suplementos

Genera planes nutricionales personalizados, recomendaciones de dieta y sugerencias de suplementos basados en el análisis de sangre.

POST /api/v1/nutrition/diet-plan/analyze Nuevo

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 - Edad del paciente en años (18-120)
gender string - 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"
}
Palabras clave de respuesta

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.

POST /api/v1/bloodtest/comparison/analyze

Analiza de 2 a 20 analisis de sangre y proporciona una comparacion detallada con informacion narrativa generada por IA.

Requisitos
  • Minimo 2 analisis de sangre requeridos
  • Maximo 20 analisis de sangre por solicitud
  • Cada prueba debe incluir lab_date o results_date
  • Al menos un parametro comun entre pruebas

Parametros de Solicitud

ParametroTipoRequeridoPredeterminadoDescripcion
usernamestringSi-Tu usuario de la API
passwordstringSi-Tu contrasena de la API
languagestringNoenIdioma de respuesta. Ver idiomas soportados
blood_testsarraySi-Array de objetos de analisis de sangre (2-20 pruebas)

Estructura del Array blood_tests

CampoTipoRequeridoDescripcion
lab_datestringSi*Fecha de prueba en formato YYYY-MM-DD
results_datestringSi*Alternativa a lab_date (YYYY-MM-DD)
parametersarraySiArray de parametros del analisis de sangre
metadataobjectNoMetadatos 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

CampoTipoDescripcion
comparison_idstringIdentificador unico para esta comparacion (formato: CMP-XXXXXXXX)
comparison_summaryobjectResumen general: hallazgos clave, tendencia general, fechas de informes, intervalo de tiempo
parameter_analysisarrayAnalisis detallado por parametro con tipo de cambio y significancia clinica
health_assessmentobjectAreas de preocupacion, mejora, desarrollos positivos, factores de riesgo
recommendationsobjectPruebas de seguimiento, acciones inmediatas, modificaciones de estilo de vida, derivaciones a especialistas
detailed_interpretationobjectSecciones narrativas de IA con resumen ejecutivo y recomendaciones clinicas

Estructura del Objeto parameter_analysis

CampoTipoDescripcion
parameter_namestringNombre del parametro
report1_valuestringValor del primer informe con unidad
report2_valuestringValor del segundo informe con unidad
change_typestringincreased, decreased o stable
change_magnitudestringsignificant, moderate o minor
clinical_significancestringExplicacion IA de lo que significa el cambio
trend_assessmentstringpositive, 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
  }
}
Palabras clave de respuesta

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.

ValorPredeterminadoDescripción
comprehensiveAnálisis completo con estadísticas, gráficos e interpretación IA
statisticalSolo análisis estadístico
summarySolo resumen de alto nivel

health_goals API Nutrición

Objetivos de salud para recomendaciones nutricionales personalizadas. Se pueden proporcionar múltiples valores como array.

ValorDescripción
maintainMantener salud actual (predeterminado)
improve_energyEnfoque en niveles de energía
weight_managementGestión saludable del peso
heart_healthSalud cardiovascular
immune_supportSoporte al sistema inmunológico
digestive_healthBienestar digestivo
bone_healthSalud ósea
mental_clarityFunció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.

ValorDescripción
low_sodiumIngesta reducida de sodio
low_sugarIngesta reducida de azúcar
low_fatIngesta reducida de grasas
gluten_freeSin gluten
dairy_freeSin lácteos
nut_freeSin frutos secos
soy_freeSin soja
egg_freeSin huevos
halalConforme halal
kosherConforme kosher
Nota

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.

ValorDescripción
omnivoreSin restricciones (predeterminado)
vegetarianSin carne
veganSin productos animales
pescatarianVegetariano + pescado
ketoDieta cetogénica
paleoDieta paleolítica
mediterraneanDieta mediterránea

activity_level API Nutrición

Nivel de actividad física para cálculos calóricos y nutricionales.

ValorDescripción
sedentaryPoco o ningún ejercicio
lightEjercicio ligero 1-3 días/semana
moderateEjercicio moderado 3-5 días/semana (predeterminado)
activeEjercicio intenso 6-7 días/semana
very_activeEjercicio muy intenso o trabajo físico

budget API Nutrición

Nivel de presupuesto para recomendaciones de alimentos y suplementos.

ValorDescripción
lowOpciones económicas
moderateOpciones equilibradas (predeterminado)
highOpciones premium

gender Todas las APIs

Sexo del paciente para rangos de referencia y recomendaciones personalizadas.

ValorDescripción
malePaciente masculino
femalePaciente femenino
otherOtro 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.

ValorDescripción
normalDentro del rango de referencia normal
lowPor debajo del rango normal
highPor encima del rango normal
critical_lowCríticamente bajo (atención inmediata requerida)
critical_highCríticamente alto (atención inmediata requerida)
borderline_lowLigeramente por debajo del rango normal
borderline_highLigeramente por encima del rango normal

trend_assessment APIs Comparación & Tendencias

Evaluación general de las tendencias de los parámetros entre pruebas.

ValorDescripción
positiveMejorado (hacia el rango normal)
negativeEmpeorado (alejándose del rango normal)
stableRelativamente sin cambios entre pruebas
improvingTendencia general de mejora
worseningTendencia 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.

ValorDescripción
upwardValores aumentando a lo largo del tiempo
downwardValores disminuyendo a lo largo del tiempo
stableCambio mínimo a lo largo del tiempo

trend_strength API Análisis de tendencias

Magnitud de la tendencia observada.

ValorDescripción
strong>15% de cambio entre períodos
moderate5-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.

ValorDescripción
excellentTodos los marcadores en el rango óptimo
goodLa mayoría de los marcadores en el rango normal
fairAlgunos marcadores necesitan atención
poorMúltiples marcadores necesitan atención

Endpoints Utilitarios

POST /api/quota/check

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

Publicado: 23 de marzo de 2026

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.

100+
Idiomas
9
Categorías de enfermedades
14
Relaciones familiares

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.

Características principales
  • 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

EndpointMétodoDescripciónAuth
/api/v1/family-health/analyzePOSTGenerar informe completo de evaluación de riesgosRequerido (1 crédito)
/api/v1/family-health/validatePOSTValidar datos de solicitud (sin consumo de cuota)Requerido (Gratis)
/api/v1/family-health/supported-languagesGETListar 100+ idiomas soportadosNo requerido
/api/v1/family-health/condition-categoriesGETListar categorías de enfermedadesNo requerido
/api/v1/family-health/family-relationsGETListar tipos de relaciones familiaresNo requerido
/api/v1/family-health/sandbox/analyzePOSTPrueba sandbox con datos de ejemploRequerido (Gratis)
POST /api/v1/family-health/analyze Publicado 23.03.2026

Genere un informe completo de evaluación de riesgos de salud familiar impulsado por IA.

Parámetros de solicitud (JSON Body)

ParámetroTipoRequeridoDescripción
usernamestringSu nombre de usuario API
passwordstringSu contraseña API
patient_dataobjectInformación del paciente
family_membersarraySí*Miembros de la familia (máx. 100). *Requerido si falta health_profile
health_profileobjectSí*Perfil de salud. *Requerido si faltan family_members
blood_test_dataarrayNoDatos de análisis de sangre
languagestringNoCó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ódigoHTTPDescripción
AUTH_1001401Credenciales de autenticación faltantes
AUTH_1002401Usuario o contraseña inválidos
QUOTA_1101403Cuota API insuficiente
VAL_2001400Campo obligatorio faltante
VAL_2003400Código de idioma no soportado
VAL_2007400Estructura de datos de paciente inválida
PROC_3001500Fallo en generación de informe
SRV_5001500Error interno del servidor

Endpoint Sandbox Family Health

Pruebe su integración sin consumir créditos.

APIEndpoint SandboxDescripción
Family Health/api/v1/family-health/sandbox/analyzeDatos de informe de ejemplo

Endpoints de referencia (Sin auth)

EndpointMétodoDescripción
/api/v1/family-health/supported-languagesGET100+ idiomas soportados
/api/v1/family-health/condition-categoriesGET9 categorías de enfermedades
/api/v1/family-health/family-relationsGET14 relaciones familiares

ICR - Reconocimiento Inteligente de Caracteres API

Lanzado: 14 de febrero de 2026

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.

79%
Más rápido que OCR
99,7%
Tasa de precisión
100+
Idiomas

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.

Características Principales de ICR
  • 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

EndpointMétodoDescripciónCosto
/api/icr/v1/extractPOSTExtracción de texto ICR0,5 crédito
/api/icr/v1/sandboxPOSTPrueba sandbox ICRGratis
/api/icr/v1/kanPOSTAnálisis de documentos de sangre0,5 crédito
/api/icr/v1/kan/sandboxPOSTPrueba sandbox análisis de sangreGratis
/api/icr/infoGETDocumentación y características de la APIGratis
/api/icr/healthGETEndpoint de verificación de saludGratis
/api/icr/v1/quotaPOSTVerificar créditos ICR restantesGratis
POST /api/icr/v1/extract Lanzado 14.02.2026

Extrae todo el contenido textual de los documentos cargados utilizando la tecnología ICR de Kantesti.

Parámetros de Solicitud

ParámetroTipoRequeridoDescripción
usernamestringSu nombre de usuario API
passwordstringSu contraseña API
filefileArchivo de documento (PDF, JPG, JPEG, PNG)
languagestringNoIdioma 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

Resultados de Benchmark — Kantesti ICR vs OCR Tradicional
MétricaKantesti ICROCR TradicionalMejora
Velocidad de Procesamiento1,2s promedio5,7s promedio79% más rápido
Precisión del Texto99,7%92,1%+7,6%
Detección de Tablas98,9%71,2%+27,7%
Salida EstructuradaJSON con secciones, tablas, metadatosTexto sin procesarEstructura completa
Soporte Multilingüe100+ idiomas30-50 idiomas2x+ cobertura