TEKO Schweizerische FachschuleEAI IntegrationslaborTheorie 5 · DICOM & Orthanc
Unterricht 3Live-Labor

Theorie 05 · Spitalfall

Medizinische Bilder
sind mehr als Dateien

DICOM beschreibt Daten, Identitäten und Austausch medizinischer Bilder. Orthanc macht diese Welt mit einer REST-API und einem kleinen PACS für das Labor greifbar. Das Kapitel trennt fachliche Identität, lokale IDs, Events und Datenschutz sauber voneinander.

ca. 14 MinutenDICOMPACSOrthanc RESTnur synthetische Daten
1 · Systemlandschaft

Vom Untersuchungsauftrag bis zum Bildarchiv

In einem Spital entstehen Bilddaten nicht in einem einzigen System. Ein Krankenhausinformationssystem kann den Fall führen, ein Radiologieinformationssystem plant die Untersuchung, eine Modalität wie CT oder MR erzeugt Bilder, und ein PACS speichert und verteilt sie. Befundung, Forschung oder AI-Auswertung können weitere Systeme sein. Integration bedeutet deshalb nicht „eine Datei kopieren“, sondern einen medizinischen Fall über mehrere Verantwortungsgrenzen korrekt zu referenzieren.

Die Systeme haben unterschiedliche Aufgaben. Die Modalität kennt Aufnahmeparameter und erzeugt Instanzen. Das PACS sorgt für Speicherung und Abruf. Ein Auftragssystem kennt Indikation, Termin und organisatorischen Kontext. Diese Daten dürfen nicht beliebig gegenseitig überschrieben werden. Gerade weil mehrere Systeme denselben Patienten oder dieselbe Untersuchung beschreiben, braucht es eindeutige Verantwortungen und Identitäten.

SystemTypische VerantwortungIntegrationsfrage
KIS/HISPatientenfall und klinischer KontextWelche Fallreferenz darf an die Radiologie?
RISAuftrag, Termin, Workflow und BefundWie wird der Auftrag der richtigen Studie zugeordnet?
CT/MR/USErzeugung von DICOM-InstanzenWann ist eine Serie oder Studie vollständig?
PACS/OrthancSpeichern, finden und verteilenWelche ID ist lokal, welche systemübergreifend?
Forschung/AISekundärnutzung kontrollierter DatenWas muss anonymisiert, minimiert und freigegeben werden?
2 · Datenmodell

Patient → Study → Series → Instance

Orthanc ordnet DICOM-Ressourcen in vier Ebenen. Ein Patient kann mehrere Studien haben. Eine Studie steht für einen Untersuchungszusammenhang. Sie enthält eine oder mehrere Serien, etwa verschiedene Rekonstruktionen oder Sequenzen. Eine Serie enthält einzelne Instanzen – häufig Bildschnitte, aber DICOM kann auch andere medizinische Objekte repräsentieren.

DICOM-Hierarchie vom Patienten bis zur InstanzVier verschachtelte Ebenen mit einem Patienten, zwei Studien, Serien und mehreren Instanzen. Zusätzlich sind lokale Orthanc-IDs und globale DICOM-UIDs markiert. Patientsynthetisch Study AStudyInstanceUID1.2.826.…42 Study Bandere Untersuchung Seriesz. B. CT axialSeries UID Instance 1Instance 2Instance n Orthanc-ID ≠ DICOM-UIDlokaler Schlüssel vs. fachliche Identität
Die Hierarchie ermöglicht Navigation und Abfragen. Eine Studie ist ein fachlicher Container; ihre Vollständigkeit kann nicht allein aus dem ersten eingetroffenen Bild abgeleitet werden.
Metapher: Patientenakte und KapitelDie Akte steht für den Patienten, ein Kapitel für eine Untersuchung, Unterkapitel für Serien und Seiten für Instanzen. Die Verschachtelung wird dadurch anschaulich.
Wo die Metapher endetDICOM-Objekte sind nicht einfach Papierseiten. Sie besitzen standardisierte Tags, UIDs, Pixel- oder Messdaten und können unabhängig übertragen oder ergänzt werden.
3 · Identität

Drei IDs, drei verschiedene Fragen

Im Async-Labor begegnen sich mindestens drei Identitäten. Die eventId beantwortet: „Ist genau diese Meldung schon verarbeitet worden?“ Die StudyInstanceUID beantwortet: „Von welcher medizinischen Studie sprechen die Systeme?“ Die Orthanc Study ID beantwortet: „Unter welchem lokalen Schlüssel finde ich die Studie in dieser konkreten Orthanc-Instanz?“ Zusätzlich verbindet eine Correlation-ID alle technischen Schritte eines Verarbeitungslaufs.

Diese IDs dürfen nicht vermischt werden. Eine Wiederholung desselben Events soll keine zweite Wirkung auslösen. Zwei unterschiedliche Events können aber dieselbe Studie betreffen, etwa „Studie verfügbar“ und später „Befund freigegeben“. Die lokale Orthanc-ID kann sich beim Transfer in eine andere Orthanc-Instanz ändern; die fachliche DICOM-UID bleibt der systemübergreifende Bezug.

{
  "id": "evt-study-0042",
  "type": "ch.teko.radiology.study.available.v1",
  "correlationId": "corr-imaging-0042",
  "data": {
    "orthancStudyId": "lokal-clinical-7ab3",
    "studyInstanceUid": "1.2.826.0.1.3680043.10.543.42",
    "accessionNumber": "DEMO-0042",
    "modality": "CT"
  }
}
Entscheidungsregel: Nutze die Event-ID für technische Deduplikation, die StudyInstanceUID für fachliche Studienidentität, die Orthanc-ID nur innerhalb einer Orthanc-Instanz und die Correlation-ID für Diagnose. Protokolliere keine Patientennamen, wenn diese für den technischen Nachweis nicht nötig sind.
4 · Werkzeug

Was Orthanc im Labor leistet

Orthanc ist ein leichtgewichtiges, quelloffenes DICOM-System. Es kann DICOM-Ressourcen speichern, hierarchisch zugänglich machen und über eine REST-API steuern. Damit wird ein PACS-ähnlicher Integrationspunkt lokal per Docker reproduzierbar. Die eingebaute Oberfläche selbst verwendet die REST-API – ein gutes Beispiel dafür, wie ein Webclient auf einem API-Vertrag aufsetzt.

Für das Labor läuft Orthanc nur im privaten Compose-Netz. Die öffentliche Website gibt weder den DICOM-Port noch die Adminoberfläche frei. Die Lern-API ruft intern ausgewählte Orthanc-Endpunkte auf und gibt nur minimierte, synthetische Informationen zurück. Das reduziert Angriffsfläche und verhindert, dass Lernende versehentlich administrative Operationen gegen das PACS ausführen.

GET/systemVersion und Instanzstatus
GET/studieslokale Studien-IDs auflisten
GET/studies/{id}Hierarchie und Haupt-Tags abrufen
GET/changes?since=…Änderungen inkrementell lesen

Die offizielle Orthanc REST-Dokumentation beschreibt diese Routen und die Hierarchie. Für produktive Systeme braucht es zusätzlich belastbare Authentisierung, Autorisierung, Audit, Backup, Aufbewahrung, Netzwerksegmentierung und eine institutionelle Datenschutz- und Sicherheitsprüfung.

5 · Asynchronität

„Eingetroffen“ ist nicht automatisch „vollständig“

Eine CT-Studie kann aus vielen Instanzen bestehen. Beim ersten Bild weiß ein Integrator nicht sicher, ob noch weitere folgen. Orthanc protokolliert neue Ressourcen in einem Changes-Log und kennt einen stabilen Zustand, nachdem eine gewisse Zeit keine neue Instanz eingetroffen ist. Dieser Zustand ist eine praktische Annäherung, aber kein mathematischer Beweis für Vollständigkeit. Unterbrochene Übertragungen oder verspätete Serien bleiben möglich.

Ein Eventpublisher sollte deshalb nicht für jedes Bild sofort eine vollständige Studienverarbeitung starten. Typisch ist, auf ein stabiles Studienereignis zu reagieren, die erwarteten Pflichtinformationen zu prüfen und dann nur eine kleine Nachricht mit Referenzen in die Queue zu legen. Große Bilddaten bleiben im PACS und werden vom autorisierten Worker bei Bedarf geholt. So bleibt die Message klein, und Zugriffe auf die eigentlichen Daten können separat kontrolliert und protokolliert werden.

Gegenbeispiel: Eine Queue-Nachricht enthält Patient Name, Geburtsdatum und sämtliche DICOM-Dateien. Sie wird anschließend in Logs, Retry-Speichern und DLQ kopiert. Technisch bequem, aber unnötig riskant, schwer zu löschen und schlecht zu überwachen.

Die Verarbeitung sollte mindestens den Eventvertrag validieren, die Studie intern abrufen, den erlaubten Zweck prüfen, eine geeignete Anonymisierung oder Pseudonymisierung ausführen, das Ziel idempotent ansprechen und einen Transfernachweis speichern. Ein technischer Timeout wird mit Backoff erneut versucht. Ein fehlender fachlicher Pflichtwert landet nicht in einer Endlosschleife, sondern in einer kontrollierten Quarantäne.

6 · Schutz

Gesundheitsdaten erzwingen Datenminimierung

Im öffentlichen TEKO-Labor werden ausschließlich erfundene IDs und synthetische Metadaten verwendet. Der Endpunkt akzeptiert keine DICOM-Dateien und keine frei eingegebenen Patientennamen. Das ist nicht nur eine technische Einschränkung, sondern eine didaktische Aussage: Ein Demo-System im Internet ist kein Ort für echte Gesundheitsdaten.

Anonymisierung ist mehr als das Ersetzen eines sichtbaren Namens. Identifizierende Informationen können in zahlreichen DICOM-Tags, privaten Hersteller-Tags, eingebrannten Pixeltexten oder verknüpften Systemen vorkommen. Eine reale Sekundärnutzung braucht deshalb ein geprüftes Profil, Zweckbindung, Zugriffsregeln und eine Kontrolle des Ergebnisses. „Wir haben PatientName gelöscht“ ist kein ausreichender Nachweis.

Im Event

Nur Referenz, Modalität, technische Zähler und notwendige fachliche Schlüssel.

Im Log

Correlation-ID, Status, Dauer, Versuch und Fehlerklasse – keine unnötigen Inhaltsdaten.

Im öffentlichen Lab

Nur synthetische Werte, feste Auswahlfelder, Limits und automatisches Aufräumen.

7 · Transferwissen

Entscheidungsregeln und Kontrollfragen

  • Events klein halten: eine Referenz und notwendige Metadaten transportieren, Bilddaten kontrolliert am Ursprung abrufen.
  • Fachliche und lokale IDs trennen: lokale Orthanc-IDs nicht als universelle Studienidentität behandeln.
  • Stabilität als Signal, nicht als Beweis verstehen: bei kritischen Workflows zusätzlich Vollständigkeitsregeln oder Auftragsabgleich verwenden.
  • Idempotent übertragen: vor einer Zielwirkung die Kombination aus fachlichem Schlüssel und Prozessversion prüfen.
  • Fehler klassifizieren: Netzwerk-/Dienstfehler wiederholen; ungültige Metadaten isolieren und fachlich klären.
  • Öffentliche Demos begrenzen: keine Adminoberflächen, DICOM-Ports, Uploads oder echten Identitäten exponieren.

Kontrollfragen

  1. Warum genügt die Orthanc Study ID nicht für den Austausch zwischen zwei PACS?
  2. Was könnte trotz StableStudy noch schiefgehen?
  3. Welche Felder braucht der Consumer wirklich in der Queue?
  4. Wie weist du nach, dass ein doppeltes Event nicht zwei Zielwirkungen erzeugt?
  5. Welche Daten gehören ausdrücklich nicht in Logs und DLQ?
Jetzt praktisch prüfen
Im öffentlichen Orthanc-/Spital-Labor erzeugst du ein synthetisches Studienereignis, beobachtest Jobstatus, Retry und Idempotenz und siehst den internen Orthanc-Healthcheck.