FHIR Extensions Pack
5.4.0 - May 2026 International flag

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.4.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

Extension: OAuth URIs

Official URL: http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris Version: 5.4.0
Standards status: Deprecated Maturity Level: 3 Computable Name: OAuthUris
Other Identifiers: OID:2.16.840.1.113883.4.642.5.1506

Supports automated discovery of OAuth2 endpoints.

Context of Use

This extension is deprecated and should no longer be used

This is now handled with the .well-known/smart-configuration JSON file.

This extension may be used on the following element(s)

Usage info

Usages:

  • This Extension is not used by any profiles in this Specification

You can also check for usages in the FHIR IG Statistics

Changes since version 5.3.0:

  • No changes
  • Formal Views of Extension Content

    Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

    This structure is derived from Extension

    Summary

    Complex Extension: Supports automated discovery of OAuth2 endpoints.

    • authorize: uri: The OAuth2 "authorize" endpoint for this FHIR server.
    • token: uri: The OAuth2 "token" endpoint for this FHIR server.
    • register: uri: The OAuth2 dynamic registration endpoint for this FHIR server, if supported.
    • introspect: uri: The introspection end point for this FHIR server.
    • revoke: uri: The revocation end point for this FHIR server.
    • manage: uri: The user-facing authorization management workflow entry point for this FHIR server.

    Maturity: 3

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..1 Extension Automated discovery of OAuth2 endpoints
    Extension.Slices for extension Content/Rules for all slices
    Extension.Slices for extension.extension:authorize 1..1 Extension OAuth2 "authorize" endpoint
    Extension.Slices for extension.extension:authorize.extension 0..0 Extension
    Extension.Slices for extension.extension:authorize.url 1..1 uri "authorize"
    Extension.Slices for extension.extension:authorize.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:token 1..1 Extension OAuth2 "token" endpoint
    Extension.Slices for extension.extension:token.extension 0..0 Extension
    Extension.Slices for extension.extension:token.url 1..1 uri "token"
    Extension.Slices for extension.extension:token.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:register 0..1 Extension OAuth2 dynamic registration endpoint
    Extension.Slices for extension.extension:register.extension 0..0 Extension
    Extension.Slices for extension.extension:register.url 1..1 uri "register"
    Extension.Slices for extension.extension:register.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:introspect 0..1 Extension User-facing introspection end point
    Extension.Slices for extension.extension:introspect.extension 0..0 Extension
    Extension.Slices for extension.extension:introspect.url 1..1 uri "introspect"
    Extension.Slices for extension.extension:introspect.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:revoke 0..1 Extension User-facing revocation end point
    Extension.Slices for extension.extension:revoke.extension 0..0 Extension
    Extension.Slices for extension.extension:revoke.url 1..1 uri "revoke"
    Extension.Slices for extension.extension:revoke.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:manage 0..1 Extension User-facing authorization management entry point
    Extension.Slices for extension.extension:manage.extension 0..0 Extension
    Extension.Slices for extension.extension:manage.url 1..1 uri "manage"
    Extension.Slices for extension.extension:manage.value[x] 1..1 uri Value of extension
    Extension.url 1..1 uri "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"
    Extension.value[x] 0..0 Value of extension

    doco Documentation for this format
    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..1 Extension Automated discovery of OAuth2 endpoints
    Extension.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension 2..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Extension.Slices for extension.extension:authorize 1..1 Extension OAuth2 "authorize" endpoint
    Extension.Slices for extension.extension:authorize.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:authorize.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:authorize.url 1..1 uri "authorize"
    Extension.Slices for extension.extension:authorize.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:token 1..1 Extension OAuth2 "token" endpoint
    Extension.Slices for extension.extension:token.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:token.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:token.url 1..1 uri "token"
    Extension.Slices for extension.extension:token.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:register 0..1 Extension OAuth2 dynamic registration endpoint
    Extension.Slices for extension.extension:register.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:register.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:register.url 1..1 uri "register"
    Extension.Slices for extension.extension:register.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:introspect 0..1 Extension User-facing introspection end point
    Extension.Slices for extension.extension:introspect.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:introspect.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:introspect.url 1..1 uri "introspect"
    Extension.Slices for extension.extension:introspect.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:revoke 0..1 Extension User-facing revocation end point
    Extension.Slices for extension.extension:revoke.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:revoke.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:revoke.url 1..1 uri "revoke"
    Extension.Slices for extension.extension:revoke.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:manage 0..1 Extension User-facing authorization management entry point
    Extension.Slices for extension.extension:manage.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:manage.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:manage.url 1..1 uri "manage"
    Extension.Slices for extension.extension:manage.value[x] 1..1 uri Value of extension
    Extension.url 1..1 uri "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"

    doco Documentation for this format

    This structure is derived from Extension

    Summary

    Complex Extension: Supports automated discovery of OAuth2 endpoints.

    • authorize: uri: The OAuth2 "authorize" endpoint for this FHIR server.
    • token: uri: The OAuth2 "token" endpoint for this FHIR server.
    • register: uri: The OAuth2 dynamic registration endpoint for this FHIR server, if supported.
    • introspect: uri: The introspection end point for this FHIR server.
    • revoke: uri: The revocation end point for this FHIR server.
    • manage: uri: The user-facing authorization management workflow entry point for this FHIR server.

    Maturity: 3

    Differential View

    This structure is derived from Extension

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..1 Extension Automated discovery of OAuth2 endpoints
    Extension.Slices for extension Content/Rules for all slices
    Extension.Slices for extension.extension:authorize 1..1 Extension OAuth2 "authorize" endpoint
    Extension.Slices for extension.extension:authorize.extension 0..0 Extension
    Extension.Slices for extension.extension:authorize.url 1..1 uri "authorize"
    Extension.Slices for extension.extension:authorize.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:token 1..1 Extension OAuth2 "token" endpoint
    Extension.Slices for extension.extension:token.extension 0..0 Extension
    Extension.Slices for extension.extension:token.url 1..1 uri "token"
    Extension.Slices for extension.extension:token.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:register 0..1 Extension OAuth2 dynamic registration endpoint
    Extension.Slices for extension.extension:register.extension 0..0 Extension
    Extension.Slices for extension.extension:register.url 1..1 uri "register"
    Extension.Slices for extension.extension:register.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:introspect 0..1 Extension User-facing introspection end point
    Extension.Slices for extension.extension:introspect.extension 0..0 Extension
    Extension.Slices for extension.extension:introspect.url 1..1 uri "introspect"
    Extension.Slices for extension.extension:introspect.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:revoke 0..1 Extension User-facing revocation end point
    Extension.Slices for extension.extension:revoke.extension 0..0 Extension
    Extension.Slices for extension.extension:revoke.url 1..1 uri "revoke"
    Extension.Slices for extension.extension:revoke.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:manage 0..1 Extension User-facing authorization management entry point
    Extension.Slices for extension.extension:manage.extension 0..0 Extension
    Extension.Slices for extension.extension:manage.url 1..1 uri "manage"
    Extension.Slices for extension.extension:manage.value[x] 1..1 uri Value of extension
    Extension.url 1..1 uri "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"
    Extension.value[x] 0..0 Value of extension

    doco Documentation for this format

    Snapshot View

    NameFlagsCard.TypeDescription & Constraints    Filter: doco
    Extension 0..1 Extension Automated discovery of OAuth2 endpoints
    Extension.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension 2..* Extension Additional content defined by implementations
    Slice: Unordered, Open by value:url
    Extension.Slices for extension.extension:authorize 1..1 Extension OAuth2 "authorize" endpoint
    Extension.Slices for extension.extension:authorize.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:authorize.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:authorize.url 1..1 uri "authorize"
    Extension.Slices for extension.extension:authorize.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:token 1..1 Extension OAuth2 "token" endpoint
    Extension.Slices for extension.extension:token.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:token.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:token.url 1..1 uri "token"
    Extension.Slices for extension.extension:token.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:register 0..1 Extension OAuth2 dynamic registration endpoint
    Extension.Slices for extension.extension:register.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:register.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:register.url 1..1 uri "register"
    Extension.Slices for extension.extension:register.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:introspect 0..1 Extension User-facing introspection end point
    Extension.Slices for extension.extension:introspect.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:introspect.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:introspect.url 1..1 uri "introspect"
    Extension.Slices for extension.extension:introspect.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:revoke 0..1 Extension User-facing revocation end point
    Extension.Slices for extension.extension:revoke.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:revoke.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:revoke.url 1..1 uri "revoke"
    Extension.Slices for extension.extension:revoke.value[x] 1..1 uri Value of extension
    Extension.Slices for extension.extension:manage 0..1 Extension User-facing authorization management entry point
    Extension.Slices for extension.extension:manage.id 0..1 id Unique id for inter-element referencing
    Extension.Slices for extension.extension:manage.extension 0..0 Extension
    Slice: Unordered, Open by value:url

    Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them
    Extension.Slices for extension.extension:manage.url 1..1 uri "manage"
    Extension.Slices for extension.extension:manage.value[x] 1..1 uri Value of extension
    Extension.url 1..1 uri "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"

    doco Documentation for this format

     

    Other representations of profile: CSV, Excel, Schematron

    Constraints

    Id Grade Path(s) Description Expression
    ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
    ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

    R4B

    The extension is unchanged in R4B

    R4

    The extension is unchanged in R4

    R3

    The extension is unchanged in R3

    Search Parameters for this Extension

    (none found)