SMART on FHIR app launches separate FHIR servers that work for clinical applications from those that just expose a REST API. The launch sequence touches OAuth 2.0, OpenID Connect, the FHIR resource graph, and the patient context all at once, and a server that gets any single step wrong forces the app developer into custom workarounds. The six servers below handle the SMART launch sequence cleanly enough that clinical apps launch against them without surprises. For the rest of our FHIR series, the broader FHIR reference covers the surrounding architecture.
The Six Servers That Get SMART on FHIR Launches Right
- Epic FHIR. The dominant US EHR FHIR endpoint, with full standalone and EHR launch support and a documented onboarding flow for SMART apps. Most clinical app developers test against Epic first because the customer pull is largest.
- Cerner FHIR (Oracle Health). Strong SMART launch support with the standard scope syntax, often the second integration target for SMART apps after Epic.
- Aidbox. Native SMART on FHIR launch support that handles standalone, EHR, and backend service launches with consistent behavior across deployment shapes.
- HAPI FHIR with the SMART module. The open-source pick, used by clinical app developers building reference implementations and by hospitals running self-hosted SMART app catalogs.
- Microsoft Azure Health Data Services. Bundles the FHIR service with the Azure identity layer in a way that simplifies SMART launches for teams already on Azure Active Directory.
- Medplum. A FHIR-native platform with first-class SMART launch support, often picked by startups building SMART-launched clinical apps from scratch.
The six cover the realistic SMART launch target list a clinical app developer evaluates in 2026, from the major EHR endpoints through the FHIR-first platforms used by smaller deployments.
What "Handles SMART Launches Well" Actually Means
SMART on FHIR launches involve four hard parts: discovering the `.well-known/smart-configuration` document correctly, redirecting through OAuth 2.0 with the right scope set, returning a launch token that resolves to a patient context, and exposing the granular scopes from SMART App Launch v2 without rejecting valid scope requests. A server that handles all four cleanly lets the app developer write standard SMART launch code from the SMART App Launch Implementation Guide.
A server that mishandles even one step pushes the developer into vendor-specific workarounds. Vendor-specific SMART code is the single most common source of carrying-cost in a clinical app, because each EHR vendor's quirks have to be carried forward forever.
How to Test SMART Launch Quality Before Committing
The most reliable way to evaluate a server's SMART launch handling is to run a public SMART reference app against it before any procurement commitment. ONC's Inferno test harness exercises the launch sequence systematically and surfaces the exact step that fails. A server that passes the Inferno SMART tests in 2026 is unlikely to surprise a clinical app developer downstream.
The FHIR server complete guide covers the broader server picks. For telemedicine teams that rely heavily on SMART launches inside the patient session, the telemedicine backend roundup is the natural next read, and the multi-tenant healthcare SaaS guide covers SMART launch handling under the more complex tenant-isolation conditions a SaaS product faces.
Sources
- canonical launch specification - HL7 SMART App Launch IG v2.2.0
- App Launch (Launch and Authorization) flow, evergreen - HL7 SMART App Launch IG
- Scopes and Launch Context specification, evergreen - HL7 SMART App Launch IG
