Standalone Launch
In standalone launch mode the application is opened directly (not from within an EHR), so there is no pre-set patient context. The user authenticates first, then selects a patient.
Differences from EHR launch
| Aspect | EHR Launch | Standalone Launch |
|---|---|---|
| Entry point | GET /launch?iss=...&launch=... | GET /launch?iss=... (no launch) |
| Patient context | Pre-set by EHR | User selects after auth |
launch scope | launch | launch/patient |
needPatientBanner | From token response | Always true |
Configuration
smart:
epic:
scopes: openid fhirUser launch/patient patient/Patient.rs patient/Condition.rs
For standalone launch, omit launch from scopes and add launch/patient instead. Epic will show a patient picker after the clinician authenticates.
Patient context extraction
In standalone launch, the patient field in the token response is set after patient selection. SmartContextExtractor handles both cases:
String patientId = tokenResponse.getExtra("patient");
boolean needBanner = patientId != null;
The rest of the application behaves identically to EHR launch once SmartLaunchContext is populated.
Next: FHIR Client →