The Internal Exchange Info file represents all internal endpoints specific to the adopter's instance and holds the service names and respective URL's for the given services. This file shares many common elements from the Exchange Info file. An example can be found below.
Example Internal Exchange Info File
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <exchangeInfo xmlns="urn:gov:hhs:fha:nhinc:exchange" xmlns:ns2="urn:gov:hhs:fha:nhinc:exchange:directory"> <defaultExchange>adapter</defaultExchange> <exchanges> <exchange type="local"> <name>adapter</name> <disabled>true</disabled> <lastUpdated></lastUpdated> <organizationList> <organization> <ns2:name>Gateway 1</ns2:name> <ns2:hcid>urn:oid:1.1</ns2:hcid> <ns2:endpointList> <ns2:endpoint> <ns2:name>ServiceName1</ns2:name> <ns2:endpointConfigurationList> <ns2:endpointConfiguration> <ns2:url>https://localhost:8181/CONNECTGateway/GatewayService/ServiceName1Version2</ns2:url> <ns2:version>2.0</ns2:version> </ns2:endpointConfiguration> <ns2:endpointConfiguration> <ns2:url>https://localhost:8181/CONNECTGateway/GatewayService/ServiceName1Version1</ns2:url> <ns2:version>1.0</ns2:version> </ns2:endpointConfiguration> </ns2:endpointConfigurationList> </ns2:endpoint> <ns2:endpoint> <ns2:name>Service1AdapterName</ns2:name> <ns2:endpointConfigurationList> <ns2:endpointConfiguration> <ns2:url>https://localhost:8181/CONNECTAdapter/Service1Adapter</ns2:url> <ns2:version>LEVEL_a0</ns2:version> </ns2:endpointConfiguration> </ns2:endpointConfigurationList> </ns2:endpoint> </ns2:endpointList> <ns2:targetRegion>US-NY</ns2:targetRegion> <ns2:targetRegion>US-VA</ns2:targetRegion> </organization> </organizationList> </exchange> </exchanges> </exchangeInfo>
In a given internalExchangeInfo.xml there should only be a single Exchange element, which should also be set as the default. As this file only serves as your internal adapter endpoints, there is no support / functionality centered around having multiple internal exchanges.
Element | Description |
---|---|
exchangeInfo | |
defaultExchange | The default Exchange to use for the file. This will always be the first (and only, in the case of Internal Exchange Info files) exchange specified in the Exchanges element |
exchanges | This will hold your exchange for internal adapter endpoints. There should only be a single <exchange> element contained here at all times. |
exchange | |
name | The name of the exchange. This should exactly match the <defaultExchange> element. In the case of the example: "adapter" |
disabled | A required schema element for the Exchange Type. This will always be "true" as internal exchanges do not do refresh on a FHIR or UDDI server. |
lastUpdated | A required schema element for the Exchange Type. This should be left blank, as it is not used for any purpose. |
orgalizationList | The list of organizations specified by this exchange. Internal Exchange info files will always have 1 organization with the given HCID. |
organization | |
ns2:name | The name of the organization. In the case of the example: "Gateway 1" |
ns2:hcid | The HCID of the given internal organization. This should match the same HCID in your adapter.properties file as well. |
ns2:endpointList | The list of services that this organization may have. |
ns2:endpoint | |
ns2:name | The service name to be looked up by CONNECT. The service names must match the service name lookup of CONNECT in order to function as these are not arbitrarily named. For example, the Document Submission secured adapter is "adapterxdrsecured". |
ns2:endpointConfigurationList | Holds a list of endpoints for that service |
ns2:endpointConfiguration | |
ns2:url | The URL of the given endpoint to be used by CONNECt |
ns2:version | the Spec Version of this endpoint. Most service layers are numerically named, whereas adapter layers are often "LEVEL_a0". |