This chapter introduces InterSystems support for DICOM.
Introduction to DICOM
Digital Imaging and Communications in Medicine (DICOM) is a global information technology standard used in most hospitals worldwide. It is designed to ensure the interoperability of systems used to produce, store, display, process, send, retrieve, query, or print medical images and derived structured documents as well as to manage related workflow.
The DICOM standard is a product of the DICOM Standards Committee and its many international working groups. It is managed by the Medical Imaging & Technology Alliance, a division of the National Electrical Manufacturers Association (NEMA). For more information visit the organization’s web site at http://dicom.nema.org/.
InterSystems Support for DICOM
InterSystems supports DICOM documents as virtual documents. A virtual document is a kind of message that InterSystems IRIS for Health™ and HealthShare® Health Connect parses only partially. This kind of message has the standard production message header and the standard message properties such as ID, Priority, and SessionId. The data in the message, however, is not available as message properties; instead it is stored directly in an internal-use global, for greater processing speed. For background information, see Using Virtual Documents in Productions.
InterSystems products provides specialized classes for use with DICOM communications. You can use these classes to add the following elements to a production:
|Business services||InterSystems provides a couple of business service classes for DICOM, each with a specialized adapter.|
|Business processes||InterSystems provides a couple of sample business processes, shown in the sample productions, which are introduced later in this chapter.|
|Business operations||InterSystems provides one business operation class for DICOM, with a specialized adapter.|
|Message class||InterSystems provides a specialized message class for carrying DICOM documents as virtual documents. DICOM messages differ from other production messages in that the DICOM adapter is bidirectional and operates asynchronously.|
InterSystems provides a bidirectional DICOM adapter to allow your production to send and receive DICOM messages and route them to and from devices that understand the DICOM protocol. InterSystems also provides a maintenance facility for defining the mechanism (DICOM associations) critical to communicating with DICOM devices; see the chapter “Creating DICOM Associations.”
The InterSystems implementation includes the ability to receive a message containing a DICOM-tagged image over TCP transport, to dissect that document and retrieve the tagged data items, and then to send that message to a DICOM recipient, again via TCP.
A DICOM message is a well defined entity which includes a metadata command set as well as the physical data set (which may or may not contain image data). To handle this type of messaging, InterSystems includes a specialized business host that has characteristics of both a business service and a business operation; it can send and receive messages in both directions.
The DICOM adapter is a gateway into the InterSystems production, allowing DICOM data to be on an equal footing with HL7 and other supported standard data formats. You can route and edit messages using Get(), Set(), and GetNext() methods on values positionally in a message or by name. You can use ObjectScript in a business process to route messages. You can route, modify, and build DICOM messages using classes. There are, however, some significant differences with DICOM messages because of the following limitations:
InterSystems does not support a graphical detail editor like the one for HL7.
InterSystems IRIS for Health and HealthShare Health Connect arenot DICOM viewers; it contains no means of seeing images.
The bidirectional nature of DICOM means you cannot write business processes using BPL; you must create a custom business process using ObjectScript.
Actual DICOM data is not stored in an InterSystems database, but is stored as an external file stream to reduce journaling overhead and prevent inflating the database with many large files.
The DICOM adapter uses TCP to talk to modalities and systems (a PACS, for example), but InterSystems products can also open DICOM format files and treat them as DICOM messages using the EnsLib.DICOM.File class. InterSystems provides a file service in a demonstration production expressly for that purpose. The file service does not require an association because there is no communication with an originating entity via the DICOM protocol.
Sample productions will be provided on github. InterSystems is testing these samples and this document will have links to the github repository. The following chapters describe each of these productions:
DICOM Modality Worklist Production — preparing the information to preload patient and scheduling data into a modality, an x-ray machine for example.
DICOM Routing to Storage Production — routing messages containing images to the proper end point, a PACS system for example.