NHS Booking and Referral Standard

Guide v1.8.0 | Core v1.1.4 | Package v1.33.0

Standard Pattern - Endpoints

BaRS employs an endpoint catalogue to match Target Identifiers with a stored endpoint. Target Identifiers are provided in a header which is descripted in the API Spec The following pages will describe how these entries can be managed, outside of the onboarding process.

The BaRS endpoints will utilise not only service ids and a physical endpoint, but data describing the healthcare service, the provider of that service and the organization which manages and/or supplies the endpoint in question. This information will be stored using 3 FHIR resources which appropriately describe Endpoints, HealthcareServices and Organizations.

BaRS will expose an interface to manage this information for each of these resources. Each resource will have a corresponding endpoint on the Proxy to assist in managing these endpoints.

Interface

The Interface for managing the 3 resources relating to an "endpoint" is detailed below and is part of the API Specification for Core 1.2.0 and above.

Request and Response

Behaviour Initiator VERB API Path Parameters Payload Payload Definition Reactor Reactor Behaviour Happy Response Response Definition
Get Capabilities Sender GET /metadata N/A N/A N/A Endpoint Catalogue Return a capability statement   describing capabilities. 200: CapabilityStatement https://www.hl7.org/fhir/capabilitystatement.html
Get   Endpoints Sender / Receiver /   BaRS / Admin GET /Endpoint query: _has N/A N/A Endpoint Catalogue Return a searchset of Endpoints   based on the properties of the parent given as a _has   HealthcareService.Identifier or Id 200: Search Bundle https://simplifier.net/guide/NHSBookingandReferrals/UKCore-Bundle   searchset
query:   Endpoint.identifier N/A N/A Endpoint Catalogue Return a searchset of Endpoints   based on the identifier of the Endpoint itself. this should only be one item. 200:   Search Bundle https://simplifier.net/guide/NHSBookingandReferrals/UKCore-Bundle   searchset
Get   Endpoint Sender / Receiver / BaRS / Admin GET /Endpoint/{id} path: id N/A N/A Endpoint Catalogue Return specific Endpoint based   on id given. 200: Endpoint https://fhir.hl7.org.uk/StructureDefinition/UKCore-Endpoint
Create   Endpoint Receiver / Admin POST /Endpoint path: id Endpoint https://fhir.hl7.org.uk/StructureDefinition/UKCore-Endpoint Endpoint Catalogue Store a new Endpoint based on id   given. 201: Endpoint https://fhir.hl7.org.uk/StructureDefinition/UKCore-Endpoint
Update   Endpoint Receiver / Admin PUT /Endpoint/{id} path: id Endpoint https://fhir.hl7.org.uk/StructureDefinition/UKCore-Endpoint Endpoint Catalogue Update an existing endpoint   based on id given. 200: Endpoint https://fhir.hl7.org.uk/StructureDefinition/UKCore-Endpoint
Delete   Endpoint Receiver / Admin DELETE /Endpoint/{id} path: id N/A N/A Endpoint Catalogue Remove an existing endpoint   based on id given 200: OperationOutcome https://fhir.hl7.org.uk/StructureDefinition/UKCore-OperationOutcome
Get Organisations Sender / Receiver / BaRS / Admin GET /Organisation? query:   Organization.identifier N/A N/A Endpoint Catalogue Return a list of Organizations   based on the identifier given 200: Search Bundle https://simplifier.net/guide/NHSBookingandReferrals/UKCore-Bundle   searchset
Get   Organisation Sender / Receiver / BaRS / Admin GET /Organisation/{id} path: id N/A N/A Endpoint Catalogue Return a specific Endpoint based   on the id given. 200: Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Create   Organisation Receiver / Admin POST /Organisation path: id Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization Endpoint Catalogue Store a new Organization based   on the id given. 201: Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Update   Organisation Receiver / Admin PUT /Organisation/{id} path: id Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization Endpoint Catalogue Update an existing Organization   based on the id given. 200: Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Delete   Organisation Receiver / Admin DELETE /Organisation/{id} path: id N/A N/A Endpoint Catalogue Remove an existing Organization   based on the id given. 200: OperationOutcome https://fhir.hl7.org.uk/StructureDefinition/UKCore-OperationOutcome
Get HealthcareService Sender / Receiver /   BaRS / Admin GET /HealthcareService query:   HealthcareService.identifier N/A N/A Endpoint Catalogue Return a list of   HealthcareServices based on the identifier given 200: Search Bundle https://simplifier.net/guide/NHSBookingandReferrals/UKCore-Bundle   searchset
query:   HealthcareService.providedBy N/A N/A Endpoint Catalogue Return a list of   HealthcareServices based on the identifier given 200: Search Bundle https://simplifier.net/guide/NHSBookingandReferrals/UKCore-Bundle   searchset
Get   HealthcareService Sender / Receiver / BaRS / Admin GET /HealthcareService/{id} path: id N/A N/A Endpoint Catalogue Return a specific   HealthcareServicesbased on the id given. 200: HealthcareServices https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Create   HealthcareService Receiver / Admin POST /HealthcareService path: id Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization Endpoint Catalogue Store a new   HealthcareServicesbased on the id given. 201: HealthcareServices https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Update   HealthcareService Receiver / Admin PUT /HealthcareService/{id} path: id Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization Endpoint Catalogue Update an existing   HealthcareServicesbased on the id given. 200: HealthcareServices https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Delete   HealthcareService Receiver / Admin DELETE /HealthcareService/{id} path: id N/A N/A Endpoint Catalogue Remove an existing   HealthcareServicesbased on the id given. 200: OperationOutcome https://fhir.hl7.org.uk/StructureDefinition/UKCore-OperationOutcome

Parameters

This table describes the parameters currently defined for the Paths defined in the interface table above.

API Path Type Parameter Format Purpose
/Endpoint? query _has _has:HealthcareService.Identifier=https://fhir.nhs.uk/Id/dos-service-id|1000099999 An identifier for the HealthcareService to which Endpoints belong. in this example an id or DoS id.
_has:HealthcareService.Id=95852b93-d1ab-4c51-8e7d-c24cf9b257a9
/Endpoint? query Endpoint.identifier The identifier of the type of Endpoint. This would be used to say if you want a BaRS endpoint or otherwise.
/Endpoint/{} path id GUID/UUID - "c1ab3fba-6bae-4ba4-b257-5a87c44d4a91" The identifier of the endpoint.
/HealthcareService/? query HealthcareService.identifier https://fhir.nhs.uk/Id/dos-service-id|1000099999 an identifier of the healthcareService, in this example, a DoS id.
/HealthcareService/? query HealthcareService.providedBy https://fhir.nhs.uk/Id/ods-organization-code|A001 the owning organisations ODS code.
/HealthcareService/{id} path id GUID/UUID - "c1ab3fba-6bae-4ba4-b257-5a87c44d4a91" specific resource id of an HealthcareService.
/Organisation? query Organization.identifier "A001" An identifier for the organization. in this example an ODS code.
"https://fhir.nhs.uk/id/ods-organization-code|A001"
/Organisation/{id} path id GUID/UUID - "c1ab3fba-6bae-4ba4-b257-5a87c44d4a91" specific resource id of an organization.

Payloads for Creating or modifying an endpoint

Describing Endpoints will be facilitated by the Organization, HealthcareService and Endpoint FHIR resources. Each of these are detailed in the below tables. Examples of each are also given. In this model

  • HealthcareServices Belong to an organization.
  • An Organization can be a child Organization of a parent Organization, or Standalone.
  • An Organization can describe a Provider or a Supplier.
  • An Endpoint belongs to a HealthcareService.
    • Multiple Endpoints of the same type are not permitted for a HealthcareService
> Organization

This resource will describe either the Organisation of the Provider or the Organisation of the Supplier managing an Endpoint

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
mainLocationI0..*Extension(Reference())
id0..1string
extensionI0..0Extension
url1..1uriFixed Value
valuePeriodPeriod
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ1..1uriFixed Value
valueΣ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
activeΣ ?!0..1boolean
typeΣ0..*CodeableConcept
nameΣ I0..1string
alias0..*string
telecomI0..*ContactPoint
addressI0..*Address
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
purpose0..1CodeableConceptBinding
name0..1HumanName
telecomI0..*ContactPoint
address0..1Address
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string

Data Item Implementation Guidance Necessity Profile Cardinality Example Immutable
Organization https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization
Organization.id This MUST only be populated with an id generated by the Endpoint Catalogue in the synchronous HTTP response upon creation. Its necessity is applicable to all VERBS  bar POST MUST 0.1 236bb75d-90ef-461f-b71e-fde7f899802c Y
Organization.meta https://www.hl7.org/fhir/resource.html#Meta MUST Y
Organization.meta.lastUpdated This MUST be supplied by the client with the time the resource is requested to be created or updated. If it is before the timestamp on the resource on an update, the request will be rejected. This is not the case for a DELETE operation. MUST 2021-11-26T15:00:00.8185338+00:00 Y
Organization.meta.profile This MUST be populated with the structure definition for the R4 Organization Resource MUST https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization Y
Organization.identifier[1] MUST Y
Organization.identifier[0] This MUST Contain the identifier for Organization ODS code MUST Y
Organization.identifier[0].system This MUST be the ODS code system identifier https://fhir.nhs.uk/id/ods-organization-code MUST https://fhir.nhs.uk/id/ods-organization-code Y
Organization.identifier[0].value The ODS code as a string. MUST AA01 Y
Organization.identifier[1] this MUST contain the identifier for  Product ID MUST Y
Organization.identifier[1].system this MUST be the Product ID system Identifier for  http://fhir.nhs.uk/Id/product-id MUST http://fhir.nhs.uk/Id/product-id Y
Organization.identifier[1].value The hexadecimal Product ID as a string. MUST AAA000 Y
Organization.name The name of the Organization MUST "NHS Trust A" OR "Supplier A" Y
Organization.partOf If this Organization describes a child organisation, then the reference to the parent MUST be populated SHOULD N
Organization.partOf.reference the reference to the parent organization. SHOULD Organization/d5ffd0cd-ec7e-48a1-84f1-91f4c0eb8fc5 N
Organization.type Follow UK Core guidance for populating this element. COULD N
Organization.type.ValueCodeableConcept Follow UK Core guidance for populating this element. COULD N
Organization.alias Follow UK Core guidance for populating this element. COULD N
Organization.telecom Follow UK Core guidance for populating this element. COULD N
Organization.address Follow UK Core guidance for populating this element. COULD N
Organization.contact Follow UK Core guidance for populating this element. COULD N
Organization.endpoint Not currently used in this implementation. COULD N

> HealthcareService

This Resource describes the healthcare service that the endpoint is serving.

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
activeΣ ?!0..1boolean
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string
categoryΣ0..*CodeableConcept
typeΣ0..*CodeableConcept
specialtyΣ0..*CodeableConceptBinding
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string
nameΣ0..1string
commentΣ0..1string
extraDetails0..1markdown
photoΣ I0..1Attachment
telecomI0..*ContactPoint
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string
serviceProvisionCode0..*CodeableConcept
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
code0..1CodeableConcept
comment0..1markdown
program0..*CodeableConcept
characteristic0..*CodeableConcept
communication0..*CodeableConceptBinding
referralMethod0..*CodeableConcept
appointmentRequired0..1boolean
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
id0..1string
extensionI0..*Extension
referenceΣ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference()
displayΣ0..1string

Data Item Implementation Guidance Necessity Profile Cardinality Example Immutable
HealthcareService https://fhir.hl7.org.uk/StructureDefinition/UKCore-HealthcareService
HealthcareService.id This MUST only be populated with an id generated by the Endpoint Catalogue in the synchronous HTTP response upon creation. Its necessity is applicable to all VERBS  bar POST MUST 0.1 236bb75d-90ef-461f-b71e-fde7f899802c Y
HealthcareService.meta https://www.hl7.org/fhir/resource.html#Meta MUST Y
HealthcareService.meta.profile This MUST be populated with the structure definition for the R4 HealthcareService Resource MUST https://fhir.hl7.org.uk/StructureDefinition/UKCore-HealthcareService Y
HealthcareService.meta.lastUpdated This MUST be supplied by the client with the time the resource is requested to be created or updated. If it is before the timestamp on the resource on an update, the request will be rejected. This is not the case for a DELETE operation. MUST 2021-11-26T15:00:00.8185338+00:00 Y
HealthcareService.identifier[1] MUST Y
HealthcareService.identifier[0] This MUST Contain the identifier for HealthcareService service ID MUST Y
HealthcareService.identifier[0].system This MUST be the system used for the Service ID, in this example, DoS ID MUST http://fhir.nhs.uk/Id/dos-service-id Y
HealthcareService.identifier[0].value The Service ID code as a string. MUST 1122334455 Y
HealthcareService.identifier[1] this MUST contain the identifier for  Product ID MUST http://fhir.nhs.uk/Id/product-id Y
HealthcareService.identifier[1].system this MUST be the Product ID system Identifier for  http://fhir.nhs.uk/Id/product-id MUST AAA000 Y
HealthcareService.identifier[1].value The hexadecimal Product ID as a string. MUST Y
HealthcareService.active Whether this Service is Active and ready to accept requests. MUST TRUE Y
HealthcareService.providedBy The provider Organization this HealthcareService is provided by. MUST Y
HealthcareService.providedBy.reference A reference to the id of the Organization, this MUST exist. MUST Organization/d5ffd0cd-ec7e-48a1-84f1-91f4c0eb8fc5 Y
HealthcareService.name The name of the HealthcareService MUST Emergency Department A Y
HealthcareService.endpoint A reference to the Endpoint associated to this HealthcareService. This MUST be a reference to the BaRS endpoint. MUST N
HealthcareService.endpoint.reference This MUST be a reference to the BaRS endpoint. MUST Endpoint/d5ffd0cd-ec7e-48a1-84f1-91f4c0eb8fc5 N
HealthcareService.category Follow UK Core guidance for populating this element. COULD N
HealthcareService.type Follow UK Core guidance for populating this element. COULD N
HealthcareService.specialty Follow UK Core guidance for populating this element. COULD N
HealthcareService.location Follow UK Core guidance for populating this element. COULD N
HealthcareService.name Follow UK Core guidance for populating this element. COULD N
HealthcareService.comment Follow UK Core guidance for populating this element. COULD N
HealthcareService.extraDetails Follow UK Core guidance for populating this element. COULD N
HealthcareService.photo Follow UK Core guidance for populating this element. COULD N
HealthcareService.telecom Follow UK Core guidance for populating this element. COULD N
HealthcareService.coverageArea Follow UK Core guidance for populating this element. COULD N
HealthcareService.eligibility Follow UK Core guidance for populating this element. COULD N
HealthcareService.serviceProvisionCode Follow UK Core guidance for populating this element. COULD N
HealthcareService.program Follow UK Core guidance for populating this element. COULD N
HealthcareService.characteristic Follow UK Core guidance for populating this element. COULD N
HealthcareService.communication Follow UK Core guidance for populating this element. COULD N
HealthcareService.referralMethod Follow UK Core guidance for populating this element. COULD N
HealthcareService.appoiuntmentRequired Follow UK Core guidance for populating this element. COULD N
HealthcareService.availableTime Follow UK Core guidance for populating this element. COULD N
HealthcareService.notAvailable Follow UK Core guidance for populating this element. COULD N
HealthcareService.availabilityExceptions Follow UK Core guidance for populating this element. COULD N

> Endpoint

This resource describes the endpoint itself including data around how to interact with it 

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
statusΣ ?!1..1codeBinding
connectionTypeΣ1..1CodingBinding
nameΣ0..1string
managingOrganizationΣ I0..1Reference(Organization)
contactI0..*ContactPoint
periodΣ I0..1Period
payloadTypeΣ1..*CodeableConcept
payloadMimeTypeΣ0..*codeBinding
addressΣ1..1url
header0..*string

Data Item Implementation Guidance Necessity Profile Cardinality Example Immutable
Endpoint http://hl7.org/fhir/structuredefinition/endpoint
Endpoint.id This MUST only be populated with an id generated by the Endpoint Catalogue in the synchronous HTTP response upon creation. Its necessity is applicable to all VERBS  bar POST MUST 0.1 236bb75d-90ef-461f-b71e-fde7f899802c Y
Endpoint.meta https://www.hl7.org/fhir/resource.html#Meta MUST Y
Endpoint.meta.profile This MUST be populated with the structure definition for the R4 Endpoint Resource MUST https://fhir.hl7.org.uk/StructureDefinition/UKCore-Endpoint Y
Endpoint.lastUpdated This MUST be supplied by the client with the time the resource is requested to be created or updated. If it is before the timestamp on the resource on an update, the request will be rejected. This is not the case for a DELETE operation. MUST 2021-11-26T15:00:00.8185338+00:00 Y
Endpoint.identifier[0] this MUST contain the identifier for  Product ID MUST Y
Endpoint.identifier[0].system this MUST be the Product ID system Identifier for  http://fhir.nhs.uk/Id/product-id MUST http://fhir.nhs.uk/Id/product-id Y
Endpoint.identifier[0].value The hexadecimal Product ID as a string. MUST AAA000 Y
Endpoint.status Whether this Service is Active and ready to accept requests. This MUST be inline with  the HealthcareService.active value MUST active Y
Endpoint.managingOrganization The Provider or Supplier Organization that manages this Endpoint. This DOES NOT need to match HealthcareService.providedBy. MUST Y
Endpoint.managingOrganization.reference A reference to the id of the Organization, this MUST exist. MUST Organization/51ab1d8b-72c3-4ca0-877c-b5f73faf36b5 Y
Endpoint.connectionType MUST Y
Endpoint.connectionType.valueCodeableConcept Y
Endpoint.connectionType.valueCodeableConcept.coding[0] This MUST define the type of connection this endpoint supports. In this Instance describing a BaRS endpoint. MUST Y
Endpoint.connectionType.valueCodeableConcept.coding[0].system MUST be  https://fhir.nhs.uk/CodeSystem/ConnectionTypes MUST https://fhir.nhs.uk/CodeSystem/ConnectionTypes Y
Endpoint.connectionType.valueCodeableConcept.coding[0].code MUST be "BARS" MUST BARS Y
Endpoint.connectionType.valueCodeableConcept.coding[0].display MUST be  "Booking And Referrals Standard" MUST Booking And Referrals Standard Y
Endpoint.connectionType.valueCodeableConcept.text MUST be "Booking and Referrals" MUST Booking and Referrals Y
Endpoint.address This MUST be the receiving systems base URL for BARS. MUST https://MyBaseServerAddress.nhs.uk/FHIR/R4 Y
Endpoint.name The name of this Endpoint, defined by the service MUST Emergency Department B - BaRS Endpoint Y
Endpoint.header Defines whether this endpoint is public or private. COULD public N
Endpoint.Period Interval the endpoint is expected to be operational MUST Y
Endpoint.Period.Start Date from which the endpoint is active. MUST 2024-11-26T15:00:00.8185338+00:00 Y
Endpoint.Period.End Date from the endpoint is inactive. COULD 2028-11-26T15:00:00.8185338+00:00 N
Endpoint.contact Follow UK Core guidance for populating this element. COULD N
Endpoint.payloadType Follow UK Core guidance for populating this element. COULD N
Endpoint.payloadMimeType Follow UK Core guidance for populating this element. COULD N

Entity Relationship Diagram

Examples

Endpoint

{
	"resourceType": "Organization",
	"meta": {
		"lastUpdated": "2021-10-11T15:23:30.8185338+00:00",
		"profile": [
			"https://fhir.hl7.org.uk/StructureDefinition/UKCore-Organization"
		]
	},
	"identifier": [
		{
			"system": "https://fhir.nhs.uk/id/ods-organization-code",
			"value": "RYE"
		},
		{
			"system": "http://fhir.nhs.uk/Id/product-id",
			"value": "AAA000"
		}
	],
	"name": "NHS Trust A"
}

HealthcareService

{
  "resourceType": "HealthcareService",
  "meta": {
      "lastUpdated": "2021-11-26T15:00:00.8185338+00:00",
      "profile": [
          "http://hl7.org/fhir/StructureDefinition/HealthcareService",
          "https://fhir.hl7.org.uk/StructureDefinition/UKCore-HealthcareService"
      ]
  },
  "identifier": [
      {
          "system": "http://fhir.nhs.uk/Id/dos-service-id",
          "value": "111111111"
      },
      {
          "system": "http://fhir.nhs.uk/Id/product-id",
          "value": "AAA000"
      }
  ],
  "active": true,
  "providedBy": {
      "reference": "Organization/d5ffd0cd-ec7e-48a1-84f1-91f4c0eb8fc5"
  },
  "name": "Emergency Department A",
  "endpoint":{
      "reference":"Endpoint/4e958d43-ad80-40c9-85ff-2be003d1ea86"
  }
}

Endpoint

{
	"resourceType": "Endpoint",
	"id": "0cb21027-a246-43e6-9c7a-35b17163eab1",
	"meta": {
		"lastUpdated": "2021-10-11T15:23:30+00:00",
		"profile": [
			"http://hl7.org/fhir/StructureDefinition/Endpoint"
		]
	},
	"identifier": [
		{
			"system": "http://fhir.nhs.uk/Id/product-id",
			"value": "AAA000"
		}
	],
	"status": "active",
	"name": "Service Endpoint Name",
	"connectionType": [
		{
			"valueCodeableConcept": {
				"coding": [
					{
						"system": "https://fhir.nhs.uk/CodeSystem/ConnectionTypes",
						"code": "BARS",
						"display": "Booking And Referrals Standard"
					}
				],
				"text": "Booking and Referrals"
			}
		}
	],
	"managingOrganization": [
		{
			"reference": "3e96763f-7969-404f-afac-c415f47dff42"
		}
	],
	"address": "https://myService.nhs.uk/Base/Address",
	"header": "public",
	"Period": {
		"Start": "2021-10-11T15:23:30+00:00",
		"End": "2021-10-11T15:23:30+00:00"
	}
}

Sequences

The sequences to create, update or read an endpoint via BaRS are detailed below. Though the interaction for a sender to route to a receiver has not changed, the sequence is included. The Sequence is the same for all resources, that being said, due to constraints on the data, there are limits to certain scenarios depending on if a resource would result in being orphaned, or a duplicate entry is being created.

Sender

Here a Sender is simply sending a request to a receiver using the NHSD-Target-Identifier header.

Create

Here a Receiving system is creating a resource related to an endpoint.

Update

Here a Receiving system is updating a resource related to an endpoint.

back to top