Laborwerte (Ergebnisse) einer Bestellung abrufen
Dieser Endpoint liefert alle Laborwerte (Analyseergebnisse) für eine spezifische Bestellung eines Kunden. Die Ergebnisse beinhalten die gemessenen Werte, Referenzbereiche und Zielwerte.
Endpoint-Details
HTTP-Methode: GET
URL: /external/v1/customers/{customer_id}/orders/{order_id}/results
Authentifizierung: API-Schlüssel (erforderlich)
Parameter
URL-Parameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
customer_id | long | Ja | Die eindeutige ID des Kunden |
order_id | long | Ja | Die eindeutige ID der Bestellung |
Header
| Header | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
X-Api-Key | string | Ja | API-Schlüssel für die Authentifizierung |
Response
Erfolgreiche Response (200 OK)
{
"resultValues": [
{
"id": 200103,
"value": "24.00",
"name": "Eisen",
"unit": "µmol/l",
"targetRange": "7.00 - 26.00",
"ranges": {
"diffN2": 1,
"diffN1": 3,
"normMin": 7,
"normMax": 26,
"diffP1": 30,
"diffP2": 34
}
},
{
"id": 200132,
"value": "65.00",
"name": "Glomeruläre Filtrationsrate, eGFR",
"unit": "ml/mi",
"targetRange": "> 90.00",
"ranges": {
"diffN2": 120,
"diffN1": 90,
"normMin": 90,
"normMax": 0
}
},
{
"id": 200140,
"value": "0.83",
"name": "CRP hs",
"unit": "mg/l",
"targetRange": "< 2.00",
"ranges": {
"normMin": 0,
"normMax": 2,
"diffP1": 2
}
}
],
"success": true,
"errorMessage": null
}
Response bei warten auf Laborwerte (202 Accepted)
{
"resultValues": [],
"success": false,
"errorMessage": "LabAnalyses for Order with Id '67890' are not finished yet. Please check back later for the results."
}
Fehlerhafte Response (404 Not Found)
{
"resultValues": [],
"success": false,
"errorMessage": "Order with Id '99999' not found for Customer with Id '12345'"
}
Response-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
resultValues | array | Liste aller Laborwerte/Ergebnisse |
success | boolean | Gibt an, ob die Anfrage erfolgreich war |
errorMessage | string? | Fehlermeldung, falls ein Fehler aufgetreten ist (ansonsten null) |
ResultValue-Felder
| Feld | Typ | Beschreibung |
|---|---|---|
id | long | Eindeutige ID des Parameters/Laborwerts |
value | string? | Gemessener Wert (formatiert als String) |
name | string? | Name des Parameters (z.B. "Vitamin D3", "Eisen") |
unit | string? | Einheit des Werts (z.B. "ng/ml", "µg/l") |
targetRange | string? | Zielbereich als formatierter String (z.B. "30 - 100") |
ranges | object? | Detaillierte Referenzbereiche für farbliche Bewertung |
EntryRanges-Felder (ranges)
Die Referenzbereiche definieren verschiedene Zonen für die farbliche Bewertung der Laborwerte.
Dabei sind die Werte von diffN2 bis diffP2 optional und können je nach Parameter unterschiedlich definiert sein.
normMin und normMax sind immer definiert und geben den Normalbereich an.
Für die Anzeige von (z.B. 7.00 - 26.00 oder < 2.00), sind die Werte diffN2 bis diffP2 aufsteigend.
Falls der Zielbereich über einem bestimmten Grenzwert liegt (z.B. > 90.00), sind die Werte von diffN2 bis diffP2 absteigend.
| Feld | Typ | Bewertung | Beschreibung |
|---|---|---|---|
diffN2 | double? | Stark erniedrigt | Untere kritische Grenze |
diffN1 | double? | Leicht erniedrigt | Untere Warngrenze |
normMin | double | Normal | Untere Grenze des Normalbereichs |
normMax | double | Normal | Obere Grenze des Normalbereichs |
diffP1 | double? | Leicht erhöht | Obere Warngrenze |
diffP2 | double? | Stark erhöht | Obere kritische Grenze |
Werteinterpretation:
| Wert liegt in | Farbe |
|---|---|
< diffN2 | Rot |
diffN2 - diffN1 | Gelb |
diffN1 - normMin | Hellgrün |
normMin - normMax | Grün |
normMax - diffP1 | Hellgrün |
diffP1 - diffP2 | Gelb |
> diffP2 | Rot |
Status-Codes
| Code | Beschreibung |
|---|---|
200 | OK - Ergebnisse sind verfügbar (prüfe success-Feld) |
202 | Accepted - Berechnung läuft noch, Ergebnisse sind noch nicht verfügbar |
400 | Bad Request - Anfrage ist ungültig |
401 | Unauthorized - API-Schlüssel ist ungültig oder fehlt |
403 | Forbidden - Keine Zugriffsberechtigung auf den Kunden |
404 | Not Found - Bestellung existiert nicht oder enthält keine Laborpositionen |
Funktionsweise
- Authentifizierung über API-Schlüssel
- Validierung der Zugriffsberechtigung auf den angegebenen Kunden
- Abruf der Bestellung und zugehörigen Laboranalysen
- Überprüfung der Laboranalysen:
- Wenn nicht abgeschlossen → Status 202 (Accepted)
- Wenn abgeschlossen → Weiter mit Schritt 5
- Extraktion aller Laboranalyse-Werte aus den abgeschlossenen Laboranalysen
- Sortierung der Ergebnisse nach Parameter-ID
- Rückgabe aller Laborwerte mit vollständigen Referenzbereichen
Wichtige Hinweise
- Die Bestellung muss Laborpositionen enthalten, sonst wird ein 404-Fehler zurückgegeben
- Wenn die Laboranalysen noch nicht abgeschlossen sind, wird Status 202 zurückgegeben
- Die Ergebnisse werden erst verfügbar, wenn alle Laboranalysen abgeschlossen sind
- Die
ranges-Werte können zur farblichen Darstellung verwendet werden (grün/hellgrün/gelb/rot) - Die Formatierung der Werte berücksichtigt die Spracheinstellung des Kunden
- Nur Parameter mit tatsächlichen Werten (nicht null/leer) werden zurückgegeben
- Die Ergebnisliste ist nach Parameter-ID sortiert