Endpoint API
Riferimento completo di tutti gli endpoint dell'API Kantesti con esempi di codice in diversi linguaggi di programmazione.
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.
| API | Endpoint | Stato |
|---|---|---|
| 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
| Data | Versione | Modifiche |
|---|---|---|
| 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.
| Versione | Endpoint | Stato |
|---|---|---|
| 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 |
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.
Se non viene fornito alcun parametro language, l'API restituisce le risposte in inglese (en).
Lingue mondiali principali
| Codice | Lingua | Nome nativo |
|---|---|---|
en | Inglese | English |
zh | Cinese | 中文 |
es | Spagnolo | Español |
ar | Arabo | العربية |
hi | Hindi | हिन्दी |
pt | Portoghese | Português |
ru | Russo | Русский |
ja | Giapponese | 日本語 |
fr | Francese | Français |
de | Tedesco | Deutsch |
ko | Coreano | 한국어 |
tr | Turco | Türkçe |
Lingue europee
| Codice | Lingua | Nome nativo |
|---|---|---|
it | Italiano | Italiano |
nl | Olandese | Nederlands |
pl | Polacco | Polski |
el | Greco | Ελληνικά |
sv | Svedese | Svenska |
no | Norvegese | Norsk |
da | Danese | Dansk |
fi | Finlandese | Suomi |
cs | Ceco | Čeština |
uk | Ucraino | Українська |
ro | Romeno | Română |
hu | Ungherese | Magyar |
bg | Bulgaro | Български |
hr | Croato | Hrvatski |
sk | Slovacco | Slovenčina |
sl | Sloveno | Slovenščina |
sr | Serbo | Српски |
lt | Lituano | Lietuvių |
lv | Lettone | Latviešu |
et | Estone | Eesti |
ca | Catalano | Català |
eu | Basco | Euskara |
gl | Galiziano | Galego |
cy | Gallese | Cymraeg |
ga | Irlandese | Gaeilge |
is | Islandese | Íslenska |
mt | Maltese | Malti |
sq | Albanese | Shqip |
mk | Macedone | Македонски |
bs | Bosniaco | Bosanski |
lb | Lussemburghese | Lëtzebuergesch |
be | Bielorusso | Беларуская |
Lingue mediorientali e dell'Asia centrale
| Codice | Lingua | Nome nativo |
|---|---|---|
he | Ebraico | עברית |
fa | Persiano | فارسی |
az | Azerbaigiano | Azərbaycan |
ka | Georgiano | ქართული |
hy | Armeno | Հայdelays |
kk | Kazako | Қазақша |
uz | Uzbeco | Oʻzbek |
tg | Tagico | Тоҷикӣ |
ky | Kirghiso | Кыргызча |
tk | Turkmeno | Türkmen |
mn | Mongolo | Монгол |
ps | Pashto | پښتو |
ku | Curdo | Kurdî |
Lingue dell'Asia meridionale
| Codice | Lingua | Nome nativo |
|---|---|---|
bn | Bengalese | বাংলা |
ta | Tamil | தமிழ் |
te | Telugu | తెలుగు |
mr | Marathi | मराठी |
gu | Gujarati | ગુજરાતી |
kn | Kannada | ಕನ್ನಡ |
ml | Malayalam | മലയാളം |
pa | Punjabi | ਪੰਜਾਬੀ |
ur | Urdu | اردو |
ne | Nepalese | नेपाली |
si | Singalese | සිංහල |
sd | Sindhi | سنڌي |
as | Assamese | অসমীয়া |
or | Odia | ଓଡ଼ିଆ |
Lingue del sud-est asiatico
| Codice | Lingua | Nome nativo |
|---|---|---|
id | Indonesiano | Bahasa Indonesia |
th | Tailandese | ไทย |
vi | Vietnamita | Tiếng Việt |
ms | Malese | Bahasa Melayu |
my | Birmano | မြန်မာ |
km | Khmer | ភាសាខ្មែរ |
lo | Laotiano | ລາວ |
fil | Filippino | Filipino |
tl | Tagalog | Tagalog |
jv | Giavanese | Basa Jawa |
su | Sundanese | Basa Sunda |
Lingue africane
| Codice | Lingua | Nome nativo |
|---|---|---|
af | Afrikaans | Afrikaans |
sw | Swahili | Kiswahili |
am | Amarico | አማርኛ |
ha | Hausa | Hausa |
yo | Yoruba | Yorùbá |
ig | Igbo | Igbo |
zu | Zulu | isiZulu |
xh | Xhosa | isiXhosa |
so | Somalo | Soomaali |
mg | Malgascio | Malagasy |
Altre lingue
| Codice | Lingua | Nome nativo |
|---|---|---|
la | Latino | Latina |
eo | Esperanto | Esperanto |
yi | Yiddish | ייִדיש |
ht | Creolo haitiano | Kreyòl Ayisyen |
mi | Maori | Te Reo Māori |
sm | Samoano | Gagana Samoa |
to | Tongano | Lea Faka-Tonga |
haw | Hawaiano | ʻŌlelo Hawaiʻi |
API Analisi del Sangue
Analizza immagini o PDF di esami del sangue utilizzando l'IA per estrarre parametri e generare interpretazioni mediche complete.
Endpoint di produzione per l'analisi del sangue. Consuma 1 credito per richiesta.
Parametri della richiesta
| Parametro | Tipo | Richiesto | Descrizione |
|---|---|---|---|
username | string | Sì | Il tuo nome utente API |
password | string | Sì | La tua password API |
file | file | Sì | Immagine dell'esame del sangue (PNG, JPG, WEBP) o PDF. Max 20MB. |
language | string | No | Codice 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
| Campo | Tipo | Descrizione |
|---|---|---|
status | string | "success" o "error" |
data | object | Contiene tutti i risultati dell'analisi |
timestamp | string | Timestamp ISO 8601 della risposta |
api_version | string | Versione API utilizzata |
Oggetto data.metadata
| Campo | Tipo | Descrizione |
|---|---|---|
lab_date | string | Data del prelievo (AAAA-MM-GG) |
results_date | string | Data di emissione dei risultati (AAAA-MM-GG) |
lab_name | string | Nome del laboratorio |
lab_city | string | Città del laboratorio |
lab_country | string | Paese del laboratorio |
patient_name | string | Nome completo del paziente (solo metadati, non inviato all'interpretazione) |
patient_age | string | Età del paziente |
patient_sex | string | "male", "female" o "other" |
Elemento array data.parameters
| Campo | Tipo | Descrizione |
|---|---|---|
category | string | Categoria del parametro (es: "Emocromo", "Profilo lipidico") |
long_name | string | Nome completo del parametro |
short_name | string | Nome abbreviato del parametro |
result | string | Valore misurato |
unit | string | Unità di misura |
range_min | string | Intervallo di riferimento minimo |
range_max | string | Intervallo di riferimento massimo |
evaluation | string | Stato del risultato. Vedi valori di valutazione |
Elemento array data.interpretation
| Campo | Tipo | Descrizione |
|---|---|---|
title | string | Titolo della sezione (es: "Valutazione generale della salute") |
content | string | Interpretazione 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"
}
Il campo evaluation utilizza valori standardizzati. Vedi valori di valutazione.
Endpoint Sandbox
- Nessun consumo di quota
- Restituisce dati di test realistici
- Stesso formato di richiesta della produzione
| API | Endpoint 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 |
Scegli l'API giusta per il tuo caso d'uso:
| Funzionalità | Confronto IA Esami del Sangue | Analisi delle Tendenze |
|---|---|---|
| Focus Principale | Confronto narrativo IA | Analisi statistica delle tendenze |
| Elaborazione IA | Narrativa IA completa | IA potenziata + statistiche |
| Tipo di Output | Riepiloghi narrativi | Grafici, statistiche, pattern |
| Ideale Per | Cosa è cambiato tra i test | Monitoraggio parametri a lungo termine |
| Min Test | 2 | 2 |
| Max Test | 20 | 50 |
API Analisi delle Tendenze
Analizza le tendenze dei parametri di salute nel tempo utilizzando il riconoscimento di pattern basato su IA.
Analizza le tendenze dei parametri degli esami del sangue su più date di test per identificare pattern e fornire informazioni sulla salute.
Parametri di richiesta
| Parametro | Tipo | Richiesto | Descrizione |
|---|---|---|---|
username | string | Sì | Il tuo nome utente API |
password | string | Sì | La tua password API |
language | string | No | Lingua della risposta (predefinito: en). Vedi lingue supportate. |
blood_tests | array | Sì | Array di oggetti esami del sangue (min: 2, max: 50) |
analysis_type | string | No | Tipo di analisi. Vedi valori. |
analysis_options | object | No | Opzioni di configurazione analisi |
Oggetto analysis_options
| Campo | Tipo | Predefinito | Descrizione |
|---|---|---|---|
include_predictions | boolean | true | Includere previsioni di tendenza IA |
include_statistics | boolean | true | Includere analisi statistica |
include_charts | boolean | true | Includere dati configurazione grafici |
- Minimo: 2 esami del sangue richiesti
- Massimo: 50 esami per richiesta
- Ogni test deve avere
lab_dateOresults_date - Usare nomi di parametri coerenti per il monitoraggio preciso
Struttura Array blood_tests
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
lab_date | string | Sì* | Data del test in formato YYYY-MM-DD |
results_date | string | Sì* | Alternativa a lab_date (YYYY-MM-DD) |
parameters | array | Sì | Array di parametri dell'esame del sangue |
metadata | object | No | Metadati aggiuntivi (lab_name, note, ecc.) |
*È richiesto lab_date o results_date per ogni esame del sangue.
Struttura blood_tests[].parameters
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
short_name | string | Sì | Nome abbreviato del parametro (es: "HGB", "GLU", "CHOL") |
long_name | string | No | Nome completo del parametro (es: "Emoglobina", "Glucosio") |
result | number | Sì | Valore del risultato del test |
unit | string | Sì | Unità di misura (es: "g/dL", "mg/dL", "mmol/L") |
reference_range | string | No | Intervallo di riferimento (es: "12-16 g/dL") |
status | string | No | Stato: "normal", "low", "high", "critical" |
Esempio cURL
curl -X POST https://app.aibloodtestinterpret.com/api/v1/analytics/trends/analyze \
-H "Content-Type: application/json" \
-d '{
"username": "il_tuo_username",
"password": "la_tua_password",
"language": "it",
"analysis_type": "comprehensive",
"analysis_options": {
"include_predictions": true,
"include_statistics": true,
"include_charts": true
},
"blood_tests": [
{
"lab_date": "2024-01-15",
"parameters": [
{"short_name": "GLU", "long_name": "Glucosio", "result": 105, "unit": "mg/dL"},
{"short_name": "HbA1c", "long_name": "Emoglobina Glicata", "result": 6.2, "unit": "%"},
{"short_name": "CHOL", "long_name": "Colesterolo Totale", "result": 220, "unit": "mg/dL"},
{"short_name": "LDL", "long_name": "Colesterolo LDL", "result": 145, "unit": "mg/dL"},
{"short_name": "HDL", "long_name": "Colesterolo HDL", "result": 48, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-05-10",
"parameters": [
{"short_name": "GLU", "long_name": "Glucosio", "result": 98, "unit": "mg/dL"},
{"short_name": "HbA1c", "long_name": "Emoglobina Glicata", "result": 5.9, "unit": "%"},
{"short_name": "CHOL", "long_name": "Colesterolo Totale", "result": 205, "unit": "mg/dL"},
{"short_name": "LDL", "long_name": "Colesterolo LDL", "result": 130, "unit": "mg/dL"},
{"short_name": "HDL", "long_name": "Colesterolo HDL", "result": 52, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-08-22",
"parameters": [
{"short_name": "GLU", "long_name": "Glucosio", "result": 92, "unit": "mg/dL"},
{"short_name": "HbA1c", "long_name": "Emoglobina Glicata", "result": 5.6, "unit": "%"},
{"short_name": "CHOL", "long_name": "Colesterolo Totale", "result": 195, "unit": "mg/dL"},
{"short_name": "LDL", "long_name": "Colesterolo LDL", "result": 118, "unit": "mg/dL"},
{"short_name": "HDL", "long_name": "Colesterolo HDL", "result": 55, "unit": "mg/dL"}
]
},
{
"lab_date": "2024-12-18",
"parameters": [
{"short_name": "GLU", "long_name": "Glucosio", "result": 88, "unit": "mg/dL"},
{"short_name": "HbA1c", "long_name": "Emoglobina Glicata", "result": 5.4, "unit": "%"},
{"short_name": "CHOL", "long_name": "Colesterolo Totale", "result": 185, "unit": "mg/dL"},
{"short_name": "LDL", "long_name": "Colesterolo LDL", "result": 105, "unit": "mg/dL"},
{"short_name": "HDL", "long_name": "Colesterolo HDL", "result": 58, "unit": "mg/dL"}
]
}
]
}'
Esempio Python
import requests
from typing import List, Dict
def analizza_tendenze(nome_utente: str, password: str, esami_sangue: List[Dict], lingua: str = "it") -> Dict:
"""Analizza le tendenze degli esami del sangue nel tempo."""
url = "https://app.aibloodtestinterpret.com/api/v1/analytics/trends/analyze"
payload = {
"username": nome_utente,
"password": password,
"language": lingua,
"analysis_type": "comprehensive",
"blood_tests": esami_sangue
}
risposta = requests.post(url, json=payload, timeout=120)
risposta.raise_for_status()
return risposta.json()
# Esempio
esami = [
{"lab_date": "2025-01-15", "parameters": [{"short_name": "HGB", "result": 12.5, "unit": "g/dL"}]},
{"lab_date": "2025-06-15", "parameters": [{"short_name": "HGB", "result": 13.2, "unit": "g/dL"}]},
{"lab_date": "2025-12-01", "parameters": [{"short_name": "HGB", "result": 14.1, "unit": "g/dL"}]}
]
risultato = analizza_tendenze("utente", "password", esami)
Riferimento campi di risposta
| Campo | Tipo | Descrizione |
|---|---|---|
analysis_id | string | Identificatore univoco per questa analisi (formato: TRD-XXXXXXXX) |
analysis_period | object | Dettagli intervallo temporale: start_date, end_date, span_months, total_tests |
categories | array | Elenco delle categorie di parametri trovate (es: "Lipid Panel", "Complete Blood Count") |
chart_config | object | Dati pronti per grafici: dates, raw_dates, simple_dates per visualizzazione |
overall_health_trend | object | Riepilogo, array health_risks e raccomandazioni |
parameter_trends | array | Analisi dettagliata per parametro con statistiche |
risk_factors | array | Fattori di rischio per la salute identificati |
Struttura oggetto parameter_trends
| Campo | Tipo | Descrizione |
|---|---|---|
parameter | string | Nome parametro standardizzato |
short_name | string | Nome parametro abbreviato |
category | string | Categoria parametro (es: "Lipid Panel") |
unit | string | Unità di misura |
trend_data | array | Array di oggetti {date, value} per grafici |
statistical_analysis | object | average, min, max, standard_deviation, trend_direction, trend_strength |
analysis | object | Interpretazione IA: description, significant_variations, trend |
interpretation | string | Descrizione parametro leggibile |
Esempio di risposta
{
"status": "success",
"data": {
"overall_trend": "in miglioramento",
"parameter_trends": [
{
"parameter": "HGB",
"long_name": "Emoglobina",
"direction": "in aumento",
"change_percent": 12.8,
"interpretation": "I livelli di emoglobina mostrano un miglioramento costante."
}
]
}
}
IA Nutrizione con Integratori
Genera piani nutrizionali personalizzati e suggerimenti di integratori basati sull'analisi degli esami del sangue.
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 | Sì | - | Età del paziente in anni (18-120) |
gender |
string | Sì | - | 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"
}
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.
Analizza 2-20 esami del sangue e fornisce un confronto dettagliato con approfondimenti narrativi generati dall'IA.
- Minimo 2 esami del sangue richiesti
- Massimo 20 esami del sangue per richiesta
- Ogni test deve includere
lab_dateoresults_date - Almeno un parametro comune tra i test
Parametri di richiesta
| Parametro | Tipo | Richiesto | Predefinito | Descrizione |
|---|---|---|---|---|
username | string | Sì | - | Il tuo nome utente API |
password | string | Sì | - | La tua password API |
language | string | No | en | Lingua della risposta. Vedi lingue supportate |
blood_tests | array | Sì | - | Array di oggetti esami del sangue (2-20 test) |
Struttura Array blood_tests
| Campo | Tipo | Richiesto | Descrizione |
|---|---|---|---|
lab_date | string | Sì* | Data del test in formato YYYY-MM-DD |
results_date | string | Sì* | Alternativa a lab_date (YYYY-MM-DD) |
parameters | array | Sì | Array di parametri dell'esame del sangue |
metadata | object | No | Metadati 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
| Campo | Tipo | Descrizione |
|---|---|---|
comparison_id | string | Identificatore univoco per questo confronto (formato: CMP-XXXXXXXX) |
comparison_summary | object | Riepilogo generale: key_findings, overall_trend, date report, time_interval |
parameter_analysis | array | Analisi dettagliata per parametro con tipo di cambiamento e significato clinico |
health_assessment | object | Aree di preoccupazione, miglioramento, sviluppi positivi, fattori di rischio |
recommendations | object | Test di follow-up, azioni immediate, modifiche dello stile di vita, referral specialistici |
detailed_interpretation | object | Sezioni narrative IA con riepilogo esecutivo e raccomandazioni cliniche |
Struttura oggetto parameter_analysis
| Campo | Tipo | Descrizione |
|---|---|---|
parameter_name | string | Nome parametro |
report1_value | string | Valore dal primo report con unità |
report2_value | string | Valore dal secondo report con unità |
change_type | string | increased, decreased o stable |
change_magnitude | string | significant, moderate o minor |
clinical_significance | string | Spiegazione IA di cosa significa il cambiamento |
trend_assessment | string | positive, 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"
]
}
}
}
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.
| Valore | Predefinito | Descrizione |
|---|---|---|
comprehensive | ✓ | Analisi completa con statistiche, grafici e interpretazione IA |
statistical | Solo analisi statistica | |
summary | Solo riepilogo di alto livello |
health_goals API Nutrizione
Obiettivi di salute per raccomandazioni nutrizionali personalizzate. Più valori possono essere forniti come array.
| Valore | Descrizione |
|---|---|
maintain | Mantenere la salute attuale (predefinito) |
improve_energy | Focus sui livelli di energia |
weight_management | Gestione sana del peso |
heart_health | Salute cardiovascolare |
immune_support | Supporto al sistema immunitario |
digestive_health | Benessere digestivo |
bone_health | Salute delle ossa |
mental_clarity | Funzione cognitiva |
dietary_restrictions API Nutrizione
Restrizioni alimentari e allergie. Più valori possono essere forniti come array. È accettato anche testo libero per restrizioni personalizzate.
| Valore | Descrizione |
|---|---|
low_sodium | Apporto ridotto di sodio |
low_sugar | Apporto ridotto di zucchero |
low_fat | Apporto ridotto di grassi |
gluten_free | Senza glutine |
dairy_free | Senza latticini |
nut_free | Senza frutta a guscio |
soy_free | Senza soia |
egg_free | Senza uova |
halal | Conforme halal |
kosher | Conforme kosher |
È 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.
| Valore | Descrizione |
|---|---|
omnivore | Nessuna restrizione (predefinito) |
vegetarian | Niente carne |
vegan | Nessun prodotto animale |
pescatarian | Vegetariano + pesce |
keto | Dieta chetogenica |
paleo | Dieta paleolitica |
mediterranean | Dieta mediterranea |
activity_level API Nutrizione
Livello di attività fisica per calcoli calorici e nutrizionali.
| Valore | Descrizione |
|---|---|
sedentary | Poco o nessun esercizio |
light | Esercizio leggero 1-3 giorni/settimana |
moderate | Esercizio moderato 3-5 giorni/settimana (predefinito) |
active | Esercizio intenso 6-7 giorni/settimana |
very_active | Esercizio molto intenso o lavoro fisico |
budget API Nutrizione
Livello di budget per raccomandazioni alimentari e di integratori.
| Valore | Descrizione |
|---|---|
low | Opzioni economiche |
moderate | Opzioni bilanciate (predefinito) |
high | Opzioni premium |
gender Tutte le API
Sesso del paziente per intervalli di riferimento e raccomandazioni personalizzate.
| Valore | Descrizione |
|---|---|
male | Paziente maschio |
female | Paziente femmina |
other | Altro 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.
| Valore | Descrizione |
|---|---|
normal | Nell'intervallo di riferimento normale |
low | Sotto l'intervallo normale |
high | Sopra l'intervallo normale |
critical_low | Criticamente basso (attenzione immediata richiesta) |
critical_high | Criticamente alto (attenzione immediata richiesta) |
borderline_low | Leggermente sotto l'intervallo normale |
borderline_high | Leggermente sopra l'intervallo normale |
trend_assessment API Confronto & Tendenze
Valutazione complessiva delle tendenze dei parametri tra i test.
| Valore | Descrizione |
|---|---|
positive | Migliorato (verso l'intervallo normale) |
negative | Peggiorato (lontano dall'intervallo normale) |
stable | Relativamente invariato tra i test |
improving | Tendenza generale al miglioramento |
worsening | Tendenza generale al peggioramento |
trend_direction API Analisi tendenze
Direzione dei cambiamenti di valore dei parametri nel tempo.
| Valore | Descrizione |
|---|---|
upward | Valori in aumento nel tempo |
downward | Valori in diminuzione nel tempo |
stable | Cambiamento minimo nel tempo |
trend_strength API Analisi tendenze
Entità della tendenza osservata.
| Valore | Descrizione |
|---|---|
strong | >15% di cambiamento tra i periodi |
moderate | 5-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.
| Valore | Descrizione |
|---|---|
excellent | Tutti i marker nell'intervallo ottimale |
good | La maggior parte dei marker nell'intervallo normale |
fair | Alcuni marker richiedono attenzione |
poor | Più marker richiedono attenzione |
Endpoint di utilità
Restituisce le informazioni della piattaforma API. Nessuna autenticazione richiesta.
Endpoint di verifica dello stato per il monitoraggio. Nessuna autenticazione richiesta.
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
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.
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.
- 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
| Endpoint | Metodo | Descrizione | Auth |
|---|---|---|---|
/api/v1/family-health/analyze | POST | Genera rapporto completo di valutazione dei rischi | Richiesto (1 credito) |
/api/v1/family-health/validate | POST | Valida i dati della richiesta (nessun consumo quota) | Richiesto (Gratuito) |
/api/v1/family-health/supported-languages | GET | Elenca 100+ lingue supportate | Non richiesto |
/api/v1/family-health/condition-categories | GET | Elenca categorie di patologie | Non richiesto |
/api/v1/family-health/family-relations | GET | Elenca tipi di relazioni familiari | Non richiesto |
/api/v1/family-health/sandbox/analyze | POST | Test sandbox con dati di esempio | Richiesto (Gratuito) |
Genera un rapporto completo di valutazione dei rischi di salute familiare alimentato dall'IA.
Parametri richiesta (JSON Body)
| Parametro | Tipo | Richiesto | Descrizione |
|---|---|---|---|
username | string | Sì | Nome utente API |
password | string | Sì | Password API |
patient_data | object | Sì | Informazioni paziente |
family_members | array | Sì* | Membri della famiglia (max 100) |
health_profile | object | Sì* | Profilo di salute |
blood_test_data | array | No | Dati esami del sangue |
language | string | No | Codice 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
| Codice | HTTP | Descrizione |
|---|---|---|
AUTH_1001 | 401 | Credenziali mancanti |
AUTH_1002 | 401 | Credenziali non valide |
QUOTA_1101 | 403 | Quota API insufficiente |
VAL_2001 | 400 | Campo obbligatorio mancante |
VAL_2003 | 400 | Codice lingua non supportato |
PROC_3001 | 500 | Generazione rapporto fallita |
SRV_5001 | 500 | Errore interno del server |
Endpoint Sandbox Family Health
Testa la tua integrazione senza consumare crediti.
| API | Sandbox | Descrizione |
|---|---|---|
| Family Health | /api/v1/family-health/sandbox/analyze | Dati di rapporto di esempio |
Endpoint di riferimento (Nessuna auth)
| Endpoint | Metodo | Descrizione |
|---|---|---|
/api/v1/family-health/supported-languages | GET | 100+ lingue supportate |
/api/v1/family-health/condition-categories | GET | 9 categorie di patologie |
/api/v1/family-health/family-relations | GET | 14 relazioni familiari |
ICR - Riconoscimento Intelligente dei Caratteri API
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.
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.
- 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
| Endpoint | Metodo | Descrizione | Costo |
|---|---|---|---|
/api/icr/v1/extract | POST | Estrazione testo ICR | 0,5 crediti |
/api/icr/v1/sandbox | POST | Test sandbox ICR | Gratuito |
/api/icr/v1/kan | POST | Analisi documenti analisi del sangue | 0,5 crediti |
/api/icr/v1/kan/sandbox | POST | Test sandbox analisi del sangue | Gratuito |
/api/icr/info | GET | Documentazione e funzionalità API | Gratuito |
/api/icr/health | GET | Endpoint controllo salute | Gratuito |
/api/icr/v1/quota | POST | Controlla crediti ICR rimanenti | Gratuito |
Estrae tutto il contenuto testuale dai documenti caricati utilizzando la tecnologia ICR di Kantesti.
Parametri Richiesta
| Parametro | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
username | string | Sì | Il tuo nome utente API |
password | string | Sì | La tua password API |
file | file | Sì | File documento (PDF, JPG, JPEG, PNG) |
language | string | No | Lingua 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
| Metrica | Kantesti ICR | OCR Tradizionale | Miglioramento |
|---|---|---|---|
| Velocità di Elaborazione | 1,2s media | 5,7s media | 79% più veloce |
| Precisione Testo | 99,7% | 92,1% | +7,6% |
| Rilevamento Tabelle | 98,9% | 71,2% | +27,7% |
| Output Strutturato | JSON con sezioni, tabelle, metadati | Testo grezzo non strutturato | Struttura completa |
| Supporto Multilingue | 100+ lingue | 30-50 lingue | 2x+ copertura |