API-Endpunkte
Vollständige Referenz aller Kantesti Bluttest-API-Endpunkte mit Codebeispielen in mehreren Programmiersprachen.
https://app.aibloodtestinterpret.com
Changelog
Verfolgen Sie API-Versionen, Updates und Migrationsinformationen. Verwenden Sie die empfohlenen Endpunkte für neue Integrationen.
Aktuelle stabile Endpunkte
Diese Endpunkte werden für den Produktionseinsatz und neue Integrationen empfohlen.
| API | Endpunkt | Status |
|---|---|---|
| Bluttest-Analyse v11 | /api/v11/01-06-2025/analyze |
Empfohlen |
| Bluttest-Analyse (Gesundheitsscore) v11 | /api/v11/health-score/analyze |
Empfohlen |
| Ernährungs-KI v1 | /api/v1/nutrition/diet-plan/analyze |
Stabil |
| KI-Bluttest-Vergleich v1 | /api/v1/bloodtest/comparison/analyze |
Stabil |
| Family Health Risikobewertung v1 | /api/v1/family-health/analyze |
Veröffentlicht 23.03.2026 |
| ICR - Intelligente Zeichenerkennung v1 | /api/icr/v1/extract |
Veröffentlicht 14.02.2026 |
| ICR Kan - Bluttest-Extraktion v1 | /api/icr/v1/kan |
Veröffentlicht 14.02.2026 |
| Trendanalyse v1 | /api/v1/analytics/trends/analyze |
Stabil |
Versionsgeschichte
| Datum | Version | Änderungen |
|---|---|---|
| März 2026 | Family Health v1 | Family Health Risikobewertung API veröffentlicht — KI-gestützte hereditäre Risikoanalyse, 100+ Sprachunterstützung, Stammbaum-Analyse, präventiver Vorsorgeplan, genetische Screening-Empfehlungen, Sandbox-Modus |
| Februar 2026 | ICR v1 | ICR (Intelligente Zeichenerkennung) API veröffentlicht — 79% schneller als OCR, strukturierte JSON-Ausgabe, Dokumenttyp-Erkennung, Tabellenextraktion, Kan-Bluttest-Integration |
| Dezember 2025 | Neueste | Verbesserte Fehlerbehandlung, 98,7% Genauigkeit, Unterstützung für 100 Sprachen |
| Juni 2025 | v11 | v11 Bluttest-Analyse, Gesundheitsscore-Endpunkt, Multi-Datei-Unterstützung |
| April 2025 | v9 | api_parameters_v9 Modell, verbesserte Parameterextraktion |
| März 2025 | v8 | Multi-Datei-Upload-Unterstützung, Stapelverarbeitung |
Legacy-Endpunkte
Diese Endpunkte werden für Abwärtskompatibilität gepflegt, werden aber für neue Integrationen nicht empfohlen.
| Version | Endpunkt | Status |
|---|---|---|
| v10 | /api/v10/health-score/analyze |
Legacy |
| v9 | /api/v9/14-04-2025/analyze |
Legacy |
| v8 | /api/v8/31-03-2025/analyze |
Legacy |
| v6 | /api/v6-1/21-11-2024/analyze |
Legacy |
| v3 | /api/v3/10-10-2024/analyze |
Legacy |
Legacy-Endpunkte werden für Abwärtskompatibilität gepflegt, werden aber für neue Integrationen nicht empfohlen. Bitte migrieren Sie zu den aktuellen stabilen Endpunkten für bessere Leistung und Support.
Unterstützte Sprachen Referenz
Die Kantesti-API unterstützt 100 Sprachen für die Lokalisierung von Antworten. Verwenden Sie den language-Parameter mit einem der unten aufgeführten ISO 639-1-Codes. Wenn nicht angegeben, werden Antworten standardmäßig auf Englisch (en) zurückgegeben.
Wenn kein language-Parameter angegeben wird, gibt die API Antworten auf Englisch (en) zurück.
Wichtige Weltsprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
en | Englisch | English |
zh | Chinesisch | 中文 |
es | Spanisch | Español |
ar | Arabisch | العربية |
hi | Hindi | हिन्दी |
pt | Portugiesisch | Português |
ru | Russisch | Русский |
ja | Japanisch | 日本語 |
fr | Französisch | Français |
de | Deutsch | Deutsch |
ko | Koreanisch | 한국어 |
tr | Türkisch | Türkçe |
Europäische Sprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
it | Italienisch | Italiano |
nl | Niederländisch | Nederlands |
pl | Polnisch | Polski |
el | Griechisch | Ελληνικά |
sv | Schwedisch | Svenska |
no | Norwegisch | Norsk |
da | Dänisch | Dansk |
fi | Finnisch | Suomi |
cs | Tschechisch | Čeština |
uk | Ukrainisch | Українська |
ro | Rumänisch | Română |
hu | Ungarisch | Magyar |
bg | Bulgarisch | Български |
hr | Kroatisch | Hrvatski |
sk | Slowakisch | Slovenčina |
sl | Slowenisch | Slovenščina |
sr | Serbisch | Српски |
lt | Litauisch | Lietuvių |
lv | Lettisch | Latviešu |
et | Estnisch | Eesti |
ca | Katalanisch | Català |
eu | Baskisch | Euskara |
gl | Galizisch | Galego |
cy | Walisisch | Cymraeg |
ga | Irisch | Gaeilge |
is | Isländisch | Íslenska |
mt | Maltesisch | Malti |
sq | Albanisch | Shqip |
mk | Mazedonisch | Македонски |
bs | Bosnisch | Bosanski |
lb | Luxemburgisch | Lëtzebuergesch |
be | Weißrussisch | Беларуская |
Nahostsprachen & Zentralasiatische Sprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
he | Hebräisch | עברית |
fa | Persisch | فارسی |
az | Aserbaidschanisch | Azərbaycan |
ka | Georgisch | ქართული |
hy | Armenisch | Հայdelays |
kk | Kasachisch | Қазақша |
uz | Usbekisch | Oʻzbek |
tg | Tadschikisch | Тоҷикӣ |
ky | Kirgisisch | Кыргызча |
tk | Turkmenisch | Türkmen |
mn | Mongolisch | Монгол |
ps | Paschtu | پښتو |
ku | Kurdisch | Kurdî |
Südasiatische Sprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
bn | Bengalisch | বাংলা |
ta | Tamilisch | தமிழ் |
te | Telugu | తెలుగు |
mr | Marathi | मराठी |
gu | Gujarati | ગુજરાતી |
kn | Kannada | ಕನ್ನಡ |
ml | Malayalam | മലയാളം |
pa | Punjabi | ਪੰਜਾਬੀ |
ur | Urdu | اردو |
ne | Nepali | नेपाली |
si | Singhalesisch | සිංහල |
sd | Sindhi | سنڌي |
as | Assamesisch | অসমীয়া |
or | Odia | ଓଡ଼ିଆ |
Südostasiatische Sprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
id | Indonesisch | Bahasa Indonesia |
th | Thailändisch | ไทย |
vi | Vietnamesisch | Tiếng Việt |
ms | Malaiisch | Bahasa Melayu |
my | Birmanisch | မြန်မာ |
km | Khmer | ភាសាខ្មែរ |
lo | Laotisch | ລາວ |
fil | Filipino | Filipino |
tl | Tagalog | Tagalog |
jv | Javanisch | Basa Jawa |
su | Sundanesisch | Basa Sunda |
Afrikanische Sprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
af | Afrikaans | Afrikaans |
sw | Suaheli | Kiswahili |
am | Amharisch | አማርኛ |
ha | Hausa | Hausa |
yo | Yoruba | Yorùbá |
ig | Igbo | Igbo |
zu | Zulu | isiZulu |
xh | Xhosa | isiXhosa |
so | Somali | Soomaali |
mg | Madagassisch | Malagasy |
Andere Sprachen
| Code | Sprache | Eigenbezeichnung |
|---|---|---|
la | Latein | Latina |
eo | Esperanto | Esperanto |
yi | Jiddisch | ייִדיש |
ht | Haitianisch-Kreolisch | Kreyòl Ayisyen |
mi | Maori | Te Reo Māori |
sm | Samoanisch | Gagana Samoa |
to | Tongaisch | Lea Faka-Tonga |
haw | Hawaiianisch | ʻŌlelo Hawaiʻi |
Bluttest-Analyse-API
Analysieren Sie Bluttestbilder oder PDFs mit KI, um Parameter zu extrahieren und umfassende medizinische Interpretationen zu generieren.
Produktionsendpunkt für Bluttestanalyse. Verbraucht 1 Credit pro Anfrage.
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
username | string | Ja | Ihr API-Benutzername |
password | string | Ja | Ihr API-Passwort |
file | file | Ja | Bluttestbild (PNG, JPG, WEBP) oder PDF. Max 20MB. |
language | string | Nein | Antwortsprachcode (Standard: en). Siehe unterstützte Sprachen. |
cURL-Beispiel
curl -X POST "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze" \
-F "username=IHR_BENUTZERNAME" \
-F "password=IHR_PASSWORT" \
-F "language=de" \
-F "[email protected]"
Python-Beispiel
import requests
def bluttest_analysieren(dateipfad: str, benutzername: str, passwort: str, sprache: str = "de"):
"""
Analysiert eine Bluttestdatei mit der Kantesti-API.
Args:
dateipfad: Pfad zur Bluttest-PDF oder Bilddatei
benutzername: API-Benutzername
passwort: API-Passwort
sprache: Antwortsprachcode (Standard: de)
Returns:
dict: API-Antwort mit Analyseergebnissen
"""
url = "https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze"
with open(dateipfad, "rb") as f:
dateien = {"file": (dateipfad, f, "application/pdf")}
daten = {
"username": benutzername,
"password": passwort,
"language": sprache
}
antwort = requests.post(url, files=dateien, data=daten, timeout=120)
antwort.raise_for_status()
return antwort.json()
# Anwendungsbeispiel
if __name__ == "__main__":
ergebnis = bluttest_analysieren(
dateipfad="bluttest.pdf",
benutzername="ihr_benutzername",
passwort="ihr_passwort",
sprache="de"
)
print(f"Status: {ergebnis['status']}")
print(f"Gefundene Parameter: {len(ergebnis['data']['parameters'])}")
C++-Beispiel (libcurl)
#include <iostream>
#include <string>
#include <curl/curl.h>
// Callback-Funktion für die Antwortverarbeitung
size_t SchreibCallback(void* inhalt, size_t groesse, size_t nmemb, std::string* ausgabe) {
ausgabe->append((char*)inhalt, groesse * nmemb);
return groesse * nmemb;
}
std::string bluttestAnalysieren(const std::string& dateipfad,
const std::string& benutzername,
const std::string& passwort,
const std::string& sprache = "de") {
CURL* curl = curl_easy_init();
std::string antwort;
if (curl) {
curl_mime* formular = curl_mime_init(curl);
curl_mimepart* feld;
// Benutzername hinzufügen
feld = curl_mime_addpart(formular);
curl_mime_name(feld, "username");
curl_mime_data(feld, benutzername.c_str(), CURL_ZERO_TERMINATED);
// Passwort hinzufügen
feld = curl_mime_addpart(formular);
curl_mime_name(feld, "password");
curl_mime_data(feld, passwort.c_str(), CURL_ZERO_TERMINATED);
// Sprache hinzufügen
feld = curl_mime_addpart(formular);
curl_mime_name(feld, "language");
curl_mime_data(feld, sprache.c_str(), CURL_ZERO_TERMINATED);
// Datei hinzufügen
feld = curl_mime_addpart(formular);
curl_mime_name(feld, "file");
curl_mime_filedata(feld, dateipfad.c_str());
curl_easy_setopt(curl, CURLOPT_URL,
"https://app.aibloodtestinterpret.com/api/v11/01-06-2025/analyze");
curl_easy_setopt(curl, CURLOPT_MIMEPOST, formular);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, SchreibCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &antwort);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 120L);
CURLcode res = curl_easy_perform(curl);
curl_mime_free(formular);
curl_easy_cleanup(curl);
}
return antwort;
}
int main() {
std::string ergebnis = bluttestAnalysieren("bluttest.pdf", "benutzername", "passwort");
std::cout << ergebnis << std::endl;
return 0;
}
Postman-Konfiguration
{
"info": {
"name": "Kantesti Bluttest-API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Bluttest analysieren",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "formdata",
"formdata": [
{"key": "username", "value": "{{api_benutzername}}", "type": "text"},
{"key": "password", "value": "{{api_passwort}}", "type": "text"},
{"key": "language", "value": "de", "type": "text"},
{"key": "file", "type": "file", "src": "/pfad/zur/bluttest.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"]
}
}
}
]
}
Beispielantwort
{
"status": "success",
"data": {
"metadata": {
"patient_name": "Jan Novák",
"lab_name": "BioLAB Medizinzentrum",
"lab_city": "München",
"lab_country": "Deutschland",
"lab_date": "2025-05-11",
"patient_age": "45",
"patient_sex": "Männlich"
},
"parameters": [
{
"short_name": "WBC",
"long_name": "Weiße Blutkörperchen",
"category": "Komplettes Blutbild",
"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": "Misst die Gesamtzahl der weißen Blutkörperchen im Blut.",
"long_description": "Weiße Blutkörperchen (Leukozyten) sind für die Immunfunktion unerlässlich..."
},
{
"short_name": "HGB",
"long_name": "Hämoglobin",
"category": "Komplettes Blutbild",
"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 roten Blutkörperchen, das Sauerstoff transportiert.",
"long_description": "Hämoglobin ist das eisenhaltige Protein, das für den Sauerstofftransport verantwortlich ist..."
}
],
"interpretation": [
{
"title": "Gesamtgesundheitsbewertung",
"shortcode": "overall_health_assessment",
"subsections": [
{
"subtitle": "Umfassender Überblick",
"shortcode": "overall_health_assessment_overview",
"items": [
{"item": "Der Patient zeigt eine erhaltene Organfunktion mit normalen hämatologischen Parametern."},
{"item": "Im kompletten Blutbild wurden keine signifikanten Auffälligkeiten festgestellt."}
]
}
]
}
]
},
"api_version": "v11",
"timestamp": "2025-12-22T10:30:00Z"
}
Antwortfelder-Referenz
Stammebene
| Feld | Typ | Beschreibung |
|---|---|---|
status | string | "success" oder "error" |
data | object | Enthält alle Analyseergebnisse |
timestamp | string | ISO 8601 Zeitstempel der Antwort |
api_version | string | Verwendete API-Version |
data.metadata Objekt
| Feld | Typ | Beschreibung |
|---|---|---|
lab_date | string | Datum der Blutentnahme (JJJJ-MM-TT) |
results_date | string | Datum der Ergebnisausgabe (JJJJ-MM-TT) |
lab_name | string | Name des Labors |
lab_city | string | Stadt des Labors |
lab_country | string | Land des Labors |
patient_name | string | Vollständiger Name des Patienten (nur Metadaten, wird nicht an die Interpretation gesendet) |
patient_age | string | Alter des Patienten |
patient_sex | string | "male", "female" oder "other" |
data.parameters Array-Element
| Feld | Typ | Beschreibung |
|---|---|---|
category | string | Parameterkategorie (z.B. "Blutbild", "Lipidprofil") |
long_name | string | Vollständiger Parametername |
short_name | string | Abgekürzter Parametername |
result | string | Messwert |
unit | string | Maßeinheit |
range_min | string | Minimaler Referenzbereich |
range_max | string | Maximaler Referenzbereich |
evaluation | string | Ergebnisstatus. Siehe Bewertungswerte |
data.interpretation Array-Element
| Feld | Typ | Beschreibung |
|---|---|---|
title | string | Abschnittstitel (z.B. "Gesamtgesundheitsbewertung") |
content | string | KI-generierte medizinische Interpretation |
Vollständiges Antwortbeispiel
{
"status": "success",
"data": {
"metadata": {
"patient_name": "Anna Müller",
"lab_name": "MedLab Diagnostics International",
"lab_city": "München",
"lab_country": "Deutschland",
"lab_date": "2025-12-15",
"results_date": "2025-12-16",
"patient_age": "38",
"patient_sex": "female"
},
"parameters": [
{
"short_name": "WBC",
"long_name": "Leukozytenzahl",
"category": "Blutbild",
"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": "Misst die Gesamtzahl der weißen Blutkörperchen.",
"long_description": "Weiße Blutkörperchen (Leukozyten) sind wesentliche Bestandteile des Immunsystems..."
},
{
"short_name": "RBC",
"long_name": "Erythrozytenzahl",
"category": "Blutbild",
"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": "Misst die Gesamtzahl der roten Blutkörperchen.",
"long_description": "Rote Blutkörperchen (Erythrozyten) transportieren Sauerstoff von der Lunge zu den Körpergeweben..."
},
{
"short_name": "HGB",
"long_name": "Hämoglobin",
"category": "Blutbild",
"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 roten Blutkörperchen, das Sauerstoff transportiert.",
"long_description": "Hämoglobin ist das eisenhaltige Protein in roten Blutkörperchen, das für den Sauerstofftransport verantwortlich ist..."
},
{
"short_name": "HCT",
"long_name": "Hämatokrit",
"category": "Blutbild",
"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": "Prozentsatz des Blutvolumens, der von roten Blutkörperchen eingenommen wird.",
"long_description": "Der Hämatokrit misst den Anteil des Blutes, der aus roten Blutkörperchen besteht..."
},
{
"short_name": "PLT",
"long_name": "Thrombozytenzahl",
"category": "Blutbild",
"result": "245",
"unit": "10^9/L",
"evaluation": "normal",
"range_min": "150",
"range_max": "400",
"range_normal_min": "150",
"range_normal_max": "350",
"short_description": "Misst die Anzahl der Blutplättchen im Blut.",
"long_description": "Thrombozyten (Blutplättchen) sind essentiell für die Blutgerinnung und Wundheilung..."
},
{
"short_name": "GLU",
"long_name": "Nüchternglukose",
"category": "Stoffwechselpanel",
"result": "102",
"unit": "mg/dL",
"evaluation": "borderline_high",
"range_min": "70",
"range_max": "140",
"range_normal_min": "70",
"range_normal_max": "99",
"short_description": "Misst den Blutzuckerspiegel nach dem Fasten.",
"long_description": "Die Nüchternglukose ist ein wichtiger Indikator dafür, wie gut der Körper Zucker verstoffwechselt..."
},
{
"short_name": "TC",
"long_name": "Gesamtcholesterin",
"category": "Lipidprofil",
"result": "218",
"unit": "mg/dL",
"evaluation": "borderline_high",
"range_min": "0",
"range_max": "300",
"range_normal_min": "0",
"range_normal_max": "200",
"short_description": "Misst das Gesamtcholesterin im Blut.",
"long_description": "Das Gesamtcholesterin ist die Summe aus HDL-, LDL- und VLDL-Cholesterin..."
},
{
"short_name": "HDL",
"long_name": "HDL-Cholesterin",
"category": "Lipidprofil",
"result": "58",
"unit": "mg/dL",
"evaluation": "normal",
"range_min": "35",
"range_max": "100",
"range_normal_min": "50",
"range_normal_max": "90",
"short_description": "Misst das 'gute' Cholesterin.",
"long_description": "HDL (High-Density-Lipoprotein) Cholesterin hilft, andere Formen von Cholesterin zu entfernen..."
},
{
"short_name": "LDL",
"long_name": "LDL-Cholesterin",
"category": "Lipidprofil",
"result": "142",
"unit": "mg/dL",
"evaluation": "high",
"range_min": "0",
"range_max": "200",
"range_normal_min": "0",
"range_normal_max": "100",
"short_description": "Misst das 'schlechte' Cholesterin.",
"long_description": "LDL (Low-Density-Lipoprotein) Cholesterin kann sich in den Arterienwänden ablagern..."
},
{
"short_name": "TRIG",
"long_name": "Triglyzeride",
"category": "Lipidprofil",
"result": "156",
"unit": "mg/dL",
"evaluation": "borderline_high",
"range_min": "0",
"range_max": "500",
"range_normal_min": "0",
"range_normal_max": "150",
"short_description": "Misst das Fett im Blut.",
"long_description": "Triglyzeride sind eine Art von Fett im Blut, das überschüssige Energie speichert..."
}
],
"interpretation": [
{
"title": "Gesamtgesundheitsbewertung",
"shortcode": "overall_health_assessment",
"subsections": [
{
"subtitle": "Umfassende Übersicht",
"shortcode": "overall_health_assessment_overview",
"items": [
{"item": "Die Patientin zeigt allgemein gesunde hämatologische Parameter mit allen Blutbildwerten im Normalbereich."},
{"item": "Die Ergebnisse des kompletten Blutbildes zeigen eine ausreichende Sauerstofftransportkapazität und Immunfunktion."},
{"item": "Das Lipidprofil zeigt Bereiche, die Aufmerksamkeit erfordern, insbesondere die LDL-Cholesterinwerte."}
]
}
]
},
{
"title": "Stoffwechselanalyse",
"shortcode": "metabolic_analysis",
"subsections": [
{
"subtitle": "Blutzuckerbewertung",
"shortcode": "metabolic_analysis_glucose",
"items": [
{"item": "Der Nüchternglukosewert von 102 mg/dL ist leicht erhöht und deutet auf einen Prädiabetes-Bereich hin."},
{"item": "Es werden Lebensstiländerungen empfohlen, einschließlich regelmäßiger Bewegung und reduzierter Aufnahme einfacher Kohlenhydrate."},
{"item": "Eine HbA1c-Nachuntersuchung wird in 3 Monaten empfohlen, um die langfristige Glukosekontrolle zu beurteilen."}
]
}
]
},
{
"title": "Kardiovaskuläre Risikobewertung",
"shortcode": "cardiovascular_risk",
"subsections": [
{
"subtitle": "Lipidprofilanalyse",
"shortcode": "cardiovascular_risk_lipids",
"items": [
{"item": "LDL-Cholesterin mit 142 mg/dL überschreitet die optimalen Werte und erfordert eine Intervention."},
{"item": "HDL-Cholesterin mit 58 mg/dL bietet moderaten kardiovaskulären Schutz."},
{"item": "Triglyzeride leicht erhöht; Ernährungsumstellungen zur Reduzierung der gesättigten Fettsäuren werden empfohlen."},
{"item": "Das Verhältnis von Gesamtcholesterin zu HDL von 3,76 deutet auf ein moderates kardiovaskuläres Risiko hin."}
]
}
]
},
{
"title": "Empfehlungen",
"shortcode": "recommendations",
"subsections": [
{
"subtitle": "Lebensstiländerungen",
"shortcode": "recommendations_lifestyle",
"items": [
{"item": "Erhöhen Sie die aerobe körperliche Aktivität auf mindestens 150 Minuten pro Woche."},
{"item": "Übernehmen Sie eine mediterrane Ernährung, reich an Gemüse, Obst und gesunden Fetten."},
{"item": "Begrenzen Sie verarbeitete Lebensmittel, gesättigte Fette und zugesetzten Zucker."},
{"item": "Erwägen Sie eine Beratung durch einen Ernährungsberater für personalisierte Ernährungsempfehlungen."}
]
},
{
"subtitle": "Nachfolgeuntersuchungen",
"shortcode": "recommendations_followup",
"items": [
{"item": "Wiederholung des Lipidprofils in 3 Monaten nach Umsetzung der Lebensstiländerungen."},
{"item": "HbA1c-Test empfohlen, um die durchschnittlichen Blutzuckerwerte zu beurteilen."},
{"item": "Jährliches umfassendes Stoffwechselpanel zur laufenden Überwachung."}
]
}
]
}
]
},
"api_version": "v11",
"timestamp": "2025-12-16T14:32:18Z"
}
Das Feld evaluation verwendet standardisierte Werte. Siehe Bewertungswerte.
Produktionsendpunkt mit umfassender Gesundheitsscore-Berechnung und Krankheitsrisikoanalyse.
Zusätzliche Antwortfelder
{
"health_score": {
"overall": 78,
"optimal": 4,
"normal": 12,
"warning": 3,
"critical": 1,
"total_parameters": 20,
"score_interpretation": "gut",
"recommendations": [
"Erwägen Sie eine Erhöhung der Vitamin-D-Aufnahme",
"Planen Sie eine Nachuntersuchung für Cholesterinwerte"
]
},
"disease_risks": [
{"name": "Herz-Kreislauf-Erkrankung", "percentage": "18%", "severity": "niedrig"},
{"name": "Typ-2-Diabetes", "percentage": "12%", "severity": "niedrig"},
{"name": "Metabolisches Syndrom", "percentage": "25%", "severity": "mäßig"}
]
}
Sandbox-Endpunkte
Sandbox-Endpunkte liefern realistische Testdaten, ohne das API-Kontingent zu verbrauchen. Verwenden Sie diese für Entwicklung und Integrationstests.
- Kein Kontingentverbrauch
- Liefert realistische Testdaten
- Gleiches Anfrageformat wie Produktion
- Testen Sie Ihre Integration vor dem Livebetrieb
- Für alle API-Versionen verfügbar
| API | Sandbox-Endpunkt |
|---|---|
| Bluttest v11 | /api/v11/01-06-2025/sandbox |
| Bluttest v11-health | /api/v11/health-score/sandbox |
| Ernährungs-KI | /api/v1/nutrition/diet-plan/sandbox |
| Bluttestvergleich | /api/v1/bloodtest/comparison/sandbox |
| Trendanalyse | /api/v1/analytics/trends/sandbox |
| ICR Extract | /api/icr/v1/sandbox |
| ICR Kan (Bluttest) | /api/icr/v1/kan/sandbox |
Wählen Sie die richtige API für Ihren Anwendungsfall:
| Funktion | KI-Bluttestvergleich | Trendanalyse |
|---|---|---|
| Hauptfokus | KI-narrative Vergleich | Statistische Trendanalyse |
| KI-Verarbeitung | Vollständige KI-Narrative | KI-erweitert + Statistik |
| Ausgabetyp | Narrative Zusammenfassungen | Diagramme, Statistiken, Muster |
| Geeignet für | Was hat sich zwischen Tests geändert | Langzeit-Parameter-Tracking |
| Min. Tests | 2 | 2 |
| Max. Tests | 20 | 50 |
Trendanalyse-API
Analysieren Sie Gesundheitsparameter-Trends über die Zeit mit KI-gestützter Mustererkennung. Identifizieren Sie Verbesserungen, Verschlechterungen und handlungsrelevante Erkenntnisse aus historischen Bluttestdaten.
Analysiert Bluttestparameter-Trends über mehrere Testdaten, um Muster zu identifizieren und Gesundheitserkenntnisse zu liefern.
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
username | string | Ja | Ihr API-Benutzername |
password | string | Ja | Ihr API-Passwort |
language | string | Nein | Antwortsprache (Standard: en). Siehe unterstützte Sprachen. |
blood_tests | array | Ja | Array von Bluttestobjekten (min: 2, max: 50) |
analysis_type | string | Nein | Typ: comprehensive, quick oder focused |
analysis_options | object | Nein | Analysekonfigurationsoptionen |
analysis_options Object
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
include_predictions | boolean | true | KI-Trendvorhersagen einschließen |
include_statistics | boolean | true | Statistische Analyse einschließen |
include_charts | boolean | true | Diagramm-Konfigurationsdaten einschließen |
- Minimum: 2 Bluttests erforderlich
- Maximum: 50 Bluttests pro Anfrage
- Jeder Test muss
lab_dateODERresults_datehaben - Verwenden Sie konsistente Parameternamen für genaue Trendverfolgung
blood_tests Array-Struktur
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
lab_date | string | Ja* | Testdatum im YYYY-MM-DD Format |
results_date | string | Ja* | Alternative zu lab_date (YYYY-MM-DD) |
parameters | array | Ja | Array von Bluttestparametern |
metadata | object | Nein | Zusätzliche Metadaten (lab_name, notes, etc.) |
*Entweder lab_date oder results_date ist für jeden Bluttest erforderlich.
blood_tests[].parameters Array-Struktur
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Ja | Parametername (konsistente Benennung!) |
short_name | string | Nein | Kurzer Parametercode |
value | number | Ja | Messwert |
unit | string | Ja | Maßeinheit |
range_min | number | Nein | Minimaler Referenzbereich |
range_max | number | Nein | Maximaler Referenzbereich |
category | string | Nein | Parameterkategorie |
evaluation | string | Nein | Vorab bewerteter Status |
cURL-Beispiel
curl -X POST "https://app.aibloodtestinterpret.com/api/v1/analytics/trends/analyze" \
-H "Content-Type: application/json" \
-d '{
"username": "IHR_BENUTZERNAME",
"password": "IHR_PASSWORT",
"language": "de",
"analysis_type": "comprehensive",
"blood_tests": [
{
"lab_date": "2024-01-15",
"parameters": [
{"name": "Glucose", "short_name": "GLU", "value": 108, "unit": "mg/dL", "range_min": 70, "range_max": 100},
{"name": "HbA1c", "short_name": "HbA1c", "value": 6.2, "unit": "%", "range_min": 4.0, "range_max": 5.6},
{"name": "Cholesterol", "short_name": "CHOL", "value": 225, "unit": "mg/dL", "range_min": 0, "range_max": 200},
{"name": "LDL Cholesterol", "short_name": "LDL", "value": 145, "unit": "mg/dL", "range_min": 0, "range_max": 100},
{"name": "HDL Cholesterol", "short_name": "HDL", "value": 42, "unit": "mg/dL", "range_min": 40, "range_max": 60}
]
},
{
"lab_date": "2024-05-10",
"parameters": [
{"name": "Glucose", "short_name": "GLU", "value": 102, "unit": "mg/dL", "range_min": 70, "range_max": 100},
{"name": "HbA1c", "short_name": "HbA1c", "value": 5.9, "unit": "%", "range_min": 4.0, "range_max": 5.6},
{"name": "Cholesterol", "short_name": "CHOL", "value": 205, "unit": "mg/dL", "range_min": 0, "range_max": 200},
{"name": "LDL Cholesterol", "short_name": "LDL", "value": 128, "unit": "mg/dL", "range_min": 0, "range_max": 100},
{"name": "HDL Cholesterol", "short_name": "HDL", "value": 48, "unit": "mg/dL", "range_min": 40, "range_max": 60}
]
},
{
"lab_date": "2024-08-22",
"parameters": [
{"name": "Glucose", "short_name": "GLU", "value": 96, "unit": "mg/dL", "range_min": 70, "range_max": 100},
{"name": "HbA1c", "short_name": "HbA1c", "value": 5.6, "unit": "%", "range_min": 4.0, "range_max": 5.6},
{"name": "Cholesterol", "short_name": "CHOL", "value": 192, "unit": "mg/dL", "range_min": 0, "range_max": 200},
{"name": "LDL Cholesterol", "short_name": "LDL", "value": 108, "unit": "mg/dL", "range_min": 0, "range_max": 100},
{"name": "HDL Cholesterol", "short_name": "HDL", "value": 54, "unit": "mg/dL", "range_min": 40, "range_max": 60}
]
},
{
"lab_date": "2024-12-18",
"parameters": [
{"name": "Glucose", "short_name": "GLU", "value": 89, "unit": "mg/dL", "range_min": 70, "range_max": 100},
{"name": "HbA1c", "short_name": "HbA1c", "value": 5.3, "unit": "%", "range_min": 4.0, "range_max": 5.6},
{"name": "Cholesterol", "short_name": "CHOL", "value": 178, "unit": "mg/dL", "range_min": 0, "range_max": 200},
{"name": "LDL Cholesterol", "short_name": "LDL", "value": 92, "unit": "mg/dL", "range_min": 0, "range_max": 100},
{"name": "HDL Cholesterol", "short_name": "HDL", "value": 58, "unit": "mg/dL", "range_min": 40, "range_max": 60}
]
}
]
}'
Python-Beispiel
import requests
from typing import List, Dict, Optional
def trends_analysieren(
benutzername: str,
passwort: str,
bluttests: List[Dict],
sprache: str = "de",
analyse_typ: str = "comprehensive"
) -> Dict:
"""
Analysiert Bluttesttrends über die Zeit.
Args:
benutzername: API-Benutzername
passwort: API-Passwort
bluttests: Liste von Bluttestobjekten mit lab_date und parameters
sprache: Antwortsprachcode
analyse_typ: comprehensive, quick oder focused
Returns:
dict: Trendanalyseergebnisse
"""
url = "https://app.aibloodtestinterpret.com/api/v1/analytics/trends/analyze"
nutzlast = {
"username": benutzername,
"password": passwort,
"language": sprache,
"analysis_type": analyse_typ,
"blood_tests": bluttests
}
antwort = requests.post(url, json=nutzlast, timeout=120)
antwort.raise_for_status()
return antwort.json()
# Anwendungsbeispiel
if __name__ == "__main__":
bluttests = [
{
"lab_date": "2025-01-15",
"parameters": [
{"short_name": "HGB", "result": 12.5, "unit": "g/dL"},
{"short_name": "CHOL", "result": 220, "unit": "mg/dL"}
]
},
{
"lab_date": "2025-06-15",
"parameters": [
{"short_name": "HGB", "result": 13.2, "unit": "g/dL"},
{"short_name": "CHOL", "result": 195, "unit": "mg/dL"}
]
},
{
"lab_date": "2025-12-01",
"parameters": [
{"short_name": "HGB", "result": 14.1, "unit": "g/dL"},
{"short_name": "CHOL", "result": 180, "unit": "mg/dL"}
]
}
]
ergebnis = trends_analysieren(
benutzername="ihr_benutzername",
passwort="ihr_passwort",
bluttests=bluttests
)
print(f"Gesamttrend: {ergebnis['data']['overall_trend']}")
for trend in ergebnis['data']['parameter_trends']:
print(f"{trend['parameter']}: {trend['direction']} ({trend['change_percent']}%)")
Antwortfelder-Referenz
| Feld | Typ | Beschreibung |
|---|---|---|
analysis_id | string | Eindeutige Kennung für diese Analyse (Format: TRD-XXXXXXXX) |
analysis_period | object | Zeitraumdetails: start_date, end_date, span_months, total_tests |
categories | array | Liste der gefundenen Parameterkategorien (z.B. "Lipid Panel", "Complete Blood Count") |
chart_config | object | Diagramm-Daten: dates, raw_dates, simple_dates für Visualisierung |
overall_health_trend | object | Zusammenfassung, health_risks Array und Empfehlungen |
parameter_trends | array | Detaillierte Analyse pro Parameter mit Statistiken |
risk_factors | array | Identifizierte Gesundheitsrisikofaktoren |
parameter_trends Objektstruktur
| Feld | Typ | Beschreibung |
|---|---|---|
parameter | string | Standardisierter Parametername |
short_name | string | Abgekürzter Parametername |
category | string | Parameterkategorie (z.B. "Lipid Panel") |
unit | string | Messeinheit |
trend_data | array | Array von {date, value} Objekten für Diagramme |
statistical_analysis | object | average, min, max, standard_deviation, trend_direction, trend_strength |
analysis | object | KI-Interpretation: description, significant_variations, trend |
interpretation | string | Menschenlesbare Parameterbeschreibung |
Beispielantwort
{
"api_version": "1.0.0",
"status": "success",
"message": "Trendanalyse erfolgreich abgeschlossen",
"timestamp": "2025-12-22T01:12:49.262700Z",
"data": {
"analysis_id": "TRD-49B4C616",
"analysis_period": {
"start_date": "2024-01-15",
"end_date": "2024-12-18",
"span_months": 11,
"total_tests": 4
},
"categories": [
"Stoffwechsel-Panel",
"Vitamine",
"Diabetes-Marker",
"Eisenstudien",
"Lipid-Panel",
"Großes Blutbild"
],
"chart_config": {
"dates": ["Jan 2024", "Mai 2024", "Sep 2024", "Dez 2024"],
"raw_dates": ["2024-01-15", "2024-05-20", "2024-09-10", "2024-12-18"]
},
"language": "de",
"overall_health_trend": {
"summary": "Insgesamt zeigen die Bluttestparameter positive Trends mit Verbesserungen bei Hämoglobin, Lipidprofil einschließlich LDL- und HDL-Cholesterin, Vitamin-D-Status und Eisenspeichern.",
"health_risks": [],
"recommendations": []
},
"parameter_trends": [
{
"parameter": "Hämoglobin (Hb)",
"short_name": "Hämoglobin",
"category": "Großes Blutbild",
"unit": "g/dL",
"trend_data": [
{"date": "2024-01-15", "value": 12.8},
{"date": "2024-05-20", "value": 13.5},
{"date": "2024-09-10", "value": 14.2},
{"date": "2024-12-18", "value": 14.8}
],
"statistical_analysis": {
"average": 13.82,
"min": 12.8,
"max": 14.8,
"standard_deviation": 0.87,
"trend_direction": "aufwärts",
"trend_strength": "moderat"
},
"analysis": {
"description": "Hämoglobin misst das sauerstofftransportierende Protein in roten Blutkörperchen.",
"significant_variations": "Anfänglich niedrig bei 12,8 g/dL, dann schrittweise auf 14,8 g/dL gestiegen.",
"trend": "steigend"
}
},
{
"parameter": "LDL-Cholesterin (LDL-C)",
"short_name": "LDL-Cholesterin",
"category": "Lipid-Panel",
"unit": "mg/dL",
"trend_data": [
{"date": "2024-01-15", "value": 110.0},
{"date": "2024-05-20", "value": 102.0},
{"date": "2024-09-10", "value": 92.0},
{"date": "2024-12-18", "value": 85.0}
],
"statistical_analysis": {
"average": 97.25,
"min": 85.0,
"max": 110.0,
"standard_deviation": 11.0,
"trend_direction": "abwärts",
"trend_strength": "stark"
},
"analysis": {
"description": "LDL-C ist das 'schlechte' Cholesterin, das mit erhöhtem Herzkrankheitsrisiko verbunden ist.",
"significant_variations": "LDL-C sank von hoch (110 mg/dL) auf normal (85 mg/dL).",
"trend": "sinkend"
}
}
],
"risk_factors": [],
"sandbox_mode": false
}
}
Antwortfelder verwenden standardisierte Werte: trend_direction (siehe Werte), trend_strength (siehe Werte).
Ernährungs-KI mit Nahrungsergänzungsmitteln
Erstellen Sie personalisierte Ernährungspläne, Diätempfehlungen und Nahrungsergänzungsmittelvorschläge basierend auf der Bluttestanalyse mit fortschrittlichen KI-Algorithmen.
Erstellt umfassende Ernährungs- und Nahrungsergänzungsmittelempfehlungen basierend auf Bluttestparametern und Patientenprofil.
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
username | string | Ja | Ihr API-Benutzername |
password | string | Ja | Ihr API-Passwort |
language | string | Nein | Antwortsprache (Standard: en). Siehe unterstützte Sprachen. |
patient | object | Ja | Patientendemografie und Gesundheitsinformationen |
blood_test | object | Ja | Bluttestparameter |
health_goals | array | Nein | Spezifische Gesundheitsziele |
dietary_restrictions | array | Nein | Allergien, Unverträglichkeiten, Präferenzen |
Patientenobjekt-Schema
Patienten-Demografieobjekt mit gender (siehe Werte) und activity_level (siehe Werte).
| Feld | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
age | integer | Ja | - | Patientenalter in Jahren (18-120) |
gender | string | Ja | - | Patientengeschlecht. Siehe Werte |
weight | number | Nein | null | Gewicht in kg (für Kalorienberechnungen) |
height | number | Nein | null | Größe in cm (für BMI-Berechnungen) |
conditions | array | Nein | [] | Erkrankungen (z.B. ["diabetes", "hypertension"]) |
allergies | array | Nein | [] | Lebensmittel-/Nahrungsergänzungsmittelallergien |
dietary_preferences | array | Nein | [] | Ernährungspräferenzen. Siehe Werte |
activity_level | string | Nein | "moderate" | Aktivitätsniveau. Siehe Werte |
dietary_restrictions | array | Nein | [] | Ernährungseinschränkungen. Siehe Werte |
liked_foods | array | Nein | [] | Bevorzugte Lebensmittel |
disliked_foods | array | Nein | [] | Abgelehnte Lebensmittel |
meal_frequency | integer | Nein | 3 | Bevorzugte Mahlzeiten pro Tag (2-6) |
budget | string | Nein | "moderate" | Budgetniveau. Siehe Werte |
medications | array | Nein | [] | Aktuelle Medikamente für Interaktionsprüfungen |
{
"age": 45,
"gender": "male",
"weight": 82,
"height": 178,
"activity_level": "moderate",
"medical_conditions": ["hypertension"],
"current_medications": ["lisinopril"],
"allergies": ["shellfish"]
}
Python-Beispiel
import requests
from typing import Dict, List, Optional
def ernaehrungsplan_erstellen(
benutzername: str,
passwort: str,
patient: Dict,
bluttest: Dict,
gesundheitsziele: Optional[List[str]] = None,
ernaehrungseinschraenkungen: Optional[List[str]] = None,
sprache: str = "de"
) -> Dict:
"""
Erstellt personalisierte Ernährungs- und Nahrungsergänzungsmittelempfehlungen.
Args:
benutzername: API-Benutzername
passwort: API-Passwort
patient: Patientendemografie und Gesundheitsinformationen
bluttest: Bluttestparameter
gesundheitsziele: Optionale Gesundheitsziele
ernaehrungseinschraenkungen: Optionale Ernährungseinschränkungen
sprache: Antwortsprache
Returns:
dict: Ernährungsplan mit Nahrungsergänzungsmitteln
"""
url = "https://app.aibloodtestinterpret.com/api/v1/nutrition/diet-plan/analyze"
nutzlast = {
"username": benutzername,
"password": passwort,
"language": sprache,
"patient": patient,
"blood_test": bluttest
}
if gesundheitsziele:
nutzlast["health_goals"] = gesundheitsziele
if ernaehrungseinschraenkungen:
nutzlast["dietary_restrictions"] = ernaehrungseinschraenkungen
antwort = requests.post(url, json=nutzlast, timeout=120)
antwort.raise_for_status()
return antwort.json()
# Anwendungsbeispiel
if __name__ == "__main__":
patient = {
"age": 45,
"gender": "male",
"weight": 82,
"height": 178,
"activity_level": "moderate",
"medical_conditions": ["hypertension"],
"allergies": ["shellfish"]
}
bluttest = {
"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"}
]
}
ergebnis = ernaehrungsplan_erstellen(
benutzername="ihr_benutzername",
passwort="ihr_passwort",
patient=patient,
bluttest=bluttest,
gesundheitsziele=["lower_cholesterol", "increase_energy"]
)
# Nahrungsergänzungsmittelempfehlungen ausgeben
for supp in ergebnis['data']['supplements']:
print(f"{supp['name']}: {supp['dosage']} - {supp['reason']}")
Beispielantwort
{
"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": "Haferflocken mit Beeren und Walnüssen",
"calories": 420,
"nutrients": ["Ballaststoffe", "Omega-3", "Antioxidantien"]
},
"lunch": {
"description": "Gegrillter Lachs-Salat mit Olivenöl-Dressing",
"calories": 550,
"nutrients": ["Omega-3", "Protein", "Vitamin D"]
},
"dinner": {
"description": "Mageres Hähnchen mit Quinoa und gedämpftem Gemüse",
"calories": 580,
"nutrients": ["Protein", "Eisen", "Ballaststoffe"]
}
}
},
"supplements": [
{
"name": "Vitamin D3",
"dosage": "2000 IE täglich",
"reason": "Blutspiegel bei 18 ng/mL deutet auf Mangel hin (optimal: 30-50 ng/mL)",
"priority": "hoch",
"timing": "Mit Frühstück (fetthaltige Mahlzeit)",
"duration": "3-6 Monate, dann erneut testen"
},
{
"name": "Omega-3 Fischöl",
"dosage": "1000mg EPA+DHA täglich",
"reason": "Unterstützt Cholesterinoptimierung und Herz-Kreislauf-Gesundheit",
"priority": "mittel",
"timing": "Mit Mahlzeiten"
}
],
"dietary_recommendations": [
{
"category": "erhöhen",
"foods": ["Fetter Fisch", "Blattgemüse", "Nüsse", "Olivenöl"],
"reason": "Unterstützt Vitamin-D-Spiegel und Herz-Kreislauf-Gesundheit"
},
{
"category": "reduzieren",
"foods": ["Verarbeitete Lebensmittel", "Rotes Fleisch", "Gesättigte Fette"],
"reason": "Hilft LDL-Cholesterin zu senken"
}
]
},
"api_version": "v1",
"timestamp": "2025-12-22T10:30:00Z"
}
Antwortfelder-Referenz
nutrition_plan.educational_insights Objekt
| Feld | Typ | Beschreibung |
|---|---|---|
blood_marker_education | array | Bildungsinhalte über Blutmarker und ihre Bedeutung |
nutrition_principles | array | Anwendbare Ernährungsprinzipien basierend auf der Analyse |
blood_marker_education Array-Element
| Feld | Typ | Beschreibung |
|---|---|---|
marker | string | Markername mit Status (z.B. "Ferritin (Niedrig)", "Vitamin D (Mangel)") |
explanation | string | Detaillierte Erklärung des Markers |
normal_range | string | Referenzbereich (geschlechtsspezifisch falls zutreffend) |
food_recommendations.power_foods Array-Element
| Feld | Typ | Beschreibung |
|---|---|---|
food | string | Lebensmittelname (z.B. "Lachs", "Spinat") |
nutrients | array | Liste wichtiger Nährstoffe (z.B. ["Omega-3", "Vitamin D", "Protein"]) |
serving | string | Empfohlene Portionsgröße/Häufigkeit (z.B. "100g, 3x pro Woche") |
why | string | Warum dieses Lebensmittel basierend auf Blutmarkern empfohlen wird |
supplement_recommendations Array-Element
| Feld | Typ | Beschreibung |
|---|---|---|
supplement | string | Name des Nahrungsergänzungsmittels (z.B. "Vitamin D3", "Eisenbisglycinat") |
dosage | string | Empfohlene Dosierung (z.B. "2000 IE täglich", "25mg zweimal täglich") |
timing | string | Wann einzunehmen (z.B. "Mit Frühstück", "Auf nüchternen Magen") |
duration | string | Wie lange einzunehmen (z.B. "3 Monate, dann erneut testen", "Fortlaufend") |
reason | string | Warum empfohlen basierend auf Blutmarkern und Gesundheitszielen |
Vollständiges cURL-Beispiel mit Antwort
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": "de",
"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"}
]
},
"health_goals": ["increase_energy", "improve_iron_levels"]
}'
Antwort:
{
"status": "success",
"data": {
"nutrition_plan": {
"daily_calories": 1850,
"educational_insights": {
"blood_marker_education": [
{
"marker": "Ferritin (Niedrig)",
"explanation": "Ferritin ist die Speicherform von Eisen in Ihrem Körper. Niedrige Werte deuten auf erschöpfte Eisenspeicher hin.",
"normal_range": "Frauen: 20-200 ng/mL (optimal: 50-150 ng/mL)"
},
{
"marker": "Vitamin D (Unzureichend)",
"explanation": "Vitamin D ist essentiell für Kalziumaufnahme, Immunfunktion und Energie.",
"normal_range": "30-100 ng/mL (optimal: 40-60 ng/mL)"
}
],
"nutrition_principles": [
"Eisenreiche Lebensmittel mit Vitamin-C-Quellen kombinieren",
"Kalziumreiche Lebensmittel und Tee/Kaffee 2 Stunden von eisenreichen Mahlzeiten fernhalten"
]
},
"food_recommendations": {
"power_foods": [
{
"food": "Wildlachs",
"nutrients": ["Vitamin D", "Omega-3", "Protein", "B12"],
"serving": "150g, 2-3x pro Woche",
"why": "Ausgezeichnete Vitamin-D-Quelle plus Omega-3 für Entzündungsreduzierung"
},
{
"food": "Spinat mit Zitrone",
"nutrients": ["Nicht-Häm-Eisen", "Folat", "Vitamin C"],
"serving": "100g gekocht, täglich",
"why": "Eisen plus Vitamin-C-Kombination maximiert die Eisenaufnahme"
}
]
}
},
"supplement_recommendations": [
{
"supplement": "Eisenbisglycinat",
"dosage": "25mg elementares Eisen",
"timing": "Mit Vitamin C auf nüchternen Magen einnehmen",
"duration": "3-6 Monate, Ferritin nach 3 Monaten erneut testen",
"reason": "Ferritin bei 12 ng/mL erfordert Supplementierung",
"priority": "hoch"
},
{
"supplement": "Vitamin D3",
"dosage": "2000-4000 IE täglich",
"timing": "Mit Frühstück (fetthaltige Mahlzeit) für Absorption",
"duration": "Fortlaufend, in 3 Monaten erneut testen",
"reason": "Wert von 22 ng/mL ist unzureichend; Ziel ist 40-60 ng/mL",
"priority": "hoch"
}
]
},
"api_version": "v1",
"timestamp": "2025-12-20T14:45:22Z"
}
Bluttestvergleich-API
Vergleichen Sie mehrere Bluttests, um Veränderungen, Verbesserungen und Bereiche zu identifizieren, die Aufmerksamkeit erfordern, mit KI-gestützter Analyse. Erhalten Sie vollständige KI-narrative Zusammenfassungen, die erklären, was sich zwischen Tests geändert hat.
Analysiert 2-20 Bluttests und liefert einen detaillierten Vergleich mit KI-generierten narrativen Erkenntnissen.
- Mindestens 2 Bluttests erforderlich
- Maximal 20 Bluttests pro Anfrage
- Jeder Test muss
lab_dateoderresults_dateenthalten - Mindestens ein gemeinsamer Parameter über alle Tests
Anfrageparameter
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
username | string | Ja | - | Ihr API-Benutzername |
password | string | Ja | - | Ihr API-Passwort |
language | string | Nein | en | Antwortsprache. Siehe unterstützte Sprachen |
blood_tests | array | Ja | - | Array von Bluttestobjekten (2-20 Tests) |
blood_tests Array-Struktur
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
lab_date | string | Ja* | Testdatum im YYYY-MM-DD Format |
results_date | string | Ja* | Alternative zu lab_date (YYYY-MM-DD) |
parameters | array | Ja | Array von Bluttestparametern |
metadata | object | Nein | Zusätzliche Metadaten (lab_name, notes, etc.) |
*Entweder lab_date oder results_date ist für jeden Bluttest erforderlich.
Python-Beispiel
import requests
from typing import Dict, List
def bluttests_vergleichen(
benutzername: str,
passwort: str,
bluttests: List[Dict],
sprache: str = "de"
) -> Dict:
"""
Vergleicht mehrere Bluttests für Trendanalyse.
Args:
benutzername: API-Benutzername
passwort: API-Passwort
bluttests: Liste von Bluttestobjekten (2-20 Tests)
sprache: Antwortsprache
Returns:
dict: Vergleichsergebnisse mit KI-narrativen Erkenntnissen
"""
url = "https://app.aibloodtestinterpret.com/api/v1/bloodtest/comparison/analyze"
if len(bluttests) < 2:
raise ValueError("Mindestens 2 Bluttests erforderlich")
if len(bluttests) > 20:
raise ValueError("Maximal 20 Bluttests erlaubt")
nutzlast = {
"username": benutzername,
"password": passwort,
"language": sprache,
"blood_tests": bluttests
}
antwort = requests.post(url, json=nutzlast, timeout=120)
antwort.raise_for_status()
return antwort.json()
# Anwendungsbeispiel
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"}
]
}
]
ergebnis = bluttests_vergleichen("ihr_benutzername", "ihr_passwort", tests)
print(f"Gesamttrend: {ergebnis['data']['comparison_summary']['overall_trend']}")
for param in ergebnis['data']['parameter_analysis']:
print(f"{param['parameter_name']}: {param['trend_assessment']}")
Antwortfelder-Referenz
| Feld | Typ | Beschreibung |
|---|---|---|
comparison_id | string | Eindeutige Kennung für diesen Vergleich (Format: CMP-XXXXXXXX) |
comparison_summary | object | Übersicht: key_findings, overall_trend, Berichtsdaten, time_interval |
parameter_analysis | array | Detaillierte Analyse pro Parameter mit Änderungstyp und klinischer Bedeutung |
health_assessment | object | Besorgnisbereiche, Verbesserungen, positive Entwicklungen, Risikofaktoren |
recommendations | object | Folgeuntersuchungen, sofortige Maßnahmen, Lebensstiländerungen, Fachärztüberweisungen |
detailed_interpretation | object | KI-narrative Abschnitte mit Zusammenfassung und klinischen Empfehlungen |
parameter_analysis Objektstruktur
| Feld | Typ | Beschreibung |
|---|---|---|
parameter_name | string | Parametername |
report1_value | string | Wert aus erstem Bericht mit Einheit |
report2_value | string | Wert aus zweitem Bericht mit Einheit |
change_type | string | increased, decreased oder stable |
change_magnitude | string | significant, moderate oder minor |
clinical_significance | string | KI-Erklärung der Bedeutung der Änderung |
trend_assessment | string | positive, negative oder neutral |
Beispielantwort
{
"api_version": "1.0.0",
"status": "success",
"message": "Bluttestvergleich erfolgreich abgeschlossen",
"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": "verbessert",
"report1_date": "2024-06-15",
"report2_date": "2024-12-15",
"time_interval": "183 Tage zwischen Berichten",
"key_findings": [
"Hämoglobin- und RBC-Werte normalisiert, was auf Behebung der Anämie hinweist",
"Glukose und HbA1c verbessert auf Normalbereich",
"Lipidprofil verbessert mit normalisierten Cholesterinwerten"
]
},
"parameter_analysis": [
{
"parameter_name": "Hämoglobin",
"report1_value": "12,2 g/dL",
"report2_value": "14,5 g/dL",
"change_type": "increased",
"change_magnitude": "significant",
"clinical_significance": "Verbesserung von Anämie zu normalen Hämoglobinwerten",
"trend_assessment": "positive"
},
{
"parameter_name": "LDL-Cholesterin",
"report1_value": "155 mg/dL",
"report2_value": "98 mg/dL",
"change_type": "decreased",
"change_magnitude": "significant",
"clinical_significance": "LDL nahe optimalem Bereich, reduziert Atheroskleroserisiko",
"trend_assessment": "positive"
}
],
"health_assessment": {
"overall_health_trend": "verbessert",
"areas_of_improvement": [
"Anämiekorrektur",
"Glykämische Kontrolle",
"Lipidprofil-Normalisierung"
],
"areas_of_concern": [],
"positive_developments": [
"Behebung der Anämie",
"Normale Glukose und HbA1c",
"Verbessertes kardiovaskuläres Risikoprofil"
]
},
"recommendations": {
"immediate_actions": [
"Aktuelle Supplementierung für Eisen und Vitamin D fortsetzen"
],
"follow_up_tests": [
"Blutbild und Eisenstudien in 3 Monaten wiederholen",
"Nüchternglukose und HbA1c vierteljährlich überwachen"
],
"lifestyle_modifications": [
"Herzgesunde Ernährung mit wenig gesättigten Fetten"
],
"monitoring_frequency": "3 Monate"
},
"summary": {
"improved_parameters": 13,
"stable_parameters": 0,
"worsened_parameters": 0,
"overall_trend": "verbessert"
},
"sandbox_mode": false
}
}
Antwortfelder verwenden standardisierte Werte: overall_trend und trend_assessment (siehe Trendbewertung), change_type (increased, decreased, stable).
Schlüsselwort-Referenz
Vollständige Referenz für alle Eingabeschlüsselwerte, die in Kantesti API-Endpunkten verwendet werden. Verwenden Sie diese exakten Werte bei API-Anfragen.
analysis_type Trendanalyse-API
Gibt den Typ der durchzuführenden Trendanalyse an.
| Wert | Standard | Beschreibung |
|---|---|---|
comprehensive | ✓ | Vollständige Analyse mit Statistiken, Diagrammen und KI-Interpretation |
statistical | Nur statistische Analyse | |
summary | Nur Zusammenfassung auf hoher Ebene |
health_goals Ernährungs-API
Gesundheitsziele für personalisierte Ernährungsempfehlungen. Mehrere Werte können als Array bereitgestellt werden.
| Wert | Beschreibung |
|---|---|
maintain | Aktuelle Gesundheit beibehalten (Standard) |
improve_energy | Fokus auf Energieniveau |
weight_management | Gesundes Gewichtsmanagement |
heart_health | Kardiovaskuläre Gesundheit |
immune_support | Unterstützung des Immunsystems |
digestive_health | Verdauungsgesundheit |
bone_health | Knochengesundheit |
mental_clarity | Kognitive Funktion |
dietary_restrictions Ernährungs-API
Ernährungseinschränkungen und Allergien. Mehrere Werte können als Array bereitgestellt werden. Freitext wird auch für benutzerdefinierte Einschränkungen akzeptiert.
| Wert | Beschreibung |
|---|---|
low_sodium | Reduzierte Natriumaufnahme |
low_sugar | Reduzierte Zuckeraufnahme |
low_fat | Reduzierte Fettaufnahme |
gluten_free | Kein Gluten |
dairy_free | Keine Milchprodukte |
nut_free | Keine Nüsse |
soy_free | Kein Soja |
egg_free | Keine Eier |
halal | Halal-konform |
kosher | Koscher-konform |
Freitext wird auch für benutzerdefinierte Ernährungseinschränkungen akzeptiert, die oben nicht aufgeführt sind.
dietary_preferences Ernährungs-API
Ernährungslebensstil-Präferenzen für die Mahlzeitenplanung.
| Wert | Beschreibung |
|---|---|
omnivore | Keine Einschränkungen (Standard) |
vegetarian | Kein Fleisch |
vegan | Keine tierischen Produkte |
pescatarian | Vegetarisch + Fisch |
keto | Ketogene Ernährung |
paleo | Paläolithische Ernährung |
mediterranean | Mediterrane Ernährung |
activity_level Ernährungs-API
Körperliches Aktivitätsniveau für Kalorien- und Nährstoffberechnungen.
| Wert | Beschreibung |
|---|---|
sedentary | Wenig oder keine Bewegung |
light | Leichte Bewegung 1-3 Tage/Woche |
moderate | Moderate Bewegung 3-5 Tage/Woche (Standard) |
active | Intensive Bewegung 6-7 Tage/Woche |
very_active | Sehr intensive Bewegung oder körperlicher Beruf |
budget Ernährungs-API
Budgetniveau für Lebensmittel- und Nahrungsergänzungsmittelempfehlungen.
| Wert | Beschreibung |
|---|---|
low | Budgetbewusste Optionen |
moderate | Ausgewogene Optionen (Standard) |
high | Premium-Optionen |
gender Alle APIs
Patientengeschlecht für personalisierte Referenzbereiche und Empfehlungen.
| Wert | Beschreibung |
|---|---|
male | Männlicher Patient |
female | Weiblicher Patient |
other | Andere oder nicht angegeben |
Ausgabe-Schlüsselwörter
Die folgenden Schlüsselwörter erscheinen in API-Antworten. Das Verständnis dieser Werte hilft Ihnen, Ergebnisse korrekt zu interpretieren und anzuzeigen.
evaluation Bluttest- & Vergleichs-APIs
Parameterbewertungsstatus, der angibt, wie das Ergebnis im Vergleich zu Referenzbereichen steht.
| Wert | Beschreibung |
|---|---|
normal | Innerhalb des normalen Referenzbereichs |
low | Unter dem Normalbereich |
high | Über dem Normalbereich |
critical_low | Kritisch niedrig (sofortige Aufmerksamkeit erforderlich) |
critical_high | Kritisch hoch (sofortige Aufmerksamkeit erforderlich) |
borderline_low | Leicht unter dem Normalbereich |
borderline_high | Leicht über dem Normalbereich |
trend_assessment Vergleichs- & Trend-APIs
Gesamtbewertung der Parametertrends zwischen Tests.
| Wert | Beschreibung |
|---|---|
positive | Verbessert (bewegt sich zum Normalbereich) |
negative | Verschlechtert (entfernt sich vom Normalbereich) |
stable | Relativ unverändert zwischen Tests |
improving | Allgemeiner Verbesserungstrend |
worsening | Allgemeiner Verschlechterungstrend |
trend_direction Trendanalyse-API
Richtung der Parameterwertänderungen über die Zeit.
| Wert | Beschreibung |
|---|---|
upward | Werte steigen über die Zeit |
downward | Werte sinken über die Zeit |
stable | Minimale Änderung über die Zeit |
trend_strength Trendanalyse-API
Stärke des beobachteten Trends.
| Wert | Beschreibung |
|---|---|
strong | >15% Änderung zwischen Perioden |
moderate | 5-15% Änderung zwischen Perioden |
mild | <5% Änderung zwischen Perioden |
health_score / score_interpretation Gesundheitswert-API
Gesamtinterpretation des Gesundheitswertes basierend auf analysierten Parametern.
| Wert | Beschreibung |
|---|---|
excellent | Alle Marker im optimalen Bereich |
good | Die meisten Marker im Normalbereich |
fair | Einige Marker erfordern Aufmerksamkeit |
poor | Mehrere Marker erfordern Aufmerksamkeit |
Hilfs-Endpunkte
Gibt API-Plattforminformationen, verfügbare Versionen und unterstützte Funktionen zurück. Keine Authentifizierung erforderlich.
Beispielantwort
{
"platform": "Kantesti Bluttest-Analyse-API",
"versions": ["v6", "v8", "v9", "v10", "v11"],
"latest_version": "v11",
"supported_languages": 100,
"documentation": "https://www.kantesti.net/docs/",
"status": "operational"
}
Gesundheitsprüfungs-Endpunkt für Überwachung. Gibt Servicestatus zurück. Keine Authentifizierung erforderlich.
Beispielantwort
{
"status": "healthy",
"timestamp": "2025-12-22T10:30:00Z",
"uptime": "99.99%"
}
Überprüfen Sie Ihr verbleibendes API-Kontingent. Erfordert Authentifizierung.
cURL-Beispiel
curl -X POST "https://app.aibloodtestinterpret.com/api/quota/check" \
-H "Content-Type: application/json" \
-d '{"username": "IHR_BENUTZERNAME", "password": "IHR_PASSWORT"}'
Beispielantwort
{
"status": "success",
"quota": {
"remaining": 847,
"total": 1000,
"reset_date": "2026-01-01",
"plan": "professional"
}
}
Family Health Risikobewertung API
Die Kantesti Family Health Risikobewertung API ist eine KI-gestützte Plattform zur Analyse hereditärer Gesundheitsrisiken. Sie erstellt umfassende Familiengesundheitsberichte durch Analyse der familiären Krankengeschichte, Gesundheitsprofile der Patienten und Bluttestdaten zur Identifizierung erblicher Risikofaktoren und personalisierten Vorsorgeempfehlungen.
KI-gestützte hereditäre Risikoanalyse
Die Family Health API verwendet fortschrittliche KI-Modelle, um die familiäre Krankengeschichte mit Bluttestdaten des Patienten abzugleichen und erbliche Risikomuster in den Bereichen Herz-Kreislauf, Stoffwechsel, Krebs, Neurologie, Atemwege, Autoimmun, Genetik, psychische Gesundheit und Nieren/Leber zu identifizieren. Berichte umfassen Risikobewertung, präventive Vorsorgepläne, genetische Screening-Empfehlungen und Lifestyle-Ratschläge — alles lokalisiert in über 100 Sprachen.
- Hereditäre Risikoanalyse — Klassifizierung in hohes, mittleres und niedriges Risiko mit detaillierter Bewertung
- Stammbaum-Analyse — Risikokartierung der väterlichen und mütterlichen Linie mit kombinierten Risikofaktoren
- Bluttest-Korrelation — Abgleich der Familiengeschichte mit Bluttestparametern
- Genetische Screening-Empfehlungen — Personalisierte Vorschläge für Gentests
- Präventiver Vorsorgeplan — Altersgerechte Screening-Pläne basierend auf Familienrisiko
- Medikamentenanalyse — Bewertung von Wechselwirkungen und erblichen Empfindlichkeiten
- 100+ Sprachunterstützung — Vollständige Berichtslokalisierung in über 100 Sprachen
- Sandbox-Modus — Integration testen ohne Credits zu verbrauchen
- 9 Erkrankungskategorien — Herz-Kreislauf, Stoffwechsel, Krebs, Neurologie, Atemwege, Autoimmun, Genetik, Psychische Gesundheit, Niere/Leber
- 14 Familienbeziehungen — Vater, Mutter, Geschwister, Großeltern, Onkel, Tanten, Kinder
Endpunkte-Übersicht
| Endpunkt | Methode | Beschreibung | Auth |
|---|---|---|---|
/api/v1/family-health/analyze |
POST | Umfassenden Familiengesundheits-Risikobewertungsbericht erstellen | Erforderlich (1 Credit) |
/api/v1/family-health/validate |
POST | Anfragedaten vor der Analyse validieren (kein Kontingentverbrauch) | Erforderlich (Kostenlos) |
/api/v1/family-health/supported-languages |
GET | Alle 100+ unterstützten Sprachen auflisten | Nicht erforderlich |
/api/v1/family-health/condition-categories |
GET | Alle medizinischen Erkrankungskategorien auflisten | Nicht erforderlich |
/api/v1/family-health/family-relations |
GET | Alle unterstützten Familienbeziehungstypen auflisten | Nicht erforderlich |
/api/v1/family-health/sandbox/analyze |
POST | Sandbox-Test mit Beispieldaten (kein Kontingentverbrauch) | Erforderlich (Kostenlos) |
Erstellen Sie einen umfassenden KI-gestützten Familiengesundheits-Risikobewertungsbericht. Analysiert die familiäre Krankengeschichte, Gesundheitsprofile und Bluttestdaten zur Identifizierung erblicher Risikofaktoren mit personalisierten Vorsorgeempfehlungen.
Anfrageparameter (JSON Body)
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
username | string | Ja | Ihr API-Benutzername |
password | string | Ja | Ihr API-Passwort |
patient_data | object | Ja | Patienteninformationen (siehe unten) |
family_members | array | Ja* | Array von Familienmitglieder-Objekten (max. 100). *Erforderlich wenn health_profile fehlt |
health_profile | object | Ja* | Gesundheitsprofil des Patienten. *Erforderlich wenn family_members fehlt |
blood_test_data | array | Nein | Array von Bluttestdaten für Korrelationsanalyse |
language | string | Nein | Antwortsprache (Standard: en). 100+ Sprachen unterstützt |
patient_data Objekt
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
name | string | Nein | Vollständiger Name des Patienten |
age | integer | Ja | Alter des Patienten in Jahren |
gender | string | Ja | male, female oder other |
dob | string | Nein | Geburtsdatum (JJJJ-MM-TT) |
family_members Array-Element
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
relation | string | Ja | Beziehungstyp: father, mother, brother, sister, paternal_grandfather, paternal_grandmother, maternal_grandfather, maternal_grandmother, paternal_uncle, paternal_aunt, maternal_uncle, maternal_aunt, son, daughter |
age | integer | Nein | Alter des Familienmitglieds |
conditions | array | Nein | Array bekannter Erkrankungen (Strings) |
deceased | boolean | Nein | Ob das Familienmitglied verstorben ist |
age_at_death | integer | Nein | Alter beim Tod (falls verstorben) |
cause_of_death | string | Nein | Todesursache (falls verstorben) |
cURL Beispiel
curl -X POST "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze" \
-H "Content-Type: application/json" \
-d '{
"username": "IHR_BENUTZERNAME",
"password": "IHR_PASSWORT",
"patient_data": {
"name": "Anna Müller",
"age": 42,
"gender": "female"
},
"family_members": [
{"relation": "father", "age": 70, "conditions": ["hypertension", "type2_diabetes"]},
{"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
],
"language": "de"
}'
Python Beispiel
import requests
url = "https://app.aibloodtestinterpret.com/api/v1/family-health/analyze"
payload = {
"username": "IHR_BENUTZERNAME",
"password": "IHR_PASSWORT",
"patient_data": {"name": "Anna Müller", "age": 42, "gender": "female"},
"family_members": [
{"relation": "father", "age": 70, "conditions": ["hypertension", "type2_diabetes"]},
{"relation": "mother", "age": 67, "conditions": ["breast_cancer"]}
],
"language": "de"
}
response = requests.post(url, json=payload, timeout=120)
print(response.json())
Beispielantwort
{
"status": "success",
"data": {
"report_data": {
"report_title": "Familiengesundheits-Risikobewertungsbericht",
"executive_summary": "Basierend auf der Analyse der familiären Krankengeschichte...",
"hereditary_risk_analysis": {
"high_risk": [{"condition": "Herz-Kreislauf-Erkrankung", "risk_score": 75}],
"moderate_risk": [{"condition": "Typ-2-Diabetes", "risk_score": 60}],
"low_risk": []
},
"genetic_screening_recommendations": ["BRCA1/BRCA2 Gentest", "Kardiovaskuläres Genpanel"],
"preventive_care_timeline": [
{"age_range": "40-45", "screenings": ["Jährliche Mammographie", "Belastungs-EKG"]}
]
}
},
"message": "Familiengesundheits-Risikobewertung erfolgreich abgeschlossen",
"timestamp": "2026-03-23T10:30:00Z",
"api_version": "1.0.0"
}
Family Health API Fehlercodes
| Fehlercode | HTTP-Status | Beschreibung |
|---|---|---|
AUTH_1001 | 401 | Fehlende Authentifizierungsdaten |
AUTH_1002 | 401 | Ungültiger Benutzername oder Passwort |
QUOTA_1101 | 403 | Unzureichendes API-Kontingent |
VAL_2001 | 400 | Pflichtfeld fehlt |
VAL_2003 | 400 | Nicht unterstützter Sprachcode |
VAL_2006 | 400 | Array überschreitet maximale Größe (max. 100 Familienmitglieder) |
VAL_2007 | 400 | Ungültige Patientendatenstruktur |
PROC_3001 | 500 | Berichterstellung fehlgeschlagen |
PROC_3003 | 500 | KI-Verarbeitungsfehler |
SRV_5001 | 500 | Interner Serverfehler |
Family Health Sandbox-Endpunkt
Testen Sie Ihre Family Health API-Integration ohne Credits zu verbrauchen. Der Sandbox-Endpunkt liefert realistische Beispielberichtsdaten.
| API | Sandbox-Endpunkt | Beschreibung |
|---|---|---|
| Family Health Analyze | /api/v1/family-health/sandbox/analyze | Gibt Beispieldaten für Familiengesundheits-Risikobewertung zurück |
Referenz-Endpunkte (Keine Auth erforderlich)
Diese Endpunkte liefern Referenzdaten zum Aufbau Ihrer Integration. Keine Authentifizierung erforderlich.
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/api/v1/family-health/supported-languages |
GET | Gibt alle 100+ unterstützten Sprachcodes und Namen zurück |
/api/v1/family-health/condition-categories |
GET | Gibt alle 9 Erkrankungskategorien mit ihren Erkrankungen zurück |
/api/v1/family-health/family-relations |
GET | Gibt alle 14 unterstützten Familienbeziehungstypen zurück |
ICR - Intelligente Zeichenerkennung API
Die Kantesti ICR (Intelligente Zeichenerkennung) API ist eine fortschrittliche Dokumenten-Textextraktionstechnologie, die weit über herkömmliche OCR hinausgeht. Angetrieben von Kantestis proprietärer KI-Engine liefert ICR strukturierte JSON-Ausgaben aus jedem Dokumenttyp, einschließlich medizinischer Berichte, Rechnungen, Formulare und mehr.
Kantesti ICR vs. Herkömmliche OCR
In Benchmark-Tests zeigte Kantesti ICR eine 79% höhere Leistung im Vergleich zu herkömmlichen OCR-Lösungen. ICR versteht die Dokumentenstruktur, bewahrt Tabellenlayouts, extrahiert Metadaten und liefert sauberes strukturiertes JSON — während OCR nur rohen unstrukturierten Text liefert.
- Strukturierte JSON-Ausgabe — Tabellen, Abschnitte, Metadaten und Rohtext im sauberen JSON-Format
- Dokumenttyp-Erkennung — Erkennt automatisch medizinische Berichte, Rechnungen, Formulare, Briefe usw.
- Tabellenextraktion — Bewahrt Tabellenüberschriften und Zeilendaten mit vollständiger Struktur
- Multi-Format-Unterstützung — PDF, JPG, JPEG, PNG Dokumentenverarbeitung
- Bluttest-Integration (Kan) — Spezialisierter Endpunkt für Bluttestdokumenten-Extraktion
- Sandbox-Modus — Integration testen ohne Credits zu verbrauchen
- Kreditsystem — 0,5 Credits pro API-Aufruf
ICR Endpunkte-Übersicht
| Endpunkt | Methode | Beschreibung | Kosten |
|---|---|---|---|
/api/icr/v1/extract | POST | ICR-Textextraktion aus Dokumenten | 0,5 Credit |
/api/icr/v1/sandbox | POST | ICR-Sandbox-Test | Kostenlos |
/api/icr/v1/kan | POST | Bluttestdokumenten-Analyse | 0,5 Credit |
/api/icr/v1/kan/sandbox | POST | Bluttest-Sandbox-Test | Kostenlos |
/api/icr/info | GET | API-Dokumentation und Funktionen | Kostenlos |
/api/icr/health | GET | Gesundheitsprüfung-Endpunkt | Kostenlos |
/api/icr/v1/quota | POST | Verbleibende ICR-Credits prüfen | Kostenlos |
Extrahiert den gesamten Textinhalt aus hochgeladenen Dokumenten mit Kantesti ICR-Technologie. Gibt strukturiertes JSON mit Dokumenttyp-Erkennung, Tabellenextraktion, Abschnittsanalyse und Metadaten zurück.
Anfrageparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
username | string | Ja | Ihr API-Benutzername |
password | string | Ja | Ihr API-Passwort |
file | file | Ja | Dokumentdatei (PDF, JPG, JPEG, PNG) |
language | string | Nein | Ausgabesprache (Standard: en) |
cURL Beispiel
curl -X POST "https://app.aibloodtestinterpret.com/api/icr/v1/extract" \
-F "username=IHR_BENUTZERNAME" \
-F "password=IHR_PASSWORT" \
-F "language=de" \
-F "[email protected]"
Python Beispiel
import requests
def icr_extract(file_path: str, username: str, password: str, language: str = "de"):
"""
Text aus einem Dokument mit Kantesti ICR API extrahieren.
79% schneller und genauer als herkömmliche OCR.
"""
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()
# Beispielverwendung
result = icr_extract("medizinischer_bericht.pdf", "benutzername", "passwort", "de")
print(f"Dokumenttyp: {result['data']['document_type']}")
print(f"Seiten: {result['data']['page_count']}")
Beispielantwort
{
"status": "success",
"data": {
"document_type": "blood_test_report",
"page_count": 1,
"pages": [
{
"page_number": 1,
"content": {
"raw_text": "Universitätsklinikum Köln - Blutbild\n\nPatient: Max Mustermann\nGeb.: 15.03.1990\nGeschlecht: Männlich\nDatum: 10.01.2026",
"sections": [
{"type": "header", "content": "Universitätsklinikum Köln - Blutbild"},
{"type": "paragraph", "content": "Patient: Max Mustermann, Geb.: 15.03.1990, Männlich"}
],
"tables": [
{
"headers": ["Test", "Ergebnis", "Einheit", "Referenzbereich"],
"rows": [
["Glukose", "92", "mg/dL", "74 - 100"],
["ALT", "22", "U/L", "< 35"],
["Kreatinin", "0,9", "mg/dL", "0,7 - 1,2"],
["Leukozyten", "7,2", "10*9/L", "3,8 - 10"],
["Hämoglobin", "148", "g/L", "130 - 175"],
["Thrombozyten", "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 vs. OCR Leistungsvergleich
| Metrik | Kantesti ICR | Herkömmliche OCR | Verbesserung |
|---|---|---|---|
| Verarbeitungsgeschwindigkeit | 1,2s Durchschnitt | 5,7s Durchschnitt | 79% schneller |
| Textgenauigkeit | 99,7% | 92,1% | +7,6% |
| Tabellenerkennung | 98,9% | 71,2% | +27,7% |
| Strukturierte Ausgabe | JSON mit Abschnitten, Tabellen, Metadaten | Roher unstrukturierter Text | Volle Struktur |
| Dokumenttyp-Erkennung | Automatisch | Nicht verfügbar | KI-gesteuert |
| Mehrsprachige Unterstützung | 100+ Sprachen | 30-50 Sprachen | 2x+ Abdeckung |