API végpontok

Teljes hivatkozás az összes Kantesti vérvizsgálat API végponthoz, kódpéldákkal több nyelven.

Alap URL
https://app.aibloodtestinterpret.com

Változásnapló

API-verziók, frissítések és migrációs információk követése. Új integrációkhoz használja az ajánlott végpontokat.

Jelenlegi stabil végpontok

Ezek a végpontok éles használatra és új integrációkhoz ajánlottak.

APIVégpontÁllapot
Vérvizsgálat-elemzés v11 /api/v11/01-06-2025/analyze Ajánlott
Vérvizsgálat-elemzés (Egészségügyi pontszám) v11 /api/v11/health-score/analyze Ajánlott
Táplálkozási AI v1 /api/v1/nutrition/diet-plan/analyze Stabil
AI vérvizsgálat-összehasonlítás v1 /api/v1/bloodtest/comparison/analyze Stabil
Családi egészségkockázat-értékelés v1 /api/v1/family-health/analyze Kibocsátva 2026.03.23.
ICR - Intelligens karakterfelismerő v1 /api/icr/v1/extract Kibocsátva 2026.02.14.
ICR Kan - Vérvizsgálat kinyerés v1 /api/icr/v1/kan Kibocsátva 2026.02.14.
Trendelemzés v1 /api/v1/analytics/trends/analyze Stabil

Verziótörténet

DátumVerzióVáltozások
2026 március Családegészség v1 Családi egészségkockázat-értékelési API kiadva — AI-alapú örökletes kockázatelemzés, több mint 100 nyelv támogatása, családfa-elemzés, megelőző ellátási ütemterv, genetikai szűrési ajánlások, sandbox mód
2026 február ICR v1 ICR (Intelligens karakterfelismerő) API kiadva — 79%-kal gyorsabb, mint az OCR, strukturált JSON kimenet, dokumentumtípus-felismerés, táblázat-kinyerés, Kan vérvizsgálat integráció
2025 december Legújabb Továbbfejlesztett hibakezelés, 98,7%-os pontosság, 100 nyelv támogatása
2025 június v11 v11 vérvizsgálat-elemzés, egészségügyi pontszám végpont, több fájl támogatása
2025 április v9 api_parameters_v9 modell, továbbfejlesztett paraméter-kinyerés
2025 március v8 Több fájl feltöltési támogatás, köteges feldolgozás

Régi végpontok

Ezek a végpontok visszafelé kompatibilitás miatt vannak fenntartva, de nem ajánlottak új integrációkhoz.

VerzióVégpontÁllapot
v10 /api/v10/health-score/analyze Régi
v9 /api/v9/14-04-2025/analyze Régi
v8 /api/v8/31-03-2025/analyze Régi
v6 /api/v6-1/21-11-2024/analyze Régi
v3 /api/v3/10-10-2024/analyze Régi
Megjegyzés

A régi végpontok visszafelé kompatibilitás miatt vannak fenntartva, de új integrációkhoz nem ajánlottak. Kérjük, migráljon a jelenlegi stabil végpontokra a jobb teljesítmény és támogatás érdekében.

Támogatott nyelvek hivatkozás

A Kantesti API 100 nyelvet támogat a válasz lokalizációhoz. Használja a language paramétert az alábbi ISO 639-1 kódok bármelyikével. Ha nincs megadva, a válaszok alapértelmezés szerint angol nyelvűek (en).

Alapértelmezett nyelv

Ha nincs megadva language paraméter, az API angol nyelven (en) adja vissza a válaszokat.

Fő világnyelvek

KódNyelvNatív név
enAngolEnglish
zhKínai中文
esSpanyolEspañol
arArabالعربية
hiHindiहिन्दी
ptPortugálPortuguês
ruOroszРусский
jaJapán日本語
frFranciaFrançais
deNémetDeutsch
koKoreai한국어
trTörökTürkçe

Európai nyelvek

KódNyelvNatív név
itOlaszItaliano
nlHollandNederlands
plLengyelPolski
elGörögΕλληνικά
svSvédSvenska
noNorvégNorsk
daDánDansk
fiFinnSuomi
csCsehČeština
ukUkránУкраїнська
roRománRomână
huMagyarMagyar
bgBolgárБългарски
hrHorvátHrvatski
skSzlovákSlovenčina
slSzlovénSlovenščina
srSzerbСрпски
ltLitvánLietuvių
lvLettLatviešu
etÉsztEesti
caKatalánCatalà
euBaszkEuskara
glGalíciaiGalego
cyWalesiCymraeg
gaÍrGaeilge
isIzlandiÍslenska
mtMáltaiMalti
sqAlbánShqip
mkMacedónМакедонски
bsBosnyákBosanski
lbLuxemburgiLëtzebuergesch
beBelaruszБеларуская

Közel-keleti és közép-ázsiai nyelvek

KódNyelvNatív név
heHéberעברית
faPerzsaفارسی
azAzerbajdzsániAzərbaycan
kaGrúzქართული
hyÖrményՀայերdelays
kkKazahҚазақша
uzÜzbégOʻzbek
tgTádzsikТоҷикӣ
kyKirgizКыргызча
tkTürkménTürkmen
mnMongolМонгол
psPastuپښتو
kuKurdKurdî

Dél-ázsiai nyelvek

KódNyelvNatív név
bnBengáliবাংলা
taTamilதமிழ்
teTeluguతెలుగు
mrMaráthiमराठी
guGudzsarátiગુજરાતી
knKannadaಕನ್ನಡ
mlMalajálamമലയാളം
paPandzsábiਪੰਜਾਬੀ
urUrduاردو
neNepáliनेपाली
siSzingalézසිංහල
sdSzindhiسنڌي
asAsszámiঅসমীয়া
orOdiaଓଡ଼ିଆ

Délkelet-ázsiai nyelvek

KódNyelvNatív név
idIndonézBahasa Indonesia
thThaiไทย
viVietnámiTiếng Việt
msMalájBahasa Melayu
myMianmari (burmai)မြန်မာ
kmKhmerភាសាខ្មែរ
loLaosziລາວ
filFilippínóFilipino
tlTagalogTagalog
jvJávaiBasa Jawa
suSzundaiBasa Sunda

Afrikai nyelvek

KódNyelvNatív név
afAfrikánszAfrikaans
swSzuahéliKiswahili
amAmharaአማርኛ
haHauszaHausa
yoJorubaYorùbá
igIgboIgbo
zuZuluisiZulu
xhHoszaisiXhosa
soSzomáliSoomaali
mgMalgasMalagasy

Egyéb nyelvek

KódNyelvNatív név
laLatinLatina
eoEszperantóEsperanto
yiJiddisייִדיש
htHaiti kreolKreyòl Ayisyen
miMaoriTe Reo Māori
smSzamoaiGagana Samoa
toTongaiLea Faka-Tonga
hawHawaiiʻŌlelo Hawaiʻi

Vérvizsgálat-elemzési API

Elemezzen vérvizsgálati képeket vagy PDF-eket AI segítségével a paraméterek kinyeréséhez és átfogó orvosi értelmezések generálásához.

POST /api/v11/01-06-2025/analyze Legújabb

Éles végpont a vérvizsgálat elemzéséhez. Kérésenként 1 kreditet fogyaszt.

Kérés paraméterei

ParaméterTípusKötelezőLeírás
usernamestringIgenAz Ön API felhasználóneve
passwordstringIgenAz Ön API jelszava
filefileIgenVérvizsgálati kép (PNG, JPG, WEBP) vagy PDF. Max 20MB.
languagestringNemVálasz nyelvkód (alapértelmezett: en). Lásd a támogatott nyelveket.

cURL példa

curl -X POST "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze" \
  -F "username=YOUR_USERNAME" \
  -F "password=YOUR_PASSWORD" \
  -F "language=en" \
  -F "file=@blood_test.pdf"

Python példa

import requests

def analyze_blood_test(file_path: str, username: str, password: str, language: str = "en"):
    """
    Analyze a blood test file using Kantesti API.

    Args:
        file_path: Path to the blood test PDF or image
        username: API username
        password: API password
        language: Response language code (default: en)

    Returns:
        dict: API response with analysis results
    """
    url = "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze"

    with open(file_path, "rb") as f:
        files = {"file": (file_path, f, "application/pdf")}
        data = {
            "username": username,
            "password": password,
            "language": language
        }

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

# Használati példa
if __name__ == "__main__":
    result = analyze_blood_test(
        file_path="blood_test.pdf",
        username="your_username",
        password="your_password",
        language="en"
    )
    print(f"Status: {result['status']}")
    print(f"Parameters found: {len(result['data']['parameters'])}")

C++ példa (libcurl)

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

size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
    userp->append((char*)contents, size * nmemb);
    return size * nmemb;
}

std::string analyzeBloodTest(const std::string& filePath,
                              const std::string& username,
                              const std::string& password,
                              const std::string& language = "en") {
    CURL* curl = curl_easy_init();
    std::string response;

    if (curl) {
        curl_mime* form = curl_mime_init(curl);
        curl_mimepart* field;

        // Add username
        field = curl_mime_addpart(form);
        curl_mime_name(field, "username");
        curl_mime_data(field, username.c_str(), CURL_ZERO_TERMINATED);

        // Add password
        field = curl_mime_addpart(form);
        curl_mime_name(field, "password");
        curl_mime_data(field, password.c_str(), CURL_ZERO_TERMINATED);

        // Add language
        field = curl_mime_addpart(form);
        curl_mime_name(field, "language");
        curl_mime_data(field, language.c_str(), CURL_ZERO_TERMINATED);

        // Add file
        field = curl_mime_addpart(form);
        curl_mime_name(field, "file");
        curl_mime_filedata(field, filePath.c_str());

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

        CURLcode res = curl_easy_perform(curl);

        curl_mime_free(form);
        curl_easy_cleanup(curl);
    }
    return response;
}

int main() {
    std::string result = analyzeBloodTest("blood_test.pdf", "username", "password");
    std::cout << result << std::endl;
    return 0;
}

Postman konfiguráció

{
  "info": {
    "name": "Kantesti Blood Test API",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "item": [
    {
      "name": "Analyze Blood Test",
      "request": {
        "method": "POST",
        "header": [],
        "body": {
          "mode": "formdata",
          "formdata": [
            {"key": "username", "value": "{{api_username}}", "type": "text"},
            {"key": "password", "value": "{{api_password}}", "type": "text"},
            {"key": "language", "value": "en", "type": "text"},
            {"key": "file", "type": "file", "src": "/path/to/blood_test.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"]
        }
      }
    }
  ]
}

Válasz példa

{
  "status": "success",
  "data": {
    "metadata": {
      "patient_name": "Jan Novák",
      "lab_name": "BioLAB Medical Center",
      "lab_city": "Prague",
      "lab_country": "Czech Republic",
      "lab_date": "2025-05-11",
      "patient_age": "45",
      "patient_sex": "Male"
    },
    "parameters": [
      {
        "short_name": "WBC",
        "long_name": "White Blood Cell Count",
        "category": "Complete Blood Count",
        "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": "Measures the total white blood cells in blood.",
        "long_description": "White blood cells (leukocytes) are essential for immune function..."
      },
      {
        "short_name": "HGB",
        "long_name": "Hemoglobin",
        "category": "Complete Blood Count",
        "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": "Protein in red blood cells that carries oxygen.",
        "long_description": "Hemoglobin is the iron-containing protein responsible for oxygen transport..."
      }
    ],
    "interpretation": [
      {
        "title": "Overall Health Assessment",
        "shortcode": "overall_health_assessment",
        "subsections": [
          {
            "subtitle": "Comprehensive Overview",
            "shortcode": "overall_health_assessment_overview",
            "items": [
              {"item": "The patient demonstrates preserved overall organ function with normal hematological parameters."},
              {"item": "No significant abnormalities detected in the complete blood count."}
            ]
          }
        ]
      }
    ]
  },
  "api_version": "v11",
  "timestamp": "2025-12-22T10:30:00Z"
}

Válasz mezői hivatkozás

Gyökérszint
MezőTípusLeírás
statusstring"success" vagy "error"
dataobjectMinden elemzési eredményt tartalmaz
timestampstringVálasz ISO 8601 időbélyege
api_versionstringFeldolgozáshoz használt API-verzió
data.metadata objektum
MezőTípusLeírás
lab_datestringVérvétel dátuma (YYYY-MM-DD)
results_datestringEredmények kiadási dátuma (YYYY-MM-DD)
lab_namestringLaboratórium neve
lab_citystringLaboratórium városa
lab_countrystringLaboratórium országa
patient_namestringPáciens teljes neve (csak metaadat, nincs elküldve az értelmezéshez)
patient_agestringPáciens életkora
patient_sexstring"male", "female" vagy "other"
data.parameters tömb elem
MezőTípusLeírás
categorystringParaméter kategória (pl. "Complete Blood Count", "Lipid Panel")
long_namestringTeljes paraméternév
short_namestringRövidített paraméternév
resultstringMért érték
unitstringMértékegység
range_minstringMinimális referencia-tartomány
range_maxstringMaximális referencia-tartomány
evaluationstringEredmény állapota. Lásd az értékelési értékeket
data.interpretation tömb elem
MezőTípusLeírás
titlestringSzakasz címe (pl. "Overall Health Assessment")
contentstringAI-generált orvosi értelmezés

Teljes válasz példa

{
  "status": "success",
  "data": {
    "metadata": {
      "patient_name": "Anna Müller",
      "lab_name": "MedLab Diagnostics International",
      "lab_city": "Munich",
      "lab_country": "Germany",
      "lab_date": "2025-12-15",
      "results_date": "2025-12-16",
      "patient_age": "38",
      "patient_sex": "female"
    },
    "parameters": [
      {
        "short_name": "WBC",
        "long_name": "White Blood Cell Count",
        "category": "Complete Blood Count",
        "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": "Measures the total number of white blood cells.",
        "long_description": "White blood cells (leukocytes) are essential components of the immune system..."
      },
      {
        "short_name": "RBC",
        "long_name": "Red Blood Cell Count",
        "category": "Complete Blood Count",
        "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": "Measures the total number of red blood cells.",
        "long_description": "Red blood cells (erythrocytes) carry oxygen from the lungs to body tissues..."
      },
      {
        "short_name": "HGB",
        "long_name": "Hemoglobin",
        "category": "Complete Blood Count",
        "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": "Protein in red blood cells that carries oxygen.",
        "long_description": "Hemoglobin is the iron-containing protein in red blood cells responsible for oxygen transport..."
      },
      {
        "short_name": "HCT",
        "long_name": "Hematocrit",
        "category": "Complete Blood Count",
        "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": "Percentage of blood volume occupied by red blood cells.",
        "long_description": "Hematocrit measures the proportion of blood that consists of red blood cells..."
      },
      {
        "short_name": "PLT",
        "long_name": "Platelet Count",
        "category": "Complete Blood Count",
        "result": "245",
        "unit": "10^9/L",
        "evaluation": "normal",
        "range_min": "150",
        "range_max": "400",
        "range_normal_min": "150",
        "range_normal_max": "350",
        "short_description": "Measures the number of platelets in blood.",
        "long_description": "Platelets (thrombocytes) are essential for blood clotting and wound healing..."
      },
      {
        "short_name": "GLU",
        "long_name": "Fasting Glucose",
        "category": "Metabolic Panel",
        "result": "102",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "70",
        "range_max": "140",
        "range_normal_min": "70",
        "range_normal_max": "99",
        "short_description": "Measures blood sugar level after fasting.",
        "long_description": "Fasting glucose is a key indicator of how well the body metabolizes sugar..."
      },
      {
        "short_name": "TC",
        "long_name": "Total Cholesterol",
        "category": "Lipid Panel",
        "result": "218",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "0",
        "range_max": "300",
        "range_normal_min": "0",
        "range_normal_max": "200",
        "short_description": "Measures total cholesterol in blood.",
        "long_description": "Total cholesterol is the sum of HDL, LDL, and VLDL cholesterol levels..."
      },
      {
        "short_name": "HDL",
        "long_name": "HDL Cholesterol",
        "category": "Lipid Panel",
        "result": "58",
        "unit": "mg/dL",
        "evaluation": "normal",
        "range_min": "35",
        "range_max": "100",
        "range_normal_min": "50",
        "range_normal_max": "90",
        "short_description": "Measures 'good' cholesterol level.",
        "long_description": "HDL (high-density lipoprotein) cholesterol helps remove other forms of cholesterol..."
      },
      {
        "short_name": "LDL",
        "long_name": "LDL Cholesterol",
        "category": "Lipid Panel",
        "result": "142",
        "unit": "mg/dL",
        "evaluation": "high",
        "range_min": "0",
        "range_max": "200",
        "range_normal_min": "0",
        "range_normal_max": "100",
        "short_description": "Measures 'bad' cholesterol level.",
        "long_description": "LDL (low-density lipoprotein) cholesterol can build up in artery walls..."
      },
      {
        "short_name": "TRIG",
        "long_name": "Triglycerides",
        "category": "Lipid Panel",
        "result": "156",
        "unit": "mg/dL",
        "evaluation": "borderline_high",
        "range_min": "0",
        "range_max": "500",
        "range_normal_min": "0",
        "range_normal_max": "150",
        "short_description": "Measures fat in the blood.",
        "long_description": "Triglycerides are a type of fat found in the blood that stores excess energy..."
      }
    ],
    "interpretation": [
      {
        "title": "Overall Health Assessment",
        "shortcode": "overall_health_assessment",
        "subsections": [
          {
            "subtitle": "Comprehensive Overview",
            "shortcode": "overall_health_assessment_overview",
            "items": [
              {"item": "The patient demonstrates generally healthy hematological parameters with all blood count values within normal ranges."},
              {"item": "Complete blood count results indicate adequate oxygen-carrying capacity and immune function."},
              {"item": "Lipid panel shows areas requiring attention, particularly LDL cholesterol levels."}
            ]
          }
        ]
      },
      {
        "title": "Metabolic Analysis",
        "shortcode": "metabolic_analysis",
        "subsections": [
          {
            "subtitle": "Blood Sugar Assessment",
            "shortcode": "metabolic_analysis_glucose",
            "items": [
              {"item": "Fasting glucose at 102 mg/dL is slightly elevated, indicating pre-diabetic range."},
              {"item": "Recommend lifestyle modifications including regular exercise and reduced simple carbohydrate intake."},
              {"item": "Follow-up HbA1c testing recommended in 3 months to assess long-term glucose control."}
            ]
          }
        ]
      },
      {
        "title": "Cardiovascular Risk Assessment",
        "shortcode": "cardiovascular_risk",
        "subsections": [
          {
            "subtitle": "Lipid Profile Analysis",
            "shortcode": "cardiovascular_risk_lipids",
            "items": [
              {"item": "LDL cholesterol at 142 mg/dL exceeds optimal levels and warrants intervention."},
              {"item": "HDL cholesterol at 58 mg/dL provides moderate cardiovascular protection."},
              {"item": "Triglycerides slightly elevated; consider dietary modifications to reduce saturated fat intake."},
              {"item": "Total cholesterol to HDL ratio of 3.76 indicates moderate cardiovascular risk."}
            ]
          }
        ]
      },
      {
        "title": "Recommendations",
        "shortcode": "recommendations",
        "subsections": [
          {
            "subtitle": "Lifestyle Modifications",
            "shortcode": "recommendations_lifestyle",
            "items": [
              {"item": "Increase aerobic physical activity to at least 150 minutes per week."},
              {"item": "Adopt a Mediterranean-style diet rich in vegetables, fruits, and healthy fats."},
              {"item": "Limit processed foods, saturated fats, and added sugars."},
              {"item": "Consider consultation with a nutritionist for personalized dietary guidance."}
            ]
          },
          {
            "subtitle": "Follow-up Testing",
            "shortcode": "recommendations_followup",
            "items": [
              {"item": "Repeat lipid panel in 3 months after implementing lifestyle changes."},
              {"item": "HbA1c test recommended to assess average blood glucose levels."},
              {"item": "Annual comprehensive metabolic panel for ongoing monitoring."}
            ]
          }
        ]
      }
    ]
  },
  "api_version": "v11",
  "timestamp": "2025-12-16T14:32:18Z"
}
Válasz kulcsszavak

Az evaluation mező szabványosított értékeket használ. Lásd az értékelési értékeket.

POST /api/v11/health-score/analyze Legújabb

Éles végpont átfogó egészségügyi pontszám számítással és betegségkockázat-elemzéssel.

További válasz mezők

{
  "health_score": {
    "overall": 78,
    "optimal": 4,
    "normal": 12,
    "warning": 3,
    "critical": 1,
    "total_parameters": 20,
    "score_interpretation": "good",
    "recommendations": [
      "Consider increasing vitamin D intake",
      "Schedule follow-up for cholesterol levels"
    ]
  },
  "disease_risks": [
    {"name": "Cardiovascular Disease", "percentage": "18%", "severity": "low"},
    {"name": "Type 2 Diabetes", "percentage": "12%", "severity": "low"},
    {"name": "Metabolic Syndrome", "percentage": "25%", "severity": "moderate"}
  ]
}
Válasz kulcsszavak

A score_interpretation mező szabványosított értékeket használ. Lásd az egészségügyi pontszám értékeit.

Sandbox végpontok

A Sandbox végpontok valósághű teszt adatokat adnak vissza API kvóta fogyasztása nélkül. Használja őket fejlesztéshez és integrációteszteléshez.

Sandbox előnyök
  • Nincs kvóta fogyasztás
  • Valósághű teszt adatokat ad vissza
  • Ugyanaz a kérésformátum, mint az éles rendszeren
  • Tesztelje az integrációt az éles indítás előtt
  • Minden API verzióhoz elérhető
APISandbox végpont
Vérvizsgálat v11/api/v11/01-06-2025/sandbox
Vérvizsgálat v11-health/api/v11/health-score/sandbox
Táplálkozási AI/api/v1/nutrition/diet-plan/sandbox
Vérvizsgálat-összehasonlítás/api/v1/bloodtest/comparison/sandbox
Trendelemzés/api/v1/analytics/trends/sandbox
ICR kinyerés/api/icr/v1/sandbox
ICR Kan (vérvizsgálat)/api/icr/v1/kan/sandbox
Összehasonlítás API vs Trendelemzés API

Válassza ki a megfelelő API-t a felhasználási esetéhez:

FunkcióAI vérvizsgálat-összehasonlításTrendelemzés
Elsődleges fókuszAI narratív összehasonlításStatisztikai trendelemzés
AI feldolgozásTeljes AI narratívaAI-javított + statisztikák
Kimeneti típusNarratív összefoglalókDiagramok, statisztikák, minták
Legjobb ehhezMi változott a vizsgálatok közöttHosszú távú paraméter-követés
Min. vizsgálatok22
Max. vizsgálatok2050

Trendelemzési API

Elemezze az egészségügyi paraméterek trendjeit idővel, AI-alapú mintafelismerés segítségével. Azonosítsa a javulásokat, romlásokat és gyakorlati betekintéseket a korábbi vérvizsgálati adatokból.

Táplálkozási AI étrend-kiegészítőkkel

Készítsen személyre szabott táplálkozási terveket, étrendi ajánlásokat és étrend-kiegészítő javaslatokat vérvizsgálati elemzés alapján fejlett AI algoritmusokkal.

POST /api/v1/nutrition/diet-plan/analyze Új

Átfogó táplálkozási és étrend-kiegészítő ajánlásokat generál vérvizsgálati paraméterek és páciensprofil alapján.

Kérés paraméterei

ParaméterTípusKötelezőLeírás
usernamestringIgenAz Ön API felhasználóneve
passwordstringIgenAz Ön API jelszava
languagestringNemVálasz nyelve (alapértelmezett: en). Lásd a támogatott nyelveket.
patientobjectIgenBetegdemográfia és egészségügyi információk
blood_testobjectIgenVérvizsgálati paraméterek
health_goalsarrayNemEgészségügyi célok. Lásd az értékeket.
dietary_restrictionsarrayNemÉtrendi korlátozások. Lásd az értékeket.

Beteg objektum séma

Betegdemográfiai objektum gender (lásd az értékeket) és activity_level (lásd az értékeket) mezőkkel.

MezőTípusKötelezőAlapértelmezettLeírás
ageintegerIgen-Beteg életkora években (18-120)
genderstringIgen-Páciens neme. Lásd az értékeket
weightnumberNemnullSúly kg-ban (kalóriaszámításhoz)
heightnumberNemnullMagasság cm-ben (BMI számításhoz)
conditionsarrayNem[]Orvosi állapotok (pl. ["diabetes", "hypertension"])
allergiesarrayNem[]Étel-/étrend-kiegészítő allergiák (pl. ["shellfish", "nuts"])
dietary_preferencesarrayNem[]Étrendi preferenciák. Lásd az értékeket
activity_levelstringNem"moderate"Fizikai aktivitási szint. Lásd az értékeket
dietary_restrictionsarrayNem[]Étrendi korlátozások. Lásd az értékeket
liked_foodsarrayNem[]Preferált ételek felvétele (pl. ["salmon", "spinach"])
disliked_foodsarrayNem[]Kerülendő ételek az ajánlásokban (pl. ["broccoli"])
meal_frequencyintegerNem3Preferált étkezések naponta (2-6)
budgetstringNem"moderate"Költségkeret az ajánlásokhoz. Lásd az értékeket
medicationsarrayNem[]Jelenlegi gyógyszerek kölcsönhatás-ellenőrzéshez
{
  "age": 45,
  "gender": "male",
  "weight": 82,
  "height": 178,
  "activity_level": "moderate",
  "medical_conditions": ["hypertension"],
  "current_medications": ["lisinopril"],
  "allergies": ["shellfish"]
}

cURL példa

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "YOUR_USERNAME",
    "password": "YOUR_PASSWORD",
    "language": "en",
    "patient": {
      "age": 45,
      "gender": "male",
      "weight": 82,
      "height": 178,
      "activity_level": "moderate",
      "medical_conditions": ["hypertension"],
      "allergies": ["shellfish"]
    },
    "blood_test": {
      "lab_date": "2025-12-01",
      "parameters": [
        {"short_name": "VITD", "result": 18, "unit": "ng/mL"},
        {"short_name": "FER", "result": 25, "unit": "ng/mL"},
        {"short_name": "B12", "result": 280, "unit": "pg/mL"},
        {"short_name": "CHOL", "result": 210, "unit": "mg/dL"},
        {"short_name": "HDL", "result": 42, "unit": "mg/dL"},
        {"short_name": "LDL", "result": 140, "unit": "mg/dL"}
      ]
    },
    "health_goals": ["lower_cholesterol", "increase_energy"],
    "dietary_restrictions": ["low_sodium"]
  }'

Python példa

import requests
from typing import Dict, List, Optional

def get_nutrition_plan(
    username: str,
    password: str,
    patient: Dict,
    blood_test: Dict,
    health_goals: Optional[List[str]] = None,
    dietary_restrictions: Optional[List[str]] = None,
    language: str = "en"
) -> Dict:
    """
    Get personalized nutrition and supplement recommendations.

    Args:
        username: API username
        password: API password
        patient: Patient demographics and health info
        blood_test: Blood test parameters
        health_goals: Optional health goals
        dietary_restrictions: Optional dietary restrictions
        language: Response language

    Returns:
        dict: Nutrition plan with supplements
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze"

    payload = {
        "username": username,
        "password": password,
        "language": language,
        "patient": patient,
        "blood_test": blood_test
    }

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

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

# Használati példa
if __name__ == "__main__":
    patient = {
        "age": 45,
        "gender": "male",
        "weight": 82,
        "height": 178,
        "activity_level": "moderate",
        "medical_conditions": ["hypertension"],
        "allergies": ["shellfish"]
    }

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

    result = get_nutrition_plan(
        username="your_username",
        password="your_password",
        patient=patient,
        blood_test=blood_test,
        health_goals=["lower_cholesterol", "increase_energy"]
    )

    # Print supplement recommendations
    for supp in result['data']['supplements']:
        print(f"{supp['name']}: {supp['dosage']} - {supp['reason']}")

Válasz példa

{
  "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": "Oatmeal with berries and walnuts",
          "calories": 420,
          "nutrients": ["fiber", "omega-3", "antioxidants"]
        },
        "lunch": {
          "description": "Grilled salmon salad with olive oil dressing",
          "calories": 550,
          "nutrients": ["omega-3", "protein", "vitamin D"]
        },
        "dinner": {
          "description": "Lean chicken with quinoa and steamed vegetables",
          "calories": 580,
          "nutrients": ["protein", "iron", "fiber"]
        },
        "snacks": [
          {"description": "Greek yogurt with almonds", "calories": 180},
          {"description": "Apple with almond butter", "calories": 200}
        ]
      }
    },
    "supplements": [
      {
        "name": "Vitamin D3",
        "dosage": "2000 IU daily",
        "reason": "Blood levels at 18 ng/mL indicate deficiency (optimal: 30-50 ng/mL)",
        "priority": "high",
        "timing": "With breakfast (fat-containing meal)",
        "duration": "3-6 months, then retest",
        "interactions": []
      },
      {
        "name": "Omega-3 Fish Oil",
        "dosage": "1000mg EPA+DHA daily",
        "reason": "Support cholesterol optimization and cardiovascular health",
        "priority": "medium",
        "timing": "With meals",
        "duration": "Ongoing",
        "interactions": []
      },
      {
        "name": "Coenzyme Q10",
        "dosage": "100mg daily",
        "reason": "Support energy production and heart health",
        "priority": "medium",
        "timing": "With breakfast",
        "duration": "Ongoing",
        "interactions": []
      }
    ],
    "dietary_recommendations": [
      {
        "category": "increase",
        "foods": ["fatty fish", "leafy greens", "nuts", "olive oil"],
        "reason": "Support vitamin D levels and cardiovascular health"
      },
      {
        "category": "decrease",
        "foods": ["processed foods", "red meat", "saturated fats"],
        "reason": "Help lower LDL cholesterol"
      },
      {
        "category": "avoid",
        "foods": ["shellfish", "high-sodium foods"],
        "reason": "Patient allergies and hypertension management"
      }
    ],
    "lifestyle_recommendations": [
      "30 minutes moderate exercise 5 days/week",
      "Sun exposure 15-20 minutes daily for vitamin D",
      "Stress management through meditation or yoga"
    ],
    "follow_up": {
      "retest_date": "2026-03-01",
      "parameters_to_monitor": ["VITD", "CHOL", "HDL", "LDL"]
    }
  },
  "api_version": "v1",
  "timestamp": "2025-12-22T10:30:00Z"
}

Válasz mezői hivatkozás

nutrition_plan.educational_insights objektum
MezőTípusLeírás
blood_marker_educationarrayOktatási tartalom a vérmarkereket és jelentőségüket
nutrition_principlesarrayAz elemzésen alapuló alkalmazandó táplálkozási alapelvek
blood_marker_education tömb elem
MezőTípusLeírás
markerstringMarker név állapottal (pl. "Ferritin (Low)", "Vitamin D (Deficient)")
explanationstringA marker részletes oktatási magyarázata
normal_rangestringReferencia-tartomány (nemspecifikus, ha alkalmazható)
food_recommendations.power_foods tömb elem
MezőTípusLeírás
foodstringÉtel neve (pl. "Salmon", "Spinach")
nutrientsarrayFő tápanyagok listája (pl. ["omega-3", "vitamin D", "protein"])
servingstringAjánlott adag/gyakoriság (pl. "100g, 3x per week")
whystringMiért ajánlott ez az étel a vérmarkerek alapján
supplement_recommendations tömb elem
MezőTípusLeírás
supplementstringÉtrend-kiegészítő neve (pl. "Vitamin D3", "Iron Bisglycinate")
dosagestringAjánlott adagolás (pl. "2000 IU daily", "25mg twice daily")
timingstringMikor vegye be (pl. "With breakfast", "On empty stomach")
durationstringMennyi ideig szedje (pl. "3 months then retest", "Ongoing")
reasonstringMiért ajánlott a vérmarkerek és egészségügyi célok alapján

Teljes cURL példa válasszal

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "demo_user",
    "password": "demo_pass",
    "language": "en",
    "patient": {
      "age": 42,
      "gender": "female",
      "weight": 68,
      "height": 165,
      "activity_level": "moderate",
      "conditions": ["iron_deficiency_anemia"],
      "allergies": ["gluten"],
      "dietary_preferences": ["mediterranean"],
      "dietary_restrictions": ["gluten_free"],
      "liked_foods": ["salmon", "spinach", "quinoa"],
      "disliked_foods": ["liver"],
      "meal_frequency": 4,
      "budget": "moderate",
      "medications": ["ferrous_sulfate"]
    },
    "blood_test": {
      "lab_date": "2025-12-20",
      "parameters": [
        {"short_name": "FER", "result": 12, "unit": "ng/mL"},
        {"short_name": "HGB", "result": 10.8, "unit": "g/dL"},
        {"short_name": "VITD", "result": 22, "unit": "ng/mL"},
        {"short_name": "B12", "result": 320, "unit": "pg/mL"},
        {"short_name": "FOLATE", "result": 8.5, "unit": "ng/mL"}
      ]
    },
    "health_goals": ["increase_energy", "improve_iron_levels"]
  }'
Válasz:
{
  "status": "success",
  "data": {
    "nutrition_plan": {
      "daily_calories": 1850,
      "macros": {
        "protein": {"grams": 92, "percentage": 20},
        "carbohydrates": {"grams": 208, "percentage": 45},
        "fats": {"grams": 72, "percentage": 35}
      },
      "educational_insights": {
        "blood_marker_education": [
          {
            "marker": "Ferritin (Low)",
            "explanation": "Ferritin is the storage form of iron in your body. Low levels indicate depleted iron stores, which can lead to fatigue, weakness, and anemia. Your current level of 12 ng/mL is below the optimal range.",
            "normal_range": "Women: 20-200 ng/mL (optimal: 50-150 ng/mL)"
          },
          {
            "marker": "Hemoglobin (Low)",
            "explanation": "Hemoglobin carries oxygen in your red blood cells. Low hemoglobin confirms iron deficiency anemia and explains symptoms like fatigue and shortness of breath.",
            "normal_range": "Women: 12.0-16.0 g/dL"
          },
          {
            "marker": "Vitamin D (Insufficient)",
            "explanation": "Vitamin D is essential for calcium absorption, immune function, and energy. Your level of 22 ng/mL is insufficient; optimal levels are 40-60 ng/mL.",
            "normal_range": "30-100 ng/mL (optimal: 40-60 ng/mL)"
          }
        ],
        "nutrition_principles": [
          "Pair iron-rich foods with vitamin C sources to enhance absorption",
          "Avoid calcium-rich foods and tea/coffee within 2 hours of iron-rich meals",
          "Focus on heme iron sources (meat, fish) which absorb better than plant sources",
          "Include vitamin D-rich foods and consider sun exposure for synthesis"
        ]
      },
      "food_recommendations": {
        "power_foods": [
          {
            "food": "Grass-fed Beef",
            "nutrients": ["heme iron", "B12", "zinc", "protein"],
            "serving": "120g, 3-4x per week",
            "why": "Highest bioavailable iron source to address your ferritin deficiency"
          },
          {
            "food": "Wild Salmon",
            "nutrients": ["vitamin D", "omega-3", "protein", "B12"],
            "serving": "150g, 2-3x per week",
            "why": "Excellent vitamin D source plus omega-3s for inflammation reduction"
          },
          {
            "food": "Spinach with Lemon",
            "nutrients": ["non-heme iron", "folate", "vitamin C"],
            "serving": "100g cooked, daily",
            "why": "Iron plus vitamin C combination maximizes iron absorption"
          },
          {
            "food": "Quinoa",
            "nutrients": ["iron", "protein", "fiber", "magnesium"],
            "serving": "1 cup cooked, daily",
            "why": "Gluten-free grain with good iron content and complete protein"
          },
          {
            "food": "Pumpkin Seeds",
            "nutrients": ["iron", "zinc", "magnesium"],
            "serving": "30g (2 tbsp), daily",
            "why": "Concentrated iron source for snacking, supports energy production"
          }
        ],
        "foods_to_limit": [
          {"food": "Coffee/Tea with meals", "reason": "Tannins block iron absorption by up to 60%"},
          {"food": "Dairy with iron-rich meals", "reason": "Calcium competes with iron for absorption"}
        ]
      }
    },
    "supplement_recommendations": [
      {
        "supplement": "Iron Bisglycinate",
        "dosage": "25mg elemental iron",
        "timing": "Take with vitamin C on empty stomach, 2 hours away from other supplements",
        "duration": "3-6 months, retest ferritin after 3 months",
        "reason": "Ferritin at 12 ng/mL requires supplementation; bisglycinate form is gentle on stomach",
        "priority": "high"
      },
      {
        "supplement": "Vitamin D3",
        "dosage": "2000-4000 IU daily",
        "timing": "With breakfast (fat-containing meal) for absorption",
        "duration": "Ongoing, retest in 3 months to adjust dose",
        "reason": "Level of 22 ng/mL is insufficient; goal is 40-60 ng/mL for optimal health",
        "priority": "high"
      },
      {
        "supplement": "Vitamin C",
        "dosage": "500mg",
        "timing": "Take with iron supplement to enhance absorption",
        "duration": "While taking iron supplements",
        "reason": "Enhances non-heme iron absorption by up to 6x",
        "priority": "medium"
      }
    ],
    "meal_plan": {
      "breakfast": {
        "description": "Quinoa porridge with pumpkin seeds, berries, and coconut milk",
        "calories": 420,
        "key_nutrients": ["iron", "vitamin C", "fiber"]
      },
      "lunch": {
        "description": "Grilled salmon with roasted vegetables and quinoa",
        "calories": 520,
        "key_nutrients": ["vitamin D", "omega-3", "protein"]
      },
      "snack": {
        "description": "Orange slices with pumpkin seeds and dark chocolate",
        "calories": 220,
        "key_nutrients": ["vitamin C", "iron", "magnesium"]
      },
      "dinner": {
        "description": "Grass-fed beef stir-fry with spinach and bell peppers",
        "calories": 480,
        "key_nutrients": ["heme iron", "vitamin C", "B12"]
      }
    },
    "lifestyle_recommendations": [
      "Take iron supplements on an empty stomach for best absorption",
      "Get 15-20 minutes of midday sun exposure for vitamin D synthesis",
      "Space iron supplements 2 hours away from coffee, tea, and calcium",
      "Light exercise can help with energy; avoid intense workouts until iron improves"
    ],
    "follow_up": {
      "retest_date": "2026-03-20",
      "parameters_to_monitor": ["FER", "HGB", "VITD", "iron saturation"],
      "expected_improvements": "Ferritin should increase 20-30 ng/mL, hemoglobin normalize to 12+ g/dL"
    }
  },
  "api_version": "v1",
  "timestamp": "2025-12-20T14:45:22Z"
}

Vérvizsgálat-összehasonlítási API

Hasonlítson össze több vérvizsgálatot a változások, javulások és figyelmet igénylő területek azonosításához AI-alapú elemzéssel. Kapjon teljes AI narratív összefoglalókat arról, hogy mi változott a vizsgálatok között.

POST /api/v1/bloodtest/comparison/analyze

Elemez 2-20 vérvizsgálatot és részletes összehasonlítást nyújt AI által generált narratív betekintésekkel.

Követelmények
  • Minimum 2 vérvizsgálat szükséges
  • Maximum 20 vérvizsgálat kérésenként
  • Minden vizsgálatnak tartalmaznia kell lab_date vagy results_date mezőt
  • Legalább egy közös paraméter a vizsgálatok között

Kérés paraméterei

ParaméterTípusKötelezőAlapértelmezettLeírás
usernamestringIgen-Az Ön API felhasználóneve
passwordstringIgen-Az Ön API jelszava
languagestringNemenVálasz nyelve. Lásd a támogatott nyelveket
blood_testsarrayIgen-Vérvizsgálati objektumok tömbje (2-20 vizsgálat)

blood_tests tömb szerkezete

MezőTípusKötelezőLeírás
lab_datestringIgen*Vizsgálat dátuma YYYY-MM-DD formátumban
results_datestringIgen*Alternatíva a lab_date mezőhöz (YYYY-MM-DD)
parametersarrayIgenVérvizsgálati paraméterek tömbje
metadataobjectNemTovábbi metaadatok (lab_name, notes stb.)

*Minden vérvizsgálathoz szükséges lab_date vagy results_date.

cURL példa

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "YOUR_USERNAME",
    "password": "YOUR_PASSWORD",
    "language": "en",
    "blood_tests": [
      {
        "lab_date": "2025-06-15",
        "lab_name": "City Medical Lab",
        "parameters": [
          {"short_name": "HGB", "result": 12.8, "unit": "g/dL"},
          {"short_name": "WBC", "result": 8.2, "unit": "10^9/L"},
          {"short_name": "PLT", "result": 245, "unit": "10^9/L"}
        ]
      },
      {
        "lab_date": "2025-12-15",
        "lab_name": "City Medical Lab",
        "parameters": [
          {"short_name": "HGB", "result": 14.2, "unit": "g/dL"},
          {"short_name": "WBC", "result": 7.1, "unit": "10^9/L"},
          {"short_name": "PLT", "result": 238, "unit": "10^9/L"}
        ]
      }
    ]
  }'

Python példa

import requests
from typing import Dict, List

def compare_blood_tests(
    username: str,
    password: str,
    blood_tests: List[Dict],
    language: str = "en"
) -> Dict:
    """
    Compare multiple blood tests with AI-powered narrative analysis.

    Args:
        username: API username
        password: API password
        blood_tests: List of blood test objects (2-20 tests)
        language: Response language

    Returns:
        dict: Comparison results with AI narrative insights
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze"

    if len(blood_tests) < 2:
        raise ValueError("Minimum 2 blood tests required")
    if len(blood_tests) > 20:
        raise ValueError("Maximum 20 blood tests allowed")

    payload = {
        "username": username,
        "password": password,
        "language": language,
        "blood_tests": blood_tests
    }

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

# Használati példa
if __name__ == "__main__":
    tests = [
        {
            "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"}
            ]
        }
    ]

    result = compare_blood_tests("your_username", "your_password", tests)

    print(f"Overall trend: {result['data']['comparison_summary']['overall_trend']}")
    for param in result['data']['parameter_analysis']:
        print(f"{param['parameter_name']}: {param['trend_assessment']}")

Válasz mezői hivatkozás

MezőTípusLeírás
comparison_idstringEgyedi azonosító ehhez az összehasonlításhoz (formátum: CMP-XXXXXXXX)
comparison_summaryobjectÁltalános összefoglaló: key_findings, overall_trend, jelentés dátumok, time_interval
parameter_analysisarrayRészletes elemzés paraméterenként változástípussal és klinikai jelentőséggel
health_assessmentobjectAggodalomra okot adó területek, javulások, pozitív fejlemények, kockázati tényezők
recommendationsobjectKövető vizsgálatok, azonnali intézkedések, életmódbeli módosítások, szakorvosi beutalók
detailed_interpretationobjectAI narratív szakaszok ügyvezetői összefoglalóval és klinikai ajánlásokkal

parameter_analysis objektum szerkezete

MezőTípusLeírás
parameter_namestringParaméternév
report1_valuestringÉrték az első jelentésből egységgel
report2_valuestringÉrték a második jelentésből egységgel
change_typestringincreased, decreased vagy stable
change_magnitudestringsignificant, moderate vagy minor
clinical_significancestringAI magyarázat a változás jelentéséről
trend_assessmentstringpositive, negative vagy neutral

Válasz példa

{
  "api_version": "1.0.0",
  "status": "success",
  "message": "Blood test comparison completed successfully",
  "timestamp": "2025-12-22T01:12:43.057537Z",
  "data": {
    "comparison_id": "CMP-F4ACEE52",
    "tests_compared": 2,
    "date_range": {
      "earliest": "2024-06-15",
      "latest": "2024-12-15",
      "span_days": 183
    },
    "comparison_summary": {
      "overall_trend": "improved",
      "report1_date": "2024-06-15",
      "report2_date": "2024-12-15",
      "time_interval": "183 days between reports",
      "key_findings": [
        "Hemoglobin and RBC levels normalized indicating resolution of anemia",
        "Glucose and HbA1c improved to normal range suggesting better glycemic control",
        "Lipid profile improved with total cholesterol, LDL, HDL, and triglycerides normalized"
      ]
    },
    "parameter_analysis": [
      {
        "parameter_name": "Hemoglobin",
        "report1_value": "12.2 g/dL",
        "report2_value": "14.5 g/dL",
        "change_type": "increased",
        "change_magnitude": "significant",
        "clinical_significance": "Improvement from anemia to normal hemoglobin levels",
        "trend_assessment": "positive"
      },
      {
        "parameter_name": "LDL Cholesterol",
        "report1_value": "155 mg/dL",
        "report2_value": "98 mg/dL",
        "change_type": "decreased",
        "change_magnitude": "significant",
        "clinical_significance": "LDL near optimal range, reducing atherosclerosis risk",
        "trend_assessment": "positive"
      },
      {
        "parameter_name": "HDL Cholesterol",
        "report1_value": "38 mg/dL",
        "report2_value": "55 mg/dL",
        "change_type": "increased",
        "change_magnitude": "significant",
        "clinical_significance": "Improved HDL protective against heart disease",
        "trend_assessment": "positive"
      }
    ],
    "health_assessment": {
      "overall_health_trend": "improved",
      "areas_of_improvement": [
        "Anemia correction",
        "Glycemic control",
        "Lipid profile normalization",
        "Vitamin D and iron status"
      ],
      "areas_of_concern": [],
      "positive_developments": [
        "Resolution of anemia",
        "Normal glucose and HbA1c",
        "Improved cardiovascular risk profile"
      ],
      "risk_factors": [
        "Previous iron deficiency anemia",
        "Prior dyslipidemia",
        "History of impaired glucose metabolism"
      ]
    },
    "recommendations": {
      "immediate_actions": [
        "Continue current supplementation for iron and vitamin D",
        "Maintain glycemic and lipid control with diet and exercise"
      ],
      "follow_up_tests": [
        "Repeat CBC and iron studies in 3 months",
        "Monitor fasting glucose and HbA1c quarterly",
        "Lipid panel recheck in 6 months"
      ],
      "lifestyle_modifications": [
        "Adopt heart-healthy diet low in saturated fats",
        "Increase physical activity to maintain metabolic health"
      ],
      "specialist_referrals": [
        "Consult hematologist if anemia recurs",
        "Endocrinologist referral if glucose control worsens"
      ],
      "monitoring_frequency": "3 months"
    },
    "detailed_interpretation": {
      "sections": [
        {
          "title": "Executive Summary",
          "content": "The patient shows marked improvement in anemia, glucose metabolism, lipid profile, and vitamin status over 6 months."
        },
        {
          "title": "Clinical Recommendations",
          "content": "Continue supplementation and lifestyle measures. Monitor blood counts, iron, glucose, and lipids regularly."
        }
      ]
    },
    "summary": {
      "improved_parameters": 13,
      "stable_parameters": 0,
      "worsened_parameters": 0,
      "overall_trend": "improved"
    },
    "sandbox_mode": false
  }
}
Válasz kulcsszavak

A válasz mezők szabványosított értékeket használnak: overall_trend és trend_assessment (lásd a trendértékelést), change_type (increased, decreased, stable).

Kulcsszavak hivatkozás

Teljes hivatkozás a Kantesti API végpontokban használt összes bemeneti kulcsszó értékhez. API-kérések készítésekor pontosan ezeket az értékeket használja.

analysis_type Trendelemzési API

Meghatározza a végrehajtandó trendelemzés típusát.

ÉrtékAlapértelmezettLeírás
comprehensiveTeljes elemzés statisztikákkal, diagramokkal és AI értelmezéssel
statisticalCsak statisztikai elemzés
summaryCsak magas szintű összefoglaló

health_goals Táplálkozási API

Egészségügyi célok személyre szabott táplálkozási ajánlásokhoz. Több érték megadható tömbként.

ÉrtékLeírás
maintainJelenlegi egészségi állapot megőrzése (alapértelmezett)
improve_energyFókusz az energiaszintre
weight_managementEgészséges testsúly kezelés
heart_healthKardiovaszkuláris egészség
immune_supportImmunrendszer támogatás
digestive_healthEmésztési jóllét
bone_healthCsont egészség
mental_clarityKognitív funkció

dietary_restrictions Táplálkozási API

Étrendi korlátozások és allergiák. Több érték megadható tömbként. Egyedi korlátozásokhoz szabad szöveg is elfogadott.

ÉrtékLeírás
low_sodiumCsökkentett nátriumbevitel
low_sugarCsökkentett cukorbevitel
low_fatCsökkentett zsírbevitel
gluten_freeNincs glutén
dairy_freeNincs tejtermék
nut_freeNincs dió
soy_freeNincs szója
egg_freeNincs tojás
halalHalal-kompatibilis
kosherKóser-kompatibilis
Megjegyzés

A fent nem szereplő egyedi étrendi korlátozásokhoz szabad szöveg is elfogadott.

dietary_preferences Táplálkozási API

Étrendi életmód preferenciák az étkezés tervezéséhez.

ÉrtékLeírás
omnivoreNincs korlátozás (alapértelmezett)
vegetarianNincs hús
veganNincs állati termék
pescatarianVegetáriánus + hal
ketoKetogén diéta
paleoPaleolit diéta
mediterraneanMediterrán diéta

activity_level Táplálkozási API

Fizikai aktivitás szintje kalória és táplálkozási számításokhoz.

ÉrtékLeírás
sedentaryKevés vagy nincs testmozgás
lightKönnyű edzés heti 1-3 nap
moderateMérsékelt edzés 3-5 nap/hét (alapértelmezett)
activeKemény edzés heti 6-7 nap
very_activeNagyon kemény edzés vagy fizikai munka

budget Táplálkozási API

Költségkeret az ételek és étrend-kiegészítők ajánlásaihoz.

ÉrtékLeírás
lowKöltségtudatos opciók
moderateKiegyensúlyozott beállítások (alapértelmezett)
highPrémium opciók

gender Minden API

Beteg neme személyre szabott referencia-tartományokhoz és ajánlásokhoz.

ÉrtékLeírás
maleFérfi beteg
femaleNői beteg
otherEgyéb vagy nem megadott

Kimeneti kulcsszavak

A következő kulcsszavak jelennek meg az API válaszokban. Ezek értelmezése segít helyesen értelmezni és megjeleníteni az eredményeket.

evaluation Vérvizsgálat és összehasonlítási API-k

Paraméter kiértékelési állapot, jelzi, hogyan viszonyul az eredmény a referencia-tartományokhoz.

ÉrtékLeírás
normalA normál referencia-tartományon belül
lowNormális tartomány alatt
highNormális tartomány felett
critical_lowKritikusan alacsony (azonnali figyelem szükséges)
critical_highKritikusan magas (azonnali figyelem szükséges)
borderline_lowEnyhén a normál tartomány alatt
borderline_highEnyhén a normál tartomány felett

trend_assessment Összehasonlítási és trend API-k

A paraméter-trendek általános értékelése a vizsgálatok között.

ÉrtékLeírás
positiveJavult (a normál tartomány felé közelít)
negativeRomlott (eltávolodik a normál tartománytól)
stableViszonylag változatlan a vizsgálatok között
improvingÁltalános javuló tendencia
worseningÁltalános romló tendencia

trend_direction Trendelemzési API

A paraméter értékek változásának iránya az idő múlásával.

ÉrtékLeírás
upwardAz értékek növekednek az idő múlásával
downwardAz értékek csökkennek az idő múlásával
stableMinimális változás az idő múlásával

trend_strength Trendelemzési API

A megfigyelt trend mértéke.

ÉrtékLeírás
strong>15% változás az időszakok között
moderate5-15% változás az időszakok között
mild<5% változás az időszakok között

health_score / score_interpretation Egészségügyi pontszám API

Általános egészségügyi pontszám értelmezése az elemzett paraméterek alapján.

ÉrtékLeírás
excellentMinden marker az optimális tartományon belül
goodA legtöbb marker a normál tartományban
fairNéhány marker figyelmet igényel
poorTöbb marker figyelmet igényel

Segédprogram végpontok

GET /api/info

API platform információkat, elérhető verziókat és támogatott funkciókat ad vissza. Hitelesítés nem szükséges.

Válasz példa

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

Állapot-ellenőrzés végpont monitorozáshoz. Szolgáltatás állapotát adja vissza. Hitelesítés nem szükséges.

Válasz példa

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

Ellenőrizze fennmaradó API kvótáját. Hitelesítés szükséges.

cURL példa

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

Válasz példa

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

Családi egészségkockázat-értékelési API

Kiadva: 2026. március 23.

A Kantesti családi egészségkockázat-értékelési API egy AI-alapú örökletes egészségkockázat-elemző platform. Átfogó családi egészségügyi jelentéseket generál a családi kórtörténet, a páciens egészségügyi profiljainak és a vérvizsgálati adatok elemzésével, hogy azonosítsa az örökletes kockázati tényezőket és személyre szabott megelőző ellátási ajánlásokat nyújtson.

100+
Nyelvek
9
Állapot kategóriák
14
Családi kapcsolatok

AI-alapú örökletes kockázatelemzés

A Családi egészségügyi API fejlett AI modelleket használ a családi kórtörténet és a páciens vérvizsgálati adatainak kereszthivatkozására, azonosítva az örökletes kockázati mintákat a kardiovaszkuláris, metabolikus, rákos, neurológiai, légzőszervi, autoimmun, genetikai, mentális egészségügyi és vese/máj állapot kategóriákban. A jelentések kockázati pontszámokat, megelőző ellátási ütemterveket, genetikai szűrési ajánlásokat és életmódbeli útmutatást tartalmaznak — mindezt több mint 100 nyelven lokalizálva.

Főbb funkciók
  • Örökletes kockázat-elemzés — Magas, közepes és alacsony kockázati besorolás részletes pontozással
  • Családfa elemzés — Apai és anyai vonalbeli kockázati feltérképezés kombinált kockázati tényezőkkel
  • Vérvizsgálat korreláció — A családi kórtörténet kereszthivatkozása a vérvizsgálati paraméterekkel
  • Genetikai szűrési ajánlások — Személyre szabott genetikai vizsgálati javaslatok
  • Megelőző ellátás ütemterv — Életkorhoz igazított szűrési ütemtervek a családi kockázat alapján
  • Gyógyszer-elemzés — Gyógyszerkölcsönhatás és örökletes érzékenység értékelése
  • Több mint 100 nyelv támogatása — Teljes jelentés lokalizáció több mint 100 nyelven
  • Sandbox mód — Integráció tesztelése kreditek fogyasztása nélkül
  • 9 állapot kategória — Kardiovaszkuláris, metabolikus, rákos, neurológiai, légzőszervi, autoimmun, genetikai, mentális egészségügyi, vese/máj
  • 14 családi kapcsolat — Apa, anya, testvérek, nagyszülők, nagybácsik, nagynénik, gyermekek

Végpontok összefoglalója

VégpontMetódusLeírásAuth
/api/v1/family-health/analyze POST Átfogó családi egészségkockázati értékelési jelentés készítése Kötelező (1 kredit)
/api/v1/family-health/validate POST Érvényesítse a kérés adatait az elemzés előtt (nincs kvóta fogyasztás) Kötelező (ingyenes)
/api/v1/family-health/supported-languages GET Az összes támogatott nyelv (100+) listázása Nem kötelező
/api/v1/family-health/condition-categories GET Az összes orvosi állapot-kategória listázása Nem kötelező
/api/v1/family-health/family-relations GET Az összes támogatott családi kapcsolat típus listázása Nem kötelező
/api/v1/family-health/sandbox/analyze POST Sandbox tesztelés mock adatokkal (nincs kvóta fogyasztás) Kötelező (ingyenes)
POST /api/v1/family-health/analyze Kibocsátva 2026.03.23.

Átfogó AI-alapú családi egészségkockázat-értékelési jelentést generál. Elemzi a családi kórtörténetet, a páciens egészségügyi profiljait és a vérvizsgálati adatokat az örökletes kockázati tényezők azonosítására, személyre szabott megelőző ellátási ajánlásokkal.

Kérés paraméterei (JSON törzs)

ParaméterTípusKötelezőLeírás
usernamestringIgenAz Ön API felhasználóneve
passwordstringIgenAz Ön API jelszava
patient_dataobjectIgenBetegadatok (lásd lent)
family_membersarrayIgen*Családtag objektumok tömbje (max. 100). *Kötelező, ha health_profile hiányzik
health_profileobjectIgen*Páciens egészségügyi profil. *Kötelező, ha family_members hiányzik
blood_test_dataarrayNemVérvizsgálati adat objektumok tömbje korrelációs elemzéshez
languagestringNemVálasz nyelvkód (alapértelmezett: en). Több mint 100 nyelv támogatott

patient_data objektum

MezőTípusKötelezőLeírás
namestringNemBeteg teljes neve
ageintegerIgenBeteg életkora években
genderstringIgenmale, female vagy other
dobstringNemSzületési dátum (YYYY-MM-DD)

family_members tömb elem

MezőTípusKötelezőLeírás
relationstringIgenKapcsolat típusa: father, mother, brother, sister, paternal_grandfather, paternal_grandmother, maternal_grandfather, maternal_grandmother, paternal_uncle, paternal_aunt, maternal_uncle, maternal_aunt, son, daughter
ageintegerNemCsaládtag életkora
conditionsarrayNemIsmert egészségi állapotok tömbje (stringek)
age_at_diagnosisintegerNemÉletkor az állapot diagnosztizálásakor
deceasedbooleanNemA családtag elhunyt-e
age_at_deathintegerNemHalálkor elért életkor (ha elhunyt)
cause_of_deathstringNemHalál oka (ha elhunyt)

cURL példa

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "YOUR_USERNAME",
    "password": "YOUR_PASSWORD",
    "patient_data": {
      "name": "Jane Doe",
      "age": 42,
      "gender": "female",
      "dob": "1984-03-15"
    },
    "family_members": [
      {
        "relation": "father",
        "age": 70,
        "conditions": ["hypertension", "type2_diabetes"],
        "deceased": false
      },
      {
        "relation": "mother",
        "age": 67,
        "conditions": ["breast_cancer", "osteoporosis"],
        "deceased": false
      },
      {
        "relation": "paternal_grandfather",
        "conditions": ["coronary_artery_disease"],
        "deceased": true,
        "age_at_death": 72,
        "cause_of_death": "heart_attack"
      }
    ],
    "health_profile": {
      "current_medications": ["metformin"],
      "allergies": ["penicillin"],
      "chronic_conditions": ["prediabetes"],
      "lifestyle_factors": ["sedentary", "non_smoker"]
    },
    "blood_test_data": [
      {"parameter": "glucose", "value": 110, "unit": "mg/dL"},
      {"parameter": "HbA1c", "value": 5.9, "unit": "%"},
      {"parameter": "total_cholesterol", "value": 220, "unit": "mg/dL"}
    ],
    "language": "en"
  }'

Python példa

import requests

def family_health_analyze(username: str, password: str, patient_data: dict,
                          family_members: list = None, health_profile: dict = None,
                          blood_test_data: list = None, language: str = "en"):
    """
    Generate a family health risk assessment report using Kantesti API.
    AI-powered hereditary risk analysis with 100+ language support.

    Args:
        username: API username
        password: API password
        patient_data: Patient info dict with 'age' and 'gender' (required)
        family_members: List of family member dicts with medical history
        health_profile: Patient health profile dict
        blood_test_data: Optional blood test data for correlation
        language: Report language code (default: en)

    Returns:
        dict: Full family health risk assessment report
    """
    url = "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze"

    payload = {
        "username": username,
        "password": password,
        "patient_data": patient_data,
        "language": language
    }

    if family_members:
        payload["family_members"] = family_members
    if health_profile:
        payload["health_profile"] = health_profile
    if blood_test_data:
        payload["blood_test_data"] = blood_test_data

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

# Használati példa
if __name__ == "__main__":
    result = family_health_analyze(
        username="your_username",
        password="your_password",
        patient_data={"name": "Jane Doe", "age": 42, "gender": "female"},
        family_members=[
            {"relation": "father", "age": 70, "conditions": ["hypertension", "type2_diabetes"]},
            {"relation": "mother", "age": 67, "conditions": ["breast_cancer"]},
        ],
        health_profile={"chronic_conditions": ["prediabetes"]},
        blood_test_data=[{"parameter": "glucose", "value": 110, "unit": "mg/dL"}],
        language="en"
    )
    print(f"Status: {result['status']}")
    report = result["data"]["report_data"]
    print(f"Risk Level: {report['risk_assessment']['overall_risk_level']}")
    for category, risk in report["risk_assessment"].items():
        if isinstance(risk, dict):
            print(f"  {category}: {risk.get('level', 'N/A')} (score: {risk.get('score', 'N/A')})")

C++ példa (libcurl)

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

size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
    userp->append((char*)contents, size * nmemb);
    return size * nmemb;
}

std::string familyHealthAnalyze(const std::string& username,
                                 const std::string& password,
                                 const std::string& jsonPayload) {
    CURL* curl = curl_easy_init();
    std::string response;

    if (curl) {
        struct curl_slist* headers = NULL;
        headers = curl_slist_append(headers, "Content-Type: application/json");

        curl_easy_setopt(curl, CURLOPT_URL,
            "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze");
        curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, jsonPayload.c_str());
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
        curl_easy_setopt(curl, CURLOPT_TIMEOUT, 120L);

        CURLcode res = curl_easy_perform(curl);
        curl_slist_free_all(headers);
        curl_easy_cleanup(curl);
    }
    return response;
}

int main() {
    std::string payload = R"({
        "username": "your_username",
        "password": "your_password",
        "patient_data": {"name": "Jane Doe", "age": 42, "gender": "female"},
        "family_members": [
            {"relation": "father", "age": 70, "conditions": ["hypertension"]},
            {"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
        ],
        "language": "en"
    })";
    std::string result = familyHealthAnalyze("user", "pass", payload);
    std::cout << result << std::endl;
    return 0;
}

Postman példa

Method: POST
URL: https://app.aibloodtestinterpret.com/api/v1/family-health/analyze
Headers:
  Content-Type: application/json
Body (raw JSON):
{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "patient_data": {
    "age": 42,
    "gender": "female"
  },
  "family_members": [
    {"relation": "father", "age": 70, "conditions": ["hypertension"]}
  ],
  "language": "en"
}

Válasz példa

{
  "status": "success",
  "data": {
    "report_data": {
      "report_title": "Family Health Risk Assessment Report",
      "executive_summary": "Based on family medical history analysis...",
      "hereditary_risk_analysis": {
        "high_risk": [
          {
            "condition": "Cardiovascular Disease",
            "risk_score": 75,
            "contributing_factors": ["Paternal hypertension", "Grandfather coronary artery disease"],
            "recommendation": "Regular cardiac screening recommended"
          }
        ],
        "moderate_risk": [
          {
            "condition": "Type 2 Diabetes",
            "risk_score": 60,
            "contributing_factors": ["Paternal type 2 diabetes", "Elevated glucose levels"],
            "recommendation": "Annual HbA1c and fasting glucose monitoring"
          }
        ],
        "low_risk": []
      },
      "medication_analysis": {
        "current_medications": ["metformin"],
        "hereditary_sensitivities": [],
        "recommendations": ["Continue metformin for prediabetes management"]
      },
      "blood_test_family_correlation": {
        "correlated_findings": [
          "Elevated glucose (110 mg/dL) correlates with paternal diabetes history",
          "Cholesterol level (220 mg/dL) warrants monitoring given cardiovascular family history"
        ]
      },
      "genetic_screening_recommendations": [
        "BRCA1/BRCA2 genetic testing (maternal breast cancer history)",
        "Cardiovascular genetic panel (strong paternal cardiac history)"
      ],
      "lifestyle_recommendations": [
        "Adopt heart-healthy Mediterranean diet",
        "150 minutes weekly moderate aerobic exercise",
        "Maintain healthy BMI (18.5-24.9)"
      ],
      "family_tree_summary": {
        "paternal_lineage": {"risk_factors": ["hypertension", "type2_diabetes", "coronary_artery_disease"]},
        "maternal_lineage": {"risk_factors": ["breast_cancer", "osteoporosis"]},
        "combined_risk_factors": ["cardiovascular", "metabolic", "oncological"]
      },
      "preventive_care_timeline": [
        {"age_range": "40-45", "screenings": ["Annual mammogram", "Cardiac stress test", "HbA1c every 6 months"]},
        {"age_range": "45-50", "screenings": ["Colonoscopy baseline", "Bone density scan", "Lipid panel annually"]},
        {"age_range": "50+", "screenings": ["Biennial mammogram", "Annual cardiac checkup", "Diabetes screening"]}
      ]
    }
  },
  "message": "Családi egészségkockázat-értékelés sikeresen befejezve",
  "timestamp": "2026-03-23T10:30:00Z",
  "api_version": "1.0.0"
}

Családegészség API hibakódok

HibakódHTTP állapotLeírás
AUTH_1001401Hiányzó hitelesítési adatok
AUTH_1002401Érvénytelen felhasználónév vagy jelszó
QUOTA_1101403Elégtelen API kvóta
QUOTA_1103429Sebességkorlát túllépve
VAL_2001400Hiányzó kötelező mező (patient_data.age, patient_data.gender)
VAL_2002400Érvénytelen adatformátum
VAL_2003400Nem támogatott nyelvkód
VAL_2005400A kérés adatai nem lehetnek üresek
VAL_2006400A tömb meghaladja a maximális méretet (max 100 családtag)
VAL_2007400Érvénytelen páciensadat-struktúra
PROC_3001500Jelentés generálása sikertelen
PROC_3003500AI feldolgozási hiba
SRV_5001500Belső szerverhiba
POST /api/v1/family-health/validate

Ellenőrizze a kérés adatait az elemzésre való benyújtás előtt. Nem fogyaszt kvótát. Használja ezt a végpontot a terhelés szerkezetének ellenőrzésére az /analyze hívása előtt.

cURL példa

curl -X POST "https://app.aibloodtestinterpret.com/api/v1/family-health/validate" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "YOUR_USERNAME",
    "password": "YOUR_PASSWORD",
    "patient_data": {"age": 42, "gender": "female"},
    "family_members": [{"relation": "father", "conditions": ["hypertension"]}],
    "language": "en"
  }'

Válasz példa

{
  "status": "success",
  "data": {
    "validation": {
      "valid": true,
      "data_validation": {"valid": true, "error": null},
      "language_valid": true
    }
  },
  "message": "Érvényesítés befejezve",
  "timestamp": "2026-03-23T10:30:00Z",
  "api_version": "1.0.0"
}

Családegészség Sandbox végpont

Tesztelje a családegészség API integrációját kreditek fogyasztása nélkül. A sandbox végpont valósághű minta-jelentés adatokat ad vissza.

APISandbox végpontLeírás
Családegészség elemzés/api/v1/family-health/sandbox/analyzeMintaadatokat ad vissza a családi egészségkockázati értékelési jelentéshez

Referencia végpontok (nem szükséges hitelesítés)

Ezek a végpontok referencia-adatokat biztosítanak az integráció építéséhez. Hitelesítés nem szükséges.

VégpontMetódusLeírás
/api/v1/family-health/supported-languages GET Visszaadja az összes támogatott (100+) nyelvkódot és nevet
/api/v1/family-health/condition-categories GET Visszaadja mind a 9 állapot kategóriát a hozzájuk tartozó állapotokkal (kardiovaszkuláris, metabolikus, rákos, neurológiai, légzőszervi, autoimmun, genetikai, mentális egészségügyi, vese/máj)
/api/v1/family-health/family-relations GET Visszaadja mind a 14 támogatott családi kapcsolat típust

ICR - Intelligens karakterfelismerő API

Kiadva: 2026. február 14.

A Kantesti ICR (Intelligens karakterfelismerő) API egy fejlett dokumentum-szövegkinyerő technológia, amely messze túlmutat a hagyományos OCR-en. A Kantesti saját AI motorjával működve az ICR strukturált JSON kimenetet szolgáltat bármilyen dokumentumtípusból, beleértve az orvosi jelentéseket, számlákat, űrlapokat és még sok mást.

79%
Gyorsabb az OCR-nél
99.7%
Pontossági ráta
100+
Nyelvek

Kantesti ICR vs hagyományos OCR

Benchmark tesztekben a Kantesti ICR 79%-kal nagyobb teljesítményt mutatott a hagyományos OCR megoldásokhoz képest. Az ICR érti a dokumentum szerkezetét, megőrzi a táblázatok elrendezését, kinyeri a metaadatokat, és tiszta strukturált JSON-t ad vissza — míg az OCR csak nyers, strukturálatlan szöveget nyújt. Az ICR AI-alapú intelligens felismerést használ a kontextus megértésére, a dokumentumtípusok automatikus észlelésére, és integrációra kész strukturált adatokat szolgáltat.

ICR főbb funkciók
  • Strukturált JSON kimenet — Táblázatok, szakaszok, metaadatok és nyers szöveg tiszta JSON formátumban
  • Dokumentumtípus észlelés — Automatikusan azonosítja az orvosi jelentéseket, számlákat, űrlapokat, leveleket stb.
  • Táblázat kinyerés — Megőrzi a táblázat fejléceit és a sorok adatait teljes szerkezettel
  • Többformátumú támogatás — PDF, JPG, JPEG, PNG dokumentum-feldolgozás
  • Vérvizsgálat integráció (Kan) — Specializált végpont vérvizsgálati dokumentumkinyeréshez
  • Sandbox mód — Integráció tesztelése kreditek fogyasztása nélkül
  • Szálbiztos feldolgozás — Egyidejű dokumentum-feldolgozás RLock-kal
  • Kreditrendszer — 0,5 kredit API hívásonként

ICR végpontok összefoglalója

VégpontMetódusLeírásKöltség
/api/icr/v1/extract POST ICR szöveg kinyerése dokumentumokból 0,5 kredit
/api/icr/v1/sandbox POST ICR sandbox tesztelés (nincs feldolgozás) Ingyenes
/api/icr/v1/kan POST Vérvizsgálati dokumentum-elemzés 0,5 kredit
/api/icr/v1/kan/sandbox POST Vérvizsgálat sandbox tesztelés Ingyenes
/api/icr/info GET API dokumentáció és funkciók Ingyenes
/api/icr/health GET Állapot-ellenőrzés végpont Ingyenes
/api/icr/v1/quota POST Fennmaradó ICR kreditek ellenőrzése Ingyenes
POST /api/icr/v1/extract Kibocsátva 2026.02.14.

Kinyeri az összes szöveges tartalmat a feltöltött dokumentumokból a Kantesti ICR technológia segítségével. Strukturált JSON-t ad vissza dokumentumtípus-észleléssel, táblázat-kinyeréssel, szakasz-elemzéssel és metaadatokkal.

Kérés paraméterei

ParaméterTípusKötelezőLeírás
usernamestringIgenAz Ön API felhasználóneve
passwordstringIgenAz Ön API jelszava
filefileIgenDokumentumfájl (PDF, JPG, JPEG, PNG)
languagestringNemKimeneti nyelvkód (alapértelmezett: en). Lásd a támogatott nyelveket.

cURL példa

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

Python példa

import requests

def icr_extract(file_path: str, username: str, password: str, language: str = "en"):
    """
    Extract text from a document using Kantesti ICR API.
    79% faster and more accurate than traditional OCR.

    Args:
        file_path: Path to the document (PDF, JPG, JPEG, PNG)
        username: API username
        password: API password
        language: Output language code (default: en)

    Returns:
        dict: Structured JSON with document content, tables, sections, metadata
    """
    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()

# Használati példa
if __name__ == "__main__":
    result = icr_extract(
        file_path="medical_report.pdf",
        username="your_username",
        password="your_password",
        language="en"
    )
    print(f"Status: {result['status']}")
    print(f"Document Type: {result['data']['document_type']}")
    print(f"Pages: {result['data']['page_count']}")
    for page in result['data']['pages']:
        print(f"  Page {page['page_number']}: {len(page['content']['sections'])} sections")
        for table in page['content'].get('tables', []):
            print(f"    Table: {len(table['rows'])} rows x {len(table['headers'])} cols")

C++ példa (libcurl)

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

size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
    userp->append((char*)contents, size * nmemb);
    return size * nmemb;
}

std::string icrExtract(const std::string& filePath,
                        const std::string& username,
                        const std::string& password,
                        const std::string& language = "en") {
    CURL* curl = curl_easy_init();
    std::string response;

    if (curl) {
        curl_mime* form = curl_mime_init(curl);
        curl_mimepart* field;

        field = curl_mime_addpart(form);
        curl_mime_name(field, "username");
        curl_mime_data(field, username.c_str(), CURL_ZERO_TERMINATED);

        field = curl_mime_addpart(form);
        curl_mime_name(field, "password");
        curl_mime_data(field, password.c_str(), CURL_ZERO_TERMINATED);

        field = curl_mime_addpart(form);
        curl_mime_name(field, "language");
        curl_mime_data(field, language.c_str(), CURL_ZERO_TERMINATED);

        field = curl_mime_addpart(form);
        curl_mime_name(field, "file");
        curl_mime_filedata(field, filePath.c_str());

        curl_easy_setopt(curl, CURLOPT_URL,
            "https://app.aibloodtestinterpret.com/api/icr/v1/extract");
        curl_easy_setopt(curl, CURLOPT_MIMEPOST, form);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
        curl_easy_setopt(curl, CURLOPT_TIMEOUT, 120L);

        CURLcode res = curl_easy_perform(curl);
        curl_mime_free(form);
        curl_easy_cleanup(curl);
    }
    return response;
}

int main() {
    std::string result = icrExtract("medical_report.pdf", "username", "password");
    std::cout << result << std::endl;
    return 0;
}

Válasz példa

{
  "status": "success",
  "data": {
    "document_type": "blood_test_report",
    "page_count": 1,
    "pages": [
      {
        "page_number": 1,
        "content": {
          "raw_text": "Cologne University Hospital - Blutbild\n\nPatient: Max Mustermann\nDOB: 15.03.1990\nGender: Male\nDate: 10.01.2026\n\nGlucose: 92 mg/dL (74-100)\nALT: 22 U/L (<35)\nCreatinine: 0.9 mg/dL (0.7-1.2)\nWBC: 7.2 10*9/L (3.8-10)\nHGB: 148 g/L (130-175)\nPLT: 230 10*9/L (150-400)",
          "sections": [
            {"type": "header", "content": "Cologne University Hospital - Blutbild"},
            {"type": "paragraph", "content": "Patient: Max Mustermann, DOB: 15.03.1990, Male"},
            {"type": "table", "content": "Blood test results with 6 parameters"}
          ],
          "tables": [
            {
              "headers": ["Test", "Result", "Unit", "Reference Range"],
              "rows": [
                ["Glucose", "92", "mg/dL", "74 - 100"],
                ["ALT", "22", "U/L", "< 35"],
                ["Creatinine", "0.9", "mg/dL", "0.7 - 1.2"],
                ["WBC", "7.2", "10*9/L", "3.8 - 10"],
                ["HGB", "148", "g/L", "130 - 175"],
                ["PLT", "230", "10*9/L", "150 - 400"]
              ]
            }
          ]
        }
      }
    ],
    "metadata": {
      "detected_language": "de",
      "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"
}

ICR hibakódok

HibakódHTTP állapotLeírás
ICR_AUTH_1001401Hiányzó hitelesítési adatok
ICR_AUTH_1002401Érvénytelen felhasználónév vagy jelszó
ICR_QUOTA_1101403Elégtelen kreditek (0,5 kredit szükséges hívásonként)
ICR_VAL_2001400Nincs feltöltött fájl
ICR_VAL_2002400Érvénytelen fájlformátum (támogatott: PDF, JPG, JPEG, PNG)
ICR_VAL_2003400Egy kérésben nem engedélyezett több PDF-fájl
ICR_VAL_2004400Egy kérésben nem keverhető PDF és képfájl
ICR_PROC_3001500ICR szöveg kinyerés sikertelen
ICR_PROC_3004504Feldolgozási időtúllépés
ICR_SRV_5001500Belső szerverhiba
ICR_SRV_5002503ICR szolgáltatás átmenetileg nem elérhető
POST /api/icr/v1/kan Kibocsátva 2026.02.14.

Vérvizsgálati dokumentum-elemzés a Kantesti Kan motor segítségével. Feldolgozza a vérvizsgálati dokumentumokat, és kinyeri a strukturált vizsgálati paramétereket, a páciens információit és a metaadatokat.

Kérés paraméterei

ParaméterTípusKötelezőLeírás
usernamestringIgenAz Ön API felhasználóneve
passwordstringIgenAz Ön API jelszava
filefileIgenVérvizsgálati fájl (PDF, JPG, JPEG, PNG)
languagestringNemJelentés nyelvkód (alapértelmezett: en)
pdf_passwordstringNemJelszó titkosított PDF-ekhez

cURL példa

curl -X POST "https://app.aibloodtestinterpret.com/api/icr/v1/kan" \
  -F "username=YOUR_USERNAME" \
  -F "password=YOUR_PASSWORD" \
  -F "language=en" \
  -F "file=@blood_test.pdf"

Python példa

import requests

def icr_kan_analyze(file_path: str, username: str, password: str,
                     language: str = "en", pdf_password: str = None):
    """
    Analyze blood test document using Kantesti ICR Kan engine.

    Args:
        file_path: Path to blood test document (PDF, JPG, JPEG, PNG)
        username: API username
        password: API password
        language: Report language code (default: en)
        pdf_password: Password for encrypted PDFs (optional)

    Returns:
        dict: Structured blood test parameters with patient info
    """
    url = "https://app.aibloodtestinterpret.com/api/icr/v1/kan"

    with open(file_path, "rb") as f:
        files = {"file": (file_path, f)}
        data = {
            "username": username,
            "password": password,
            "language": language
        }
        if pdf_password:
            data["pdf_password"] = pdf_password

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

# Használati példa
if __name__ == "__main__":
    result = icr_kan_analyze(
        file_path="blood_test_report.pdf",
        username="your_username",
        password="your_password",
        language="en"
    )
    print(f"Status: {result['status']}")
    params = result['data']['test_parameters']
    print(f"Parameters found: {len(params)}")
    for param in params:
        print(f"  {param['name']}: {param['value']} {param['unit']} ({param['reference_range']})")

Válasz példa

{
  "status": "success",
  "data": {
    "institute_info": {
      "name": "Cologne University Hospital"
    },
    "test_metadata": {
      "report_date": "10.01.2026",
      "sample_type": "Blood",
      "test_date": "10.01.2026"
    },
    "test_parameters": [
      {"name": "Glucose (Fasting Blood Sugar)", "value": "92", "unit": "mg/dL", "reference_range": "74 - 100", "type": "range"},
      {"name": "Alanine aminotransferase (ALT)", "value": "22", "unit": "U/L", "reference_range": "< 35", "type": "range"},
      {"name": "Creatinine", "value": "0.9", "unit": "mg/dL", "reference_range": "0.7 - 1.2", "type": "range"},
      {"name": "Cholesterol", "value": "185", "unit": "mg/dL", "reference_range": "< 200", "type": "range"},
      {"name": "TSH", "value": "2.1", "unit": "mIU/L", "reference_range": "0.38 - 5.33", "type": "range"},
      {"name": "WBC (White Blood Cell Count)", "value": "7.2", "unit": "10*9/L", "reference_range": "3.8 - 10", "type": "range"},
      {"name": "RBC (Red Blood Cell Count)", "value": "4.9", "unit": "10*12/L", "reference_range": "4.5 - 5.5", "type": "range"},
      {"name": "HGB (Hemoglobin)", "value": "148", "unit": "g/L", "reference_range": "130 - 175", "type": "range"},
      {"name": "PLT (Platelet Count)", "value": "230", "unit": "10*9/L", "reference_range": "150 - 400", "type": "range"},
      {"name": "HBsAg", "value": "Negative", "unit": "", "reference_range": "", "type": "binary"}
    ],
    "tester_info": {
      "age": "35 (Calculated from 15.03.1990 to 10.01.2026)",
      "gender": "Male"
    },
    "kan_metadata": {
      "engine": "kantesti-kan",
      "version": "1.0.0",
      "language": "en",
      "timestamp": "2026-02-14T10:30:00Z"
    }
  },
  "credit_cost": 0.5,
  "api_version": "icr-v1",
  "timestamp": "2026-02-14T10:30:00Z"
}

ICR Sandbox végpontok

Tesztelje az ICR integrációját kreditek fogyasztása nélkül. A Sandbox végpontok valósághű mintaadatokat adnak vissza.

APISandbox végpontLeírás
ICR kinyerés/api/icr/v1/sandboxMintaadatokat ad vissza az ICR kinyeréshez
ICR Kan/api/icr/v1/kan/sandboxMintaadatokat ad vissza vérvizsgálati paraméterekhez

ICR vs OCR teljesítmény benchmark

Benchmark eredmények — Kantesti ICR vs hagyományos OCR
MérőszámKantesti ICRHagyományos OCRJavulás
Feldolgozási sebesség1,2 mp átlag5,7 mp átlag79%-kal gyorsabb
Szövegpontosság99,7%92,1%+7,6%
Táblázat észlelés98,9%71,2%+27,7%
Strukturált kimenetJSON szakaszokkal, táblázatokkal, metaadatokkalNyers strukturálatlan szövegTeljes struktúra
Dokumentumtípus észlelésAutomatikusNem elérhetőAI-alapú
Többnyelvű támogatás100+ nyelv30-50 nyelv2x+ lefedettség
Orvosi dokumentumtámogatásSpecializáltÁltalánosSzakterületi tapasztalat