This page is part of the Smart App Launch Implementation Guide (v1.1.0: STU 2 Ballot 1) based on FHIR R4. The current version which supercedes this version is 2.0.0. For a full list of available versions, see the Directory of published versions
Declares support for automated dicovery of OAuth2 endpoints, if a server supports SMART on FHIR authorization for access. Any time a client sees this extension, it must be prepared to authorize using SMART’s OAuth2-based protocol.
The official URL for this extension is:
http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris
Status: active
Extension maintained by: HL7 International - FHIR Infrastructure WG
Context of Use
This extension may be used on the following element(s):
Usage info
Usage:
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Extension
This structure is derived from Extension
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Extension | 0..* | Extension | SMART on FHIR Oauth URIs | |
extension | 1..* | Extension | Extension | |
extension:authorize | S | 1..1 | Extension | URL indicating the OAuth2 "authorize" endpoint for this FHIR server. |
extension | 0..0 | |||
url | 1..1 | uri | "authorize" | |
value[x] | 0..1 | uri | Value of extension | |
extension:token | S | 0..1 | Extension | URL indicating the OAuth2 "token" endpoint for this FHIR server. Required unless the implicit grant flow is used. |
extension | 0..0 | |||
url | 1..1 | uri | "token" | |
value[x] | 0..1 | uri | Value of extension | |
extension:register | S | 0..1 | Extension | URL indicating the OAuth2 dynamic registration endpoint for this FHIR server, if supported. |
extension | 0..0 | |||
url | 1..1 | uri | "register" | |
value[x] | 0..1 | uri | Value of extension | |
extension:manage | S | 0..1 | Extension | URL where an end-user can view which applications have access to data and make adjustments to these access rights. |
extension | 0..0 | |||
url | 1..1 | uri | "manage" | |
value[x] | 0..1 | uri | Value of extension | |
extension:introspect | S | 0..1 | Extension | URL indicating the introspection endpoint that can be used to validate a token. |
extension | 0..0 | |||
url | 1..1 | uri | "introspect" | |
value[x] | 0..1 | uri | Value of extension | |
extension:revoke | S | 0..1 | Extension | URL indicating the endpoint that can be used to revoke a token. |
extension | 0..0 | |||
url | 1..1 | uri | "revoke" | |
value[x] | 0..1 | uri | Value of extension | |
url | 1..1 | uri | "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris" | |
value[x] | 0..0 | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Extension | 0..* | Extension | SMART on FHIR Oauth URIs | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 1..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension:authorize | S | 1..1 | Extension | URL indicating the OAuth2 "authorize" endpoint for this FHIR server. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "authorize" | |
value[x] | 0..1 | uri | Value of extension | |
extension:token | S | 0..1 | Extension | URL indicating the OAuth2 "token" endpoint for this FHIR server. Required unless the implicit grant flow is used. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "token" | |
value[x] | 0..1 | uri | Value of extension | |
extension:register | S | 0..1 | Extension | URL indicating the OAuth2 dynamic registration endpoint for this FHIR server, if supported. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "register" | |
value[x] | 0..1 | uri | Value of extension | |
extension:manage | S | 0..1 | Extension | URL where an end-user can view which applications have access to data and make adjustments to these access rights. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "manage" | |
value[x] | 0..1 | uri | Value of extension | |
extension:introspect | S | 0..1 | Extension | URL indicating the introspection endpoint that can be used to validate a token. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "introspect" | |
value[x] | 0..1 | uri | Value of extension | |
extension:revoke | S | 0..1 | Extension | URL indicating the endpoint that can be used to revoke a token. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "revoke" | |
value[x] | 0..1 | uri | Value of extension | |
url | 1..1 | uri | "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris" | |
Documentation for this format |
This structure is derived from Extension
Differential View
This structure is derived from Extension
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Extension | 0..* | Extension | SMART on FHIR Oauth URIs | |
extension | 1..* | Extension | Extension | |
extension:authorize | S | 1..1 | Extension | URL indicating the OAuth2 "authorize" endpoint for this FHIR server. |
extension | 0..0 | |||
url | 1..1 | uri | "authorize" | |
value[x] | 0..1 | uri | Value of extension | |
extension:token | S | 0..1 | Extension | URL indicating the OAuth2 "token" endpoint for this FHIR server. Required unless the implicit grant flow is used. |
extension | 0..0 | |||
url | 1..1 | uri | "token" | |
value[x] | 0..1 | uri | Value of extension | |
extension:register | S | 0..1 | Extension | URL indicating the OAuth2 dynamic registration endpoint for this FHIR server, if supported. |
extension | 0..0 | |||
url | 1..1 | uri | "register" | |
value[x] | 0..1 | uri | Value of extension | |
extension:manage | S | 0..1 | Extension | URL where an end-user can view which applications have access to data and make adjustments to these access rights. |
extension | 0..0 | |||
url | 1..1 | uri | "manage" | |
value[x] | 0..1 | uri | Value of extension | |
extension:introspect | S | 0..1 | Extension | URL indicating the introspection endpoint that can be used to validate a token. |
extension | 0..0 | |||
url | 1..1 | uri | "introspect" | |
value[x] | 0..1 | uri | Value of extension | |
extension:revoke | S | 0..1 | Extension | URL indicating the endpoint that can be used to revoke a token. |
extension | 0..0 | |||
url | 1..1 | uri | "revoke" | |
value[x] | 0..1 | uri | Value of extension | |
url | 1..1 | uri | "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris" | |
value[x] | 0..0 | |||
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Extension | 0..* | Extension | SMART on FHIR Oauth URIs | |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 1..* | Extension | Extension Slice: Unordered, Open by value:url | |
extension:authorize | S | 1..1 | Extension | URL indicating the OAuth2 "authorize" endpoint for this FHIR server. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "authorize" | |
value[x] | 0..1 | uri | Value of extension | |
extension:token | S | 0..1 | Extension | URL indicating the OAuth2 "token" endpoint for this FHIR server. Required unless the implicit grant flow is used. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "token" | |
value[x] | 0..1 | uri | Value of extension | |
extension:register | S | 0..1 | Extension | URL indicating the OAuth2 dynamic registration endpoint for this FHIR server, if supported. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "register" | |
value[x] | 0..1 | uri | Value of extension | |
extension:manage | S | 0..1 | Extension | URL where an end-user can view which applications have access to data and make adjustments to these access rights. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "manage" | |
value[x] | 0..1 | uri | Value of extension | |
extension:introspect | S | 0..1 | Extension | URL indicating the introspection endpoint that can be used to validate a token. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "introspect" | |
value[x] | 0..1 | uri | Value of extension | |
extension:revoke | S | 0..1 | Extension | URL indicating the endpoint that can be used to revoke a token. |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..0 | |||
url | 1..1 | uri | "revoke" | |
value[x] | 0..1 | uri | Value of extension | |
url | 1..1 | uri | "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris" | |
Documentation for this format |
Other representations of extension: Schematron
Id | Path | Details | Requirements |
ele-1 | Extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:authorize | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension:authorize | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:authorize.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Extension.extension:token | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension:token | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:token.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Extension.extension:register | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension:register | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:register.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Extension.extension:manage | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension:manage | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:manage.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Extension.extension:introspect | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension:introspect | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:introspect.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Extension.extension:revoke | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Extension.extension:revoke | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Extension.extension:revoke.value[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |