applying rest to dicom
DESCRIPTION
Applying REST to DICOM. Chris Hafey Feb 23, 2011. Introduction. Three Types of Web Services RPC Based (WS*) REST REST/RPC Hybrid Pure REST is a great fit for DICOM Simple Wide technology support Many DICOM use cases are CRUDish. Resource Oriented Architecture. Resources URIs - PowerPoint PPT PresentationTRANSCRIPT
Applying REST to DICOM
Chris HafeyFeb 23, 2011
Introduction
• Three Types of Web Services– RPC Based (WS*)– REST– REST/RPC Hybrid
• Pure REST is a great fit for DICOM– Simple– Wide technology support– Many DICOM use cases are CRUDish
Resource Oriented Architecture
• Resources• URIs• Addressability• Statelessness• Representations• Links and Connectedness• Uniform Interface
Resources• Entities
– DICOM Modules• Patient• Study
– UID Based• Study, Series, Instance
– Internals• Image Frame
• Algorithms– Render Image– Search
• Complex Transactions– Merge Studies
URIs• Entites
– Use path to specify where an entity is– E.g – A study
• http://server/study/1.2.3.4.5
• Algorithms– Use Path to specify which algorithm/entity to run– Pass algorithm parameters via http query parameters– E.g. – render a sop instance as a JPEG with a specific window center/window width
• http://server/study/1.2.3.4.5/series/1.2.3/instance/1.2.3?windowWidth=400&windowCenter=40
• Transactions– Use path to specify transactions– The transaction resource can point to other entities that will be affected
Addressability
• Expose interesting aspects of its data set as resources– Allows data to be used in ways not originally
anticipated– E.g. exposing individual DICOM Modules to be
independently accessed
Statelessness
• Each HTTP Request happens in complete isolation– No “session”– Simplifies error conditions– Can send the same web request multiple times
without side effects
Representations
• Leverage MIME Types– Application/XML– Application/JSON– Application/DICOM– Image/JPEG– Image/PNG
• A resource can be returned in multiple representations
Links and Connectedness
• Use HREF to link between resources
• DICOM Examples– Patient to Study– Study to Series– Series to Instance– Presentation State to Image– Structured report to Image
Uniform Interface
HTTP Method Purpose RDBMS Analog
GET Retrieve Select
PUT Update Update
POST Create Insert
DELETE Delete Delete
Reference Books
• RESTful Web Services– Leonard Richardson & Sam Ruby
• RESTful Web Services Cookbook– Subbu Allamaraju
• REST in Practice– Ian Robinson, Jim Webber, and Savas Parastatidis