Interoperability Recommendations

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:

  • Use Case Actors and their supported services
  • The corresponding Technical Actors aligned with HL7/IHE-style profiles
  • The Optionality of each requirement, where R = Required and O = Optional
  • The Profiles or Standards that define the transaction details

For 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.

Interoperability Recommendations for UC-01: Care Provider views and selects SMART Apps That are of Interest

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]

Interoperability Recommendations for UC-02: Care Provider Accesses Additional Patient Data via SMART App

Base SMART on FHIR (SoF)

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]

SMART on FHIR Accelerator (SoFA)

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.

Interoperability Recommendations for UC-03: Care Provider Shares Patient Data with a SMART App

Base SMART on FHIR (SoF)

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]

SMART on FHIR Accelerator (SoFA)

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.

Interoperability Recommendations for UC-04: Care Provider Receives External Information via SMART App

Base SMART on FHIR (SoF)

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.

SMART on FHIR Accelerator (SoFA)

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.