Vorwort

  • Diese Diplomarbeit wurde in der Abteilung Medizinische und Biologische Informatik ( MBI) des Deutschen Krebsforschungszentrums (DKFZ) in Heidelberg durchgeführt. Es bestand eine enge Zusammenarbeit mit dem Steinbeis-Transferzentrum Medizinische Informatik in Heidelberg.
  • Hiermit möchte ich allen recht herzlich danken, die, auf welche Art auch immer, meine Diplomarbeit unterstützt haben.
  • Mein besonderer Dank gilt dabei Herrn Dr. Uwe Engelmann für die Überlassung des Themas in dem Teleradiologieprojekt CHILI und für die gute Betreuung meiner Diplomarbeit.
  • Herrn Prof. Dr. Claus O. Köhler und Herrn PD Dr. H.P. Meinzer danke ich dafür, daß sie als Referenten für das Thema zur Verfügung standen.
  • Vielen Dank auch an Andre Schröter und Uli Baur für die vielen Hilfen bei den Problemen, die C mir bereitet hat, und an Oliver Werner für die gute Zusammenarbeit bei den Datenbankroutinen.
  • Für die vielen kleinen Tips und Anregungen zu DICOM möchte ich auch dem OFFIS e.V. in Oldenburg und dort vor allem Marco Eichelberg danken. Erst hierdurch konnte ich die DICOM Routinen ordentlich testen.
  • Und natürlich ist mir auch die Arbeitsgruppe sehr wichtig, die nicht nur viele fachliche Anstöße und Hilfen gegeben hat. Es hat immer Spaß gemacht, in dieser Gruppe zu arbeiten.
  • Inhaltsverzeichnis

    Kapitel  1 Einleitung 1

    1.1 Motivation 1

    1.2 Überblick 3

    Kapitel  2 Ziele und Problematik 5

    2.1 Kommunikation im Krankenhaus 5

    2.2 Kommunikation in der Radiologie 7

    2.2.1 KIS/RIS Kopplung 8

    2.2.2 PACS 9

    2.2.3 Modalitäten und Viewing Stations 10

    2.2.4 Teleradiologie 11

    2.3 Beispielszenarien in der Radiologie 12

    2.3.1 CHILI Radiologie 12

    2.3.2 Optimale Radiologie 13

    2.4 Ziele 14

    Kapitel  3 Standards in der medizinischen Bildverarbeitung und Bildkommunikation 17

    3.1 Problematik 17

    3.2 Herstellerstandards 18

    3.2.1 Beispiel Siemens 19

    3.2.2 Beispiel GE 19

    3.2.3 Weitere Hersteller 20

    3.3 ACR/NEMA 20

    3.3.1 ACR/NEMA 1.0 20

    3.3.2 ACR/NEMA 2.0 21

    3.3.3 DICOM 3.0 21

    3.4 Gründe für DICOM 22

    Kapitel  4 Beschreibung des DICOM Standards 25

    4.1 Problematik 25

    4.2 DICOM Konzepte 26

    4.2.1 Objektorientiertheit 27

    4.2.2 Attribute und Attributwerte 27

    4.2.3 Tags 28

    4.2.4 Value Representation 29

    4.2.5 Informationsobjekte 30

    4.2.6 Serviceklassen 32

    4.2.7 Service Object Pairs 33

    4.2.8 Client/Server 34

    4.2.9 Unique Identifier 35

    4.2.10 Transfersyntaxe 36

    4.3 DICOM Kommunikation 36

    4.3.1 Netzwerkkonzepte 37

    4.3.1.1 TCP/IP 38

    4.3.1.2 ISO/OSI 38

    4.3.1.3 Point-to-Point 39

    4.3.2 Application Entity und Presentation Address 39

    4.3.3 Verbindungsaufbau 40

    4.3.4 Präsentationskontext 40

    4.4 Speicherkonzepte 40

    4.4.1 Dateiformat 40

    4.4.2 Verzeichnisformat 42

    4.4.3 Medien 43

    4.5 Conformance Statement 43

    4.6 Beschreibung der DICOM Unterlagen 43

    4.6.1 Einführung und Überblick 44

    4.6.2 Conformance 44

    4.6.3 Definition der Informationsobjekte 44

    4.6.4 Serviceklassen 45

    4.6.5 Datenstrukturen und Verschlüsselung 45

    4.6.6 Data Dictionary 45

    4.6.7 Nachrichten 46

    4.6.8 Netzwerkkommunikation 46

    4.6.9 Punkt-zu-Punkt Kommunikation 47

    4.6.10 Speicherung auf festen Medien 47

    4.6.11 Applikationen für die Speicherung 47

    4.6.12 Physische Medienformate 48

    4.6.13 Print Management Punkt-zu-Punkt 48

    4.6.14 Supplements 49

    4.6.15 Correction Proposals 49

    Kapitel  5 CHILI DICOM Implementierung 51

    5.1 Vorhandene DICOM Routinen 51

    5.1.1 Freie Quelltexte 51

    5.1.1.1 UC Davis 51

    5.1.1.2 Universität Oldenburg 52

    5.1.1.3 Mallinckrodt Institute of Radiology 52

    5.1.1.4 Sonstige 53

    5.1.2 Kommerzielle Quelltexte 53

    5.1.2.1 Merge 54

    5.1.2.2 De Jarnette 54

    5.2 Die Mallinckrodt Quelltexte 54

    5.2.1 Vorteile der Mallinckrodt Quelltexte 55

    5.2.2 Unterstützte Plattformen 55

    5.2.3 Vorhandene Routinen 56

    5.2.3.1 Basisroutinen 56

    5.2.3.2 Beispielapplikationen 58

    5.2.4 Gründe für Eigenentwicklungen 59

    5.3 Konzepte der implementierten Routinen 60

    5.3.1 Wartbarkeit 60

    5.3.2 Erweiterbarkeit 62

    5.3.3 Dokumentation 62

    5.3.4 Benutzbarkeit 63

    5.4 DICOM Implementierung 63

    5.4.1 DICOM Server 64

    5.4.1.1 Aufgaben 64

    5.4.1.2 Besonderheiten 65

    5.4.1.3 Implementierung 66

    5.4.2 Query/Retrieve als User 68

    5.4.2.1 Aufgaben 68

    5.4.2.2 Besonderheiten 68

    5.4.2.3 Implementierung 69

    5.4.3 DICOM Datenbanktreiber 72

    5.4.3.1 Aufgabe 72

    5.4.3.2 Besonderheiten 72

    5.4.3.3 Implementierung 74

    5.4.4 Echo als User 76

    5.4.4.1 Aufgabe 76

    5.4.4.2 Besonderheiten 76

    5.4.4.3 Implementierung 76

    5.4.5 Store als User 77

    5.4.5.1 Aufgaben 77

    5.4.5.2 Besonderheiten 77

    5.4.5.3 Implementierung 79

    5.5 Conformance Statement 79

    5.5.1 Implementation Model 79

    5.5.1.1 Datenflußdiagramm der Applikationen 80

    5.5.1.2 Funktionale Definition von Applikations Entities 81

    5.5.2 Spezifikationen der Applikations Entities 81

    5.5.2.1 Unterstützte SOP Klassen 81

    5.5.2.2 Verbindungsaufbau 83

    5.5.2.3 Verbindungsanfragen 83

    5.5.2.4 Verbindungsannahme 85

    5.5.3 Kommunikationsprofile 87

    5.5.3.1 TCP/IP 87

    5.5.3.2 Physische Medien 87

    5.5.4 Erweiterungen und Spezialisierungen 88

    5.5.5 Konfiguration 88

    5.5.5.1 Applikationsname, Präsentationsadresse 88

    5.5.5.2 Sicherheitsaspekte 88

    5.5.5.3 Konfigurierbare Parameter 89

    5.5.5.4 Erweiterte Buchstabensätze 89

    5.6 Weitere wichtige Services 89

    Kapitel  6 Ergebnisse 91

    6.1 Das Teleradiologiesystem der 2. Generation: CHILI 91

    6.2 Die Benutzbarkeit 92

    6.3 Der Einsatz in der Praxis 93

    Kapitel  7 Diskussion 97

    Kapitel  8 Ausblick 99

    Kapitel  9 $pag Zusammenfassung 101

    Anhang A: ER Diagramm 103

    Anhang B: DICOMDIR 105

    Literaturverzeichnis 109

    Internet Referenzen 117

    Abbildungsverzeichnis 121

    Tabellenverzeichnis 123

    Glossar 125

    Index 135

    Einleitung

    Motivation
    • Im Rahmen der vorliegenden Arbeit sind verschiedene DICOM Routinen entwickelt worden. Diese Programme können für die verschiedensten Aufgaben der digitalen Bildkommunikation benutzt werden.
    • Diese Routinen sind im Rahmen des Teleradiologieprojektes CHILI entstanden. Unter Teleradiologie versteht man dabei nicht nur das einfache Verschicken von Röntgenbildern oder Bildern von digitalen Modalitäten, sondern auch das gemeinsame, kooperative Bearbeiten von diesen Bildern, das räumlich verteilt stattfinden kann. Ein System, das diese Bereiche abdeckt, ist das Teleradiologiesystem MEDICUS, ein Vorgängersystem von CHILI. Bei der Entwicklung und dem Einsatz von MEDICUS wurden vor allem Erfahrungen mit der Teleradiologie gesammelt. Dabei wurde die Notwendigkeit klar, daß ein modernes Teleradiologiesystem möglichst stark an DICOM orientiert sein muß. Diese Erfahrungen wurden in das Teleradiologiesystem CHILI umgesetzt. Weitere Informationen über diese beiden Systeme sind in den Arbeiten von Schwab und Engelmann zu finden See [Schwab 97] , See [Engelmann 96] .
    • Wichtig für ein solches Teleradiologiesystem ist es vor allem, die Bilder direkt von den digitalen Modalitäten wie einem Computertomographen (CT) oder Magnetresonanztomographen (MR) zu empfangen und dies möglichst ohne einen Qualitätsverlust. Die Bilder sollen möglichst direkt nach der Aufnahme ohne große Verzögerungen übertragen werden. Dafür wird der DICOM Server und die weiteren Routinen, die im Rahmen dieser Diplomarbeit entwickelt wurden, eingesetzt.
    • Im Zusammenhang mit der Bildübertragung spielen Kommunikationsstandards eine wesentliche Rolle. Ohne derartige Standards, die es lange Zeit nicht gab, ist der Anschluß verschiedener Modalitäten sehr aufwendig. Hierauf wird im dritten Kapitel noch genau eingegangen. Jeder Hersteller hatte seinen eigenen "Standard", und teilweise arbeiteten noch nicht einmal Geräte eines Herstellers zusammen. Das ist leider heute noch oft der Fall.
    • Zum Beginn der Ära von CT und MR war diese Kommunikation noch nicht so wichtig, weil die damaligen Computer nur schwer eine umfangreiche digitale Kommunikation solch großer Datenmengen zuließen. Ein Großteil der Kommunikation wie das Archivieren fand über analoge Filme statt. Auch die digitale Bildverarbeitung steckte zu dieser Zeit noch in den Kinderschuhen, und digitale Bilder wurden kaum weiterverarbeitet.
    • DICOM ist der erste weltweit verbreitete und vor allem auch akzeptierte Standard, der eine solche Kommunikation ermöglicht. Hervorgegangen ist DICOM aus den Standards der ACR/NEMA, die schon sehr verbreitet waren. Momentan haben zwar noch nicht alle Geräte eine DICOM Schnittstelle (nur etwa 15% sind DICOM-fähig), aber dieser Anteil wird steigen, weil es mittlerweile schwierig ist, Modalitäten ohne DICOM zu vermarkten. Theoretisch sollte es dann so einfach sein, ein solches Gerät in einem Netzwerk anzuschließen, wie das heute bei einem Fernseher im Wohnzimmer der Fall ist.
    • Leider ist der Anschluß der Modalitäten heute noch nicht so einfach, da DICOM ein sehr komplexer Standard ist. Es ist eine große Menge an Vorwissen nötig, um wirklich effektiv DICOM Programme entwickeln zu können. Der Standard ist extrem umfangreich und wird vor allem ständig weiterentwickelt und erweitert. Man muß sich regelmäßig über die Änderungen informieren, um auf einem aktuellen Stand zu sein. Hierzu gibt es leider kaum gute Bücher, die auch erhältlich sind. Teilweise sind sie zu alt und teilweise einfach "out of print" See [Weaver 94] . Zum Glück gibt es im Internet eine Menge an Referenzen, auf denen die aktuellen Entwicklungen und Veränderungen gezeigt werden. Hierbei ist besonders der Webserver von David Clunie zu erwähnen [http://www.rahul.net/dclunie/html/]. Desweiteren gibt es im Internet ein paar gute Einführungen in DICOM, wie das DICOM Cookbook von Philips See [Revet 97] . Nur mit Printmedien ist ein ordentliches Arbeiten mit DICOM nicht möglich.
    • Ein anderes Problem bei DICOM ist, daß der Standard in verschiedenen Bereichen etwas auslegungsfähig ist, und sich nicht alle Hersteller genau an diesen Standard halten. Das führt natürlich zu Problemen. Je mehr die gesamte Kommunikation über DICOM läuft, umso mehr werden sich die Hersteller anpassen müssen. Ein paar dieser Probleme sind in dem Vortrag von Ratib zusammengefaßt See [Ratib 96] .
    • Immerhin ist DICOM von den verschiedenen nationalen und internationalen Normungsgremien wie der JIRA in Japan und der CEN in Europa sowie den amerikanischen Behörden ( ANSI) abgenommen. Somit ergibt sich die Chance für einen umfassenden und vor allem weltweiten Standard.
    • Da die Großgerätehersteller ebenfalls an dem Standard mitgearbeitet haben und weiter mitarbeiten werden, ist auch von dieser Seite keine (technische) Opposition zu erwarten. Es besteht die Chance für einen umfassenden Standard, der wirklich allen Seiten gerecht wird. Bei dieser Idee kann man nur versuchen mitzuhelfen.
    Überblick
    • Dieses erste Kapitel führt den Leser zum Thema hin. Es legt das grobe Anwendungsszenarium der Programme im Krankenhaus und in der Radiologie im Speziellen dar. Hierfür ist natürlich vor allem eine Beschreibung des Umfeldes notwendig. Dazu gehört unter anderem eine kurze Behandlung des Themas Teleradiologie, da diese Arbeit im Rahmen eines Teleradiologieprojektes zustandegekommen ist.
    • Das zweite Kapitel gibt eine Einführung in die Kommunikationsabläufe im Krankenhaus und in der Radiologie im Speziellen. Das ist ein Teil der Problemstellung. Nur wenn diese Abläufe klar sind, können Veränderungen oder Verbesserungsvorschläge verstanden werden. Es wird genau gezeigt, welche Position der DICOM Server und die anderen DICOM Routinen in diesem Umfeld einnehmen und welche Probleme damit verbunden sind. Dazu werden die anfänglichen Ziele und Prioritäten erläutert, die sich allerdings später noch in dem einen oder anderen Punkt geändert haben.
    • Im dritten Kapitel wird eine historische Einführung in die Standards in der medizinischen Bildverarbeitung gegeben. Es wird klar, warum zu Beginn eine Standardisierung nicht unbedingt erforderlich war, mit steigenden Anforderungen aber unumgänglich wurde. Dabei wird vor allem auf die Rolle der ACR/NEMA und einiger Großgerätehersteller eingegangen, sowie auf die Wichtigkeit von DICOM im heutigen Umfeld.
    • Kapitel vier beschäftigt sich mit einer Einführung in den DICOM Standard. Es ist vor allem eine didaktische und leicht verständliche Einführung in DICOM, bei der die grundlegenden Konzepte und Ideen erläutert werden. Es folgt eine Beschreibung der DICOM Standard Dokumentation und der hierarchische Aufbau dieser Dokumente, der mit gewissen Grundkenntnissen leichter zu verstehen ist. Dadurch wird die Komplexität von DICOM klarer. Auch der beständige Wandel von DICOM mit allen seinen Korrekturen und Erweiterungen wird in diesem Kapitel erklärt.
    • Das fünfte Kapitel beschäftigt sich schließlich mit den vom Autor entwickelten DICOM Routinen. Es werden die einzelnen Schritte bis zur Implementierung aufgezeigt. Dazu gehört z.B. die Auswahl der richtigen DICOM Basisroutinen. Letztendlich werden die neu entstandenen Programme mit ihren verschiedenen Funktionen erläutert, die den Hauptteil der Arbeit ausmachen.
    • Kapitel sechs faßt die in dieser Arbeit gewonnenen Ergebnisse und deren Auswirkungen auf das Teleradiologiesystem CHILI noch einmal zusammen und geht genauer auf die Besonderheiten ein. Vor allem wird auf die Benutzbarkeit der Routinen eingegangen, wobei hier als Benutzer sowohl derjenige verstanden wird, der die Routinen aufruft, als auch der Programmierer, der die Routinen in eigene Programme einbaut.
    • Im siebten Kapitel werden die gewonnenen Ergebnisse den anfänglichen Zielen und dem Anwendungsszenario gegenübergestellt. Es werden sowohl die positiven Aspekte dieser Lösung als auch mögliche Verbesserungsansätze besprochen.
    • Das Kapitel acht gibt einen Ausblick über das, was man noch alles mit DICOM machen könnte oder sollte. Dabei werden verschiedene Szenarien in der Radiologie beschrieben. Letztendlich sind mehrere Faktoren dafür verantwortlich, was implementiert wird und was nicht.
    • Und natürlich darf auch eine Zusammenfassung einer Arbeit nicht fehlen. Dies ist vor allem für jene, die nicht die Zeit haben, die ganze Arbeit zu lesen. Es geht sicherlich eine Menge an Hintergründen verloren.
    • Am Ende folgen noch Literaturverzeichnis, Internet-Referenzen, Abbildungs- und Tabellenverzeichnis sowie ein Glossar und ein Index. Damit soll ein ordentliches Arbeiten mit diesen Unterlagen erleichtert werden.

    Ziele und Problematik

    Kommunikation im Krankenhaus
    • In jedem Krankenhaus ist eine Menge an Kommunikation notwendig, die auf die verschiedensten Arten erfolgen kann. Kommunikation ist beispielsweise nötig, wenn ein Patient von einer Abteilung in eine andere verlegt wird und seine Befunde mitgeschickt werden. Kommunikation ist auch unverzichtbar, wenn Blutuntersuchungen von einem Patienten im Labor angefordert werden und die Ergebnisse zurück auf die Station geschickt werden.
    • Zu unterscheiden sind hier sicherlich die Krankenhäuser der Grundversorgung sowie die Krankenhäuser der Maximalversorgung und die Unikliniken. In Krankenhäusern der Grundversorgung kann einiges noch über interne Absprachen und Papier erledigt werden, während in Häusern der Maximalversorung alles standardisiert gemacht werden muß, damit es nicht zu einem völligen Chaos kommt. Genaueres hierzu kann in den verschiedenen Arbeiten von Köhler und London nachgelesen werden See [Köhler 82] , See [London 93] .
    • Unterscheiden kann man zwei große Arten von Kommunikation, die analoge und die digitale.
    • Analoge bzw. konventionelle Kommunikation beinhaltet das Verschicken von Befunden oder Ergebnissen über die Rohrpost oder die Ablage von Dokumenten in Krankenakten. Solche analoge Kommunikation kommt in allen Bereichen und Abteilungen des Krankenhauses vor. Die meisten Archive sind bisher noch analog organisiert, das heißt, daß die Informationen auf Papier oder Film gespeichert sind und so auch abgelegt werden.
    • Zunehmend häufiger wird die digitale Kommunikation benutzt. Dabei werden die Informationen wie z.B. die Patientendaten digital gespeichert und weiterverarbeitet. Dazu gibt es für die verschiedenen Abteilungen des Krankenhauses jeweils angepaßte Programme. Beispiele dafür sind das LIS (Labor-Informationssystem) oder das RIS (Radiologie-Informationssystem. Wichtig ist, daß ein krankenhausweites Krankenhaus-Informationssystem vorhanden ist, das Schnittstellen für alle Abteilungssysteme besitzt, mit diesen also problemlos kommunizieren kann. Dies ist extrem wichtig, da nur durch ein übergeordnetes System Patientenidentifikationen eineindeutig vergeben werden können. Die Speicherung kann ohne Redundanzen, oder evtl. mit gezielten Redundanzen in der Datenhaltung erfolgen.
    • Problematisch bei solch einem Szenario sind vor allem die Schnittstellen von zwei oder mehr Systemen. Diese Schnittstellen sollten möglichst so standardisiert sein, daß alle Systeme miteinander dieselbe Sprache sprechen können. Dies ist leider im Moment noch nicht sehr oft der Fall, da entsprechend umfassende Standards fehlen. Oftmals wird deswegen ein eigenes Kommunikationssystem benutzt, daß die verschiedenen Protokolle beherrscht, die im Krankenhaus vorkommen und diese ineinander umsetzt. See Kommunikation des KIS stellt ein solches Szenario dar, in dem DICOM und HL-7 als zwei möglich Kommunikationsstandards genannt werden. Ein Beispiel für ein Kommunikationssystem ist das Heidelberger Kommunikationssystem HeiKo, das in der Arbeit von Janßen beschrieben ist See [Janßen 90] .
    • Ein sehr wichtiger und weltweit akzeptierter Standard ist HL-7, der sich vor allem mit der Kommunikation in Krankenhausinformationssystemen beschäftigt. Die meisten Systeme beherrschen mittlerweile HL-7. Weitere Informationen zu HL-7 sind unter folgender Webseite zu erhalten [http://spwww.mcit.med.umich.edu/projects/hkit/standards/hl7.html] oder in der Arbeit der Duke Universität nachzulesen See [Duke 95] . Ein weiterer wichtiger Standard ist EDIFACT, der genauer in dem Buch von Jonas beschrieben ist See [Jonas 92] .
    • Zwischen den DICOM Komitees und dem HL-7 Komitee besteht dabei eine sehr enge Zusammenarbeit, so daß zu hoffen ist, daß es bei dieser Schnittstelle keine größeren Probleme geben wird. Siehe hierzu auch die Arbeit von Keayes See [Keayes 95] . Damit werden die DICOM Gruppen und DICOM Befehle direkt in HL-7 umgesetzt werden können.
    • Weitere Informationen zur Kommunikation und Datenverarbeitung in Krankenhäusern bietet das Buch zur medizinischen Dokumentation von Leiner See [Leiner 95] .
    Kommunikation in der Radiologie
    • Die Radiologie hat zum einen eine Kommunikationsschnittstelle mit dem Krankenhausinformationssystem, also vor allem die Kopplung von RIS und KIS. Allerdings besteht auch innerhalb der Radiologie ein extrem hoher Datenverkehr, da es sich bei den in der Radiologie anfallenden Daten überwiegend um Bilddaten handelt, die einen sehr hohen Speicherbedarf haben. Dies stellt allgemein hohe Anforderungen an die Hardware und verursacht hohe Kosten.
    • Der Arbeitsablauf in der Radiologie ist immer recht ähnlich, wie es in See Arbeitsabläufe in der Radiologie zu sehen ist. Zuerst erfolgt die Aufnahme des Patienten, dann werden die Bilder erzeugt und es erfolgt eine Befundung der Bilder des Patienten. Letztendlich werden die Bilder des Patienten archiviert, es muß aber immer wieder auf diese archivierten Bilder zugegriffen werden können. Dieser Zugriff kann im Einzelfall manuell erfolgen oder über ein geeignetes Prefetching, bei dem automatisch alte Bilder aller zur Befundung anstehenden Patienten auf die Befundungsworkstation geladen werden.
    • Im folgenden wird die KIS/RIS Kopplung und vor allem die Kommunikation innerhalb der Radiologie näher erläutert.
    KIS/RIS Kopplung
    • Die Kopplung von Krankenhaus- und Radiologieinformationssystem ist vor allem wichtig, um die Patientendaten in der Radiologie zu empfangen, damit sie dort nicht noch einmal erfaßt werden müssen. Dies erspart nicht nur Arbeit sondern verhindert auch Fehler bei der Dateneingabe. Nur so gibt es krankenhausweit eindeutige Identifikationsnummern für die Patienten.
    • Desweiteren werden die Behandlungsdaten und Bilder von der Radiologie wieder an das Krankenhausinformationssystem bzw. direkt an das Archiv zurückgeschickt. Dabei können die Bilder den Krankenakten beigelegt, digital übermittelt, oder nur als Referenz gespeichert werden. Bei Referenzen hat die Speicherung der Bilder in der Radiologie zu erfolgen. So wird auf jeden Fall eine vollständige Patientenakte erreicht, da alle Dokumente (zumindest als Referenz) gemeinsam abgelegt werden und nicht für einen Patienten verschiedene Akten existieren. Nur so ist eine redundanzfreie Datenhaltung bzw. eine Datenhaltung mit gezielter Redundanz möglich. Die Kommunikation ist in See Kopplung von KIS und RIS kurz zusammengefaßt.
    • Für diese Schnittstelle wird vor allem HL-7 benutzt, da dieser Standard im Bereich der Krankenhausinformationssysteme sehr weit verbreitet ist. Die Kommunikation könnte aber genausogut mit DICOM erfolgen bzw. mit einer Umsetzung von DICOM auf HL-7. Dadurch könnte man den Datenverkehr innerhalb der Radiologie komplett mit DICOM realisieren. Voraussetzung dafür ist natürlich ein DICOM/HL7 Umsetzer, oder ein KIS, das DICOM beherrscht. Vielleicht wird ein Teil der Funktionalität von DICOM auch in zukünftigen Versionen von HL-7 enthalten sein. Ein weiterer Standard für diese Kommunikation ist EDIFACT, der in der Radiologie aber nicht häufig benutzt wird.
    • Eine wichtige Aufgabe des RIS ist es, über ein geeignetes Prefetching alte Bilder von gerade aufgenommenen oder zur Befundung anstehenden Patienten schon aus einem Archiv in die Befundungsworkstations oder in einen schnelleren Zugriff zu laden. Unter Prefetching versteht man das automatische Anfordern alter Bilder eines Patienten, der gerade befundet wird. Der befundende Arzt kann dann die neuen Bilder gegebenenfalls gleich mit den alten Bildern vergleichen. Dadurch wir eine neue Qualität der Patientenversorgung erreicht, weil der Radiologe die Bilder sofort miteinander vergleichen kann und alte Bilder nicht aufwendig besorgen muß. Es gibt verschiedene Konzepte für ein intelligentes Prefetching. So möchte der Arzt bei einem gebrochenen Bein nicht unbedingt Bilder des letzten Armbruchs haben, sondern möglichst nur Bilder, die ein ähnliches Körperteil betreffen.
    • Die Organisation innerhalb der Radiologie ist auch eine wichtige Aufgabe des RIS. Hierbei werden die verschiedenen Arbeitsschritte für einen Patienten wie "terminiert", "aufgenommen" und "befundet" organisiert. Hiermit können zum Beispiel die verschiedenen Geräte optimal ausgelastet werden, und die Arbeit kann optimal auf die unterschiedlichen Radiologen und die Befundungsstationen aufgeteilt werden. Es ist also vor allem ein ökonomisch sehr interessanter Aspekt. Dieser Bereich heißt in der DICOM Terminologie auch Worklist Management.
    PACS
    • Ein PACS (Picture Archiving and Communication System) dient vor allem der Speicherung und dem Wiederfinden von Bildern. Das digitale Archiv besteht dabei aus einer Datenbank, in der die entsprechenden Daten über Bilder wie die Patienteninformationen eingetragen werden und vor allem der Ablageort der Bilder vermerkt wird. Weitere Informationen zu PACS-Systemen sind in der Arbeit von Osteaux zu finden See [Osteaux 92] .
    • Außerdem gehört zu einem PACS-System ein Massenspeicher, in dem die Bilder abgelegt werden. Dieser Massenspeicher ist evtl. in mehreren Ebenen mit unterschiedlich schnellem Zugriff organisiert. So sollte auf gerade abgelegte Bilder möglichst schnell zugegriffen werden können, während mit zunehmendem Alter der Bilder der Zugriff langsamer werden kann. Alte Bilder können teilweise auch im Offline Zugriff sein. Außerdem muß es die Möglichkeit geben, Bilder in einen schnelleren Zugriff zu holen, weil von diesem Patienten zum Beispiel neue Bilder mit den alten Bildern verglichen werden sollen. Sind die Bilder z.B. auf CD archiviert, so dauert das Finden und Kopieren der Bilder eine längere Zeit. Dieses "Finden" sollte nicht erst geschehen, wenn mit der Befundung angefangen wird.
    • Wichtig ist bei einem PACS vor allem der Zugriff auf alte Bilder. Es sollten die verschiedensten Möglichkeiten bestehen, um nach alten Bildern zu suchen und diese anzufordern. Gegebenfalls müssen die Bilder ausgedruckt oder auf Film belichtet werden können.
    • Zu einem kompletten PACS-System gehört natürlich auch der Anschluß an die digitalen Modalitäten wie Computer- oder Magnetresonanztomographiegeräte. Die gesamte Kommunikation ist in See Kommunikation des PACS schematisch aufgezeigt. Besonders werden hier die zwei verschiedenen Schnittstellen des Systems klar.
    • Mit DICOM ist dabei sowohl eine Kommunikation mit den Modalitäten möglich als auch eine Schnittstelle zum Abfragen der Datenbank und Anfordern der Bilder. Somit ist gewährleistet, daß es keinen Unterschied macht, welche Modalitäten man mit welchem PACS- oder RIS-System zusammen einsetzt. Wenn alle konform zum DICOM Standard sind, gibt es keine Probleme.
    Modalitäten und Viewing Stations
    • Unter Modalitäten versteht man die verschiedenen Großgeräte wie CTs oder MRs, aber auch digitales Röntgen und die Nuklearmedizin. Es sind also allgemein die Geräte, in denen digitale Bilder erzeugt werden.
    • Auf den Viewing Stations können die so aufgenommenen Bilder betrachtet und vor allem befundet werden. Die Bilder können aber auch auf einem Film ausgegeben und dann herkömmlich befundet werden.
    • Viewing Stations stellen darüber hinaus noch eine Reihe von zusätzlichen Funktionen zur Verfügung wie die Änderung der Level/Window Einstellungen und das Betrachten und Vergrößern von Ausschnitten der Bilder. Manche bieten Funktionen der digitalen Bildverarbeitung bis hin zur dreidimensionalen Rekonstruktion von Tomographiedaten. Je nach Hersteller sind diese Eigenschaften sehr unterschiedlich.
    • Meistens werden die Viewing Stations in Verbindung mit den Modalitäten gekauft und sind vom selben Hersteller. Daher sind die Geräte optimal aufeinander abgestimmt. Ein Nachteil kann sein, daß diese Viewing Stations nur mit den Modalitäten eines Herstellers zusammenarbeiten. Es müssen dann für die verschiedenen Geräte der unterschiedlichen Hersteller verschiedene Viewing Stations beschafft werden. Wenn die Viewing Stations über eine korrekte DICOM Schnittstelle verfügen, ist eine Kommunikation über Herstellergrenzen hinweg kein Problem.
    • Dann ist nur eine Viewing Station nötig, auf der die Radiologen befunden und die Bilddaten weiterverarbeitet werden können. Auf jeden Fall besteht dann die Möglichkeit, daß auf allen Viewing Stations die Bilder aller Patienten angezeigt werden. Dadurch muß der Radiologe bei der Befundung verschiedener Aufnahmen (z.B. CT und MR) des selben Patienten nicht den Arbeitsplatz wechseln.
    Teleradiologie
    • Die Teleradiologie ist sicherlich einer der jüngsten Bestandteile der Radiologie. Nähere Informationen speziell zum Teleradiologiesystem CHILI sind in der Arbeit von Engelmann zu finden See [Engelmann 97] . In dieser Arbeit sind auch die Voraussetzungen für Teleradiologie und die Einteilung von Teleradiologiesystemen in Generationen enthalten.
    • Die Teleradiologie beschäftigt sich nicht nur mit dem einfachen Verschicken von radiologischen Bildern, sondern bietet eine weit höhere Funktionalität. Zuerst müssen die Bilder von den digitalen Modalitäten möglichst ohne Qualitätsverlust empfangen werden können. Dazu sind digitale Schnittstellen nötig. Gängige Schnittstellen hierfür sind DICOM oder auch die älteren ACR/NEMA Standards. Werden die Bilder von Filmen abgescannt, um sie zu digitalisieren, so ist dies immer mit einem Qualitätsverlust verbunden. In der Regel haben die digitalen Bilder zwölf oder 16 Bit Grauwertauflösung, während beim Scannen normalerweise maximal acht Bit erreicht werden.
    • Neben dem Empfangen der Bilder muß ein ausgereiftes Teleradiologiesystem auch über eine Datenbank verfügen, in der die empfangenen Bilder verwaltet werden. Dazu gehört eine grafische Oberfläche zur Betrachtung der Bilder, sowie einfache Bildverarbeitungsoperationen wie z.B. Level/Window-Einstellungen. Dies macht die Funktionalität einer Teleradiologiestation der einer Viewing Station sehr ähnlich.
    • Wichtigstes Unterscheidungskriterium zur Viewing Station ist, daß zwei Partner mit Teleradiologiestationen kooperative Sitzungen miteinander halten können. Sie betrachten also zur selben Zeit dieselben Bilder und können dabei gemeinsam diese Bilder besprechen. Dazu ist es sehr hilfreich, wenn man jeweils den Mauszeiger der Gegenseite auch auf dem eigenen Bildschirm sieht und dem Partner im Bild bestimmte Bereiche zeigen und markieren kann. Genauer beschrieben sind die Grundsätze und Voraussetzungen für Teleradiologiesysteme in den Standards der ACR/NEMA für die Teleradiologie See [ACR 94] .
    • Die gesamte Kommunikation ist in See Der Platz der Teleradiologie einmal zusammengestellt.
    • Wichtig für die Teleradiologiesysteme sind die Schnittstellen zur Außenwelt. Es muß sowohl mit dem PACS, den Modalitäten als auch den Viewing Stations kommuniziert werden können. Dafür bietet sich wieder DICOM an.
    • Das Teleradiologiesystem CHILI ist von den Datenstrukturen und dem Aufbau her komplett an DICOM orientiert, so daß die verschiedenen Konzepte gut zu implementieren sind.
    Beispielszenarien in der Radiologie
    • Hier sind zwei Kommunikationsszenarien in der Radiologie dargestellt. Das erste ist das Ziel für das Teleradiologiesystem CHILI, das mit den vom Autor implementierten DICOM Routinen erreicht werden soll. Das zweite ist dann das, was man sich unter Kommunikationsgesichtspunkten als optimale Radiologie vorstellt.
    CHILI Radiologie
    • In See Die CHILI Radiologie wird die für das Teleradiologiesystem CHILI wichtigste Kommunikation dargestellt, die wenn möglich mit den DICOM Routinen erreicht werden soll.
    • Dabei werden die Bilder direkt von den digitalen Modalitäten ohne Qualitätsverlust empfangen. Es besteht die Möglichkeit, sie dann auf der Teleradiologiestation CHILI weiterzubearbeiten. Es können kooperative Sitzungen mit anderen Teleradiologiepartnern abgehalten werden. Natürlich ist es möglich, die Bilder nicht nur auf der Workstation zu befunden, sondern auch auf Film oder Papier mit DICOM auszudrucken. An ein vorhandenes Archiv können die Bilder zum Archivieren geschickt, und natürlich kann dieses Archiv auch wieder abgefragt werden. Dadurch kann man alte Bilder wieder auf die Befundungsstation transferieren.
    • Mit einer vorhandenen Viewing Station können Bilder ausgetauscht werden. Außerdem besteht die Möglichkeit, Anfragen an die andere Datenbank zu stellen, wenn die Viewing Station dies zuläßt.
    Optimale Radiologie
    • Gegenüber dem vorigen Kapitel wird in See Modell einer optimalen Radiologie noch auf einige weitere Kommunikationsmöglichkeiten eingegangen. Es wird sich noch zeigen, ob hierbei wirklich alles mit DICOM zu realisieren ist, oder ob hier vielleicht wieder auf proprietäre Protokolle zurückgegriffen werden muß.
    • Neben den oben bereits beschriebenen Funktionen, die alle mit DICOM zu verwirklichen sind, ist hier noch einiges hinzugekommen. Sehr wichtig ist vor allem die Kopplung von KIS und RIS, über die die Patientendaten vom KIS an das RIS und weiter zu den Modalitäten gelangen. Dies ist sehr wichtig, um Fehler zu vermeiden und Identifikationsnummern eindeutig zu vergeben. Außerdem werden so die Befunde direkt digital an das KIS verschickt. Über das Empfangen von Patientendaten ist vom RIS auch ein einfaches Prefetching möglich.
    • Innerhalb der Radiologie ist vor allem das Worklist Management sehr wichtig. Dabei wird jeweils der Status des Patienten im Behandlungsablauf kontrolliert und verwaltet (z.B. "aufgenommen", "befundet"). Hierdurch ist eine Optimierung der Auslastung der Geräte und insgesamt der Arbeitsabläufe möglich, was ökonomisch sehr interessant ist.
    • Eine wirklich sichere Kommunikation ist über DICOM leider noch nicht möglich, da hierbei die verschiedensten Sicherheitsaspekte betrachtet werden müssen. Genaueres ist im Sicherheitskonzept von Baur zu lesen See [Baur 96] . Bisher muß dafür noch auf proprietäre Protokolle zurückgegriffen werden. Allerdings gibt es für DICOM eine Arbeitsgruppe, die sich mit Datenschutz und Datensicherheit beschäftigt. Bisher sind die Gesetze in den einzelnen Ländern noch zu unterschiedlich, als daß eine allgemein gültige Lösung gefunden werden kann.
    Ziele
    • Das vorrangige Ziel dieser Arbeit ist es, einen Teil zu einer besseren Patientenversorgung beizutragen. In diesem Fall geht es vor allem um eine beschleunigte Bildkommunikation. Durch eine solche schnelle Bildkommunikation können die Bilder des Patienten schneller befundet werden. Eine Behandlung wie z.B. eine Operation kann früher erfolgen. Dadurch sind auch ökonomische Verbesserungen zu erreichen, was in unserem Gesundheitswesen mittlerweile an Bedeutung gewonnen hat. Dies wird durch eine kürzere Liegezeit und durch eine beschleunigte Heilung erreicht. Außerdem werden die Bilder neuen Diagnosemöglichkeiten aus der digitalen Bildverarbeitung zur Verfügung gestellt. Siehe hierzu auch die Arbeit von Glombitza See [Glombitza 95] .
    • Dazu ist es in erster Linie notwendig, Bilder von den digitalen Modalitäten mit DICOM Fähigkeiten direkt im DICOM Kommunikationsprotokoll zu erhalten. Immer mehr Geräte bieten DICOM Schnittstellen an. Deswegen ist es für ein System in der Radiologie unerläßlich, daß dieser Standard beherrscht wird. Ohne DICOM ist es zwar auch teilweise möglich, über FTP oder andere Protokolle an die Bilder zu gelangen. Dies ist aber keine saubere Lösung und es muß vieles von Hand gemacht werden. Mit DICOM wird diese Übertragung entschieden vereinfacht. Der DICOM Server war also von Anfang an der wichtigste Teil der Diplomarbeit.
    • Allerdings ist es nicht nur nötig, Bilder von den digitalen Modalitäten in DICOM zu bekommen, sondern auch, sie auf diese Weise zu verschicken (C-Store). Bisher war dieses Verschicken nur im CHILI-eigenen Protokoll möglich. Um ein Archiv zu bedienen ist aber eine standardisierte Schnittstelle am besten geeignet. So legt man sich nicht auf einen Archiv-Hersteller fest, sondern kann mit allen kooperieren.
    • Das Abfragen von Archiven ist ebenfalls sehr wichtig, da man an die früher aufgenommenen, archivierten Bilder auch wieder herankommen möchte. Dazu müssen Routinen für das Abfragen von Datenbanken und das Anfordern von Bildern (Query und Retrieve) entwickelt werden. So können einfache Datenbankanfragen gestellt und Bilder von einzelnen Patienten, Studien oder Serien angefordert werden.
    • Im Laufe der Entwicklung stellte sich heraus, daß es sinnvoll ist, einen Datenbanktreiber für die Abfrageroutinen zu entwickeln. Der Anschluß eines Archives an CHILI soll für das System nicht von einer Verbindung zur internen Datenbank unterschieden werden können, um den Programmcode möglichst einfach und vielseitig verwendbar zu halten. Also war das Ziel auch eine SQL/DICOM Schnittstelle, die SQL Kommandos direkt in DICOM Befehle umsetzt. Dies ist allerdings mit einigen Schwierigkeiten verbunden, da DICOM im Vergleich zu SQL nicht sehr viel Funktionalität bietet.
    • Über die Routinen für das Query und Retrieve kann man eine Art Prefetching auf das Archiv machen. So können alte Bilder von gerade zu befundenden Patienten automatisch auf die Befundungsstation geladen werden. Dadurch können die neuen Bilder gegebenenfalls gleich mit den alten Bildern verglichen werden.
    • Das Abfragen der internen Datenbank soll für externe Anwendungen mit den entsprechenden Rechten natürlich auch möglich sein. So können externe Viewing-Stations oder andere CHILI-Stationen die interne Datenbank einer CHILI-Applikation abfragen und Bilder anfordern. Dies ist ein wichtiger Schritt zu einer umfassenden Kommunikation.
    • Der Vollständigkeit halber wurden auch Routinen für das Verify entwickelt, die als einfacher Test für DICOM Funktionalitäten dienen. Der Server reagiert auf das Verify mit einem OK. CHILI bietet ebenfalls die Möglichkeit an, mit Verify eine andere Station abzufragen. Dieser Befehl hatte aber keine sehr hohe Priorität für die Entwicklung.
    • Ein längerfristiges Ziel war die Möglichkeit, in DICOM zu drucken, da bisher die Bilder einfach direkt an einen Postscript-Drucker geschickt werden. Wenn man über DICOM drucken kann, dann können auch einige Laser Imager direkt angesprochen werden. Es ist abzusehen, daß immer mehr Laser-Imager DICOM verstehen. Die Implementierung proprietärer Protokolle (z.B. 3M Protokoll) lohnt sich in diesem Fall nicht.
    • Das Drucken per DICOM hatte aber verglichen mit den anderen Funktionen eine untergeordnete Priorität, da in einer Übergangslösung direkt per Postscript gedruckt werden kann. Mit einem DICOM Printserver können allerdings auch von Viewing Stations direkt Bilder auf einfachen Laserdruckern ausgedruckt werden, ohne die Bilder erst auf CHILI übertragen zu müssen.
    • Am Anfang war das Empfangen von DICOM Bildern die wichtigste Funktionalität, während später immer mehr auf eine umfassende Kommunikation mit allen Teilbereichen der Radiologie wertgelegt wurde. Besonders der Datenbanktreiber hat eine sehr wichtige Funktion bei der Kopplung mit Archiven, was in einer Radiologie unerläßlich ist. Das Drucken wurde in der Komplexität am Anfang etwas unterschätzt. Es wurde deswegen nicht mehr im Rahmen dieser Diplomarbeit implementiert.
    • Allgemeines über die Zielformulierungen und Aufgaben von Informationssystemen in der Medzin kann in dem Buch von Köhler nachgelesen werden See [Köhler 82] .

    Standards in der medizinischen Bildverarbeitung und Bildkommunikation

    Problematik
    • In der Radiologie werden aufgrund digitaler Bilder sehr große Datenmengen erzeugt. Diese großen Datenmengen wurden zu Beginn der digitalen Radiologie (CT: 1970, MR: 1975) vor allem analog auf Filmen gespeichert, also ähnlich wie die analogen Röntgenbilder. Zu dieser Zeit waren die Rechner noch nicht leistungsfähig genug, um so große Datenmengen in akzeptabler Geschwindigkeit zu speichern und zu verwalten. Es gab schon Massenspeicher, die aber extrem teuer waren und keinen schnellen Zugriff erlaubten. Ordentliche Bildverarbeitung so großer Datenmengen war zu dieser Zeit nicht praktizierbar.
    • Mit der Entwicklung schnellerer Rechner und vor allem preiswerter und schnellerer Massenspeicher wurden die Bilder zunehmend auch digital archiviert. Nun bestand auch das Bedürfnis, die Bilder digital weiterzuverarbeiten. Da jeder Hersteller die Bilder in seinem eigenen Format ablegte, war es oftmals schwierig, an die für eine Weiterverarbeitung notwendigen Informationen zu kommen. Jedes Bildformat mußte für sich interpretiert werden. Nicht alle Hersteller legten Ihre Standards offen, so daß es teilweise sehr schwierig war, einzelne Bildformate zu entschlüsseln. Siehe hierzu auch die Medical Image Format FAQ See [Clunie 97] .
    • Waren mehrere digitale Modalitäten angeschlossen, mußten die Bildverarbeitungssysteme die Bilder jedes einzelnen Gerätes für sich interpretieren und in ein zu verarbeitendes Format umwandeln. Zu Beginn des digitalen Röntgens hatten nur die wenigsten Abteilungen oder Ärzte mehr als eine digitale Modalität. Mittlerweile hat jede größere Klinik mindestens ein CT und ein MR. So wird die Problematik größer, wenn jedes Gerät die Bilder in einem anderen Format ablegt. Vor allem treibt es die Kosten in die Höhe, wenn für jedes Gerät eine eigene Schnittstelle entwickelt werden muß.
    • Außerdem besaßen die wenigsten Geräte eine Netzwerkunterstützung, so daß die Bilder immer über Magnetbänder, Wechselplatten ode r Disketten transferiert werden mußten. Das ist sehr fehleranfällig und vor allem aufwendig. Ein Transport über ein Netzwerk ist wesentlich komfortabler, weniger fehleranfällig und vor allem deutlich schneller.
    • Auch die Archivierung der Bilder ist oftmals ein Problem. Wenn die Bilder auf Film archiviert werden, ist dies nicht nur teuer, sondern nimmt auch sehr viel Platz in Anspruch. Es muß eine aufwendige Organisation betrieben werden, um alle Bilder auch wirklich bei Bedarf wiederfinden zu können, denn die Aufbewahrungszeit von 30 Jahren ist gesetzlich vorgeschrieben. Erfolgt die Archivierung digital, so ist die Organisation etwas weniger komplex, und es wird deutlich weniger Platz benötigt. Hat allerdings jedes Gerät andere Massenspeicher, so müssen die Bilder für jedes Gerät getrennt archiviert werden.
    • Es erscheint sinnvoll, ein einheitliches Format für die Archivierung aller Bilder zu haben und die Bilder aller Modalitäten auf den gleichen Datenträgern abzuspeichern. Dazu ist eine Netzwerkkommunikation für den Bildversand sehr wichtig.
    • Ausgehend von diesen Problemen wurde versucht, einen einheitlichen Standard für die medizinische Bildverarbeitung und vor allem auch Bildkommunikation über Netzwerke zu entwickeln. An diesem Standard sollten sowohl die Radiologen als auch die Geräte- und Softwarehersteller mitarbeiten. Ziel war eine möglichst umfassende Kommunikation, die allen Bedürfnissen entspricht.
    Herstellerstandards
    • Zu Beginn der digitalen medizinischen Bildverarbeitung hatte jeder Hersteller sein eigenes Bildformat, das natürlich optimal auf die eigenen Bedürfnisse zugeschnitten war. Teilweise waren diese Formate sogar für die einzelnen Geräte desselben Herstellers unterschiedlich, so daß man für jedes Gerät eine eigene Schnittstelle erstellen mußte, wenn man Bilder von diesen Geräten weiterverarbeiten wollte. Das ist natürlich sehr aufwendig.
    • Einige Hersteller gaben noch nicht einmal Beschreibungen des eigenen Datenformates heraus. Es war deshalb schwer, selber an die Bilder heranzukommen, um sie digital weiterzuverarbeiten. Bei der Verarbeitungssoftware war man wieder auf Geräte desselben Herstellers angewiesen, wenn man keine größeren Probleme haben wollte. Das schafft natürlich eine perfekte Produktbindung. Deshalb konnten sich dies vor allem die großen Hersteller erlauben, die ihr Format damit zu einem de facto Standard machten. Mit solchen eigenen Formaten können natürlich die effektivsten und schnellsten Programme geschrieben werden, da optimal auf die eigenen Probleme und Bedürfnisse eingegangen werden kann.
    • Beispielhaft werden im folgenden zwei Hersteller aufgeführt und auf deren Bildformate eingegangen.
    • Genaues über die verschiedensten Bildformate in der Medizin ist in den Dokumenten von Clunie zu finden See [Clunie 97] .
    Beispiel Siemens
    • Die MRs ( Magnetom) und CTs (Somatom) von Siemens benutzen beide unterschiedliche Formate, die aber in den Grundcharakteristika übereinstimmen.
    • So haben beide Formate eine feste Länge von z.B. 133120 Bytes für ein Bild mit 256x256 Pixeln. Im ersten Teil sind die Informationen wie Matrixgröße oder Level/Window Einstellungen jeweils an einer festen Stelle gespeichert. Auch die Pixelinformationen haben einen festen Offset vom Beginn des Bildes. Für die Patienteninformationen existieren keine eigenen Felder, sie sind aber über das Overlay des Bildes zu erhalten.
    • Für die Codierung von Zahlen wird Little Endian benutzt.
    • Neben diesem internen Format bieten die Siemens-Geräte eine Exportfunktion in das SPI-Format (Standard Product Interconnect), das von ACR/NEMA 1.0 abgeleitet ist. Leider benutzt Siemens anstelle der existierenden Felder des Standards oft eigene private Felder für die verschiedenen Inhalte. Das erschwert eine Weiterverarbeitung der Bilder ungemein.
    • Die neuen Geräte von Siemens unterstützen alle DICOM, zumindest die Store-Funktion. Ein solches Gerät wurde im Rahmen der Arbeit mit DICOM angeschlossen.
    Beispiel GE
    • GE benutzt als internes Bildformat für die CT und MR Geräte Genesis. Dieses Format enthält einen Header fester Länge, in dem jeweils Zeiger auf die wichtigsten Datenblöcke innerhalb der Datei sind. Wichtige Datenblöcke sind z.B. die Pixeldaten und die Patienten- oder Studiendaten. Diese einzelnen Datenblöcke haben auch wieder jeweils eine feste Länge, in der die Informationen direkt hintereinander abgelegt sind. Jedes Datenfeld hat eine feste Länge. Die Bilder können komprimiert oder unkomprimiert abgelegt werden.
    • Für die verschiedenen Geräte werden bei GE verschiedene Rechnerarchitekturen benutzt. So laufen die MR Signa 3.x und 4.x auf 68000ern, die neueren auf MR Signa 5.x auf Suns und die Advantage Windows Viewing Station auf Sun Sparcstations. Dadurch haben die internen Darstellungen von Zeigern oder Real-Werten, die in den Headern benutzt werden, eine unterschiedliche Länge. Entsprechend unterscheidet sich je nach Plattform die Länge der Header, die eigentlich einheitlich sein sollte.
    • Solche Bilder können also nur mit Kenntnis der Systemarchitektur problemlos gelesen werden.
    • Die neueren GE Geräte unterstützen alle DICOM. Zwei CT Prospeed und ein MR Signa wurden im Rahmen dieser Arbeit per DICOM angeschlossen.
    Weitere Hersteller
    • Die Geräte von Philips bieten genauso wie die Geräte von Siemens eine Exportfunktion in das SPI-Format. Es wird auch Little Endian benutzt. Im Gegensatz zu Siemens hält sich Philips an die Standardfelder und benutzt nicht so viele private Datenelemente. Dadurch sind diese Bilder wesentlich besser zu verarbeiten.
    • Eine Besonderheit bei Philips ist, daß die 12-Bit Bilddaten nicht als zwei Byte gespeichert werden, sondern als 12 Bit hintereinander weg. Dadurch haben die Bilddaten einen geringeren Speicherbedarf.
    ACR/NEMA
    • Zu Beginn des Jahres 1983 gründeten das ACR (American College of Radiology) und die NEMA (National Electrical Manufacturers Association) ein gemeinsames Komitee zur Erstellung eines Bildverarbeitungsstandards für die Medizin. Dieser Standard sollte sowohl den Vorstellungen der Radiologen als auch den Bedürfnissen der Hersteller der Elektroindustrie entsprechen.
    • Erst durch eine solche übergreifende Initiative konnte ein einheitlicher Standard für die medizinische Bildverarbeitung und Bildkommunikation entworfen werden, um übergreifende PACS Systeme mit vertretbarem Aufwand zu ermöglichen.
    ACR/NEMA 1.0
    • Aus den Forderungen nach einem einheitlichen Standard für die medizinische Bildverarbeitung wurde 1983 mit einem gemeinsamen Komitee der ACR und der NEMA der Grundstein für diesen Standard gelegt. Es wurden verschiedene Eigenschaften existierender Standards betrachtet, die aber alle nur teilweise den Bedürfnissen entsprachen. So wurden einige der Grundsätze aus diesen existierenden Standards gewonnen. Die Feldinhalte sollten eine variable Länge haben, und jedes Datenfeld sollte durch eine eindeutige Bezeichnung ( Tag) gekennzeichnet sein. Dies ist quasi der Name des Feldes. Außerdem wurde die Erstellung eines Data Dictionary mit sämtlichen Datenfeldern beschlossen.
    • So wurde 1985 die erste Version des Standards mit dem Namen ACR-NEMA 300-1985 auf der RSNA vorgestellt und die Unterlagen wurden publiziert.
    • Als Kommunikationsschnittstelle war nur eine Punkt-zu-Punkt Kommunikation vorgesehen, allerdings keine Netzwerkverbindung.
    • Bei den ersten Versuchen mit diesem Standard und dem Einsatz in der Praxis wurden allerdings einige kleine Fehler und Probleme des Standards klar. Es gab eine Arbeitsgruppe, die all diese Fehler aufnahm und den Standard entsprechend umgestaltete. Daraus entstand schließlich die nächste Version des Standards.
    • Ein von ACR/NEMA abgeleitetes Bildverarbeitungsprotokoll ist SPI, das von Siemens und Philips benutzt wird. Allerdings werden zum Teil nicht die Standardfelder benutzt, sondern eigene definiert, so daß eine standardisierte Bildverarbeitung nur schwer möglich ist.
    ACR/NEMA 2.0
    • Die Version 2.0 des ACR-NEMA Standards behob einen Großteil der Fehler der ersten Version, so daß es ein häufig benutzter Standard wurde. Die Grundkonzepte sind denen der ersten Version sehr ähnlich. An einigen Stellen wurde der Standard erweitert, er war also wesentlich umfangreicher als die Vorgängerversion.
    • Allerdings wurden dieselben Hardwarespezifikationen benutzt wie bei der ersten Version des Standards, also nur Punkt-zu-Punkt Verbindungen. Eine Netzwerkkommunikation war nur über eine NIU (Network Interface Unit) möglich. Eine solche Einheit setzt die Kommandos einer Punkt-zu-Punkt-Verbindung auf das Netzwerkprotokoll um.
    • Allerdings war schon 1988, als der Standard publiziert wurde, eine sehr hohe Nachfrage nach einer solchen Netzwerkkommunikation vorhanden. Die Computer hatten zu dieser Zeit eine Leistungsfähigkeit erreicht, die das Kommunizieren über Netzwerke überhaupt erst möglich machte.
    • Es wurde zu dieser Zeit überlegt, ob man die Netzwerkprotokolle über kleinere Veränderungen in den Standard einarbeiten könnte. Dann aber wurde beschlossen, einen völlig neuen Standard zu implementieren.
    DICOM 3.0
    • Für DICOM 3.0 (Digital Image COmmunications in Medicine) wurde ein völlig neues Entwurfskonzept erstellt. Der gesamte Standard sollte objektorientiert entworfen werden, um ihn leichter änderbar und erweiterbar als die Vorgängerversionen zu machen.
    • Die Dokumentation wurde nicht mehr als ein Dokument herausgegeben, sondern in mehreren Teilen veröffentlicht, so daß bei Veränderungen nicht mehr alles neu gemacht werden muß, sondern gezielt einzelne Teile der Dokumentation umgeschrieben werden können. Der Aufbau der Dokumentation wird im Kapitel 4 noch näher beschrieben.
    • 1990 wurde mit der Arbeit am Standard begonnen, und 1992 wurden auf der RSNA die ersten Teile veröffentlicht. Die Teile 1 (Einführung) und 8 (Netzwerkkommunikation) wurden als fertige Teile herausgegeben, während die Abschnitte zwei bis sieben erst als Draftversionen vorgestellt wurden. 1992 wurde auf der RSNA bereits eine Demonstration der DICOM Netzwerkkommunikation mit den alten ACR-NEMA 2.0 Datenelementen gemacht. 1993 schließlich war der Standard komplett publiziert und es wurde eine DICOM Demonstration verschiedener Hersteller gemacht. Die zentralen Routinen für diesen DICOM Test lieferte das " Mallinckrodt Institute of Radiology" in S t. Louis. Eine aktuelle Version dieser Quelltexte ist unter [ftp://ftp.erl.wustl.edu/pub/dicom] erhältlich.
    • DICOM hat auch die Kennzeichnung der Datenfelder mit eindeutigen Tags wie die Vorgänger. Dadurch wurde eine gewisse Abwärtskompatibilität erhalten, da einige dieser Tags identisch zu den Vorgängerversionen sind. In DICOM nennt man nicht mehr benutzte Tags der alten Versionen " Retired".
    • Die Datenfelder wurden in Gruppen zusammengefaßt. So existieren Gruppen für die Patienten- und für Studien- oder Serien-Information. Die Kennzeichnung erfolgt dabei über zwei 16-Bit Zahlen, eine für die Gruppe und eine für das Element innerhalb der Gruppe. In DICOM gibt es genaue Beschreibungen dieser Gruppen über Entity-Relationship Diagramme. Es ist also für die einzelnen Objekte genau klar, welche Elemente wozu gehören. Siehe hierzu auch Anhang A und See Entity-Relationship Diagramm für die composite Informationsobjekte .
    • Bei der Netzwerkkommunikation gibt es Modelle für TCP/IP und für das ISO/OSI-Schichtenmodell. Außerdem gibt es noch die Punkt-zu-Punkt Verbindung, die allerdings in der europäischen Version des Standards (MEDICOM) nicht mehr vorhanden ist. In Europa spielt dieses Protokoll keine Rolle. Das DICOM Schema läßt sich problemlos auf andere Netzwerkmodelle erweitern.
    • Die Stärke von DICOM liegt in der Kommunikation. Es können nicht nur Bilder oder andere Objekte verschickt werden, sondern es sind auch Aktionen auf diesen Elementen definiert. So können Bilder zum Archivieren versand werden, sie können zum Ausdrucken verschickt werden, oder es können an ein Archiv einfache Abfragen mittels DICOM gestellt werden. Es werden also Methoden auf den Objekten definiert, wie es einem objektorientierten Entwurf entspricht.
    • Interessant ist das Aushandeln der Kommunikation. Zwei Partner, die miteinander kommunizieren möchten, prüfen erst einmal, ob eine Kommunikation einen Sinn macht, ob sie also die gleiche Sprache (Protokoll) sprechen. Dann muß geprüft werden, ob der Partner überhaupt die Aktion ausführen kann, die die Gegenstelle gerade benötigt. Sind diese Dinge abgeglichen, kann eine Kommunikation stattfinden. Nur dann ist eine sinnvolle Verbindung möglich.
    • Außerdem gibt es die sogenannten Conformance Statements. Hierin beschreibt jeder Hersteller von DICOM Software oder DICOM Geräten genau, welche Teile des Standards er beherrscht. Dadurch kann schon anhand des Conformance Statements erkannt werden, ob zwei Geräte oder Programme per DICOM zusammenarbeiten können oder nicht. Das kann viel Zeit und auch Geld sparen.
    • Wichtig ist auch die eindeutige Identifikation von Objekten in DICOM. Jedes Objekt erhält eine weltweit eindeutige Bezeichnung, und es kann immer auf den Ersteller geschlossen werden.
    • Alles weitere zu DICOM wird im See Beschreibung des DICOM Standards erläutert.
    Gründe für DICOM
    • Das wichtigste Argument für DICOM ist sicherlich, daß es ein weltweit akzeptierter Standard ist, da nicht nur die amerikanischen Normungsbehörden mitarbeiten, sondern auch die europäischen ( CEN) und die japanischen ( JIRA).
    • Allerdings kann sich ein Standard nicht entwickeln, wenn er nicht von der Herstellern unterstützt wird. DICOM wird mittlerweile von fast allen Herstellern, teilweise auch unter einem gewissen Druck, unterstützt, so daß sich die Anzahl der DICOM Geräte in den nächsten Jahren sicher noch vervielfachen wird. Die Hersteller haben bei der Entwicklung von DICOM eine Hauptrolle gespielt, der Standard ist also nach ihren Wünschen entstanden. Und natürlich bringt dieser Standard auch viele Vorteile für die Radiologen, die die Anwender von DICOM Systemen sind. Sie kommen nicht nur schneller an die Bilder, sondern haben auch viel mehr Möglichkeiten der Bildkommunikation, wie das Verschicken der Bilder. Bildverarbeitungssysteme sind jetzt nicht nur für einzelne Modalitäten verfügbar, sie können für alle Bilder benutzt werden.
    • Durch das objektorientierte Design bietet DICOM viele Möglichkeiten für Erweiterungen und Änderungen am Standard. Dies alles ist relativ leicht machbar, da nicht immer die gesamte Dokumentation geändert werden muß, sondern gezielt bestimmte Teile angepaßt werden können.
    • Dazu gibt es eine ganze Reihe von Arbeitsgruppen, denen Mitglieder der Elektroindustrie, Softwarehersteller und Mitarbeiter der Normungsgremien angehören. So können wichtige Änderungen relativ schnell umgesetzt werden. Es ist somit sichergestellt, daß nicht in eine falsche Richtung entwickelt wird. Trotzdem dauert die Umsetzung einer Änderung in den Standard noch recht lange, da eine große Bürokratie für die Verwaltung nötig ist.

    Beschreibung des DICOM Standards

    Problematik
    • Das größte Problem bei DICOM ist, daß es sich um einen sehr umfangreichen Standard handelt. Bevor sich jemand soweit eingearbeitet hat, daß er wirklich effektiv Programme entwickeln kann, muß er einen Großteil der Standard Dokumentation durchgearbeitet haben. Dabei verweisen die Kapitel ständig aufeinander, so daß man sie nicht einfach sequentiell durchlesen kann, sondern sich immer wieder den hierarchischen Aufbau klarmachen muß. Dieser Aufbau wird in See Gliederung der DICOM Dokumentation gezeigt. Dabei wird deutlich, was aufeinander aufbaut und wie die verschiedenen Teile miteinander verbunden sind.
    • Außerdem bedient sich DICOM einer etwas eigenen Terminologie, die zuerst verstanden werden muß, wenn man die Dokumentation effektiv lesen möchte. Diese Terminologie ist im Glossar zusammengefaßt.
    • DICOM wird ausgehend von den kleinsten Objekten beschrieben. Dabei wird die Terminologie deutlich, die sich stark an das Objektmodell angliedert, welches DICOM zugrundeliegt.
    • Ein weiteres Problem ist, daß DICOM ständig verändert und erweitert wird. Es gibt eine große Anzahl Arbeitsgruppen, die sich mit der Erweiterung oder Veränderung des Standards beschäftigen. Dadurch gibt es immer neue Correction Proposals, in denen Änderungen vorgenommen und Supplements, in denen Neuerungen des Standards beschrieben werden. Um immer auf einem aktuellen Stand zu sein, muß man sich ständig um die aktuellen Versionen der Dokumente bemühen, denn es gibt keine offiziellen Updates der NEMA. Außerdem sind die Kosten für die Standarddokumentation sehr hoch und es dauert mehrere Wochen von der Bestellung bis zur Auslieferung. Leider sind die Dokumente trotz zahlreicher Ankündigungen noch immer nicht Online verfügbar.
    • See Gliederung der DICOM Dokumentation zeigt die Gliederung der Dokumentation. Ausgehend von diesem Aufbau ist DICOM sicherlich nicht in kurzer Zeit zu verstehen.
    • Es ist zu erkennen, daß die Übersicht und das Data Dictionary die beiden Teile sind, die für alles Darunterliegende gelten. Das Conformance Statement erstreckt sich über die Serviceklassen, die Informationsobjekte und die Codierung des Ganzen. Auf der anderen Seite beschreiben die Applikationsprofile für feste Medien die Physikalischen Medien und Medienformate mit den dazugehörigen Serviceklassen. Die Informationsobjekte bauen auf der Codierung auf, die Netzwerkbeschreibungen auf den Netzwerkprotokollen, und die Medienformate bauen auf den physikalischen Medien auf.
    • Gute Bücher zu DICOM sind See [Hindel 94] , See [Weaver 94] , See [Revet 97] .
    DICOM Konzepte
    • Dieser Abschnitt gibt eine didaktische Einführung in DICOM. Es werden die gesamten Konzepte der Objektorientiertheit des Standards erläutert. So ist der Aufbau mit Sicherheit wesentlich einfacher zu verstehen, als wenn man versucht, ihn aus den Standardunterlagen zu erarbeiten.
    • Die Konzepte der Objektorientiertheit werden beginnend von den kleinsten Einheiten erläutert. Dabei gelangt man zu immer größeren Blöcken und begreift die verschiedenen Zusammenhänge zwischen den Klassen. Die Terminologie von DICOM wird in diesem Zusammenhang auch klar werden.
    Objektorientiertheit
    • DICOM ist ein objektorientiert aufgebauter Standard. Allerdings entsprechen nicht alle Konzepte dem, was in der Programmierung im allgemeinen als objektorientiert verstanden wird. Diese Objektorientierung hat den großen Vorteil, daß Änderungen im Standard relativ problemlos durchzuführen sind.
    • Konzepte der Objektorientiertheit sind zum Beispiel die verschiedenen Klassen für die einzelnen Objekte, denen bestimmte Eigenschaften zugeordnet sind. Wird ein Objekt einer Klasse mit Werten belegt, so nennt man es eine Instanz, es ist also eine Ausprägung einer Objektklasse. Diesen Objektklassen und damit auch den Instanzen sind Methoden bzw. Aktionen zugeordnet. So kann der Objektklasse der CT Bilder die Methode Speichern oder Drucken zugeordnet sein.
    • Nicht ganz konform mit der objektorientierten Terminologie sind die Methoden nicht direkt den Objektklassen zugeordnet, sondern es entstehen neue Klassen, die sogenannten Service Object Pairs. Ein Beispiel für eine solche Klasse ist das Verschicken von CT Bildern. Eine Instanz dieser Klasse ist das Verschicken eines ganz bestimmten CT Bildes.
    • Weitere Informationen zur Objektorientiertheit sind in den Büchern von Booch und Coad zu finden See [Booch 91] , See [Coad 72] .
    Attribute und Attributwerte

    Attribute sind die kleinsten Einheiten der Objekte. Tabelle 4-1 zeigt einige Beispiele für Attribute.

    Beispiele für Attribute

    Attribute

    Name

    Geburtsdatum

    Geschlecht

    Serviceklasse

    Modalität

    Pixeldaten

    • Alle elementaren Bestandteile der Objekte sind also Attribute. Für diese gibt es ein eigenes Data Dictionary, in dem sämtliche unter DICOM erlaubten Attribute verzeichnet sind See [DICOM Part6 93] . Sind die Attribute belegt, ist dies der Attributwert. So ist für das Attribut Name ein möglicher Attributwert "Müller".
    • Aus diesen elementaren Attributen mit gewissen Zusatzinformationen setzen sich DICOM Dateien zusammen. Die Attribute sind sortiert und einfach hintereinander in einem Datenstrom angeordnet (siehe See DICOM Datenstrom ).
    • Dieser DICOM Datenfluß ist in allen Objekten gleich. Die zugehörigen Informationen zu den Attributen, die mit gespeichert werden, werden in den Abschnitten See Tags und See Value Representation erläutert.
    Tags
    • Jedes der Attribute hat eine Bezeichnung, um das Attribut eindeutig identifizieren zu können. Diese eindeutige Bezeichnung nennt man Tag. Sie besteht aus zwei 16-Bit-Zahlen.
    • Die erste dieser Zahlen steht für eine bestimmte Gruppe, die zweite für das Element innerhalb dieser Gruppe. Die DICOM Attribute sind also in Gruppen aufgeteilt, die zusammengehörige Informationen kennzeichnen. Solche zusammengehörigen Gruppen sind zum Beispiel die Informationen zu einem Patienten oder die Informationen zu einer Studie oder einer Serie. Diese Gruppen sind wie die Attribute und die Tags im Data Dictionary festgehalten. Beispiele für solche Tags sind in See Beispiele für die Tags zusammengefaßt.
    • Beispiele für die Tags

      Attribut

      Gruppen-Tag

      Element-Tag

      Name

      0010

      0010

      Geburtsdatum

      0010

      0030

      Geschlecht

      0010

      0040

      Serviceklasse

      0008

      0016

      Modalität

      0008

      0060

      Pixeldaten

      7FE0

      0010

    • Anhand der Nummern kann man erkennen, daß der Standard gut für Erweiterungen vorbereitet ist. Es ist problemlos möglich, weitere Informationen mit sinnvollen Nummern sowohl für Gruppen als auch für Elemente in den Standard einzufügen.
    • Es ist in DICOM auch möglich, sich eigene private Attribute und die dazugehörigen Tags zu definieren, um in DICOM nicht vorgesehene Informationen abzuspeichern. Dafür sind die ungeraden Gruppennummern vorgesehen, während die Standardelemente immer gerade Gruppennummern haben. Möchte man private Tags benutzen, muß man die Gruppe am Beginn des DICOM Objektes dafür reservieren. So können DICOM-konforme Applikationen erkennen, welche Objekte privat definiert sind. Private Attribute können zur Aufnahme in den Standard vorgeschlagen werden.
    Value Representation
    • In DICOM kann explizit angegeben werden, in welchem Format bestimmte Daten gespeichert sind, also ob es sich zum Beispiel um einen String, eine Integer Zahl oder eine Real Zahl handelt. Das ist wichtig, um beim Lesen eines DICOM Objektes die Werte auch richtig interpretieren zu können.
    • Zusätzlich ist zu jedem Attribut eine Value Representation im Data Dictionary abgelegt. Das entspricht der Default Value Representation. Sie muß bei Objekten nicht unbedingt angegeben werden, wenn sie nicht von der Vorgabe abweicht. Beispiele dazu sind in See Beispiele für die Value Representation zu finden.
    • Beispiele für die Value Representation

      Attribut

      Value Representation

      Gruppe

      Element

      Name

      PN

      0010

      0010

      Geburtsdatum

      DA

      0010

      0030

      Geschlecht

      CS

      0010

      0040

      Serviceklasse

      UI

      0008

      0016

      Modalität

      CS

      0008

      0060

      Pixeldaten

      OW

      7FE0

      0010

    • Zu den kryptischen Abkürzungen für die Value Representation gibt es auch eine ausgeschriebene Version, so steht PN für "Patient Name". Hinter "Patient Name" verbirgt sich als Typ beispielsweise ein String.
    • Für alle diese Typen gibt es in der DICOM Dokumentation See [DICOM Part5 93] eine exakte Beschreibung, in der die maximale Länge und die erlaubten Zeichen beschrieben sind. In See Beschreibung einer Value Representation sind diese Angaben beispielhaft für den Typ DA (Datum) aufgeführt.
    • Beschreibung einer Value Representation

      VR Name

      Definition

      Character Repertoire

      Länge

      DA Date

      Ein String aus Buchstaben im Format "yyyymmdd", y für Jahr m für Monat d für den Tag.

      (Eventuell ist auch das Format "yyyy.mm.dd" zugelassen, um eine Abwärtskompatibilität zu gewährleisten)

      Character "0"-"9" (evtl auch ".")

      8 Byte fest

      (evtl. auch 10 Byte)

    • Leider wird gerade beim Datum oft von dieser eigentlich sehr exakten Beschreibung abgewichen. Manchmal werden Punkte in das Datum geschrieben, manchmal ist ganz einfach die Reihenfolge von Tag, Monat und Jahr umgedreht.
    Informationsobjekte
    • In DICOM Informationsobjekten sind verschiedene Attribute der unterschiedlichen Gruppen zu Objektklassen zusammengefaßt. Ein Beispiel für eine solche Objektklasse ist die Klasse der CT Bilder, der bestimmte Attribute angehören.
    • Man unterscheidet generell zwei Arten von Informationsobjekten, die normalized Informationsobjekte und die composite Informationsobjekte.
    • Die normalized Informationsobjekte beinhalten nur Attribute aus einer Gruppe. So ist die reine Patienteninformation normalized, da nur Attribute aus der Gruppe der Patientendaten enthalten sind. Weitere Beispiele sind die Studieninformation oder die Serieninformation.
    • Composite Objekte beinhalten Attribute aus verschiedenen Gruppen. Ein Beispiel dafür ist die Klasse der CT Bilder. Hier sind nicht nur Informationen über den Patienten, sondern auch Informationen aus den Gruppen Serie und Studie enthalten.
    • Für diese zusammengesetzten Objekte gibt es in der Regel Entity-Relationship Diagramme, die den hierarchischen Aufbau eines solchen Objektes zeigen. Ein Beispiel dafür zeigt See Entity-Relationship Diagramm für die composite Informationsobjekte .
    • Die Rauten geben in diesen Diagrammen die Beziehung der über sie verbundenen Rechtecke an. Die Zahlen an den Pfeilen geben die Mengenbeziehung an. So hat ein Patient zwischen einer und n verschiedene Studien. Während eine Serie null bis n Bilder enthalten kann. Weiteres über Entity-Relationship Diagramme ist in dem Buch von Chen zu lesen See [Chen 77] .
    • Innerhalb der Informationsobjekte gibt es verschiedene Arten von Attributen.
    • Notwendige Objekte sind Objekte, die auf jeden Fall belegt sein müssen. Beim CT Bild ist dies zum Beispiel der Patientenname.
    • Bei notwendig aber leer erlaubt kann es sein, daß das Feld leer übergeben wird. Dieses Attribut muß aber in dem Informationsobjekt angelegt sein.
    • Unter bestimmten Voraussetzungen notwendig wäre zum Beispiel der Name des Kontrastmittels, allerdings nur dann, wenn auch wirklich Kontrastmittel gegeben wurde.
    • Alle weiteren Attribute sind nicht notwendig, es kann also jeder Hersteller für sich entscheiden, ob die Attribute belegt werden oder nicht. Auf solche Elemente kann man sich bei der Programmierung nicht verlassen.
    • See Verschiedene Arten von Attributen faßt diese unterschiedlichen Attributarten mit der DICOM Abkürzung nochmal zusammen.
    • Verschiedene Arten von Attributen

      Abkürzung

      Beschreibung

      1

      Notwendig

      1C

      Unter bestimmten Voraussetzungen notwendig

      2

      Notwendig, aber leer ist erlaubt

      2C

      Unter bestimmten Voraussetzungen notwendig, aber leer ist erlaubt

      3

      nicht notwendig

    • Die notwendigen Informationen sind für jede Informationsobjektklasse unterschiedlich. So werden bei einem MR-Bild andere Informationen gespeichert als bei einem CT Bild. Genauere Informationen über den Aufbau der Objekte sind in der DICOM Dokumentation zu finden See [DICOM Part3 93] .
    • So wird beim CT der "Rescale Intercept" (0028, 1052)in Hounsfield Einheiten unbedingt benötigt, während beim MR die "Scanning Sequence" (0018, 0020) unbedingt benötigt wird.
    Serviceklassen
    • Die Serviceklassen bezeichnen die Dienste in DICOM. Es sind also die Aktionen, die auf bestimmten Informationsobjekten definiert sind, wie es beispielhaft in See Beispiele für Serviceklassen gezeigt ist.
    • Beispiele für Serviceklassen

      Serviceklassen

      Store

      Query/Retrieve

      Verify

      Print Management

      Worklist Management

    • Jeder dieser Dienste kann auf bestimmte Objekte angewandt werden. Für die Ausführung der Dienste sind unterschiedliche Voraussetzungen nötig. Entgegen den eigentlichen Prinzipien der Objektorientierung sind die Dienste allerdings nicht direkt in den Objekten, sondern bilden mit den Objekten wieder neue Klassen.
    • Store dient dabei zum Verschicken von Bildern zur Speicherung. Mit Query/Retrieve können einfache Datenbankanfragen gestellt werden und bestimmte Bilder von Patienten oder Serien angefordert werden. Verify dient zum Überprüfen von einfachen DICOM Funktionalitäten. Das Print Management behandelt das Drucken von Bildern auf Drukkern oder Laser Imagern. Das Worklist Management beschäftigt sich mit der Verwaltung der einzelnen Arbeitsschritte, die für einen Patienten notwendig sind.
    • In See Entity-Relationship Diagramm für die SOP Klassen können gut die Beziehungen zwischen den Serviceklassen und den in Kapitel See Service Object Pairs beschriebenen SOP Klassen gesehen werden, sowie der Aufbau aus Servicegruppen, den Informationsobjekten und den einzelnen Attributen.
    • In dieser Abbildung ist ebenfalls die Unterscheidung von Serviceklasse und Servicegruppe gut zu erkennen. Die Serviceklasse bezeichnet einen bestimmten Dienst, der auf verschiedene Objekte angewandt werden kann, während die Servicegruppe letztendlich dieser spezielle Dienst angewandt auf ein Objekt ist.
    Service Object Pairs
    • Die Verbindung von einem Dienst, also einer Serviceklasse, und einem Objekt, z.B. der Klasse der CT Bilder, ergibt ein sogenanntes Service Object Pair. Dabei handelt es sich wieder um eine Klasse (SOP Klasse). Die konkrete Ausführung eines solchen Dienstes mit einem speziellen Bild ist dann die Instanz der Klasse. Ein Beispiel ist das Verschicken eines bestimmten CT Bildes (siehe See Verbindung von Dienst und Objekt zu einer SOP Klasse ).
    • Das Verschicken unterschiedlicher Bildarten wie das Verschicken von CT Bildern und das Verschicken von MR Bildern gehören dabei zu unterschiedlichen SOP Klassen.
    • Diese SOP Klassen bilden den Kern der DICOM Kommunikation. Auch bei ihnen gibt es private Klassen, die nur von einzelnen Herstellern unterstützt werden.
    Client/Server
    • Sämtliche Dienste in DICOM bauen auf einem klaren Client/Server-Konzept auf. Für jede der Serviceklassen muß zum Funktionieren einer Kommunikation ein Client und ein Server vorhanden sein. Im DICOM Standard nennt man sie anders, hier heißt der Server Serviceclass Provider ( SCP) und der Client Serviceclass User (SCU).
    • Vor Beginn einer Kommunikation fragt der Serviceclass User an der Gegenadresse an, ob sie als User für die gewünschten Dienste fungieren kann. Erst wenn das geklärt ist, wird mit der eigentlichen Kommunikation begonnen.
    • In See Kommunikation von SCU und SCP beim Store Befehl und See Kommunikation von SCU und SCP beim Move Befehl sind zwei einfache Beispiele für eine solche Aufteilung von User und Provider gegeben. Man sieht, daß ein Programm als Provider für bestimmte Befehle und als User für andere Befehle auftreten kann.
    • In See Kommunikation von SCU und SCP beim Store Befehl stellt der User zuerst eine Anfrage, ob der Provider das Bild abspeichern kann. Der Provider testet, ob noch genügend Kapazität vorhanden ist und versucht das Bild abzuspeichern. Hat das geklappt, dann wird ein OK an den User zurückgeschickt, ansonsten wird gemeldet, daß das Bild nicht gespeichert werden kann.
    • Beim Move Befehl wird zuerst die Anforderung eines bestimmten Bildes an den Move Provider geschickt. Dieser dient gleichzeitig als Store User und versucht, das angeforderte Bild an den Store Provider zu schicken. Kommt vom Store Provider ein OK, dann wird auch an den Move User ein OK zurückgeschickt (siehe See Kommunikation von SCU und SCP beim Move Befehl ).
    Unique Identifier
    • In DICOM sind sämtliche Objektinstanzen und Objektklassen mit eindeutigen Identifiern ausgestattet. Diese nennt man Unique Identifier oder auch UIDs. UIDs gibt es zum Beispiel für Studien-, Serien- und Bilddaten, aber auch für CT Bilder, MR Bilder, für die Dienste auf Objekten und für Übertragungssyntaxe.
    • Das hat verschiedene Gründe. Man kann so zum Beispiel von jedem DICOM Objekt feststellen, von welchem Gerät das Objekt erstellt wurde, da jedes DICOM Objekt weltweit eine eigene eindeutige ID hat. Deswegen muß man als Softwarehersteller eine eigene UID beantragen, wenn man selber Bilder (z.B. Secondary Capture) erzeugen möchte. In Deutschland ist die DIN für die Vergabe der UIDs zuständig, in den USA die ANSI.
    • Desweiteren kann man beim Vergleich von zwei Applikationen feststellen, ob diese zusammenarbeiten können. Es kann abgeglichen werden, ob sie dieselbe Sprache sprechen, und ob sie dieselben Dienste in der richtigen Art (SCU/SCP) unterstützen.
    • Beispiele für UIDs sind:
    • Beispiele für UIDs

      Beschreibung

      UID

      MR Image Storage

      1.2.840.5.1.4.1.1.4

      CT Image Storage

      1.2.840.5.1.4.1.1.2

      Patientenquery

      1.2.840.5.1.4.1.2.1.1

      Implicit Little Endian

      1.2.840.10008.1.2

    • Die UID des "Steinbeis Transferzentrums Medizinische Informatik" in Heidelberg ist 1.2.276.0.23. Es ergibt sich also ein Namensbaum mit folgender Bedeutung:

    1 ISO

    2 Member Body

    276 DE

    0 DIN Certco

    23 TZMI

    • Die weiteren Ebenen können frei belegt werden. Es bietet sich an, dafür einen logischen Baum für die verschiedenen Anwendungszwecke zu entwerfen.
    Transfersyntaxe
    • Bevor eine Kommunikation stattfinden kann, müssen User und Provider von Diensten abgleichen, ob sie dieselbe Sprache sprechen. Es muß also eine gemeinsame Transfersyntax gefunden werden. Dabei wird abgeglichen, ob
    • die Value Representation explizit oder implizit angegeben wird,
    • mehr als ein Byte lange Integerzahlen in Little Endian oder Big Endian codiert werden,
    • die Bilder gepackt sind oder nicht. Möglich ist z.B. eine JPEG Codierung.
    • Das Aushandeln der Transfersyntax ist Sache des Providers, es müssen aber beide Partner diese Transfersyntax verstehen. Auch die möglichen Transfersyntaxe haben eine eigene UID, über die sie identifiziert werden können.
    • Beispielsweise hat der Transfersyntax "Implicit Little Endian" die UID 1.2.840.10008.1.2. Dies ist die Standardtransfersyntax von DICOM.
    DICOM Kommunikation
    • In diesem Kapitel werden die verschiedenen Möglichkeiten der Kommunikation unter DICOM erläutert. Dabei werden ausgehend von den Netzwerkkonzepten die weiteren Eigenheiten der Kommunikation unter DICOM erläutert.
    Netzwerkkonzepte
    • Für DICOM sind drei verschiedene Arten der Netzwerkkommunikation vorgesehen. Zum einen ist es das Punkt-zu-Punkt Protokoll der alten ACR/NEMA-Standards. Es hat nur noch in den USA eine gewisse Bedeutung und ist deswegen in der europäischen Version von DICOM (MEDICOM) nicht mehr vorhanden.
    • Des weiteren kann DICOM auf dem ISO/OSI 7-Schichtenmodell aufsetzen, da dies ein fester Standard in der Netzwerkkommunikation ist. Beispielroutinen hierfür gibt es an der Penn-State University [ See ftp://ftp.xray.hmc.psu.edu/ ].
    • Am weitesten verbreitet ist allerdings eine auf TCP/IP aufsetzende Kommunikation. Dies ist der Standard des Internets. Die meisten Netzwerke arbeiten momentan mit dieser Adressierung. Auch das Steinbeis-Transferzentrum arbeitet mit diesem Netzwerkstandard und benutzt deswegen Basisroutinen, die auf TCP/IP aufsetzen.
    • Schematisch ist das ganze einmal in der See DICOM Netzwerkschema dargestellt.
    • Aufbauend auf dem ISO/OSI Sieben-Schichtenmodell gibt es verschiedene Netzwerkstandards, die von DICOM unterstützt werden. Diese Netzwerkstandards müssen lediglich in das ISO/OSI-Modell umgesetzt werden.
    TCP/IP
    • TCP/IP ist das mit Sicherheit am häufigsten gebrauchte Netzwerkprotokoll, denn es ist auch das Protokoll des Internets. Das Steinbeis-Transferzentrum benutzt diese Form der Adressierung.
    • Da die oberen Schichten hier nicht definiert sind, übernimmt dies das DICOM Upper Layer Protocol für TCP/IP ( DUL). Hier sind die entsprechenden Aktionen definiert.
    • In See Modell für TCP/IP ist der Aufsatz auf TCP/IP gut zu erkennen. Für eine eindeutige Kennzeichnung der Kommunikationspartner sind hier der Host, die Portnummer und die Präsentationsadresse der Programme notwendig.
    • Dabei entspricht die TCP-Ebene (Transfer Control Protocol) der Schicht 4 des ISO/OSI 7-Schichtenmodells. Die IP-Ebene (Internet Protokoll) entspricht den unteren drei Schichten des 7-Schichten Modells.
    • Die beiden unteren Schichten DL (Dynamic Link Layer) und PH (Physical Layer) sind dabei für die unterste Netzwerkebene zuständig. In dieser Ebene wird die Art des Netzwerkes bestimmt, also zum Beispiel ob es sich um Ethernet oder ATM handelt.
    ISO/OSI
    • Das 7-Schichtenmodell ISO/OSI ist die Grundlage für die verschiedensten Netzwerkprotokolle. Die Schichten werden in See ISO/OSI 7-Schichten-Modell aufgeführt.
    • Für DICOM Netzwerkkommunikation wird diese Form der Adressierung aber selten verwendet. Eine Beispielinstallation bieten die DICOM Quelltexte der Penn-State University.
    • Weiteres über die verschiedenen Netzwerkkonzepte kann in Conrads Buch zur Datenkommunikation oder direkt im OSI-Standard nachgelesen werden See [Conrads 93] , See [ISO 87] .
    Point-to-Point
    • Die Punkt-zu-Punkt Kommunikation wird vor allem in den alten ACR/NEMA-Standards (1.0, 2.0) verwendet. Bei ihnen ist noch keine eigene Netzwerkkommunikation vorgesehen. Deswegen wurden die Geräte direkt an einen Rechner angeschlossen. Die Übertragung läuft dabei über einen standardisierten 50-poligen Stecker. Netzwerkkommunikation ist nur über eine spezielle Umsetzeinheit ( NIU) möglich.
    • Dieses Protokoll ist vor allem in Europa von so geringer Bedeutung, daß es in der europäischen Version des Standards ( MEDICOM) nicht mehr vorgesehen ist. Die meisten der DICOM Programme unterstützen diesen Standard nicht mehr.
    Application Entity und Presentation Address
    • Jedes DICOM Programm ist ein Application Entity, also eine eigenständige DICOM Anwendung. So ein Application Entity hat einen Namen, den Application Title, über den es in einem Netzwerk identifiziert werden kann. Über diesen Applikationstitel können DICOM Anwendungen also Kontakt miteinander aufnehmen
    • Die Presentation Address sorgt für die eindeutige Adressierung eines DICOM Programmes bei der Kommunikation. Unter TCP/IP sind einer solchen Präsentationsadresse immer eine IP Nummer und ein TCP Port zugeteilt, über die eine Kommunikation mit einem Partner ohne Verwechselungen durchgeführt werden kann. Sie heißt Presentation Address, weil sie in der Applikationsebene des ISO/OSI-Schichtenmodells liegt.
    Verbindungsaufbau
    • Der Aufbau von Verbindungen läuft in DICOM immer auf die gleiche Art und Weise ab. Der User einer Serviceklasse stellt eine Anfrage an den Provider. In dieser Anfrage wird mitgeteilt, welche Art der Verbindung gewünscht wird. Es werden dabei die Transfersyntaxe übertragen, die der User unterstützt. Das heißt, es wird geschickt, wie Zahlen codiert werden, ob die Value Representation explizit angegeben wird und ob die Bilder gepackt sind. Außerdem werden die SOP Klassen übertragen, die der User unterstützt. Zu jeder SOP Klasse wird übertragen, ob sie als User oder Provider unterstützt wird.
    • Der Provider schickt auf eine Verbindungsanfrage die unterstützten Präsentationskontexte zurück.
    • Es werden auch die Application Entities übertragen, so daß der Provider entscheiden kann, ob mit diesem Applikationsnamen eine Kommunikation möglich ist.
    • In See Verbindungsaushandlung ist der Verbindungsaufbau einmal schematisch zusammengefaßt.
    • Nach dem Aufbau der Verbindung findet die eigentliche DICOM Kommunikation statt. Bei der gesamten Kommunikation wird auf jede Anfrage geantwortet, ob es erfolgreich war oder nicht. Am Ende kann die Verbindung von beiden Seiten wieder sauber abgebaut werden.
    Präsentationskontext
    • Für jede SOP Klasse wird beim Verbindungsaufbau eine bestimmte Transfersyntax ausgehandelt, die eindeutig sein muß. Dabei schickt der User alle für eine bestimmte SOP Klasse unterstützten Transfersyntaxe an den Provider. Der Provider wählt aus diesen Transfersyntaxen eine aus, die dann für diese SOP Klasse benutzt wird. Diese eindeutige Transfersyntax für eine bestimmte SOP Klasse nennt sich auch Präsentationskontext.
    • Bei einer ausgehandelten Verbindung kann es verschiedene Präsentationskontexte für die einzelnen SOP Klassen geben.
    Speicherkonzepte
    • Für DICOM gibt es verschiedene Konzepte zum Archivieren der Daten auf den unterschiedlichsten Speichermedien. Besonders wichtig sind diese Speicherverfahren natürlich für PACS-Systeme, da diese ihre Daten- wenn möglich- in einem zum Standard konformen Format speichern sollen. So haben auch andere Systeme die Möglichkeit, auf die archivierten Daten zuzugreifen, wenn das PACS System beispielsweise einmal ausfällt.
    Dateiformat
    • DICOM Dateien, die archiviert werden sollen, haben ein anderes Format als DICOM Dateien die zwischen Applikationen verschickt werden. Es wird der Datei in diesem Fall ein Header vorangestellt. Der Aufbau des Headers kann See Beschreibung des DICOM Archivdateiformats entnommen werden.
    • Eine genaue Beschreibung befindet sich in Teil 10 der DICOM Dokumentation See [DICOM Part10 93] .
    • Beschreibung des DICOM Archivdateiformats

      Attributname

      Tag

      Art

      Beschreibung

      Präambel

      kein Tag

      1

      Applikationsprofil, oder aber leer (00h)

      DICOM Prefix

      kein Tag

      1

      String "DICM"

      Gruppenlänge

      0002, 0000

      1

      Gruppenlänge

      Meta Information

      0002, 0001

      1

      Zwei Bytes, in denen jedes Bit eine bestimmte Version kennzeichnet

      Media Storage SOP Class UID

      0002, 0002

      1

      UID der entsprechenden SOP Klasse

      Media Storage SOP Instance UID

      0002, 0003

      1

      Instanz der entsprechenden SOP Klasse

      Transfersyntax

      0002, 0010

      1

      Transfersyntax

      Implementation Class UID

      0002, 0012

      1

      Eindeutige Bezeichnung des Erstellers

      Implementation Version Name

      0002, 0013

      3

      Version des Erstellers

      Source Application

      0002, 0016

      3

      Applikationstitel des Er-stellers

      Private Information UID

      0002, 0100

      3

      UID des Erstellers der privaten Information

      Private Information

      0002, 0102

      1C

      Private Information

    • Dabei dient das DICOM Präfix hinter der Präambel der Unterscheidung von DICOM Files und Nicht-DICOM Files.
    • Außer diesen zusätzlichen Attributen entspricht der Aufbau des DICOM Objektes noch dem vorher beschriebenen.
    Verzeichnisformat
    • Im Hauptverzeichnis des Speichermediums muß sich eine sogenannte DICOMDIR Datei befinden, in der die Orte und Verzeichnisse sämtlicher DICOM Objekte gespeichert sind. Dabei werden die Pfade zu den einzelnen Objekten wie Pfadnamen in DOS mit einem Backslash angegeben.
    • Ein Beispiel für eine solche Datei ist im Anhang B zu finden.
    • Für die Daten der DICOMDIR Datei werden die Elemente der Gruppe 0004 benutzt. Es können nicht nur für Patientenobjekte, sondern auch für Studien und Serien Einträge im DICOMDIR File gemacht werden. Es werden dazu immer bestimmte Schlüsselattribute mit abgespeichert, wie der Patientenname oder die Patienten ID.
    • Der Header der DICOMDIR Datei sieht genauso wie der der archivierten DICOM Files aus, so daß auch DICOMDIR von Dateien in einem anderen Format unterschieden werden kann.
    Medien
    • Bisher ist das Archivieren von DICOM Files auf folgenden Medien erlaubt.
    • 1.44 MB Diskette,
    • 90 mm 128 MB magneto optical disk,
    • 130 mm 650 MB magneto optical drive,
    • 130 mm 1.2 GB magneto optical drive,
    • 120 mm CR-R Medium,
    • CD-ROM.
    • Es gibt aber bereits Supplements, die diese Palette erweitern. Diese Liste wird sich durch die Bedürfnisse sicherlich in der nächsten Zeit noch vergrößern.
    Conformance Statement
    • Mit einem Conformance Statement kann man ermitteln, ob zwei DICOM Programme auch wirklich problemlos miteinander kommunizieren können. Dazu muß die gesamte Funktionalität möglichst genau und vor allem standardisiert beschrieben werden. Dies geschieht in der DICOM Dokumentation See [DICOM Part2 93] .
    • Sehr wichtig sind dabei die unterstützen SOP Klassen mit den entsprechenden UIDs und die Rolle des Programmes als User bzw. als Provider.
    • Des weiteren wird beschrieben, wie der Informationsfluß innerhalb des Programmes ist. Natürlich werden auch Name und UID des Programmes übermittelt.
    • Sehr wichtig sind die Präsentationskontexte, die das Programm unterstützt. Das heißt, es werden für jede SOP Klasse die unterstützten Transfersyntaxe beschrieben.
    • Für jede SOP Klasse gibt es dann eigene Conformance Beschreibungen, in denen zum Beispiel die bei Queries unterstützten Schlüssel angegeben werden. Hier können auch Besonderheiten und private Ergänzungen eingetragen werden.
    • Als letztes gibt es noch einen Teil, in dem alle konfigurierbaren Parameter angegeben werden können.
    • Ein Beispiel für ein Conformance Statement wird in Kapitel 5 gegeben. Hier werden die im Rahmen dieser Arbeit entwickelten Routinen formal beschrieben.
    Beschreibung der DICOM Unterlagen
    • In diesem Kapitel werden die verschiedenen DICOM Standard Unterlagen erläutert, um sich in ihnen besser orientieren zu können. Es wird allerdings nur eine kurze Einweisung in jedes Buch des Standards gegeben, in Zweifelsfällen sollten Probleme oder Fragen exakt im Standard nachgelesen werden. Dieses Unterkapitel bezieht sich auf alle Teile des DICOM Standards See [DICOM Part1 93] - See [DICOM Part13 93] .
    Einführung und Überblick
    • Dieses Buch gibt eine kurze Einführung in den Sinn und Zweck von DICOM See [DICOM Part1 93] . Es werden die grundsätzlichen Ziele des Standards beschrieben sowie der objektorientierte Aufbau. Ein Teil der häufig benutzten Abkürzungen wird hier erläutert.
    • Weiterhin wird der Aufbau der Dokumentation erklärt und die einzelnen Teile der Standarddokumentation aufgeführt.
    • Außerdem werden die verschiedenen Normungsgremien aufgelistet, die am Standard mitarbeiten und den Standard als Norm benutzen.
    Conformance
    • In diesem Buch wird genau beschrieben, wie ein Conformance Statement in DICOM auszusehen hat See [DICOM Part2 93] .
    • Es werden die einzelnen Kapitel eines Conformance Statements mit den minimalen Inhalten erläutert. Dies geschieht mit Hilfe eines Beispiels, an dem alles für ein Conformance Statement Relevante erkannt werden kann.
    • Sinn des Conformance Statements ist, daß bei zwei Applikationen schon anhand des Conformance Statements erkannt werden kann, ob sie zusammenarbeiten können und den Bedürfnissen entsprechen, ohne die Geräte erst vor Ort zusammenschalten zu müssen.
    Definition der Informationsobjekte
    • Dies ist der umfangreichste Teil der Dokumentation See [DICOM Part3 93] . Er enthält eine Beschreibung sämtlicher Informationsobjekte, die unter DICOM definiert sind. Zu unterscheiden sind dabei die composite (zusammengesetzten) Objekte und die normalized (einfachen) Objekte (siehe Kapitel See Informationsobjekte ). Beispiele für composite Objekte sind CT Bilder oder MR Bilder. Beispiele für normalized Objekte sind die Patienten Information oder die Studien Information.
    • Neben einer generellen Einführung in Entity-Relationship Diagramme werden die Abhängigkeiten innerhalb von Objekten durch zugehörige ER Diagramme beschrieben.
    • Außerdem sind für alle Objekte sämtliche Attribute mit einem entsprechenden Status (benötigt, benötigt aber leer erlaubt, unter einer Voraussetzung nötig, optional) angegeben, so daß genau erkannt werden kann, welche Information bei einem Objekt auf jeden Fall enthalten sein muß. Auf freiwillige Attribute können keine wichtigen Auswertungen gemacht werden, da diese Attribute nicht immer vorhanden sind.
    Serviceklassen
    • Die Serviceklassen bilden die Grundlage für die gesamte Kommunikation unter DICOM See [DICOM Part4 93] . Hier wird beschrieben, wie eine solche Kommunikation abläuft.
    • Dabei werden die einzelnen Serviceklassen wie z.B. die Verification Service Class oder die Storage Service Class, die zur Überprüfung einer DICOM Kommunikation bzw. zum Speichern von Bildern dienen, erläutert.
    • Es werden jeweils die verschiedenen Untergruppen der Serviceklassen aufgeführt sowie die Rollenaufteilung als User oder als Provider. Die Beschreibung der Serviceklassen-Funktionalitäten in einem Conformance Statement wird hier auch gezeigt.
    • Die Zusammenführung einer Serviceklasse mit einem Informationsobjekt zu einer SOP Klasse wird in diesem Kapitel erklärt. Diese Zusammenführung erfolgt jeweils am Ende einer entsprechenden Serviceklasse mit Angabe der UID der SOP Klasse.
    Datenstrukturen und Verschlüsselung
    • In diesem Teil werden die verschiedenen Strukturen und Konstrukte erklärt, die es in DICOM zur Darstellung von Informationen gibt See [DICOM Part5 93] . Dazu gehört die Codierung von Zahlen in Little oder Big-Endian, aber auch die Darstellung von Zahlen allgemein z.B. als 32 Bit Integer oder als 64 Bit Integer.
    • Die verschiedensten Value Representations werden in diesem Kapitel erläutert. Dazu gibt es eine Reihe kryptischer Abkürzungen, die im Data Dictionary benutzt werden. Hier wird exakt beschrieben, was diese Abkürzungen bedeuten. Beispiele sind die Codierung von Datum oder Zeit sowie die Darstellung einer UID oder eines Namensstrings.
    • Es wird auch aufgeführt, wie die Value Representation angegeben werden kann (explizit oder implizit) und ob die Länge der Datenfelder angegeben wird.
    • Natürlich wird die Darstellung von Pixeldaten beschrieben. Es wird sowohl auf die Bittiefe eingegangen als auch auf die Codierung des Bildes als einfache Pixeldaten oder als JPEG (verlustfrei oder verlustbehaftet).
    • Am Ende dieses Teils werden die verschiedenen Transfersyntaxe mit den jeweiligen UIDs zusammengefaßt. Diese sind für die Kommunikation sehr wichtig, denn nur wenn zwei Kommunikationspartner in diesem Bereich dieselbe Sprache sprechen, können sie zusammenarbeiten.
    • Es wird außerdem erklärt, wie man eine eigene UID beantragen kann und wie man diese dann benutzt.
    Data Dictionary
    • In diesem Teil sind sämtliche in DICOM zugelassenen Attribute mit den wichtigsten Informationen zusammengefaßt, wie in See Auszug aus dem Data Dictionary zu sehen ist See [DICOM Part6 93] . Dazu gehört neben den Tags und dem Namen des Attributs auch die Value Representation und die Value Multiplicity, also die Häufigkeit, mit der ein Element vorkommt oder vorkommen darf.
    • Auszug aus dem Data Dictionary

      Gruppen Tag

      Element Tag

      Attribut Name

      Value Representation

      Value Multiplicity

      0008

      0020

      Study Date

      DA

      1

      0010

      0000

      Group Length

      UL

      1

      0010

      0010

      Patient Name

      PN

      1

      0010

      1001

      Other Patient Names

      PN

      1-n

      0020

      0026

      LUT number

      IS

      1

      0020

      0032

      Image Position (Patient)

      DS

      3

    • Dieser Teil wird am schnellsten und am häufigsten durch Supplements erweitert oder durch Correction Proposals verändert, da sich der Bedarf an Attributen für DICOM ständig vergrößert.
    Nachrichten
    • In diesem Kapitel sind sämtliche in DICOM erlaubten Nachrichtentypen exakt beschrieben See [DICOM Part7 93] . Es ist immer genau erläutert, welche Attribute in einer Nachricht vorhanden sein müssen und welche zusätzlich hinzukommen können. Zu den Nachrichten gehört natürlich das Aushandeln von Parametern für die Verbindungsaufnahme, aber auch die Nachrichten zum Anfordern von bestimmten Serviceklassen wie z.B. dem Speichern von Bildern und die Antwort auf eine solche Serviceanfrage. So kann der Service angenommen oder abgelehnt werden. Das alles erfolgt in einem fest vorgegebenen Format.
    • Ebenso gehören zu den Nachrichtentypen Nachrichten zum kurzfristigen Beendigen einer Kommunikation, wenn z.B. Fehler aufgetreten sind oder zum sicheren Abbauen einer Kommunikationsverbindung.
    • In diesem Teil sind alle Objekte beschrieben und es wird eine Auflistung aller möglichen Fehlerzustände gegeben. All diese Fehlerzustände können übermittelt werden.
    Netzwerkkommunikation
    • In diesem Teil werden die verschiedenen Netzwerkmodelle beschrieben, mit denen DICOM arbeiten kann See [DICOM Part8 93] . Das ist zum einen das ISO/OSI Modell, das sieben Schichten der Kommunikation beschreibt. Dieses Netzwerkschema kann auf die meisten Netzwerkmodelle angewandt werden.
    • Außerdem wird TCP/IP beschrieben, daß wohl das am meisten benutzte Protokoll für eine DICOM Kommunikation ist. Es wird dabei gezeigt, wie die einzelnen DICOM Teile auf diesem Netzwerkprotokoll aufsetzen.
    • Am Ende des Teils erfolgt eine Beschreibung, wie man die entsprechenden Netzwerkprotokolle in das Conformance Statement aufzunehmen und zu beschreiben hat.
    Punkt-zu-Punkt Kommunikation
    • Dieser Teil des Standards ist in die europäische Version (MEDICOM) nicht mehr mit eingearbeitet worden, da die Punkt-zu-Punkt Kommunikation in Europa keine Bedeutung mehr hat. Sie wird lediglich in den USA noch benutzt See [DICOM Part9 93] .
    • Es erfolgt eine Beschreibung der physikalischen Spezifikation der Punkt-zu-Punkt Verbindung.
    • Ansonsten ist alles recht ähnlich zu Teil 8 der Dokumentation, der die verschiedenen Netzwerkprotokolle beschreibt.
    Speicherung auf festen Medien
    • In diesem Buch wird das Format beschrieben, in dem DICOM Dateien auf Datenträgern abgelegt werden können See [DICOM Part10 93] . Es ist vor allem für die Archivierung auf optischen Platten und CD ROMs vorgesehen sowie für den Austausch von Bildern über feste Medien.
    • Es wird die der Meta Header von Dateien erklärt, die in diesem Format abgelegt werden. Beim Meta Header handelt es sich um zusätzliche Informationen, die für das spätere Lesen der Daten wichtig sein können. Dazu gehört zum Beispiel eine Präambel und ein DICOM Header sowie die Transfersyntax und die UID der Applikation, die die Datei erstellt hat. Zusätzlich können private Informationen in dem Header abgespeichert werden.
    • Sehr wichtig ist die Beschreibung der DICOMDIR Datei, die im Hauptverzeichnis des Datenträgers stehen muß. Hier werden alle DICOM Dateien auf dem Datenträger mit dem Verzeichnis, in dem sie stehen, aufgelistet. Dazu können für die einzelnen Dateien noch identifizierende Informationen wie die Patienten ID oder die Studien Instanzen UID mit in dieser Datei gespeichert werden, um so eine Suche nach bestimmten Attributen auf dem Datenträger zu erleichtern.
    • Ein Beispiel für eine DICOMDIR Datei ist in Anhang B zu finden.
    Applikationen für die Speicherung
    • Ein solches Applikationsprofil bezieht sich auf mehrere Teile des Standards See [DICOM Part11 93] . Es soll dabei klar werden, welche Eigenschaften eine Applikation haben muß, damit eine Kommunikation über Datenträger mit einer anderen Applikationen stattfinden kann.
    • Dazu gehören
    • die SOP Klassen, die unterstützt werden,
    • die Transfersyntaxe der einzelnen SOP Klassen,
    • die Informationen, die im Basic Directory vorhanden sein müssen,
    • die Rolle der Applikation als File Set Creator (FSC), File Set Reader (FSR) oder File Set Updater (FSU),
    • die Medienformate, die unterstützt werden.
    • Es ist im Standard die Angiographie als ein Beispiel für ein solches Applikationsprofil angegeben.
    Physische Medienformate
    • In diesem Buch werden die verschiedenen Medienformate für das physikalische Archivieren von DICOM Daten beschrieben See [DICOM Part12 93] . Dabei werden vor allem die Filesysteme beschrieben, die dem Datenträger zugrunde liegen. Das PC Filesystem wird detailliert aufgeführt, da dieses am weitesten verbreitet ist.
    • Es wird eine genaue Beschreibung der Datei DICOMDIR auf den verschiedenen Datenträgern gegeben.
    • Auf folgende physische Datenträger wird näher eingegangen:
    • 1.44 MB Diskette,
    • 90 mm 128 MB magneto optical disk,
    • 130 mm 650 MB magneto optical drive,
    • 130 mm 1.2 GB magneto optical drive,
    • 120 mm CR-R Medium.
    • Zusätzlich zu diesen Datenträgern gibt es noch einige Supplements, in denen weitere Medien beschrieben werden.
    Print Management Punkt-zu-Punkt
    • In diesem Teil wird das DICOM Protokoll zum Drucken von Bildern über eine Punkt zu Punkt Verbindung nach RS232 oder RS422 beschrieben.
    • Dazu werden die gesamten SOP Klassen aufgeführt, die zum Ausdrucken zur Verfügung stehen. Neben den Serviceklassen werden die verschiedenen Möglichkeiten und Probleme mit den entsprechenden Fehlermeldungen erläutert.
    • Dieser Teil war erst ein Supplement und wurde 1995 in den Standard aufgenommen.
    Supplements
    • Supplements sind Erweiterungen des Standards. So werden ständig Supplements für neue Bereiche der Radiologie entwickelt. Dazu gibt es verschiedene Arbeitsgruppen. Die Supplements sollten, sobald sie verabschiedet sind, direkt an die Original-Standardunterlagen angeheftet werden, um diese immer auf einem aktuellen Stand zu halten.
    • Beispiele zu Supplements sind in der See Beispiele für Supplements zusammangefaßt.
    • Beispiele für Supplements

      Supplement

      DICOM Teile

      Beschreibung

      Status

      Supplement 6

      Parts 3,4,6

      X-Ray Flouroscopic Image Object

      Standard

      Supplement 7

      Parts 3,4,6

      Nuclear Medicine Image Object

      Standard

      Supplement 8

      Parts 3,4,6

      Storage Commitment Service Class

      Standard

      Supplement 9

      Parts 2,3,4,5,6

      Multi-byte Character Set Support

      Standard

      Supplement 10

      Parts 3,4,6

      Basic Worklist Management - Modality

      Standard

    • In See Beispiele für Supplements kann man gut sehen, daß die meisten Supplements gleich mehrere Teile des Standards erweitern, also große Änderungen beinhalten. Es werden normalerweise mindestens die Teile 3 (Informationsobjekte), 4 (SOP Klassen) und 6 (Data Dictionary) geändert.
    • Der Status macht eine Aussage darüber, ob die Änderung nur öffentlich bekannt gemacht ist, ob sie schon in den Standard aufgenommen ist oder ob sie bisher nur als Draft publiziert wird.
    Correction Proposals
    • In den Correction Proposals werden Änderungen des aktuellen Standards beschrieben. Meistens beziehen sich diese Änderungen nur auf einen kleinen Teil der DICOM Dokumentation.
    • Momentan gibt es über 100 Correction Proposals für den Standard. Diese Änderungen müssen sofort in die Bücher des Standards eingearbeitet werden, damit man nicht evtl. in eine falsche Richtung entwickelt. Ansonsten muß man immer nachschauen, ob es für den momentan bearbeiteten Bereich bereits Correction Proposals gibt.
    • Beispiele zu Correction Proposals sind in See Beispiele für Correction Proposals zusammengefaßt.
    • Beispiele für Correction Proposals

      Correction Prop.

      DICOM Teil

      Beschreibung

      Status

      CP 19

      Part 4

      Image Deletion in Film Session

      Standard

      CP 20

      Part 3

      Clarification of Pixel Aspect Ratio

      Standard

      CP 21

      Part 3

      Same Attribute in Multiple Modules

      Standard

      CP 22

      Part 3

      Units for Frame Time and Vector

      Standard

      CP 23

      Part 3

      Numbering of Pixel Origin

      Standard

    • Der Status macht eine Aussage darüber, ob die Änderung nur öffentlich bekanntgemacht, ob sie schon in den Standard aufgenommen ist oder ob sie bisher nur als Draft publiziert wird.

    CHILI DICOM Implementierung

    Vorhandene DICOM Routinen
    • Im Internet gibt es eine Vielzahl von Quellen für DICOM Basisroutinen. Zu unterscheiden sind hier vor allem die kommerziellen Routinen, für deren Gebrauch man bezahlen muß, und die freien Routinen, deren Basisprogramme kostenlos benutzt werden können.
    • Einige der bekannten Programme werden hier einmal kurz vorgestellt. Diese Liste erhebt allerdings keinen Anspruch auf Vollständigkeit.
    Freie Quelltexte
    • Bei freier Software handelt es sich um Programme, die kostenlos benutzt werden dürfen, und deren Basisroutinen man auch kostenlos in die eigenen Programme einbinden kann. Bei manchen Programmen ist die Nutzung nur für Universitäten und Forschungseinrichtungen kostenlos. Kommerzielle Nutzer müssen in diesem Fall zahlen. Im folgenden werden einige Quellen für DICOM Software aufgeführt.
    UC Davis
    • Bei der University of California in Davis gibt es einen Satz C++ Routinen, der eine DICOM Basisfunktionalität anbietet. Die Routinen sind komplett objektorientiert entwikkelt und es werden die verschiedensten Plattformen unterstützt. Unter anderem sind dies Windows NT, und verschiedene Unix Systeme wie Irix 4, SunOs und Solaris. Es läuft sogar auf Macintosh Rechnern.
    • Allerdings ließen sich die Routinen auf den SGI Workstations Indy nicht problemlos compilieren. Da diese Rechner im Rahmen des CHILI Projektes die Hauptentwicklungsplattform bilden, sind die DICOM Routinen der UC Davis für uns von geringem Interesse.
    • Ein weiterer Nachteil liegt in der geringen Dokumentation. Dadurch wird die Programmierung mit den Routinen erschwert.
    • Außerdem war die per FTP geholte Version schon relativ alt, so daß die Dokumente wie das Data Dictionary nicht unbedingt auf dem neuesten Stand waren. Ein aktuelles Data Dictionary wiederum ist für eine eigene DICOM Entwicklung besonders wichtig. Es muß gewährleistet sein, daß Neuerungen am Standard auch wirklich sofort umgesetzt werden und somit zur Verfügung stehen.
    Universität Oldenburg
    • An der Universität in Oldenburg wurden aufbauend auf der ersten Version der Mallinckrodt Quelltexte (siehe Kapitel See Mallinckrodt Institute of Radiology ) von 1993 eigene C-Routinen für DICOM entwickelt.
    • Diese Routinen bieten eine sehr gute Funktionalität. Unter anderem ist in diesen Routinen als bisher einzige freie Software das Worklist Management implementiert. Diese Fähigkeiten werden jedes Jahr auf der CAR (Computer Assisted Radiology) demonstriert. Damit ist natürlich eine gewisse Kontinuität in der Entwicklung garantiert.
    • Die Wartung der Routinen ist sehr gut, denn es gibt in regelmäßigen Abständen neue Versionen, in denen Neuerungen implementiert werden. Das System wird auch auf neue Plattformen portiert.
    • Die Dokumentation ist nicht sehr umfangreich, aber gut geschrieben. Vor allem ist der Quellcode gut dokumentiert.
    • Die erste per FTP bezogene Version ließ sich auf den SGI Indies nicht compilieren, weswegen diese Quelltexte nicht als Basisversion verwendet worden sind. Mittlerweile läßt sie sich aber problemlos auf dem Silicon Graphics Betriebssystemen betreiben. Die Konfiguration mittels GNU Autoconfig ist auf jeden Fall die einfachste aller DICOM Basisroutinen.
    Mallinckrodt Institute of Radiology
    • Das Mallinckrodt Institute of Radiology hat 1993 die ersten DICOM Testroutinen für eine Demonstration auf der RSNA entwickelt. Seitdem führt das Institut jedes Jahr auf der RSNA diese Demonstration durch.
    • Dadurch ist gewährleistet, daß die Routinen auch wirklich mit den meisten größeren Herstellern zusammenarbeiten. Außerdem wirkt sich das positiv auf die Wartung aus. Es gibt etwa alle zwei bis drei Monate eine neue Version, in die Verbesserungen und Änderungen im DICOM Standard eingearbeitet werden. Das ist natürlich sehr wichtig für eine eigene DICOM Implementierung.
    • Für die Routinen gibt es außerdem eine sehr umfangreiche Dokumentation über die Benutzung und die Programmierung der Routinen. Der Quellcode ist umfangreich und vor allem einheitlich dokumentiert. Dazu gibt es eine große Anzahl an Beispielprogrammen, an denen man sich für die Implementierung eigener Routinen sehr gut orientieren kann.
    • Für das Irix Betriebssystem der SGI Workstations mußten am Anfang noch einige kleine Veränderungen gemacht werden, aber mittlerweile sind diese Änderungen in die Grundroutinen eingearbeitet. Diese laufen auf sehr vielen Plattformen wie beispielsweise SunOs, Solaris, Irix, Linux. Diese Palette an Plattformen wird ständig erweitert. Eine Version für Windows NT ist im Moment in Arbeit und soll im Sommer 1997 fertig sein.
    • Die Plattformunabhängigkeit und natürlich auch die gute Wartung und Dokumentation waren die ausschlaggebenden Gründe dafür, auf der Basis der Mallinckrodt Quelltexte zu entwickeln. Diese Routinen sind im Grunde genommen der Maßstab, an dem alle anderen gemessen werden.
    Sonstige
    • Es gibt noch weitere freie Routinen, die aber alle eine eher untergeordnete Rolle spielen. Nur die oben genannten Routinen werden häufig benutzt und Probleme können in den Newsgroups diskutiert werden.
    • Zu nennen wäre eine Version der Penn-State University. Diese Implementierung baut auch auf einer frühen Mallinckrodt Version auf. Im Unterschied zu den Mallinckrodt Quelltexten wurde aber nicht auf TCP/IP, sondern auf ISO/OSI aufgesetzt. So wurde auch diese Funktionalität von DICOM demonstriert.
    • Es ist allerdings fraglich, ob die Wartung und Weiterentwicklung bei diesen Routinen gegeben ist. Ist das nicht der Fall, dann kann man leicht sehr viel Zeit und Arbeit in ein sterbendes System investieren.
    Kommerzielle Quelltexte
    • Für die Benutzung kommerzieller Quelltexte muß bezahlt werden, allerdings besteht dann auch ein wesentlich höherer Anspruch an den gebotenen Service und die Wartung.
    • Zu unterscheiden sind dabei die Stand alone Programme und DICOM Toolkits. Stand alone Programme sind Routinen, die bestimmte DICOM Funktionalitäten anbieten, aber nicht verändert werden können, weil kein Quellcode mitgeliefert wird. Hierbei ist es kaum möglich, eigene Wünsche oder Anpassungen einzubringen.
    • Die Toolkits liefern eine Reihe von Basisroutinen, mit denen eigene Applikationen für DICOM entwickelt werden können. In der Regel sind auch hier eine Menge an Beispielprogrammen vorhanden.
    • Im folgenden werden exemplarisch zwei kommerzielle Implementierungen vorgestellt. Der Kauf eines kommerziellen Produktes kam für das Steinbeis-Transferzentrum nicht in Frage, da die Kosten den finanziellen Rahmen gesprengt hätten. Für die Basisroutinen und die Wartung müssen in der Regel hohe Beträge bezahlt werden.
    Merge
    • Merge bietet ein sehr umfangreiches Toolkit von DICOM Routinen, das eine eigene Entwicklung von DICOM Programmen deutlich vereinfacht. Die Routinen haben eine sehr gute Beschreibung, und der Quellcode ist einfach zu verarbeiten. Vieles ist einfacher als bei der Verwendung freier DICOM Basisroutinen.
    • Außer Punkt-zu-Punkt Verbindungen werden sämtliche DICOM Fähigkeiten voll unterstützt.
    • Das System ist in ANSI-C objektorientiert entwickelt und läuft auf den verschiedensten Plattformen wie DOS, Windows, Windows NT, MacOs und den verschiedensten Unix Dialekten.
    • Das Data Dictionary kann sehr einfach selbständig erweitert werden und unterstützt damit die Implementierung privater Objekte und privater SOP Klassen.
    • Das Merge Toolkit ist auf jeden Fall die bekannteste kommerzielle DICOM Implementierung. Merge hat auch die Wartung für die offizielle WWW Seite der DICOM Resourcen übernommen [http://www.merge.com/web96/subpage96/DICOM.html]. Das läßt hoffen, daß Änderungen im Standard auch wirklich schnell umgesetzt werden.
    De Jarnette
    • Dieses DICOM Toolkit unterstützt die komplette Palette an DICOM Routinen inklusive der Punkt-zu-Punkt Verbindung. Es werden sehr umfangreiche Routinen angeboten, die auch auf den verschiedensten Betriebssystemen laufen. Unter anderem auf DOS, Windows, Windows NT, OS/2 und den verschiedensten Unix-Plattformen.
    • Die Routinen sind derart flexibel, daß problemlos auch die älteren ACR/NEMA Standards unterstützt werden können.
    • Die Dokumentation ist sehr ordentlich und die Routinen sind auch gut gewartet. Neuerungen im Standard werden sofort eingearbeitet.
    Die Mallinckrodt Quelltexte
    • Da die vorliegende Arbeit auf den Quelltexten des Mallinckrodt Institutes beruht, wird im Folgenden noch etwas ausführlicher auf die Entwicklung dieser Routinen eingegangen. Die Gründe, die zur Entscheidung für diese Routinen geführt haben, werden erläutert.
    • Schon 1992 wurden vom Mallinckrodt Institute of Radiology erste Demonstrationen der DICOM Netzwerkroutinen mit den alten ACR/NEMA-Datenelementen auf der RSNA vorgestellt.
    • 1993 wurden die ersten reinen DICOM Programme entwickelt, die ebenfalls für eine Demonstration auf der RSNA gedacht waren. Ausgehend von diesen Quelltexten haben sich verschiedene weitere Basisbibliotheken wie z. B. an der Universität Oldenburg und der Penn-State University entwickelt. Seit 1993 werden jedes Jahr Demonstrationen auf der RSNA mit den Programmen des Institutes gemacht, so daß man die ständige Weiterentwicklung gut erkennen kann.
    • Dieses Programmpaket ist so zu einer gewissen Referenz auch für die Entwicklung anderer DICOM Basisroutinen geworden.
    Vorteile der Mallinckrodt Quelltexte
    • Die Routinen des "Mallinckrodt Institute of Radiology" bieten eine Vielzahl an Vorteilen gegenüber anderen DICOM Toolkits. Zum einen sind sie frei erhältlich und zum anderen ist auch die Benutzung in kommerziellen Systemen gestattet.
    • Durch die jährlichen Demonstrationen auf der RSNA stellen die Routinen immer wieder unter Beweis, daß sie mit den verschiedenen Herstellern zusammenarbeiten. Außerdem bieten diese jährlichen Demonstrationen die Gewähr, daß Änderungen im Standard auch schnell in die Routinen übernommen werden. Die Wartung der Routinen ist sehr gut. Etwa alle zwei bis drei Monate gibt es eine neue Version, in der Fehler behoben werden, oder neue Services und ein aktualisiertes Data Dictionary angeboten werden.
    • Ein weiterer großer Pluspunkt sind die Dokumentation und die mitgelieferten Beispielprogramme. Es existiert eine sehr umfangreiche (etwa 1000 Seiten lange) Programmierdokumentation, in der die verschiedenen Libraries erläutert werden und genau beschrieben wird, wie man mit ihnen eigene Programme zu entwickeln hat. Durch die Beispielprogramme kann man sich die Routinen einmal an lauffähigen Programmen ansehen und so die Funktionalität besser verstehen.
    • Der Quellcode ist sehr umfangreich und vor allem einheitlich dokumentiert, was die eigene Entwicklung deutlich beschleunigt.
    • Das System ist zudem plattformübergreifend programmiert, so daß alle für die Entwicklung im Steinbeis Transferzentrum wichtigen Betriebssysteme unterstützt werden.
    Unterstützte Plattformen
    • Die Routinen unterstützen eine ganze Reihe von Betriebssystemen, die in See Unterstützte Plattformen einmal aufgelistet sind. Für das Steinbeis-Transferzentrum ist vor allem die Unterstützung von SGI Irix und Linux wichtig, da dies die Hauptentwicklungsplattformen im CHILI Projekt sind. Außerdem nimmt die Bedeutung von Windows NT immer mehr zu. Dies wird bisher noch nicht unterstützt, ist aber in Arbeit. Im Sommer 1997 ist es geplant, eine Windows NT Version fertigzustellen.
    • Unterstützte Plattformen

      Betriebssystem

      Versionen

      SunOS

      4.1.3, 5.5

      Solaris

      2.3, 2.4

      DEC Alpha OSF/1

      verschiedene

      Irix

      5.2, 5.3, 6.2

      Linux

      2.0

      AIX

      verschiedene

      HP UX

      verschiedene

      Ultrix

      verschiedene

    • Generell wird die Palette an unterstützten Betriebssystemen immer größer. Anfangs mußten auch für Irix und Linux noch per Hand Änderungen gemacht werden. Mittlerweile sind diese Änderungen schon in die aktuellen Releases eingearbeitet.
    Vorhandene Routinen
    • Die vorhandenen Programmteile lassen sich grob in die für die Programmierung benötigten Basisroutinen und Beispielapplikationen einteilen.
    • Die Basisroutinen stellen einen Satz an Libraries zur Verfügung, die die Programmierung von eigenen DICOM Routinen unterstützen. Dazu gehören die Datenstrukturen sowie die zugehörigen Funktionen.
    • Die Beispielprogramme sind dabei vor allem zum Verständnis der Basisroutinen notwendig. An ihnen kann sich bei der Entwicklung eigener Routinen orientiert werden.
    Basisroutinen
    • In See Liste der Libraries mit Funktion sind einmal die verschiedenen Libraries mit einer kurzen Beschreibung aufgeführt. Die wichtigsten Libraries werden im Anschluß noch kurz erläutert.
    • Liste der Libraries mit Funktion

      Library

      Beschreibung

      GQ-Generalized Queues

      Erlaubt das Erstellen von Listen auch zur Interprozeßkommunikation.

      FIS-Fake Information System

      Routinen zur Simulation eines einfachen RIS-Systems.

      DUL-DICOM Upper Layer Protocol

      Erlaubt die Netzwerkkommunikation nach Teil 8 der DICOM Dokumentation.

      SNP

      Erlaubt das Monitoring von TCP/IP Kommunikationsverbindungen.

      MSG-DICOM Messages

      Hiermit können DICOM Nachrichten interpretiert werden.

      SRV-DICOM SOP Klassen

      Dies sind die wichtigsten Routinen, denn sie erlauben das Verschicken und Empfangen von DICOM Nachrichten. Hier wird die Hauptfunktionalität zur Verfügung gestellt.

      IDB

      Diese Library enthält Routinen zum Zugriff auf die Bilddatenbank.

      IE-Information Entity

      Mit Hilfe dieser Routinen kann geprüft werden, ob Informationsobjekte vollständig sind und alle für sie notwendigen Attribute enthalten.

      LST-Linked Lists

      Stellt das Handling von doppelt verketteten Listen zur Verfügung.

      DMAN

      Hiermit kann vor allem die Konfiguration der Applikationen vorgenommen werden.

      DCM-Manipulating DICOM Objects

      Mit Hilfe dieser Routinen können DICOM Objekte erstellt und manipuliert werden.

      Print- PRN Structures

      Bearbeiten der Strukturen für das Print-Management.

      DUL-Snoop

      Hiermit kann man die Kommunikation von DICOM Routinen in einem TCP/IP-Netz abhören.

      UID-Unique Identifiers

      Hiermit können eindeutige Identifizierer erzeugt und verwaltet werden. Diese Identifizierer sind vor allem dann wichtig, wenn eigene Bilder (z.B. Secondary Capture) erzeugt werden.

      COND-Generating and Reporting Conditions

      Hiermit werden die Fehler verwaltet und deren Ausgabe ermöglicht. Es können somit sehr effektiv sämtliche Fehler abgefangen und an beliebiger Stelle bearbeitet werden.

      SQ-Sequenz

      Bearbeitet DICOM Objekte mit der Value Representation Sequence.

      MUT-Motif Utilities

      Hilfsroutinen für grafische Benutzeroberflächen.

      Utility

      Zum Manipulieren von DICOM Zeiten und Datenfeldern.

      TBL-Tables

      Routinen für den Zugriff auf eine relationale Datenbank und das Manipulieren von Feldern in dieser.

    • Besonders wichtig für die eigene Programmierung sind dabei die SRV-Routinen und die COND-Routinen, sowie die DUL-Routinen für die Netzwerkkommunikation.
    • Die DUL-Routinen bieten sowohl die Datenstrukturen als auch die Funktionen für die Netzwerkkommunikation. Erst kann das Netzwerk initialisiert werden, und anschließend können Verbindungen zu anderen DICOM Partnern auf- und wieder abgebaut werden. Es kann auch auf eine Verbindungsanfrage gewartet werden, wie dies bei dem DICOM Server der Fall ist. Beim Auftreten von Fehlern können sowohl die DICOM Verbindung als auch die Netzwerkverbindung sauber abgebaut werden.
    • Die COND-Routinen sind für die Behandlung von Fehlern und Ausnahmesituationen zuständig. Fast alle Funktionen übergeben eine Variable vom Typ CONDITION mit dem Zustand nach dem Ausführen der Funktion. Die aufgetretenen Fehler werden dabei in einem Stack gespeichert und können bei Bedarf gezielt ausgegeben oder gesammelt werden. Die Fehler können als Fehlernummer oder als Klartext ausgegeben werden. Man kann den Condition-Stack auch selber mit Conditions beschreiben.
    • Die SRV-Routinen sind sicherlich der wichtigste Teil, denn hier wird die eigentliche DICOM Funktionalität zur Verfügung gestellt. Es gibt eigene Routinen für alle DICOM SOP Klassen, zum Beispiel für das Senden von Bildern und das Stellen der Datenbankanfragen. Dabei gibt es jeweils noch die Funktionen als User und als Provider. Der eine stellt eine Anfrage und der andere beantwortet sie. Auch das Annehmen oder Ablehnen von Serviceklassen ist in dieser Library gelöst.
    • Die DCM-Routinen stellen das Handling mit DICOM Objekten zur Verfügung. Es können derartige Objekte erzeugt werden, ohne sich um die Reihenfolge der einzelnen Attribute kümmern zu müssen. DICOM Objekte können auf ihre Korrektheit getestet, und es können Werte von einzelnen Feldern extrahiert werden. Dabei wird automatisch auf das Data Dictionary zurückgegriffen.
    • Vorteilhaft an den Routinen ist, daß man sie in einen Debug Status versetzen kann, in dem eine Menge an Informationen zu den gemachten Aktionen ausgegeben wird. Das erleichtert die Arbeit vor allem bei aufgetretenen Fehlern deutlich.
    • Um die Libraries richtig verstehen zu können, sollte man sich einige Beispielprogramme ansehen, die gut dokumentiert sind. Dies erleichtert das Verständnis.
    Beispielapplikationen
    • Es gibt eine ganze Reihe von Beispielapplikationen, die sehr nützlich sind, wenn man eigene Programme entwickeln möchte. Hier kann man sich genau ansehen, wie die Routinen aufzurufen sind, damit die Programme auch korrekt funktionieren. Die Beispielroutinen sind alle mit geringem Aufwand lauffähig zu bekommen und können gegeneinander getestet werden. Die wichtigsten Beispielapplikationen zeigt See Liste der Beispielprogramme mit Funktion .
    • Liste der Beispielprogramme mit Funktion

      Programm

      Funktion

      CTN Configuration Tool

      Hiermit können die Einstellungen für die verschiedenen Demonstrationsprogramme erstellt werden. Dies erfordert eine Datenbank, entweder mSQL oder Sybase.

      Image Server

      Der Image-Server erstellt eine Bilddatenbank. An diese können DICOM Bilder geschickt werden, die dann in der Datenbank abgelegt werden. Außerdem können Queries an die Datenbank gestellt und Bilder angefordert werden.

      Print Manager

      Dieses Programm stellt ein grafisches Interface zum Auswählen von Druckern und Bildern dar. Diese können für die Ausgabe positioniert, und es können Druckattribute gesetzt werden.

      Print Server

      Mit dieser Applikation können per DICOM Bilder gedruckt werden. Der Print-Server bearbeitet und verwaltet dabei die eingehenden Druckaufträge.

      Worklist Management Application

      Routinen für eine einfache Demonstration des Worklist Managements.

      Results Storage Application

      Routinen für eine einfache Demonstration des Results Managements.

    • Neben den ausführlichen Beispielapplikationen existieren kleine Beispielprogramme, die vor allem die Konzepte zeigen. Auf die kleinen Beispielprogramme wird nicht näher eingegangen, während die größeren Applikationen in See Liste der Beispielprogramme mit Funktion zusammengefaßt sind.
    • Um eigene Applikationen zu entwickeln, ist es sicherlich besser, wenn man sich zu Beginn an den kleinen Beispielprogrammen die Konzepte anschaut. Zu erwähnen sind dabei vor allem send_image und simple_storage. Dabei werden die Konzepte wesentlich klarer als bei den umfangreichen Programmen, weil man die relevanten Bereiche schnell findet und leicht versteht.
    Gründe für Eigenentwicklungen
    • Bei den ganzen vorhandenen DICOM Applikationen kann man sich leicht fragen, warum man noch etwas Eigenes entwickeln soll, wo doch ein Großteil der Funktionalität schon vorhanden ist.
    • Es gibt zwar Programme für das Senden und das Empfangen der Bilder und die Basisroutinen bieten die Möglichkeit entsprechende Libraries einzubinden, um diese Funktionalität auch in eigenen Programmen zu haben. Leider bieten die mitgelieferten Programme nicht immer genau die Funktionalität, die man gerade braucht. So ist die mitgelieferte Datenbank mSQL nicht für jeden Zweck optimal, und auch nicht jeder arbeitet mit Sybase. Das Teleradiologiesystem CHILI arbeitet zum Beispiel mit der Datenbank Postgres. Für solche Anpassungen muß immer selber programmiert werden, auch wenn die fertigen Anwendungen noch so gut sind.
    • Außerdem ist die Benutzung der Routinen nicht immer intuitiv. So werden sie teilweise mit einer großen Zahl an Kommandozeilenparameter aufgerufen, die gelegentlich schlecht dokumentiert sind. Für eine einfache Benutzung auch durch Nicht-Insider sollten auf jeden Fall die Parameter dokumentiert sein und grafisch konfiguriert werden können. Eine solche Funktionalität muß selber hinzugefügt werden.
    • Für den Einbau der Libraries steht zwar Einiges zur Verfügung, aber die Schnittstelle ist doch recht umständlich zu programmieren. So war es das Ziel, eine möglichst einfache Schnittstelle für den Einbau der Funktionen in eigene Programme zu ermöglichen, damit sich nicht jeder erst in die gesamten Mallinckrodt Quelltexte einarbeiten muß.
    • Und für besondere Schnittstellen wie für den Datenbanktreiber muß natürlich alles selber entwickelt werden. Eine so spezielle Schnittstelle hat für das Teleradiologiesystem einen großen Nutzen. Es sind keine Änderungen im Quellcode des CHILI Systems nötig, um auf DICOM Routinen zugreifen zu können. Es wird so eine sehr mächtige und umfassende Schnittstelle geschaffen.
    Konzepte der implementierten Routinen
    • In diesem Unterkapitel wird klar, daß mit diesen Routinen kein Wegwerfcode erzeugt werden soll, sondern Code, der auch von anderen problemlos verändert und erweitert werden kann. Außerdem sollen die Routinen ohne größere Probleme gewartet werden können. Diese grundsätzlichen Prinzipien des Software Engineering werden hier noch einmal zusammengefaßt. Natürlich greifen die ganzen Konzepte ineinander, sind also nicht immer ganz klar voneinander abzugrenzen. Näheres über Software Engineering kann in der Arbeit der Universität Hannover nachgelesen werden See [Fromme 94] .
    Wartbarkeit
    • Der Quellcode der Routinen ist so gegliedert und strukturiert, daß Änderungen nicht nur vom Entwickler selbst durchgeführt werden können, sondern auch andere ohne großen Einarbeitungsaufwand die Routinen verstehen und verändern können.
    • Dazu gehört eine umfangreiche und vor allem einheitliche Dokumentation. Es muß nicht nur sofort der Aufbau des gesamten Programmes klar werden, sondern es müssen auch die einzelnen Funktionen klar dokumentiert sein. Dazu gehört eine umfangreiche Dokumentation direkt im Quellcode.
    • Zu Beginn jeder Funktion wird ihre Aufgabe sowie die Übergabe- und die Rückgabe parameter beschrieben:

    /* BearbeiteDiesesKommando */

    /* */

    /* Aufgabe: Verteilungsfunktion, die die Anfragen aus dem Netz liest */

    /* und sie an die entsprechenden Unterroutinen verweist */

    /* */

    /* Parameter : */

    /* association Variable, die die Verbindung beschreibt, auf */

    /* der die Anfragen empfangen werden */

    /* ctx Zeiger auf den Presentations-Kontext */

    /* messageType Die Art der Meldung, die wir erhalten haben */

    /* message Zeiger auf eine Struktur, die die Meldung */

    /* enthält */

    /* Rueckgabe : Variable mit dem Zustand des Systems, also fuer */

    /* Fehlermeldungen */

    /* */

    • Dadurch ist ein Verständnis der Programme relativ schnell gewährleistet.
    • Als eine Art Versionsmanagement werden sämtliche Änderungen am Beginn des Programmcodes dokumentiert. Dazu wird immer das Datum aufgeschrieben und die Initialen desjenigen, der etwas geändert hat. Dadurch ist das Arbeiten mehrerer Personen an einem Projekt nur noch ein geringeres Problem, weil jeder sofort sieht, was der andere gerade geändert hat.

    /* Liste der Aenderungen */

    /* */

    /* HM 12.02.97 sscond aufgeloest */

    /* HM 12.02.97 alles in die Headerdatei ausgelagert */

    /* HM 07.02.97 Ausgabe von Parametern im Ruhemodus behoben */

    /* HM 21.01.97 Bei Ruhemodus die Konfigurationsdatei nicht mehr ausgeben */

    /* HM 29.11.96 Library fuer ExpandPath eingebunden */

    /* HM 28.11.96 gsn-Routinen ohne Pfad eingebunden */

    • Hiermit dürfte es auch nicht mehr zu Problemen kommen, wenn mehrere Personen gleichzeitig an verteilten Quelltexten arbeiten. Denn hiermit kann schnell abgeglichen werden, was noch verändert werden muß, damit wieder alle auf dem selben Stand sind.
    • Außerdem hat jede einzelne Datei, egal ob Headerdatei, Library oder ausführbares Programm einen Dokumentationskopf in dem die Versionsnummer, der Ersteller und die Aufgaben erläutert werden.

    /* */

    /* chili_server : DICOM Server fuer CHILI */

    /* */

    /* Erstellt von : Henning Mueller */

    /* */

    /* Version : 1.0.0, 07.02.97 */

    /* */

    /* Dieser Server ist erstellt unter der Benutzung der DICOM Routinen */

    /* des Mallinckrodt Institute of Radiology */

    /* */

    Erweiterbarkeit
    • Unter Erweiterbarkeit wird verstanden, daß schon beim Entwickeln der Routinen darauf geachtet wird, daß das Programm auch für andere Zwecke benutzt werden kann. So müssen die gesamten Routinen möglichst allgemein geschrieben werden. Es müssen die Erweiterungen schon im Quellcode vorgesehen sein, damit andere Programmierer diese Stellen auch schnell finden. So soll es beim DICOM Server nicht nur möglich sein, die Bilder direkt in die Datenbank zu schreiben, sondern auch diese Bilder im DICOM Format oder einem anderen Format auf die Platte zu speichern. Weitere Standards sind bei Bedarf problemlos einzubauen.
    • Im folgenden werden einige Beispiele aus den DICOM Routinen gegeben:
    • Beim Stellen von Queries kann man sie entweder per Hand aufbauen, sie in einer Konfigurationsdatei eintragen, oder sie in einer grafischen Benutzeroberfläche eingeben. Dies alles ist über eine Konfigurationsdatei ohne Quellcodeänderung möglich. Dadurch ist eine kurzfristige Erweiterung, wie es durch den Datenbanktreiber geschehen ist, problemlos möglich.
    • Es gibt verschiedene Debug Stati, die in der Konfigurationsdatei eingetragen werden. So können problemlos weitere Bildschirmausgaben unter einer bestimmten Konfiguration eingetragen werden, die in anderen Konfigurationen keine Seiteneffekte haben können. Damit ist das Programm für die verschiedensten Zwecke nutzbar.
    • Auch der Datenbanktreiber ist so ausgelegt, daß man zusätzliche SQL Funktionalitäten problemlos einbauen kann. Anfangs konnten nur bestimmte Funktionen übernommen werden, aber solche Funktionalitäten wie das Optimieren von Anfragen sind schon von vorneherein im Quelltext vorgesehen.
    Dokumentation
    • Zur Dokumentation gehören die verschiedensten Bereiche, die hier kurz erläutert werden.
    • Zum einen gibt es die Dokumentation direkt im Quellcode, die wichtige Teile der Quelltexte beschreibt und vor allem zum Verständnis einzelner Programmodule dient.
    • Die standardisierte Dokumentation von Funktionen und Dateien dient vor allem dazu, daß sich jeder schnell in die Funktionsweise des gesamten Programmes bzw. der Funktionalität einer Library einarbeiten kann. Hierauf ist im Kapitel See Wartbarkeit schon eingegangen worden.
    • Dies beiden Dinge werden noch in einer Programmierbeschreibung zu den Routinen zusammenfaßt, damit problemlos DICOM Funktionalitäten in verschiedene Programme eingebaut und die Routinen leicht erweitert oder verändert werden können.
    • Zusätzlich gibt es eine Dokumentation der Konfigurationsparameter. Dabei wird der Name des Konfigurationsparameters, der Datentyp und die Funktion angegeben. Außerdem wird beschrieben, ob der Parameter notwendig oder optional ist. Und natürlich muß für ein solches Dokument auch immer die Versionsnummer der Routine angegeben werden, damit immer mit dem Quellcode abgeglichen werden kann, ob die Parameterliste noch aktuell ist.
    • Diese Konfigurationsdokumentation ist ein Teil der Benutzerdokumentation, in der generell auf die Benutzung, also den Aufruf und die Konfiguration der Routinen eingegangen wird. Dies soll es dem Benutzer möglichst einfach machen, die Routinen zu konfigurieren, sie aufzurufen und mögliche Fehler zu beseitigen.
    Benutzbarkeit
    • Die Benutzbarkeit läßt sich in diesem Fall in zwei Teilbereiche untergliedern. Zum einen ist der Benutzer derjenige, der die Routinen aufruft und konfiguriert. Zum anderen ist der Benutzer aber auch derjenige, der die Routinen in seine eigenen Programme einbaut und gegebenenfalls verändert.
    • Für den Programmierer ist dabei vor allem ein Programmierhandbuch und die einheitliche Dokumentation der Quelltexte wichtig. Dies ist in den obigen Kapiteln schon erläutert worden.
    • Für den Benutzer, der die Routinen aufruft, ist dagegen neben dem Benutzerhandbuch auch noch eine einfache Konfiguration der Routinen wichtig. Es müssen also bei den in dieser Arbeit entwickelten Routinen keine kryptischen Kommandozeilenparameter eingegeben werden, wie dies unter Unix oft üblich ist. Die Konfiguration erfolgt über eine Konfigurationsdatei. Diese kann mit einem einfachen Texteditor verändert werden.
    • Um das ganze noch einfacher zu machen ist für die verschiedenen DICOM Routinen eine einfache grafische Oberfläche erstellt worden (siehe Abbildung See Bildschirmausdruck der Konfiguration ). Näheres über Benutzerschnittstellen und Ergonomie kann in dem Buch von Preece nachgelesen werden See [Preece 96] .
    • Auf der rechten Seite sind dabei die Tasks für die verschiedenen DICOM Routinen zu sehen, die konfiguriert werden können. Jedes dieser Programme hat einen eigenen Konfigurationsbildschirm, der über die Taskleiste aktiviert werden kann. Im Hauptbildschirm können die Parameter in die dafür vorgesehenen Felder eingetragen oder verändert werden. Die so veränderten Parameter werden mit dem Befehl Speichern in die entsprechende Konfigurationsdatei geschrieben.
    • Dieses Konfigurierungstool der DICOM Routinen ist als PlugIn für CHILI vorgesehen.
    DICOM Implementierung
    • In diesem Unterkapitel wird die Implementierung der DICOM Routinen beschrieben, die im Rahmen dieser Arbeit erstellt wurden. Dazu gehören Programme
    • für das Testen einer DICOM Funktionalität (C-Echo),
    • für das Verschicken von Bildern (C-Store),
    • für das Stellen von Datenbankanfragen (C-Find) und
    • für das Anfordern von Bildern (C-Move).
    DICOM Server
    • Der DICOM Server ist mit Sicherheit das Programm mit der größten Funktionalität. Neben der Fähigkeit, Bilder zu empfangen, kann der Server auch Queries an die Datenbank beantworten und angeforderte Bilder an bestimmte Applikationen verschicken, sowie den C-Echo Befehl als Provider zur Verfügung stellen.
    Aufgaben
    • Der DICOM Server hat eine ganze Reihe von Aufgaben. So dient er als C-Echo Provider, er liefert also ein OK auf eine Anfrage von einem C-Echo User und überträgt dabei den Namen der Applikation.
    • Die im Zusammenhang mit dem Teleradiologiesystem CHILI wichtigste Funktion ist das C-Store als Provider. Dieser Dienst regelt das Empfangen der Bilder in DICOM. Dabei werden alle in DICOM definierten Bildarten unterstützt. Erweiterungen auf andere Bildarten werden hier eingebaut. Unterstützte Bildarten sind zur Zeit:
    • COMPUTED RADIOGRAPHY, digitales Röntgen,
    • CT, Computertomographie,
    • MR, Magnetresonanztomographie,
    • NM, Nuklearmedizin,
    • US, Ultraschall,
    • SECONDARYCAPTURE, eingescannte Bilder,
    • XRAYANGIO, Angiographie,
    • XRAYFLUORO, Fluoroskopie,
    • PET, Positronen Emissions Tomographie,
    • STANDALONEPETCURVE, PET Kurve,
    • RT, Radiotherapie,
    • PRTDOSERadiotherapie Dosis,
    • RTSTRUCTURESET, Radiotherapie Struktursatz,
    • RTPLAN, Radiotherapieplanung.
    • Queries werden als Provider unterstützt ( C-Find Provider), die interne CHILI-Datenbank kann von einer entsprechend autorisierten Gegenstelle abgefragt werden. Eine solche Gegenstelle kann zum Beispiel eine andere CHILI-Station sein.
    • Genauso wird das Anfordern von Bildern unterstützt ( C-Move Provider). So können andere Applikationen Bilder von CHILI anfordern. Damit dies möglich ist, muß der Server auch Bilder verschicken können ( C-Store User).
    • Abbildung See Der DICOM Server und seine Funktion zeigt den DICOM Server mit seinen verschiedenen Funktionen und die jeweils zugehörige Kommunikationsrichtung.
    • Bei C-Find und C-Move werden sowohl Patient Root als auch Study Root unterstützt, damit eine möglichst große Funktionalität gegeben ist. Die Unterscheidung von Study Root und Patient Root ist in Abbildung See Patient Root und Study Root beschrieben.
    Besonderheiten
    • Der Server kann wie alle DICOM Routinen über eine Textdatei konfiguriert werden. Zusätzlich gibt es eine einfache grafische Konfigurationsmöglichkeit. Genauere Informationen dazu sind in der Konfigurationsbeschreibung zu finden. Es können Daten wie Portnummer, Hostrechner und Applikationsname konfiguriert werden, aber auch verschiedene Debug Stati eingestellt werden.
    • Der Server wartet an einem bestimmten Port einer IP Nummer auf externe Anfragen. Kommt eine Anfrage, so wird diese bearbeitet, also entsprechend beantwortet, falls die SOP Klassen unterstützt werden. Es wird zu einer Zeit immer nur eine Anfrage bearbeitet. Kommen mehrere Anfragen zur gleichen Zeit, so werden sie in einer Schlange nacheinander abgearbeitet.
    • Wird der Move-Befehl aufgerufen, so werden die Bilder an die gewünschte Gegenstelle verschickt. Dazu wird eine Verbindung aufgebaut.
    • Die Rechte der Anfragenden werden in der Datenbank des Teleradiologiesystems CHILI abgelegt. So muß geklärt sein, welche Partner Rechte zum Abfragen der Datenbank haben, und vor allem welche Partner die entprechenden Bilder anfordern dürfen. Diese Partner werden mit Applikationstitel, Portnummer und Hostname gespeichert. Als Datenbanksystem für CHILI wird momentan Postgres verwendet, aber Schnittstellen zu anderen Datenbanksystemen sind vorgesehen.
    Implementierung
    • Bei der Implementierung können vier große Blöcke unterschieden werden, die hier getrennt behandelt werden. Diese entsprechen den unterschiedlichen Serviceklassen.
    • Allgemein kann zur Implementierung noch gesagt werden, daß der Server an einem Port einer IP-Adresse auf eine Verbindungsanfrage wartet. Kommt eine solche Anfrage, dann werden die Verbindungsparameter wie der Transfersyntax und die SOP Klassen ausgehandelt. Gibt es hierbei keine Probleme, dann können konkrete Dienste ausgeführt werden. Dabei wird je nach Serviceanfrage auf die Routinen zurückgegriffen, die im Folgenden behandelt werden.
    • C-Echo Anfrage
    • Das C-Echo dient zum Testen einer einfachen DICOM Funktionalität. Bei einer Verify Anfrage, wird der Gegenstelle einfach ein OK zurückgeschickt, falls die Anfrage korrekt gestellt ist. Zusätzlich wird noch der Name der eigenen Implementierung zurückgeschickt. Im Teleradiologiesystem CHILI lautet dieser Name:

    CHILISERVER_Monat_Jahr

    • Es wird also eine Angabe über das Erstellungsdatum des Servers mitgeliefert. So kann man die Version des Servers feststellen, ohne ihn erst herunterfahren zu müssen.
    • C-Store Anfrage
    • Bei einer Store Anfrage wird zuerst ein eindeutiger Dateiname für das Objekt generiert, also die SOP Instanzen UID. Je nach Art des Bildes können die Dateinamen auf verschiedene Verzeichnisse verweisen. So können z.B. die CT Bilder in einem anderen Verzeichnis als die MR Bilder gespeichert werden.
    • Unter diesem eindeutigen Dateinamen wird das Objekt auf der Platte gespeichert. Es gibt verschiedene Möglichkeiten des Speicherns. Das Objekt kann direkt im PIC-Format in die CHILI Datenbank, es kann im PIC Format in ein bestimmtes Verzeichnis auf der Platte oder es kann im DICOM Format auf die Platte geschrieben werden. Näheres zum PIC Format ist in der Arbeit von Schröter zu lesen See [Schröter 94] .
    • C-Find Anfrage
    • Bei einer C-Find Anfrage müssen die erhaltenen Daten erstmal in das eigene Format übernommen werden.
    • Dann wird die Datenbank mit den in der Anfrage vorhandenen Parametern abgefragt. Die so erhaltenen Ergebnisse werden wieder in DICOM Objekte verpackt und einzeln zu der abfragenden Seite geschickt. Gibt es keine Treffer für die Query, so wird dies der Gegenseite gemeldet.
    • Der Server weist dabei eine große Toleranz bei den Abfragen auf. So ist es möglich, Abfragen über mehrere Ebenen hinweg zu stellen, also Joins. Als Ergebnisse werden immer nur Daten der entsprechenden Ebene zurückgeschickt.
    • C-Move Anfrage
    • Bei Move-Anfragen werden nur Primärschlüssel ausgewertet. Andere Attribute werden ignoriert, führen aber nicht zu einer Fehlermeldung.
    • Dabei wird geprüft, ob die Zielapplikation in der CHILI Datenbank eingetragen ist. Nur wenn die entsprechenden Rechte bestehen wird eine Verbindung aufgebaut und die Bilder werden verschickt. Nur bei erfolgreichem Verschicken der Bilder wird dem Anfragenden des Move Requests ein OK zurückgeschickt. Ansonsten erfolgt eine entsprechende Fehlermeldung.
    Query/Retrieve als User
    • Dieser Bereich bietet eine sehr hohe Funktionalität an, die Queries auf den Ebenen Patient, Studie, Serie und Bild sowie das Retrieve auf den Ebenen Patient, Studie, Serie und Bild. Zusätzlich kann auf allen Ebenen zwischen Patient Root Anfragen und Study Root Anfragen unterschieden werden.
    Aufgaben
    • Diese Routinen bieten die Möglichkeiten, DICOM Archive und DICOM Datenbankbanken abzufragen ( C-Find User). Außerdem können Bilder von diesen Stationen angefordert werden ( C-Move User). Zum Empfangen der Bilder ist die Zusammenarbeit mit einem C-Store Provider nötig.
    • Diese oben erläuterten Funktionen sind in Abbildung See Funktionalität des Query Clients einmal zusammengestellt:
    • Für diese Aufgaben werden verschiedene Modi zur Verfügung gestellt. Im Teleradiologiesystem CHILI werden Patient Root Anfragen und Study Root Anfragen unterstützt, da dies die gängigsten Anfragemechanismen sind. Sie werden von den meisten Providern zur Verfügung gestellt. Genaueres zu Patient Root und Study Root ist in Kapitel See Implementierung zu finden.
    • Nicht unterstützt wird die gemischte Patient/Study Root Serviceklasse.
    Besonderheiten
    • Die Routinen können wie die anderen DICOM Programme über eine einfache Textdatei konfiguriert werden. Eine einfache grafische Konfigurationsumgebung ist vorgesehen. Auch die Anfrageparameter für Queries wie Patientennamen oder IDs können über diese Konfigurationsdatei eingetragen werden. Außerdem kann so festgelegt werden, ob die Anfragen als Study Root oder Patient Root gestellt werden sollen.
    • Die Query/Retrieve Routinen können als Stand alone Programm benutzt werden. Es können also Anfragen gestellt und Bilder angefordert werden. Eine einfache Weiterverarbeitung oder Auswertung der Daten ist ohne größeren Aufwand möglich.
    • Eine andere Form der Benutzung der Query/Retrieve Routinen ist das Einbinden in Programme in Form einer Library. So können mit den Kommandos das Netzwerk initialisiert, Verbindungen aufgebaut und Anfragen gestellt werden. Die Ergebnisdaten stehen dann im eigenen Programm zur Verfügung. Ein Beispiel für eine solche Applikation, die die Library einbindet, ist der Datenbanktreiber, der eine noch einfacher zu bedienende Schnittstelle zur Verfügung stellt.
    Implementierung
    • Bei der Implementierung ist zwischen den Find Anfragen (Queries), den Move Anfragen (Retrieves) und den allgemeinen Routinen zu unterscheiden. Näheres zu den Diensten kann in Kapitel 4 nachgelesen werden.
    • Allgemeine Routinen
    • Zu den allgemeinen Routinen gehören sämtliche Routinen für das Einlesen und bearbeiten der Konfigurationsparameter und der Queryparameter. Treten hier grobe Fehler auf, so wird eine Fehlermeldung zurückgeliefert und das Programm beendet. Wird es als Stand alone Programm benutzt, so wird noch ein Hinweis zum Aufruf des Programmes angegeben.
    • Bei den allgemeinen Routinen gibt es zusätzlich Funktionen für den Aufbau einer DICOM Verbindung mit allen dazugehörigen Parametern, sowie eine Routine für das saubere Beenden einer Verbindung. Außerdem gibt es noch ein paar generelle Routinen für das Handling von DICOM Objekten.
    • Queries
    • Es gibt für die unterschiedlichen Ebenen wie die Patienten-, die Studien-, die Serien- und die Bilderebene einzelne Anfragen, in denen jeweils die Primärschlüssel der darüberliegenden Ebenen mitgeschickt werden. Die Primärschlüssel sind in See Primärschlüssel der einzelnen Ebenen zusammengefaßt.
    • Primärschlüssel der einzelnen Ebenen

      Ebene

      Primärschlüssel

      Patient

      Patienten ID

      Studie

      Studien Instanzen UID

      Serie

      Serien Instanzen UID

      Bild

      SOP Instanzen UID

    • Welche Elemente abgefragt werden können hängt jeweils von der Gegenstelle ab. Wir versuchen auf den einzelnen Ebenen möglichst viele Elemente abzufragen. Allerdings unterstützen nicht alle DICOM Programme sämtliche DICOM Attribute bei den Queries.
    • Zu unterscheiden sind Patient Root und Study Root. Bei Patient Root bildet der Patient die höchste Ebene. Von hier an müssen alle Primärschlüssel übergeben werden, wenn man untere Ebenen abfragen möchte. Bei Study Root bilden die Studiendaten zusammen mit den Patientendaten die oberste Ebene. Bei Abfragen der Serienebene muß hier z.B. nur der Primärschlüssel der Studien übertragen werden. Study Root wird häufig benutzt, wenn die Patienten IDs nicht eindeutig vergeben werden. Eine schematische Übersicht über Study Root und Patient Root bildet Abbildung See Patient Root und Study Root . Es ist gut die Verschachtelung der Ebenen Patient, Patient/Studie, Studie, Serie und Bild zu sehen. Mit zunehmenden Verschachtelungen der Ebenen steigt die Komplexität der Anfragen.
    • Für diese beiden Ebenen müssen unterschiedliche Routinen entwickelt werden, die sich allerdings sehr ähnlich sind.
    • Generell bestehen die Queries immer aus drei Bereichen. Der erste dient dem Erstellen des Query-Objektes, der zweite ist für das Verschicken zuständig und der dritte Bereich ist eine Callback Funktion, die jede einzelne Antwort auf eine Anfrage bearbeitet. In der Callback Funktion können Bildschirmausgaben zwischen dem Empfangen jedes einzelnen Antwortobjektes geschehen, und die erhaltenen Objekte weiterbearbeitet werden.
    • Beim Erstellen einer Query werden vor allem die Parameter für die Query und die Konfigurationsparameter des Programmes benötigt. Aus diesen Parametern wird ein DICOM Objekt erstellt, das die entsprechenden Angaben enthält. Es besteht auch die Möglichkeit, eine solche Query aus einer Datei einzulesen.
    • Das Verschicken einer Query ist schon etwas aufwendiger. Es werden neben dem Queryobjekt, das vorher erstellt wurde, noch Informationen über das Netzwerk und die anzufordernde Verbindung benötigt. Der generelle Ablauf sieht in etwa folgendermaßen aus:

    /* Ablauf des Verschickens eines Objektes */

    Stelle Verbindungsanfrage für eine bestimmte Serviceklasse

    Belege Parameter für die Serviceklasse

    Stelle Query mit dem Objekt und den Verbindungsparametern

    Baue Verbindung sauber ab

    • Wichtig ist dabei noch, daß eine Callback Funktion angegeben wird, in der die Queryergebnisse verarbeitet werden. Diese Queryergebnisse werden von der Funktion für das Verschicken einfach weitergereicht. Wenn man sich im Debug Status befindet, dann werden hier noch zusätzliche Funktionen ausgegeben.
    • Die Callback Funktion wird nach jeder Antwort aufgerufen. Hier wird eine verkettete Liste angelegt, in der die Anwortelemente nacheinander abgelegt werden, damit sie später weiterverarbeitet werden können. Es erfolgt außerdem eine Umsetzung der Datenelemente in ein internes Datenformat, nachdem sie aus den DICOM Objekten gelöst worden sind.
    • Folgende Ebenen und Modi der Queries werden unterstützt:
    • Patient Query Patient Root
    • Patient/Study Query Study Root
    • Study Query Patient Root
    • Series Query Patient Root und Study Root
    • Image Query Patient Root und Study Root
    • Die Art der Studie (Patient, Study, Series, Image) gibt dabei die Datenelemente an, über die eine Abfrage geschehen darf. Der Modus (Patient Root, Study Root) dagegen gibt die Hierarchieform an, nach der die Primärschlüssel übertragen werden müssen.
    • Retrieves
    • Der Aufbau der Retrieves entspricht ungefähr dem der Queries. Es gibt auch hier die verschiedenen Ebenen, in denen jeweils Bilder angefordert werden können und auch die Unterscheidung in Study Root und Patient Root. Der Unterschied ist, daß bei den Moves nur Primärschlüssel benutzt werden dürfen. Es ist also nicht möglich, Anfragen über den Patientennamen oder andere Attribute zu machen. Möchte man Anfragen auf diese Art formulieren, dann muß man erst mit Find die Suche einschränken und mit den so erhaltenen Primärschlüsseln die Bilder per Move anfordern.
    • Somit können sowohl sämtliche Bilder eines Patienten, einer Studie oder einer Serie angefordert werden als auch Einzelbilder.
    • Der Aufbau mit den drei Funktionen Erstellen, Verschicken und Callback ist auch hier gleich. Hier hat die Callback Funktion nicht mehr viele Aufgaben. Es kann lediglich eine Meldung ausgegeben, oder eine Fortschrittsanzeige gemacht werden.
    DICOM Datenbanktreiber
    • Der DICOM Datenbanktreiber baut im wesentlichen auf den Routinen des Query/Retrieve Users auf. Die Konfigurationsdateien unterscheiden sich nur darin, daß die des Datenbanktreibers noch die Strukturparameter für die Datenbank enthält, die vom Benutzer aber nicht verändert werden sollen.
    • Der Datenbanktreiber ist sicherlich das interessanteste Programm der DICOM Routinen!
    Aufgabe
    • Der Datenbanktreiber baut auf den Query/Retrieve Routinen auf, er stellt also dieselbe Funktionalität mit denselben Serviceklassen zur Verfügung.
    • Interessant macht den Datenbanktreiber die Funktionalität, die der einer SQL Datenbank sehr nahe kommt. So sind im elementaren DICOM keine Joins möglich und es können auch keine Parameter sortiert angefordert werden. Diese Funktionen sowie das Parsen SQL-ähnlicher Kommandos werden von dem Datenbanktreiber vorgenommen.
    • Es wird außerdem eine Schnittstelle mit den verschiedensten Funktionen zur Verfügung gestellt, wie beispielsweise zum Auf- und Abbau einer Verbindung oder zur Weiterverarbeitung der Daten.
    • Interessant ist es auch, die Abfragen zu optimieren. So sind Studienanfragen bei Study Root wesentlich schneller, als wenn erst eine Abfrage über alle Patienten und dann einzeln über die Studien der Patienten abgefragt wird. Die Anfragen werden bei Joins also je nach den Fähigkeiten der Gegenseite optimiert.
    • Das Teleradiologiesystem CHILI unterscheidet nicht zwischen der Funktion des DICOM Datenbanktreibers und der internen Datenbank. Es müssen also keine Quelltexte von CHILI verändert oder angepaßt werden.
    • In Abbildung See Datenbankverbindungen von CHILI erkennt man gut, daß nicht zwischen den unterschiedlichen Datenbanken unterschieden wird. Es werden immer dieselben Datenbankbefehle erzeugt, die von den entsprechenden Treibern umgesetzt werden.
    Besonderheiten
    • Die Konfiguration erfolgt über die gleiche Konfigurationsdatei wie beim Query_Client. Es sind lediglich zusätzliche Informationen über die Struktur der Datenbank enthalten.
    • Der Datenbanktreiber stellt dabei eine ähnliche Funktionalität wie eine SQL Datenbank zur Verfügung. Das heißt, daß Randbedingungen für die Query direkt angegeben werden können, daß Sortierkriterien genannt werden dürfen und vor allem auch, daß Joins über mehrere Tabellen der Datenbank erfolgen können. Dafür müssen die Anfragen ausgewertet und sequentialisiert werden.
    • Sehr wichtig ist dabei die Unterscheidung in Patient Root Anfragen und Study Root Anfragen. Hierüber kann sehr gut eine Optimierung der Anfragen erfolgen, weil man bei Study Root in einer Query Patienten- und Studienattribute abfragen kann. Allerdings werden die Parameter etwas anders übergeben als bei Patient Root. Study Root kann einfach über einen Schalter in der Konfigurationsdatei aktiviert werden.
    • Diese Unterscheidung in Patient Root und Study Root ist deswegen so wichtig, weil die aus SQL umgesetzten DICOM Anfragen sequentialisiert werden müssen. Es können in DICOM immer nur Anfragen auf einer Ebene, also in einer Tabelle, gestellt werden. Die Primärschlüssel aller oberen Ebenen müssen jedesmal mit übertragen werden.
    • So muß zum Beispiel bei einer Anfrage über eine bestimmte Bildinstanz zuerst eine Anfrage über alle Patienten erfolgen. Dann muß für jeden einzelnen Patienten eine Anfrage über alle Studien gestellt werden. Für jede Studie muß eine Anfrage über alle Serien gestellt werden. Erst jetzt kann für jede Serie eine Anfrage über die gewünschte Bildinstanz erfolgen. Das ist ein sehr aufwendiger Prozeß, der natürlich für eine schlechte Performance des Systems sorgt. Deswegen sollten alle möglichen Optimierungen eingebaut werden. Bei Study Root fällt hier zum Beispiel eine Abfrageebene weg.
    • Hier sind sämtliche Schritte für die Umsetzung von SQL in DICOM kurz aufgelistet:
    • Parsen von SQL
    • Trennung von Primärschlüsseln und weiteren Parametern
    • Erkennung von Sort Parametern
    • Sequentialisierung der Anfragen (möglichst optimiert)
    • Stellen der einzelnen Anfragen
    • Parsen der Parameter und Umsetzung ins interne Format
    • Erstellen von DICOM Objekten
    • Verschicken der Queries
    • Erstellen eines verketteten Objektes der Ergebnisse
    • Sortieren der Elemente
    • Zurverfügungstellen der Ergebnisse
    • Zusammenfügen der Ergebnisse
    • Es ist gut zu erkennen, daß diese Umsetzung einige sehr aufwendige Arbeitsschritte beinhaltet.
    Implementierung
    • Im Folgenden werden sämtliche Funktionen kurz beschrieben, die der Datenbanktreiber enthält:

    dicomConn_t *dicomSetDB (char *host, char *port,

    char *cfgFile, char *applName);

    • Hierbei wird das DICOM Netzwerk initialisiert. Es erfolgt ein kleiner Test, ob die Gegenseite zu einer Kommunikation bereit ist. Es können neben dem Port und dem Hostnamen auch noch der Applikationsname und der Name der einzulesenden Konfigurationsdatei angegeben werden.

    int dicomConnectionstatus(dicomConn_t *dicomConn);

    • Mit dieser Funktion kann der Status der Verbindung abgefragt werden, also ob sie noch aktiv ist, bereits abgebaut oder noch gar nicht aufgebaut wurde.

    int dicomFinish (dicomConn_t *dicomConn);

    • Die Funktion dicomFinish chließt eine Netzwerkverbindung sauber wieder ab und übergibt eine Statusvariable. Anhand dieser Statusvariablen kann festgestellt werden, ob der Verbindungsabbau problemlos geklappt hat.

    dicomResult_t *dicomSendCommand( dicomConn_t *verbindungsparameter,

    char *level,

    char *condition,

    char *sort,

    char *command);

    • In dieser Funktion kann eine DICOM Anfrage gestellt werden. Es muß dabei der Parameter für die Initialisierung des Netzwerkes mit übergeben werden. In dem Parameter Level werden die Primärschlüssel für eine Anfrage übertragen. Sie können mit Werten belegt sein, oder aber mit einer Wildcard. Der Parameter Condition dient der Übertragung von Nebenbedingungen für die Query. Dies ist zum Beispiel der Fall, wenn über alle Patienten die mit "M" anfangen eine Query gemacht werden soll. Es können hier beliebig viele Parameter übertragen werden. In Sort kann ein Sortierkriterium angegeben werden. Ein Beispiel für ein Sortierkriterium ist "Patient.Name". In Command wird schließlich gesagt, ob es sich um eine Query oder einen Retrieve Befehl handelt.
    • Zurückgeliefert wird eine Struktur, die mit den entsprechenden Funktionen ausgelesen werden kann. Es handelt sich um eine verkettete Liste mit den entsprechenden Antwortelementen.

    int dicomResultStatus( dicomResult_t *res );

    • Diese Funktion liefert als Ergebnis, ob die Query erfolgreich war oder nicht und ob es Ergebnisse auf die Query gab oder nicht.

    char *dicomGetPort( dicomConn_t *conn );

    • Liefert den für die Kommunikation benutzten Port zurück. Ist das Netzwerk noch nicht initialisiert, so wird 104 als Standardport zurückgeliefert.

    char *dicomErrorMessage( dicomConn_t *conn );

    • Diese Funktion liefert eine Fehlermeldung im Klartext, falls ein Problem aufgetreten ist. Ansonsten wird ein OK zurückgegeben.

    int dicomStudyRootAble( dicomConn_t *dicomConn );

    • Hier wird nur gesagt, ob die Gegenstelle Study Root beherrscht oder nicht.

    char *dicomGetValue ( dicomResult_t *res,

    int aktuelles_objekt,

    int aktuelles_feld );

    • Mit dieser Funktion können einzelne Werte aus dem Ergebnis einer Query extrahiert werden. DicomResult ist die verkettete Liste mit dem Ergebnis. In aktuelles_Objekt wird die Nummer des gewünschten Objektes angegeben, das ausgegeben werden soll und in aktuelles_Feld muß die Feldnummer des Elementes innerhalb der Datenbank angegeben werden.

    int dicomReleaseResult(dicomResult_t *Ergebnis);

    • Hiermit kann eine verkettete Liste wieder aufgelöst und der Speicher freigegeben werden.
    • Die Datenstrukturen zu den hier beschriebenen Funktionen können problemlos im Quelltext nachgelesen werden.
    • Im Folgenden wird ein Beispiel für ein einfaches Programm gegeben, das eine Query per DICOM stellt und alle Patienten sortiert nach den Patienten IDs liefert, die mit "B" anfangen. Von diesen Patienten werden dann die Patienten IDs ausgegeben.

    /* Initialisieren des Netzwerkes, Einlesen der Konfiguration */

    Verbindungsparameter = dicomSetDB("caesar.offis.uni-oldenburg.de", "8765",

    "CHILI_query_client.config", "CHILI");

    ErgebnisderQuery=dicomSendCommand(Verbindungsparameter,

    "patient=*", "patient.name=B*", "patient.id",

    DICOM_COMMAND_QUERY);

    i=0;

    while(dicomGetValue(ErgebnisderQuery, i, 0)!=NULL){

    printf("%s \n", dicomGetValue(ErgebnisderQuery, i, 0));

    i++;

    } /* While */

    /* Abbau der Netzwerkverbindung und Freigabe der Objekte */

    dicomFinish(Verbindungsparameter);

    • Es ist gut zu erkennen, wie einfach auf diese Weise das Erstellen von Queries ist. Man muß sich nicht mehr um die Optimierung der Anfragen kümmern. Das Sortieren der Ergebnisse erfolgt mit Quicksort und ist auch bei größeren Datenmengen sehr schnell.
    Echo als User
    • Dies ist mit Sicherheit die einfachste aller DICOM Routinen. Es können hiermit Verify Anfragen an andere Programme gestellt werden.
    Aufgabe
    • Dieses Programm fragt andere Applikation mit einem Verify ( C-Echo User) ab und gibt die Antwort auf dem Bildschirm aus. Es wird dabei der Name der Gegenstelle ausgegeben und ein OK, falls eine korrekte Antwort kam. Die Echo Anfrage dient nur Testzwecken. So wird eine ganz einfache Verbindung aufgebaut, mit deren Hilfe erkannt werden kann, ob schon hier Probleme auftreten. Mit so einer einfachen Anfrage kann man die Probleme am besten lokalisieren.
    Besonderheiten
    • Das Programm kann wie die anderen Routinen auch über eine einfache Textdatei konfiguriert werden. Hierbei können der Name der Applikation sowie die Portnummer und der Hostname angegeben werden. Es gibt außerdem Debug-Parameter, die gesetzt werden können, falls man sich die ganze Kommunikation ansehen möchte.
    • Nach einer erhaltenen Antwort wird ein OK für eine korrekte Kommunikation ausgegeben oder eine Fehlermeldung, falls Probleme aufgetreten sind.
    Implementierung
    • Die Implementierung ist recht einfach, so daß hier einmal eine kurze Übersicht im Pseudocode über den Ablauf der Kommunikation gegeben wird:

    /* Beschreibung des Ablaufs eines C-Echo Requests */

    Einlesen der Konfigurationsparameter

    Setzen der Debug-Stati

    Initialisierung des Netzwerkes

    Wenn Netzwerk OK ist

    Stellen einer Verbindungsanfrage

    Wenn die Verbindungsanfrage geklappt hat

    Stellen einer Echo-Anfrage

    Ausgabe der entsprechenden Parameter

    Abbau der Verbindung und des Netzwerkes

    • Dazu kommen noch die verschiedenen Fehlerabfragen. So können beim Einlesen der Konfigurationsparameter, der Initialisierung des Netzwerkes oder der Verbindungsanfrage Probleme auftreten, die entsprechend auf dem Bildschirm ausgegeben werden.
    • Genaueres über die Implementierung kann im Quellcode nachgelesen werden.
    Store als User
    • Store als User ist auch ein sehr einfacher Service. Damit können die verschiedensten Bildarten per DICOM verschickt werden.
    Aufgaben
    • Die Aufgabe ist es, C-Store als User zur Verfügung zu stellen. Zu dieser Serviceklasse gibt es eine ganze Reihe von SOP Klassen. Unterstützt werden alle Bildklassen in DICOM. Unter anderem sind dies:
    • SOPCLASSCOMPUTEDRADIOGRAPHY,
    • SOPCLASSCT,
    • SOPCLASSMR,
    • SOPCLASSNM,
    • SOPCLASSUS,
    • SOPCLASSSECONDARYCAPTURE,
    • SOPCLASSXRAYANGIO,
    • SOPCLASSXRAYFLUORO
    • SOPCLASSPET,
    • SOPCLASSSTANDALONEPETCURVE,
    • SOPRTIMAGESTORAGE,
    • SOPRTDOSESTORAGE,
    • SOPRTSTRUCTURESETSTORAGE,
    • SOPRTPLANSTORAGE.
    • Neue Bildarten aus den Supplements können hier problemslos eingefügt werden.
    Besonderheiten
    • Die Routine CHILI_send (Store als User) kann wie alle anderen DICOM Routinen über eine einfache Textdatei konfiguriert werden. In See Konfigurationsparameter von CHILI_Send sind beispielhaft die verschiedenen Konfigurationsparameter aufgelistet. Sie werden dann kurz erläutert, um die Möglichkeiten der Software zu zeigen.
    • Konfigurationsparameter von CHILI_Send

      Eintrag

      nötig

      Datentyp

      Beschreibung

      Port

      ja

      numerisch, default 104

      Ist die Portnummer, unter der die DICOM Kommunikation abgewickelt werden soll.

      Knoten

      ja

      alphanumerisch

      Der Name des Knotens, auf dem der Server läuft, an den die Bilder geschickt werden sollen.

      Name

      ja

      alphanumerisch

      Name der eigenen Applikation (AE), ist in der Regel CHILI_SEND.

      Partnername

      ja

      alphanumerisch

      Name der Applikation des Kommunikationspartners (AE), in der Regel also der Name des Servers.

      Eingabesystem

      ja

      DICOM_P10,

      DICOM_Satz,

      Datenbank

      PIC_File

      Gibt das Eingabemedium der zu verschickenden DICOM Daten an, in der ersten Testversion ist dies immer DICOM_Satz, andere Zielsysteme sind noch nicht realisiert.

      DCM_Debug

      nein

      TRUE, FALSE

      DCM in den Debug Modus stellen, also möglichst viel auf dem Bildschirm ausgeben.

      DUL_Debug

      nein

      TRUE, FALSE

      DUL in den Debug Modus stellen.

      SRV_Debug

      nein

      TRUE, FALSE

      SRV in den Debug Modus stellen.

      MaximumPDU

      nein

      numerisch

      (16384)

      Stellt die maximale Paketgrösse auf den eingegebenen Wert.

      Ruhemodus

      nein

      TRUE, FALSE

      Keine Parameter der empfangenen Bilder ausgeben.

      Datenausgabe

      nein

      TRUE, FALSE

      Gibt an, ob am Ende jedes empfangenen Bildes die Informationen auf dem Bildschirm ausgegeben werden sollen.

      SOPName

      nein

      alphanumerisch

      (leer)

      Benutzt die Sofortverbindung aufbauend auf dem SOP Namen.

      Antwortstatus_relevant

      nein

      TRUE, FALSE

      Macht das Programm auf den Antwortstatus sensitiv. Hält an, wenn es keinen Erfolg gemeldet hat.

    • Eine interessante Sache ist, daß hier als Eingabeformate nicht nur DICOM Bilder zugelassen sind, sondern auch DICOM Bilder im Archivformat nach DICOM Teil 10. Es können sogar PIC Bilder verschickt werden, die allerdings dafür erstmal in Secondary Capture DICOM Bilder konvertiert werden müssen.
    • Die Routinen können entweder im Stand alone Modus benutzt werden, oder als Library in andere Programme eingebaut werden.
    Implementierung
    • Das Programm zum Verschicken von Bildern ist auch ein sehr einfaches und kurzes Programm. Deswegen ist hier der generelle Ablauf im Pseudocode erläutert.

    /* Programmablauf beim Versenden von Bildern */

    Einlesen der Konfigurationsparameter

    Initialisieren der Debug-Stati

    Initialisieren des Netzwerkes

    Solange Bilder zu verschicken sind

    Wenn die SOP Klasse mit der vorherigen nicht übereinstimmt

    Baue Verbindung ab, wenn eine Verbindung besteht

    Baue eine Verbindung zum Partner mit SOP Klasse auf

    Verschicke entsprechendes Bild an den Kommunikationspartner

    Schliesse Netzwerkverbindung ab

    • Dies ist nur eine sehr vereinfachte Vorgehensweise beim Verschicken, da das Protokoll eine sehr aufwendige Kommunikation erfordert. Es müssen für diese einzelnen Schritte die verschiedensten Parameter belegt und übergeben werden. Wichtig ist, daß verschiedene Bildarten wie CT oder MR verschiedene SOP Klassen darstellen. Deswegen muß jedesmal, wenn sich die Bildart geändert hat, auch eine neue Verbindungsanfrage gestellt werden.
    • Die Namen der Bilder können beim Aufruf als Kommandozeilenparameter übergeben werden. Dabei ist die Benutzung von Wildcards (z.B. *) erlaubt. In Abhängigkeit vom Eingabeformat des Bildes werden die entsprechenden Konvertierprogramme in das DICOM Format benutzt.
    Conformance Statement
    • In diesem Kapitel wird beispielhaft ein Conformance Statement beschrieben, in dem alle oben genannten Programme mit ihrer Funktion zusammengefaßt sind, um einen Überblick über die gesamte DICOM Funktionalität von CHILI zu bekommen.
    • Es werden dabei die Conformance Statements von allen Applikationen in einem Dokument zusammengefaßt. Dieses Conformance Statement folgt der standardisierten Form des DICOM Standards. Ausführliche Conformance Statements der einzelnen Programme in englischer Sprache sind vorhanden.
    Implementation Model
    • Diese DICOM Routinen bieten die verschiedensten Funktionalitäten als User und als Provider an. Der Server wartet auf Anfragen aus dem Netzwerk. Die anderen Applikationen versuchen selber eine Kommunikation mit einem Partner aufzubauen.
    • Alle Programme können von der Kommandozeile aus aufgerufen werden, oder aber in eigenen Routinen eingebaut werden.
    • Die Konfigurationsparameter des Systems können entweder in der Konfigurationsdatei der einzelnen Applikationen eingetragen werden, oder aber den aufgerufenen Funktionen direkt übergeben werden.
    • Es werden hier die Programme
    • CHILI_server,
    • CHILI_query_client,
    • CHILI_dbTreiber,
    • CHILI_send,
    • CHILI_echo,
    • in einem einzigen Conformance Statement beschrieben.
    Datenflußdiagramm der Applikationen
    • In Abbildung See Implementation Model der DICOM Routinen erfolgt eine grafische Darstellung der Kommunikationsvorgänge der einzelnen DICOM Routinen, so daß die Funktionalitäten der einzelnen Programmteile gut zu erkennen ist.
    • Der CHILI Server legt mit C-Store empfangene Bilder direkt auf der Platte oder in einer Datenbank ab. Bei einer C-Find Anfrage wird die Datenbank durchsucht und die Ergebnisse als DICOM Objekte an die anfragende Stelle zurückgeschickt. Bei einem C-Move wird erst die Datenbank durchsucht. Dann werde die Ergebnisse an die ausgewählte Gegenstelle geschickt. Diese Gegenstelle muß in der CHILI Datenbank konfiguriert sein. Auf den Verify Befehl antwortet der Server mit einem OK.
    • CHILI Query überträgt eine Anfrage, die auf verschiedene Weisen gestellt werden kann. Sie kann grafisch gestellt werden, über die Konfigurationsdatei eingetragen werden oder direkt per CHILI erfolgen. Bei einem gestellten Move Befehl werden die mit C-Store erhaltenen Daten direkt auf der Platte abgelegt oder in die interne Datenbank geschrieben.
    • CHILI Send sendet ein Bild, daß im DICOM Format, im PIC Format oder im DICOM Archivformat vorliegen muß, an einen ausgewählten Empfänger.
    • CHILI Echo fragt eine Gegenstelle mit dem Verify Befehl ab und gibt die Ergebnisse auf dem Bildschirm aus.
    Funktionale Definition von Applikations Entities
    • Der Server wartet auf eine Verbindungsanfrage. Erfolgt eine Anfrage, dann wird anhand der Datenbank geprüft, ob die Gegenseite einen korrekten Applikationsnamen verwendet und ob sie die Rechte für die angeforderten Serviceklassen besitzt. Für den Bildversand muß die Zielapplikation in der CHILI Datenbank eingetragen sein.
    • Die anderen Applikationen initiieren Verbindungen, indem sie Anfragen an die entsprechenden Serviceclass Provider schicken.
    Spezifikationen der Applikations Entities
    • Hier werden die unterschiedlichen Funktionen und Syntaxe aufgelistet, die von den verschiedenen Applikationen unterstützt werden.
    Unterstützte SOP Klassen
    • Die DICOM Routinen unterstützen die Service Object Pair Klassen aus See Unterstützte SOP Klassen als User als SCU (Serviceclass User).
    • Unterstützte SOP Klassen als User

      SOP Klassenname

      SOP Klassen UID

      Computed Radiography Image Storage

      1.2.840.10008.5.1.4.1.1

      CT Image Storage

      1.2.840.10008.5.1.4.1.2

      Ultrasound Multiframe Image Storage

      1.2.840.10008.5.1.4.1.3

      MR Image Storage

      1.2.840.10008.5.1.4.1.4

      Nuclear Medicine Image Storage

      1.2.840.10008.5.1.4.1.20

      Ultrasound Image Storage

      1.2.840.10008.5.1.4.1.6

      Secondary Capture Image Storage

      1.2.840.10008.5.1.4.1.7

      X-Ray Angiographic Image Storage

      1.2.840.10008.5.1.4.1.1.12.1

      X-Ray Radiofluoroscopic Image Storage

      1.2.840.10008.5.1.4.1.1.12.2

      PET Image Storage

      1.2.840.10008.5.1.4.1.1.128

      Standalone PET curve Image Storage

      1.2.840.10008.5.1.4.1.1.129

      Radio Therapy Image Storage

      1.2.840.10008.5.1.4.1.1.481.1

      Radio Therapy Dose Storage

      1.2.840.10008.5.1.4.1.1.481.2

      Radio Therapy Structure Set Storage

      1.2.840.10008.5.1.4.1.1.481.3

      Radio Therapy Plan Storage

      1.2.840.10008.5.1.4.1.1.481.5

      Verification SOP Class

      1.2.840.10008.1.1

      Patient Root Query/Retrieve Info Model-FIND

      1.2.840.10008.5.1.4.1.2.1.1

      Patient Root Query/Retrieve Info Model-MOVE

      1.2.840.10008.5.1.4.1.2.1.2

      Study Root Query/Retrieve Info Model-FIND

      1.2.840.10008.5.1.4.1.2.2.1

      Study Root Query/Retrieve Info Model-MOVE

      1.2.840.10008.5.1.4.1.2.2.2

    • Die Programme unterstützen die SOP Klassen aus See Unterstützte SOP Klassen als Provider als SCP (Serviclass Provider).
    • Unterstützte SOP Klassen als Provider

      SOP Klassenname

      SOP Klassen UID

      CT Image Storage

      1.2.840.10008.5.1.4.1.2

      Ultrasound Multiframe Image Storage

      1.2.840.10008.5.1.4.1.3

      MR Image Storage

      1.2.840.10008.5.1.4.1.4

      Nuclear Medicine Image Storage

      1.2.840.10008.5.1.4.1.20

      Ultrasound Image Storage

      1.2.840.10008.5.1.4.1.6

      Secondary Capture Image Storage

      1.2.840.10008.5.1.4.1.7

      X-Ray Angiographic Image Storage

      1.2.840.10008.5.1.4.1.1.12.1

      X-Ray Radiofluoroscopic Image Storage

      1.2.840.10008.5.1.4.1.1.12.2

      PET Image Storage

      1.2.840.10008.5.1.4.1.1.128

      Standalone PET curve Image Storage

      1.2.840.10008.5.1.4.1.1.129

      Radio Therapy Image Storage

      1.2.840.10008.5.1.4.1.1.481.1

      Radio Therapy Dose Storage

      1.2.840.10008.5.1.4.1.1.481.2

      Radio Therapy Structure Set Storage

      1.2.840.10008.5.1.4.1.1.481.3

      Radio Therapy Plan Storage

      1.2.840.10008.5.1.4.1.1.481.5

      Verification SOP Class

      1.2.840.10008.1.1

      Patient Root Query/Retrieve Info Model-FIND

      1.2.840.10008.5.1.4.1.2.1.1

      Patient Root Query/Retrieve Info Model-MOVE

      1.2.840.10008.5.1.4.1.2.1.2

      Study Root Query/Retrieve Info Model-FIND

      1.2.840.10008.5.1.4.1.2.2.1

      Study Root Query/Retrieve Info Model-MOVE

      1.2.840.10008.5.1.4.1.2.2.2

    • Wie man an den beiden Tabellen erkennen kann, können all diese SOP Klassen sowohl als Provider als auch als User benutzt werden.
    Verbindungsaufbau
    • Der Server versucht bei C-Move Anfragen selber eine Verbindung aufzubauen, um die angeforderten Bilder zu verschicken. Ansonsten wartet er auf Verbindungsanfragen. Die anderen Routinen CHILI_send, CHILI_query und CHILI_echo bauen alle selbständig eine Verbindung auf.
    • Die maximale PDU Größe (Protocol Data Unit Größe), die von den Routinen übertragen wird, beträgt 16 KB. Sie kann bis maximal 32 KB vereinbart werden.
    • Die Routinen lassen immer nur eine Verbindung zur Zeit zu. Laufen mehrere Anfragen zur gleichen Zeit ab, so werden sie nacheinander bearbeitet.
    • Es werden keine asynchronen Operationen unterstützt.
    • Der Server hat die Implementation class UID 1.2.276.0.23.1997.1.1. Als Version der Implementierung wird der String "CHILI_SERVER_JUNE1997" übertragen.
    Verbindungsanfragen
    • Für jede gültige C-Move Anfrage, bei der Bilder des Servers identifiziert werden, wird eine Verbindung zu dem angegebenen Partner aufgebaut.
    • Die Applikationen CHILI_send, CHILI_echo und CHILI_query bauen jedesmal, wenn sie aufgerufen werden, eine Verbindung zu der angegebenen Gegenstelle auf.
    • Beim Übertragen von Bildern nach einer C-Move Anfrage können verschiedene Bildarten bei einer Anfrage verschickt werden, was zu verschiedenen SOP Klassen führt. Das heißt, daß es eine Liste mit Präsentationskontexten geben kann.
    • In See Präsentationskontexte als SCU sind alle erlaubten Präsentationskontexte für die unterstützen Funktionen aufgelistet:
    • Präsentationskontexte als SCU

      Name

      UID

      Name

      UID

      Rolle

      Erw. Aush.

      CT Image Storage

      1.2.840.10008.5.1.4.1.2

      Implicit VR Little Endian

      1.2.840.10008.1.2

      SCU

      keine

      Ultrasound Multiframe Image Storage

      1.2.840.10008.5.1.4.1.3

      Implicit VR Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      MR Image Storage

      1.2.840.10008.5.1.4.1.4

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      NM Image Storage

      1.2.840.10008.5.1.4.1.20

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Ultrasound Image Storage

      1.2.840.10008.5.1.4.1.6

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      SC Image Storage

      1.2.840.10008.5.1.4.1.7

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      X-Ray Angio Image Storage

      1.2.840.10008.5.1.4.1.1.12.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      X-Ray Radiofluoroscopic Image Storage

      1.2.840.10008.5.1.4.1.1.12.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      PET Image Storage

      1.2.840.10008.5.1.4.1.1.128

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Standalone PET curve Image Storage

      1.2.840.10008.5.1.4.1.1.129

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Radio Therapy Image Storage

      1.2.840.10008.5.1.4.1.1.481.1

      Implicit VR
      Little Endian

      1.2.840.10008.1.2

      SCU

      keine

      Radio Therapy Dose Storage

      1.2.840.10008.5.1.4.1.1.481.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Radio Therapy Structure Set Storage

      1.2.840.10008.5.1.4.1.1.481.3

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Radio Therapy Plan Storage

      1.2.840.10008.5.1.4.1.1.481.5

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Verification SOP Class

      1.2.840.10008.1.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Patient Root FIND

      1.2.840.10008.5.1.4.1.2.1.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Patient Root MOVE

      1.2.840.10008.5.1.4.1.2.1.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Study Root FIND

      1.2.840.10008.5.1.4.1.2.2.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

      Study Root MOVE

      1.2.840.10008.5.1.4.1.2.2.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCU

      keine

    • Für jedes Bild, das mit C-Move angefordert und mit C-Store verschickt wird, wird eine C-Move Antwort verschickt, die jeweils den Status "success", "warning" oder "failure" haben kann. Der Server unternimmt nichts, wenn Probleme beim Verschicken auftreten. Auch wenn ein Store nicht erfolgreich war, versucht der Server, die anderen Bilder noch zu verschicken.
    • Die Applikationen CHILI_Send, CHILI_Echo und CHILI_Query geben bei Fehlern eine entsprechende Meldung aus und schließen die Verbindung dann wieder sauber ab.
    • Die Routinen verändern DICOM Objekte nicht. Es wird also mit den Originaldateien gearbeitet.
    Verbindungsannahme
    • Der Server nimmt Verbindungsanfragen an, um Bilder zu speichern, Abfragen über Bilder zu machen oder um Bilder zum Verschicken anzufordern. Außerdem werden Echo Anfragen beantwortet.
    • See Präsentationskontexte als SCP enthält die als Provider unterstützten Präsentationskontexte:
    • Präsentationskontexte als SCP

      Name

      UID

      Name

      UID

      Rolle

      Erw. Aush.

      CT Image
      Storage

      1.2.840.10008.
      5.1.4.1.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Ultrasound
      Multiframe
      Image Storage

      1.2.840.10008.
      5.1.4.1.3

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      MR Image
      Storage

      1.2.840.10008.
      5.1.4.1.4

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      NM Image
      Storage

      1.2.840.10008.
      5.1.4.1.20

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Ultrasound
      Image Storage

      1.2.840.10008.
      5.1.4.1.6

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      SC Image
      Storage

      1.2.840.10008.
      5.1.4.1.7

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      X-Ray Angio
      Image Storage

      1.2.840.10008.
      5.1.4.1.1.12.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      X-Ray Radiofluoroscopic Image Storage

      1.2.840.10008.
      5.1.4.1.1.12.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      PET Image Storage

      1.2.840.10008.5.1.4.1.1.128

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Standalone PET curve Image Storage

      1.2.840.10008.5.1.4.1.1.129

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Radio Therapy Image Storage

      1.2.840.10008.5.1.4.1.1.481.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Radio Therapy Dose Storage

      1.2.840.10008.5.1.4.1.1.481.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Radio Therapy Structure Set Storage

      1.2.840.10008.5.1.4.1.1.481.3

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Radio Therapy Plan Storage

      1.2.840.10008.5.1.4.1.1.481.5

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Verification
      SOP Class

      1.2.840.10008.
      1.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Patient Root
      FIND

      1.2.840.10008.
      5.1.4.1.2.1.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Patient Root
      MOVE

      1.2.840.10008.
      5.1.4.1.2.1.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Study Root
      FIND

      1.2.840.10008.
      5.1.4.1.2.2.1

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

      Study Root
      MOVE

      1.2.840.10008.
      5.1.4.1.2.2.2

      Implicit VR
      Little Endian

      1.2.840.10008.
      1.2

      SCP

      keine

    • Die einzelnen Schlüssel für Patient Root und Study Root, die unterstützt werden, sind in den genauen Conformance Statements zu finden.
    • Applikationen, die Bilder verschicken oder Queries machen, müssen in der Konfiguration eingetragen sein. Ebenso muß die Zielapplikation eingetragen sein, an die die mit Move angeforderten Bilder geschickt werden sollen.
    • Als Transfersyntax wird nur Implicit VR Little Endian unterstützt.
    Kommunikationsprofile
    • Hier werden die verschiedenen Möglichkeiten erläutert, mit den Routinen in einem Netzwerk umzugehen.
    TCP/IP
    • Es wird "DICOM V3.0 TCP/IP Network Communication Support" nach Teil 8 des DICOM Standards benutzt, wie es definiert ist. Die Routinen setzten dabei auf den TCP/IP-Stack des Unix-Systems auf, auf dem sie gerade ausgeführt werden. Als Basis hierfür wird das Berkeley Socket Interface benutzt.
    Physische Medien
    • Da die Routinen auf TCP/IP aufbauen, sind den physischen Medienformaten keine Grenzen gesetzt. Getestet sind die Programme bisher über ISDN, Ethernet und ATM. Aber die verschiedensten weiteren Formate sind kein Problem.
    • Es werden die unterschiedlichsten Unix-Plattformen und Windows NT unterstützt.
    • Es werden direkt keine physischen Medienformate unterstützt. Es können allerdings Dateien im Format für physische Medien mit dem CHILI_Send Programm problemlos verschickt werden. Es werden daraus dann wieder normale DICOM Dateien erzeugt.
    Erweiterungen und Spezialisierungen
    • Die Routinen bieten keine konkreten Erweiterungen oder Spezialisierungen der DICOM SOP Klassen. Allerdings ist die Funktionalität vor allem bei den Serveranfragen so ausgelegt, daß die Anfragen besser optimiert werden können. So sind Anfragen über mehrere Ebenen erlaubt, was in einer Datenbank einem Join entspricht. Dies sorgt für eine Steigerung der Effektivität, vor allem, wenn zwei CHILI Workstations per DICOM miteinander kommunizieren.
    Konfiguration
    • Sämtliche Routinen bieten Textdateien an, über die sie konfiguriert werden können. Diese Textdateien können entweder mit einem einfachen Editor geändert, oder aber grafisch konfiguriert werden.
    Applikationsname, Präsentationsadresse
    • Der Applikationsname wird benutzt, um eindeutig auf eine Adresse zu schließen. So muß beim Anfordern von Bildern die Gegenstelle in der Datenbank mit Applikationsname und mit Hostname und Portnummer eingetragen sein, damit eine sinnvolle Kommunikation stattfinden kann.
    • Die im Teleradiologiesystem CHILI benutzten Applikationsnamen lauten standardmäßig:
    • CHILI_SERVER
    • CHILI_QUERY
    • CHILI_SEND
    • CHILI_ECHO
    • Diese Applikationsnamen können aber in der Konfigurationsdatei geändert werden. Für den Namen sind keine Beschränkungen vorgesehen.
    Sicherheitsaspekte
    • Es können eine Reihe von Sicherheitsaspekten eingeschaltet werden. So kann eine Kommunikation immer nur mit bestimmten Applikationsnamen auf bestimmten Rechner erfolgen.
    • Für das Anfordern von Bildern muß die Gegenstelle, an die die Bilder geschickt werden, in der internen Datenbank eingetragen und berechtigt sein. Nur dann erfolgt der Bildversand.
    Konfigurierbare Parameter
    • Es können eine ganze Reihe von Parametern in den Konfigurationsdateien eingetragen oder grafisch konfiguriert werden. Unter anderem sind dies:
    • Applikationstitel
    • Maximale PDU Größe
    • Portnummer (TCP)
    • Hostnummer (IP)
    • Alles weitere kann in den genauen Konfigurationsbeschreibungen zu den Routinen nachgelesen werden.
    Erweiterte Buchstabensätze
    • Es werden keine erweiterten Buchstabensätze unterstützt.
    Weitere wichtige Services
    • Mit den bisher vorhandenen Routinen ist ein Grundstock an DICOM Funktionalität gelegt. Desweiteren muß geschaut werden, in welche Richtung sich das Teleradiologiesystem CHILI orientieren soll. Bestimmte Funktionalitäten wie das Worklist Management sind nur dann nötig, wenn man sich von der Funktionalität her mehr in Richtung RIS orientieren möchte.
    • Auf jeden Fall ist es nötig und sinnvoll, das Print Management von DICOM zu benutzen. Dadurch können Bilder direkt von CHILI aus auf einem Laserdrucker oder einem Filmbelichter ausgegeben werden, sofern die Geräte DICOM sprechen. Über einen Print Server können andere Modalitäten oder Viewing Stations ihre Bilder für die Krankenakte auf einem Laserdrucker ausgeben. Da eine Filmbelichtung in diesem Fall nicht mehr nötig ist, können Filmkosten gespart werden. Außerdem wird Zeit gespart, denn Papierausdrucke sind im Gegensatz zum Belichten von Filmen quasi ohne Zeitverzögerung erhältlich.
    • Außerdem gibt es noch einige Supplements mit neuen DICOM Diensten, die auch für CHILI interessant sein könnten. Man muß am besten noch etwas abwarten, um zu sehen, welche Dienste sich etablieren werden. Zum Beispiel die SOP Klasse um das " Structured Reporting" könnte eine sehr sinnvolle Erweiterung sein.

    Ergebnisse

    Das Teleradiologiesystem der 2. Generation: CHILI
    • Das Teleradiologiesystem CHILI ist von der Konzeption her komplett an DICOM angelehnt. Die entsprechenden Datenstrukturen orientieren sich also schon am Standard und sind auch entsprechend implementiert. Genauere Informationen über das Teleradiologiesystem CHILI und die Einteilung von Teleradiologiesystemen in Generationen ist im Vortrag von Engelmann nachzulesen See [Engelmann 97] . Es wird sich hier darauf beschränkt, die durch diese Arbeit erreichten Teile von CHILI zu beschreiben.
    • Ein sehr wichtiges Ergebnis ist, daß ein großes Wissen über DICOM in Theorie und Praxis aufgebaut wurde. So können mittlerweile DICOM Programme wesentlich schneller und effektiver geplant und erstellt werden. Außerdem sind die bei den verschiedenen angeschlossenen Geräten aufgetretenen Probleme und Besonderheiten bereits in die vorhandenen Routinen mit eingearbeitet.
    • So bietet CHILI mittlerweile nicht mehr nur die Möglichkeit im eigenen Protokoll Bilder zu verschicken und zu empfangen, sondern man kann auch per DICOM eine Bildübertragung durchführen. Eine Kooperation mit anderen Teleradiologiesystemen ist also auch möglich, sofern diese konform zum DICOM Standard arbeiten. Natürlich besteht die Möglichkeit, Bilder direkt im DICOM Protokoll von digitalen Modalitäten oder anderen Geräten zu erhalten. Außerdem kann man Archive oder andere CHILI Stationen mit den Query/Retrieve Befehlen abfragen. CHILI selber kann auch auf diese Weise abgefragt werden. Das Verify (C-Echo) wird sowohl als Provider als auch als User unterstützt. Auf diese Weise ist eine sehr umfassende Kommunikation standardisiert möglich. Diese Kommunikationsmöglichkeiten sind in Abbildung See DICOM Funktionalität von CHILI zusammengefaßt.
    • Noch fehlt die Möglichkeit, per DICOM kooperative Sitzungen mit anderen Teleradiologiesystemen zu halten. Dafür sind allerdings zahlreiche Erweiterungen des Standards nötig. So muß ein entsprechendes Sicherheitskonzept in DICOM integriert werden, das flexibel genug ist, daß es sich an die in den verschiedenen Ländern geltenden Gesetze anpassen läßt. Gleichzeitig muß es streng genug sein, damit die gesetzlichen Vorgaben auch vollständig erfüllt werden können. An solchen Sicherheitskonzepten wird gerade gearbeitet. Außerdem muß man per DICOM die Möglichkeiten des kooperativen Arbeitens haben. Es muß also eine SOP Klasse kooperatives Arbeiten erstellt werden, in der die verschiedenen für eine Sitzung notwendigen Synchronisierungsbefehle verschickt werden können. Dafür gibt es bisher leider noch keine DICOM Arbeitsgruppe
    Die Benutzbarkeit
    • Mittlerweile sind die DICOM Routinen in den verschiedensten Krankenhäusern installiert worden und sind auch von den verschiedensten Personen konfiguriert worden. Es hat sich dabei gezeigt, daß die einfache Konfiguration über einen Texteditor von jedem auszuführen ist. Auch bei Problemen in der Kommunikation konnten die Ursachen schnell gefunden werden, da einfach einige Debug Stati gesetzt werden können. Zur Konfiguration existiert eine Beschreibung aller Konfigurationsparameter. Diese Beschreibung wird häufig benutzt.
    • Eine grafische Oberfläche war nicht nötig, da die Routinen außer bei Demonstrationsveranstaltungen in der Regel nur einmal konfiguriert werden und dann durchgehend laufen. In der Praxis ändert sich das Anwendungszenarium auch nur recht selten. Es werden selten neue Modalitäten angeschafft oder ein neues Archiv installiert.
    • Lediglich bei Demonstrationen der DICOM Funktionalität in verschiedenen Krankenhäusern muß häufiger konfiguriert werden, da alles zunächst getestet werden muß. In der Regel dauert es aber bei jeder neuen Modalität nur etwa eine halbe Stunde, bis die ersten Bilder empfangen werden können.
    • Auch die Benutzbarkeit von Programmiererseite her hat sich als positiv herausgestellt. So sind die Routinen des Datenbankentreibers direkt in CHILI eingebaut worden. Es ist jetzt problemlos möglich zwischen einer lokalen Datenbank und einem DICOM Archiv umzuschalten. Die Benutzbarkeit über die Datenbankbefehle muß dabei für ein DICOM Archiv nicht geändert werden. Es können die gleichen Quelltexte benutzt werden.
    • Auch das Verschicken von Bildern ist direkt in CHILI eingebunden. Es kann im Versendemodus einfach ausgewählt werden, ob die Bilder im CHILI-eigenen Protokoll verschickt werden sollen oder per DICOM.
    • Hier sind einmal die Arbeitsschritte für das Erstellen der Konfigurationsdateien kurz zusammengefaßt, um zu zeigen, wie einfach das ist.
    • Konfiguration des Servers, evtl. für jede Modalität einen eigenen Server. Es müssen Applikationstitel, Portnummer und IP Adresse eingetragen werden.
    • Eintragen der Partner, an die Bilder verschickt werden sollen. Es müssen Applikationstitel, Portnummer und IP Adresse eingetragen werden.
    • Eintragen aller Datenbanken, die per DICOM abgefragt werden sollen. Auch hier müssen Applikationstitel, Portnummer und IP Adresse eingetragen werden
    • Der Arbeitsaufwand für solch eine Konfiguration ist also gering. Sollten Probleme auftreten, so können entsprechende Debug Stati gesetzt werden, damit während der Kommunikation alle relevanten Parameter ausgegeben werden.
    Der Einsatz in der Praxis
    • Hier sollen vor allem die verschiedenen Geräte und Partner erläutert werden, mit denen in der Zeit von Januar 1997 bis August 1997 Verbindungen aufgebaut und getestet werden konnten.
    • Die gesamten Routinen wurden auf der CAR 97 (Computer Assisted Radiology) in einem DICOM Netzwerk mit verschiedenen Herstellern getestet.
    • Als wichtigste Anwendung wird der DICOM Server mit Abstand am häufigsten eingesetzt. Die meisten neuen Modalitäten beherrschen DICOM und es ist somit kein Problem, ihn mit den unterschiedlichsten Modalitäten zu testen. Die C-Store Serviceklasse ist mittlerweile bei eigentlich allen Herstellern so gut implementiert, daß es damit nie Probleme gibt. Angeschlossen wurden bisher:
    • GE CT Highspeed,
    • GE CT Pace Plus,
    • GE MR Genesis Signa,
    • GE Angio DLX,
    • GE Advantage Windows Workstation,
    • Siemens CT Somatom Plus 4,
    • Inovit Archiv (Merge Software),
    • Store von CHILI,
    • Store User der Mallinckrodt Quelltexte,
    • Store User der OFFIS e.V. Software aus Oldenburg.
    • Diese Partner konnten auch alle problemlos mit dem Echo Befehl abgefragt werden.
    • Schwieriger wurde es schon, entsprechende Partner für die Query/Retrieve Routinen zu finden, da dies noch in den wenigsten digitalen Modalitäten implementiert ist. So werden die Testläufe überwiegend mit den Archiven der Firma Inovit und über das Internet mit der DICOM Implementierung des OFFIS e.V. in Oldenburg durchgeführt.
    • Insgesamt wurden mit folgenden Partnern die Query/Retrieve Routinen als User getestet:
    • CTN der OFFIS Software aus Oldenburg,
    • CTN der Mallinckrodt Quelltexte in Swansea, England,
    • CHILI,
    • Inovit Archiv ( Merge Software),
    • GE MR Signa.
    • Dabei beherrschen alle Partner die Study Root Anfragen. Patient Root konnten alle bis auf das MR von GE. Hier ist die Patienten ID nicht immer eindeutig, deswegen können darüber keine Abfragen gemacht werden. Es wird z.B. das Geburtsdatum als Patienten ID eingetragen.
    • Die Query/Retrieve Routinen als Provider haben wir bisher nur getestet mit:
    • CHILI Query Client,
    • Mallinckrodt Query Client,
    • Query Client der OFFIS Software aus Oldenburg,
    • Query Client von Inovit ( Merge Software).
    • Der Server ist mittlerweile seit sechs Monaten im Einsatz und hat bisher immer problemlos gearbeitet. In dieser Zeit sind etwa 2000 Bilder über diese Routinen importiert worden.
    • Sämtliche Routinen wurden auf der CAR 97 in einem DICOM Netzwerk getestet, das vom OFFIS e. V. organisiert wurde. Dabei hatten sich folgende Hersteller angeschlossen. Mit allen diesen Herstellern ist also eine problemlose Kommunikation möglich.
    • OFFIS e.V. Oldenburg,
    • Applicare,
    • DKFZ Heidelberg,
    • General Electrics (Media Demo),
    • Imation,
    • Inovit,
    • Merge,
    • Philips (Media Demo),
    • Rogan,
    • Siemens (Media Demo),
    • Sterling,
    • TU Berlin.
    • An den vielfältigen angeschlossenen Partnern ist gut zu erkennen, daß die Routinen nicht nur in der Theorie nach dem DICOM Standard entwickelt wurde, sondern auch in der Praxis häufig eingesetzt werden. Die Wichtigkeit im klinischen Umfeld ist sehr hoch.

    Diskussion

    Ausblick

    Zusammenfassung

    Anhang A: ER Diagramm

    Anhang B: DICOMDIR

    Meta Info 128 Bytes Datei Präambel

    4 Bytes DICOM Präfix

    0002, 0000 Gruppenlänge

    0002, 0001 File Meta Information Version [0001]

    0002, 0002 SOP Klassen UID [1.2.840.10008.1.3.10]

    0002, 0003 SOP Instanzen UID [1.2.840.23856.36.45.3]

    0002, 0010 Transfersyntax UID [1.2.840.10008.1.1]

    0002, 0012 Implementations Klassen UID [1.840.23856.34.90.3]

    ... ...

    File Set 0004, 1130 File Set ID [EXAMPLE]

    Identification

    ... ...

    Generelle- 0004, 1200 Offset des ersten Eintrags im Verzeichnis {1236}

    Verzeichnis- 0004, 1202 Offset des letzten Eintrags im Verzeichnis {6F18}

    Information 0004, 1212 Datensatzkonsistenz Flag [0000H]

    ... ...

    0004, 1220 Sequenz der Dateien im Verzeichnis. Dies enthält die folgenden Elemente

    {1236}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Patient B- 0004, 1400 Offset bis zum nächsten Eintrag

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag 0004, 1420 Offset von einem Eintrag einer niederen Ebene, hier nicht vorhanden

    ... ...

    0004, 1430 Art des Verzeichnisses [PATIENT]

    0004, 1500 Referenz auf Datei [DIR\THRE\KC48]

    0004, 1510 Referenzierte SOP Klasse [1.2.840.10008.3.1.2.1.1]

    0004,1511 Referenzierte SOP Instanzen UID [1.2.840.23856.3.9879]

    0004, 1512 Referenzierter Transfersyntax [1.2.840.10008.1.2.2]

    Schlüssel 0010, 0010 Patientenname [Patient B]

    0010, 0020 Patienten ID [550-31-8623]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    {1493}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Patient A- 0004, 1400 Offset zum nächsten Verzeichniseintrag {6F18}

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag 0004, 1420 Offset von einem Eintrag einer niederen Ebene {1829}

    ... ...

    0004, 1430 Art des Verzeichnisses [PATIENT]

    0004, 1500 Referenz auf Datei [DIR\TDRE\GC48]

    0004, 1510 Referenzierte SOP Klasse [1.2.840.10008.3.1.2.1.1]

    0004,1511 Referenzierte SOP Instanzen UID [1.2.840.23856.3.9789]

    0004, 1512 Referenzierter Transfersyntax [1.2.840.10008.1.2.2]

    Schlüssel 0010, 0010 Patientenname [Patient A]

    0010, 0020 Patienten ID [535-71-7321]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    {1829}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Studie 1- 0004, 1400 Offset zum nächsten Verzeichniseintrag, hier nicht vorhanden

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag- 0004, 1420 Offset von einem Eintrag einer niederen Ebene {2299}

    ... ...

    0004, 1430 Art des Verzeichnisses [STUDY]

    Schlüssel 0020, 000D Studien Instanzen UID [1.2.840.4656.23.4567845]

    0020, 0010 Studien ID [srt78UJ]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    {2299}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Serie 1- 0004, 1400 Offset zum nächsten Verzeichniseintrag, hier nicht vorhanden

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag- 0004, 1420 Offset von einem Eintrag einer niederen Ebene {2681}

    ... ...

    0004, 1430 Art des Verzeichnisses [SERIES]

    Schlüssel 0020, 000D Modalität [NM]

    0020, 0010 Seriennummer [2]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    {2681}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Bild 1- 0004, 1400 Offset zum nächsten Verzeichniseintrag, {3419}

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag 0004, 1420 Offset von einem Eintrag einer niederen Ebene [0000]

    ... ...

    0004, 1430 Art des Verzeichnisses [IMAGE]

    0004, 1500 Referenzierte Datei [DIR\TDRI\3856G3]

    0004, 1510 Referenzierte SOP Klassen UID [1.2.840.10008.5.1.4.1.1.5]

    0004, 1511 Referenzierte SOP Instanzen UID [1.2.840.34.56.78999654.234]

    0004, 1512 Referenzierter Transfersyntax [1.2.840.10008.1.2.1]

    Schlüssel 0020, 000D Bild SOP Instanzen UID [1.2.840.34.56.78999654.234]

    0020, 0010 Bildnummer [1]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    {3419}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Bild 2- 0004, 1400 Offset zum nächsten Verzeichniseintrag, hier nicht vorhanden

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag 0004, 1420 Offset von einem Eintrag einer niederen Ebene [0000]

    ... ...

    0004, 1430 Art des Verzeichnisses [IMAGE]

    0004, 1500 Referenzierte Datei [DIR\TDR\3856G7]

    0004, 1510 Referenzierte SOP Klassen UID [1.2.840.10008.5.1.4.1.1.5]

    0004, 1511 Referenzierte SOP Instanzen UID [1.2.840.34.56.78999654.235]

    0004, 1512 Referenzierter Transfersyntax [1.2.840.10008.1.2.2]

    Schlüssel 0020, 000D Bild SOP Instanzen UID [1.2.840.34.56.78999654.235]

    0020, 0010 Bildnummer [2]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    ... ...

    ... ...

    {6F18}

    Item Tag FFFE, EOOO Enthält die folgenden Elemente

    Patient C- 0004, 1400 Offset zum nächsten Verzeichniseintrag [0000]

    Verzeichnis- 0004, 1410 Flag, ob Datensatz in Benutzung ist [FFFFH]

    Eintrag 0004, 1430 Art des Verzeichnisses [PATIENT]

    ... ...

    Schlüssel 0010, 0010 Patientenname [Patient C]

    0010, 0020 Patienten ID [523-61-8765]

    ... ...

    Item Del. FFFE, E00D Item Delimination Element, wenn undefinierte Länge

    Sequenzen

    Ende FFFE, E00D Nur benutzt, wenn die Verzeichnissequenz unbekannte Länge hat

    Literaturverzeichnis

    [ACR 94]

    American College of Radiology: " ACR Standards for Teleradiology (Res. 21-1994)". Reston, VA: [http://www.acr.org/standards.new/teleradiology_standard. html], 1994.

    [Bahner 97]

    M. L. Bahner, U. Engelmann, H. P. Meinzer, G. van Kaick: "Anforderungen an ein Teleradiologiesystem". Radiologe, No. 4 (1997), S. 269-S. 277.

    [Bakker 91]

    A. R. Bakker: "HIS, RIS and PACS".Computerized Medical Imaging and Graphics, Vol. 15, No. 3 (1991), S. 157-S. 160.

    [Baur 96]

    H. J. Baur, F. Sauerbier, U. Engelmann, A. Schröter, H.P. Meinzer: "Aspects of Data Security and Privacy in Teleradiology". In H.U. Lemke, K. Inamura, C.C. Jaffe, R. Felix (Eds.): Computer Assisted Radiology CAR 1996. Amsterdam: Elsevier, 1996.

    [Booch 91]

    G. Booch: " Object-Oriented Design with Applications". Redwood CA: Benjamin Cummings,1991.

    [Chen 77]

    P. Chen: "The Entity-Relationship Approach to Logical Database Design". Wellesley, MA, USA: 1977.

    [Choplin 92]

    R. H. Choplin, J. M. Boehme, C. D. Maynard: "Picture Archiving and Communication Systems. An Overview". Radiographics, Vol. 12, No. 1 (1992), S. 127-S. 129.

    [Clunie 97]

    D. Clunie: "Medical Image Format FAQ". Milwaukee: [http://idt.net/~clunie/medical-image-faq/html/index.html], 1997.

    [Coad 72]

    P. Coad, E. Yourdan: "Object-Oriented Analysis".Englewood Cliffs, NJ, USA: Prentice Hall, 1972.

    [Conrads 93]

    D. Conrads: " Datenkommunikation". Braunschweig, Wiesbaden: Vieweg, 1993.

    [DICOM 94]

    "The DICOM FAQ". University Park, PA, USA: [http://www.xray.hmc.psu.edu/dicom/faq.html], 1994.

    [DICOM Part1 93]

    DICOM Part 1: "Introduction and Overview". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part2 93]

    DICOM Part 2: " Conformance". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part3 93]

    DICOM Part 3: "Information Object Definitions ( IOD)". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part4 93]

    DICOM Part 4: " Service Class Specifications". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part5 93]

    DICOM Part 5: "Data Structures and Encoding". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part6 93]

    DICOM Part 6: " Data Dictionary". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part7 93]

    DICOM Part 7: "Message Exchange". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part8 93]

    DICOM Part 8: "Network Communication Support for Message Exchange". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part9 93]

    DICOM Part 9: " Point-to-Point Communication Support for Message Exchange". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part10 93]

    DICOM Part 10: " Media Storage and File Format for Media Interchange". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part11 93]

    DICOM Part 11: "Media Storage Application Profiles". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part12 93]

    DICOM Part 12: "Media Formats and Physical Media for Media Interchange". Washington, D. C., USA: NEMA Standards, 1993.

    [DICOM Part13 93]

    DICOM Part 13: " Print Management Point-to-Point Communication Support". Washingotn, D.C., USA: NEMA Standards, 1993.

    [Dudeck 95]

    J. Dudeck: "Communication Standards in Healthcare". In H. U. Prokosch, J. Dudeck (Eds.): Hospital Information Systems: Design and Development Characteristics; Impact and Future Architecture. Amsterdam: North Holland, 1995.

    [Duke 95]

    Duke University: "HL-7 Frequently Answered Questions". Durham, NC, USA: [http://www.mcis.duke.edu/standards/HL7/faq/HL7FAQ10.HTM #X4X4X1X], 1995.

    [Eichelberg 94]

    M. Eichelberg: "Entwurf einer objektorientierten Client/Server Architektur für DICOM V3.0 und Implementierung eines Print Management Dienstes". Diplomarbeit der Universität Oldenburg, Fachbereich Informatik, 1994.

    [Engelmann 96]

    U. Engelmann, M. L. Bahner, A. Schröter, U. Baur, M. Schwab, S. Seeber, W. Müller, H. J. Baur, H. P. Meinzer: "Practical and Clinical Experiences with a Teleradiology System". In: S. Orphanoudakis (Ed.): EuroPACS'96. Proceedings 14th International EuroPACS Meeting. Institute of Computer Science, Foundation for Research and Technology - Hellas. Heraklion: 1996, S. 78-S. 82.

    [Engelmann 97]

    U. Engelmann, A. Schröter, U. Baur, O. Werner, M. Schwab, H. Müller, M. Bahner, H.P. Meinzer: "Second Generation Teleradiology". In: H. U. Lemke, M. W. Vannier, K. Inamura (Eds): Computer Assisted Radiology and Surgery CAR 97. Amsterdam: Elsevier, 1997, S. 632-S. 637

    [Fritz 95]

    S.L. Fritz, S. Munjal, J. Connors, D. Csipo: "Implementation of a DICOM to HL7 Gateway for RIS/PACS Communication". In H.U. Lemke, K. Inamura, C. C. Jaffe, R. Felix: Computer Assisted Radiology CAR 1995. Berlin: Springer, 1995, S. 425-S. 431.

    [Fromme 94]

    M. Fromme, L. Grünberg, et al.: "Software Engineering, Eine Einführung", Universität Hannover, Lehrgebiet Rechnernetze und Verteilte Systeme, 1994.

    [ Framemaker 95]

    "Framemaker Benutzerhandbuch". Frame Technology Corporation. San Jose, CA, USA: 1995.

    [Garfagni 95]

    H. Garfagni, B. Klipfel: "Integrating HIS and PACS: The DICOM Solution". In H.U. Lemke, K. Inamura, C.C. Jaffe, R. Felix: Computer Assisted Radiology CAR 1995. Berlin: Springer, 1995, S. 438-S. 444.

    [Gilly 95]

    D. Gilly: "UNIX in a Nutshell, Deutsche Ausgabe". Bonn, Cambridge, Paris: O'Reilly & Associates, 1995.

    [Glombitza 95]

    G. Glombitza, M. Makabe, H. P. Meinzer: "Illusory Contour Models can be used as Fuzzy Operators in Medical Image Processing".In H.U. Lemke, K. Inamura, C.C. Jaffe, R. Felix: Computer Assisted Radiology CAR 1995. Berlin: Springer, 1995, S. 438-S. 444.

    [Hindel 94]

    R. Hindel: "Implementation of the DICOM 3.0 Standard - A Pragmatic Handbook". Chicago: RSNA, 1994.

    [HL7 90]

    HL-7: "Application Protocol for Electronic Exchange in Healthcare Environments". Ann Arbor, MI, USA: Version 2.1, 1990.

    [Huang 92]

    H. K. Huang: "Three Methods of Implementing a Picture Archiving and Communication System". Radiographics, Vol. 12, No. 1 (1995), S. 157- S. 162.

    [ISO 87]

    International Standards Organization: "Open System Interconnection". ISO, 1987.

    [Janßen 90]

    H. Janßen, A. Winter: "Das Heidelberger Kommunikationssystem HeiKo". In G. Giani, R. Repges (Eds): Biometrie und Informatik - Neue Wege zur Erkenntnisgewinnung in der Medizin. Berlin: Springer, 1990, S. 195-S. 198.

    [Jonas 92]

    C. Jonas: " Datenfernübertragung mit Personal Computern". Würzburg: Vogel, 1992.

    [Keayes 95]

    R. Keayes: "White Paper on HL7/DICOM Interoperability". Durham, NC, USA: [http://dumccss.mc.duke.edu/standards/HL7/sigs/image-management/im-home.html], 1995.

    [Kelley 95]

    A. Kelley, I. Pohl: "A Book on C", Third Edition. Menlo Park, CA, USA: Addison-Wesley, 1995.

    [Kernighan 90]

    B. W. Kernighan, D. M. Ritchie: "Programmieren in C". München, Wien: Hanser; London: Prentice-Hall International, 1990.

    [Köhler 82]

    C. O. Köhler: "Ziele, Aufgaben, Realisation eines Krankenhausinformationssystems". Berlin und Heidelberg: Springer, 1982.

    [Kotter 97]

    E. Kotter, U. Schrader, K.-H. Allmann, A. Einert, B. Schneider, M. Langer: "Integration of HIS, RIS, Modalities and a large scale PACS". In: H.U. Lemke, M. W. Vannier, K. Inamura (Eds.): Computer Assisted Radiology CAR 1997. Amsterdam: Elsevier, 1997, S. 538-S. 543.

    [Kuba 96]

    A. Kuba e.a.: "DICOM based PACS and its applications in the education". In: S. Orphanoudakis (Ed): EuroPACS '96. Proceedings 14th International EuroPACS Meeting. Institute of Computer Science, Foundation for Research and Technology - Hellas. Heraklion: 1996, S. 46- S. 55.

    [Leiner 95]

    F. Leiner: "Lehrbuch der medizinischen Dokumentation". Stuttgart: Schattauer, 1995.

    [Lemke 88]

    H. U. Lemke, R. Klar, A. Jakob: "Das PACS-Modellvorhaben am Universitätsklinikum Freiburg". Radiologe, Vol. 28, No. 1 (1988), S. 209-S. 211.

    [Ligier 96]

    Y. Ligier et al.: "A multiplatform software for viewing cardiac images stored on a DICOM-based CD-ROM". In: S. Orphanoudakis (Ed): EuroPACS '96. Proceedings 14th International EuroPACS Meeting. Institute of Computer Science, Foundation for Research and Technology - Hellas. Heraklion: 1996, S. 132-S. 135.

    [London 93]

    J. W. London, U. Engelmann, D.E . Morton, H. P. Meinzer, P. Degoulet: "Integration of HIS Components through Open Standards: An American HIS and a European Image Processing System". Proceedings SCAMC 1993. New York: McGraw Hill, 1993.

    [Loose 96]

    R. Loose, M. Walz, M. Schinkmann, J. Koepke, F. Gückel, K. J. Lehmann, M. Georgi: "Experiences with a DICOM3-based manufacturer- independent multi-modality network". In: H. U. Lemke, M. W. Vannier, K. Inamura, A. G. Farman (Eds.): Computer Assisted Radiology CAR 1996, Amsterdam: Elsevier, 1996, S. 425-S. 428.

    [Meinzer 96]

    H. P. Meinzer, U. Engelmann: "Medical Images in Integrated Workstations in Healthcare". IMIA Yearbook, Stuttgart: Schattauer, 1996.

    [Mildenberger 97]

    P. Mildenberger, H.-U. Kauczor, C.-P. Heußel, M. Thelen: "DICOM PACS with CD-ROM Jukebox - routine use in a heterogenous network". In: H. U. Lemke, M. W. Vannier, K. Inamura (Eds.): Computer Assisted Radiology CAR 1997. Amsterdam: Elsevier, 1997, S. 438-S. 440.

    [Offenmüller 97]

    W. Offenmüller, N. Wirsz, E. Wirsz, H. Gnoyke: "Effocient Workflow Management for Radiology". In: H. U. Lemke, M. W. Vannier, K. Inamura (Eds.): Computer Assisted Radiology CAR 1997. Amsterdam: Elsevier, 1997, S. 438-S. 440.

    [Osteaux 92]

    M. Osteaux: "A Second Generation PACS Concept". Berlin-Heidelberg: Springer, 1992.

    [Ousterhout 95]

    J. K. Ousterhout: " Tcl und Tk". Bonn, Paris: Addison-Wesley, 1995.

    [Preece 96]

    J. Preece: " Human-Computer Interaction". Menlo Park, CA, USA: Addison-Wesley, 1996.

    [Prior 93 ]

    F. W. Prior: "Specifying DICOM compliance Report prepared under contract DAMD17-93-M-4464, U.S. Army Medical Research and Development Command for modality interfaces". University Park, PA, USA: 1993.

    [Ratib 96]

    O. Ratib et al.: "Is my DICOM file compatible?". In: S. Orphanoudakis (Ed): EuroPACS '96. Proceedings 14th International EuroPACS Meeting. Institute of Computer Science, Foundation for Research and Technology - Hellas. Heraklion: 1996, S. 112-S. 116.

    [Rau 97]

    W. S. Rau, C. Schwabe, K. Marquardt: "Integration of RIS, PACS and modalities - Different conceptions of users and providers". In: H.U. Lemke, M. W. Vannier, K. Inamura (Eds.): Computer Assisted Radiology CAR 1997. Amsterdam: Elsevier, 1997, S. 526-S. 535.

    [Revet 97]

    B. Revet: "DICOM Cook Book". Eindhoven, Niederlande: Philips Medical Systems, 1997.

    [RSNA 96]

    RSNA: "DICOM: The Value and Importance of an Imaging Standard". Chicago, IL, USA: [http://www.rsna.org/practice/DICOM/dicom.html], 1996.

    [RRNZ 95]

    RRNZ Hannover: "Die Programmiersprache C, Ein Nachschlagewerk". Uni Hannover, 1995.

    [RRNZ 95/2]

    RRNZ Hannover: " C++ für C-Programmierer". Uni Hannover, 1995.

    [Sallinen 94]

    S. Sallinen et al.: "An evaluation of DICOM 3 implementation experiences". Europacs 1994. Oulu, Finnland: [http://stekt.oulu.fi/~sjs/europacs94.html], 1994.

    [ Schröter 94]

    A. Schröter: "The Pic Library". Interner Technical Report 1994. Heidelberg: Abteilung Medizinische und Biologische Informatik, Deutsches Krebsforschungszentrum, 1994.

    [Schwab 97]

    M. Schwab: "Evaluation von MEDICUS". Diplomarbeit der Universität Heidelberg/Fachhochschule Heilbronn, Fachbereich Medizinische Informatik 1997.

    [Sedat 97]

    J. Sedat: "The integrated RIS/PACS solution for efficient information flow in radiology and clinic wide". In: H.U. Lemke, M. W. Vannier, K. Inamura(Eds.): Computer Assisted Radiology CAR 1997. Amsterdam: Elsevier, 1997, S. 477-S. 483.

    [Smedema 96]

    K. Smedema, C. Franx: "Challenges for integrated information Management in radiology departments". In: S. Orphanoudakis (Ed): EuroPACS '96. Proceedings 14th International EuroPACS Meeting. Institute of Computer Science, Foundation for Research and Technology - Hellas. Heraklion: 1996, S. 122-S. 126.

    [Steven 94]

    C. Steven, F. W. Prior, W. D. Bidgood, C. Parisot, G. Claeys: "DICOM: An Introduction to the Standard". University Park, PA, USA: [http://www.xray.hmc.psu.edu/dicom/dicom_intro/DICOMIntro.html], 1994.

    [Weaver 94]

    E. Weaver: "Understanding DICOM 3.0". Rochester, NY, USA: Kodak Health Imaging Systems, 1994.

    [Voellmy 97]

    D. R. Voellmy, C. N. Burger, R. Rechid, F. Hieber, G. K. Schulthess: "Image Prefetching and routing in an integrated HIS/RIS/PACS/modality environment - experiences with a filmless workflow". In: H.U. Lemke, M. W. Vannier, K. Inamura (Eds.): Computer Assisted Radiology CAR 1997. Amsterdam: Elsevier, 1997, S. 521-S. 525.

    Internet Referenzen

    WWW-Referenzen

    David Clunie's Medical Image Format Site

    http://www.rahul.net/dclunie/html/

    Hier sind Beschreibungen zu verschiedenen medizinischen Bildformaten zu finden.

    Es enthält außerdem Verweise auf die Bildformate von verschiedenen CT und MR Geräten sowie Tips, wie man auch ohne Kenntnis von Formaten an die Bilddaten herankommen kann.

    DICOM 3.0: The ACR / NEMA Standard Home Page

    http://www.xray.hmc.psu.edu/dicom/dicom_home.html

    Homepage der ACR/NEMA mit vielen wichtigen Links auf Dokumente, Bilder und Sourcecodes.

    OFFIS HOMEPAGE

    http://www.offis.uni-oldenburg.de/

    Homepage von OFFIS in Oldenburg. Diese Gruppe beschäftigt sich mit der Umsetzung des DICOM Standards für Europa. Sie habe einen eigenen Sourcecode für DICOM Demo Applikationen entwickelt. Es besteht eine enge Zusammenarbeit mit CEN.

    Current (unofficial) DICOM Supplement Status

    http://www.rahul.net/dclunie/dicom-status/status.html

    Hier sind Verweise auf einen Großteil der in der Entwicklung befindlichen DICOM Dokumente enthalten. Es ist jeweils der Status der Entwicklung angegeben und in der Regel auch eine Referenz auf das Dokument im PDF-Format.

    Central Test Node Configuration

    http://xray.swan.ac.uk/ctn

    Dies ist die Beschreibung eines öffentlich zugänglichen DICOM Servers. Es können Bilder geschickt werden und Queries gemacht werden. Für das Anfordern von Bildern mit dem Move Befehl kann man sich dort eintragen lassen

    DICOM Seite des MIT

    http://icmit.mit.edu/

    Einführung in DICOM und Verweise auf weitere Dokumente.

    The Graphics File Format Page

    http://www.dcs.ed.ac.uk/%7Emxr/gfx/

    Eine Beschreibung von sehr vielen verschiedenen Grafikformaten.

    JIRA

    http://www.osaka-med.ac.jp/ jami.html

    Die in Japan für DICOM zuständige Normierungsbehörde.

    CEN

    http://miginfo.rug.ac.be:8001/

    Adresse der europäischen Normungsbehörde CEN.

    NEMA

    http://www. nema.org/

    Homepage der Nema.

    ACR

    http://www. acr.org/

    Homepage der ACR.

    DICOM: The Value and Importance of an Imaging Standard

    http://www. rsna.org/practice/DICOM/dicom.html

    Eine geschichtliche Einführung zu DICOM und weitere Links auf DICOM Dokumente.

    Directory of DICOM Resources - Table of Contents

    http://www.merge.com/web96/subpage96/DICOM_Resources.html

    Viele Links auf Resourcen im Netz. Hier befinden sich auch (offizielle) Links auf aktuelle DICOM Dokumente.

    Conformance Statements

    http://www.med-informatik.uni-hildesheim.de/%7Eniemann/dicom.htm#Contents

    Links auf Dokumentationen und Artikel über DICOM und vor allem eine große Auswahl von Conformance Statements.

    DICOM Machines you can Query

    http://www.indyrad.iupui.edu/cgi-bin/wwwdcmnew

    Dies ist ein einfaches WWW-Interface für mehrere DICOM Maschinen. Es können einfache Queries gestellt werden und die Ergebnisse können gleich am Bildschirm betrachtet werden.

    Papyrus 3.0

    http://expasy.hcuge.ch/www/UIN/papyrus.html

    Beschreibung von Papyrus 3.0, eines zu DICOM kompatiblen Dateiformats.

    Official DICOM Resource Web-page

    http://www. merge.com/web96/subpage96/DICOM.html

    Hier werden Links auf die verschiedensten Inhalte zu DICOM im Netz gegeben. Links auf Bilder, Bücher und die verschiedenen DICOM Implementierungen.

    Health Level 7

    http://spwww.mcit.med.umich.edu/projects/hkit/standards/hl7.html

    Informationen und Links über Health Level 7. Hier sind auch Verweise auf Public Domain Sources vorhanden.

    HL7 FAQ

    http://www.mcis.duke.edu/standards/HL7/faq/HL7FAQ10.HTM#X4X1X1X

    Die am häufigsten gestellten Fragen zu HL-7.

    FTP-Adressen

    Medical Image Format FAQ

    ftp://rtfm.mit.edu/pub/usenet/news.answers/medical-image-faq

    Hier sind die häufigsten Fragen aus der Newsgroup alt.image.medical zusammengefaßt. Außerdem sind eine Menge von Bildformaten beschrieben.

    ftp://ftp.rahul.net/pub/dclunie/dicom3tools

    David Clunie's DICOM3 Tools

    Hier sind eine Menge von Tools, um DICOM Bilder anzusehen, sie zu bearbeiten und um Informationen über die Bilder zu bekommen.

    Oldenburg

    ftp://ftp.offis.uni-oldenburg.de/pub/dicom

    Hier ist sowohl die Software von OFFIS zu finden als auch ein Mirror der Sourcen des Mallinckrodt Institutes. Außerdem enthält das Archiv eine Reihe von Bildern.

    Mallinckrodt Institute of Radiology

    ftp://ftp.erl.wustl.edu/pub/dicom

    FTP-Server des Mallinckrodt Institute of Radiology, der neben der jeweils aktuellen Software des Institutes auch eine Reihe von Beispielbildern enthält.

    UC Davis

    ftp://imrad.ucdmc.ucdavis.edu/pub/dicom/UCDMC

    Hier kann man den Source Code der UC Davis bekommen.

    General Electrics

    ftp://ftp.med.ge.com/pub/DICOM/IMAGES

    Eine Sammlung von Beispielbildern für DICOM.

    Philips

    ftp://ftp.philips.com/pub/ms/dicom

    Conformance Statements von Philips und weitere Informationen zu DICOM.

    NEMA

    ftp://ftp.nema.org/dicom/

    Hier sind aktuelle Versionen von Supplements und Draftdokumenten zum DICOM Standard zu finden.

    Penn State University

    ftp://ftp.xray.hmc.psu.edu/

    Hier sind die Sourcen der Penn-State University zu erhalten.

    Usenet:

    comp.protocols.dicom

    Hier werden Fragen rund um DICOM und die verschiedenen Implementationen von DICOM Sourcen behandelt.

    alt.image.medical

    Diese Newsgroup beschäftigt sich vor allem mit der Bildverarbeitung in der Medizin.

    sci.med.radiology

    Hier werden Fragen rund um die Radiologie behandelt.

    sci.med.telemedicine

    In dieser Newsgroup ist alles zum Thema Telemedizin also auch der Teleradiologie zusammengefaßt.

    sci.med.informatics

    Hier wird alles die medizinische Informatik betreffende behandelt.

    Abbildungsverzeichnis

    Abbildung 2-1: Kommunikation des KIS 6

    Abbildung 2-2: Arbeitsabläufe in der Radiologie 7

    Abbildung 2-3: Kopplung von KIS und RIS 8

    Abbildung 2-4: Kommunikation des PACS 9

    Abbildung 2-5: Kommunikation von Modalitäten und Viewing Stations 10

    Abbildung 2-6: Der Platz der Teleradiologie 12

    Abbildung 2-7: Die CHILI Radiologie 13

    Abbildung 2-8: Modell einer optimalen Radiologie 14

    Abbildung 4-1: Gliederung der DICOM Dokumentation 26

    Abbildung 4-2: DICOM Datenstrom 28

    Abbildung 4-3: Entity-Relationship Diagramm für die composite Informationsobjekte 31

    Abbildung 4-4: Entity-Relationship Diagramm für die SOP Klassen 33

    Abbildung 4-5: Verbindung von Dienst und Objekt zu einer SOP Klasse 34

    Abbildung 4-6: Kommunikation von SCU und SCP beim Store Befehl 34

    Abbildung 4-7: Kommunikation von SCU und SCP beim Move Befehl 35

    Abbildung 4-8: DICOM Netzwerkschema 37

    Abbildung 4-9: Modell für TCP/IP 38

    Abbildung 4-10: ISO/OSI 7-Schichten-Modell 39

    Abbildung 4-11: Verbindungsaushandlung 41

    Abbildung 5-1: Bildschirmausdruck der Konfiguration 64

    Abbildung 5-2: Der DICOM Server und seine Funktion 66

    Abbildung 5-3: Funktionalität des Query Clients 68

    Abbildung 5-4: Patient Root und Study Root 70

    Abbildung 5-5: Datenbankverbindungen von CHILI 73

    Abbildung 5-6: Implementation Model der DICOM Routinen 80

    Abbildung 6-1: DICOM Funktionalität von CHILI 92

    Abbildung 9-1: Kommunikationsmöglichkeiten von CHILI mit dem DICOM Protokoll 102

    Abbildung 9-2: DICOM Modell der realen Welt 103

    Tabellenverzeichnis

    Tabelle 4-1: Beispiele für Attribute 27

    Tabelle 4-2: Beispiele für die Tags 28

    Tabelle 4-3: Beispiele für die Value Representation 29

    Tabelle 4-4: Beschreibung einer Value Representation 30

    Tabelle 4-5: Verschiedene Arten von Attributen 31

    Tabelle 4-6: Beispiele für Serviceklassen 32

    Tabelle 4-7: Beispiele für UIDs 36

    Tabelle 4-8: Beschreibung des DICOM Archivdateiformats 41

    Tabelle 4-9: Auszug aus dem Data Dictionary 46

    Tabelle 4-10: Beispiele für Supplements 49

    Tabelle 4-11: Beispiele für Correction Proposals 50

    Tabelle 5-1: Unterstützte Plattformen 55

    Tabelle 5-2: Liste der Libraries mit Funktion 56

    Tabelle 5-3: Liste der Beispielprogramme mit Funktion 59

    Tabelle 5-4: Primärschlüssel der einzelnen Ebenen 69

    Tabelle 5-5: Konfigurationsparameter von CHILI_Send 78

    Tabelle 5-6: Unterstützte SOP Klassen als User 81

    Tabelle 5-7: Unterstützte SOP Klassen als Provider 82

    Tabelle 5-8: Präsentationskontexte als SCU 84

    Tabelle 5-9: Präsentationskontexte als SCP 86

    Glossar

    A

    ACCP

    American College of Chest Physicians.

    ACG

    American College of Gastroenterology.

    ACR

    American College of Radiology.

    Vereinigung amerikanischer Radiologen

    Es existiert in der ACR ein gemeinsames Komitee mit der NEMA, das sich mit der Entwicklung eines Standards für die digitale Bildaufnahme und Kommunikation in der Medizin (DICOM) beschäftigt.

    ACSE

    Association Control Service Element.

    AE

    siehe "Application Entity".

    ANSI

    American National Standards Institute.

    API

    Application Programing Interface.

    Application Entity

    Dies ist eine bestimmte Anwendung, also ein Programm mit einem bestimmten Namen.

    Application Title

    Name einer bestimmten DICOM Anwendung.

    ASCII

    American Standard Code for Information Interchange.

    ASGE

    American Society for Gastrointestinal Endoscopy.

    Association Handling

    Dies ist die Phase, in der zwei Partner prüfen, ob eine Verbindung zwischen ihnen möglich ist. Es werden die verschiedenen SOP Klassen und die Rollen als User und Provider abgeglichen.

    Außerdem werden die Transfersyntaxe ausgetauscht.

    ATM

    Asynchronous Transfer Mode.

    Netzwerkprotokoll wie Ethernet, das allerdings deutlich schneller arbeitet.

    Attribute

    Attribute sind die Grundbestandteile von DICOM Objekten. Objekte können sich aus Standard Attributen ( See Standard Attribute ) und privaten Attributen ( See Private Attribute ) zusammensetzen.

    Attribute Tag

    Ein Attribute Tag ist eine eindeutige Bezeichnung für ein Attribut in DICOM. Es besteht aus einer Gruppennummer und einer Elementnummer.

    AUA

    American Urological Association.

    B

    Basic Offset Table

    Eine Tabelle mit Zeigern auf einzelne Bilder in einem Objekt, in dem mehrere Bilder zusammengefaßt sind.

    Big Endian

    Beschreibt die Codierung von Zahlen, die mehrere Bytes lang sind. Bei Big Endian wird zuerst das höherwertigste Byte genommen und dann absteigend die Bytes bis zum niederwertigsten.

    C

    CAR

    Computer Assisted Radiology.

    Internationaler Kongreß, der sich mit RIS und PACS Systemen sowie mit DICOM beschäftigt.

    CEN

    Comitê Europeen de Normalisation-

    Europäische Normungsbehörde.

    CEN/TC251

    Technical Commitee 251.

    Diese Untergruppe der CEN beschäftigt sich mit medizinischer Informatik.

    CEN/TC251/WG4

    Working Group 4-

    Working Group on Medical Imaging and Multimedia.

    Diese Arbeitsgruppe beschäftigt sich unter anderem mit der Umsetzung des DICOM Standards für die Europäische Union.

    Character Repertoire

    Eine endliche Menge von Buchstaben, die als komplett für einen bestimmten Zweck angesehen wird. Das Character Repertoire ist unabhängig von der Codierung.

    Coded Character Set

    Ein Coded Character Set ist jeweils die eineindeutige Zuordnung einer Codierung zu einer Menge von Zeichen ( See Character Repertoire ).

    Composite IOD

    Eine IOD ( See IOD ), die ein Objekt beschreibt, das aus verschiedenen elementaren Objekten besteht.

    So bestehen CT Bilder zum Beispiel aus den Objekten Patient, Studie, Serie, Bild.

    Command

    DICOM Kommandos gibt es für die verschiedenen Operationen, die auf Objekten ausgeführt werden können.

    Control Character

    Buchstaben, die innerhalb eines Textfeldes zur Formatierung oder zu Ähnlichem benutzt werden.

    Conformance Statement

    Ein Conformance Statement ist eine formale Aussage über eine bestimmte Implementierung von DICOM Routinen. Es spezifiziert die Serviceklassen, die Informationsobjekte und die Kommunikationsprotokolle dieser Implementierung.

    Correction Proposal

    Änderung von einzelnen Teilen des DICOM Standards.

    CR

    Computed Radiography-

    Digitales Röntgen.

    CT

    Computed Tomography.

    D

    Data Dictionary

    Auflistung aller DICOM Informationsobjekte mit den eindeutigen Bezeichnern (Tags) dieser Objekte und der Wertedarstellung. Dies ist in Teil 6 des DICOM Standards beschrieben.

    Data Element

    Eine bestimmte Menge an Information, die durch einen Eintrag im Data Dictionary beschrieben ist. Beschrieben wird es durch einen eindeutigen Bezeichner (Tag), die Länge des Attributwertes und den Wert des Feldes.

    Data Element Tag

    Ein eindeutiger Bezeichner für ein Datenelement bestehend aus Gruppennummer und Elementnummer.

    Data Element Register

    siehe Data Dictionary

    Data Element Type

    Bezeichnet, ob ein Attribut einer "Information Object Definition" vorgeschrieben, unter bestimmten Bedingungen vorgeschrieben oder optional ist.

    Data Set

    Ein Data Set ist eine strukturierte Menge von Attributwerten, die direkt oder indirekt mit einem Informationsobjekt verbunden sind. Sie sind nach aufsteigenden Gruppen- und Elementnummern sortiert. Der Wert jedes Attributs ist ein Datenelement.

    Defined Term

    Der Wert eines Datenelementes ist ein "Defined Term", wenn es ein fester Wert aus einer bestimmten Wertemenge ist. Diese Mengen können von der Herstellern erweitert werden.

    Derived Image

    Ein Bild, dessen Pixeldaten aus einem oder mehreren anderen Bildern berechnet werden. So kann ein Bild zum Beispiel aus den Bilddaten und den Overlaydaten bestehen.

    DICOM

    Digital Image COmmunications in Medicine

    Ein Standard für die Bilddarstellung, Bildspeicherung und Bildkommunikation in der Medizin.

    DICOM Application Model

    Dies ist ein Entity-Relationship Diagramm, das die Beziehungen zwischen Objekten der realen Welt mit den für DICOM benötigten Objekten herstellt.

    DICOM Information Model

    Ein Entity-Relationship Diagramm, das die Beziehungen zwischen "Information Object Definitions" und Objekten der realen Welt herstellt.

    DIMSE

    DICOM Message Service Element

    Bestimmte "Message Service Elements" für den Datenaustausch.

    DIMSE-C

    DICOM Message Service Element Composite

    Eine Nachricht, die sich auf composite Objekte bezieht.

    DIMSE-C Services

    Dies sind Services, die auf den entsprechenden Serviceklassen beruhen.

    DIMSE-N

    DICOM Message Service Element Normalized

    Eine Nachricht, die sich auf normalisierte Objekte bezieht.

    DIMSE-N Services

    Dies sind Services, die auf den entsprechenden Serviceklassen beruhen.

    DIMSE Service Provider

    Jeder, der entsprechende Servicedienste bereitstellt, ist ein Provider.

    DIMSE Service User

    Jeder, der die entsprechenden Servicedienste benutzt, ist der User.

    DSA

    Digital Subtraction Angiography-

    Digitale Subtraktionsangiographie.

    E

    Element number

    Die zweite Zahl eines eindeutigen Tags eines Datenelementes.

    Endian

    Beschreibt die Ordnung der Bytes in Zahlen, die mehrere Bytes lang sind. Es gibt Big Endian See Big Endian und Little Endian See Little Endian .

    ES

    Endoscopy.

    ESGE

    European Society for Gastrointestinal Endoscopy.

    Explicit VR

    Angabe der Value Representation bei jeden Datenfeld.

    F

    FAQ

    Frequently Asked Questions.

    Dies sind Sammlungen von häufig gestellten Fragen zu einem Thema mit den entsprechenden Antworten.

    FSC

    File Set Creator.

    FSR

    File Set Reader.

    FSU

    File Set Updater.

    FTP

    File Transfer Protocol

    Dieses Protokoll wird benutzt, um über das Internet oder ein Netzwerk Dateien von einem Rechner auf einem anderen Rechner zu übertragen.

    G

    GENESIS

    Bildformat, daß von GE für die CT und MR Geräte benutzt wird.

    Group Number

    Die erste Zahl eines eindeutigen Tags eines Datenelementes.

    Ist diese Zahl ungerade, so handelt es sich um ein privates Datenelement. Ansonsten sind es öffentliche DICOM Elemente.

    GUI

    Graphical User Interface-

    Grafische Benutzeroberfläche.

    H

    HCI

    Human Computer Interaction-

    Mensch Maschine Schnittstelle.

    HIS

    Hospital Information System-

    Krankenhausinformationssytem.

    HISPP

    Healthcare Informatics Standards Planning Panel.

    Dies ist eine Behörde der ANSI, die sich mit Standards für verschiedene Bereiche der medizinischen Informatik beschäftigt.

    HL-7

    Health Level 7.

    Ein triggergesteuerter Standard für die Kommunikation zwischen den einzelnen Komponenten eines Krankenhausinfor-mationssystems oder für die Kommunikation zwischen Krankenhaus- und Radiologie-informationssystemen.

    I

    IE

    Information Entity.

    Das ist die Information, die durch eine Composite IOD für ein bestimmtes Objekt der realen Welt definiert wird.

    IEEE

    Instititute of Electrical and Electronical Engineers.

    Amerikanische Vereinigung, die sich mit der Standardisierung im Bereich der Elektronik beschäftigt.

    IMACS

    Image Management and Communication System.

    Dies ist ein System, das sich mit dem Abspeichern und Wiederauffinden von Bildern beschäftigt. Die Bilder sollen zur richtigen Zeit am richtigen Ort verfügbar sein.

    Implicit VR

    Es erfolgt keine Angabe der Value Representation. Man muß sich die Wertdarstellung also aus dem Data Dictionary holen.

    Information Entity

    Dies ist ein Objekt der realen Welt, das eine Eins-zu-Eins-Beziehung zu einer DICOM IOD hat.

    IOD

    Information Object Definition

    Eine Abstraktion von mehreren Objekten der realen Welt, die in einer Klasse zusammengefaßt sind. Es sind die Attribute und die Art der Attribute definiert.

    IPI

    Image Processing and Interchange.

    ISO

    International Standards Organization.

    Dies ist eine Behörde, die sich mit Standards auf der internationalen Ebene beschäftigt.

    ISP

    International Standardized Profile.

    Item delimination Element

    Dies wird benutzt, um in einem Element mit unbekannter Länge das Ende des Objektes zu kennzeichnen.

    J

    JIRA

    Japanese Industrial Association of Radiology Apparatus.

    Dies ist die japanische Behörde, die für den DICOM Standard zuständig ist.

    K

    KIS

    Krankenhausinformationssytem.

    Ein solches System ist für das Management der Patienten- und Behandlungsdaten im Krankenhaus nötig. Es ist wichtig, daß Schnittstellen zu allen Abteilungen und abteilungsspezifischen Systemen vorhanden sind.

    L

    Length (undefined)

    Length ist die Länge in Bytes eines Datenelementes. Ist die Länge nicht angegeben, so muß es ein Item Delimination Element geben, das das Ende des Objektes kennzeichnet.

    Level/Window

    Hiermit wird die Anzahl der angezeigten Grauwerte bestimmt, sowie das Grauwertfenster, also der Bereich der Grauwerte, der angezeigt werden soll.

    LIS

    Laboratory Information System

    Ein solches System hat die Verarbeitung der im Labor anfallenden Daten zur Aufgabe. Es können Anforderungen angenommen sowie Befunde erstellt und verschickt werden.

    Little Endian

    Bei dieser Byteordnung werden mehrere Byte lange Zahlen beginnend mit dem niederwertigsten Byte codiert und dann Byte für Byte aufsteigend.

    M

    Media Storage Directory

    Ein bestimmtes DICOM Objekt, das hierarchische Verzeichnisinformationen über die auf dem Medium gespeicherten Dateien enthält.

    MEDICOM

    Medical Image Communication.

    Dies ist die europäische Variante des DICOM Standards. Sie entspricht bis auf wenige Kleinigkeiten dem DICOM Standard. So ist keine Punkt-zu-Punkt Verbindung vorgesehen, da diese in Europa keine Relevanz hat.

    MI-MEDICOM

    Media Interchange for Medical Image Communication.

    MIPS

    Japanische Umsetzung des DICOM Standards.

    MR/MRT

    Magnetresonanztomographie.

    MSDS

    Healthcare Message Standard Developers Sub-Commitee.

    MSDEVC

    Message Standard Data Element Value Sets Table of the SDM Module.

    Eine Menge von Attributen innerhalb eines Information Entity, die logische Beziehungen miteinander haben.

    N

    NEMA

    National Electronic Manufacturers Association.

    Die Vereinigung der amerikanische Elektrogerätehersteller. Sie sind mit an der Entwicklung des DICOM Standards beteiligt, und sie publizieren die Standarddokumente.

    NEMA Standards Publishing

    Verlag, der den DICOM Standard publiziert.

    Nested Data Set

    Dies ist ein Datensatz, der innerhalb eines Datenelementes eines anderen Datensatzes enthalten ist.

    NIU

    Network Interface Unit.

    NM

    Nuklearmedizin.

    Normalized

    Ein DICOM Objekt, daß nur Daten einer bestimmten Objektart besitzt. Zum Beispiel Patient, Studie, Serie.

    O

    OFFIS

    Oldenburger Forschungs- und Entwicklungs-institut für Informatik-Werkzeuge und Systeme.

    Dieser Verein hat eigene DICOM Software herausgegeben und ist auch eng verbunden mit den Normungsgremien der CEN.

    OMED

    Organisation Mondial d'Endoscopie Digestiv.

    Weltorganisation für digestive Endoskopie.

    OSI

    Open Systems Interconnection.

    Organisation die sich mit der Kommunikation zwischen verschiedenen Geräten beschäftigt.

    Beispiel ist das ISO/OSI Sieben-Schichten-Modell.

    P

    PACS

    Picture Archiving and Communication System

    Ein System, das das Anzeigen von Bildern, die Speicherung und Archivierung sowie das Auffinden alter Bilder erleichtern soll.

    Wichtig ist dabei die Kommunikation mit dem RIS.

    Patient Root

    Abfragen (Queries) werden ausgehend vom Patienten gestellt. Die weiteren Ebenen sind Studie, Serie und Bild. Bei Abfragen auf einer Ebene müssen immer die Primärschlüssel aller darüberliegenden Ebenen übertragen werden.

    PET

    Positronen-Emmissions-Tomographie.

    PDU

    Protocol Data Unit.

    PDV

    Presentation Data Value.

    Pixel Data

    Graphische Daten wie Bilder oder Overlays, die in einer bestimmten Bittiefe codiert sind.

    Prefetching

    In Zusammenarbeit mit einem Archiv können die alten Bilder eines Patienten, der untersucht wird, automatisch von dem Archivmedium auf eine schnellere Speicherform geladen werden, damit sie in einem schnelleren Zugriff sind.

    Dies steht in Zusammenhang mit dem DICOM Worklist Management ( See Worklist Management ).

    Preloading

    Dies ist eine ähnliche Funktion wie das Prefetching, es werden dabei aber immer nur ganze Bilder vorausschauend geladen und nicht gezielt bestimmte Informationen.

    Private Attribute

    Dies sind selbstdefinierte Attribute. Sie sind also nicht Bestandteil des DICOM Standards. Sie können von den Herstellern selbst definiert werden und haben ungerade Gruppennummern.

    Private Data Element

    Private Datenelemente sind Datenelemente, die nicht im Standard definiert sind. Es sind Objekte, die von Herstellern selber definiert sind, um weitere Information zu übertragen. Diese Datenelemente haben ungerade Gruppennummern.

    Private SOP Class

    Dies sind selbstdefinierte SOP Klassen, die von bestimmten Herstellern definiert sind, aber nicht Bestandteil des DICOM Standards sind.

    Q

    Query/Retrieve

    Dies sind die Serviceklassen, die zum Stellen von Datenbankenanfragen und zum Anfordern von Bildern benutzt werden.

    R

    Registration Authority

    Hiermit wird die Behörde bezeichnet, die sich mit der Wartung und der Verfügbarkeit von Listen mit Datenelementen, SOP Klassen und Transfersyntaxen beschäftigt.

    Repeating group

    Dies sind bestimmte Datenelemente, die mit demselben eindeutigen Bezeichner innerhalb eines Objektes mehrfach vorkommen können, wie zum Beispiel Overlays.

    Retired Data Element

    Ein Datenelement, das mit der Version 3.0 des Standards nicht mehr unterstützt wird. Einige Implementierungen könnten solche Elemente noch benutzen, um eine Abwärtskompatibilität zu gewährleisten.

    RIS

    Radiologieinformationssystem

    Dieses System beschäftigt sich mit der Datenverarbeitung in der Radiologie. Dazu gehört eine Schnittstelle mit dem KIS, damit Patientendaten übernommen werden können sowie eine Schnittstelle zum PACS.

    S

    SAGES

    Society of American Gastrointestinal Endoscopic Surgeons.

    SC

    Secondary Capture.

    Solche Bilder werden zum Beispiel erzeugt, wenn analoge Röntgenfilme digitalisiert werden.

    SCP

    Service Class Provider.

    Dies ist ein Bereitsteller von einer oder mehreren Serviceklassen.

    SCU

    Service Class User.

    Dies ist ein Benutzer von einer oder mehreren Serviceklassen.

    SDM

    SNOMED-Data Element Microglossary-

    Glossar der Nomenklatur SNOMED.

    Sequence delimination item

    Dies bezeichnet das Ende einer Sequenz von Objekten mit unbekannter Länge. Dieses Zeichen kommt nach dem letzten Elemente der Sequenz.

    Sequence of items

    Dies ist die Wertedarstellung für eine Sequenz von Daten innerhalb eines Datenelements. Dies ist verbunden mit einem Nested Data Set.

    Service

    Dies ist eine Methode, um ein Informationsobjekt zu bearbeiten, z.B. es wegzuschicken.

    SOP

    Service Object Pair

    Verbindung von Serviceklasse und Informationsobjekt zu einer neuen Klasse. Zum Beispiel ist das Verschicken von CT Bildern eine solche SOP Klasse.

    SOP Class

    Dies ist die Verbindung eines bestimmten DICOM Service Message Elementes mit einer verwandten IOD. Diese definieren eindeutig den Kontext einer Kommunikation.

    Specialized SOP Class

    Dies ist eine SOP Klasse, die von einer Standard SOP Klasse abgeleitet ist. Die Semantik kann allerdings verändert sein, so daß eine Zusammenarbeit mit Standard SOP Klassen nicht gewährleistet ist.

    SPECT

    Single Photon Emission Computed Tomography.

    SPI

    Standard Product Interconnect.

    Dies ist ein vor allem von Siemens und Philips propagiertes Bildverarbeitungsformat, das von ACR/NEMA 1.0 abgeleitet ist.

    Sponsoring Authority

    Dies ist die Behörde, die für die Erweiterung des DICOM Standards zuständig ist. Sie muß sich mit den neuen Datenelementen und der Semantik der neuen Serviceklassen auseinandersetzen.

    SQL

    Standard Query Language.

    Dies ist eine Abfragesprache für Datenbanken, mit der einfach Queries gestellt werden können.

    Stack

    Verwaltung von Elementen in der Form "last in first out". Es wird also das zuletzt abgelegte Element als erstes wieder vom Stapel heruntergenommen, bevor die weiter unten liegenden Elemente benutzt werden können.

    Standard Attribute

    Dies sind Attribute, die im DICOM Standard (Teil 6) definiert sind.

    Standard SOP Class

    Dies ist eine SOP Klasse, die genau so benutzt wird, wie sie im DICOM Standard festgelegt ist.

    Standard Extended SOP Class

    Eine Standard SOP Klasse, die mit zusätzlichen Datenelementen oder zusätzlicher Funktionalität benutzt wird.

    Diese Klasse kann aber genausogut wie eine Standard SOP Klasse benutzt werden, da in diesem Fall die zusätzliche Informationen einfach nicht benutzt werden.

    Study Root

    Abfragen (Queries) werden ausgehend von einer Patienten/Studien Ebene gestellt. Die weiteren Ebenen sind Serie und Bild. Bei Abfragen auf einer Ebene müssen immer die Primärschlüssel aller darüberliegenden Ebenen übertragen werden.

    Supplement

    Erweiterung des DICOM Standards, teilweise verbunden mit Änderungen im bisherigen Standard.

    T

    Tag

    Dies ist der eindeutige Bezeichner für ein Datenelement, bestehend aus einer Gruppennummer und einer Elementnummer. Er wird benutzt, um Attribute und die entsprechenden Datenelemente einander zuzuorden.

    TCP/IP

    Transmission Control Protocol / Internet Protocol.

    Dies ist das am häufigsten benutzte Netzwerkschema.

    Transfersyntax

    Dies ist eine Menge von Codierungsregeln, die es auch Programmen mit unterschiedlichen Regeln erlauben, miteinander zu kommunizieren.

    Dies bezeichnet z.B. die Datenelementstruktur, die Byteordnung und mögliche Kompressionsverfahren der Bilddaten.

    Der Transfersyntax wird ausgehandelt, bevor eine Verbindung aufgebaut wird.

    U

    UID

    Unique Identifier.

    Dies ist ein eindeutiger Identifizierer, der es erlaubt, weltweit alle DICOM Objekte bestimmten Herstellern oder Benutzern zuzuordnen.

    Jede SOP Klasse, aber auch jede Studie, Serie und jedes Bild haben einen solchen Bezeichner.

    US

    Ultrasound-

    Ultraschall.

    Usenet

    In diesem Bereich des Internets sind die Newsgruppen angesiedelt. Das sind Foren, die mit schwarzen Brettern vergleichbar sind.

    V

    Value

    Dies ist der Inhalt eines Wertefeldes.

    Value Enumerated

    Der Wert eines Feldes ist ein festes Element aus einer vorgegebenen Menge von Werten. Diese fest vorgegebenen Werte sind im DICOM Standard definiert.

    Value Field

    Dies ist das Feld innerhalb eines Datenelementes, das den Wert des Datenelementes enthält.

    Value Length

    Dieses Feld enthält die Länge des Wertes in dem Datenfeld.

    Value Multiplicity

    Dies ist die maximale Anzahl der Werte innerhalb eines Wertefeldes.

    VM

    siehe Value Multiplicity.

    Value Representation

    Spezifiziert den Datentyp und die Verschlüsselung des Wertes. Bei expliziter Darstellung wird dieser Wert bei jedem Attribut mit angegeben, bei impliziter wird die Value Representation aus dem Data Dictionary genommen.

    Value Representation Field

    Dies ist das Feld, das die Value Representation enthält, wenn sie jedesmal explizit angegeben wird.

    VR

    Value Representation.

    W

    Worklist Management

    Erweiterung des DICOM Standards für RIS Funktionalitäten. Es können den Patienten Werte wie "angemeldet", "untersucht" oder "befundet" zugewiesen werden.

    Diese Klassen sind wichtig für ein gutes Prefetching.

    WWW

    World Wide Web.

    Index

    Numerics

    2. Generation 91

    3M 15

    A

    ACCP 125

    ACG 125

    ACR 118, 125

    ACR Standards for Teleradiology 109

    ACR/NEMA 2, 20, 117

    1.0 20

    2.0 21

    ACSE 125

    Advantage Windows 19

    AE (siehe Application Entity)

    Analog 5

    Angiographiegerät 94

    Anhang A 103

    Anhang B 105

    ANSI 2, 125

    Anwendungsbereiche 99

    API 125

    Applicare 95

    Application Entity 39, 125

    Application Title 39, 125

    Applikationsebene 39

    Applikationsprofil 26, 47

    Applikationstitel 39

    Arbeitsablauf 7

    Arbeitsgruppen 23

    Arbeitsschritte 93

    Archiv 8

    Archivierung 18, 40

    ASCII 125

    ASGE 125

    Association Handling 125

    ATM 38, 125

    Attribut 27, 125

    Privat 29

    Tag 125

    Attributwert 27

    AUA 125

    Aufbau 1

    Ausblick 99

    Aushandeln der Kommunikation 22

    Autor 51

    B

    Basic Offset Table 125

    Basisroutinen 51, 56, 97, 101

    Befundungsworkstation 8

    Beispielapplikationen 56, 58

    Benutzbarkeit 63, 92

    Benutzerdokumentation 63

    Benutzerschnittstellen 63

    Big Endian 126

    Bildformate 117

    Bildkommunikation 14, 17

    Bildverarbeitung 17

    Bildverarbeitungssysteme 17

    Buchstabensätze 89

    Bürokratie 23

    C

    C 112, 114

    C++ 51, 114

    Callback Funktion 71

    CAR 52

    CD-ROM 43

    C-Echo 66

    C-Echo Provider 64

    C-Echo User 76

    CEN 2, 22, 126

    TC251 126

    TC251/WG4 126

    C-Find 67

    C-Find Provider 65

    C-Find User 68

    Character

    Control 126

    Repertoire 126

    CHILI 1, 11, 60, 91, 101

    CHILI Radiologie 12, 13, 98

    CHILI_dbTreiber 80

    CHILI_echo 80

    CHILI_query_client 80

    CHILI_send 80

    CHILI_server 80

    Client/Server 34

    Clunie 2

    C-Move 67

    C-Move Provider 65

    C-Move User 68

    Coded Character Set 126

    Command 126

    Composite IOD 126

    COND 58

    Conformance 44, 110

    Conformance Statement 22, 43, 79, 118, 126

    Control Character 126

    Cookbook 2, 114

    Correction Proposal 25, 126

    CR 126

    C-Store 67

    C-Store Provider 64, 68

    C-Store User 65, 77

    CT 10, 126

    CTN Configuration Tool 59

    D

    Dank iii

    Data Dictionary 45, 110, 126

    Data Element 126

    Register 127

    Tag 126

    Type 127

    Data Set 127

    Dateiformat 40

    Datenbank 11

    Datenbanktreiber 15, 69, 72, 98

    Datenfernübertragung 112

    Datenfluß 28

    Datenflußdiagramm 80

    Datenformate 18

    Datenhaltung 6

    Datenkommunikation 109

    Datenstrom 28

    Datenstrukturen 45

    Datenverarbeitung 7

    David Clunie 117

    DCM 58

    De facto Standard 18

    De Jarnette 54

    Debug Status 58

    Default 29

    Defined Term 127

    Demonstration 54

    Derived Image 127

    Diagnosemöglichkeiten 14

    DICOM 1, 21, 25, 51, 126

    Application Model 127

    Basisroutinen 51

    Dokumentation 26

    Fähigkeit 101

    FAQ 109

    Information Model 127

    Konzepte 26

    Part 1 44, 110

    Part 10 47, 110

    Part 11 47, 110

    Part 12 48, 110

    Part 13 48, 110

    Part 2 44, 110

    Part 3 44, 110

    Part 4 45, 110

    Part 5 45, 110

    Part 6 45, 110

    Part 7 46, 110

    Part 8 46, 110

    Part 9 47, 110

    Unterlagen 43

    DICOM Application Model 127

    DICOM Information Model 127

    DICOM Netzwerk (CAR 97) 94

    DICOM Präfix 42

    DICOM Server 15, 64, 97

    DICOM Toolkit 53

    DICOM/HL7 Umsetzer 8

    DICOMDIR 42, 47, 105

    Dienste 32

    Digital 5

    Digitales Röntgen 10

    DIMSE 126, 127

    DIMSE-C 126

    DIMSE-C Services 127

    DIMSE-C-Services 127

    DIMSE-N 127

    DIMSE-N Services 127

    Service Provider 127

    Service User 127

    Diskette 18, 43

    Diskussion 97

    DKFZ iii, 95

    Dokumentation 60, 62

    Dokumentationskopf 61

    Dreidimensionale Rekonstruktion 10

    Drucken 15

    DSA 127

    DUL 38, 58

    E

    Echo 76

    EDIFACT 8

    Einführung 1, 25, 44

    Einleitung 1

    Einsatz 93

    Elektroindustrie 20

    Element number 127

    Element Tag 28

    Endian 127

    Big 126

    Little 129

    Engelmann iii, 111

    Entity-Relationship Diagramm 22, 30, 103

    Erfahrung 99

    Ergebnisse 91, 102

    Ergonomie 63

    Erweiterbarkeit 62

    Erweiterungen 49, 88

    ES 127

    ESGE 128

    Ethernet 38

    Evaluation 114

    Explicit VR 128

    F

    FAQ 128

    Fehlermeldung 75

    Framemaker 111

    Freie Sourcen 51

    FSC 128

    FSR 128

    FSU 128

    FTP 119, 128

    G

    GE 19

    General Electrics 95, 120

    Generation 11

    GENESIS 19, 128

    GNU Autoconfig 52

    Grafikformate 118

    Grafische Oberfläche 92

    Graphics File Format 118

    Grauwertauflösung 11

    Grenzenlose Kommunikation 102

    Großgeräte 10

    Großgerätehersteller 2

    Group Number 128

    Gründe 22

    Grundversorgung 5

    Gruppen Tag 28

    GUI 128

    H

    HCI 128

    Health Level 7 119

    Heidelberg i

    HeiKo 6

    Herstellerstandards 18

    Hierarchie 25

    HIS 128

    HISPP 128

    HL-7 6, 112, 128

    Komitee 6

    Human-Computer Interaction 113

    I

    IE (siehe Information Entity) 128

    IEEE 128

    IMACS 128

    Image Server 59

    Imation 95

    IMIA 113

    Implementation Model 79

    Implementierung 51

    Implicit VR 129

    Index 135

    Indy 52

    Information Entity 128, 129

    Informationsobjekt 30, 44

    Composite 30

    Normalized 30

    Informationsquelle 101

    Inovit 94, 95

    Instanz 27

    Internet 2

    IOD 110, 129

    Composite 126

    IP 38

    IPI 129

    ISO 129

    ISO/OSI 37, 38, 53

    ISO/OSI 7-Schichten-Modell 39

    ISP 129

    Item delimination Element 129

    J

    JIRA 2, 22, 118, 129

    K

    KIS 129

    KIS/RIS Kopplung 8

    Klasse 27

    Kodak 115

    Köhler iii, 5, 112

    Kommandozeilenparameter 60, 79

    Kommerzielle Sourcen 53

    Kommunikation 5, 36, 49

    Kommunikationsabläufe 5

    Kommunikationsmöglichkeiten 101, 102

    Kommunikationsprofile 87

    Kommunikationsstandard 2, 6

    Kommunikationssystem 6

    Konfiguration 88, 92

    Konfigurationsdatei 62

    Konfigurationsparameter 63, 78

    Konvertierungstool 100

    Konzept 60

    Kooperative Sitzung 11, 91

    Kooperatives Arbeiten 100, 102

    Kopplung 8

    Kosten 18, 25

    Krankenhaus 5

    Krankenhausinformationssystem 6

    L

    Length 129

    Level/Window 129

    Level/Window Einstellungen 10

    Liegezeit 14

    Links 117, 118

    LIS 5

    M

    Magnetbänder 18

    Magnetom 19

    Mallinckrodt Institute 120

    Mallinckrodt Institute of Radiology 21, 52

    Massenspeicher 9

    Maximalversorgung 5

    MBI iii

    Media Storage 110

    Media Storage Directory 129

    Medical Image Format FAQ 17

    MEDICOM 39, 129

    MEDICUS 1

    Medien 43

    Medizinische Dokumentation 7

    Meinzer iii

    Merge 54, 94, 95, 119

    Meta Header 47

    Methode 27

    MIPS 130

    MIT 118

    Modalität 1, 10

    Motivation 1

    MR 10, 130

    MR Signa 19

    mSQL 60

    N

    Nachrichten 46

    NEMA 118

    NEMA Standards Publishing 110, 130

    Network Interface Unit 21, 130

    Netzwerkkommunikation 21, 22, 46

    Netzwerkkonzepte 37

    Netzwerkschema 37

    Netzwerkunterstützung 18

    NIU 21, 39, 130

    NM 130

    Normalized 130

    Normungsbehörde 118

    Normungsgremien 44

    Nuklearmedizin 10

    O

    Object-Oriented Design 109

    Objektorientiert 21

    Objektorientiertheit 26, 27

    OFFIS 117, 130

    Offline Zugriff 9

    Ökonomisch 14

    Oldenburg 117

    Online 25

    Optimale Radiologie 13

    Optimale Teleradiologie 98

    Organisation 9

    P

    PACS 9

    Kommunikation 9

    Papyrus 119

    Parameter 61

    Patient Root 65, 69, 94, 130

    Patientenidentifikationen 6

    Patientenversorgung 14

    PDV 130

    Penn-State University 53, 120

    PET 130

    Philips 2, 20, 95

    Physische Medien 87

    Plattformen 55

    Plattformunabhängigkeit 53

    Platz der Teleradiologie 12

    Point-to-Point 110

    Postgres 60

    Postscript 15

    Präambel 42

    Präsentationsadresse 39

    Präsentationskontext 40

    Praxis 93

    Prefetching 8, 15, 130

    Preloading 131

    Presentation Address 39

    Primärschlüssel 69

    Print Management 48, 99, 110

    Print Manager 59

    Print Server 59, 99

    Problematik 5, 17, 25

    Produktbindung 18

    Programmierbeschreibung 62

    Proprietäre Protokolle 13

    Prospeed 19

    Pseudocode 76

    Punkt-zu-Punkt 39, 47, 54

    Punkt-zu-Punkt Kommunikation 20

    Punkt-zu-Punkt Protokoll 37

    Q

    Qualität 8

    Qualitätsverlust 11

    Queries 69

    Query/Retrieve 68, 131

    Quicksort 76

    R

    Radiologen 23

    Radiologie 7, 101

    Redundanz 6

    Results Storage Application 59

    Retired 22

    Retrieve 71

    RIS 5

    Rogan 95

    RRNZ 114

    RSNA 21, 52, 118

    S

    Scannen 11

    Schnittstellen 6, 11

    SCP 34

    SCU 34

    Second Generation 113

    Secondary Capture 35

    Send_image 59

    Sequentialisierung 73

    Service 131, 132

    Service Object Pairs 33

    Serviceclass 110

    Serviceclass Provider 34

    Serviceclass User 34

    Servicegruppe 33

    Serviceklasse 32, 33, 45

    SGI Workstations 52

    Sicherheitsaspekte 13, 88

    Sicherheitskonzept 13, 91

    Siemens 19, 95

    Silicon Graphics 52

    Simple_storage 59

    Software Engineering 60

    Somatom 19

    SOP 132

    SOP Klassen 33, 81

    Sortierung 74

    Source Code 62

    SPECT 132

    Speicherkonzepte 40

    Spezialisierungen 88

    SPI 19, 20, 132

    SQL 72, 132

    SRV 58

    St. Louis 21

    Stack 132

    Stand alone Programm 53

    Standalone Programm 69

    Standard 17

    Steinbeis-Transferzentrum 38, 55

    Sterling 95

    Store 77

    Strukturiertes Reporting 100

    Study Root 65, 69, 94, 132

    Supplement 132

    Supplement Status 117

    Swansea 94

    Synchronisierungsbefehle 92

    Szenario 97

    T

    Tag 20, 28

    Attribute 125

    Task 63

    Taskleiste 63

    Tcl 113

    TCP 38

    TCP/IP 37, 38, 133

    Telekonferenz 98

    Teleradiologie 1, 11

    Teleradiologiestation 11

    Teleradiologiesystem 60, 91

    Terminologie 25

    Tk 113

    Transfersyntax 36, 40, 133

    TU Berlin 95

    U

    Überblick 3

    Übersicht 1

    UC Davis 51, 120

    UID 35

    Uni Oldenburg 52

    Uniklinik 5

    Unique Identifyer 35

    UNIX 111

    Update 25

    Usenet 120, 133

    V

    Value Field 133

    Value Representation 29, 133

    Verbindungsanfragen 83

    Verbindungsannahme 85

    Verbindungsaufbau 40, 83

    Verify 15

    Verschlüsselung 45

    Versionsmanagement 61

    Verzeichnisformat 42

    Viewing Station 10

    VM 133

    Vorteile 91

    Vorwort iii

    VR 133

    W

    Wartbarkeit 60

    Wechselplatte 18

    Wegwerfcode 60

    Wildcard 79

    Windows NT 55, 99

    Wissen 91

    Worklist Management 9, 13, 99, 133

    Worklist Management Application 59

    WWW 103, 105, 117, 133

    Z

    Ziel 5, 14

    Zugriff 9

    Zukunft 97, 102

    Zusammenfassung 101