DICOM PS3.7 2020a - Message Exchange |
Page 41 |
8 Protocol Overview
8.1 DIMSE Protocol
This Section provides an overview of the DIMSE protocol machine. The DIMSE protocol machine defines the procedures and the encoding rules necessary to construct Messages used to exchange command requests and responses between peer DIMSE Service Users (e.g., two DICOM Application Entities). The relationship between Messages and the different types of service primitives is shown in Figure 7-1.
TheDIMSEprotocolmachineacceptsDIMSEServiceUserrequestandresponseserviceprimitivesandconstructsMessagesdefined by the procedures defined in 9.3 and 10.3. The DIMSE protocol machine accepts Messages and passes them to the DIMSE Service User by the means of indication and confirmation service primitives.
Procedures define the rules for the transfer of Messages that convey command requests and responses. These rules define interpret- ation of the various fields in the command part of the Message. They do not define what an invoking DIMSE Service User should do with the information (the Data Set part of the Message) it requested nor how a performing DIMSE Service User should process the operation.
Messages may be fragmented. The fragmentation of Messages exchanged between peer DICOM Application Entities and the P- DATA service used to exchange these Message fragments are defined in Annex F.
Note
These Message fragments are called Application Protocol Data Units (APDUs) by the OSI construct.
The invoking DIMSE Service User request primitive results in a Message carrying a Command Request (with an optional associated Data Set). Each Message induces an indication primitive to the performing DIMSE Service User.
The performing DIMSE Service User response primitives result in a Message carrying a Command Response (with an optional asso- ciated Data Set). Each Message induces a confirmation primitive to the invoking DIMSE Service User.
8.2 Association Protocol
The establishment of an Association involves two DIMSE Service Users, one that is the Association-requester and one that is the Association-acceptor.ADIMSEServiceUsermayinitiateanAssociationestablishmentbyusingtheA-ASSOCIATEservicedescribed in PS3.8.
IncludedintheparametersoftheA-ASSOCIATEserviceistheApplicationContextthatspecifies,amongotherthings,therulesrequired for the coordination of initialization information corresponding to different DICOM Application Entities. The Application Contexts per- mitted for DIMSE are specified in Annex A.
8.3 Conformance
Implementers conform to the DIMSE protocol only by conformance to a SOP class as defined in PS3.2 and PS3.4. Implementers do not conform directly to the DIMSE protocol, and are not required to include a statement about DIMSE conformance in conformance statements except as required in PS3.4.
- Standard -
Page 42 |
DICOM PS3.7 2020a - Message Exchange |
- Standard -
DICOM PS3.7 2020a - Message Exchange |
Page 43 |
9 DIMSE-C
9.1 Services
9.1.1 C-STORE Service
The C-STORE service is used by a DIMSE Service User to store a composite SOP Instance on a peer DIMSE Service User. It is a confirmed service.
9.1.1.1 C-STORE Parameters
Table 9.1-1 lists the parameters of this service.
Table 9.1-1. C-STORE Parameters
DIMSE-C Parameter Name |
Req/Ind |
Rsp/Conf |
Message ID |
M |
U |
Message ID Being Responded To |
- |
M |
Affected SOP Class UID |
M |
U(=) |
Affected SOP Instance UID |
M |
U(=) |
Priority |
M |
- |
Move Originator Application Entity Title |
U |
- |
Move Originator Message ID |
U |
- |
Data Set |
M |
- |
Status |
- |
M |
9.1.1.1.1 Message ID
This parameter identifies the operation. It is used to distinguish this operation from other notifications or operations that the DIMSE ServiceProvidermayhaveinprogress.NotwoidenticalvaluesfortheMessageID(0000,0110)shallbeusedforoutstandingoperations or notifications.
Note
1.Inclusion of this parameter in the confirmation was permitted in previous versions of this Standard but this mode of use is now retired. This parameter may be included in the confirmation but in such a case the invoking DIMSE Service User should not attach any semantic significance to this parameter.
2.The Message ID (0000,0110) is recommended to be unique within the scope of an Association, to support debug pro- cedures.
9.1.1.1.2 Message ID Being Responded To
This parameter specifies the Message ID (0000,0110) of the operation request/indication to which this response/confirmation applies.
9.1.1.1.3 Affected SOP Class UID
For the request/indication, this parameter specifies the SOP Class for the storage. It may be included in the response/confirmation. If included in the response/confirmation, this parameter shall be equal to the value in the request/indication.
9.1.1.1.4 Affected SOP Instance UID
For the request/indication, this parameter specifies the SOP Instance to be stored. It may be included in the response/confirmation. If included in the response/confirmation, this parameter shall be equal to the value in the request/indication.
- Standard -
Page 44 |
DICOM PS3.7 2020a - Message Exchange |
9.1.1.1.5 Priority
This parameter specifies the priority of the C-STORE operation. It shall be one of LOW, MEDIUM, or HIGH.
9.1.1.1.6 Move Originator Application Entity Title
This parameter specifies the DICOM AE Title of the DICOM AE that invoked the C-MOVE operation from which this C-STORE sub- operation is being performed.
9.1.1.1.7 Move Originator Message ID
This parameter specifies the Message ID (0000,0110) of the C-MOVE request/indication primitive from which this C-STORE sub- operation is being performed.
9.1.1.1.8 Data Set
The Data Set accompanying the C-STORE primitive contains the Attributes of the Composite SOP Instance to be stored.
9.1.1.1.9 Status
This parameter contains the error or success notification for the operation. It shall be included by the performing DIMSE Service User in the response/confirmation. The following types of status may occur in a response/confirmation (see also Annex C):
a.Refused: Out of resources (Status value is Service Class specific) - This indicates that the peer DIMSE Service User was unable to store the composite SOP Instance because it was out of resources.
b.Refused:SOPClassnotsupported(0112H)-ThisindicatesthatthepeerDIMSEServiceUserwasunabletostorethecomposite SOP Instance because the SOP Class is not supported,
c.Error: Cannot understand (Status value is Service Class specific) - This indicates that the peer DIMSE Service User was unable to store the composite SOP Instance because it Cannot understand certain Data Elements.
d.Error: Data Set does not match SOP Class (Status value is Service Class specific) - This indicates that the peer DIMSE Service User was unable to store the composite SOP Instance because the Data Set does not match the SOP Class.
e.Warning(StatusvalueisServiceClassspecific)-ThisindicatesthatthepeerDIMSEServiceUserwasabletostorethecomposite SOP Instance, but detected a probable error.
f. Success (0000H) - This indicates that the composite SOP Instance was successfully stored.
g.Duplicateinvocation(0210H)-IndicatesthattheMessageID(0000,0110)specifiedisallocatedtoanothernotificationoroperation.
h.Invalid SOP Instance (0117H) - Indicates that the SOP Instance UID specified implied a violation of the UID construction rules.
i. Mistyped argument (0212H) - Indicates that one of the parameters supplied has not been agreed for use on the Association between the DIMSE Service Users.
j. Unrecognized operation (0211H) - Indicates that the operation is not one of those agreed between the DIMSE Service Users.
k.Refused: Not authorized (0124H) - Indicates that the peer DIMSE Service User was not authorized to store the composite SOP Instance.
9.1.1.2 C-STORE Service Procedures
The following C-STORE procedures apply:
a.The invoking DIMSE Service User requests that the performing DIMSE Service User store a composite SOP Instance by issuing a C-STORE request primitive to the DIMSE Service Provider.
b.The DIMSE Service Provider issues a C-STORE indication primitive to the performing DIMSE Service User.
- Standard -
DICOM PS3.7 2020a - Message Exchange |
Page 45 |
c.The performing DIMSE Service User reports acceptance or rejection of the C-STORE request primitive by issuing a C-STORE response primitive to the DIMSE Service Provider,
d.The DIMSE Service Provider issues a C-STORE confirmation primitive to the invoking DIMSE Service User, completing the C- STORE operation.
The performing DIMSE Service User may return a C-STORE response primitive with the status of Failed or Refused before the entire C-STOREindication(DataSet)hasbeencompletelytransmittedbytheinvokingDIMSEServiceUser.AC-STOREresponseprimitive with the status of Success or Warning shall not be returned until the entire C-STORE indication has been received by the performing DIMSE Service User.
Note
Such an occurrence of a "Failed" response is often called an early failed response.
9.1.2 C-FIND Service
The C-FIND service is used by a DIMSE Service User to match a set of Attributes against the Attributes of a set of composite SOP Instances maintained by a peer DIMSE Service User. It is a confirmed service.
9.1.2.1 C-FIND Parameters
See Table 9.1-2.
Table 9.1-2. C-FIND Parameters
DIMSE-C Parameter Name |
Req/Ind |
Rsp/Conf |
CnclReq/CnclInd |
Message ID |
M |
U |
- |
Message ID Being Responded To |
- |
M |
M |
Affected SOP Class UID |
M |
U(=) |
- |
Priority |
M |
- |
- |
Identifier |
M |
C |
- |
Status |
- |
M |
- |
9.1.2.1.1 Message ID
This parameter identifies the operation. It is used to distinguish this operation from other notifications or operations that the DIMSE ServiceProvidermayhaveinprogress.NotwoidenticalvaluesfortheMessageID(0000,0110)shallbeusedforoutstandingoperations or notifications.
Note
1.Inclusion of this parameter in the confirmation was permitted in previous versions of this Standard but this mode of use is now retired. This parameter may be included in the confirmation but in such a case the invoking DIMSE Service User should not attach any semantic significance to this parameter.
2.The Message ID (0000,0110) is recommended to be unique within the scope of an Association, to support debug pro- cedures.
9.1.2.1.2 Message ID Being Responded To
This parameter specifies the Message ID (0000,0110) of the request/indication to which this response/confirmation applies.
9.1.2.1.3 Affected SOP Class UID
For the request/indication, this parameter specifies the SOP Class of the Information Model for the query. It may be included in the response/confirmation. If included in the response/confirmation, this parameter shall be equal to the value in the request/indication.
- Standard -