Jefferson Health · OAuth Scopes

Jefferson Health OAuth Scopes

OAuth 2.0 probed

Jefferson Health publishes 15 OAuth 2.0 scopes via the authorizationCode flow. Scopes are the fine-grained permissions an application requests at authorization time to act against the Jefferson Health API on a user’s behalf.

Tokens are issued from https://fhir.jefferson.edu/FHIRProxy/oauth2/token.

This index is generated from the provider’s OpenAPI security definitions (and, where available, its documented scope reference) and refreshes on every APIs.io network build. Browse every provider’s scopes at scopes.apis.io.

Academic Medical CenterCARIN Blue ButtonCMS InteroperabilityCures ActDa Vinci Plan-NetEpicFHIRHL7HealthcareHospital SystemMyChartAuthenticationPatient AccessProvider DirectorySMART on FHIRUS CoreUSCDI
Scopes: 15 Flows: authorizationCode Method: probed

OAuth endpoints

Authorization URL
https://fhir.jefferson.edu/FHIRProxy/oauth2/authorize
Token URL
https://fhir.jefferson.edu/FHIRProxy/oauth2/token
Flows
authorizationCode

Scopes (15)

ScopeDescriptionFlows
openid OpenID Connect authentication. authorizationCode
profile OpenID Connect profile claims. authorizationCode
fhirUser Identity of the user launching the app, as a FHIR resource reference. authorizationCode
launch EHR launch context for provider-launched apps. authorizationCode
epic.scanning.dmsusername Epic-proprietary scope for document-management-system username exchange. Not part of SMART App Launch; advertised by this server. authorizationCode
offline_access Refresh token for long-lived access. authorizationCode
patient/Patient.read Read the launching patient's demographics. authorizationCode
patient/Observation.read Read the launching patient's observations (labs, vitals). authorizationCode
patient/Condition.read Read the launching patient's conditions, problems and diagnoses. authorizationCode
patient/Encounter.read Read the launching patient's encounters. authorizationCode
patient/MedicationRequest.read Read the launching patient's medication requests. authorizationCode
patient/AllergyIntolerance.read Read the launching patient's allergies and intolerances. authorizationCode
patient/DocumentReference.read Read the launching patient's clinical documents and notes. authorizationCode
user/Patient.read Read Patient as the launching user (provider context). authorizationCode
system/Patient.read System-level Patient read for backend services, used by the Bulk Data group export. clientCredentials, jwtBearer

Source

OAuth Scopes

Raw ↑
generated: '2026-08-15'
method: probed
source: https://fhir.jefferson.edu/FHIRProxy/api/FHIR/R4/.well-known/smart-configuration and .../.well-known/openid-configuration
  (fetched 2026-08-15, HTTP 200), merged with the oauth2 scope map declared in openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml.
  Supersedes the 2026-07-11 derived-only pass.
docs: https://fhir.epic.com/Documentation
description: 'SMART on FHIR scope surface for the Thomas Jefferson University Hospital FHIR R4 endpoint. Note the important
  discrepancy recorded below: the server''s own discovery document advertises only five scopes in scopes_supported, none of
  them resource scopes. The patient/, user/ and system/ resource scopes are real and required, but they are granted per registered
  application at Epic rather than enumerated in discovery — so an agent that trusts scopes_supported alone will conclude,
  wrongly, that no clinical data can be requested.'
schemes:
- name: smartOnFhir
  server: tjuh-fhir-r4
  issuer: https://fhir.jefferson.edu/FHIRProxy/oauth2
  source: well-known/jefferson-health-tjuh-smart-configuration.json
  flows:
  - flow: authorizationCode
    authorizationUrl: https://fhir.jefferson.edu/FHIRProxy/oauth2/authorize
    tokenUrl: https://fhir.jefferson.edu/FHIRProxy/oauth2/token
  description: SMART App Launch / OAuth 2.0 with mandatory PKCE (S256) for patient-facing standalone launches and provider-facing
    EHR launches.
  scope_syntax_supported:
  - v1
  - v2
  scope_syntax_evidence: smart-configuration capabilities include both permission-v1 and permission-v2, so patient/Observation.read
    and patient/Observation.rs are both accepted.
advertised_scopes_supported:
  source: https://fhir.jefferson.edu/FHIRProxy/api/FHIR/R4/.well-known/smart-configuration
  probed: '2026-08-15'
  http_status: 200
  scopes:
  - epic.scanning.dmsusername
  - fhirUser
  - launch
  - openid
  - profile
  note: This is the complete scopes_supported array the server publishes. It contains no resource scopes at all, and includes
    one Epic-proprietary scope (epic.scanning.dmsusername) that is not part of SMART App Launch.
scopes:
- scope: openid
  description: OpenID Connect authentication.
  kind: identity
  flows:
  - authorizationCode
  advertised: true
  sources:
  - well-known/jefferson-health-tjuh-smart-configuration.json
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: profile
  description: OpenID Connect profile claims.
  kind: identity
  flows:
  - authorizationCode
  advertised: true
  sources:
  - well-known/jefferson-health-tjuh-smart-configuration.json
- scope: fhirUser
  description: Identity of the user launching the app, as a FHIR resource reference.
  kind: identity
  flows:
  - authorizationCode
  advertised: true
  sources:
  - well-known/jefferson-health-tjuh-smart-configuration.json
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: launch
  description: EHR launch context for provider-launched apps.
  kind: launch-context
  flows:
  - authorizationCode
  advertised: true
  sources:
  - well-known/jefferson-health-tjuh-smart-configuration.json
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: epic.scanning.dmsusername
  description: Epic-proprietary scope for document-management-system username exchange. Not part of SMART App Launch; advertised
    by this server.
  kind: vendor-proprietary
  flows:
  - authorizationCode
  advertised: true
  sources:
  - well-known/jefferson-health-tjuh-smart-configuration.json
- scope: offline_access
  description: Refresh token for long-lived access.
  kind: launch-context
  flows:
  - authorizationCode
  advertised: false
  advertised_note: Not in scopes_supported, but the server declares the permission-offline SMART capability and grant_types_supported
    includes refresh_token.
  sources:
  - well-known/jefferson-health-tjuh-smart-configuration.json
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/Patient.read
  description: Read the launching patient's demographics.
  kind: patient-resource
  resource: Patient
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/Observation.read
  description: Read the launching patient's observations (labs, vitals).
  kind: patient-resource
  resource: Observation
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/Condition.read
  description: Read the launching patient's conditions, problems and diagnoses.
  kind: patient-resource
  resource: Condition
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/Encounter.read
  description: Read the launching patient's encounters.
  kind: patient-resource
  resource: Encounter
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/MedicationRequest.read
  description: Read the launching patient's medication requests.
  kind: patient-resource
  resource: MedicationRequest
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/AllergyIntolerance.read
  description: Read the launching patient's allergies and intolerances.
  kind: patient-resource
  resource: AllergyIntolerance
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: patient/DocumentReference.read
  description: Read the launching patient's clinical documents and notes.
  kind: patient-resource
  resource: DocumentReference
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: user/Patient.read
  description: Read Patient as the launching user (provider context).
  kind: user-resource
  resource: Patient
  flows:
  - authorizationCode
  advertised: false
  sources:
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
- scope: system/Patient.read
  description: System-level Patient read for backend services, used by the Bulk Data group export.
  kind: system-resource
  resource: Patient
  flows:
  - clientCredentials
  - jwtBearer
  advertised: false
  advertised_note: Backed by grant_types_supported client_credentials + urn:ietf:params:oauth:grant-type:jwt-bearer and private_key_jwt
    client authentication in the live discovery document.
  sources:
  - well-known/jefferson-health-tjuh-openid-configuration.json
  - openapi/_original/jefferson-health-tjuh-fhir-r4-api-openapi.yml
scope_count: 15
advertised_scope_count: 5
jhp_provider_directory:
  server: https://providerfhirapi.healthpartnersplans.com
  scopes: []
  note: No scopes. The Da Vinci Plan-Net directory is anonymous — verified with an unauthenticated HTTP 200 on GET /Practitioner?_count=2.
    Its CapabilityStatement advertises SMART oauth-uris pointing at appgallery.healthpartnersplans.com, but those belong to
    the separate Jefferson Health Plans Patient Access API.
gaps:
- Neither Jefferson Health nor Jefferson Health Plans publishes a scopes or permissions reference page of its own. Integrators
  are pointed at Epic's generic documentation and at the per-app scope selection in the Epic on FHIR app registration form,
  so the authoritative scope list for any given application is visible only inside that application's own registration.
- 'The Jefferson Health Plans Patient Access API scope set could not be probed: its SMART configuration endpoint returns an
  HTML portal shell rather than a discovery document.'
docs_additional:
- https://hl7.org/fhir/smart-app-launch/scopes-and-launch-context.html
- https://www.jeffersonhealthplans.com/home/about-us/interoperability/authentication-and-data-endpoints/

Work with this as data

Every scope set here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for oauth scopes

4 MCP tools reach this
  • find_scopesBrowse and filter every scope set in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This scope set
curl "https://apis.io/api/v1/scopes/jefferson-health-scopes"
All oauth scopes
curl "https://apis.io/api/v1/scopes?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.