james f philbin, phd johns hopkins university

52
THE DICOM 2013 INTERNATIONAL CONFERENCE & SEMINAR March 14-16 Bangalore, India Image Access Everywhere DICOM Web Services also go to PPT tab “Insert” > “Header & Footer” to insert title and name of presenter James F Philbin, PhD Johns Hopkins University Co-Director, Center for Biomedical & Imaging Informatics Baltimore, Maryland, USA Co-Chair WG-27; Member WG-06 Co-Authors: Tim Culp, Tim Dawson, Jonathan Whitby

Upload: gianna

Post on 24-Feb-2016

84 views

Category:

Documents


0 download

DESCRIPTION

Image Access Everywhere DICOM Web Services also go to PPT tab “Insert” > “Header & Footer” to insert title and name of presenter. James F Philbin, PhD Johns Hopkins University Co-Director, Center for Biomedical & Imaging Informatics Baltimore, Maryland, USA Co-Chair WG-27; Member WG-06 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: James F Philbin, PhD Johns Hopkins University

THE DICOM 2013 INTERNATIONALCONFERENCE & SEMINARMarch 14-16 Bangalore, India

Image Access EverywhereDICOM Web Services

also go to PPT tab “Insert” > “Header & Footer” to insert title and name of presenter

James F Philbin, PhDJohns Hopkins UniversityCo-Director, Center for Biomedical & Imaging InformaticsBaltimore, Maryland, USA

Co-Chair WG-27; Member WG-06Co-Authors: Tim Culp, Tim Dawson, Jonathan Whitby

Page 2: James F Philbin, PhD Johns Hopkins University

Image Access Everywhere

Introduction Web Access for DICOM Objects

• WADO-URI• WADO-WS• WADO-RS

STore Over the Web Query by IDs for DICOM Objects Putting it all together

14 March 2013 Image Access Everywhere, James Philbin, PhD 2

Page 3: James F Philbin, PhD Johns Hopkins University

Why Do We Use DICOM?

A good standard that continues to evolve Rich, Structured Information Model Compact representation Language independent Widely supported

14 March 2013 Image Access Everywhere, James Philbin, PhD 3

Page 4: James F Philbin, PhD Johns Hopkins University

4

WADO Origin: Proposal to DICOM & ISO in 1999

Because no specific Ad Hoc Group on Biomedical Imaging will be set up in ISO / TC215, new works on medical imaging must be done in DICOM (with a Category A Liaison Group between both)

More and more it will be important that DICOM makes recommendations on the medical imaging aspects within non «pure» DICOM protocols

DICOM «world» DICOM «world»non DICOM world

DICOM «object»

DICOM WG10 NEMA Vienna

- March 20, 1999 -

*Courtesy of Emmanuel Cordonnier

Page 5: James F Philbin, PhD Johns Hopkins University

A Brief History

WADO(-URI)1999 - 2003

• IHE XDS-I.a WADO-WS

2008-2011

• IHE XDS-I.b

MINT2010 – 2011 v1.02011 – 2013 V2.0

WADO-RS2011 - 2013

STOW-RS2011 – in progress

QIDO-RS2012 – in progress

14 March 2013 Image Access Everywhere, James Philbin, PhD 5

Page 6: James F Philbin, PhD Johns Hopkins University

Web Access for (Persistent) DICOM Objects

WADO

14 March 2013 Image Access Everywhere, James Philbin, PhD 6

Page 7: James F Philbin, PhD Johns Hopkins University

Web Services

WADO: Web Access to DICOM (persistent) Objects1. WADO-URI

HTTP Universal Resource Identifier w/ parameters

2. WADO-WSSOAP & WS-* family of specifications

3. WADO-RSRESTful services

14 March 2013 Image Access Everywhere, James Philbin, PhD 7

Page 8: James F Philbin, PhD Johns Hopkins University

WADO-URIWADO Using

Universal Resource Identifiers

14 March 2013 Image Access Everywhere, James Philbin, PhD 8

Page 9: James F Philbin, PhD Johns Hopkins University

WADO-URI

• HTTP Universal Resource Identifier• Parameters• Supports DICOM & Rendered images• Used in XDS-I.a (deprecated)• GET one image at a time

14 March 2013 Image Access Everywhere, James Philbin, PhD 9

Page 10: James F Philbin, PhD Johns Hopkins University

10

Syntax of the WADO HTTP GET method

Syntax defined by the RFC2396 (URI) http://<authority><path>?<query> e.g:

• http://www.hosp.fr/dicom/wado.asp?studyUID=1…

The « Web Access to DICOM Persistent Object » standard defines only the <query>

Path of the Web Enabled DICOM Server WADO Parameter(s)

Page 11: James F Philbin, PhD Johns Hopkins University

WADO-URI Use Cases

Embedding images in reports or other documents by URL

Browser based viewing of DICOM images for clinical use (one image at a time)

14 March 2013 Image Access Everywhere, James Philbin, PhD 11

Page 12: James F Philbin, PhD Johns Hopkins University

WADO-WSWADO Using WS-* Services

14 March 2013 Image Access Everywhere, James Philbin, PhD 12

Page 13: James F Philbin, PhD Johns Hopkins University

WADO-WS

• SOAP + WS-* (Only HTTP POST)• Support DICOM & Rendered images Retrieve DICOM objects (studies, series,

instances) referenced by an XDS-I Imaging Document Set

Retrieve metadata (XML) for specified instances Either DICOM or Rendered objects Filtered metadata using XPath parameter

14 March 2013 Image Access Everywhere, James Philbin, PhD 13

Page 14: James F Philbin, PhD Johns Hopkins University

What is SOAP?Simple Object Access Protocol

Invented by Microsoft in 1998 RPC for Client / Server Any transport protocol

e.g. HTTP, SMTP, TCP, JMS

XML based messages WSDL: Web Services Description Language WS-*: WS-Addressing, WS-Policy, WS-Security, WS-Federation,

WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction, WS-RemotePortlets…

14 March 2013 Image Access Everywhere, James Philbin, PhD 14

Page 15: James F Philbin, PhD Johns Hopkins University

SOAP

Structured XML SOAP envelope

14 March 2013 Image Access Everywhere, James Philbin, PhD 15

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <!-- Header information here --> </env:Header> <env:Body> <!-- Body or "Payload" here, Fault if error --> </env:Body></env:Envelope>

Page 16: James F Philbin, PhD Johns Hopkins University

WADO-WS Use Cases

Accessing images and reports from another clinical application such as an EMR

Embedding images in reports or other documents by URL

Providing access to anonymized DICOM images for research and teaching.

Providing access to images & reports for remote diagnostic workflows using the Web.

14 March 2013 Image Access Everywhere, James Philbin, PhD 16

Page 17: James F Philbin, PhD Johns Hopkins University

WADO-RSWADO Using RESTful Services

14 March 2013 Image Access Everywhere, James Philbin, PhD 17

Page 18: James F Philbin, PhD Johns Hopkins University

What is REST?

Representational State Transfer1

RESTful services follow certain principles• Addressable Resources (URI) • Uniform, Constrained Interface (HTTP)• Representation oriented (content negotiation)• Stateless• Hypermedia*

14 March 2013 Image Access Everywhere, James Philbin, PhD 18

1. Coined by Roy Fielding, one of the principal authors of the HTTP, in his PhD thesis.

Page 19: James F Philbin, PhD Johns Hopkins University

SOAP vs. REST

SOAP Structured XML SOAP

envelope

REST Supports hypermedia,

multiple MIME types

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"> <env:Header> <!-- Header information here --> </env:Header> <env:Body> <!-- Body or "Payload" here, Fault if error --> </env:Body></env:Envelope>

14 March 2013 Image Access Everywhere, James Philbin, PhD 19

Page 20: James F Philbin, PhD Johns Hopkins University

SOAP vs. REST

SOAP Structured XML SOAP

envelope WSDL Transport agnostic Exception/fault in payload Steep learning curve, tools

required Heavy weight; requires

significant client and server logic

REST Supports hypermedia,

multiple MIME types Manual documentation HTTP specific HTTP error codes Easy to develop, no tools

required Lightweight; accessible via

JavaScript and the simplest web frameworks

14 March 2013 Image Access Everywhere, James Philbin, PhD 20

Page 21: James F Philbin, PhD Johns Hopkins University

WADO-RS

Just HTTP 1.1 with Resources, http:{service}/studies/{UID}

Multiple objects per study No support for rendered images Metadata can be retrieved separately Headers specify transfer syntax & encodings:

• DICOM Binary Instances• XML Metadata• Pixel data for Instances or Frames

14 March 2013 Image Access Everywhere, James Philbin, PhD 21

Page 22: James F Philbin, PhD Johns Hopkins University

WADO-RS Formats

A set of one or more DICOM objects at a time An XML metadata A set of bulk data as a multi-part response

Coming soon?... Normalized metadata

14 March 2013 Image Access Everywhere, James Philbin, PhD 22

Page 23: James F Philbin, PhD Johns Hopkins University

WADO-RS API

Name Operator Resource

RetrieveStudy GET /studies/{StudyInstanceUID}

RetrieveSeries GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}

RetrieveInstance GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}

RetrieveFrames GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames/{FrameList}

RetrieveBulkData GET {BulkDataURL}

RetrieveMetadata GET /studies/{StudyInstanceUID}/metadata

All API are prefixed by {SERVICE}/studies, e.g. http://10.0.0.10:8001/studies, or http://somehost/archive/studies

14 March 2013 Image Access Everywhere, James Philbin, PhD 23

Page 24: James F Philbin, PhD Johns Hopkins University

WADO-RS Response

The response format depends on the Accept header of the request Accept: multipart/related; type=image/dicom+xml

Specifies that the response should be DICOM XML metadata

Accept: multipart/related; type=application/dicom Specifies that the response should be DICOM Instances encoded in PS3.10 format.

Accept: multipart/related; type=application/octet-streamSpecifies that the response can include uncompressed bulk or pixel data.

Accept: multipart/related; type=image/*Specifies that the response can include be compressed pixel data.

Accept: multipart/related; type=video/*Specifies that the response can include video-encoded pixel data.

14 March 2013 Image Access Everywhere, James Philbin, PhD 24

Page 25: James F Philbin, PhD Johns Hopkins University

WADO-RS Use Cases

Retrieve DICOM (whole studies, entire series, or instances) by UID

Retrieve metadata (whole studies, entire series or instances) in one set

Retrieve pixel and other bulk data in one message regardless of whether the original study used multi-frame or multiple single-frame instances

14 March 2013 Image Access Everywhere, James Philbin, PhD 25

Page 26: James F Philbin, PhD Johns Hopkins University

STOW-RS

14 March 2013 Image Access Everywhere, James Philbin, PhD 26

Page 27: James F Philbin, PhD Johns Hopkins University

STOW-RS Capabilities

Upload DICOM objects to the server (whole studies, append series / individual instances)

Update/replace existing DICOM objects on server

14 March 2013 Image Access Everywhere, James Philbin, PhD 27

Page 28: James F Philbin, PhD Johns Hopkins University

STOW API

Name Operator Resource

StoreInstances POST /studies/studies/{StudyInstanceUID}

All API are prefixed by {SERVICE}/studies, e.g.http://10.0.0.10:8001/studies, or http://somehost/archive/studies

14 March 2013 Image Access Everywhere, James Philbin, PhD 28

Page 29: James F Philbin, PhD Johns Hopkins University

STOW Formats

application/dicomSpecifies that the post is DICOM

application/dicom+xmlSpecifies that the post is WADO XML metadata and bulk data

14 March 2013 Image Access Everywhere, James Philbin, PhD 29

Page 30: James F Philbin, PhD Johns Hopkins University

STOW Use Cases

Viewer adding measurements, GSPS, etc. DICOM routers from modalities to PACS, VNA Securely push studies from outside firewall

(e.g. between institutions) Web based QC tools (STOW.v2)

14 March 2013 Image Access Everywhere, James Philbin, PhD 30

Page 31: James F Philbin, PhD Johns Hopkins University

QIDO-RSQuery by IDs for DICOM Objects

14 March 2013 Image Access Everywhere, James Philbin, PhD 31

Page 32: James F Philbin, PhD Johns Hopkins University

QIDO Capabilities

Look up DICOM objects based on any meta-data, to get additional meta-data and UIDs

Pagination – search with offset & limit

14 March 2013 Image Access Everywhere, James Philbin, PhD 32

Page 33: James F Philbin, PhD Johns Hopkins University

QIDO API

Name Operator Resource

SearchForStudy GET /studies

SearchForSeries GET /studies/{StudyInstanceUID}/series

SearchForInstance GET /studies/{StudyInstanceUID}/instances

/studies/{StudyInstanceUID}/series/{SeriesInstanceUID} /instances

All API are prefixed by {SERVICE}/studies, e.g.http://10.0.0.10:8001/studies, or http://somehost/archive/studies

14 March 2013 Image Access Everywhere, James Philbin, PhD 33

Page 34: James F Philbin, PhD Johns Hopkins University

QIDO Request Parameters

{dicomAttribute} = {keyValue} includefield = {dicomAttribute} {dicomAttribute} can be a Tag or Key Word as defined

in DICOM PS3.6 or a sequence of the form {dicomSequenceAttribute}.{dicomAttribute}

Parameters can be included 0-n times limit = {maxResults} offset = {num of results to skip}

14 March 2013 Image Access Everywhere, James Philbin, PhD 34

Page 35: James F Philbin, PhD Johns Hopkins University

QIDO Use Cases

Basic study search (patient, date range, type, description)

Locate and filter for relevant priors Identify any new studies received

14 March 2013 Image Access Everywhere, James Philbin, PhD 35

Page 36: James F Philbin, PhD Johns Hopkins University

Putting It All Together

14 March 2013 Image Access Everywhere, James Philbin, PhD 36

Page 37: James F Philbin, PhD Johns Hopkins University

Putting it together…

Simple URL-based search using QIDO Parse XML or JSON response Launch zero footprint viewer for selected study Download metadata and subset of images Download rest of study in background Upload new evidence / artifacts Upload entire studies

14 March 2013 Image Access Everywhere, James Philbin, PhD 37

Page 38: James F Philbin, PhD Johns Hopkins University

Use Case – Thin Clients

QIDOWADOSTOW

Web Client

Mobile App

Windows App

PACSProxy

C-FIND

C-MOVE

C-STORE

14 March 2013 Image Access Everywhere, James Philbin, PhD 38

Page 39: James F Philbin, PhD Johns Hopkins University

Site 2

Site 1

Use Case – Remote Access

QIDOWADOSTOW

Client

PACSProxy

C-FIND

C-MOVE

C-STORE

QIDOWADOSTOW

Proxy

14 March 2013 Image Access Everywhere, James Philbin, PhD 39

Page 40: James F Philbin, PhD Johns Hopkins University

Use Case – Cloud Sharing

Client

Client

QIDOWADOSTOW

Cache

Teaching FileReferring Portal

Patient Portal

14 March 2013 Image Access Everywhere, James Philbin, PhD 40

Page 41: James F Philbin, PhD Johns Hopkins University

Other Use Cases:

1. Physician referrals2. ED transfer3. Cloud Storage4. Viewer Worklist5. Integration with FHIR / HL7 RESTful services

14 March 2013 Image Access Everywhere, James Philbin, PhD 41

Page 42: James F Philbin, PhD Johns Hopkins University

Image Access Everywhere, James Philbin, PhD 43

Author Contacts

James F Philbin [email protected] Smith Ave.Baltimore, MD 21209, USA

Tim Culp [email protected]

Tim Dawson [email protected]

Jonathan Whitby [email protected]

14 March 2013

Thank you for your attention !

Page 43: James F Philbin, PhD Johns Hopkins University

Backup Slides

14 March 2013 Image Access Everywhere, James Philbin, PhD 44

Page 44: James F Philbin, PhD Johns Hopkins University

DICOM & RESTful Services

WADO-RSWeb Access to DICOM Objects by RESTful ServicesSupplement 161– Final Text

STOWSTore DICOM Over the WebSupplement 163– Public Comment

QIDOQuery Interface to DICOM ObjectsSupplement 166 – Work In Progress

NADONotification for Availability of DICOM ObjectsFuture – under discussion

Other: Normalized study level XML and JSON

Page 45: James F Philbin, PhD Johns Hopkins University

Security

DICOM doesn’t define security mechanism Typical HTTP security mechanisms

• Basic (over SSL)• Digest• Client certificate• Kerberos• Windows NT LAN Manager• IHE-IUA: Internet User Authentication for HTTP profiles Likely to be OAuth 2.0

14 March 2013 Image Access Everywhere, James Philbin, PhD 46

Page 46: James F Philbin, PhD Johns Hopkins University

WADO-RS Additional Use Cases

Study Launch1. Retrieve Metadata (one request)2. Determine images to display3. Retrieve initial image(s)4. Retrieve remaining images (e.g. by series)

14 March 2013 Image Access Everywhere, James Philbin, PhD 47

Page 47: James F Philbin, PhD Johns Hopkins University

WADO-RS API

Name Operator Resource

RetrieveStudy GET /studies/{StudyInstanceUID}

RetrieveSeries GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}

RetrieveInstance GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}

RetrieveFrames GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames/{FrameList}

/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames?calculated=…

RetrieveBulkData GET /studies/{StudyInstanceUID}/bulkdata/{BulkDataID}? offset={Offset}&length={Length}

RetrieveMetadata GET /studies/{StudyInstanceUID}/metadata

14 March 2013 Image Access Everywhere, James Philbin, PhD 48

Page 48: James F Philbin, PhD Johns Hopkins University

WADO-RS API

Name Operator Resource

RetrieveStudy GET /studies/{StudyInstanceUID}

RetrieveSeries GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}

RetrieveInstance GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}

RetrieveFrames GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames/{FrameList}

/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames?calculated=…

RetrieveBulkData GET /studies/{StudyInstanceUID}/bulkdata/{BulkDataID}? offset={Offset}&length={Length}

RetrieveMetadata GET /studies/{StudyInstanceUID}/metadata

14 March 2013 Image Access Everywhere, James Philbin, PhD 49

Page 49: James F Philbin, PhD Johns Hopkins University

WADO-RS API

Name Operator Resource

RetrieveStudy GET /studies/{StudyInstanceUID}

RetrieveSeries GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}

RetrieveInstance GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}

RetrieveFrames GET /studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames/{FrameList}

/studies/{StudyInstanceUID}/series/{SeriesInstanceUID}/ instances/{SOPInstanceUID}/frames?calculated=…

RetrieveBulkData GET /studies/{StudyInstanceUID}/bulkdata/{BulkDataID}? offset={Offset}&length={Length}

RetrieveMetadata GET /studies/{StudyInstanceUID}/metadata

14 March 2013 Image Access Everywhere, James Philbin, PhD 50

Page 50: James F Philbin, PhD Johns Hopkins University

Retrieve Types

14 March 2013 Image Access Everywhere, James Philbin, PhD 51

Study Series Instance Rendered

WADO-URI No No Yes Yes

WADO-WS Yes Yes Yes Yes

WADO-RS Yes Yes Yes No

Page 51: James F Philbin, PhD Johns Hopkins University

STOW Response

14 March 2013 Image Access Everywhere, James Philbin, PhD 52

Service Status DICOM Response Code HTTP1.1 Status Codes

STOW-RS Description

Failure Refused: Out of Resources

A7xx 503 – Busy This indicates that the STOW-RS Service was unable to store the instances because it was out of resources.

Error: Data Set does not match SOP Class

A9xx 422 – Unprocessable Entity

This indicates that the STOW-RS Service was unable to store the instances because the Data Set does not match the SOP Class.

Refused: Not Authorized

C1xx 401 - Unauthorized This indicates that the STOW-RS Service refused to create or append instances because the client is not authorized.

Failed  C1xx 403 - Forbidden This indicates that the STOW-RS Service understood the request, but is

refusing to fulfill it (e.g. an authorized user with insufficient privileges).

Error: Cannot understand

Cxxx 400 – Bad Request This indicates that the STOW-RS Service was unable to store the instances because it cannot understand certain Data Elements.

Warning Coercion of Data Elements

B000 202 – Accepted This indicates that the STOW-RS Service modified one or more data elements on reception. Image transmission is considered successful.

Data Set does not match SOP Class

B007 202 – Accepted This indicates that the STOW-RS Service encountered instances where the Data Set did not match the SOP Class. Image transmission is considered successful.

Elements Discarded

B006 202 – Accepted This indicates that the STOW-RS Service discarded some data elements. Image transmission is considered successful.

Success   0000 200 – OK This indicates that the STOW-RS Service successfully stored the instances.

  0000 201– Created This indicates that the STOW-RS Service successfully stored the instances to a new study and the response indicates the URI for the newly created study.

Page 52: James F Philbin, PhD Johns Hopkins University

QIDO Response

DICOM PS3.19 XMLone message part per matching Study / Series / Instance

JSONone message part with all matching Studies / Series / Instances

For each entry:• response must include all Study Level attributes listed as

Required for SCPs in IHE RAD TF Table 4.14-1 • response should include any attributes used as query keys if

used as matching criteria• response should include all attributes requested in includefield

parameters if possible

14 March 2013 Image Access Everywhere, James Philbin, PhD 53