Endpoints / laborUpload

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

POST https://dev.vitabyte.ch/v1/labor/upload
Auth basicAuth apiKey

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:
· 200successfully uploaded
· 400missing required parameters in body, file already exists, not saving again, Validierungsfehler
· 500failed 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
Payload
{
    "filename": "result_20260518.hl7",
    "content": "TVNIfF5+XCZ8VEVTVHxMQUJ8RVBBVHxWSVRBQllURXwyMDI2MDcxNDEwMDB8fE9SVV5SMDF8MTIzNDV8UHwyLjMNUElEfDF8fDEyMzQ1Nnx8TXVzdGVybWFubl5NYXgNT0JSfDF8fDc4OXxGRVJSXkZlcnJpdGluDU9CWHwxfE5NfEZFUlJeRmVycml0aW58fDU1fHVnL2x8MjAtMzAwfE58fHxGDQ=="
}
Response
{
    "status": 200,
    "msg": "successfully uploaded"
}
POST https://dev.vitabyte.ch/v1/labor/upload Duplikat — identischer Inhalt
Payload
{
    "filename": "result_20260518.hl7",
    "content": "TVNIfF5+XCZ8VEVTVHxMQUJ8RVBBVHxWSVRBQllURXwyMDI2MDcxNDEwMDB8fE9SVV5SMDF8MTIzNDV8UHwyLjMN"
}
Response
{
    "status": 400,
    "msg": "file already exists, not saving again"
}