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-service-provider may have in progress. No two identical values for the Message ID (0000,0110) shall be used for outstanding operations or notifications.

Notes: 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 procedures.

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.

9.1.2.1.4 Priority

This parameter specifies the priority of the C-FIND operation. It shall be one of LOW, MEDIUM, or HIGH.

9.1.2.1.5 Identifier

In the request/indication, this is a list of Attributes to be matched against the values of the Attributes in the instances of the composite objects known to the performing DIMSE-service-user.

In the response/confirmation, this is the same list of Attributes with values of these Attributes in a particular composite SOP Instance which matched. It shall be sent only when that Status (0000,0900) is equal to Pending (not permitted for other statuses).

The list of Attributes and the rules for construction are specified in PS 3.4.

9.1.2.1.6 Status

Indicates the status of the response. It may have any of the following values:

a) Success⎯This indicates that processing of the matches is complete. It shall not contain a matching Identifier.

b) Pending⎯This indicates that processing of the matches is initiated or continuing. It shall contain a matching Identifier.

c) Refused: Out of Resources⎯Indicates that processing of the C-FIND has been terminated because it was out of resources. This may be the initial response to the C-FIND, or may be sent after a number of pending C-FIND responses. This response shall not contain a matching Identifier.

d) Refused: SOP Class Not Supported ⎯ Indicates that processing of the C-FIND has been terminated because the SOP Class was not supported. This response shall not contain a matching Identifier.

e) Cancel⎯Indicates that the processing of the C-FIND has been terminated due to a C-FIND Cancel indication primitive. The response shall not contain an Identifier.

f) Failed⎯Indicates that the C-FIND operation failed at the performing DIMSE-service-user.

9.1.2.2 C-FIND service procedures

The following C-FIND service procedures apply to the invoking DIMSE-service user:

a) The invoking DIMSE-service-user requests a performing DIMSE-service-user to match an Identifier against the Attributes of all SOP Instances known to the performing DIMSE-service-user by issuing a C-FIND request primitive to the DIMSE-service-provider. If the request is rejected by the DIMSE-service-provider, the following procedures do not apply.

b) At any time before receiving a C-FIND confirmation primitive with a status unequal to Pending, the invoking DIMSE-service-user may request the performing DIMSE-service-user to cancel the service by issuing a C-FIND cancel request primitive to the DIMSE-service-provider.

c) The invoking DIMSE-service-user receives a C-FIND confirmation primitive for each unique match of the Identifier to a set of composite SOP Instance Attributes.

d) The invoking DIMSE-service-user receives a final C-FIND confirmation primitive.

Note: In the above procedures, (c) may precede (b).

The following C-FIND service procedures apply to the performing DIMSE-service-user:

a) When the performing DIMSE-service-user receives a C-FIND indication from the DIMSE-service-provider, it matches the Identifier against the Attributes of known composite SOP Instances.

b) At any time following the C-FIND indication, the performing DIMSE-service-user may receive a C-FIND cancel indication.

c) If the C-FIND cancel indication is received before the processing of the C-FIND indication has completed, then the C-FIND operation is aborted; otherwise the following procedure does not apply.

d) The performing DIMSE-service-user issues a C-FIND response with a status of Canceled to the DIMSE-service-provider to indicate that the C-FIND has been canceled. The following procedures do not apply.

e) For each match, the performing DIMSE-service-user issues a C-FIND response with the status set to Pending and a matching Identifier.

f) When the C-FIND operation completes (either in success or in failure), the performing DIMSE-service-user issues a C-FIND response with the status set to either Refused, Failed, or Success to the DIMSE-service-provider.

The following C-FIND service procedures apply to the DIMSE-service-provider:

a) When the DIMSE-service-provider receives a C-FIND request primitive from the invoking DIMSE-service-user, it issues a C-FIND indication primitive to the performing DIMSE-service-user.

b) When the DIMSE-service-provider receives a C-FIND cancel request primitive from the invoking DIMSE-service-user, it issues a C-FIND cancel indication to the performing DIMSE-service-user.

c) When the DIMSE-service-provider receives a C-FIND response primitive from the performing DIMSE-service-user, it issues a C-FIND confirmation primitive to the invoking DIMSE-service-user.

The performing DIMSE-service-user may return a C-FIND response primitive with the status of Failed or Refused before the entire C-FIND indication (Data Set) has been completely transmitted by the invoking DIMSE-service-user. A C-FIND response primitive with the status of Success or Warning shall not be returned until the entire C-FIND 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.