CA:SoFA – pan-Canadian SMART on FHIR Accelerator

This profile defines the use of HALO-specific context management operations to support the exchange and lifecycle of clinical context required for SMART on FHIR application launches in scenarios where direct access to context resources is not feasible. It formalizes the interactions needed to transmit, store, reference, and clear launch context using the $set-context and $clear-context operations.

The CA:SoFA profile enables systems to securely package clinical context—including resources such as Patient, Encounter, and Practitioner—and transmit them to a designated Context Manager. The Context Manager stores these resources and returns an opaque launch identifier that serves as a reference during SMART app launch. Together, these transactions provide a standardized mechanism for decoupling context transmission from launch execution, ensuring reliable and secure interoperability across distributed environments.

See the App Launch, Operation: $set-context, and Operation: $clear-context for more information.

Actor Detail

Context Source

A system that initiates the $set-context operation to securely transmit current clinical context and related resources to the Context Manager.

Context Manager

A system that processes $set-context requests, stores clinical context resources, and generates an opaque launch identifier that acts as a unique reference to this stored context.

Actors & Transactions

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

Context
Source
Context
Manager
Set Context [CA:SoFA-1]
Resource IDs, Opaque Launch ID, outcomes etc.
Clear Context [CA:SoFA-2]
Outcome
$set-context
$clear-context

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

Actor Transaction Optionality
Context Source Set Context [CA:SoFA-1]
Clear Context [CA:SoFA-2]
R
O
Context Consumer Set Context [CA:SoFA-1]
Clear Context [CA:SoFA-2]
R
R

Transaction Detail

CA:SoFA-1: Set Context

The Context Source initiates the $set-context operation to securely transmit clinical context resources (e.g., Patient, Practitioner, Encounter) to the Context Manager. This transmission uses a Parameters resource conforming to the Profile: SetContextInputParameters profile, optionally including actual resource instances within a transaction Bundle. Upon successful execution, the Context Manager stores these resources and returns an opaque launch identifier (launchID) within a Parameters resource conforming to the Profile: SetContextOutputParameters profile. This launchID value is subsequently used by the Launch Initiator actor in CA:SoF-1.

See the Operation: $set-context for more information.

CA:SoFA-2: Clear Context

The Context Source initiates the $clear-context operation to request the removal of previously stored clinical context resources from the Context Manager. This ensures that stored context information and associated launch identifiers are securely cleared, supporting proper lifecycle management of clinical context within the SMART on FHIR Accelerator framework. The Context Manager validates the request and clears the specified context, confirming successful clearance or reporting any errors encountered during the operation.

See the Operation: $clear-context page for more information.