gms | German Medical Science

53. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie e. V. (GMDS)

Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie

15. bis 18.09.2008, Stuttgart

Vereinfachung von DICOM-Querys durch eine domänenspezifische Abfragesprache

Meeting Abstract

  • Stefan Kraus - Fachhochschule Regensburg, Regensburg, Deutschland
  • Wolfgang Wiedermann - Klinikum der Universität Regensburg, Regensburg, Deutschland
  • Athanassios Tsakpinis - Kompetenzzentrum für Softwareengineering, Fachhochschule Regensburg, Regensburg, Deutschland
  • Christian Wolff - Professur für Medieninformatik, Universität Regensburg, Regensburg, Deutschland

Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie. 53. Jahrestagung der Deutschen Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie (gmds). Stuttgart, 15.-19.09.2008. Düsseldorf: German Medical Science GMS Publishing House; 2008. DocMI19-2

The electronic version of this article is the complete one and can be found online at: http://www.egms.de/en/meetings/gmds2008/08gmds201.shtml

Published: September 10, 2008

© 2008 Kraus et al.
This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.en). You are free: to Share – to copy, distribute and transmit the work, provided the original author and source are credited.


Outline

Text

Einleitung und Fragestellung

Im Rahmen der Entwicklung eines Portalsystems am Klinikum der Universität Regensburg zeigte sich, dass die Verwendung von herkömmlichen DICOM-APIs (z.B. DCM4CHE http://www.dcm4che.org/, JDCM http://www.geocities.com/gigiobb/index.html, DCMTK http://dicom.offis.de/dcmtk.php.de) in der Software-Entwicklung suboptimal ist: Die Entwicklungszeit ist relativ hoch und der dabei entstehende Code ist unnötig lang und schwer lesbar. Die Erstellung oder Anpassung einer auf der Query/Retrieve and Storage Service Class aufbauenden Abfrage dauert verglichen mit dem Zeitaufwand der Erstellung oder Anpassung einer äquivalenten SQL-Query deutlich zu lang.

Diese Feststellung hat zur Entwicklung der DICOM Query Language (DQL) geführt. DQL ist eine domänenspezifische Abfragesprache für Bildarchive. Sie ist als zusätzliche Abstraktionsschicht über ein DICOM API realisiert. Ihre Syntax orientiert sich stark an der etablierten Datenbanksprache SQL (Structured Query Language).

Material und Methoden

Der DICOM-Standard, (Digital Imaging and Communication in Medicine), bietet mit seiner Query/Retrieve and Storage Service Class eine genormte Funktionalität für die Archivierung von digitalen medizinischen Medien [1]. Dabei implementieren sog. PACS (Picture Archiving and Communication Systems) die DICOM-Dienste über ein eigenes Netzwerkprotokoll, das auf das OSI-Schichtenmodell [2] mit seiner Umsetzung durch den TCP/IP-Stack aufsetzt [3].

Aufgrund der weiten Verbreitung und Standardisierung ist SQL bereits häufig für die Entwicklung spezifischer Abfragesprachen herangezogen worden (z.B. die Object Query Language (OQL) im Bereich der objektorientierten Datenbanken oder XQuery für die Abfrage XML-basierter Daten). Insofern liegt es nahe, die z.B. im Rahmen der Entwicklung eines medizinischen Portalsystems erforderliche Abfragefunktionalität für den Zugriff auf Bildarchive als SQL-Variante zu realisieren: Die Bildabfragesprache DQL kapselt den benötigten DICOM-Teil in einem Application Programming Interface (API).

Die Sprache DQL bietet eine flexible Infrastruktur, die von der reinen Kommunikation mittels Protocol Data Units [4], über eine Schicht zum logischen Auf- und Abbau einer Verbindung (sog. Association) bis hin zur Implementierung von Clients und Server kompletter Service Classes reicht, so dass dem Programmierer ein nur minimales Wissen über DICOM abverlangt wird.

Im Hinblick auf die konkrete Aufgabenstellung dieser Portallösung, mehrere Bildarchive in das Portal des Universitätsklinikums Regensburg zu integrieren, kann DQL die Komplexität von DICOM vor dem Entwickler sogar ganz verbergen.

DQL bietet die Möglichkeit, auf Teilmengen der Metadaten archivierter Entitäten mit Hilfe des Einsatzes des DIMSE Services C-Find zuzugreifen. Die Abfrage dafür besteht aus einer obligatorischen Liste von Feldern, die direkt oder aggregiert Data Element Tags (eindeutige Identifikation eines Metadatums) des DICOM Data Dictionary zugeordnet werden können und weiteren optionalen Klauseln, wie z. B. einer where- oder order-by-Klausel. Das Resultat einer solchen Abfrage ist eine Tabelle, deren Spalten den Feldern entsprechen.

Beispiel:

Select Patient.Id, Patient.PreName, Patient.SurName
Where Patient.PreName = ’Hans’

Mit C-Move lassen sich ganze Objekte - meist Bilder mit Metadaten - übertragen. Eine Abfrage dieser Art besitzt einen ganz ähnlichen Aufbau. Der Unterschied liegt im Wegfall der Liste mit den Feldnamen, da hier komplette Objekte transferiert werden. Das Format der Objekte kann durch eine zusätzliche Klausel angegeben werden. Dabei kommen das DICOM-Dateiformat oder andere gebräuchlichere Bildformate wie JPEG oder PNG in Frage.

Beispiel:

Select Image as Dicom Where Series.UID = ’0.0.*’

Für DQL wurde eine Referenzimplementierung eines Interpreters geschaffen. Sie baut auf einem mit dem Open Source Werkzeug ANTLR (http://www.antlr.org, [5]) generierten Parser auf. Die DQL-Abfragen werden in Aufrufe des APIs übersetzt, die die Kommunikation mit dem PACS abwickeln. Der so entstandene Dienst steht innerhalb des Kliniknetzes auch als Webservice (WS) zur Verfügung. Durch die Verwendung von WS-Security [6] wird den hohen Anforderungen des medizinischen Datenschutzes im Krankenhausbereich Rechnung getragen.

Verwandte Konzepte

Die in dieser Arbeit favorisierte Kapselung der DICOM-Services für das Retrieval der Daten ist eine Abfragesprache, die einerseits durch ihre Orientierung an SQL leicht zu erlernen ist und andererseits dem Entwickler den nötigen Freiraum für die Gestaltung der Abfragen einräumt. Eine solche domänenspezifische Sprache (Domain Specific Language, DSL) oder auch die Verwendung bereits bestehender und weit verbreiteter Sprachen (z.B. SQL) ist in der aktuellen Fassung des DICOM Standards nicht vorgesehen, obwohl diesbezüglich bereits verschiedene Vorschläge unterbreitet wurden [7].

Um die Komplexität von DICOM abzumildern, wurden in einigen Projekten deshalb Lösungen geschaffen, die Bild- und Metadaten von DICOM Objekten einlesen und in relationalen Datenbanken speichern [8], so dass darauf mit SQL zugegriffen werden kann. Damit ist allerdings der Nachteil einer redundanten Datenspeicherung verbunden.

In einem weiteren Ansatz wird einem DICOM-Archiv ein Webserver vorgeschaltet [9], der es ermöglicht, Bild- und Metadaten via HTTP abzurufen. Die URL identifiziert dabei eine DICOM-Entität. Nachteile dieses Ansatzes sind ein erhöhter Aufwand für Remote-Kommunikation und das Fehlen einer vereinfachten Abfragesyntax.

Ergebnisse

DQL wird derzeit produktiv im Portalsystem des Klinikums der Universität Regensburg eingesetzt. Als erste Bildquelle wurde das PACS der Kardiologie (Herzkatheterfilme) eingebunden. Dabei erwies sich DQL als gut handhabbar: Die Einbindung von Bildarchiven in DICOM, oder PNG Format erfolgt schnell und problemlos. Besonders bei Entwicklern ohne spezifische Kenntnisse im Bereich der Medizininformatik zeigt DQL ihre Stärken gegenüber klassischen DICOM APIs. Dies betrifft sowohl die Entwicklungsgeschwindigkeit, als auch die Codequalität.

Durch die Verwendung einer Webservice-Schnittstelle kann die Abfragesprache in zukünftigen Entwicklungsprojekten programmiersprachenunabhängig verwendet werden. Außerdem erzwingt die Verwendung von WS-Security eine Authentifizierung und verbessert so die Sicherheit.


Literatur

1.
Mildenberger P, Eichelberg M, Martin E. Introduction to the DICOM standard, 2001.
2.
ISO7498-1 1994: ISO/IEC, ISO/IEC 7498-1 Information technology - Open Systems Interconnection, 1994.
3.
Parisot C. The DICOM standard - A breakthrough for digital information exchange in cardiology, 1995.
4.
DICOM Standards Committee. DICOM Part 8: Network Communication Support for Message Exchange, 2007.
5.
Parr T. The Definitive ANTLR Reference, 2007.
6.
OASIS.Web Services Security: SOAP Message Security 1.1 (WS-Security 2004), 2006.
7.
Fred Prior. Database Access Methods for Medical Imaging: DICOM, SQL and HTML, 1996.
8.
Agostinho R, Pereira M. Freire M, Advanced Querying Architecture for DICOM Systems, 2007.
9.
Khludov S, Vorwerk L, Meinel C. Internet-orientated medical information system for DICOM-Data transfer, visualization and revision, 2000.
10.
Mildenberger P, Wein B, et al. Aktuelle Entwicklungen von DICOM und IHE. Der Radiologe 8, 2005, S. 682-9.
11.
Boehm T, et al. Evaluation of radiological workstations and web-browser-based image distribution clients for a PACS project in hands-on workshops. Eur Radiol, 2004, 14:908–14.