Points de terminaison API

Référence complète de tous les points de terminaison de l'API Kantesti avec des exemples de code dans plusieurs langages de programmation.

URL de base
https://app.aibloodtestinterpret.com

Changelog

Suivez les versions de l'API, les mises à jour et les informations de migration. Utilisez les points de terminaison recommandés pour les nouvelles intégrations.

Points de terminaison stables actuels

Ces points de terminaison sont recommandés pour la production et les nouvelles intégrations.

APIPoint de terminaisonStatut
Analyse sanguine v11 /api/v11/01-06-2025/analyze Recommandé
Analyse sanguine (Score de santé) v11 /api/v11/health-score/analyze Recommandé
IA Nutrition v1 /api/v1/nutrition/diet-plan/analyze Stable
Comparaison IA de tests sanguins v1 /api/v1/bloodtest/comparison/analyze Stable
Évaluation des Risques de Santé Familiale v1 /api/v1/family-health/analyze Publié 23.03.2026
ICR - Reconnaissance Intelligente de Caractères v1 /api/icr/v1/extract Publié 14.02.2026
ICR Kan - Extraction de Tests Sanguins v1 /api/icr/v1/kan Publié 14.02.2026
Analyse des tendances v1 /api/v1/analytics/trends/analyze Stable

Historique des versions

DateVersionModifications
Mars 2026 Family Health v1 API d'Évaluation des Risques de Santé Familiale publiée — Analyse de risques héréditaires par IA, support de 100+ langues, analyse de l'arbre généalogique, calendrier de soins préventifs, recommandations de dépistage génétique, mode sandbox
Février 2026 ICR v1 API ICR (Reconnaissance Intelligente de Caractères) publiée — 79% plus rapide que l'OCR, sortie JSON structurée, détection du type de document, extraction de tableaux, intégration Kan pour tests sanguins
Décembre 2025 Dernière Gestion améliorée des erreurs, précision de 98,7%, support de 100 langues
Juin 2025 v11 Analyse sanguine v11, point de terminaison score de santé, support multi-fichiers
Avril 2025 v9 Modèle api_parameters_v9, extraction de paramètres améliorée
Mars 2025 v8 Support de téléchargement multi-fichiers, traitement par lots

Points de terminaison hérités

Ces points de terminaison sont maintenus pour la compatibilité descendante mais ne sont pas recommandés pour les nouvelles intégrations.

VersionPoint de terminaisonStatut
v10 /api/v10/health-score/analyze Hérité
v9 /api/v9/14-04-2025/analyze Hérité
v8 /api/v8/31-03-2025/analyze Hérité
v6 /api/v6-1/21-11-2024/analyze Hérité
v3 /api/v3/10-10-2024/analyze Hérité
Remarque

Les points de terminaison hérités sont maintenus pour la compatibilité descendante mais ne sont pas recommandés pour les nouvelles intégrations. Veuillez migrer vers les points de terminaison stables actuels pour de meilleures performances et un meilleur support.

Référence des langues prises en charge

L'API Kantesti prend en charge 100 langues pour la localisation des réponses. Utilisez le paramètre language avec l'un des codes ISO 639-1 répertoriés ci-dessous. Si non spécifié, les réponses sont par défaut en anglais (en).

Langue par défaut

Si aucun paramètre language n'est fourni, l'API renvoie les réponses en anglais (en).

Langues mondiales majeures

CodeLangueNom natif
enAnglaisEnglish
zhChinois中文
esEspagnolEspañol
arArabeالعربية
hiHindiहिन्दी
ptPortugaisPortuguês
ruRusseРусский
jaJaponais日本語
frFrançaisFrançais
deAllemandDeutsch
koCoréen한국어
trTurcTürkçe

Langues européennes

CodeLangueNom natif
itItalienItaliano
nlNéerlandaisNederlands
plPolonaisPolski
elGrecΕλληνικά
svSuédoisSvenska
noNorvégienNorsk
daDanoisDansk
fiFinnoisSuomi
csTchèqueČeština
ukUkrainienУкраїнська
roRoumainRomână
huHongroisMagyar
bgBulgareБългарски
hrCroateHrvatski
skSlovaqueSlovenčina
slSlovèneSlovenščina
srSerbeСрпски
ltLituanienLietuvių
lvLettonLatviešu
etEstonienEesti
caCatalanCatalà
euBasqueEuskara
glGalicienGalego
cyGalloisCymraeg
gaIrlandaisGaeilge
isIslandaisÍslenska
mtMaltaisMalti
sqAlbanaisShqip
mkMacédonienМакедонски
bsBosniaqueBosanski
lbLuxembourgeoisLëtzebuergesch
beBiélorusseБеларуская

Langues du Moyen-Orient & d'Asie centrale

CodeLangueNom natif
heHébreuעברית
faPersanفارسی
azAzerbaïdjanaisAzərbaycan
kaGéorgienქართული
hyArménienՀայերdelays
kkKazakhҚазақша
uzOuzbèkeOʻzbek
tgTadjikТоҷикӣ
kyKirghizeКыргызча
tkTurkmèneTürkmen
mnMongolМонгол
psPachtoپښتو
kuKurdeKurdî

Langues d'Asie du Sud

CodeLangueNom natif
bnBengaliবাংলা
taTamoulதமிழ்
teTélougouతెలుగు
mrMarathiमराठी
guGujaratiગુજરાતી
knKannadaಕನ್ನಡ
mlMalayalamമലയാളം
paPendjabiਪੰਜਾਬੀ
urOurdouاردو
neNépalaisनेपाली
siCinghalaisසිංහල
sdSindhiسنڌي
asAssamaisঅসমীয়া
orOdiaଓଡ଼ିଆ

Langues d'Asie du Sud-Est

CodeLangueNom natif
idIndonésienBahasa Indonesia
thThaïไทย
viVietnamienTiếng Việt
msMalaisBahasa Melayu
myBirmanမြန်မာ
kmKhmerភាសាខ្មែរ
loLaotienລາວ
filFilipinoFilipino
tlTagalogTagalog
jvJavanaisBasa Jawa
suSoundanaisBasa Sunda

Langues africaines

CodeLangueNom natif
afAfrikaansAfrikaans
swSwahiliKiswahili
amAmhariqueአማርኛ
haHaoussaHausa
yoYorubaYorùbá
igIgboIgbo
zuZoulouisiZulu
xhXhosaisiXhosa
soSomaliSoomaali
mgMalgacheMalagasy

Autres langues

CodeLangueNom natif
laLatinLatina
eoEspérantoEsperanto
yiYiddishייִדיש
htCréole haïtienKreyòl Ayisyen
miMaoriTe Reo Māori
smSamoanGagana Samoa
toTonguienLea Faka-Tonga
hawHawaïenʻŌlelo Hawaiʻi

API d'analyse sanguine

Analysez des images ou des PDF de tests sanguins à l'aide de l'IA pour extraire les paramètres et générer des interprétations médicales complètes.

POST /api/v11/01-06-2025/analyze Dernière

Point de terminaison de production pour l'analyse sanguine. Consomme 1 crédit par requête.

Paramètres de requête

ParamètreTypeRequisDescription
usernamestringOuiVotre nom d'utilisateur API
passwordstringOuiVotre mot de passe API
filefileOuiImage de test sanguin (PNG, JPG, WEBP) ou PDF. Max 20Mo.
languagestringNonCode de langue de réponse (par défaut: en). Voir les langues prises en charge.

Exemple cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze" \
  -F "username=VOTRE_NOM_UTILISATEUR" \
  -F "password=VOTRE_MOT_DE_PASSE" \
  -F "language=fr" \
  -F "file=@analyse_sang.pdf"

Exemple Python

import requests

def analyser_test_sanguin(chemin_fichier: str, nom_utilisateur: str, mot_de_passe: str, langue: str = "fr"):
    """
    Analyse un fichier de test sanguin avec l'API Kantesti.

    Args:
        chemin_fichier: Chemin vers le PDF ou l'image du test sanguin
        nom_utilisateur: Nom d'utilisateur API
        mot_de_passe: Mot de passe API
        langue: Code de langue de réponse (par défaut: fr)

    Returns:
        dict: Réponse API avec les résultats d'analyse
    """
    url = "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze"

    with open(chemin_fichier, "rb") as f:
        fichiers = {"file": (chemin_fichier, f, "application/pdf")}
        donnees = {
            "username": nom_utilisateur,
            "password": mot_de_passe,
            "language": langue
        }

        reponse = requests.post(url, files=fichiers, data=donnees, timeout=120)
        reponse.raise_for_status()
        return reponse.json()

# Exemple d'utilisation
if __name__ == "__main__":
    resultat = analyser_test_sanguin(
        chemin_fichier="analyse_sang.pdf",
        nom_utilisateur="votre_nom_utilisateur",
        mot_de_passe="votre_mot_de_passe",
        langue="fr"
    )
    print(f"Statut: {resultat['status']}")
    print(f"Paramètres trouvés: {len(resultat['data']['parameters'])}")

Exemple C++ (libcurl)

#include <iostream>
#include <string>
#include <curl/curl.h>

// Fonction de rappel pour le traitement de la réponse
size_t CallbackEcriture(void* contenu, size_t taille, size_t nmemb, std::string* sortie) {
    sortie->append((char*)contenu, taille * nmemb);
    return taille * nmemb;
}

std::string analyserTestSanguin(const std::string& cheminFichier,
                                 const std::string& nomUtilisateur,
                                 const std::string& motDePasse,
                                 const std::string& langue = "fr") {
    CURL* curl = curl_easy_init();
    std::string reponse;

    if (curl) {
        curl_mime* formulaire = curl_mime_init(curl);
        curl_mimepart* champ;

        // Ajouter le nom d'utilisateur
        champ = curl_mime_addpart(formulaire);
        curl_mime_name(champ, "username");
        curl_mime_data(champ, nomUtilisateur.c_str(), CURL_ZERO_TERMINATED);

        // Ajouter le mot de passe
        champ = curl_mime_addpart(formulaire);
        curl_mime_name(champ, "password");
        curl_mime_data(champ, motDePasse.c_str(), CURL_ZERO_TERMINATED);

        // Ajouter la langue
        champ = curl_mime_addpart(formulaire);
        curl_mime_name(champ, "language");
        curl_mime_data(champ, langue.c_str(), CURL_ZERO_TERMINATED);

        // Ajouter le fichier
        champ = curl_mime_addpart(formulaire);
        curl_mime_name(champ, "file");
        curl_mime_filedata(champ, cheminFichier.c_str());

        curl_easy_setopt(curl, CURLOPT_URL,
            "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze");
        curl_easy_setopt(curl, CURLOPT_MIMEPOST, formulaire);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CallbackEcriture);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &reponse);
        curl_easy_setopt(curl, CURLOPT_TIMEOUT, 120L);

        CURLcode res = curl_easy_perform(curl);

        curl_mime_free(formulaire);
        curl_easy_cleanup(curl);
    }
    return reponse;
}

int main() {
    std::string resultat = analyserTestSanguin("analyse_sang.pdf", "utilisateur", "motdepasse");
    std::cout << resultat << std::endl;
    return 0;
}

Configuration Postman

{
  "info": {
    "name": "API Kantesti Analyse de Sang",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Analyser test sanguin",
      "request": {
        "method": "POST",
        "header": [],
        "body": {
          "mode": "formdata",
          "formdata": [
            {"key": "username", "value": "{{api_nom_utilisateur}}", "type": "text"},
            {"key": "password", "value": "{{api_mot_de_passe}}", "type": "text"},
            {"key": "language", "value": "fr", "type": "text"},
            {"key": "file", "type": "file", "src": "/chemin/vers/analyse_sang.pdf"}
          ]
        },
        "url": {
          "raw": "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze",
          "protocol": "https",
          "host": ["app", "aibloodtestinterpret", "com"],
          "path": ["api", "v11", "01-06-2025", "analyze"]
        }
      }
    }
  ]
}

Exemple de réponse

{
  "status": "success",
  "data": {
    "metadata": {
      "patient_name": "Jan Novák",
      "lab_name": "Centre Médical BioLAB",
      "lab_city": "Paris",
      "lab_country": "France",
      "lab_date": "2025-05-11",
      "patient_age": "45",
      "patient_sex": "Masculin"
    },
    "parameters": [
      {
        "short_name": "WBC",
        "long_name": "Globules blancs",
        "category": "Hémogramme complet",
        "result": 7.2,
        "unit": "10^9/L",
        "evaluation": "normal",
        "range_min": 2.0,
        "range_max": 12.0,
        "range_normal_min": 4.0,
        "range_normal_max": 10.0,
        "short_description": "Mesure le nombre total de globules blancs dans le sang.",
        "long_description": "Les globules blancs (leucocytes) sont essentiels pour la fonction immunitaire..."
      },
      {
        "short_name": "HGB",
        "long_name": "Hémoglobine",
        "category": "Hémogramme complet",
        "result": 14.5,
        "unit": "g/dL",
        "evaluation": "normal",
        "range_min": 10.0,
        "range_max": 18.0,
        "range_normal_min": 13.5,
        "range_normal_max": 17.5,
        "short_description": "Protéine des globules rouges qui transporte l'oxygène.",
        "long_description": "L'hémoglobine est la protéine contenant du fer responsable du transport de l'oxygène..."
      }
    ],
    "interpretation": [
      {
        "title": "Évaluation globale de la santé",
        "shortcode": "overall_health_assessment",
        "subsections": [
          {
            "subtitle": "Aperçu complet",
            "shortcode": "overall_health_assessment_overview",
            "items": [
              {"item": "Le patient présente une fonction organique préservée avec des paramètres hématologiques normaux."},
              {"item": "Aucune anomalie significative détectée dans l'hémogramme complet."}
            ]
          }
        ]
      }
    ]
  },
  "api_version": "v11",
  "timestamp": "2025-12-22T10:30:00Z"
}

Référence des champs de réponse

Niveau racine
ChampTypeDescription
statusstring"success" ou "error"
dataobjectContient tous les résultats d'analyse
timestampstringHorodatage ISO 8601 de la réponse
api_versionstringVersion de l'API utilisée
Objet data.metadata
ChampTypeDescription
lab_datestringDate de prélèvement sanguin (AAAA-MM-JJ)
results_datestringDate d'émission des résultats (AAAA-MM-JJ)
lab_namestringNom du laboratoire
lab_citystringVille du laboratoire
lab_countrystringPays du laboratoire
patient_namestringNom complet du patient (métadonnées uniquement, non envoyé à l'interprétation)
patient_agestringÂge du patient
patient_sexstring"male", "female" ou "other"
Élément du tableau data.parameters
ChampTypeDescription
categorystringCatégorie du paramètre (ex: "Hémogramme", "Bilan lipidique")
long_namestringNom complet du paramètre
short_namestringNom abrégé du paramètre
resultstringValeur mesurée
unitstringUnité de mesure
range_minstringPlage de référence minimale
range_maxstringPlage de référence maximale
evaluationstringStatut du résultat. Voir les valeurs d'évaluation
Élément du tableau data.interpretation
ChampTypeDescription
titlestringTitre de la section (ex: "Évaluation globale de la santé")
contentstringInterprétation médicale générée par l'IA

Exemple de réponse complète

{
  "status": "success",
  "data": {
    "metadata": {
      "patient_name": "Anna Müller",
      "lab_name": "MedLab Diagnostics International",
      "lab_city": "Paris",
      "lab_country": "France",
      "lab_date": "2025-12-15",
      "results_date": "2025-12-16",
      "patient_age": "38",
      "patient_sex": "female"
    },
    "parameters": [
      {
        "short_name": "WBC",
        "long_name": "Numération des globules blancs",
        "category": "Hémogramme",
        "result": "6.8",
        "unit": "10^9/L",
        "evaluation": "normal",
        "range_min": "4.0",
        "range_max": "11.0",
        "range_normal_min": "4.5",
        "range_normal_max": "10.0",
        "short_description": "Mesure le nombre total de globules blancs.",
        "long_description": "Les globules blancs (leucocytes) sont des composants essentiels du système immunitaire..."
      },
      {
        "short_name": "RBC",
        "long_name": "Numération des globules rouges",
        "category": "Hémogramme",
        "result": "4.52",
        "unit": "10^12/L",
        "evaluation": "normal",
        "range_min": "3.8",
        "range_max": "5.8",
        "range_normal_min": "4.0",
        "range_normal_max": "5.5",
        "short_description": "Mesure le nombre total de globules rouges.",
        "long_description": "Les globules rouges (érythrocytes) transportent l'oxygène des poumons vers les tissus..."
      },
      {
        "short_name": "HGB",
        "long_name": "Hémoglobine",
        "category": "Hémogramme",
        "result": "13.2",
        "unit": "g/dL",
        "evaluation": "normal",
        "range_min": "11.5",
        "range_max": "16.0",
        "range_normal_min": "12.0",
        "range_normal_max": "15.5",
        "short_description": "Protéine des globules rouges qui transporte l'oxygène.",
        "long_description": "L'hémoglobine est la protéine contenant du fer dans les globules rouges responsable du transport de l'oxygène..."
      },
      {
        "short_name": "HCT",
        "long_name": "Hématocrite",
        "category": "Hémogramme",
        "result": "39.8",
        "unit": "%",
        "evaluation": "normal",
        "range_min": "35.0",
        "range_max": "47.0",
        "range_normal_min": "36.0",
        "range_normal_max": "44.0",
        "short_description": "Pourcentage du volume sanguin occupé par les globules rouges.",
        "long_description": "L'hématocrite mesure la proportion de sang constituée de globules rouges..."
      },
      {
        "short_name": "PLT",
        "long_name": "Numération plaquettaire",
        "category": "Hémogramme",
        "result": "245",
        "unit": "10^9/L",
        "evaluation": "normal",
        "range_min": "150",
        "range_max": "400",
        "range_normal_min": "150",
        "range_normal_max": "350",
        "short_description": "Mesure le nombre de plaquettes dans le sang.",
        "long_description": "Les plaquettes (thrombocytes) sont essentielles pour la coagulation sanguine et la cicatrisation..."
      },
      {
        "short_name": "GLU",
        "long_name": "Glycémie à jeun",
        "category": "Bilan métabolique",
        "result": "102",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "70",
        "range_max": "140",
        "range_normal_min": "70",
        "range_normal_max": "99",
        "short_description": "Mesure le taux de sucre dans le sang à jeun.",
        "long_description": "La glycémie à jeun est un indicateur clé de la façon dont le corps métabolise le sucre..."
      },
      {
        "short_name": "TC",
        "long_name": "Cholestérol total",
        "category": "Bilan lipidique",
        "result": "218",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "0",
        "range_max": "300",
        "range_normal_min": "0",
        "range_normal_max": "200",
        "short_description": "Mesure le cholestérol total dans le sang.",
        "long_description": "Le cholestérol total est la somme des cholestérols HDL, LDL et VLDL..."
      },
      {
        "short_name": "HDL",
        "long_name": "Cholestérol HDL",
        "category": "Bilan lipidique",
        "result": "58",
        "unit": "mg/dL",
        "evaluation": "normal",
        "range_min": "35",
        "range_max": "100",
        "range_normal_min": "50",
        "range_normal_max": "90",
        "short_description": "Mesure le niveau de 'bon' cholestérol.",
        "long_description": "Le cholestérol HDL (lipoprotéine de haute densité) aide à éliminer les autres formes de cholestérol..."
      },
      {
        "short_name": "LDL",
        "long_name": "Cholestérol LDL",
        "category": "Bilan lipidique",
        "result": "142",
        "unit": "mg/dL",
        "evaluation": "high",
        "range_min": "0",
        "range_max": "200",
        "range_normal_min": "0",
        "range_normal_max": "100",
        "short_description": "Mesure le niveau de 'mauvais' cholestérol.",
        "long_description": "Le cholestérol LDL (lipoprotéine de basse densité) peut s'accumuler dans les parois artérielles..."
      },
      {
        "short_name": "TRIG",
        "long_name": "Triglycérides",
        "category": "Bilan lipidique",
        "result": "156",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "0",
        "range_max": "500",
        "range_normal_min": "0",
        "range_normal_max": "150",
        "short_description": "Mesure les graisses dans le sang.",
        "long_description": "Les triglycérides sont un type de graisse dans le sang qui stocke l'excès d'énergie..."
      }
    ],
    "interpretation": [
      {
        "title": "Évaluation globale de la santé",
        "shortcode": "overall_health_assessment",
        "subsections": [
          {
            "subtitle": "Aperçu complet",
            "shortcode": "overall_health_assessment_overview",
            "items": [
              {"item": "La patiente présente des paramètres hématologiques généralement sains avec toutes les valeurs de l'hémogramme dans les normes."},
              {"item": "Les résultats de l'hémogramme complet indiquent une capacité adéquate de transport d'oxygène et une fonction immunitaire normale."},
              {"item": "Le bilan lipidique montre des domaines nécessitant une attention, notamment les niveaux de cholestérol LDL."}
            ]
          }
        ]
      },
      {
        "title": "Analyse métabolique",
        "shortcode": "metabolic_analysis",
        "subsections": [
          {
            "subtitle": "Évaluation de la glycémie",
            "shortcode": "metabolic_analysis_glucose",
            "items": [
              {"item": "La glycémie à jeun à 102 mg/dL est légèrement élevée, indiquant une zone pré-diabétique."},
              {"item": "Des modifications du mode de vie sont recommandées, notamment l'exercice régulier et la réduction de l'apport en glucides simples."},
              {"item": "Un test HbA1c de suivi est recommandé dans 3 mois pour évaluer le contrôle glycémique à long terme."}
            ]
          }
        ]
      },
      {
        "title": "Évaluation du risque cardiovasculaire",
        "shortcode": "cardiovascular_risk",
        "subsections": [
          {
            "subtitle": "Analyse du profil lipidique",
            "shortcode": "cardiovascular_risk_lipids",
            "items": [
              {"item": "Le cholestérol LDL à 142 mg/dL dépasse les niveaux optimaux et justifie une intervention."},
              {"item": "Le cholestérol HDL à 58 mg/dL offre une protection cardiovasculaire modérée."},
              {"item": "Les triglycérides légèrement élevés; envisager des modifications alimentaires pour réduire l'apport en graisses saturées."},
              {"item": "Le rapport cholestérol total/HDL de 3,76 indique un risque cardiovasculaire modéré."}
            ]
          }
        ]
      },
      {
        "title": "Recommandations",
        "shortcode": "recommendations",
        "subsections": [
          {
            "subtitle": "Modifications du mode de vie",
            "shortcode": "recommendations_lifestyle",
            "items": [
              {"item": "Augmenter l'activité physique aérobique à au moins 150 minutes par semaine."},
              {"item": "Adopter un régime de type méditerranéen riche en légumes, fruits et graisses saines."},
              {"item": "Limiter les aliments transformés, les graisses saturées et les sucres ajoutés."},
              {"item": "Envisager une consultation avec un nutritionniste pour des conseils diététiques personnalisés."}
            ]
          },
          {
            "subtitle": "Tests de suivi",
            "shortcode": "recommendations_followup",
            "items": [
              {"item": "Répéter le bilan lipidique dans 3 mois après la mise en œuvre des changements de mode de vie."},
              {"item": "Test HbA1c recommandé pour évaluer les niveaux moyens de glucose sanguin."},
              {"item": "Bilan métabolique complet annuel pour un suivi continu."}
            ]
          }
        ]
      }
    ]
  },
  "api_version": "v11",
  "timestamp": "2025-12-16T14:32:18Z"
}
Mots-clés de réponse

Le champ evaluation utilise des valeurs standardisées. Voir les valeurs d'évaluation.

Points de terminaison Sandbox

Les points de terminaison Sandbox renvoient des données de test réalistes sans consommer de quota API. Utilisez-les pour le développement et les tests d'intégration.

Avantages du Sandbox
  • Aucune consommation de quota
  • Renvoie des données de test réalistes
  • Même format de requête que la production
  • Testez votre intégration avant la mise en production
  • Disponible pour toutes les versions de l'API
APIPoint de terminaison Sandbox
Test sanguin v11/api/v11/01-06-2025/sandbox
Test sanguin v11-health/api/v11/health-score/sandbox
IA Nutrition/api/v1/nutrition/diet-plan/sandbox
Comparaison de tests/api/v1/bloodtest/comparison/sandbox
Analyse des tendances/api/v1/analytics/trends/sandbox
ICR Extract/api/icr/v1/sandbox
ICR Kan (Test sanguin)/api/icr/v1/kan/sandbox
API de Comparaison vs API d'Analyse des Tendances

Choisissez la bonne API pour votre cas d'utilisation :

FonctionnalitéComparaison IA des Tests SanguinsAnalyse des Tendances
Focus PrincipalComparaison narrative IAAnalyse statistique des tendances
Traitement IANarrative IA complèteIA améliorée + statistiques
Type de SortieRésumés narratifsGraphiques, statistiques, modèles
Idéal PourCe qui a changé entre les testsSuivi des paramètres à long terme
Min Tests22
Max Tests2050

API d'analyse des tendances

Analysez les tendances des paramètres de santé au fil du temps à l'aide de la reconnaissance de motifs par IA. Identifiez les améliorations, les détériorations et les informations exploitables à partir des données historiques des tests sanguins.

IA Nutrition avec Suppléments

Générez des plans nutritionnels personnalisés, des recommandations diététiques et des suggestions de suppléments basés sur l'analyse des tests sanguins à l'aide d'algorithmes d'IA avancés.

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

Génère des recommandations complètes de nutrition et de suppléments basées sur les paramètres de tests sanguins et le profil du patient.

Exemple Python

import requests
from typing import Dict, List, Optional

def obtenir_plan_nutrition(
    nom_utilisateur: str,
    mot_de_passe: str,
    patient: Dict,
    test_sanguin: Dict,
    objectifs_sante: Optional[List[str]] = None,
    restrictions_alimentaires: Optional[List[str]] = None,
    langue: str = "fr"
) -> Dict:
    """
    Obtient des recommandations personnalisées de nutrition et suppléments.

    Args:
        nom_utilisateur: Nom d'utilisateur API
        mot_de_passe: Mot de passe API
        patient: Démographie et informations de santé du patient
        test_sanguin: Paramètres du test sanguin
        objectifs_sante: Objectifs de santé optionnels
        restrictions_alimentaires: Restrictions alimentaires optionnelles
        langue: Langue de réponse

    Returns:
        dict: Plan nutritionnel avec suppléments
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze"

    payload = {
        "username": nom_utilisateur,
        "password": mot_de_passe,
        "language": langue,
        "patient": patient,
        "blood_test": test_sanguin
    }

    if objectifs_sante:
        payload["health_goals"] = objectifs_sante
    if restrictions_alimentaires:
        payload["dietary_restrictions"] = restrictions_alimentaires

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

# Exemple d'utilisation
if __name__ == "__main__":
    patient = {
        "age": 45,
        "gender": "male",
        "weight": 82,
        "height": 178,
        "activity_level": "moderate",
        "medical_conditions": ["hypertension"],
        "allergies": ["shellfish"]
    }

    test_sanguin = {
        "lab_date": "2025-12-01",
        "parameters": [
            {"short_name": "VITD", "result": 18, "unit": "ng/mL"},
            {"short_name": "CHOL", "result": 210, "unit": "mg/dL"}
        ]
    }

    resultat = obtenir_plan_nutrition(
        nom_utilisateur="votre_nom_utilisateur",
        mot_de_passe="votre_mot_de_passe",
        patient=patient,
        test_sanguin=test_sanguin,
        objectifs_sante=["lower_cholesterol", "increase_energy"]
    )

    # Afficher les recommandations de suppléments
    for supp in resultat['data']['supplements']:
        print(f"{supp['name']}: {supp['dosage']} - {supp['reason']}")

Schéma de l'Objet Patient

Description détaillée de tous les champs disponibles pour l'objet patient :

Champ Type Requis Défaut Description
age integer Oui - Âge du patient en années (18-120)
gender string Oui - Genre du patient. Voir les valeurs
weight number Non null Poids en kg (pour les calculs caloriques)
height number Non null Taille en cm (pour les calculs d'IMC)
conditions array Non [] Conditions médicales. Voir les valeurs
allergies array Non [] Allergies alimentaires. Voir les valeurs
dietary_preferences array Non [] Préférences alimentaires. Voir les valeurs
activity_level string Non "moderate" Niveau d'activité physique. Voir les valeurs
dietary_restrictions array Non [] Restrictions alimentaires (ex: sans gluten, sans lactose)
liked_foods array Non [] Aliments préférés pour la personnalisation du plan
disliked_foods array Non [] Aliments à éviter dans les recommandations
meal_frequency integer Non 3 Nombre de repas par jour (1-6)
budget string Non "moderate" Niveau de budget : "low", "moderate", "high"
medications array Non [] Médicaments actuels (pour les interactions)

Exemple de réponse

{
  "status": "success",
  "data": {
    "nutrition_plan": {
      "daily_calories": 2100,
      "macros": {
        "protein": {"grams": 105, "percentage": 20},
        "carbohydrates": {"grams": 236, "percentage": 45},
        "fats": {"grams": 82, "percentage": 35}
      },
      "meal_plan": {
        "breakfast": {
          "description": "Flocons d'avoine avec baies et noix",
          "calories": 420,
          "nutrients": ["fibres", "oméga-3", "antioxydants"]
        },
        "lunch": {
          "description": "Salade de saumon grillé avec vinaigrette à l'huile d'olive",
          "calories": 550,
          "nutrients": ["oméga-3", "protéines", "vitamine D"]
        },
        "dinner": {
          "description": "Poulet maigre avec quinoa et légumes vapeur",
          "calories": 580,
          "nutrients": ["protéines", "fer", "fibres"]
        }
      }
    },
    "supplements": [
      {
        "name": "Vitamine D3",
        "dosage": "2000 UI par jour",
        "reason": "Niveaux sanguins à 18 ng/mL indiquent une carence (optimal: 30-50 ng/mL)",
        "priority": "élevée",
        "timing": "Avec le petit-déjeuner (repas contenant des graisses)",
        "duration": "3-6 mois, puis retester"
      },
      {
        "name": "Huile de poisson Oméga-3",
        "dosage": "1000mg EPA+DHA par jour",
        "reason": "Soutient l'optimisation du cholestérol et la santé cardiovasculaire",
        "priority": "moyenne",
        "timing": "Avec les repas"
      }
    ],
    "dietary_recommendations": [
      {
        "category": "augmenter",
        "foods": ["poisson gras", "légumes verts", "noix", "huile d'olive"],
        "reason": "Soutient les niveaux de vitamine D et la santé cardiovasculaire"
      },
      {
        "category": "réduire",
        "foods": ["aliments transformés", "viande rouge", "graisses saturées"],
        "reason": "Aide à réduire le cholestérol LDL"
      }
    ]
  },
  "api_version": "v1",
  "timestamp": "2025-12-22T10:30:00Z"
}

Référence des champs de réponse

Objet nutrition_plan.educational_insights
Champ Type Description
blood_marker_education array Contenu éducatif sur les marqueurs sanguins analysés
nutrition_principles array Principes généraux de nutrition applicables au patient
Élément du tableau blood_marker_education
Champ Type Description
marker string Nom du marqueur sanguin (ex: "Vitamine D", "Cholestérol")
explanation string Explication éducative sur l'importance du marqueur
normal_range string Plage de valeurs normales pour le marqueur
Élément du tableau food_recommendations.power_foods
Champ Type Description
food string Nom de l'aliment recommandé
nutrients array Liste des nutriments clés fournis par cet aliment
serving string Taille de portion recommandée
why string Explication de pourquoi cet aliment est bénéfique
Élément du tableau supplement_recommendations
Champ Type Description
supplement string Nom du supplément
dosage string Dosage quotidien recommandé
timing string Meilleur moment pour la prise (ex: "Avec le petit-déjeuner")
duration string Durée recommandée de la supplémentation
reason string Justification basée sur les résultats sanguins

Exemple cURL complet

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

Réponse complète

{
  "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": "Vitamine D",
            "explanation": "La vitamine D est essentielle pour la santé osseuse, la fonction immunitaire et la régulation de l'humeur. Votre niveau de 18 ng/mL indique une carence qui peut affecter l'absorption du calcium et la santé générale.",
            "normal_range": "30-50 ng/mL"
          },
          {
            "marker": "Cholestérol LDL",
            "explanation": "Le cholestérol LDL, souvent appelé 'mauvais cholestérol', peut s'accumuler dans les parois artérielles. Votre niveau de 140 mg/dL est élevé et peut augmenter le risque cardiovasculaire.",
            "normal_range": "< 100 mg/dL"
          }
        ],
        "nutrition_principles": [
          "Priorisez les acides gras oméga-3 pour la santé cardiaque",
          "Augmentez les fibres solubles pour réduire le cholestérol LDL",
          "Incluez des aliments riches en vitamine D et des sources de soleil"
        ]
      }
    },
    "food_recommendations": {
      "power_foods": [
        {
          "food": "Saumon sauvage",
          "nutrients": ["Oméga-3", "Vitamine D", "Protéines"],
          "serving": "150g, 3 fois par semaine",
          "why": "Source excellente d'oméga-3 et de vitamine D naturelle pour la santé cardiaque et osseuse"
        },
        {
          "food": "Avoine complète",
          "nutrients": ["Bêta-glucane", "Fibres", "Magnésium"],
          "serving": "50g par jour au petit-déjeuner",
          "why": "Les fibres solubles de l'avoine aident à réduire l'absorption du cholestérol LDL"
        },
        {
          "food": "Huile d'olive extra vierge",
          "nutrients": ["Graisses monoinsaturées", "Polyphénols", "Vitamine E"],
          "serving": "2-3 cuillères à soupe par jour",
          "why": "Les graisses saines méditerranéennes améliorent le profil lipidique et protègent le cœur"
        },
        {
          "food": "Épinards",
          "nutrients": ["Fer", "Folate", "Vitamine K"],
          "serving": "100g par jour, crus ou cuits",
          "why": "Riche en fer et antioxydants pour l'énergie et la santé cardiovasculaire"
        }
      ]
    },
    "supplement_recommendations": [
      {
        "supplement": "Vitamine D3",
        "dosage": "2000-4000 UI par jour",
        "timing": "Avec le petit-déjeuner (repas contenant des graisses)",
        "duration": "3-6 mois, puis retester les niveaux sanguins",
        "reason": "Votre niveau de 18 ng/mL est en dessous de l'optimal de 30-50 ng/mL"
      },
      {
        "supplement": "Oméga-3 (EPA/DHA)",
        "dosage": "1000-2000mg EPA+DHA par jour",
        "timing": "Avec les repas principaux",
        "duration": "En continu pour la santé cardiaque",
        "reason": "Aide à réduire les triglycérides et améliore le ratio HDL/LDL"
      },
      {
        "supplement": "Coenzyme Q10",
        "dosage": "100mg par jour",
        "timing": "Avec le repas du matin",
        "duration": "3 mois minimum",
        "reason": "Soutient la santé cardiaque, particulièrement important avec l'hypertension"
      }
    ]
  },
  "api_version": "v1",
  "timestamp": "2025-12-22T10:30:00Z"
}
Mots-clés de réponse

Pour une liste complète de toutes les valeurs de réponse possibles, consultez la section Mots-clés de sortie.

API de comparaison de tests sanguins

Comparez plusieurs tests sanguins pour identifier les changements, les améliorations et les domaines nécessitant une attention avec une analyse propulsée par l'IA.

POST /api/v1/bloodtest/comparison/analyze

Analyse 2 à 20 tests sanguins et fournit une comparaison détaillée avec des informations générées par l'IA.

Exigences
  • Minimum 2 tests sanguins requis
  • Maximum 20 tests sanguins par requête
  • Chaque test doit inclure lab_date
  • Au moins un paramètre commun entre les tests

Paramètres de requête

ParamètreTypeRequisDéfautDescription
usernamestringOui-Votre nom d'utilisateur API
passwordstringOui-Votre mot de passe API
languagestringNonenLangue de réponse. Voir les langues prises en charge
blood_testsarrayOui-Tableau d'objets de tests sanguins (2-20 tests)

Structure du tableau blood_tests

ChampTypeRequisDescription
lab_datestringOui*Date du test au format AAAA-MM-JJ
results_datestringOui*Alternative à lab_date (AAAA-MM-JJ)
parametersarrayOuiTableau des paramètres de test sanguin
metadataobjectNonMétadonnées supplémentaires (lab_name, notes, etc.)

*Soit lab_date soit results_date est requis pour chaque test sanguin.

Exemple Python

import requests
from typing import Dict, List

def comparer_tests_sanguins(
    nom_utilisateur: str,
    mot_de_passe: str,
    tests_sanguins: List[Dict],
    langue: str = "fr"
) -> Dict:
    """
    Compare plusieurs tests sanguins pour l'analyse des tendances.

    Args:
        nom_utilisateur: Nom d'utilisateur API
        mot_de_passe: Mot de passe API
        tests_sanguins: Liste d'objets de tests (2-20 tests)
        langue: Langue de réponse

    Returns:
        dict: Résultats de comparaison avec insights
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze"

    if len(tests_sanguins) < 2:
        raise ValueError("Minimum 2 tests sanguins requis")
    if len(tests_sanguins) > 20:
        raise ValueError("Maximum 20 tests sanguins autorisés")

    payload = {
        "username": nom_utilisateur,
        "password": mot_de_passe,
        "language": langue,
        "blood_tests": tests_sanguins
    }

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

# Exemple d'utilisation
if __name__ == "__main__":
    tests = [
        {
            "lab_date": "2025-06-15",
            "parameters": [
                {"short_name": "HGB", "result": 12.8, "unit": "g/dL"},
                {"short_name": "CHOL", "result": 220, "unit": "mg/dL"}
            ]
        },
        {
            "lab_date": "2025-12-15",
            "parameters": [
                {"short_name": "HGB", "result": 14.2, "unit": "g/dL"},
                {"short_name": "CHOL", "result": 185, "unit": "mg/dL"}
            ]
        }
    ]

    resultat = comparer_tests_sanguins("votre_nom_utilisateur", "votre_mot_de_passe", tests)

    for changement in resultat['data']['significant_changes']:
        print(f"{changement['parameter']}: {changement['direction']} de {changement['change_percent']}%")

Référence des champs de réponse

ChampTypeDescription
comparison_idstringIdentifiant unique pour cette comparaison (format: CMP-XXXXXXXX)
comparison_summaryobjectRésumé global: key_findings, overall_trend, dates du rapport, time_interval
parameter_analysisarrayAnalyse détaillée par paramètre avec type de changement et signification clinique
health_assessmentobjectZones de préoccupation, améliorations, développements positifs, facteurs de risque
recommendationsobjectTests de suivi, actions immédiates, modifications du mode de vie, références aux spécialistes
detailed_interpretationobjectSections narratives IA avec résumé exécutif et recommandations cliniques

Structure de l'objet parameter_analysis

ChampTypeDescription
parameter_namestringNom du paramètre
report1_valuestringValeur du premier rapport avec unité
report2_valuestringValeur du second rapport avec unité
change_typestringincreased, decreased ou stable
change_magnitudestringsignificant, moderate ou minor
clinical_significancestringExplication IA de la signification du changement
trend_assessmentstringpositive, negative ou neutral

Exemple de réponse

{
  "status": "success",
  "data": {
    "comparison_summary": {
      "tests_compared": 2,
      "date_range": {
        "earliest": "2025-06-15",
        "latest": "2025-12-15",
        "span_days": 183
      },
      "parameters_compared": 2,
      "overall_assessment": "en amélioration"
    },
    "parameter_comparisons": [
      {
        "parameter": "HGB",
        "long_name": "Hémoglobine",
        "values": [
          {"date": "2025-06-15", "value": 12.8, "evaluation": "bas"},
          {"date": "2025-12-15", "value": 14.2, "evaluation": "normal"}
        ],
        "change": {
          "absolute": 1.4,
          "percent": 10.94,
          "direction": "augmenté"
        },
        "interpretation": "L'hémoglobine s'est améliorée de bas à normal"
      }
    ],
    "ai_insights": [
      {
        "type": "improvement",
        "title": "Anémie résolue",
        "description": "Les niveaux d'hémoglobine se sont normalisés, suggérant un traitement réussi de l'anémie précédente.",
        "confidence": 0.94
      }
    ],
    "recommendations": [
      "Continuer la supplémentation actuelle en fer/vitamines",
      "Planifier un test sanguin de suivi dans 6 mois"
    ]
  },
  "api_version": "v1",
  "timestamp": "2025-12-22T10:30:00Z"
}

Référence des mots-clés

Référence complète de toutes les valeurs de mots-clés d'entrée utilisées dans les endpoints de l'API Kantesti. Utilisez ces valeurs exactes lors des requêtes API.

analysis_type API Analyse des tendances

Spécifie le type d'analyse de tendance à effectuer.

ValeurDéfautDescription
comprehensiveAnalyse complète avec statistiques, graphiques et interprétation IA
statisticalAnalyse statistique uniquement
summaryRésumé de haut niveau uniquement

health_goals API Nutrition

Objectifs de santé pour des recommandations nutritionnelles personnalisées. Plusieurs valeurs peuvent être fournies sous forme de tableau.

ValeurDescription
maintainMaintenir la santé actuelle (défaut)
improve_energyFocus sur les niveaux d'énergie
weight_managementGestion saine du poids
heart_healthSanté cardiovasculaire
immune_supportSoutien du système immunitaire
digestive_healthBien-être digestif
bone_healthSanté osseuse
mental_clarityFonction cognitive

dietary_restrictions API Nutrition

Restrictions alimentaires et allergies. Plusieurs valeurs peuvent être fournies sous forme de tableau. Le texte libre est également accepté pour les restrictions personnalisées.

ValeurDescription
low_sodiumApport réduit en sodium
low_sugarApport réduit en sucre
low_fatApport réduit en graisses
gluten_freeSans gluten
dairy_freeSans produits laitiers
nut_freeSans noix
soy_freeSans soja
egg_freeSans œufs
halalConforme halal
kosherConforme casher
Note

Le texte libre est également accepté pour les restrictions alimentaires personnalisées non répertoriées ci-dessus.

dietary_preferences API Nutrition

Préférences de style de vie alimentaire pour la planification des repas.

ValeurDescription
omnivoreAucune restriction (défaut)
vegetarianPas de viande
veganPas de produits animaux
pescatarianVégétarien + poisson
ketoRégime cétogène
paleoRégime paléolithique
mediterraneanRégime méditerranéen

activity_level API Nutrition

Niveau d'activité physique pour les calculs caloriques et nutritionnels.

ValeurDescription
sedentaryPeu ou pas d'exercice
lightExercice léger 1-3 jours/semaine
moderateExercice modéré 3-5 jours/semaine (défaut)
activeExercice intense 6-7 jours/semaine
very_activeExercice très intense ou travail physique

budget API Nutrition

Niveau de budget pour les recommandations alimentaires et de suppléments.

ValeurDescription
lowOptions économiques
moderateOptions équilibrées (défaut)
highOptions premium

gender Toutes les APIs

Sexe du patient pour des plages de référence et recommandations personnalisées.

ValeurDescription
malePatient masculin
femalePatient féminin
otherAutre ou non spécifié

Mots-clés de sortie

Les mots-clés suivants apparaissent dans les réponses API. Comprendre ces valeurs vous aide à interpréter et afficher correctement les résultats.

evaluation APIs Analyse sanguine & Comparaison

Statut d'évaluation du paramètre indiquant comment le résultat se compare aux plages de référence.

ValeurDescription
normalDans la plage de référence normale
lowEn dessous de la plage normale
highAu-dessus de la plage normale
critical_lowCritiquement bas (attention immédiate requise)
critical_highCritiquement élevé (attention immédiate requise)
borderline_lowLégèrement en dessous de la plage normale
borderline_highLégèrement au-dessus de la plage normale

trend_assessment APIs Comparaison & Tendances

Évaluation globale des tendances des paramètres entre les tests.

ValeurDescription
positiveAmélioré (vers la plage normale)
negativeDétérioré (s'éloigne de la plage normale)
stableRelativement inchangé entre les tests
improvingTendance globale à l'amélioration
worseningTendance globale à la détérioration

trend_direction API Analyse des tendances

Direction des changements de valeur des paramètres dans le temps.

ValeurDescription
upwardValeurs en augmentation dans le temps
downwardValeurs en diminution dans le temps
stableChangement minimal dans le temps

trend_strength API Analyse des tendances

Magnitude de la tendance observée.

ValeurDescription
strong>15% de changement entre les périodes
moderate5-15% de changement entre les périodes
mild<5% de changement entre les périodes

health_score / score_interpretation API Score de santé

Interprétation globale du score de santé basée sur les paramètres analysés.

ValeurDescription
excellentTous les marqueurs dans la plage optimale
goodLa plupart des marqueurs dans la plage normale
fairCertains marqueurs nécessitent attention
poorPlusieurs marqueurs nécessitent attention

Points de terminaison utilitaires

GET /api/info

Renvoie les informations de la plateforme API, les versions disponibles et les fonctionnalités supportées. Aucune authentification requise.

Exemple de réponse

{
  "platform": "API Kantesti Analyse de Sang",
  "versions": ["v6", "v8", "v9", "v10", "v11"],
  "latest_version": "v11",
  "supported_languages": 100,
  "documentation": "https://www.kantesti.net/docs/",
  "status": "operational"
}
GET /api/health

Point de terminaison de vérification de santé pour la surveillance. Renvoie le statut du service. Aucune authentification requise.

Exemple de réponse

{
  "status": "healthy",
  "timestamp": "2025-12-22T10:30:00Z",
  "uptime": "99.99%"
}
POST /api/quota/check

Vérifiez votre quota API restant. Authentification requise.

Exemple cURL

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

Exemple de réponse

{
  "status": "success",
  "quota": {
    "remaining": 847,
    "total": 1000,
    "reset_date": "2026-01-01",
    "plan": "professional"
  }
}

API Évaluation des Risques de Santé Familiale

Publié : 23 mars 2026

L'API Kantesti d'Évaluation des Risques de Santé Familiale est une plateforme d'analyse des risques de santé héréditaires alimentée par l'IA. Elle génère des rapports complets de santé familiale en analysant les antécédents médicaux familiaux, les profils de santé des patients et les données de tests sanguins pour identifier les facteurs de risque héréditaires et fournir des recommandations de soins préventifs personnalisées.

100+
Langues
9
Catégories de maladies
14
Relations familiales

Analyse de risques héréditaires par IA

L'API Family Health utilise des modèles d'IA avancés pour croiser les antécédents médicaux familiaux avec les données de tests sanguins du patient, identifiant les schémas de risques héréditaires dans les domaines cardiovasculaire, métabolique, cancer, neurologique, respiratoire, auto-immun, génétique, santé mentale et rein/foie. Les rapports incluent l'évaluation des risques, les calendriers de soins préventifs, les recommandations de dépistage génétique et les conseils de mode de vie — le tout localisé dans plus de 100 langues.

Fonctionnalités clés
  • Analyse des risques héréditaires — Classification en risque élevé, modéré et faible avec scoring détaillé
  • Analyse de l'arbre généalogique — Cartographie des risques des lignées paternelle et maternelle
  • Corrélation des tests sanguins — Croisement des antécédents familiaux avec les paramètres sanguins
  • Recommandations de dépistage génétique — Suggestions personnalisées de tests génétiques
  • Calendrier de soins préventifs — Programmes de dépistage adaptés à l'âge
  • Analyse des médicaments — Évaluation des interactions et des sensibilités héréditaires
  • 100+ langues supportées — Localisation complète des rapports dans plus de 100 langues
  • Mode Sandbox — Testez l'intégration sans consommer de crédits
  • 9 catégories de maladies — Cardiovasculaire, Métabolique, Cancer, Neurologique, Respiratoire, Auto-immun, Génétique, Santé mentale, Rein/Foie
  • 14 relations familiales — Père, mère, frères et sœurs, grands-parents, oncles, tantes, enfants

Résumé des endpoints

EndpointMéthodeDescriptionAuth
/api/v1/family-health/analyze POST Générer un rapport complet d'évaluation des risques de santé familiale Requis (1 crédit)
/api/v1/family-health/validate POST Valider les données de la requête avant l'analyse (aucun quota consommé) Requis (Gratuit)
/api/v1/family-health/supported-languages GET Lister les 100+ langues supportées Non requis
/api/v1/family-health/condition-categories GET Lister toutes les catégories de maladies médicales Non requis
/api/v1/family-health/family-relations GET Lister tous les types de relations familiales Non requis
/api/v1/family-health/sandbox/analyze POST Test sandbox avec données fictives (aucun quota consommé) Requis (Gratuit)
POST /api/v1/family-health/analyze Publié 23.03.2026

Générez un rapport complet d'évaluation des risques de santé familiale alimenté par l'IA. Analyse les antécédents médicaux familiaux, les profils de santé et les données de tests sanguins.

Paramètres de requête (JSON Body)

ParamètreTypeRequisDescription
usernamestringOuiVotre nom d'utilisateur API
passwordstringOuiVotre mot de passe API
patient_dataobjectOuiInformations du patient (voir ci-dessous)
family_membersarrayOui*Tableau d'objets membres de la famille (max 100). *Requis si health_profile est absent
health_profileobjectOui*Profil de santé du patient. *Requis si family_members est absent
blood_test_dataarrayNonDonnées de tests sanguins pour l'analyse de corrélation
languagestringNonCode langue de réponse (défaut : en). 100+ langues

Exemple cURL

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "VOTRE_UTILISATEUR",
    "password": "VOTRE_MOT_DE_PASSE",
    "patient_data": {"name": "Marie Dupont", "age": 42, "gender": "female"},
    "family_members": [
      {"relation": "father", "age": 70, "conditions": ["hypertension", "type2_diabetes"]},
      {"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
    ],
    "language": "fr"
  }'

Exemple Python

import requests

url = "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze"
payload = {
    "username": "VOTRE_UTILISATEUR",
    "password": "VOTRE_MOT_DE_PASSE",
    "patient_data": {"name": "Marie Dupont", "age": 42, "gender": "female"},
    "family_members": [
        {"relation": "father", "age": 70, "conditions": ["hypertension", "type2_diabetes"]},
        {"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
    ],
    "language": "fr"
}
response = requests.post(url, json=payload, timeout=120)
print(response.json())

Exemple de réponse

{
  "status": "success",
  "data": {
    "report_data": {
      "report_title": "Rapport d'Évaluation des Risques de Santé Familiale",
      "executive_summary": "Basé sur l'analyse des antécédents médicaux familiaux...",
      "hereditary_risk_analysis": {
        "high_risk": [{"condition": "Maladie cardiovasculaire", "risk_score": 75}],
        "moderate_risk": [{"condition": "Diabète de type 2", "risk_score": 60}],
        "low_risk": []
      },
      "genetic_screening_recommendations": ["Test génétique BRCA1/BRCA2", "Panel génétique cardiovasculaire"],
      "preventive_care_timeline": [
        {"age_range": "40-45", "screenings": ["Mammographie annuelle", "Test d'effort cardiaque"]}
      ]
    }
  },
  "message": "Évaluation des risques de santé familiale complétée avec succès",
  "timestamp": "2026-03-23T10:30:00Z",
  "api_version": "1.0.0"
}

Codes d'erreur Family Health API

Code d'erreurStatus HTTPDescription
AUTH_1001401Identifiants d'authentification manquants
AUTH_1002401Nom d'utilisateur ou mot de passe invalide
QUOTA_1101403Quota API insuffisant
VAL_2001400Champ obligatoire manquant
VAL_2003400Code langue non supporté
VAL_2006400Le tableau dépasse la taille maximale (max 100 membres)
VAL_2007400Structure de données patient invalide
PROC_3001500Échec de la génération du rapport
PROC_3003500Erreur de traitement IA
SRV_5001500Erreur interne du serveur

Endpoint Sandbox Family Health

Testez votre intégration Family Health API sans consommer de crédits.

APIEndpoint SandboxDescription
Family Health Analyze/api/v1/family-health/sandbox/analyzeRenvoie des données de rapport d'exemple

Endpoints de référence (Aucune auth requise)

Ces endpoints fournissent des données de référence. Aucune authentification requise.

EndpointMéthodeDescription
/api/v1/family-health/supported-languagesGETRenvoie les 100+ langues supportées
/api/v1/family-health/condition-categoriesGETRenvoie les 9 catégories de maladies
/api/v1/family-health/family-relationsGETRenvoie les 14 types de relations familiales

ICR - Reconnaissance Intelligente de Caractères API

Publié : 14 février 2026

L'API Kantesti ICR (Reconnaissance Intelligente de Caractères) est une technologie avancée d'extraction de texte de documents qui va bien au-delà de l'OCR traditionnel. Alimentée par le moteur IA propriétaire de Kantesti, l'ICR fournit une sortie JSON structurée à partir de tout type de document, y compris les rapports médicaux, les factures, les formulaires et plus encore.

79%
Plus rapide que l'OCR
99,7%
Taux de précision
100+
Langues

Kantesti ICR vs OCR Traditionnel

Dans les tests de benchmark, Kantesti ICR a démontré une performance 79% supérieure par rapport aux solutions OCR traditionnelles. L'ICR comprend la structure du document, préserve les mises en page des tableaux, extrait les métadonnées et renvoie du JSON structuré propre.

Fonctionnalités Clés ICR
  • Sortie JSON Structurée — Tableaux, sections, métadonnées et texte brut en format JSON propre
  • Détection du Type de Document — Identifie automatiquement les rapports médicaux, factures, formulaires, lettres, etc.
  • Extraction de Tableaux — Préserve les en-têtes et les données des lignes avec la structure complète
  • Support Multi-format — Traitement de documents PDF, JPG, JPEG, PNG
  • Intégration Tests Sanguins (Kan) — Point d'accès spécialisé pour l'extraction de documents de tests sanguins
  • Mode Sandbox — Testez l'intégration sans consommer de crédits
  • Système de Crédits — 0,5 crédit par appel API

Résumé des Points d'Accès ICR

Point d'accèsMéthodeDescriptionCoût
/api/icr/v1/extractPOSTExtraction de texte ICR0,5 crédit
/api/icr/v1/sandboxPOSTTest sandbox ICRGratuit
/api/icr/v1/kanPOSTAnalyse de documents de tests sanguins0,5 crédit
/api/icr/v1/kan/sandboxPOSTTest sandbox tests sanguinsGratuit
/api/icr/infoGETDocumentation et fonctionnalités APIGratuit
/api/icr/healthGETPoint de contrôle santéGratuit
/api/icr/v1/quotaPOSTVérifier les crédits ICR restantsGratuit
POST /api/icr/v1/extract Publié 14.02.2026

Extrait tout le contenu textuel des documents téléchargés en utilisant la technologie ICR de Kantesti.

Paramètres de Requête

ParamètreTypeRequisDescription
usernamestringOuiVotre nom d'utilisateur API
passwordstringOuiVotre mot de passe API
filefileOuiFichier document (PDF, JPG, JPEG, PNG)
languagestringNonLangue de sortie (défaut : en)

Exemple cURL

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

Exemple Python

import requests

def icr_extract(file_path: str, username: str, password: str, language: str = "fr"):
    """
    Extraire le texte d'un document avec l'API ICR Kantesti.
    79% plus rapide et plus précis que l'OCR traditionnel.
    """
    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()

# Exemple d'utilisation
result = icr_extract("rapport_medical.pdf", "utilisateur", "mot_de_passe", "fr")
print(f"Type de document : {result['data']['document_type']}")
print(f"Pages : {result['data']['page_count']}")

Exemple de Réponse

{
  "status": "success",
  "data": {
    "document_type": "blood_test_report",
    "page_count": 1,
    "pages": [{"page_number": 1, "content": {"raw_text": "Hôpital Universitaire de Cologne - Analyse Sanguine...", "sections": [{"type": "header", "content": "Analyse Sanguine"}], "tables": [{"headers": ["Test", "Résultat", "Unité", "Plage de Référence"], "rows": [["Glucose", "92", "mg/dL", "74 - 100"], ["ALT", "22", "U/L", "< 35"]]}]}}],
    "metadata": {"detected_language": "fr", "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",
  "timestamp": "2026-02-14T10:30:00Z"
}

Performance ICR vs OCR

Résultats de Benchmark — Kantesti ICR vs OCR Traditionnel
MétriqueKantesti ICROCR TraditionnelAmélioration
Vitesse de Traitement1,2s moyenne5,7s moyenne79% plus rapide
Précision du Texte99,7%92,1%+7,6%
Détection de Tableaux98,9%71,2%+27,7%
Sortie StructuréeJSON avec sections, tableaux, métadonnéesTexte brut non structuréStructure complète
Support Multilingue100+ langues30-50 langues2x+ couverture