Endpoint API

Riferimento completo di tutti gli endpoint dell'API Kantesti con esempi di codice in diversi linguaggi di programmazione.

URL Base
https://app.aibloodtestinterpret.com

Changelog

Tieni traccia delle versioni API, aggiornamenti e informazioni sulla migrazione. Usa gli endpoint consigliati per le nuove integrazioni.

Endpoint Stabili Attuali

Questi endpoint sono consigliati per l'uso in produzione e le nuove integrazioni.

APIEndpointStato
Analisi del Sangue v11 /api/v11/01-06-2025/analyze Consigliato
Analisi del Sangue (Punteggio Salute) v11 /api/v11/health-score/analyze Consigliato
IA Nutrizione v1 /api/v1/nutrition/diet-plan/analyze Stabile
Confronto IA Esami del Sangue v1 /api/v1/bloodtest/comparison/analyze Stabile
Valutazione dei Rischi di Salute Familiare v1 /api/v1/family-health/analyze Rilasciato 23.03.2026
ICR - Riconoscimento Intelligente dei Caratteri v1 /api/icr/v1/extract Rilasciato 14.02.2026
ICR Kan - Estrazione Analisi del Sangue v1 /api/icr/v1/kan Rilasciato 14.02.2026
Analisi Tendenze v1 /api/v1/analytics/trends/analyze Stabile

Cronologia Versioni

DataVersioneModifiche
Marzo 2026 Family Health v1 API di Valutazione dei Rischi di Salute Familiare rilasciata — Analisi dei rischi ereditari con IA, supporto di 100+ lingue, analisi dell'albero genealogico, cronoprogramma di cure preventive, raccomandazioni di screening genetico, modalità sandbox
Febbraio 2026 ICR v1 API ICR (Riconoscimento Intelligente dei Caratteri) rilasciata — 79% più veloce dell'OCR, output JSON strutturato, rilevamento tipo documento, estrazione tabelle, integrazione Kan analisi del sangue
Dicembre 2025 Ultima Gestione errori migliorata, precisione 98,7%, supporto 100 lingue
Giugno 2025 v11 Analisi del sangue v11, endpoint punteggio salute, supporto multi-file
Aprile 2025 v9 Modello api_parameters_v9, estrazione parametri migliorata
Marzo 2025 v8 Supporto upload multi-file, elaborazione batch

Endpoint Legacy

Questi endpoint sono mantenuti per retrocompatibilità ma non sono consigliati per le nuove integrazioni.

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

Gli endpoint legacy sono mantenuti per retrocompatibilità ma non sono consigliati per le nuove integrazioni. Si prega di migrare agli endpoint stabili attuali per migliori prestazioni e supporto.

Riferimento Lingue Supportate

L'API Kantesti supporta 100 lingue per la localizzazione delle risposte. Utilizza il parametro language con uno dei codici ISO 639-1 elencati di seguito. Se non specificato, le risposte sono in inglese (en) per impostazione predefinita.

Lingua predefinita

Se non viene fornito alcun parametro language, l'API restituisce le risposte in inglese (en).

Lingue mondiali principali

CodiceLinguaNome nativo
enIngleseEnglish
zhCinese中文
esSpagnoloEspañol
arAraboالعربية
hiHindiहिन्दी
ptPortoghesePortuguês
ruRussoРусский
jaGiapponese日本語
frFranceseFrançais
deTedescoDeutsch
koCoreano한국어
trTurcoTürkçe

Lingue europee

CodiceLinguaNome nativo
itItalianoItaliano
nlOlandeseNederlands
plPolaccoPolski
elGrecoΕλληνικά
svSvedeseSvenska
noNorvegeseNorsk
daDaneseDansk
fiFinlandeseSuomi
csCecoČeština
ukUcrainoУкраїнська
roRomenoRomână
huUnghereseMagyar
bgBulgaroБългарски
hrCroatoHrvatski
skSlovaccoSlovenčina
slSlovenoSlovenščina
srSerboСрпски
ltLituanoLietuvių
lvLettoneLatviešu
etEstoneEesti
caCatalanoCatalà
euBascoEuskara
glGalizianoGalego
cyGalleseCymraeg
gaIrlandeseGaeilge
isIslandeseÍslenska
mtMalteseMalti
sqAlbaneseShqip
mkMacedoneМакедонски
bsBosniacoBosanski
lbLussemburgheseLëtzebuergesch
beBielorussoБеларуская

Lingue mediorientali e dell'Asia centrale

CodiceLinguaNome nativo
heEbraicoעברית
faPersianoفارسی
azAzerbaigianoAzərbaycan
kaGeorgianoქართული
hyArmenoՀայdelays
kkKazakoҚазақша
uzUzbecoOʻzbek
tgTagicoТоҷикӣ
kyKirghisoКыргызча
tkTurkmenoTürkmen
mnMongoloМонгол
psPashtoپښتو
kuCurdoKurdî

Lingue dell'Asia meridionale

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

Lingue del sud-est asiatico

CodiceLinguaNome nativo
idIndonesianoBahasa Indonesia
thTailandeseไทย
viVietnamitaTiếng Việt
msMaleseBahasa Melayu
myBirmanoမြန်မာ
kmKhmerភាសាខ្មែរ
loLaotianoລາວ
filFilippinoFilipino
tlTagalogTagalog
jvGiavaneseBasa Jawa
suSundaneseBasa Sunda

Lingue africane

CodiceLinguaNome nativo
afAfrikaansAfrikaans
swSwahiliKiswahili
amAmaricoአማርኛ
haHausaHausa
yoYorubaYorùbá
igIgboIgbo
zuZuluisiZulu
xhXhosaisiXhosa
soSomaloSoomaali
mgMalgascioMalagasy

Altre lingue

CodiceLinguaNome nativo
laLatinoLatina
eoEsperantoEsperanto
yiYiddishייִדיש
htCreolo haitianoKreyòl Ayisyen
miMaoriTe Reo Māori
smSamoanoGagana Samoa
toTonganoLea Faka-Tonga
hawHawaianoʻŌlelo Hawaiʻi

API Analisi del Sangue

Analizza immagini o PDF di esami del sangue utilizzando l'IA per estrarre parametri e generare interpretazioni mediche complete.

POST /api/v11/01-06-2025/analyze Ultima

Endpoint di produzione per l'analisi del sangue. Consuma 1 credito per richiesta.

Parametri della richiesta

ParametroTipoRichiestoDescrizione
usernamestringIl tuo nome utente API
passwordstringLa tua password API
filefileImmagine dell'esame del sangue (PNG, JPG, WEBP) o PDF. Max 20MB.
languagestringNoCodice lingua risposta (default: en). Supporta oltre 100 lingue.

Esempio cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze" \
  -F "username=TUO_NOME_UTENTE" \
  -F "password=TUA_PASSWORD" \
  -F "language=it" \
  -F "file=@esame_sangue.pdf"

Esempio Python

import requests

def analizza_esame_sangue(percorso_file: str, nome_utente: str, password: str, lingua: str = "it"):
    """
    Analizza un file di esame del sangue con l'API Kantesti.

    Args:
        percorso_file: Percorso al PDF o immagine dell'esame del sangue
        nome_utente: Nome utente API
        password: Password API
        lingua: Codice lingua risposta (default: it)

    Returns:
        dict: Risposta API con i risultati dell'analisi
    """
    url = "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze"

    with open(percorso_file, "rb") as f:
        files = {"file": (percorso_file, f, "application/pdf")}
        dati = {
            "username": nome_utente,
            "password": password,
            "language": lingua
        }

        risposta = requests.post(url, files=files, data=dati, timeout=120)
        risposta.raise_for_status()
        return risposta.json()

# Esempio di utilizzo
if __name__ == "__main__":
    risultato = analizza_esame_sangue(
        percorso_file="esame_sangue.pdf",
        nome_utente="tuo_nome_utente",
        password="tua_password",
        lingua="it"
    )
    print(f"Stato: {risultato['status']}")
    print(f"Parametri trovati: {len(risultato['data']['parameters'])}")

Riferimento campi di risposta

Livello radice
CampoTipoDescrizione
statusstring"success" o "error"
dataobjectContiene tutti i risultati dell'analisi
timestampstringTimestamp ISO 8601 della risposta
api_versionstringVersione API utilizzata
Oggetto data.metadata
CampoTipoDescrizione
lab_datestringData del prelievo (AAAA-MM-GG)
results_datestringData di emissione dei risultati (AAAA-MM-GG)
lab_namestringNome del laboratorio
lab_citystringCittà del laboratorio
lab_countrystringPaese del laboratorio
patient_namestringNome completo del paziente (solo metadati, non inviato all'interpretazione)
patient_agestringEtà del paziente
patient_sexstring"male", "female" o "other"
Elemento array data.parameters
CampoTipoDescrizione
categorystringCategoria del parametro (es: "Emocromo", "Profilo lipidico")
long_namestringNome completo del parametro
short_namestringNome abbreviato del parametro
resultstringValore misurato
unitstringUnità di misura
range_minstringIntervallo di riferimento minimo
range_maxstringIntervallo di riferimento massimo
evaluationstringStato del risultato. Vedi valori di valutazione
Elemento array data.interpretation
CampoTipoDescrizione
titlestringTitolo della sezione (es: "Valutazione generale della salute")
contentstringInterpretazione medica generata dall'IA

Esempio di risposta completa

{
  "status": "success",
  "data": {
    "metadata": {
      "patient_name": "Anna Müller",
      "lab_name": "MedLab Diagnostics International",
      "lab_city": "Roma",
      "lab_country": "Italia",
      "lab_date": "2025-12-15",
      "results_date": "2025-12-16",
      "patient_age": "38",
      "patient_sex": "female"
    },
    "parameters": [
      {
        "short_name": "WBC",
        "long_name": "Conta dei globuli bianchi",
        "category": "Emocromo completo",
        "result": "6.8",
        "unit": "10^9/L",
        "evaluation": "normal",
        "range_min": "4.0",
        "range_max": "11.0",
        "short_description": "Misura il numero totale di globuli bianchi.",
        "long_description": "I globuli bianchi (leucociti) sono componenti essenziali del sistema immunitario..."
      },
      {
        "short_name": "RBC",
        "long_name": "Conta dei globuli rossi",
        "category": "Emocromo completo",
        "result": "4.52",
        "unit": "10^12/L",
        "evaluation": "normal",
        "range_min": "3.8",
        "range_max": "5.8",
        "short_description": "Misura il numero totale di globuli rossi.",
        "long_description": "I globuli rossi (eritrociti) trasportano l'ossigeno dai polmoni ai tessuti corporei..."
      },
      {
        "short_name": "HGB",
        "long_name": "Emoglobina",
        "category": "Emocromo completo",
        "result": "13.2",
        "unit": "g/dL",
        "evaluation": "normal",
        "range_min": "11.5",
        "range_max": "16.0",
        "short_description": "Proteina nei globuli rossi che trasporta l'ossigeno.",
        "long_description": "L'emoglobina è la proteina contenente ferro nei globuli rossi responsabile del trasporto dell'ossigeno..."
      },
      {
        "short_name": "GLU",
        "long_name": "Glicemia a digiuno",
        "category": "Pannello metabolico",
        "result": "102",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "70",
        "range_max": "140",
        "short_description": "Misura il livello di zucchero nel sangue a digiuno.",
        "long_description": "La glicemia a digiuno è un indicatore chiave di come il corpo metabolizza lo zucchero..."
      },
      {
        "short_name": "TC",
        "long_name": "Colesterolo totale",
        "category": "Profilo lipidico",
        "result": "218",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "0",
        "range_max": "300",
        "short_description": "Misura il colesterolo totale nel sangue.",
        "long_description": "Il colesterolo totale è la somma del colesterolo HDL, LDL e VLDL..."
      },
      {
        "short_name": "LDL",
        "long_name": "Colesterolo LDL",
        "category": "Profilo lipidico",
        "result": "142",
        "unit": "mg/dL",
        "evaluation": "high",
        "range_min": "0",
        "range_max": "200",
        "short_description": "Misura il livello di colesterolo 'cattivo'.",
        "long_description": "Il colesterolo LDL può accumularsi nelle pareti delle arterie..."
      }
    ],
    "interpretation": [
      {
        "title": "Valutazione generale della salute",
        "shortcode": "overall_health_assessment",
        "subsections": [
          {
            "subtitle": "Panoramica completa",
            "items": [
              {"item": "La paziente presenta parametri ematologici generalmente sani con tutti i valori dell'emocromo nella norma."},
              {"item": "Il profilo lipidico mostra aree che richiedono attenzione, in particolare i livelli di colesterolo LDL."}
            ]
          }
        ]
      },
      {
        "title": "Raccomandazioni",
        "shortcode": "recommendations",
        "subsections": [
          {
            "subtitle": "Modifiche dello stile di vita",
            "items": [
              {"item": "Aumentare l'attività fisica aerobica ad almeno 150 minuti a settimana."},
              {"item": "Adottare una dieta di tipo mediterraneo ricca di verdure, frutta e grassi sani."}
            ]
          }
        ]
      }
    ]
  },
  "api_version": "v11",
  "timestamp": "2025-12-16T14:32:18Z"
}
Parole chiave di risposta

Il campo evaluation utilizza valori standardizzati. Vedi valori di valutazione.

Endpoint Sandbox

Vantaggi Sandbox
  • Nessun consumo di quota
  • Restituisce dati di test realistici
  • Stesso formato di richiesta della produzione
APIEndpoint Sandbox
Esame sangue v11/api/v11/01-06-2025/sandbox
IA Nutrizione/api/v1/nutrition/diet-plan/sandbox
Confronto esami/api/v1/bloodtest/comparison/sandbox
Analisi tendenze/api/v1/analytics/trends/sandbox
ICR/api/icr/v1/sandbox
ICR Kan (Analisi sangue)/api/icr/v1/kan/sandbox
API di Confronto vs API di Analisi delle Tendenze

Scegli l'API giusta per il tuo caso d'uso:

FunzionalitàConfronto IA Esami del SangueAnalisi delle Tendenze
Focus PrincipaleConfronto narrativo IAAnalisi statistica delle tendenze
Elaborazione IANarrativa IA completaIA potenziata + statistiche
Tipo di OutputRiepiloghi narrativiGrafici, statistiche, pattern
Ideale PerCosa è cambiato tra i testMonitoraggio parametri a lungo termine
Min Test22
Max Test2050

API Analisi delle Tendenze

Analizza le tendenze dei parametri di salute nel tempo utilizzando il riconoscimento di pattern basato su IA.

IA Nutrizione con Integratori

Genera piani nutrizionali personalizzati e suggerimenti di integratori basati sull'analisi degli esami del sangue.

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

Esempio Python

import requests
from typing import Dict, List, Optional

def ottieni_piano_nutrizione(
    nome_utente: str,
    password: str,
    paziente: Dict,
    esame_sangue: Dict,
    lingua: str = "it"
) -> Dict:
    """Ottiene raccomandazioni personalizzate di nutrizione e integratori."""
    url = "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze"
    payload = {
        "username": nome_utente,
        "password": password,
        "language": lingua,
        "patient": paziente,
        "blood_test": esame_sangue
    }
    risposta = requests.post(url, json=payload, timeout=120)
    risposta.raise_for_status()
    return risposta.json()

# Esempio
paziente = {"age": 45, "gender": "male", "weight": 82, "height": 178}
esame = {"lab_date": "2025-12-01", "parameters": [{"short_name": "VITD", "result": 18, "unit": "ng/mL"}]}
risultato = ottieni_piano_nutrizione("utente", "password", paziente, esame)

Schema dell'Oggetto Paziente

Descrizione dettagliata di tutti i campi disponibili per l'oggetto paziente:

Campo Tipo Richiesto Predefinito Descrizione
age integer - Età del paziente in anni (18-120)
gender string - Sesso del paziente. Vedi valori
weight number No null Peso in kg (per calcoli calorici)
height number No null Altezza in cm (per calcoli BMI)
conditions array No [] Condizioni mediche. Vedi valori
allergies array No [] Allergie alimentari. Vedi valori
dietary_preferences array No [] Preferenze alimentari. Vedi valori
activity_level string No "moderate" Livello di attività fisica. Vedi valori
dietary_restrictions array No [] Restrizioni alimentari (es: senza glutine, senza lattosio)
liked_foods array No [] Alimenti preferiti per personalizzazione del piano
disliked_foods array No [] Alimenti da evitare nelle raccomandazioni
meal_frequency integer No 3 Numero di pasti al giorno (1-6)
budget string No "moderate" Livello di budget: "low", "moderate", "high"
medications array No [] Farmaci attuali (per interazioni)

Esempio di risposta

{
  "status": "success",
  "data": {
    "supplements": [
      {
        "name": "Vitamina D3",
        "dosage": "2000 UI al giorno",
        "reason": "Livelli ematici a 18 ng/mL indicano carenza (ottimale: 30-50 ng/mL)",
        "priority": "alta"
      }
    ],
    "dietary_recommendations": [
      {"category": "aumentare", "foods": ["pesce grasso", "verdure a foglia verde"]}
    ]
  }
}

Riferimento campi di risposta

Oggetto nutrition_plan.educational_insights
Campo Tipo Descrizione
blood_marker_education array Contenuto educativo sui marcatori del sangue analizzati
nutrition_principles array Principi nutrizionali generali applicabili al paziente
Elemento array blood_marker_education
Campo Tipo Descrizione
marker string Nome del marcatore del sangue (es: "Vitamina D", "Colesterolo")
explanation string Spiegazione educativa sull'importanza del marcatore
normal_range string Intervallo di valori normali per il marcatore
Elemento array food_recommendations.power_foods
Campo Tipo Descrizione
food string Nome dell'alimento raccomandato
nutrients array Lista dei nutrienti chiave forniti da questo alimento
serving string Dimensione della porzione raccomandata
why string Spiegazione del perché questo alimento è benefico
Elemento array supplement_recommendations
Campo Tipo Descrizione
supplement string Nome dell'integratore
dosage string Dosaggio giornaliero raccomandato
timing string Momento migliore per l'assunzione (es: "Con la colazione")
duration string Durata raccomandata dell'integrazione
reason string Motivazione basata sui risultati degli esami del sangue

Esempio cURL completo

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

Risposta 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 è essenziale per la salute delle ossa, la funzione immunitaria e la regolazione dell'umore. Il tuo livello di 18 ng/mL indica una carenza che può influenzare l'assorbimento del calcio e la salute generale.",
            "normal_range": "30-50 ng/mL"
          },
          {
            "marker": "Colesterolo LDL",
            "explanation": "Il colesterolo LDL, spesso chiamato 'colesterolo cattivo', può accumularsi nelle pareti arteriose. Il tuo livello di 140 mg/dL è elevato e può aumentare il rischio cardiovascolare.",
            "normal_range": "< 100 mg/dL"
          }
        ],
        "nutrition_principles": [
          "Dai priorità agli acidi grassi omega-3 per la salute del cuore",
          "Aumenta le fibre solubili per ridurre il colesterolo LDL",
          "Includi alimenti ricchi di vitamina D e fonti di sole"
        ]
      }
    },
    "food_recommendations": {
      "power_foods": [
        {
          "food": "Salmone selvaggio",
          "nutrients": ["Omega-3", "Vitamina D", "Proteine"],
          "serving": "150g, 3 volte a settimana",
          "why": "Fonte eccellente di omega-3 e vitamina D naturale per la salute cardiaca e ossea"
        },
        {
          "food": "Avena integrale",
          "nutrients": ["Beta-glucano", "Fibre", "Magnesio"],
          "serving": "50g al giorno a colazione",
          "why": "Le fibre solubili dell'avena aiutano a ridurre l'assorbimento del colesterolo LDL"
        },
        {
          "food": "Olio extra vergine di oliva",
          "nutrients": ["Grassi monoinsaturi", "Polifenoli", "Vitamina E"],
          "serving": "2-3 cucchiai al giorno",
          "why": "I grassi sani mediterranei migliorano il profilo lipidico e proteggono il cuore"
        },
        {
          "food": "Spinaci",
          "nutrients": ["Ferro", "Folato", "Vitamina K"],
          "serving": "100g al giorno, crudi o cotti",
          "why": "Ricchi di ferro e antiossidanti per l'energia e la salute cardiovascolare"
        }
      ]
    },
    "supplement_recommendations": [
      {
        "supplement": "Vitamina D3",
        "dosage": "2000-4000 UI al giorno",
        "timing": "Con la colazione (pasto contenente grassi)",
        "duration": "3-6 mesi, poi ritestare i livelli ematici",
        "reason": "Il tuo livello di 18 ng/mL è sotto l'ottimale di 30-50 ng/mL"
      },
      {
        "supplement": "Omega-3 (EPA/DHA)",
        "dosage": "1000-2000mg EPA+DHA al giorno",
        "timing": "Con i pasti principali",
        "duration": "Continuativo per la salute cardiaca",
        "reason": "Aiuta a ridurre i trigliceridi e migliora il rapporto HDL/LDL"
      },
      {
        "supplement": "Coenzima Q10",
        "dosage": "100mg al giorno",
        "timing": "Con il pasto del mattino",
        "duration": "Minimo 3 mesi",
        "reason": "Supporta la salute cardiaca, particolarmente importante con l'ipertensione"
      }
    ]
  },
  "api_version": "v1",
  "timestamp": "2025-12-22T10:30:00Z"
}
Parole chiave di risposta

Per un elenco completo di tutti i possibili valori di risposta, consulta la sezione Parole chiave di output.

API Confronto Esami del Sangue

Confronta più esami del sangue per identificare cambiamenti e miglioramenti con analisi basata su IA. Ottieni riepiloghi narrativi IA completi che spiegano cosa è cambiato tra i test.

POST /api/v1/bloodtest/comparison/analyze

Analizza 2-20 esami del sangue e fornisce un confronto dettagliato con approfondimenti narrativi generati dall'IA.

Requisiti
  • Minimo 2 esami del sangue richiesti
  • Massimo 20 esami del sangue per richiesta
  • Ogni test deve includere lab_date o results_date
  • Almeno un parametro comune tra i test

Parametri di richiesta

ParametroTipoRichiestoPredefinitoDescrizione
usernamestring-Il tuo nome utente API
passwordstring-La tua password API
languagestringNoenLingua della risposta. Vedi lingue supportate
blood_testsarray-Array di oggetti esami del sangue (2-20 test)

Struttura Array blood_tests

CampoTipoRichiestoDescrizione
lab_datestringSì*Data del test in formato YYYY-MM-DD
results_datestringSì*Alternativa a lab_date (YYYY-MM-DD)
parametersarrayArray di parametri dell'esame del sangue
metadataobjectNoMetadati aggiuntivi (lab_name, note, ecc.)

*È richiesto lab_date o results_date per ogni esame del sangue.

Esempio Python

import requests
from typing import Dict, List

def confronta_esami_sangue(
    nome_utente: str,
    password: str,
    esami: List[Dict],
    lingua: str = "it"
) -> Dict:
    """
    Confronta più esami del sangue con analisi narrativa basata sull'IA.

    Args:
        nome_utente: Nome utente API
        password: Password API
        esami: Lista di oggetti esami del sangue (2-20 test)
        lingua: Lingua della risposta

    Returns:
        dict: Risultati del confronto con approfondimenti narrativi IA
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze"

    if len(esami) < 2:
        raise ValueError("Minimo 2 esami del sangue richiesti")
    if len(esami) > 20:
        raise ValueError("Massimo 20 esami del sangue consentiti")

    payload = {
        "username": nome_utente,
        "password": password,
        "language": lingua,
        "blood_tests": esami
    }

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

# Esempio di utilizzo
if __name__ == "__main__":
    test = [
        {
            "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"}
            ]
        }
    ]

    risultato = confronta_esami_sangue("tuo_nome_utente", "tua_password", test)

    print(f"Tendenza generale: {risultato['data']['comparison_summary']['overall_trend']}")
    for param in risultato['data']['parameter_analysis']:
        print(f"{param['parameter_name']}: {param['trend_assessment']}")

Riferimento campi di risposta

CampoTipoDescrizione
comparison_idstringIdentificatore univoco per questo confronto (formato: CMP-XXXXXXXX)
comparison_summaryobjectRiepilogo generale: key_findings, overall_trend, date report, time_interval
parameter_analysisarrayAnalisi dettagliata per parametro con tipo di cambiamento e significato clinico
health_assessmentobjectAree di preoccupazione, miglioramento, sviluppi positivi, fattori di rischio
recommendationsobjectTest di follow-up, azioni immediate, modifiche dello stile di vita, referral specialistici
detailed_interpretationobjectSezioni narrative IA con riepilogo esecutivo e raccomandazioni cliniche

Struttura oggetto parameter_analysis

CampoTipoDescrizione
parameter_namestringNome parametro
report1_valuestringValore dal primo report con unità
report2_valuestringValore dal secondo report con unità
change_typestringincreased, decreased o stable
change_magnitudestringsignificant, moderate o minor
clinical_significancestringSpiegazione IA di cosa significa il cambiamento
trend_assessmentstringpositive, negative o neutral

Esempio di risposta

{
  "api_version": "1.0.0",
  "status": "success",
  "message": "Confronto esami del sangue completato con successo",
  "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": "migliorato",
      "report1_date": "2024-06-15",
      "report2_date": "2024-12-15",
      "time_interval": "183 giorni tra i report",
      "key_findings": [
        "Livelli di emoglobina ed RBC normalizzati indicano risoluzione dell'anemia",
        "Glucosio e HbA1c migliorati nell'intervallo normale suggerendo miglior controllo glicemico",
        "Profilo lipidico migliorato con colesterolo totale, LDL, HDL e trigliceridi normalizzati"
      ]
    },
    "parameter_analysis": [
      {
        "parameter_name": "Emoglobina",
        "report1_value": "12.2 g/dL",
        "report2_value": "14.5 g/dL",
        "change_type": "increased",
        "change_magnitude": "significant",
        "clinical_significance": "Miglioramento da anemia a livelli normali di emoglobina",
        "trend_assessment": "positive"
      },
      {
        "parameter_name": "Colesterolo LDL",
        "report1_value": "155 mg/dL",
        "report2_value": "98 mg/dL",
        "change_type": "decreased",
        "change_magnitude": "significant",
        "clinical_significance": "LDL vicino all'intervallo ottimale, riduce il rischio di aterosclerosi",
        "trend_assessment": "positive"
      }
    ],
    "health_assessment": {
      "overall_health_trend": "migliorato",
      "areas_of_improvement": [
        "Correzione dell'anemia",
        "Controllo glicemico",
        "Normalizzazione del profilo lipidico"
      ],
      "areas_of_concern": [],
      "positive_developments": [
        "Risoluzione dell'anemia",
        "Glucosio e HbA1c normali",
        "Miglioramento del profilo di rischio cardiovascolare"
      ]
    },
    "recommendations": {
      "immediate_actions": [
        "Continuare l'integrazione attuale per ferro e vitamina D",
        "Mantenere il controllo glicemico e lipidico con dieta ed esercizio"
      ],
      "follow_up_tests": [
        "Ripetere CBC e studi sul ferro in 3 mesi",
        "Monitorare glucosio a digiuno e HbA1c trimestralmente"
      ],
      "lifestyle_modifications": [
        "Adottare una dieta sana per il cuore a basso contenuto di grassi saturi",
        "Aumentare l'attività fisica per mantenere la salute metabolica"
      ]
    }
  }
}
Parole chiave di risposta

I campi di risposta utilizzano valori standardizzati: overall_trend e trend_assessment (vedi valutazione tendenza), change_type (increased, decreased, stable).

Riferimento Parole Chiave

Riferimento completo per tutti i valori delle parole chiave di input utilizzate negli endpoint dell'API Kantesti. Usa questi valori esatti nelle richieste API.

analysis_type API Analisi Tendenze

Specifica il tipo di analisi delle tendenze da eseguire.

ValorePredefinitoDescrizione
comprehensiveAnalisi completa con statistiche, grafici e interpretazione IA
statisticalSolo analisi statistica
summarySolo riepilogo di alto livello

health_goals API Nutrizione

Obiettivi di salute per raccomandazioni nutrizionali personalizzate. Più valori possono essere forniti come array.

ValoreDescrizione
maintainMantenere la salute attuale (predefinito)
improve_energyFocus sui livelli di energia
weight_managementGestione sana del peso
heart_healthSalute cardiovascolare
immune_supportSupporto al sistema immunitario
digestive_healthBenessere digestivo
bone_healthSalute delle ossa
mental_clarityFunzione cognitiva

dietary_restrictions API Nutrizione

Restrizioni alimentari e allergie. Più valori possono essere forniti come array. È accettato anche testo libero per restrizioni personalizzate.

ValoreDescrizione
low_sodiumApporto ridotto di sodio
low_sugarApporto ridotto di zucchero
low_fatApporto ridotto di grassi
gluten_freeSenza glutine
dairy_freeSenza latticini
nut_freeSenza frutta a guscio
soy_freeSenza soia
egg_freeSenza uova
halalConforme halal
kosherConforme kosher
Nota

È accettato anche testo libero per restrizioni alimentari personalizzate non elencate sopra.

dietary_preferences API Nutrizione

Preferenze di stile di vita alimentare per la pianificazione dei pasti.

ValoreDescrizione
omnivoreNessuna restrizione (predefinito)
vegetarianNiente carne
veganNessun prodotto animale
pescatarianVegetariano + pesce
ketoDieta chetogenica
paleoDieta paleolitica
mediterraneanDieta mediterranea

activity_level API Nutrizione

Livello di attività fisica per calcoli calorici e nutrizionali.

ValoreDescrizione
sedentaryPoco o nessun esercizio
lightEsercizio leggero 1-3 giorni/settimana
moderateEsercizio moderato 3-5 giorni/settimana (predefinito)
activeEsercizio intenso 6-7 giorni/settimana
very_activeEsercizio molto intenso o lavoro fisico

budget API Nutrizione

Livello di budget per raccomandazioni alimentari e di integratori.

ValoreDescrizione
lowOpzioni economiche
moderateOpzioni bilanciate (predefinito)
highOpzioni premium

gender Tutte le API

Sesso del paziente per intervalli di riferimento e raccomandazioni personalizzate.

ValoreDescrizione
malePaziente maschio
femalePaziente femmina
otherAltro o non specificato

Parole chiave di output

Le seguenti parole chiave appaiono nelle risposte API. Comprendere questi valori aiuta a interpretare e visualizzare correttamente i risultati.

evaluation API Analisi sangue & Confronto

Stato di valutazione del parametro che indica come il risultato si confronta con gli intervalli di riferimento.

ValoreDescrizione
normalNell'intervallo di riferimento normale
lowSotto l'intervallo normale
highSopra l'intervallo normale
critical_lowCriticamente basso (attenzione immediata richiesta)
critical_highCriticamente alto (attenzione immediata richiesta)
borderline_lowLeggermente sotto l'intervallo normale
borderline_highLeggermente sopra l'intervallo normale

trend_assessment API Confronto & Tendenze

Valutazione complessiva delle tendenze dei parametri tra i test.

ValoreDescrizione
positiveMigliorato (verso l'intervallo normale)
negativePeggiorato (lontano dall'intervallo normale)
stableRelativamente invariato tra i test
improvingTendenza generale al miglioramento
worseningTendenza generale al peggioramento

trend_direction API Analisi tendenze

Direzione dei cambiamenti di valore dei parametri nel tempo.

ValoreDescrizione
upwardValori in aumento nel tempo
downwardValori in diminuzione nel tempo
stableCambiamento minimo nel tempo

trend_strength API Analisi tendenze

Entità della tendenza osservata.

ValoreDescrizione
strong>15% di cambiamento tra i periodi
moderate5-15% di cambiamento tra i periodi
mild<5% di cambiamento tra i periodi

health_score / score_interpretation API Punteggio salute

Interpretazione complessiva del punteggio di salute basata sui parametri analizzati.

ValoreDescrizione
excellentTutti i marker nell'intervallo ottimale
goodLa maggior parte dei marker nell'intervallo normale
fairAlcuni marker richiedono attenzione
poorPiù marker richiedono attenzione

Endpoint di utilità

GET /api/info

Restituisce le informazioni della piattaforma API. Nessuna autenticazione richiesta.

GET /api/health

Endpoint di verifica dello stato per il monitoraggio. Nessuna autenticazione richiesta.

POST /api/quota/check

Verifica la tua quota API rimanente. Autenticazione richiesta.

Esempio cURL

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

API Valutazione dei Rischi di Salute Familiare

Rilasciato: 23 marzo 2026

L'API Kantesti di Valutazione dei Rischi di Salute Familiare è una piattaforma di analisi dei rischi di salute ereditari alimentata dall'IA. Genera rapporti completi di salute familiare analizzando la storia medica familiare, i profili di salute dei pazienti e i dati degli esami del sangue per identificare i fattori di rischio ereditari e fornire raccomandazioni personalizzate di cure preventive.

100+
Lingue
9
Categorie di patologie
14
Relazioni familiari

Analisi dei rischi ereditari con IA

L'API Family Health utilizza modelli avanzati di IA per incrociare la storia medica familiare con i dati degli esami del sangue del paziente, identificando pattern di rischio ereditario nelle categorie cardiovascolare, metabolica, oncologica, neurologica, respiratoria, autoimmune, genetica, salute mentale e rene/fegato. I rapporti includono punteggio di rischio, cronoprogramma di cure preventive, raccomandazioni di screening genetico e consigli sullo stile di vita — tutto localizzato in oltre 100 lingue.

Funzionalità principali
  • Analisi dei rischi ereditari — Classificazione in rischio alto, moderato e basso
  • Analisi dell'albero genealogico — Mappatura dei rischi delle linee paterna e materna
  • Correlazione esami del sangue — Incrocio della storia familiare con i parametri ematici
  • Raccomandazioni screening genetico — Suggerimenti personalizzati per test genetici
  • Cronoprogramma cure preventive — Programmi di screening appropriati all'età
  • Analisi farmaci — Valutazione delle interazioni e sensibilità ereditarie
  • 100+ lingue supportate — Localizzazione completa dei rapporti
  • Modalità Sandbox — Testa l'integrazione senza consumare crediti

Riepilogo endpoint

EndpointMetodoDescrizioneAuth
/api/v1/family-health/analyzePOSTGenera rapporto completo di valutazione dei rischiRichiesto (1 credito)
/api/v1/family-health/validatePOSTValida i dati della richiesta (nessun consumo quota)Richiesto (Gratuito)
/api/v1/family-health/supported-languagesGETElenca 100+ lingue supportateNon richiesto
/api/v1/family-health/condition-categoriesGETElenca categorie di patologieNon richiesto
/api/v1/family-health/family-relationsGETElenca tipi di relazioni familiariNon richiesto
/api/v1/family-health/sandbox/analyzePOSTTest sandbox con dati di esempioRichiesto (Gratuito)
POST /api/v1/family-health/analyze Rilasciato 23.03.2026

Genera un rapporto completo di valutazione dei rischi di salute familiare alimentato dall'IA.

Parametri richiesta (JSON Body)

ParametroTipoRichiestoDescrizione
usernamestringNome utente API
passwordstringPassword API
patient_dataobjectInformazioni paziente
family_membersarraySì*Membri della famiglia (max 100)
health_profileobjectSì*Profilo di salute
blood_test_dataarrayNoDati esami del sangue
languagestringNoCodice lingua (default: en)

Esempio cURL

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

Esempio Python

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

Esempio di risposta

{"status":"success","data":{"report_data":{"report_title":"Rapporto di Valutazione dei Rischi di Salute Familiare","hereditary_risk_analysis":{"high_risk":[{"condition":"Malattia cardiovascolare","risk_score":75}]},"genetic_screening_recommendations":["Test genetico BRCA1/BRCA2"]}},"timestamp":"2026-03-23T10:30:00Z","api_version":"1.0.0"}

Codici errore Family Health API

CodiceHTTPDescrizione
AUTH_1001401Credenziali mancanti
AUTH_1002401Credenziali non valide
QUOTA_1101403Quota API insufficiente
VAL_2001400Campo obbligatorio mancante
VAL_2003400Codice lingua non supportato
PROC_3001500Generazione rapporto fallita
SRV_5001500Errore interno del server

Endpoint Sandbox Family Health

Testa la tua integrazione senza consumare crediti.

APISandboxDescrizione
Family Health/api/v1/family-health/sandbox/analyzeDati di rapporto di esempio

Endpoint di riferimento (Nessuna auth)

EndpointMetodoDescrizione
/api/v1/family-health/supported-languagesGET100+ lingue supportate
/api/v1/family-health/condition-categoriesGET9 categorie di patologie
/api/v1/family-health/family-relationsGET14 relazioni familiari

ICR - Riconoscimento Intelligente dei Caratteri API

Rilasciato: 14 febbraio 2026

L'API Kantesti ICR (Riconoscimento Intelligente dei Caratteri) è una tecnologia avanzata di estrazione testo da documenti che va ben oltre l'OCR tradizionale. Alimentata dal motore AI proprietario di Kantesti, ICR fornisce output JSON strutturato da qualsiasi tipo di documento, inclusi referti medici, fatture, moduli e altro.

79%
Più veloce dell'OCR
99,7%
Tasso di precisione
100+
Lingue

Kantesti ICR vs OCR Tradizionale

Nei test di benchmark, Kantesti ICR ha dimostrato prestazioni superiori del 79% rispetto alle soluzioni OCR tradizionali. ICR comprende la struttura del documento, preserva i layout delle tabelle, estrae i metadati e restituisce JSON strutturato pulito.

Funzionalità Chiave ICR
  • Output JSON Strutturato — Tabelle, sezioni, metadati e testo grezzo in formato JSON pulito
  • Rilevamento Tipo Documento — Identifica automaticamente referti medici, fatture, moduli, lettere, ecc.
  • Estrazione Tabelle — Preserva intestazioni e dati delle righe con struttura completa
  • Supporto Multi-formato — Elaborazione documenti PDF, JPG, JPEG, PNG
  • Integrazione Analisi Sangue (Kan) — Endpoint specializzato per l'estrazione di documenti di analisi del sangue
  • Modalità Sandbox — Testa l'integrazione senza consumare crediti
  • Sistema Crediti — 0,5 crediti per chiamata API

Riepilogo Endpoint ICR

EndpointMetodoDescrizioneCosto
/api/icr/v1/extractPOSTEstrazione testo ICR0,5 crediti
/api/icr/v1/sandboxPOSTTest sandbox ICRGratuito
/api/icr/v1/kanPOSTAnalisi documenti analisi del sangue0,5 crediti
/api/icr/v1/kan/sandboxPOSTTest sandbox analisi del sangueGratuito
/api/icr/infoGETDocumentazione e funzionalità APIGratuito
/api/icr/healthGETEndpoint controllo saluteGratuito
/api/icr/v1/quotaPOSTControlla crediti ICR rimanentiGratuito
POST /api/icr/v1/extract Rilasciato 14.02.2026

Estrae tutto il contenuto testuale dai documenti caricati utilizzando la tecnologia ICR di Kantesti.

Parametri Richiesta

ParametroTipoObbligatorioDescrizione
usernamestringIl tuo nome utente API
passwordstringLa tua password API
filefileFile documento (PDF, JPG, JPEG, PNG)
languagestringNoLingua di output (predefinito: en)

Esempio cURL

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

Esempio Python

import requests

def icr_extract(file_path: str, username: str, password: str, language: str = "it"):
    """
    Estrai testo da un documento con l'API ICR Kantesti.
    79% più veloce e preciso dell'OCR tradizionale.
    """
    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()

# Esempio di utilizzo
result = icr_extract("referto_medico.pdf", "nome_utente", "password", "it")
print(f"Tipo documento: {result['data']['document_type']}")
print(f"Pagine: {result['data']['page_count']}")

Esempio di Risposta

{
  "status": "success",
  "data": {
    "document_type": "blood_test_report",
    "page_count": 1,
    "pages": [{"page_number": 1, "content": {"raw_text": "Ospedale Universitario di Colonia - Esame del Sangue...", "sections": [{"type": "header", "content": "Esame del Sangue"}], "tables": [{"headers": ["Test", "Risultato", "Unità", "Range di Riferimento"], "rows": [["Glucosio", "92", "mg/dL", "74 - 100"], ["ALT", "22", "U/L", "< 35"]]}]}}],
    "metadata": {"detected_language": "it", "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"
}

Prestazioni ICR vs OCR

Risultati Benchmark — Kantesti ICR vs OCR Tradizionale
MetricaKantesti ICROCR TradizionaleMiglioramento
Velocità di Elaborazione1,2s media5,7s media79% più veloce
Precisione Testo99,7%92,1%+7,6%
Rilevamento Tabelle98,9%71,2%+27,7%
Output StrutturatoJSON con sezioni, tabelle, metadatiTesto grezzo non strutturatoStruttura completa
Supporto Multilingue100+ lingue30-50 lingue2x+ copertura