
This page provides a high-level, PoC-developer-oriented overview of the HALO specification. It is intended as a starting point to help you navigate the most relevant sections, understand how PoC systems interact with SMART Apps in both base SMART on FHIR and SoFA-enabled environments, and quickly identify the requirements, workflows, and conformance expectations for your role. It is not a substitute for the detailed implementation pages in the specification, but rather a directional guide to point you toward them.
By conforming to HALO, PoC systems (typically EMRs or clinical portals) gain:
Whether your system offers full SMART on FHIR capabilities or requires external support, HALO ensures you're interoperable and future-proof.
Component | Base SMART on FHIR (SoF) | SMART on FHIR Accelerator (SoFA) |
---|---|---|
FHIR Server | Local to PoC | Jurisdictional, operated by SoFA |
IdP / Auth Server | Local or delegated | Jurisdictional, integrated with SoFA |
Context Management | Internally managed by the PoC | Uploaded via $set-context and bound to a unique identifier (launchID ) |
App Launch | Direct with local iss and launch values |
Direct with jurisdictional iss and launch parameters |
Data Write-back | Direct to PoC FHIR server | Written to the SoFA and propagated back to the PoC via FHIR Subscriptions |
Cleanup | Local policies | Triggered via $clear-context , and/or automated based on internal policies |
$set-context
operation.$set-context
operation is constructed.transaction-response
Bundle returned by the SoFA in response to the $set-context
operation.$set-context
.HALO conformance is comprised of several technical actors and transactions across several HALO Profiles. These responsibilities are grouped and tested leveraging the four core business use cases.
From a PoC perspective, the following use cases apply:
Within these use cases PoC systems are responsible for fulfilling roles such as App Catalog Consumer
, Launch Initiator
, Resource Server
, Authorization Server
, Context Source
, Subscription Producer
, and Notification Consumer
with some variance based on whether they are implementing the base SMART on FHIR (SoF) flow or the SMART on FHIR Accelerator (SoFA) flow.
For more details regarding testing and conformance expectations for PoC systems, see the see the Interoperability Recommendations and Technical Use Case Sequence Diagrams pages.
In addition to the HALO-specific testing, PoC vendors should ensure compliance with the following external specifications:
Application.scopes
field from the catalog entry to determine required contextAll Flows (SoF & SoFA):
iss
and launch
parameters.Base SMART on FHIR (SoF) Launch Flow:
.well-known/smart-configuration
endpoint.SMART on FHIR Accelerator (SoFA) Launch Flow:
$set-context
operation.$set-context
operation.$set-context
response bundle.All Subscription Implementations (REST Hook & WebSocket)
websocket
or rest-hook
channels based on your system's needs.SoFA Content Update
topic.eventNumber
element between notifications to process events in the correct order and detect gaps.$status
and $events
operations as needed to detect Subscription error states and recover missed notifications.WebSocket-based Subscription Implementations
$get-ws-binding-token
operationbind-with-token
message