DICOMweb (STOW, WADO, QIDO): Potential and implemntation sample
-
Author
irt-b-com -
Category
Technology
-
view
338 -
download
1
Embed Size (px)
Transcript of DICOMweb (STOW, WADO, QIDO): Potential and implemntation sample
-
Amandine Le Maitre
/ DICOMweb (STOW, WADO, QIDO): Potential and implementation sample /
17/03/2016
-
/ 2 17/03/2016 / 2 17/03/2016 / 2 17/03/2016 / 2 Diffusion : public 17/03/2016
DICOMweb
-
17/03/2016 / 3 17/03/2016 / 3 17/03/2016 / 3 17/03/2016 / 3 Diffusion : public
PACS in the radiology department Transfer of images from modalities to the PACS
Context
-
17/03/2016 / 4 17/03/2016 / 4 17/03/2016 / 4 17/03/2016 / 4 Diffusion : public
PACS in the radiology department Transfer of images from modalities to the PACS
Context
Radiology Modality
-
17/03/2016 / 5 17/03/2016 / 5 17/03/2016 / 5 17/03/2016 / 5 Diffusion : public
Increasing use of medical images for diagnostic and treatment in several hospital departments Distribution of the image repositories intra and inter enterprise
Context
Radiology Modality
Cardiology Digital
pathology
-
17/03/2016 / 6 17/03/2016 / 6 17/03/2016 / 6 17/03/2016 / 6 Diffusion : public
Conventional DICOM DIMSE services not adapted to this context
Complex protocol (negotiations) Not optimal for large series of instances Not adapted to web applications
static IP addresses Requires specific network application layer (not HTTP)
DICOMweb (PS3.18) answers to these issues
Context
-
17/03/2016 / 7 17/03/2016 / 7 17/03/2016 / 7 17/03/2016 / 7 Diffusion : public
RESTful services to: Search for DICOM objects
QIDO (Query based on ID for DICOM Objects) DICOM PS3.18 6.7
Store DICOM objects STOW (STore Over the Web) DICOM PS3.18 6.6
Retrieve DICOM objects WADO (Web Access to DICOM persistent Objects) DICOM PS3.18 6.5
DICOMweb
-
17/03/2016 / 8 17/03/2016 / 8 17/03/2016 / 8 17/03/2016 / 8 Diffusion : public
Service
/studies Search for all studies
/studies/{StudyUID}/series Search for all series in study
/series Search for all series
/studies/{StudyUID}/series/{seriesUID}/instances Search for all instances in series
/studies/{StudyUID}/instances Search for all instances in study
/instances Search for all instances
Search for studies, series or instances GET {service}/[?query]
QIDO Request
-
17/03/2016 / 9 17/03/2016 / 9 17/03/2016 / 9 17/03/2016 / 9 Diffusion : public
Query
{attributeID}={value} Filter according to DICOM tags (eg. PatientName=IDEFIX)
Includefield={attributeID} Include a DICOM attribute that is not in the default response
fuzzyMatching=true/false Fuzzy semantic matching of person names
limit={maximumResults} Limit the number of results
offset={skippedResults} Skip the first results
Search for studies, series or instances GET {service}/[?query]
QIDO Request
-
17/03/2016 / 10 17/03/2016 / 10 17/03/2016 / 10 17/03/2016 / 10 Diffusion : public
QIDO Response
DICOM PS3.19 XML (application/dicom+xml)
20080701 141007.000000 KLNIX2014 ONLINE CT REF NAME
-
17/03/2016 / 11 17/03/2016 / 11 17/03/2016 / 11 17/03/2016 / 11 Diffusion : public
QIDO Response
DICOM PS3.19 XML (application/dicom+xml) DICOM JSON (application/json)
[ { "00080020" : { "Value" : [ "20080701" ], "vr" : "DA" }, "00080030" : { "Value" : [ "141007.000000" ], "vr" : "TM" }, "00080050" : { "Value" : [ "KLNIX2014" ], "vr" : "SH" }, "00080056" : {
-
17/03/2016 / 12 17/03/2016 / 12 17/03/2016 / 12 17/03/2016 / 12 Diffusion : public
Service
/studies Store DICOM objects
/studies/{StudyInstanceUID} Store one specific study
POST {service}
STOW Request
-
17/03/2016 / 13 17/03/2016 / 13 17/03/2016 / 13 17/03/2016 / 13 Diffusion : public
POST {service}/studies/{StudyInstanceUID} HTTP/1.1 Content-Type: multipart/related; type=application/dicom; boundary=myBoundary --myBoundary Content-Type: application/dicom Content-ID: {SOPInstanceUID} .. Binary DICOM object .. --myBoundary Content-Type: application/dicom Content-ID: {SOPInstanceUID} .. Binary DICOM object .. --myBoundary--
POST {service} Send either
DICOM objects
STOW Request
-
17/03/2016 / 14 17/03/2016 / 14 17/03/2016 / 14 17/03/2016 / 14 Diffusion : public
POST {service}/studies/{StudyInstanceUID} HTTP/1.1 Content-Type: multipart/related; type=application/json; boundary=myBoundary --myBoundary Content-Type: application/json; transfer-syntax={TransferSyntaxUID} .. JSON metadata .. --myBoundary Content-Type: application/octet-stream Content-Location: {BulkDataURI} .. BulkData element .. --myBoundary
POST {service} Send either
DICOM objects Metadata and bulkdata separatly
STOW Request
-
17/03/2016 / 15 17/03/2016 / 15 17/03/2016 / 15 17/03/2016 / 15 Diffusion : public
Store Instances Response Module represented in XML or JSON format
STOW Response
Attribute Name tag Description
FailedSOPSequence 00081198 List of instances that could not be stored
>ReferencedSOPClassUID 00081150
>ReferencedSOPInstanceUID 00081155
>FailureReason 00081197
ReferencedSOPSequence 00081199 List of instances that were succesfully stored
>ReferencedSOPClassUID 00081150
>ReferencedSOPInstanceUID 00081155
>WarningReason 00081196
-
17/03/2016 / 16 17/03/2016 / 16 17/03/2016 / 16 17/03/2016 / 16 Diffusion : public
WADO Request
Retrieve study, series, instances, frames, bulkdata or metadata GET {service}
Service
/studies/{StudyUID} Retrieve a study
/studies/{StudyUID}/series/{seriesUID} Retrieve a series
/studies/{StudyUID}/series/{seriesUID}/instances/{instanceUID} Retrieve an instance
/studies/{StudyUID}/series/{SeriesUID}/instances/{instanceUID}/ frames/{FrameList}
Retrieve frames
{BulkDataURL} Retrieve bulkData
/studies/{StudyUID}[/series/{seriesUID}/instances/{instanceUID}]/metadata
Retrieve metadata of a study, a series or an instance
-
17/03/2016 / 17 17/03/2016 / 17 17/03/2016 / 17 17/03/2016 / 17 Diffusion : public
Content-type : multipart/related Retrieve study, series or instances
DICOM response Bulkdata response (compressed or uncompressed)
Retrieve metadata XML or JSON format
Retrieve frames Compressed or uncompressed
Retrieve bulkdata One bulkdata compressed or uncompressed
WADO Response
-
/ 18 17/03/2016 / 18 17/03/2016 / 18 17/03/2016 / 18 Diffusion : public 17/03/2016
Implementation Sample
-
17/03/2016 / 19 17/03/2016 / 19 17/03/2016 / 19 17/03/2016 / 19 Diffusion : public
Goal : implement a DICOMweb interface to any PACS Lightweight (pure JS client) Standalone Conformant to DICOMweb
bcom [Rest DICOM library]
bcom [Rest DICOM Library]
PACS
C-STORE C-FIND C-MOVE
RESTful services STOW/QIDO/WADO
DB proprietary
-
17/03/2016 / 20 17/03/2016 / 20 17/03/2016 / 20 17/03/2016 / 20 Diffusion : public
3 services : stow/qido/wado Grammar based URL parsing and validation (ABNF) Converting HTTP requests to standard DIMSE services
STOW to C-STORE QIDO to C-FIND WADO to C-MOVE
Server Module
-
17/03/2016 / 21 17/03/2016 / 21 17/03/2016 / 21 17/03/2016 / 21 Diffusion : public
Can connect to any DICOMweb compliant server Display studies present in the PACS
Client Module
-
17/03/2016 / 22 17/03/2016 / 22 17/03/2016 / 22 17/03/2016 / 22 Diffusion : public
Client Module
-
17/03/2016 / 23 17/03/2016 / 23 17/03/2016 / 23 17/03/2016 / 23 Diffusion : public
Client Module
-
17/03/2016 / 24 17/03/2016 / 24 17/03/2016 / 24 17/03/2016 / 24 Diffusion : public
Can connect to any DICOMweb compliant server Display studies present in the PACS Upload images via STOW
Compression on the fly De-identification (with encryption of original values) Resumable upload
Client Module
-
17/03/2016 / 25 17/03/2016 / 25 17/03/2016 / 25 17/03/2016 / 25 Diffusion : public
Client Module
-
www.b-com.com
Merci / Thanks / [email protected] /