F.4.2.2.4.1 Activity - Handling Query and Retrieval Requests
F.4.2.2.4.1.1 Description and Sequencing of Activity
The QUERY-RETRIEVE-SCP AE accepts Associations only if they have valid Presentation Contexts. If none of the requested Presentation Contexts are accepted then the Association Request itself is rejected. It can be configured to only accept Associations with certain hosts (using TCP/IP address) and/or Application Entity Titles.
If QUERY-RETRIEVE-SCP AE receives a query (C-FIND) request then the response(s) will be sent over the same Association used to send the C-FIND-Request.
If QUERY-RETRIEVE-SCP AE receives a retrieval (C-MOVE) request then the responses will be sent over the same Association used to send the C-MOVE-Request. The QUERY-RETRIEVE-SCP AE will notify the STORAGE-SCU to send the requested SOP Instances to the C-MOVE Destination. The STORAGE-SCU AE notifies the QUERY-RETRIEVE-SCP AE of the success or failure of each attempt to send a Composite SOP Instance to the peer C-MOVE Destination AE. The QUERY-RETRIEVE-SCP AE then sends a C-MOVE Response indicating this status after each attempt. Once the STORAGE-SCU AE has finished attempting to transfer all the requested SOP Instances, the QUERY-RETRIEVE-SCP AE sends a final C-MOVE Response indicating the overall status of the attempted retrieval.
The following sequencing constraints illustrated in Figure F.4.2-2 apply to the QUERY-RETRIEVE-SCP AE for handling queries (C-FIND-Requests) :
-
Peer AE opens an Association with the QUERY-RETRIEVE-SCP AE.
-
Peer AE sends a C-FIND-RQ Message
-
QUERY-RETRIEVE-SCP AE returns a C-FIND-RSP Message to the peer AE with matching information. A C-FIND-RSP is sent for each entity matching the identifier specified in the C-FIND-RQ. A final C-FIND-RSP is sent indicating that the matching is complete.
-
Peer AE closes the Association. Note that the peer AE does not have to close the Association immediately. Further C-FIND or C-MOVE Requests can be sent over the Association before it is closed.
The following sequencing constraints illustrated in Figure F.4.2-2 apply to the QUERY-RETRIEVE-SCP AE for handling retrievals (C-MOVE-Requests) :
-
Peer AE opens an Association with the QUERY-RETRIEVE-SCP AE.
-
Peer AE sends a C-MOVE-RQ Message
-
QUERY-RETRIEVE-SCP AE notifies the STORAGE-SCU AE to send the Composite SOP Instances to the peer C-MOVE Destination AE as indicated in the C-MOVE-RQ.
-
After attempting to send a SOP Instance, the STORAGE-SCU AE indicates to the QUERY-RETRIEVE-SCP AE whether the transfer succeeded or failed. The QUERY-RETRIEVE-SCP AE then returns a C-MOVE-RSP indicating this success or failure.
-
Once the STORAGE-SCU AE has completed all attempts to transfer the SOP Instances to the C-MOVE Destination AE, or the first failure occurred, the QUERY-RETRIEVE-SCP AE sends a final C-MOVE-RSP indicating the overall success or failure of the retrieval.
-
Peer AE closes the Association. Note that the peer AE does not have to close the Association immediately. Further C-FIND or C-MOVE Requests can be sent over the Association before it is closed.
The QUERY-RETRIEVE-SCP AE may reject Association attempts as shown in the table below. The Result, Source and Reason/Diag columns represent the values returned in the corresponding fields of an ASSOCIATE-RJ PDU (see Section 9.3.4 “A-ASSOCIATE-RJ PDU Structure” in PS3.8
). The following abbreviations are used in the Source column:
-
1 - DICOM UL service-user
-
2 - DICOM UL service-provider (ASCE related function)
-
3 - DICOM UL service-provider (Presentation related function)
Table F.4.2-14. Association Rejection Reasons
Result
|
Source
|
Reason/Diag
|
Explanation
|
2 - rejected-transient
|
c
|
2 - local-limit-exceeded
|
The (configurable) maximum number of simultaneous Associations has been reached. An Association request with the same parameters may succeed at a later time.
|
2 - rejected-transient
|
c
|
1 - temporary-congestion
|
No Associations can be accepted at this time due to the real-time requirements of higher priority activities (e.g., during image acquisition no Associations will be accepted) or because insufficient resources are available (e.g., memory, processes, threads). An Association request with the same parameters may succeed at a later time.
|
1 - rejected-permanent
|
a
|
2 - application-context-name-not-supported
|
The Association request contained an unsupported Application Context Name. An association request with the same parameters will not succeed at a later time.
|
1 - rejected-permanent
|
a
|
7 - called-AE-title-not-recognized
|
The Association request contained an unrecognized Called AE Title. An Association request with the same parameters will not succeed at a later time unless configuration changes are made. This rejection reason normally occurs when the Association initiator is incorrectly configured and attempts to address the Association acceptor using the wrong AE Title.
|
1 - rejected-permanent
|
a
|
3 - calling-AE-title-not-recognized
|
The Association request contained an unrecognized Calling AE Title. An Association request with the same parameters will not succeed at a later time unless configuration changes are made. This rejection reason normally occurs when the Association acceptor has not been configured to recognize the AE Title of the Association initiator.
|
1 - rejected-permanent
|
b
|
1 - no-reason-given
|
The Association request could not be parsed. An Association request with the same format will not succeed at a later time.
|
F.4.2.2.4.1.2 Accepted Presentation Contexts
QUERY-RETRIEVE-SCP AE will accept Presentation Contexts as shown in the following table:
Table F.4.2-15. Accepted Presentation Contexts By the QUERY-RETRIEVE-SCP AE
Presentation Context Table
|
Abstract Syntax
|
Transfer Syntax
|
Role
|
Extended Negotiation
|
Name
|
UID
|
Name
|
UID
|
Verification
|
1.2.840.10008.1.1
|
DICOM Implicit VR Little Endian
|
1.2.840.10008.1.2
|
SCP
|
None
|
Patient Root Q/R Information Model - FIND
|
1.2.840.10008.5.1.4.1.2.1.1
|
DICOM Implicit VR Little Endian
|
1.2.840.10008.1.2
|
SCP
|
None
|
Patient Root Q/R Information Model - MOVE
|
1.2.840.10008.5.1.4.1.2.1.2
|
DICOM Implicit VR Little Endian
|
1.2.840.10008.1.2
|
SCP
|
None
|
Study Root Q/R Information Model - FIND
|
1.2.840.10008.5.1.4.1.2.2.1
|
DICOM Implicit VR Little Endian
|
1.2.840.10008.1.2
|
SCP
|
None
|
Study Root Q/R Information Model - MOVE
|
1.2.840.10008.5.1.4.1.2.2.2
|
DICOM Implicit VR Little Endian
|
1.2.840.10008.1.2
|
SCP
|
None
|
F.4.2.2.4.1.3 SOP Specific Conformance for Query SOP Classes
The QUERY-RETRIEVE-SCP AE supports hierarchical queries and not relational queries. There are no attributes always returned by default. Only those attributes requested in the query identifier are returned. Query responses always return values from the EXAMPLE-QUERY-RETRIEVE-SERVER database. Exported SOP Instances are always updated with the latest values in the database prior to export. Thus, a change in Patient demographic information will be contained in both the C-FIND Responses and any Composite SOP Instances exported to a C-MOVE Destination AE.
Patient Root Information Model
All required search keys on each of the four levels (Patient, Study, Series, and Image) are supported. However, the Patient ID (0010,0020) key must have at least a partial value if the Patient's Name (0010,0010) is not present in a Patient Level query.
Study Root Information Model
All the required search keys on each of the three levels (Study, Series, and Image) are supported. If no partial values are specified for Study attributes then either the Patient ID (0010,0020) key or the Patient's Name (0010,0010) must have at least a partial value specified.
Table F.4.2-16. Patient Root C-FIND SCP Supported Elements
Level Name
Attribute Name
|
Tag
|
VR
|
Types of Matching
|
SOP Common
|
Specific Character Set
|
0008,0005
|
CS
|
NONE
|
Patient Level
|
Patient's Name
Patient ID
Patient's Birth Date
Patient's Sex
Other Patient IDs
Other Patient Names
|
0010,0010
0010,0020
0010,0030
0010,0040
0010,1000
0010,1001
|
PN
LO
DA
CS
LO
PN
|
S,*,U
S,*,U
S,U
S,U
NONE
NONE
|
Study Level
|
Study Date
Study Time
Accession Number
Study ID
Study Instance UID
Referring Physician's Name
Study Description
|
0008,0020
0008,0030
0008,0050
0020,0010
0020,000D
0008,0090
0008,1030
|
DA
TM
SH
SH
UI
PN
LO
|
S,R,U
R,U
S,*,U
S,*,U
S,U,L
S,*,U
S,*,U
|
Series Level
|
Modality
Series Number
Series Instance UID
Operator's Name
|
0008,0060
0020,0011
0020,000E
0008,1070
|
CS
IS
UI
PN
|
S,U
S,*,U
S,U,L
NONE
|
Image Level
|
Instance Number
SOP Instance UID
|
0020,0013
0008,0018
|
IS
UI
|
S,*,U
S,U,L
|
Table F.4.2-17. Study Root C-FIND SCP Supported Elements
Level Name
Attribute Name
|
Tag
|
VR
|
Types of Matching
|
SOP Common
|
Specific Character Set
|
0008,0005
|
CS
|
NONE
|
Study Level
|
Patient's Name
Patient ID
Patient's Birth Date
Patient's Sex
Other Patient IDs
Other Patient Names
Study Date
Study Time
Accession Number
Study ID
Study Instance UID
Referring Physician's Name
Study Description
|
0010,0010
0010,0020
0010,0030
0010,0040
0010,1000
0010,1001
0008,0020
0008,0030
0008,0050
0020,0010
0020,000D
0008,0090
0008,1030
|
PN
LO
DA
CS
LO
PN
DA
TM
SH
SH
UI
PN
LO
|
S,*,U
S,*,U
S,U
S,U
NONE
NONE
S,R,U
R,U
S,*,U
S,*,U
S,U,L
S,*,U
S,*,U
|
Series Level
|
Modality
Series Number
Series Instance UID
Operator's Name
|
0008,0060
0020,0011
0020,000E
0008,1070
|
CS
IS
UI
PN
|
S,U
S,*,U
S,U,L
NONE
|
Image Level
|
Instance Number
SOP Instance UID
|
0020,0013
0008,0018
|
IS
UI
|
S,*,U
S,U,L
|
The tables should be read as follows:
Attribute Name: Attributes supported for returned C-FIND Responses.
Tag: Appropriate DICOM tag for this attribute.
VR: Appropriate DICOM VR for this attribute.
Types of Matching: The types of Matching supported by the C-FIND SCP. A "S" indicates the identifier attribute can specify Single Value Matching, a "R" will indicate Range Matching, a "*" will denote wild card matching, an 'U' will indicate universal matching, and 'L' will indicate that UID lists are supported for matching. "NONE" indicates that no matching is supported, but that values for this Element in the database can be returned.
Table F.4.2-19. QUERY-RETRIEVE-SCP AE C-FIND Response Status Return Behavior
Service Status
|
Further Meaning
|
Error Code
|
Behavior
|
Success
|
Success
|
0000
|
Matching is complete. No final identifier is supplied.
|
Refused
|
Out of Resources
|
A700
|
System reached the limit in disk space or memory usage.
Error message is output to as an alert to the User Interface, and to the Service Log.
|
Failed
|
Identifier does not match SOP Class
|
A900
|
The C-FIND query identifier contains invalid Elements or values, or is missing mandatory Elements or values for the specified SOP Class.
Error message is output to the Service Log.
|
Unable to process
|
C001
|
The C-FIND query identifier is valid for the specified SOP Class but cannot be used to query the database. For example, this can occur if a Patient Level query is issued but the identifier has only empty values for both the Patient ID and the Patient Name.
Error message is output to the Service Log.
|
Cancel
|
Matching terminated due to Cancel Request
|
FE00
|
The C-FIND SCU sent a Cancel Request. This has been acknowledged and the search for matches has been halted.
|
Pending
|
Matches are continuing and current match is supplied.
|
FF00
|
Indicates that the search for further matches is continuing. This is returned when each successful match is returned and when further matches are forthcoming. This status code is returned if all Optional keys in the query identifier are actually supported.
|
Matches are continuing but one or more Optional Keys were not supported.
|
FF01
|
Indicates that the search for further matches is continuing. This is returned when each successful match is returned and when further matches are forthcoming. This status code is returned if there are Optional keys in the query identifier that are not supported.
|
F.4.2.2.4.1.4 SOP Specific Conformance for Retrieval SOP Classes
The QUERY-RETRIEVE-SCP AE will convey to the STORAGE-SCU AE that an Association with a DICOM Application Entity named by the external C-MOVE SCU (through a MOVE Destination AE Title) should be established. It will also convey to the STORAGE-SCU AE to perform C-STORE operations on specific images requested by the external C-MOVE SCU. One or more of the Image Storage Presentation Contexts listed in Table F.4.2-6 will be negotiated.
The QUERY-RETRIEVE-SCP AE can support lists of UIDs in the C-MOVE Request at the Study, Series, and Image Levels. The list of UIDs must be at the Level of the C-MOVE Request however. For example, if the C-MOVE Request is for Series Level retrieval but the identifier contains a list of Study UIDs then the C-MOVE Request will be rejected, and the A900 Failed Status Code will be returned in the C-MOVE Response.
An initial C-MOVE Response is always sent after confirming that the C-MOVE Request itself can be processed. After this, the QUERY-RETRIEVE-SCP AE will return a response to the C-MOVE SCU after the STORAGE-SCU AE has attempted to send each image. This response reports the number of remaining SOP Instances to transfer, and the number transferred having a successful, failed, or warning status. If the Composite SOP Instances must be retrieved from long-term archive prior to export there may be quite a long delay between the first C-MOVE Response and the next one after the attempt to export the first image. The maximum length of time for this delay will depend on the particular type of archive used but typically varies between 3 and 10 minutes.
Table F.4.2-20. QUERY-RETRIEVE-SCP AE C-MOVE Response Status Return Behavior
Service Status
|
Further Meaning
|
Error Code
|
Behavior
|
Success
|
Sub-operations complete - No Failures
|
0000
|
All the Composite SOP Instances have been successfully sent to the C-MOVE Destination AE.
|
Refused
|
Out of Resources - Unable to calculate number of matches
|
A701
|
Number of matches cannot be determined due to system failure. Returned if the server's database is not functioning so the search for matches to the C-MOVE Request cannot be found.
Error message is output as an alert on the User Interface, and to the Service Log.
|
Out of Resources - Unable to perform sub-operations
|
A702
|
C-STORE sub-operations cannot be performed due to failure to access Composite SOP Instances in archive, or failure of a C-STORE Request. For example, this Status will be returned if the required SOP Instances are determined to be off-line (i.e., the MO media has been removed from the archive jukebox).
Error message is output as an alert on the User Interface, and to the Service Log.
|
Move destination unknown
|
A801
|
The Destination Application Entity named in the C-MOVE Request is unknown to Query-Retrieve SCP AE.
Error message is output to the Service Log.
|
Failed
|
Identifier does not match SOP Class
|
A900
|
The C-MOVE identifier contains invalid Elements or values, or is missing mandatory Elements or values for the specified SOP Class or retrieval level.
Error message is output to the Service Log.
|
Cancel
|
Matching terminated due to Cancel Request
|
FE00
|
The C-MOVE SCU sent a Cancel Request. This has been acknowledged and the export of Composite SOP Instances to the C-MOVE Destination AE has been halted.
|
Pending
|
Sub-operations are continuing
|
FF00
|
A Response with this Status Code is sent every time a Composite SOP Instance has been successfully sent to the C-MOVE Destination AE.
|
Note that the Warning Status, B000 (Sub-operations complete - One or more Failures) is never returned. If a failure occurs during export to the C-MOVE Destination AE by the STORAGE-SCU AE then the entire task is aborted. Thus any remaining matches are not exported.
Table F.4.2-21. QUERY-RETRIEVE-SCP AE Communication Failure Behavior
Exception
|
Behavior
|
Timeout expiry for an expected DICOM Message Request (DIMSE level timeout). I.e. The QUERY-RETRIEVE-SCP AE is waiting for the next C-FIND or C-MOVE Request on an open Association but the timer expires.
|
The Association is aborted by issuing a DICOM A-ABORT.
Error message is output to the Service Log. If the STORAGE-SCU AE is still exporting Composite SOP Instances as a result of an earlier C-MOVE Request received on this Association, it will continue attempting to complete the entire C-MOVE Request.
|
Timeout expiry for an expected DICOM PDU or TCP/IP packet (Low-level timeout). I.e. The QUERY-RETRIEVE-SCP AE is waiting for the next message PDU but the timer expires.
|
The Association is aborted by issuing a DICOM A-ABORT.
Error message is output to the Service Log. If the STORAGE-SCU AE is still exporting Composite SOP Instances as a result of an earlier C-MOVE Request received on this Association, it will continue attempting to complete the entire C-MOVE Request.
|
Association aborted by the SCU or the network layers indicate communication loss (i.e., low-level TCP/IP socket closure)
|
Error message is output to the Service Log. If the STORAGE-SCU AE is still exporting Composite SOP Instances as a result of an earlier C-MOVE Request received on this Association, it will continue attempting to complete the entire C-MOVE Request.
|