Annotated Retrieve Document Set Transaction

From IHE Wiki
Jump to navigation Jump to search

Retrieve Document Set Transaction

What follows is the metadata for the Retrieve Document Set transaction as generated by a Document Consumer. This example was generated with the testing tool xdstest using testkit test 12029.

The Retrieve Document Set transaction is always carried in a SOAP over HTTP package formatted with MTOM/XOP rules. This applies to both the request and the response. An example showing the SOAP and HTTP is found here.

The outer element is RetrieveDocumentSetRequest. Within that is one or more DocumentRequest elements. If more than one DocumentRequest elements then one of these two conditions must exist:

  1. None of the DocumentRequest elements contains a HomeCommunityId element.
  2. All of the DocumentRequest elements contain a HomeCommunityId element.

When none of the requests has a HomeCommunityId this corresponds to a Retrieve Document Set within the Affinity Domain and the rules of XDS.b apply. The transaction is sent directly to the Web Services Endpoint configured in the Document Consumer for the RepositoryUniqueId.

When all of the requests have a HomeCommunityId this corresponds to a Retrieve Document Set in the context of XCA and different rules apply. The request is sent to a local Initiating Gateway. DocumentRequests labeled with the local HomeCommunityId (this community) are routed to the correct Document Repository actor within the Affinity Domain (the local community). DocumentRequests labeled with other values of HomeCommunityId are routed to the proper community's Responding Gateway for processing.

An example XDS-style Retrieve Document Set looks like:

<RetrieveDocumentSetRequest xmlns="urn:ihe:iti:xds-b:2007"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DocumentRequest>
        <RepositoryUniqueId>1.19.6.24.109.42.1.5</RepositoryUniqueId>
        <DocumentUniqueId>1.2009.0827.08.33.5105</DocumentUniqueId>
    </DocumentRequest>
</RetrieveDocumentSetRequest>

An example XCA-style Retrieve Document Set looks like:

<RetrieveDocumentSetRequest xmlns="urn:ihe:iti:xds-b:2007"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <DocumentRequest>
        <HomeCommunityId>1.19.6.24.109.42.1.5</HomeCommunityId >
        <RepositoryUniqueId>1.19.6.24.109.42.1.5</RepositoryUniqueId>
        <DocumentUniqueId>1.2009.0827.08.33.5105</DocumentUniqueId>
    </DocumentRequest>
</RetrieveDocumentSetRequest>

Note the ordering of the elements inside DocumentRequest. This structure is governed by schema which will return an error if this ordering is not preserved.