laborUpload
Labor-Befund einliefern
Nimmt Labor-Befunde entgegen — HL7-Nachrichten und die zugehörigen PDF-Berichte. Schnittstelle für externe Labore; der API-Token muss für das Modul labor freigeschaltet sein.
HTTP Request
https://dev.vitabyte.ch/v1/labor/upload
Request Parameters
⚠ Kein patid: die Zuordnung zum Patienten passiert ausschliesslich über den Inhalt der HL7-Nachricht; ein mitgesendetes patid wird ignoriert.
Verarbeitung nach Dateiendung — andere Endungen werden abgewiesen:
· .hl7 wird importiert; danach wird ein bereits vorhandenes PDF mit gleichem Basisnamen nachverknüpft.
· .pdf wird zum jüngsten HL7-Eingang mit gleichem Basisnamen verlinkt. Ohne Match bleibt die Datei liegen — die Antwort ist trotzdem status: 200.
Die Verknüpfung HL7 ↔ PDF läuft über den Basisnamen, nicht über eine ID: befund_4711.hl7 und befund_4711.pdf finden sich gegenseitig, unabhängig von der Reihenfolge. Gleichnamige Dateien erhalten eine Version angehängt (max. 25); identischer Inhalt unter gleichem Basisnamen wird als Duplikat abgelehnt.
| Parameter | Pflicht | Typ | Beispiel / Default |
|---|---|---|---|
filename
Maximal 255 Zeichen. Die Endung entscheidet über die Verarbeitung (.hl7 oder .pdf). |
required | string |
result_20260518.hl7
|
content
Dateiinhalt Base64-kodiert, maximal 25 MB. |
required | string |
Response Parameters
⚠ Envelope-Sonderfall: status ist ein Integer, kein Boolean — und der HTTP-Code bleibt in allen Fällen 200. Der Erfolg steht ausschliesslich im Feld status:
· 200 — successfully uploaded
· 400 — missing required parameters in body, file already exists, not saving again, Validierungsfehler
· 500 — failed to save file, hl7 import failed, missing checksum for saved file, an error occurred
| Field | Typ | Beschreibung |
|---|---|---|
status |
integer | 200, 400 oder 500 — nicht der HTTP-Code, sondern das Resultat |
msg |
string | Kurzbeschreibung des Resultats bzw. der Fehlerursache |
Demo
Referenz und Beispiele stammen aus der internen API-Collection — die OpenAPI-Spec deckt diesen Endpoint noch nicht ab.
POST
https://dev.vitabyte.ch/v1/labor/upload
HL7-Befund
{
"filename": "result_20260518.hl7",
"content": "TVNIfF5+XCZ8VEVTVHxMQUJ8RVBBVHxWSVRBQllURXwyMDI2MDcxNDEwMDB8fE9SVV5SMDF8MTIzNDV8UHwyLjMNUElEfDF8fDEyMzQ1Nnx8TXVzdGVybWFubl5NYXgNT0JSfDF8fDc4OXxGRVJSXkZlcnJpdGluDU9CWHwxfE5NfEZFUlJeRmVycml0aW58fDU1fHVnL2x8MjAtMzAwfE58fHxGDQ=="
}
{
"status": 200,
"msg": "successfully uploaded"
}
POST
https://dev.vitabyte.ch/v1/labor/upload
Duplikat — identischer Inhalt
{
"filename": "result_20260518.hl7",
"content": "TVNIfF5+XCZ8VEVTVHxMQUJ8RVBBVHxWSVRBQllURXwyMDI2MDcxNDEwMDB8fE9SVV5SMDF8MTIzNDV8UHwyLjMN"
}
{
"status": 400,
"msg": "file already exists, not saving again"
}