{"openapi":"3.1.0","info":{"title":"TEKO Orthanc- und Spital-Integrationslabor","version":"1.0.0","description":"Lehr-API für Sync, interne Orthanc-Abfragen, Queue, Retry, DLQ, Idempotenz und Webhook. Keine DICOM-Uploads und keine echten Patientendaten."},"servers":[{"url":"/lab"}],"paths":{"/healthz":{"get":{"summary":"Liveness ohne Abhängigkeit","responses":{"200":{"description":"Dienst läuft"}}}},"/readyz":{"get":{"summary":"Readiness inklusive internem Orthanc","responses":{"200":{"description":"Bereit"},"503":{"description":"Orthanc nicht bereit"}}}},"/api/v1/locations":{"get":{"summary":"Orte synchron abfragen","responses":{"200":{"description":"Ortsregister"}}}},"/api/v1/hospitals":{"get":{"summary":"Spitäler synchron abfragen","responses":{"200":{"description":"Spitalregister"}}}},"/api/v1/hospitals/{hospitalId}/capacity":{"get":{"summary":"Kapazität synchron abfragen","responses":{"200":{"description":"Kapazität"},"404":{"description":"Spital unbekannt"}}}},"/api/v1/pacs/status":{"get":{"summary":"Sanitisierten Orthanc-Status lesen","responses":{"200":{"description":"Orthanc bereit"},"503":{"description":"Orthanc nicht bereit"}}}},"/api/v1/demo-studies":{"get":{"summary":"Erlaubte synthetische Studienreferenzen","responses":{"200":{"description":"Demo-Referenzen ohne DICOM UID"}}}},"/api/v1/imaging-jobs":{"post":{"summary":"Metadatenabfrage asynchron annehmen","responses":{"202":{"description":"In Queue aufgenommen"},"400":{"description":"Ungültige Anfrage"},"409":{"description":"Idempotenzkonflikt"}}}},"/api/v1/jobs/{jobId}":{"get":{"summary":"Async-Status lesen","responses":{"200":{"description":"Jobstatus"},"404":{"description":"Job unbekannt"}}}},"/api/v1/dead-letters":{"get":{"summary":"Dead-Letter Queue lesen","responses":{"200":{"description":"Fehlgeschlagene Jobs"}}}},"/api/v1/dead-letters/{jobId}/replay":{"post":{"summary":"Nach Korrektur erneut abspielen","responses":{"202":{"description":"Neu eingeplant"},"409":{"description":"Falscher Zustand"}}}},"/api/v1/webhook-deliveries":{"get":{"summary":"Simulierte Webhook-Zustellungen lesen","responses":{"200":{"description":"Zustellprotokoll"}}}}}}