CA:BS - pan-Canadian Backend Services

This profile defines the HALO-specific lifecycle interactions used to initiate and withdraw backend services between a Point of Care (PoC) system and a Backend Service. It formalizes $initiate-onboarding, through which the PoC provides the initial context needed to begin onboarding, and $offboard, through which the PoC directs the Backend Service to cease interacting with it.

The scope of this profile is limited to the lifecycle requests and responses that initiate onboarding or withdraw an established relationship. It does not define subsequent Dynamic Client Registration, client credentials token requests, or FHIR API access. Those later steps are described with the CA:SoF – pan-Canadian SMART on FHIR profile.

See the Backend Services page for more details.

Actor Detail

Onboarding Initiator

A system that initiates backend services onboarding by invoking an Onboarding Responder's $initiate-onboarding operation. The Onboarding Initiator provides its FHIR server base URL in the iss parameter along with an offboardingChallenge derived from a verifier it retains, so a later $offboard invocation can be confirmed as originating from the same PoC.

Onboarding Responder

A target system that exposes $initiate-onboarding and $offboard operation endpoints. The Onboarding Responder evaluates onboarding context, determines whether and how to proceed, and withdraws an established backend service relationship when requested.

Actors & Transactions

The following diagram provides an overview of the Actors directly involved in the CA:BS profile and the relevant Transactions between them.

The table below lists the transactions for each actor directly participating in the CA:BS profile. To claim compliance with CA:BS, an actor SHALL support all required transactions (labeled “R”).

Actor Transaction Optionality
Onboarding Initiator Initiate Backend Service Onboarding [CA:BS-1] R
Onboarding Responder Initiate Backend Service Onboarding [CA:BS-1] R
Onboarding Initiator Offboard Backend Service [CA:BS-2] R
Onboarding Responder Offboard Backend Service [CA:BS-2] R

Transaction Detail

CA:BS-1: Initiate Backend Service Onboarding

The Onboarding Initiator invokes the Onboarding Responder's $initiate-onboarding operation using HTTP POST to the endpoint advertised for backend services onboarding. The request SHALL include the iss parameter containing the Onboarding Initiator's FHIR server base URL along with the offboardingChallenge derived from a verifier the Onboarding Initiator retains for later use during offboarding.

Upon receiving the request, the Onboarding Responder evaluates the supplied context and returns an OperationOutcome describing the outcome of the invocation. The Onboarding Responder MAY use the iss value as input to its backend services discovery logic, for example by retrieving the Onboarding Initiator's /.well-known/smart-configuration document to identify relevant metadata and endpoints. The Onboarding Responder may then proceed with Dynamic Client Registration, another trust-establishment step, discovery of token or FHIR endpoints, or a decision not to continue.

This transaction SHALL be treated as onboarding and discovery only. It does not by itself register the client, issue OAuth credentials, or grant API access.

CA:BS-2: Offboard Backend Service

The Onboarding Initiator invokes the Onboarding Responder's $offboard operation using HTTP POST to the offboardingEndpoint advertised in the App Catalog. The request SHALL include the iss parameter and the offboardingVerifier retained from the original $initiate-onboarding invocation.

The Onboarding Responder SHALL return an OperationOutcome, cease requesting access tokens from the identified PoC, and cease attempting to access that PoC's FHIR APIs. This transaction SHALL be idempotent. See Operation: $offboard for complete operation requirements.