Fanout requests in CONNECT

CONNECT 5.1.2 and later

This documentation accounts for the multiple exchange targeting capabilities introduced via the Exchange Manager in CONNECT 5.1.2

Overview

Organizational endpoints are targeted by expressing the target organization's HCID in the CONNECT entity SOAP request. Some services include fanout capabilities that are activated when mutliple HCIDs are expressed:

  • Patient Discovery - fanout requests will target all communities within an exchange that have Patient Discovery endpoints listed in the directory
  • Document Query - fanout requests will target all endpoints within an exchange for which patient correlations have been stored
  • Admin Distribution - fanout requests will target all communities within an exchange that have Admin Distribution endpoints listed in the directory

Target communities

Target endpoints are expressed within the <NhinTargetCommunities> node of the CONNECT entity SOAP request.  Note that target communities must all be part of one exchange (fanning out to organizations from different exchanges is not allowed). Below is an example of how to express a specific set of organizational endpoints to fan requests out to:

Sample NhinTargetCommunities for Fan-out Request in a Particular Exchange
         <urn:NhinTargetCommunities>
            <urn1:exchangeName>TestExchange</urn1:exchangeName>
			<urn3:nhinTargetCommunity>
				<urn3:homeCommunity>
					<urn3:description>Organization 1</urn3:description>
					<urn3:homeCommunityId>1.1.1.1</urn3:homeCommunityId>
					<urn3:name>Sample organization 1</urn3:name>
				</urn3:homeCommunity>
			</urn3:nhinTargetCommunity>
			<urn3:nhinTargetCommunity>
				<urn3:homeCommunity>
					<urn3:description>Organization 2</urn3:description>
					<urn3:homeCommunityId>2.2.2.2</urn3:homeCommunityId>
					<urn3:name>Sample organization 2</urn3:name>
				</urn3:homeCommunity>
			</urn3:nhinTargetCommunity>
         </urn:NhinTargetCommunities>

Fanout rules by service when no target community is specified

PatientDiscovery

  1. Fanout occurs if no <nhinTargetCommunity> or <NhinTargetCommunities> is defined in the Entity request.
  2. Fanout requests will be sent to all the communities that has PatientDiscovery service listed in an exchange.
  3. Fanout occurs in a particular exchange. If no exchangeName is defined then PD fanout will occur in Default Exchange as defined in exchangeInfo.xml.

PatientDiscovery Deferred Request/Response

same as PatientDiscovery

DocumentQuery

  1. Fanout is always occurring, even if it's "fanning out" to only one endpoint
  2. The fanout happens in a particular exchange. If no exchangeName is defined then fanout will occur in the Default Exchange as defined in exchangeInfo.xml.
  3. <NhinTargetCommunities> is completely ignored except for <exchangeName>
  4. Fanout will target only the service endpoints in a selected or default exchange for which there are matching HCIDs in the CorrelatedPatientAssignAuthId column of the patientcorrelationdb.correlatedidentifiers table

AdminDistribution

same as PatientDiscovery