URI Web Service retrieves representations of its resources (SOP Instances). Mainly for non-DICOM systems to access DICOM dataset or rendered image. URI Service does not define resources in the form of a Target Resource Path, such as {/resource}. Instead, Target Resource is identified using query parameter values.
There are two transactions defined, Retrieve DICOM Instance and Retrieve Rendered Instance, in different media types.
The user agent shall supply Mandatory Query Parameters and the origin server shall support. (Requires the UIDs of the higher levels of DICOM hierarchy).
Name | Values | User Agent | Origin Server |
---|---|---|---|
requestType | "WADO" | M | M |
studyUID | uid | M | M |
seriesUID | uid | M | M |
objectUID | uid | M | M |
Request Type - This parameter specifies that this is a URI service request. The parameter name shall be "requestType", and the value shall be "WADO". It has the following syntax:
requestType = %s"requestType=" token
where:
token
= "WADO". If the value is other than "WADO", and the origin server does not support the value, the response shall be 400 (Bad Request), and may include a payload containing an appropriate error message.Optional Query Parameters - optional for all URI requests.
Key | Values | User Agent | Origin Server |
---|---|---|---|
contentType | media-type | O | O |
charset | token | O | O |
Acceptable Media Types - The Accept Query Parameter specifies the Acceptable Media Types for the response payload.
The case-sensitive name of the parameter is "contentType". It has the following syntax:
accept = %s"contentType=" dicom / 1#rendered-media-type
The value of this parameter, if present, shall be either application/dicom, or one or more of the Rendered Media Types (e.g., image/jpeg, image/png, video/mp4, etc.)
Acceptable Character Sets. It has the following syntax:
charset-qp = %s"charset=" 1#(charset [weight])
The value of this parameter is a comma-separated list of one or more character-set identifiers.
Retrieves a single Instance in the application/dicom media type.
The request shall have the following syntax:
GET SP / ?{requestType}&{study}&{series}&{instance}
{&accept}
{&charset}
{&anonymize}
{&annotate}
{&transferSyntax}
SP HTTP/1.1 CRLF
Accept: uri-media-type CRLF
*(header-field CRLF)
CRLF
The origin server shall support Query Parameters as required in Table 9.4.1-1.
Key | Values | User Agent | Origin Server |
---|---|---|---|
anonymize | "yes" | O | O |
annotation | "patient" "technique" |
O | O |
transferSyntax | uid | O | O |
Anonymize. It has the following syntax:
anonymize = %s"anonymize=" token
where token
= "yes"
Annotation - rendered images shall be annotated with patient and/or procedure information. It has the following syntax:
annotation = 1#( %s"patient" / %s"technique" )
where:
"patient"
- rendered images shall be annotated with patient information (e.g., patient name, birth date, etc.)."technique"
- indicates that the rendered images shall be annotated with information about the procedure that was performed (e.g., image number, study date, image position, FOV, etc.).
The user agent shall supply in the request header fields and the origin server shall support as required.
Name | Values | User Agent | Origin Server | Description |
---|---|---|---|---|
Accept | media-type | O | M | The Acceptable Media Types for the response payload. |
Accept-Charset | charset | O | M | The Acceptable Character Sets of the response payload. |
No payload.
A success response shall contain the Target Resource in an Acceptable DICOM Media Type.
The response shall have the following syntax:
version SP status-code SP reason-phrase CRLF
[Content-Type: media-type CRLF]
[(Content-Length: uint / Transfer-Encoding: encoding) CRLF]
Content-Location: url CRLF
*(header-field CRLF)
CRLF
[payload / status-report]
The origin server shall support the following header fields:
Name | Values | Origin Server | Description |
---|---|---|---|
Content-Type | dicom-media-type | M | The media-type of the payload. |
Content-Length | uint | M | Shall be present if a transfer encoding has not been applied to the payload. |
Transfer-Encoding | encoding | M | Shall be present if a transfer encoding has been applied to the payload. |
Refer to PS3.18 section 8.5 for full list. The followings are some common status codes corresponding to this transaction:
Failure
410 (Gone) - UIDs in the Query Parameters, once existed, but no longer exists.
Retrieves a single instance in a Rendered Media Type.
The request shall have the following syntax:
GET SP /?{requestType}&{study}&{series}&{instance}{&frameNumber}
{&accept}
{&charset}
{&rows}
{&columns}
{®ion}
{&windowCenter}
{&windowWidth}
{&imageQuality}
{&annotation}
{&presentationSeriesUID}
{&presentationUID}
SP HTTP/1.1 CRLF
Accept: 1#media-type CRLF
*(header-field CRLF)
CRLF
An instance of a Composite SOP class.
Included in a request only if the DICOM Category of the Target Resource is Single Frame, Multi-Frame, or Video.
Key | Values | User Agent Usage | Origin Server usage |
---|---|---|---|
contentType | rendered-media-type | M | M |
Charset | charset | O | M |
frameNumber | uint | O | O |
imageAnnotation | "patient" "technique" |
O | O |
imageQuality | uint | O | O |
Rows | uint | O | O |
Columns | uint | O | O |
Region | 4decimal | O | O |
windowCenter | decimal | O | O |
windowWidth | decimal | O | O |
presentationSeriesUID | uid | O | O |
presentationUID | uid | O | O |
Image Annotation - Text burned into image and don't apply annotation if this parameter is not present. Its name is "annotation" and its value is a comma-separated list of one or more keywords. It has the following syntax:
annotation = %s"annotation=" 1#( %s"patient" / %s"technique")
where:
"patient"
– (patient name, sex, birth date, etc.)"technique"
– information about the procedure that was performed (e.g., image number, study date, FOV, image position, etc.)Image Quality - Quality = %s"quality=" uint. An unsigned integer between 1 and 100 inclusive, with 100 being the best quality. If the value of this parameter is missing or is not an integer between 1 and 100 inclusive, the response shall be 400.
The Acceptable Media Types shall contain only Rendered Media Types:
Name | Values | User Agent | Origin Server | Description |
---|---|---|---|---|
Accept | media-type | M | M | The Acceptable Media Types for the response payload. |
Accept-Charset | charset | O | M | The Acceptable Character Sets of the response payload. |
No payload.
The response shall have the following syntax:
version SP status-code SP reason-phrase CRLF
[Content-Type: rendered-media-type CRLF]
[(Content-Length: uint / Transfer-Encoding: encoding) CRLF]
[Content-Location: url CRLF]
*(header-field CRLF)
CRLF
[payload / status-report]
Origin server shall support header fields as required in following table:
Name | Values | Origin Server | Description |
---|---|---|---|
Content-Type | media-type | C | Present if the response contains a payload. |
Content-Length | uint | C | Present if the response payload does not have a transfer encoding. |
Transfer-Encoding | encoding | C | Present if the response payload has a transfer encoding. |
Content-Location | url | C | Shall be present if the response has a payload containing a resource. |
Retrieving a DICOM image object using the baseline 8-bit lossy JPEG transfer syntax, and de-identified:
http://www.medical-webservice.st/RetrieveDocument?requestType=WADO
&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
&contentType=application%2Fdicom
&anonymize=yes
&transferSyntax=1.2.840.10008.1.2.4.50
Retrieving a Simple DICOM image in JPEG:
http://www.hospital-stmarco/radiology/wado.php?requestType=WADO
&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
Accept: image/jpeg
http://server234/script678.asp?requestType=WADO
&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
&charset=UTF-8
Accept: text/html
Retrieving a region of a DICOM image, converted if possible in JPEG2000, with annotations burned into the image containing the patient name and technical information, and mapped into a defined image size:
https://aspradio/imageaccess.js?requestType=WADO
&studyUID=1.2.250.1.59.40211.12345678.678910
&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789
&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
&contentType=image%2Fjp2;level=1,image%2Fjpeg;q=0.5
&annotation=patient,technique
&columns=400
&rows=300
®ion=0.3,0.4,0.5,0.5
&windowCenter=-1000
&windowWidth=2500