R4 Ballot #1 #2 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.3.0: (v3.5.0: R4 Ballot 2). #2). The current version which supercedes this version is 5.0.0 . For a full list of available versions, see the Directory of published versions . Page versions: R4B R4

Extension: oauth-uris

FHIR Infrastructure Work Group   Maturity Level : 1 Informative Use Context : Any

URL for this extension:


http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris

Status: active. Extension maintained by: Health Level Seven International (FHIR Infrastructure)

Supports automated discovery of OAuth2 endpoints.

Context of Use: Use on Element ID CapabilityStatement.rest.security

usage info: insert a list of places where this extension is used

Extension Content

Summary

Name Flags Card. Type Description & Constraints doco
. . extension oauth-uris 0..1 Extension URL = http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris
oauth-uris: Supports automated discovery of OAuth2 endpoints.


Use on Element ID CapabilityStatement.rest.security
. . . authorize 1..1 uri The OAuth2 “authorize” "authorize" endpoint for this FHIR server.

. . . token 1..1 uri The OAuth2 “token” "token" endpoint for this FHIR server.

. . . register 0..1 uri The OAuth2 dynamic registration endpoint for this FHIR server, if supported.

. . . manage 0..1 uri The user-facing authorization management workflow entry point for this FHIR server.


doco Documentation for this format

Full Structure

Name Flags Card. Type Description & Constraints doco
. . extension 0..1 Extension URL = http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris
oauth-uris: Supports automated discovery of OAuth2 endpoints.


Use on Element ID CapabilityStatement.rest.security
. . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . extension 1..1 Extension OAuth2 "authorize" endpoint
. . . . extension 0..0
. . . . url 1..1 uri "authorize"
. . . . valueUri 0..1 uri Value of extension
. . . extension 1..1 Extension OAuth2 "token" endpoint
. . . . extension 0..0
. . . . url 1..1 uri "token"
. . . . valueUri 0..1 uri Value of extension
. . . extension 0..1 Extension OAuth2 dynamic registration endpoint
. . . . extension 0..0
. . . . url 1..1 uri "register"
. . . . valueUri 0..1 uri Value of extension
. . . extension 0..1 Extension User-facing authorization management entry point
. . . . extension 0..0
. . . . url 1..1 uri "manage"
. . . . valueUri 0..1 uri Value of extension
. . . url 1..1 uri "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"
. . . value[x] 0 .. 0

doco Documentation for this format

XML Template

<!-- oauth-uris -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="authorize"> 1..1 Extension  <!-- 1..1 OAuth2 "authorize" endpoint -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
 <extension url="token"> 1..1 Extension  <!-- 1..1 OAuth2 "token" endpoint -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
 <extension url="register"> 0..1 Extension  <!-- 0..1 OAuth2 dynamic registration endpoint -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
 <extension url="manage"> 0..1 Extension  <!-- 0..1 User-facing authorization management entry point -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // oauth-uris
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // OAuth2 "authorize" endpoint // R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "authorize", // R! 
        "valueUri" : "<uri>" //Value of extension
      },
      { // OAuth2 "token" endpoint // R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "token", // R! 
        "valueUri" : "<uri>" //Value of extension
      },
      { // OAuth2 dynamic registration endpoint //
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "register", // R! 
        "valueUri" : "<uri>" //Value of extension
      },
      { // User-facing authorization management entry point //
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "manage", // R! 
        "valueUri" : "<uri>" //Value of extension
      }
    ],
    "url" : "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris", // R! 


// value[x]: Value of extension. One of these 49:
  }

Summary

Name Flags Card. Type Description & Constraints doco
. . extension oauth-uris 0..1 Extension URL = http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris
oauth-uris: Supports automated discovery of OAuth2 endpoints.


Use on Element ID CapabilityStatement.rest.security
. . . authorize 1..1 uri The OAuth2 &ldquo;authorize&rdquo; &quot;authorize&quot; endpoint for this FHIR server.

. . . token 1..1 uri The OAuth2 &ldquo;token&rdquo; &quot;token&quot; endpoint for this FHIR server.

. . . register 0..1 uri The OAuth2 dynamic registration endpoint for this FHIR server, if supported.

. . . manage 0..1 uri The user-facing authorization management workflow entry point for this FHIR server.


doco Documentation for this format

Full Structure

Name Flags Card. Type Description & Constraints doco
. . extension 0..1 Extension URL = http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris
oauth-uris: Supports automated discovery of OAuth2 endpoints.


Use on Element ID CapabilityStatement.rest.security
. . . extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
. . . extension 1..1 Extension OAuth2 "authorize" endpoint
. . . . extension 0..0
. . . . url 1..1 uri "authorize"
. . . . valueUri 0..1 uri Value of extension
. . . extension 1..1 Extension OAuth2 "token" endpoint
. . . . extension 0..0
. . . . url 1..1 uri "token"
. . . . valueUri 0..1 uri Value of extension
. . . extension 0..1 Extension OAuth2 dynamic registration endpoint
. . . . extension 0..0
. . . . url 1..1 uri "register"
. . . . valueUri 0..1 uri Value of extension
. . . extension 0..1 Extension User-facing authorization management entry point
. . . . extension 0..0
. . . . url 1..1 uri "manage"
. . . . valueUri 0..1 uri Value of extension
. . . url 1..1 uri "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"
. . . value[x] 0 .. 0

doco Documentation for this format

XML Template

<!-- oauth-uris -->doco

<extension xmlns="http://hl7.org/fhir"
     url="http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris" >
 <-- extension sliced by value:url  in the specified orderOpen-->
 <extension url="authorize"> 1..1 Extension  <!-- 1..1 OAuth2 "authorize" endpoint -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
 <extension url="token"> 1..1 Extension  <!-- 1..1 OAuth2 "token" endpoint -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
 <extension url="register"> 0..1 Extension  <!-- 0..1 OAuth2 dynamic registration endpoint -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
 <extension url="manage"> 0..1 Extension  <!-- 0..1 User-facing authorization management entry point -->
  <valueUri value="[uri]"/><!-- 0..1 Value of extension -->
 </extension>
</extension>

JSON Template

{ // oauth-uris
    "extension" : [ //  sliced by value:url  in the specified order, Open 
      { // OAuth2 "authorize" endpoint // R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "authorize", // R! 
        "valueUri" : "<uri>" //Value of extension
      },
      { // OAuth2 "token" endpoint // R! 
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "token", // R! 
        "valueUri" : "<uri>" //Value of extension
      },
      { // OAuth2 dynamic registration endpoint //
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "register", // R! 
        "valueUri" : "<uri>" //Value of extension
      },
      { // User-facing authorization management entry point //
        // from Element: extension
        "extension" : [ //  sliced by value:url  in the specified order, Open ]
        "url" : "manage", // R! 
        "valueUri" : "<uri>" //Value of extension
      }
    ],
    "url" : "http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris", // R! 


// value[x]: Value of extension. One of these 49:
  }

 

Constraints

  • ele-1 : All FHIR elements must have a @value or children (xpath: @value|f:*|h:div )
  • ext-1 : Must have either extensions or value[x], not both (xpath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')]) )