K.4 Networking
Prev | K Conformance Statement Sample QIDO-RS Provider (Informative) | Next

## K.4 Networking

### K.4.1 Implementation Model

#### K.4.1.1 Application Data Flow

Figure K.4.1-1. Application Data Flow Diagram

The QIDO-RS Provider Application receives QIDO requests from a remote AE. These requests are HTTP/1.1 GET requests. It is associated with the local real-world activity "Query Remote Device". It uses the request to select matching Studies, Series or Instances. It then returns a set of matching Studies, Series or Instances or a response code indicating warning or failure back to the requesting device.

#### K.4.1.2 Functional Definition of AEs

##### K.4.1.2.1 Functional Definition of QIDO Service Application

The reception of a QIDO-RS GET request will activate the QIDO-RS Provider. An internal query request is sent to the search capabilities of the associated PACS or Vendor Neutral Archive (VNA). The search result is based upon the URL of the QIDO-RS GET request. The response is a status code indicating the success, warning, or failure of the search along with any matching results stored in the Remote PACS or VNA.

### K.4.2 AE Specifications

This AE complies with Section 6.7 in PS3.18 , specification for QIDO-RS.

#### K.4.2.1 QIDO-RS Specifications

##### K.4.2.1.1 QIDO-RS Search for Studies

Table K.4.2-1. QIDO-RS Search for Studies Specification

Parameter | Restrictions
--- | ---
Media Types | Restricted to "multipart/related; type=application/dicom+xml" or "application/json"
Matching Attributes | See Table K.4.2-1a
Return Attributes | See Table K.4.2-1a
Limit and Offset supported | Yes
Person Name Matching | Literal, case insensitive. Section Section K.4.2.2 “Extended Negotiation”.

Table K.4.2-1a. QIDO-RS Study Attribute Matching

Key Word | Tag | Types of Matching
--- | --- | ---
STUDY Level
StudyDate | 00080020 | S,*,U,R
StudyTime | 00080030 | S,*,U,R
AccessionNumber | 00080050 | S,*,U
ModalitiesInStudy | 00080061 | S,*,U
ReferringPhysiciansName | 00080090 | S,*,U
StudyDescription | 00081030 | S,*,U
PhysicianOfRecord | 00081048 | U
PatientsName | 00100010 | S,*,U
PatientID | 00100020 | S,*,U
PatientBirthDate | 00100030 | NONE
PatientSex | 00100040 | NONE
StudyInstanceUID | 0020000D | UNIQUE
StudyID | 00200010 | S,*,U
NumberOfStudyRelatedSeries | 00201206 | NONE
NumberOfStudyRelatedInstances | 00201208 | NONE
RetrieveURL | 00081190 | NONE
Common to all query levels
InstanceAvailability | 00080056 | S,*,U
SpecificCharacterSet | 00080005 | NONE
RetrieveURL | 00081190 | NONE

Types of Matching (see Section C.2.2.2 “Attribute Matching” in PS3.4 ) :

"S" indicates the identifier attribute uses Single Value Matching

"L" indicates UID List Matching

"U" indicates Universal Matching.

### Note

If only Universal Matching is supported for an attribute then that attribute can only be passed as an "includefield" query key

"*" indicates wild card matching

"R" indicates Range Matching

"SEQUENCE" indicates Sequence Matching

"NONE" indicates that no matching is supported, but that values for this Element requested will be returned with all requests

"UNIQUE" indicates that this is the Unique Key for that query level, in which case Universal Matching or Single Value Matching is used depending on the query level (see Section C.2.2.1.1 “Unique Keys” in PS3.4 ).

##### K.4.2.1.2 QIDO-RS Search for Series

Table K.4.2-2. QIDO-RS Search for Series Specification

Parameter | Restrictions
--- | ---
Media Types | Restricted to "multipart/related; type=application/dicom+xml" or "application/json"
Matching Attributes | See Table K.4.2-2a
Return Attributes | See Table K.4.2-2a
Limit and Offset supported | Yes
Relational Queries Supported | No

Table K.4.2-2a. QIDO-RS Series Attribute Matching

Key Word | Tag | Types of Matching
--- | --- | ---
SERIES Level
Modality | 00080060 | S,*,U
SeriesDescription | 0008103E | NONE
SeriesInstanceUID | 0020000E | UNIQUE
SeriesNumber | 00200011 | S,*,U
NumberOfSeriesRelatedInstances | 00201209 | NONE
PerformedProcedureStepStartDate | 00400244 | S,*,U,R
PerformedProcedureStepStartTime | 00400245 | S,*,U,R
RequestAttributeSequence | 00400275 | SEQUENCE
>ScheduledProcedureStepID | 00400009 | S,*,U
>RequestedProcedureID | 00401001 | S,*,U
Common to all query levels
InstanceAvailability | 00080056 | S,*,U
SpecificCharacterSet | 00080005 | NONE
RetrieveURL | 00081190 | NONE

Types of matching: Section Section K.4.2.1.1 “QIDO-RS Search for Studies”.

##### K.4.2.1.3 QIDO-RS Search for Instances

Table K.4.2-3. QIDO-RS Search for Instances Specification

Parameter | Restrictions
--- | ---
Media Types | Restricted to "multipart/related; type=application/dicom+xml" or "application/json"
Matching Attributes | See Table K.4.2-3a
Return Attributes | See Table K.4.2-3a
Limit and Offset supported | Yes
Relational Queries Supported | Series-level, only

Table K.4.2-3a. QIDO-RS Instance Attribute Matching

Key Word | Tag | Types of Matching
--- | --- | ---
SERIES Level
Modality | 00080060 | S,*,U
SeriesDescription | 0008103E | NONE
SeriesInstanceUID | 0020000E | UNIQUE
SeriesNumber | 00200011 | S,*,U
NumberOfSeriesRelatedInstances | 00201209 | NONE
PerformedProcedureStepStartDate | 00400244 | S,*,U,R
PerformedProcedureStepStartTime | 00400245 | S,*,U,R
RequestAttributeSequence | 00400275 | SEQUENCE
>ScheduledProcedureStepID | 00400009 | S,*,U
>RequestedProcedureID | 00401001 | S,*,U
COMPOSITE INSTANCE Level
SOPClassUID | 00080016 | L
SOPInstanceUID | 00080018 | UNIQUE
InstanceNumber | 00200013 | S,*,U
Rows | 00280010 | NONE
Columns | 00280011 | NONE
BitsAllocated | 00280100 | NONE
NumberOfFrames | 00280008 | NONE
Common to all query levels
InstanceAvailability | 00080056 | S,*,U
SpecificCharacterSet | 00080005 | NONE
RetrieveURL | 00081190 | NONE

Types of matching: Section Section K.4.2.1.1 “QIDO-RS Search for Studies”.

##### K.4.2.1.4 Connection Policies

###### K.4.2.1.4.1 General

All standard RS connection policies apply. There are no extensions for RS options.

###### K.4.2.1.4.2 Number of Connections

EXAMPLE-QIDO-SERVICE limits the number of simultaneous RS requests. Additional requests will be queued after the HTTP/1.1 connection is accepted. When an earlier request completes, a pending request will proceed.

Table K.4.2-4. Number of HTTP/1.1 Requests Supported

Maximum number of simultaneous RS requests | 100 (configurable)

###### K.4.2.1.4.3 Asynchronous Nature

EXAMPLE-QIDO-SERVICE does not support RS asynchronous response.

###### K.4.2.1.4.4 Response Status

The EXAMPLE-QIDO-SERVICE shall provide a response message header containing the appropriate status code indicating success, warning, or failure as shown in Table K.4.2-5.

Table K.4.2-5. HTTP/1.1 Standard Response Codes

Code | Name | Description
--- | --- | ---
Success
200 | OK | The query completed and any matching results are returned in the message body.
Failure
400 | Bad Request | This indicates that the QIDO-RS Provider was unable to fulfill it because it cannot understand the query component.
401 | Unauthorized | This indicates that the QIDO-RS Provider refused to fulfill it because the client is not authorized.
403 | Forbidden | This indicates that the QIDO-RS Provider understood the request, but is refusing to fulfill it (e.g., no single patient specified, an authorized user with insufficient privileges, etc.).
413 | Request entity too large | This indicates that the query was too broad and a narrower query or paging should be requested. This code will be returned for queries that do not specify PatientID.
503 | Busy | Service is unavailable.

#### K.4.2.2 Extended Negotiation

EXAMPLE-QIDO-SERVICE does not support the "fuzzymatching" query key.

EXAMPLE-QIDO-SERVICE will perform case insensitive matching for PN VR attributes but will not perform other forms of fuzzy matching. This applies to the following attributes:

- Referring Physician's Name (0008,0090)

- Physician(s) of Record (0008,1048)

- Patient's Name (0010,0010)

### K.4.3 Network Interfaces

#### K.4.3.1 Physical Network Interface

EXAMPLE-QIDO-SERVICE uses the network interface from the hosting EXAMPLE-PACS-ARCHIVE. See its conformance claim for details.

#### K.4.3.2 Additional Protocols

EXAMPLE-QIDO-SERVICE uses the network services from the hosting EXAMPLE-PACS-ARCHIVE. See its conformance claim for details.

#### K.4.3.3 IPv4 and IPv6 Support

This product supports both IPv4 and IPv6 connections.

### K.4.4 Configuration

#### K.4.4.1 QIDO-RS Interface

The EXAMPLE-QIDO-SERVICE can be configured to respond on one port for TLS protected traffic. The TLS port will refuse any connection from a system that is not recognized as authenticated by a known authority.

Prev | Up | Next
K.3 Introduction | Home | K.5 Media Interchange