
This section defines the interoperability recommendations for each HALO use case, describing how Use Case Actors map to their corresponding Technical Actors, the services they support, and the profiles or standards they must implement. These recommendations provide a structured view of the technical requirements necessary to enable standards-based integration across SMART on FHIR (SoF) and SMART on FHIR Accelerator (SoFA) flows.
The interoperability recommendation tables are organized by use case (UC-01 through UC-04). Each table conveys:
R
= Required and O
= OptionalFor a selected Use Case Actor, systems shall implement all required services and their associated technical specifications as indicated in the tables. Optional services may be implemented where relevant to local capabilities, workflow nuances, and/or jurisdictional priorities.
These recommendations are aligned with the flows captured in the Technical Use Case Sequence Diagrams for each use case, ensuring consistency between narrative, diagrams, and conformance requirements. Collectively, they provide the foundation for conformance claims within HALO, allowing systems to demonstrate interoperability at the level of the Use Case Actor.
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Retrieve App List | App Catalog Consumer | R | Retrieve App List [CA:AC-1] |
App Catalog | Retrieve App List | App Catalog Supplier | R | Retrieve App List [CA:AC-1] |
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Initiate SMART Launch Provide SMART Server Metadata Handle SMART Authorization |
Launch Initiator Resource Server Authorization Server |
R R R |
Initiate SMART Launch [CA:SoF-1] Get SMART Server Metadata [CA:SoF-2] Get SMART Authorization [CA:SoF-3] |
SMART App | Handle SMART Launch Get SMART Server Metadata Get SMART Authorization |
Launch Responder Authorization Client Authorization Client |
R R R |
Initiate SMART Launch [CA:SoF-1] Get SMART Server Metadata [CA:SoF-2] Get SMART Authorization [CA:SoF-3] |
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Initiate SMART Launch Set Context Clear Context |
Launch Initiator Context Source Context Source |
R R O (notes 1 & 2) |
Initiate SMART Launch [CA:SoF-1] Set Context [CA:SoFA-1] Clear Context [CA:SoFA-2] |
SMART on FHIR Accelerator (SoFA) | Provide SMART Server Metadata Handle Set Context Handle Clear Context |
Resource Server Context Manager Context Manager |
R R R |
Get SMART Server Metadata [CA:SoF-2] Set Context [CA:SoFA-1] Clear Context [CA:SoFA-2] |
Central IdP | Handle SMART Authorization | Authorization Server | R | Get SMART Authorization [CA:SoF-3] |
SMART App | Handle SMART Launch Get SMART Server Metadata Get SMART Authorization |
Launch Responder Authorization Client Authorization Client |
R R R |
Initiate SMART Launch [CA:SoF-1] Get SMART Server Metadata [CA:SoF-2] Get SMART Authorization [CA:SoF-3] |
Note 1: While $set-context
is required for both the Context Source (PoC) and Context Manager (SoFA) actors in the SoFA launch flow, HALO does not prescribe if or when a Context Source must invoke $clear-context
—only that the Context Manager must support the operation. Accordingly, $clear-context
is designated as optional for Context Source systems, allowing them to opt out of demonstrating this operation in a conformance scenario.
Note 2: The PoC may choose not to implement the $set-context
operation if the App does not require a specific context.
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Initiate SMART Launch Provide SMART Server Metadata Handle SMART Authorization Provide Resources |
Launch Initiator Resource Server Authorization Server Resource Server |
R R R R |
Initiate SMART Launch [CA:SoF-1] Get SMART Server Metadata [CA:SoF-2] Get SMART Authorization [CA:SoF-3] Include Access Token [CA:SoF-4] |
SMART App | Handle SMART Launch Get SMART Server Metadata Get SMART Authorization Request Resources |
Launch Responder Authorization Client Authorization Client Authorization Client |
R R R R |
Initiate SMART Launch [CA:SoF-1] Get SMART Server Metadata [CA:SoF-2] Get SMART Authorization [CA:SoF-3] Include Access Token [CA:SoF-4] |
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Initiate SMART Launch Set Context Clear Context |
Launch Initiator Context Source Context Source |
R R O (note 1) |
Initiate SMART Launch [CA:SoF-1] Set Context [CA:SoFA-1] Clear Context [CA:SoFA-2] |
SMART on FHIR Accelerator (SoFA) | Provide Resources Provide SMART Server Metadata Handle Set Context Handle Clear Context |
Resource Server Resource Server Context Manager Context Manager |
R R R R |
Include Access Token [CA:SoF-4] Get SMART Server Metadata [CA:SoF-2] Set Context [CA:SoFA-1] Clear Context [CA:SoFA-2] |
Central IdP | Handle SMART Authorization | Authorization Server | R | Get SMART Authorization [CA:SoF-3] |
SMART App | Handle SMART Launch Get SMART Server Metadata Get SMART Authorization Request Resources |
Launch Responder Authorization Client Authorization Client Resource Client |
R R R R |
Initiate SMART Launch [CA:SoF-1] Get SMART Server Metadata [CA:SoF-2] Get SMART Authorization [CA:SoF-3] Include Access Token [CA:SoF-4] |
Note 1: While $set-context
is required for both the Context Source (PoC) and Context Manager (SoFA) actors in the SoFA launch flow, HALO does not prescribe if or when a Context Source must invoke $clear-context
—only that the Context Manager must support the operation. Accordingly, $clear-context
is designated as optional for Context Source systems, allowing them to opt out of demonstrating this operation in a conformance scenario.
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Handle Resource Writes | Resource Server | R | Include Access Token [CA:SoF-4] |
SMART App | Write Resource | Authorization Client | R | Include Access Token [CA:SoF-4] |
Note 1: A prerequisite for this use case is that the SMART App has been launched directly from a SMART-enabled PoC and holds a valid access token with write permissions to the PoC FHIR server.
Use Case Actor | Service Supported | Technical Actor | Opt | Profile / Standard |
---|---|---|---|---|
Point of Care (PoC) | Create Subscription Update Subscription Get Subscription Status Search Past Events for Subscription Delete Subscription Handle Handshake Notification Handle Heartbeat Notification Handle Event Notification Get WS Binding Token Connect and Bind With Token |
Subscription Requester Subscription Requester Subscription Requester Subscription Requester Subscription Requester Notification Consumer Notification Consumer Notification Consumer Notification Consumer Notification Consumer |
R O R R O R R R O (note 1) O (note 1) |
Create Subscription [CA:FSub-1] Update Subscription [CA:FSub-2] Retrieve Subscription Status [CA:FSub-4] Search Past Events [CA:FSub-5] Delete Subscription [CA:FSub-3] Handshake Notification [CA:FSub-8] Heartbeat Notification [CA:FSub-9] Event Notification [CA:FSub-10] Get WS Binding Token [CA:FSub-6] Connect and Bind With Token [CA:FSub-7] |
SMART on FHIR Accelerator (SoFA) | Hand Subscription Creation Handle Subscription Updates Provide Subscription Status Provide Past Events for Subscription Handle Subscription Deletion Send Handshake Notification Send Heartbeat Notification Send Event Notification Provide WebSocket Binding Token Handle WebSocket Connections Handle Resource Writes |
Subscription Manager Subscription Manager Subscription Manager Subscription Manager Subscription Manager Notification Producer Notification Producer Notification Producer Notification Producer Notification Producer Resource Server |
R R R R R R R R R R R |
Create Subscription [CA:FSub-1] Update Subscription [CA:FSub-2] Retrieve Subscription Status [CA:FSub-4] Search Past Events [CA:FSub-5] Delete Subscription [CA:FSub-3] Handshake Notification [CA:FSub-8] Heartbeat Notification [CA:FSub-9] Event Notification [CA:FSub-10] Get WS Binding Token [CA:FSub-6] Connect and Bind With Token [CA:FSub-7] Include Access Token [CA:SoF-4] |
SMART App | Write Resource | Authorization Client | R | Include Access Token [CA:SoF-4] |
Note 1: The Get WS Binding Token
and Connect and Bind With Token
services are not required if the Point of Care (PoC) implements only the REST Hook actor option. However, if the PoC supports the WebSocket actor option—either as an alternative to, or in addition to, REST Hooks—then these two services are required.
Note 2: A prerequisite for this use case is that the SMART App has been launched via the SoFA flow, holds a valid access token with write permissions to the SoFA FHIR server, and that the PoC has an active Subscription to the relevant SoFA topic.