Authors James F Philbin Co-Director Center for Biomedical & Imaging Informatics Department of Radiology Johns Hopkins School of Medicine Johns Hopkins University 5801 Smith Ave Baltimore, MD 21209 James.philbin@jhmi.edu +1 (410) 735-6333 Tim Dawson Chief Architect Vital Images, Inc. 5850 Opus Parkway, Suite 300 Minnetonka, MN 55343 tdawson@vitalimages.com +1 (952) 487-9656 Timothy Culp Chief Software Architect Harris Healthcare Solutions 1450 S Babcock Street Melbourne, FL 32901 timothy.culp@harris.com 321-914-1315 Jonathan Whitby Product Analyst Vital Images, Inc. 5850 Opus Parkway, Suite 300 Minnetonka, MN 55343 jwhitby@vitalimages.com +1 (952) 487-9736 RESTful Web Services in DICOM Introduction This talk will give an overview and update on RESTful Web Services1 for DICOM. It will include how to use WADO-RS to retrieve, STOW-RS to store and QIDO-RS to query studies, series or instances. RESTful services are based on HTTP 1.1 the primary transport protocol used by the Web. These services may be particularly interesting for countries where most of the infrastructure is based on the Internet. They are also useful for cross-enterprise access to medical images because HTTP can traverse firewalls. REST stands for Representational State Transfer which was developed by Roy Fielding, who was one of the principle authors of the HTTP specification. Fielding describes REST's effect on scalability thus: REST's client–server separation of concerns simplifies component implementation, reduces the complexity … thus allowing them to assist in communication translation or improve performance via large-scale, shared caching. REST lets intermediate processing by constraining messages to be self-descriptive: interaction is stateless between requests, standard methods and media types are used to indicate semantics and exchange information, and responses explicitly indicate cacheability.2 RESTful services follow certain principles including 1) addressable resources using URIs, 2) uniform constrained interface, i.e. HTTP, 3) stateless transactions, 4) negotiated representations and 5) Hypermedia, i.e. resources with content that refers to other resources. While there is still active debate over the merits of WS* (SOAP style Web services) versus RESTful web services, the authors believe that RESTful services are much simpler to implement and allow the utilization of significantly more standard 1 At the time this abstract was written WADO-RS was expected to go to letter ballot in December 2012. WADO-RS and QIDO-RS are in early draft forms and are expected to go out for public comment in 2013. 2 Fielding, Roy Thomas (2000), Architectural Styles and the Design of Network-based Software Architectures, Doctoral dissertation, University of California, Irvine Web machinery such as Web servers, proxies, reverse proxies caches, etc. RESTful Web services also enable simple access to DICOM for browser based applications. DICOM RESTful Services DICOM Work Group 27 has been working on several Work Items that allow DICOM to be transmitted using RESTful services including: Web Access to DICOM Objects using RESTful Services (WADO-RS); Store Over the Web (STOW-RS); and Query based on ID for DICOM Objects (QIDO-RS). These services are being designed so that they present a unified whole with the same or similar concepts, syntaxes and response types. WADO-RS: provides a RESTful interface that enables the retrieval of DICOM (whole studies, entire series or individual instances) by URL. It also allows the retrieval of the complete metadata for a study in one message with or without the bulk data and it allows pixel data to be retrieved in bulk regardless of whether the original study used multi-frame or multiple single-frame instances. An example use of WADO-RS is for a browser based viewing application that 1) retrieves the metadata for a study, in one message, in order to determine the hanging protocol for that study, then 2) based on the hanging protocol retrieve only the images necessary to fill the initial display, and finally 3) to retrieve the remaining images by series. STOW-RS: Provides a RESTful interface enabling DICOM objects to be uploaded to a server. It can be used to store new studies, append new series or instances to an existing study or upload individual instances. It is hoped that STOW will eventually allow DICOM objects to be updated or replaced on a server. It may also eventually allow users with appropriate credentials to delete studies, series, or instances for quality control purposes. QIDO-RS: Provide a RESTful query retrieve service similar to C-Find. It enables looking up DICOM objects based on attributes and to return additional attributes with the search results. Some of the uses of QIDO-RS are 1) basic study search (patient, date range, type, and description), 2) locating relevant priors and 3) identifying new studies received. Formats The RESTful services allow DICOM data to be return in several different formats. These formats include: 1) One or more DICOM objects at a time, 2) DICOM metadata encoded as DICOM XML, i.e. part 3.19 of the DICOM standard and 3) bulk data, i.e. pixel and other large values encoded as multi-part MIME. This talk will use common use-cases to give examples of RESTful Web Services in action.