Endpoint Search Interactions
The SCR API SHALL support a search interaction to return Endpoint resources using search parameters for:
- [Mandatory] Organisation code - ODS code of the target organisation (i.e. GP practice exposing the endpoint)
- [Mandatory] MHS Interaction ID - type of Interaction supported by Endpoint
Endpoint resources are returned as a searchset Bundle containing 0, 1 or many matching Endpoint resources
The Endpoint Search Interaction supports GP Connect use cases by allowing a consumer system to retrieve the Message Handling System (MHS) record for a capability at a target GP provider organisation
Search Parameter
Data Item | Query Parameter | Query Target | Example |
---|---|---|---|
Organisation code | organization | managingOrganization | organization=[targetODSCode] |
MHS Interaction ID | identifier | Endpoint.identifier:NhsEndpointServiceId | identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|[interactionId] |
Request pattern
GET [baseURL]/Endpoint?
organization=[ODSNamingSystem]|[targetODSCode]&
identifier=[EndpointServiceIdNamingSystem]|[interactionId]
Example request
GET [baseURL]/Endpoint?
organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&
identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05
Example response payload
<Bundle xmlns="http://hl7.org/fhir"> <id value="bbea6247-6d81-4d92-b2c0-8779aacdb838" /> <type value="searchset" /> <total value="1" /> <link> <relation value="self" /> <url value="[baseURL]/Endpoint?organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05" /> </link> <entry> <fullUrl value="[baseURL]/Endpoint/f1dc0ac6-45ff-4d2b-bf91-793971e3e286" /> <resource> <Endpoint> <id value="f1dc0ac6-45ff-4d2b-bf91-793971e3e286" /> <extension url="https://fhir.nhs.uk/StructureDefinition/Extension-SDS-ReliabilityConfiguration"> <extension url="nhsMHSSyncReplyMode"> <valueString value="MSHSignalsOnly" /> </extension> <extension url="nhsMHSRetryInterval"> <valueString value="PT1M" /> </extension> <extension url="nhsMHSRetries"> <valueInteger value="2" /> </extension> <extension url="nhsMHSPersistDuration"> <valueString value="PT5M" /> </extension> <extension url="nhsMHSDuplicateElimination"> <valueString value="always" /> </extension> <extension url="nhsMHSAckRequested"> <valueString value="always" /> </extension> <extension url="nhsMHSActor"> <valueString value="ebs" /> </extension> </extension> <identifier> <system value="https://fhir.nhs.uk/Id/nhsEndpointServiceId" /> <value value="urn:nhs:names:services:psis:REPC_IN150016UK05" /> </identifier> <identifier> <system value="https://fhir.nhs.uk/Id/nhsMhsFQDN" /> <value value="192.168.128.11" /> </identifier> <identifier> <system value="https://fhir.nhs.uk/Id/nhsMhsEndPoint" /> <value value="https://192.168.128.11/reliablemessaging/reliablerequest" /> </identifier> <identifier> <system value="https://fhir.nhs.uk/Id/nhsMhsPartyKey" /> <value value="R8008-0000806" /> </identifier> <identifier> <system value="https://fhir.nhs.uk/Id/nhsMhsCPAId" /> <value value="S20001A000182" /> </identifier> <identifier> <system value="https://fhir.nhs.uk/Id/nhsSpineASID" /> <value value="227319907548" /> </identifier> <status value="active" /> <connectionType> <system value="http://terminology.hl7.org/CodeSystem/endpoint-connection-type" /> <code value="hl7-fhir-msg" /> <display value="HL7 FHIR Messaging" /> </connectionType> <managingOrganization> <identifier> <system value="https://fhir.nhs.uk/Id/ods-organization-code" /> <value value="R8008" /> </identifier> </managingOrganization> <payloadType> <coding> <system value="http://terminology.hl7.org/CodeSystem/endpoint-payload-type" /> <code value="any" /> <display value="Any" /> </coding> </payloadType> <address value="https://192.168.128.11/" /> </Endpoint> </resource> <search> <mode value="match" /> </search> </entry> </Bundle>
{ "resourceType": "Bundle", "id": "bbea6247-6d81-4d92-b2c0-8779aacdb838", "type": "searchset", "total": 1, "link": [ { "relation": "self", "url": "[baseURL]/Endpoint?organization=https://fhir.nhs.uk/Id/ods-organization-code|R8008&identifier=https://fhir.nhs.uk/Id/nhsEndpointServiceId|urn:nhs:names:services:psis:REPC_IN150016UK05" } ], "entry": [ { "fullUrl": "[baseURL]/Endpoint/f1dc0ac6-45ff-4d2b-bf91-793971e3e286", "resource": { "resourceType": "Endpoint", "id": "f1dc0ac6-45ff-4d2b-bf91-793971e3e286", "extension": [ { "extension": [ { "url": "nhsMHSSyncReplyMode", "valueString": "MSHSignalsOnly" }, { "url": "nhsMHSRetryInterval", "valueString": "PT1M" }, { "url": "nhsMHSRetries", "valueInteger": 2 }, { "url": "nhsMHSPersistDuration", "valueString": "PT5M" }, { "url": "nhsMHSDuplicateElimination", "valueString": "always" }, { "url": "nhsMHSAckRequested", "valueString": "always" }, { "url": "nhsMHSActor", "valueString": "ebs" } ], "url": "https://fhir.nhs.uk/StructureDefinition/Extension-SDS-ReliabilityConfiguration" } ], "identifier": [ { "system": "https://fhir.nhs.uk/Id/nhsEndpointServiceId", "value": "urn:nhs:names:services:psis:REPC_IN150016UK05" }, { "system": "https://fhir.nhs.uk/Id/nhsMhsFQDN", "value": "192.168.128.11" }, { "system": "https://fhir.nhs.uk/Id/nhsMhsEndPoint", "value": "https://192.168.128.11/reliablemessaging/reliablerequest" }, { "system": "https://fhir.nhs.uk/Id/nhsMhsPartyKey", "value": "R8008-0000806" }, { "system": "https://fhir.nhs.uk/Id/nhsMhsCPAId", "value": "S20001A000182" }, { "system": "https://fhir.nhs.uk/Id/nhsSpineASID", "value": "227319907548" } ], "status": "active", "connectionType": { "system": "http://terminology.hl7.org/CodeSystem/endpoint-connection-type", "code": "hl7-fhir-msg", "display": "HL7 FHIR Messaging" }, "managingOrganization": { "identifier": { "system": "https://fhir.nhs.uk/Id/ods-organization-code", "value": "R8008" } }, "payloadType": [ { "coding": [ { "system": "http://terminology.hl7.org/CodeSystem/endpoint-payload-type", "code": "any", "display": "Any" } ] } ], "address": "https://192.168.128.11/" }, "search": { "mode": "match" } } ] }