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.