Endpoints da API

Referencia completa para todos os endpoints da API de Exames de Sangue Kantesti com exemplos de codigo em multiplas linguagens.

URL Base
https://app.aibloodtestinterpret.com

Changelog

Acompanhe versoes da API, atualizacoes e informacoes de migracao. Use os endpoints recomendados para novas integracoes.

Endpoints Estaveis Atuais

Estes endpoints sao recomendados para uso em producao e novas integracoes.

APIEndpointStatus
Analise de Sangue v11 /api/v11/01-06-2025/analyze Recomendado
Analise de Sangue (Pontuacao de Saude) v11 /api/v11/health-score/analyze Recomendado
IA Nutricao v1 /api/v1/nutrition/diet-plan/analyze Estavel
Comparacao IA de Exames de Sangue v1 /api/v1/bloodtest/comparison/analyze Estavel
Avaliação de Riscos de Saúde Familiar v1 /api/v1/family-health/analyze Publicado 23.03.2026
ICR - Reconhecimento Inteligente de Caracteres v1 /api/icr/v1/extract Lançado 14.02.2026
ICR Kan - Extração de Análise de Sangue v1 /api/icr/v1/kan Lançado 14.02.2026
Analise de Tendencias v1 /api/v1/analytics/trends/analyze Estavel

Historico de Versoes

DataVersaoAlteracoes
Março 2026 Family Health v1 API de Avaliação de Riscos de Saúde Familiar publicada — Análise de riscos hereditários por IA, suporte a 100+ idiomas, análise de árvore genealógica, cronograma de cuidados preventivos, recomendações de triagem genética, modo sandbox
Fevereiro 2026 ICR v1 API ICR (Reconhecimento Inteligente de Caracteres) lançada — 79% mais rápida que OCR, saída JSON estruturada, detecção de tipo de documento, extração de tabelas, integração Kan para análise de sangue
Dezembro 2025 Mais Recente Tratamento de erros aprimorado, precisao de 98,7%, suporte a 100 idiomas
Junho 2025 v11 Analise de sangue v11, endpoint de pontuacao de saude, suporte multi-arquivo
Abril 2025 v9 Modelo api_parameters_v9, extracao de parametros aprimorada
Marco 2025 v8 Suporte a upload multi-arquivo, processamento em lote

Endpoints Legados

Estes endpoints sao mantidos para compatibilidade retroativa, mas nao sao recomendados para novas integracoes.

VersaoEndpointStatus
v10 /api/v10/health-score/analyze Legado
v9 /api/v9/14-04-2025/analyze Legado
v8 /api/v8/31-03-2025/analyze Legado
v6 /api/v6-1/21-11-2024/analyze Legado
v3 /api/v3/10-10-2024/analyze Legado
Nota

Endpoints legados sao mantidos para compatibilidade retroativa, mas nao sao recomendados para novas integracoes. Por favor, migre para os endpoints estaveis atuais para melhor desempenho e suporte.

Referencia de Idiomas Suportados

A API Kantesti suporta 100 idiomas para localizacao de respostas. Use o parametro language com um dos codigos ISO 639-1 listados abaixo. Se nao especificado, as respostas sao retornadas em ingles (en) por padrao.

Idioma Padrao

Se nenhum parametro language for fornecido, a API retorna respostas em ingles (en).

Principais Idiomas Mundiais

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

Idiomas Europeus

CodigoIdiomaNome Nativo
itItalianoItaliano
nlHolandesNederlands
plPolonesPolski
elGregoΕλληνικά
svSuecoSvenska
noNorueguesNorsk
daDinamarquesDansk
fiFinlandesSuomi
csTchecoČeština
ukUcranianoУкраїнська
roRomenoRomână
huHungaroMagyar
bgBulgaroБългарски
hrCroataHrvatski
skEslovacoSlovenčina
slEslovenoSlovenščina
srServioСрпски
ltLituanoLietuvių
lvLetaoLatviešu
etEstonianoEesti
caCatalaoCatalà
euBascoEuskara
glGalegoGalego
cyGalesCymraeg
gaIrlandesGaeilge
isIslandesÍslenska
mtMaltesMalti
sqAlbanesShqip
mkMacedonioМакедонски
bsBosnioBosanski
lbLuxemburguesLëtzebuergesch
beBielorrussoБеларуская

Idiomas do Oriente Medio e Asia Central

CodigoIdiomaNome Nativo
heHebraicoעברית
faPersaفارسی
azAzerbaijanoAzərbaycan
kaGeorgianoქართული
hyArmenioՀայdelays
kkCazaqueҚазақша
uzUzbequeOʻzbek
tgTadjiqueТоҷикӣ
kyQuirguizКыргызча
tkTurcomanoTürkmen
mnMongolМонгол
psPachtoپښتو
kuCurdoKurdî

Idiomas do Sul da Asia

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

Idiomas do Sudeste Asiatico

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

Idiomas Africanos

CodigoIdiomaNome Nativo
afAfricanerAfrikaans
swSuailiKiswahili
amAmaricoአማርኛ
haHaucaHausa
yoIorubaYorùbá
igIgboIgbo
zuZuluisiZulu
xhXhosaisiXhosa
soSomaliSoomaali
mgMalgaxeMalagasy

Outros Idiomas

CodigoIdiomaNome Nativo
laLatimLatina
eoEsperantoEsperanto
yiIidicheייִדיש
htCrioulo HaitianoKreyòl Ayisyen
miMaoriTe Reo Māori
smSamoanoGagana Samoa
toTonganesLea Faka-Tonga
hawHavaianoʻŌlelo Hawaiʻi

API de Analise de Exames de Sangue

Analise imagens ou PDFs de exames de sangue usando IA para extrair parametros e gerar interpretacoes medicas abrangentes.

POST /api/v11/01-06-2025/analyze Mais Recente

Endpoint de producao para analise de exames de sangue. Consome 1 credito por requisicao.

Parametros da Requisicao

ParametroTipoObrigatorioDescricao
usernamestringSimSeu usuario da API
passwordstringSimSua senha da API
filefileSimImagem do exame de sangue (PNG, JPG, WEBP) ou arquivo PDF. Max 20MB.
languagestringNaoCodigo do idioma da resposta (padrao: en). Suporta 100+ idiomas.

Exemplo cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze" \
  -F "username=SEU_USUARIO" \
  -F "password=SUA_SENHA" \
  -F "language=pt" \
  -F "file=@exame_sangue.pdf"

Exemplo Python

import requests

def analisar_exame_sangue(caminho_arquivo: str, usuario: str, senha: str, idioma: str = "pt"):
    url = "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze"

    with open(caminho_arquivo, "rb") as f:
        files = {"file": (caminho_arquivo, f, "application/pdf")}
        data = {"username": usuario, "password": senha, "language": idioma}
        response = requests.post(url, files=files, data=data, timeout=120)
        return response.json()

resultado = analisar_exame_sangue("exame_sangue.pdf", "seu_usuario", "sua_senha")
print(resultado)

Referência dos campos de resposta

Nível raiz
CampoTipoDescrição
statusstring"success" ou "error"
dataobjectContém todos os resultados da análise
timestampstringTimestamp ISO 8601 da resposta
api_versionstringVersão da API utilizada
Objeto data.metadata
CampoTipoDescrição
lab_datestringData da coleta de sangue (AAAA-MM-DD)
results_datestringData de emissão dos resultados (AAAA-MM-DD)
lab_namestringNome do laboratório
lab_citystringCidade do laboratório
lab_countrystringPaís do laboratório
patient_namestringNome completo do paciente (apenas metadados, não enviado para interpretação)
patient_agestringIdade do paciente
patient_sexstring"male", "female" ou "other"
Elemento do array data.parameters
CampoTipoDescrição
categorystringCategoria do parâmetro (ex: "Hemograma", "Perfil lipídico")
long_namestringNome completo do parâmetro
short_namestringNome abreviado do parâmetro
resultstringValor medido
unitstringUnidade de medida
range_minstringIntervalo de referência mínimo
range_maxstringIntervalo de referência máximo
evaluationstringStatus do resultado. Ver valores de avaliação
Elemento do array data.interpretation
CampoTipoDescrição
titlestringTítulo da seção (ex: "Avaliação geral de saúde")
contentstringInterpretação médica gerada por IA

Exemplo de resposta completa

{
  "status": "success",
  "data": {
    "metadata": {
      "patient_name": "Anna Müller",
      "lab_name": "MedLab Diagnostics International",
      "lab_city": "São Paulo",
      "lab_country": "Brasil",
      "lab_date": "2025-12-15",
      "results_date": "2025-12-16",
      "patient_age": "38",
      "patient_sex": "female"
    },
    "parameters": [
      {
        "short_name": "WBC",
        "long_name": "Contagem de glóbulos brancos",
        "category": "Hemograma completo",
        "result": "6.8",
        "unit": "10^9/L",
        "evaluation": "normal",
        "range_min": "4.0",
        "range_max": "11.0",
        "short_description": "Mede o número total de glóbulos brancos.",
        "long_description": "Os glóbulos brancos (leucócitos) são componentes essenciais do sistema imunológico..."
      },
      {
        "short_name": "RBC",
        "long_name": "Contagem de glóbulos vermelhos",
        "category": "Hemograma completo",
        "result": "4.52",
        "unit": "10^12/L",
        "evaluation": "normal",
        "range_min": "3.8",
        "range_max": "5.8",
        "short_description": "Mede o número total de glóbulos vermelhos.",
        "long_description": "Os glóbulos vermelhos (eritrócitos) transportam oxigênio dos pulmões para os tecidos..."
      },
      {
        "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 nos glóbulos vermelhos que transporta oxigênio.",
        "long_description": "A hemoglobina é a proteína contendo ferro nos glóbulos vermelhos responsável pelo transporte de oxigênio..."
      },
      {
        "short_name": "GLU",
        "long_name": "Glicose em jejum",
        "category": "Painel metabólico",
        "result": "102",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "70",
        "range_max": "140",
        "short_description": "Mede o nível de açúcar no sangue em jejum.",
        "long_description": "A glicose em jejum é um indicador chave de como o corpo metaboliza o açú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": "Mede o colesterol total no sangue.",
        "long_description": "O colesterol total é a soma do colesterol HDL, LDL e 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": "Mede o nível de colesterol 'ruim'.",
        "long_description": "O colesterol LDL pode se acumular nas paredes das artérias..."
      }
    ],
    "interpretation": [
      {
        "title": "Avaliação geral de saúde",
        "shortcode": "overall_health_assessment",
        "subsections": [
          {
            "subtitle": "Visão geral completa",
            "items": [
              {"item": "A paciente apresenta parâmetros hematológicos geralmente saudáveis com todos os valores do hemograma dentro da normalidade."},
              {"item": "O perfil lipídico mostra áreas que requerem atenção, particularmente os níveis de colesterol LDL."}
            ]
          }
        ]
      },
      {
        "title": "Recomendações",
        "shortcode": "recommendations",
        "subsections": [
          {
            "subtitle": "Modificações no estilo de vida",
            "items": [
              {"item": "Aumentar a atividade física aeróbica para pelo menos 150 minutos por semana."},
              {"item": "Adotar uma dieta do tipo mediterrâneo rica em vegetais, frutas e gorduras saudáveis."}
            ]
          }
        ]
      }
    ]
  },
  "api_version": "v11",
  "timestamp": "2025-12-16T14:32:18Z"
}
Palavras-chave de resposta

O campo evaluation usa valores padronizados. Ver valores de avaliação.

Endpoints Sandbox

Endpoints sandbox retornam dados de teste realistas sem consumir cota da API. Use-os para desenvolvimento e testes de integracao.

Beneficios do Sandbox
  • Sem consumo de cota
  • Retorna dados de teste realistas
  • Mesmo formato de requisicao da producao
  • Teste sua integracao antes de ir para producao
APIEndpoint Sandbox
Exame de Sangue v11/api/v11/01-06-2025/sandbox
Exame de Sangue v11-health/api/v11/health-score/sandbox
IA Nutricional/api/v1/nutrition/diet-plan/sandbox
Comparacao de Exames/api/v1/bloodtest/comparison/sandbox
Analise de Tendencias/api/v1/analytics/trends/sandbox
ICR Extract/api/icr/v1/sandbox
ICR Kan (Análise de Sangue)/api/icr/v1/kan/sandbox
API de Comparação vs API de Análise de Tendências

Escolha a API certa para seu caso de uso:

FuncionalidadeComparação IA de Exames de SangueAnálise de Tendências
Foco PrincipalComparação narrativa IAAnálise estatística de tendências
Processamento IANarrativa IA completaIA aprimorada + estatísticas
Tipo de SaídaResumos narrativosGráficos, estatísticas, padrões
Ideal ParaO que mudou entre examesAcompanhamento de parâmetros a longo prazo
Min Exames22
Max Exames2050

API de Analise de Tendencias

Analise tendencias de parametros de saude ao longo do tempo usando reconhecimento de padroes com IA. Identifique melhorias, deterioracoes e insights acionaveis a partir de dados historicos de exames de sangue.

IA Nutricional com Suplementos

Gere planos nutricionais personalizados, recomendações de dieta e sugestões de suplementos baseados na análise de exames de sangue.

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

Gera recomendações abrangentes de nutrição e suplementos baseadas nos parâmetros de exames de sangue e perfil do paciente.

Esquema do Objeto Paciente

Descrição detalhada de todos os campos disponíveis para o objeto paciente:

Campo Tipo Obrigatório Padrão Descrição
age integer Sim - Idade do paciente em anos (18-120)
gender string Sim - Sexo do paciente. Ver valores
weight number Não null Peso em kg (para cálculos calóricos)
height number Não null Altura em cm (para cálculos de IMC)
conditions array Não [] Condições médicas. Ver valores
allergies array Não [] Alergias alimentares. Ver valores
dietary_preferences array Não [] Preferências alimentares. Ver valores
activity_level string Não "moderate" Nível de atividade física. Ver valores
dietary_restrictions array Não [] Restrições alimentares (ex: sem glúten, sem lactose)
liked_foods array Não [] Alimentos preferidos para personalização do plano
disliked_foods array Não [] Alimentos a evitar nas recomendações
meal_frequency integer Não 3 Número de refeições por dia (1-6)
budget string Não "moderate" Nível de orçamento: "low", "moderate", "high"
medications array Não [] Medicamentos atuais (para interações)

Referência de campos de resposta

Objeto nutrition_plan.educational_insights
Campo Tipo Descrição
blood_marker_education array Conteúdo educativo sobre os marcadores sanguíneos analisados
nutrition_principles array Princípios nutricionais gerais aplicáveis ao paciente
Elemento do array blood_marker_education
Campo Tipo Descrição
marker string Nome do marcador sanguíneo (ex: "Vitamina D", "Colesterol")
explanation string Explicação educativa sobre a importância do marcador
normal_range string Faixa de valores normais para o marcador
Elemento do array food_recommendations.power_foods
Campo Tipo Descrição
food string Nome do alimento recomendado
nutrients array Lista dos nutrientes principais fornecidos por este alimento
serving string Tamanho da porção recomendada
why string Explicação do porquê este alimento é benéfico
Elemento do array supplement_recommendations
Campo Tipo Descrição
supplement string Nome do suplemento
dosage string Dosagem diária recomendada
timing string Melhor momento para tomar (ex: "Com o café da manhã")
duration string Duração recomendada da suplementação
reason string Justificativa baseada nos resultados dos exames

Exemplo cURL completo

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "seu_nome_usuario",
    "password": "sua_senha",
    "language": "pt",
    "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"]
  }'

Resposta 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": "A vitamina D é essencial para a saúde óssea, função imunológica e regulação do humor. Seu nível de 18 ng/mL indica deficiência que pode afetar a absorção de cálcio e a saúde geral.",
            "normal_range": "30-50 ng/mL"
          },
          {
            "marker": "Colesterol LDL",
            "explanation": "O colesterol LDL, frequentemente chamado de 'colesterol ruim', pode se acumular nas paredes arteriais. Seu nível de 140 mg/dL está elevado e pode aumentar o risco cardiovascular.",
            "normal_range": "< 100 mg/dL"
          }
        ],
        "nutrition_principles": [
          "Priorize ácidos graxos ômega-3 para saúde cardíaca",
          "Aumente fibras solúveis para reduzir colesterol LDL",
          "Inclua alimentos ricos em vitamina D e exposição solar"
        ]
      }
    },
    "food_recommendations": {
      "power_foods": [
        {
          "food": "Salmão selvagem",
          "nutrients": ["Ômega-3", "Vitamina D", "Proteínas"],
          "serving": "150g, 3 vezes por semana",
          "why": "Excelente fonte de ômega-3 e vitamina D natural para saúde cardíaca e óssea"
        },
        {
          "food": "Aveia integral",
          "nutrients": ["Beta-glucana", "Fibras", "Magnésio"],
          "serving": "50g por dia no café da manhã",
          "why": "As fibras solúveis da aveia ajudam a reduzir a absorção do colesterol LDL"
        },
        {
          "food": "Azeite de oliva extra virgem",
          "nutrients": ["Gorduras monoinsaturadas", "Polifenóis", "Vitamina E"],
          "serving": "2-3 colheres de sopa por dia",
          "why": "Gorduras saudáveis mediterrâneas melhoram o perfil lipídico e protegem o coração"
        },
        {
          "food": "Espinafre",
          "nutrients": ["Ferro", "Folato", "Vitamina K"],
          "serving": "100g por dia, cru ou cozido",
          "why": "Rico em ferro e antioxidantes para energia e saúde cardiovascular"
        }
      ]
    },
    "supplement_recommendations": [
      {
        "supplement": "Vitamina D3",
        "dosage": "2000-4000 UI por dia",
        "timing": "Com o café da manhã (refeição com gorduras)",
        "duration": "3-6 meses, depois retestar níveis sanguíneos",
        "reason": "Seu nível de 18 ng/mL está abaixo do ideal de 30-50 ng/mL"
      },
      {
        "supplement": "Ômega-3 (EPA/DHA)",
        "dosage": "1000-2000mg EPA+DHA por dia",
        "timing": "Com as refeições principais",
        "duration": "Contínuo para saúde cardíaca",
        "reason": "Ajuda a reduzir triglicerídeos e melhora a relação HDL/LDL"
      },
      {
        "supplement": "Coenzima Q10",
        "dosage": "100mg por dia",
        "timing": "Com a refeição da manhã",
        "duration": "Mínimo 3 meses",
        "reason": "Apoia a saúde cardíaca, particularmente importante com hipertensão"
      }
    ]
  },
  "api_version": "v1",
  "timestamp": "2025-12-22T10:30:00Z"
}
Palavras-chave de resposta

Para uma lista completa de todos os valores possíveis de resposta, consulte a seção Palavras-chave de saída.

API de Comparação de Exames de Sangue

Compare multiplos exames de sangue para identificar mudancas, melhorias e areas que requerem atencao com analise baseada em IA. Obtenha resumos narrativos completos de IA explicando o que mudou entre os exames.

POST /api/v1/bloodtest/comparison/analyze

Analisa 2-20 exames de sangue e fornece comparacao detalhada com insights narrativos gerados por IA.

Requisitos
  • Minimo de 2 exames de sangue necessarios
  • Maximo de 20 exames de sangue por requisicao
  • Cada exame deve incluir lab_date ou results_date
  • Pelo menos um parametro comum entre os exames

Parametros da Requisicao

ParametroTipoObrigatorioPadraoDescricao
usernamestringSim-Seu usuario da API
passwordstringSim-Sua senha da API
languagestringNaoenIdioma da resposta. Ver idiomas suportados
blood_testsarraySim-Array de objetos de exames de sangue (2-20 exames)

Estrutura do Array blood_tests

CampoTipoObrigatorioDescricao
lab_datestringSim*Data do teste no formato YYYY-MM-DD
results_datestringSim*Alternativa ao lab_date (YYYY-MM-DD)
parametersarraySimArray de parametros de exames de sangue
metadataobjectNaoMetadados adicionais (lab_name, notas, etc.)

*lab_date ou results_date e obrigatorio para cada exame de sangue.

Exemplo cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "SEU_USUARIO",
    "password": "SUA_SENHA",
    "language": "pt",
    "blood_tests": [
      {
        "lab_date": "2025-06-15",
        "lab_name": "Laboratorio Medico Central",
        "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 Central",
        "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"}
        ]
      }
    ]
  }'

Exemplo Python

import requests
from typing import Dict, List

def comparar_exames_sangue(
    usuario: str,
    senha: str,
    exames_sangue: List[Dict],
    idioma: str = "pt"
) -> Dict:
    """
    Compara multiplos exames de sangue com analise narrativa baseada em IA.

    Args:
        usuario: Usuario da API
        senha: Senha da API
        exames_sangue: Lista de objetos de exames (2-20 exames)
        idioma: Idioma da resposta

    Returns:
        dict: Resultados da comparacao com insights narrativos de IA
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze"

    if len(exames_sangue) < 2:
        raise ValueError("Minimo de 2 exames de sangue necessarios")
    if len(exames_sangue) > 20:
        raise ValueError("Maximo de 20 exames de sangue permitidos")

    payload = {
        "username": usuario,
        "password": senha,
        "language": idioma,
        "blood_tests": exames_sangue
    }

    response = requests.post(url, json=payload, timeout=120)
    response.raise_for_status()
    return response.json()

# Exemplo de uso
if __name__ == "__main__":
    exames = [
        {
            "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_exames_sangue("seu_usuario", "sua_senha", exames)

    print(f"Tendencia geral: {resultado['data']['comparison_summary']['overall_trend']}")
    for param in resultado['data']['parameter_analysis']:
        print(f"{param['parameter_name']}: {param['trend_assessment']}")

Referencia dos Campos de Resposta

CampoTipoDescricao
comparison_idstringIdentificador unico desta comparacao (formato: CMP-XXXXXXXX)
comparison_summaryobjectResumo geral: key_findings, overall_trend, datas dos relatorios, time_interval
parameter_analysisarrayAnalise detalhada por parametro com tipo de mudanca e significancia clinica
health_assessmentobjectAreas de preocupacao, melhoria, desenvolvimentos positivos, fatores de risco
recommendationsobjectTestes de acompanhamento, acoes imediatas, modificacoes de estilo de vida, encaminhamentos a especialistas
detailed_interpretationobjectSecoes narrativas de IA com resumo executivo e recomendacoes clinicas

Estrutura do Objeto parameter_analysis

CampoTipoDescricao
parameter_namestringNome do parametro
report1_valuestringValor do primeiro relatorio com unidade
report2_valuestringValor do segundo relatorio com unidade
change_typestringincreased, decreased ou stable
change_magnitudestringsignificant, moderate ou minor
clinical_significancestringExplicacao da IA sobre o que a mudanca significa
trend_assessmentstringpositive, negative ou neutral

Exemplo de Resposta

{
  "api_version": "1.0.0",
  "status": "success",
  "message": "Comparacao de exames de sangue concluida com sucesso",
  "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 os relatorios",
      "key_findings": [
        "Niveis de hemoglobina e RBC normalizados indicando resolucao de anemia",
        "Glicose e HbA1c melhoraram para faixa normal sugerindo melhor controle glicemico",
        "Perfil lipidico melhorou com colesterol total, LDL, HDL e triglicerideos 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": "Melhoria de anemia para niveis normais 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 proximo da faixa ideal, reduzindo risco de aterosclerose",
        "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 melhorado protege contra doencas cardiacas",
        "trend_assessment": "positive"
      }
    ],
    "health_assessment": {
      "overall_health_trend": "improved",
      "areas_of_improvement": [
        "Correcao de anemia",
        "Controle glicemico",
        "Normalizacao do perfil lipidico",
        "Status de vitamina D e ferro"
      ],
      "areas_of_concern": [],
      "positive_developments": [
        "Resolucao de anemia",
        "Glicose e HbA1c normais",
        "Perfil de risco cardiovascular melhorado"
      ],
      "risk_factors": [
        "Anemia ferropriva previa",
        "Dislipidemia anterior",
        "Historico de metabolismo de glicose prejudicado"
      ]
    },
    "recommendations": {
      "immediate_actions": [
        "Continuar suplementacao atual de ferro e vitamina D",
        "Manter controle glicemico e lipidico com dieta e exercicio"
      ],
      "follow_up_tests": [
        "Repetir hemograma e estudos de ferro em 3 meses",
        "Monitorar glicose em jejum e HbA1c trimestralmente",
        "Reavaliacao do painel lipidico em 6 meses"
      ],
      "lifestyle_modifications": [
        "Adotar dieta saudavel para o coracao com baixo teor de gorduras saturadas",
        "Aumentar atividade fisica para manter saude metabolica"
      ],
      "specialist_referrals": [
        "Consultar hematologista se anemia recorrer",
        "Encaminhamento para endocrinologista se controle de glicose piorar"
      ],
      "monitoring_frequency": "3 meses"
    },
    "detailed_interpretation": {
      "sections": [
        {
          "title": "Resumo Executivo",
          "content": "O paciente mostra melhoria acentuada em anemia, metabolismo de glicose, perfil lipidico e status de vitaminas ao longo de 6 meses."
        },
        {
          "title": "Recomendacoes Clinicas",
          "content": "Continuar suplementacao e medidas de estilo de vida. Monitorar regularmente hemograma, ferro, glicose e lipidios."
        }
      ]
    },
    "summary": {
      "improved_parameters": 13,
      "stable_parameters": 0,
      "worsened_parameters": 0,
      "overall_trend": "improved"
    },
    "sandbox_mode": false
  }
}
Palavras-chave de Resposta

Os campos de resposta usam valores padronizados: overall_trend e trend_assessment (ver avaliacao de tendencias), change_type (increased, decreased, stable).

Referência de Palavras-chave

Referência completa para todos os valores de palavras-chave de entrada usados nos endpoints da API Kantesti. Use estes valores exatos nas requisições da API.

analysis_type API Análise de Tendências

Especifica o tipo de análise de tendências a ser realizada.

ValorPadrãoDescrição
comprehensiveAnálise completa com estatísticas, gráficos e interpretação IA
statisticalApenas análise estatística
summaryApenas resumo de alto nível

health_goals API Nutrição

Objetivos de saúde para recomendações nutricionais personalizadas. Múltiplos valores podem ser fornecidos como array.

ValorDescrição
maintainManter saúde atual (padrão)
improve_energyFoco nos níveis de energia
weight_managementGerenciamento saudável de peso
heart_healthSaúde cardiovascular
immune_supportSuporte ao sistema imunológico
digestive_healthBem-estar digestivo
bone_healthSaúde óssea
mental_clarityFunção cognitiva

dietary_restrictions API Nutrição

Restrições alimentares e alergias. Múltiplos valores podem ser fornecidos como array. Texto livre também é aceito para restrições personalizadas.

ValorDescrição
low_sodiumIngestão reduzida de sódio
low_sugarIngestão reduzida de açúcar
low_fatIngestão reduzida de gordura
gluten_freeSem glúten
dairy_freeSem laticínios
nut_freeSem nozes
soy_freeSem soja
egg_freeSem ovos
halalConforme halal
kosherConforme kosher
Nota

Texto livre também é aceito para restrições alimentares personalizadas não listadas acima.

dietary_preferences API Nutrição

Preferências de estilo de vida alimentar para planejamento de refeições.

ValorDescrição
omnivoreSem restrições (padrão)
vegetarianSem carne
veganSem produtos animais
pescatarianVegetariano + peixe
ketoDieta cetogênica
paleoDieta paleolítica
mediterraneanDieta mediterrânea

activity_level API Nutrição

Nível de atividade física para cálculos calóricos e nutricionais.

ValorDescrição
sedentaryPouco ou nenhum exercício
lightExercício leve 1-3 dias/semana
moderateExercício moderado 3-5 dias/semana (padrão)
activeExercício intenso 6-7 dias/semana
very_activeExercício muito intenso ou trabalho físico

budget API Nutrição

Nível de orçamento para recomendações de alimentos e suplementos.

ValorDescrição
lowOpções econômicas
moderateOpções equilibradas (padrão)
highOpções premium

gender Todas as APIs

Sexo do paciente para faixas de referência e recomendações personalizadas.

ValorDescrição
malePaciente masculino
femalePaciente feminino
otherOutro ou não especificado

Palavras-chave de saída

As seguintes palavras-chave aparecem nas respostas da API. Entender esses valores ajuda a interpretar e exibir os resultados corretamente.

evaluation APIs Análise de sangue & Comparação

Status de avaliação do parâmetro indicando como o resultado se compara às faixas de referência.

ValorDescrição
normalDentro da faixa de referência normal
lowAbaixo da faixa normal
highAcima da faixa normal
critical_lowCriticamente baixo (atenção imediata necessária)
critical_highCriticamente alto (atenção imediata necessária)
borderline_lowLigeiramente abaixo da faixa normal
borderline_highLigeiramente acima da faixa normal

trend_assessment APIs Comparação & Tendências

Avaliação geral das tendências dos parâmetros entre os testes.

ValorDescrição
positiveMelhorado (em direção à faixa normal)
negativePiorado (afastando-se da faixa normal)
stableRelativamente inalterado entre os testes
improvingTendência geral de melhoria
worseningTendência geral de piora

trend_direction API Análise de tendências

Direção das mudanças de valor dos parâmetros ao longo do tempo.

ValorDescrição
upwardValores aumentando ao longo do tempo
downwardValores diminuindo ao longo do tempo
stableMudança mínima ao longo do tempo

trend_strength API Análise de tendências

Magnitude da tendência observada.

ValorDescrição
strong>15% de mudança entre os períodos
moderate5-15% de mudança entre os períodos
mild<5% de mudança entre os períodos

health_score / score_interpretation API Pontuação de saúde

Interpretação geral da pontuação de saúde com base nos parâmetros analisados.

ValorDescrição
excellentTodos os marcadores na faixa ideal
goodA maioria dos marcadores na faixa normal
fairAlguns marcadores precisam de atenção
poorMúltiplos marcadores precisam de atenção

Endpoints Utilitarios

POST /api/quota/check

Verifique sua cota de API restante. Requer autenticacao.

curl -X POST "https://app.aibloodtestinterpret.com/api/quota/check" \
  -H "Content-Type: application/json" \
  -d '{"username": "SEU_USUARIO", "password": "SUA_SENHA"}'

API de Avaliação de Riscos de Saúde Familiar

Publicado: 23 de março de 2026

A API Kantesti de Avaliação de Riscos de Saúde Familiar é uma plataforma de análise de riscos de saúde hereditários alimentada por IA. Gera relatórios completos de saúde familiar analisando o histórico médico familiar, perfis de saúde dos pacientes e dados de exames de sangue para identificar fatores de risco hereditários e fornecer recomendações personalizadas de cuidados preventivos.

100+
Idiomas
9
Categorias de patologias
14
Relações familiares

Análise de riscos hereditários por IA

A API Family Health utiliza modelos avançados de IA para cruzar o histórico médico familiar com os dados de exames de sangue do paciente, identificando padrões de risco hereditário nas categorias cardiovascular, metabólica, oncológica, neurológica, respiratória, autoimune, genética, saúde mental e rim/fígado. Os relatórios incluem pontuação de risco, cronograma de cuidados preventivos, recomendações de triagem genética e conselhos sobre estilo de vida — tudo localizado em mais de 100 idiomas.

Funcionalidades principais
  • Análise de riscos hereditários — Classificação em risco alto, moderado e baixo
  • Análise de árvore genealógica — Mapeamento dos riscos das linhas paterna e materna
  • Correlação de exames de sangue — Cruzamento do histórico familiar com parâmetros sanguíneos
  • Recomendações de triagem genética — Sugestões personalizadas para testes genéticos
  • Cronograma de cuidados preventivos — Programas de triagem apropriados à idade
  • Análise de medicamentos — Avaliação de interações e sensibilidades hereditárias
  • 100+ idiomas suportados — Localização completa dos relatórios
  • Modo Sandbox — Teste a integração sem consumir créditos

Resumo dos endpoints

EndpointMétodoDescriçãoAuth
/api/v1/family-health/analyzePOSTGera relatório completo de avaliação de riscosObrigatório (1 crédito)
/api/v1/family-health/validatePOSTValida os dados da solicitação (sem consumo de cota)Obrigatório (Gratuito)
/api/v1/family-health/supported-languagesGETLista 100+ idiomas suportadosNão obrigatório
/api/v1/family-health/condition-categoriesGETLista categorias de patologiasNão obrigatório
/api/v1/family-health/family-relationsGETLista tipos de relações familiaresNão obrigatório
/api/v1/family-health/sandbox/analyzePOSTTeste sandbox com dados de exemploObrigatório (Gratuito)
POST /api/v1/family-health/analyze Publicado 23.03.2026

Gera um relatório completo de avaliação de riscos de saúde familiar alimentado por IA.

Parâmetros da solicitação (JSON Body)

ParâmetroTipoObrigatórioDescrição
usernamestringSimNome de usuário da API
passwordstringSimSenha da API
patient_dataobjectSimInformações do paciente
family_membersarraySim*Membros da família (máx. 100)
health_profileobjectSim*Perfil de saúde
blood_test_dataarrayNãoDados de exames de sangue
languagestringNãoCódigo do idioma (padrão: en)

Exemplo cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze" \
  -H "Content-Type: application/json" \
  -d '{"username":"USUARIO","password":"SENHA","patient_data":{"name":"Joana Silva","age":42,"gender":"female"},"family_members":[{"relation":"father","age":70,"conditions":["hypertension"]}],"language":"pt"}'

Exemplo Python

import requests
url = "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze"
payload = {"username":"USUARIO","password":"SENHA","patient_data":{"name":"Joana Silva","age":42,"gender":"female"},"family_members":[{"relation":"father","age":70,"conditions":["hypertension"]}],"language":"pt"}
response = requests.post(url, json=payload, timeout=120)
print(response.json())

Exemplo de resposta

{"status":"success","data":{"report_data":{"report_title":"Relatório de Avaliação de Riscos de Saúde Familiar","hereditary_risk_analysis":{"high_risk":[{"condition":"Doença cardiovascular","risk_score":75}]},"genetic_screening_recommendations":["Teste genético BRCA1/BRCA2"]}},"timestamp":"2026-03-23T10:30:00Z","api_version":"1.0.0"}

Códigos de erro Family Health API

CódigoHTTPDescrição
AUTH_1001401Credenciais ausentes
AUTH_1002401Credenciais inválidas
QUOTA_1101403Cota de API insuficiente
VAL_2001400Campo obrigatório ausente
VAL_2003400Código de idioma não suportado
PROC_3001500Falha na geração do relatório
SRV_5001500Erro interno do servidor

Endpoint Sandbox Family Health

Teste sua integração sem consumir créditos.

APISandboxDescrição
Family Health/api/v1/family-health/sandbox/analyzeDados de relatório de exemplo

Endpoints de referência (Sem auth)

EndpointMétodoDescrição
/api/v1/family-health/supported-languagesGET100+ idiomas suportados
/api/v1/family-health/condition-categoriesGET9 categorias de patologias
/api/v1/family-health/family-relationsGET14 relações familiares

ICR - Reconhecimento Inteligente de Caracteres API

Lançado: 14 de fevereiro de 2026

A API Kantesti ICR (Reconhecimento Inteligente de Caracteres) é uma tecnologia avançada de extração de texto de documentos que vai muito além do OCR tradicional. Alimentada pelo motor de IA proprietário da Kantesti, o ICR fornece saída JSON estruturada de qualquer tipo de documento.

79%
Mais rápido que OCR
99,7%
Taxa de precisão
100+
Idiomas

Kantesti ICR vs OCR Tradicional

Em testes de benchmark, o Kantesti ICR demonstrou desempenho 79% superior em comparação com soluções OCR tradicionais. O ICR entende a estrutura do documento, preserva layouts de tabelas, extrai metadados e retorna JSON estruturado limpo.

Recursos Principais do ICR
  • Saída JSON Estruturada — Tabelas, seções, metadados e texto bruto em formato JSON limpo
  • Detecção de Tipo de Documento — Identifica automaticamente relatórios médicos, faturas, formulários, cartas, etc.
  • Extração de Tabelas — Preserva cabeçalhos e dados das linhas com estrutura completa
  • Suporte Multi-formato — Processamento de documentos PDF, JPG, JPEG, PNG
  • Integração Análise de Sangue (Kan) — Endpoint especializado para extração de documentos de análise de sangue
  • Modo Sandbox — Teste a integração sem consumir créditos
  • Sistema de Créditos — 0,5 créditos por chamada API

Resumo dos Endpoints ICR

EndpointMétodoDescriçãoCusto
/api/icr/v1/extractPOSTExtração de texto ICR0,5 crédito
/api/icr/v1/sandboxPOSTTeste sandbox ICRGrátis
/api/icr/v1/kanPOSTAnálise de documentos de sangue0,5 crédito
/api/icr/v1/kan/sandboxPOSTTeste sandbox análise de sangueGrátis
/api/icr/infoGETDocumentação e recursos da APIGrátis
/api/icr/healthGETEndpoint de verificação de saúdeGrátis
/api/icr/v1/quotaPOSTVerificar créditos ICR restantesGrátis
POST /api/icr/v1/extract Lançado 14.02.2026

Extrai todo o conteúdo textual de documentos carregados usando a tecnologia ICR da Kantesti.

Parâmetros da Requisição

ParâmetroTipoObrigatórioDescrição
usernamestringSimSeu nome de usuário API
passwordstringSimSua senha API
filefileSimArquivo de documento (PDF, JPG, JPEG, PNG)
languagestringNãoIdioma de saída (padrão: en)

Exemplo cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/icr/v1/extract" \
  -F "username=SEU_USUARIO" \
  -F "password=SUA_SENHA" \
  -F "language=pt" \
  -F "[email protected]"

Exemplo Python

import requests

def icr_extract(file_path: str, username: str, password: str, language: str = "pt"):
    """
    Extrair texto de um documento com a API ICR Kantesti.
    79% mais rápido e 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()

# Exemplo de uso
result = icr_extract("relatorio_medico.pdf", "usuario", "senha", "pt")
print(f"Tipo de documento: {result['data']['document_type']}")
print(f"Páginas: {result['data']['page_count']}")

Exemplo de Resposta

{
  "status": "success",
  "data": {
    "document_type": "blood_test_report",
    "page_count": 1,
    "pages": [{"page_number": 1, "content": {"raw_text": "Hospital Universitário de Colônia - Hemograma...", "sections": [{"type": "header", "content": "Hemograma"}], "tables": [{"headers": ["Teste", "Resultado", "Unidade", "Faixa de Referência"], "rows": [["Glicose", "92", "mg/dL", "74 - 100"], ["ALT", "22", "U/L", "< 35"]]}]}}],
    "metadata": {"detected_language": "pt", "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"
}

Desempenho ICR vs OCR

Resultados de Benchmark — Kantesti ICR vs OCR Tradicional
MétricaKantesti ICROCR TradicionalMelhoria
Velocidade de Processamento1,2s média5,7s média79% mais rápido
Precisão do Texto99,7%92,1%+7,6%
Detecção de Tabelas98,9%71,2%+27,7%
Saída EstruturadaJSON com seções, tabelas, metadadosTexto bruto não estruturadoEstrutura completa
Suporte Multilíngue100+ idiomas30-50 idiomas2x+ cobertura