FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packageio.health-samurai.core.r4b
Resource TypeStructureDefinition
IdStructureDefinition-Client.json
FHIR VersionR4B
Sourcehttps://simplifier.net/resolve?scope=io.health-samurai.core.r4b@0.2601.0&canonical=http://health-samurai.io/fhir/core/StructureDefinition/Client
URLhttp://health-samurai.io/fhir/core/StructureDefinition/Client
Version0.2601.0
Statusactive
NameClient
TypeClient
Kindresource

Resources that use this resource

StructureDefinition
AccessPolicyAccessPolicy
GrantGrant
SessionSession

Resources that this resource uses

StructureDefinition
AccessPolicyAccessPolicy
IdentityProviderIdentityProvider
ScopeScope

Narrative

No narrative content found in resource


Source1

{
  "derivation": "specialization",
  "fhirVersion": "4.3.0",
  "name": "Client",
  "abstract": false,
  "type": "Client",
  "resourceType": "StructureDefinition",
  "status": "active",
  "id": "Client",
  "kind": "resource",
  "url": "http://health-samurai.io/fhir/core/StructureDefinition/Client",
  "version": "0.2601.0",
  "differential": {
    "element": [
      {
        "id": "Client",
        "path": "Client",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Client.active",
        "path": "Client.active",
        "short": "Indicates whether this client is active and can be used for authentication.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client._source",
        "path": "Client._source",
        "short": "System Property. DO NOT USE IT.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.description",
        "path": "Client.description",
        "short": "A description of the client application for administrative purposes.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.secret",
        "path": "Client.secret",
        "short": "Hashed client secret for authentication.",
        "min": 0,
        "max": "1",
        "extension": [
          {
            "url": "http://health-samurai.io/fhir/core/StructureDefinition/custom-type",
            "valueCode": "sha256Hash"
          }
        ]
      },
      {
        "id": "Client.first_party",
        "path": "Client.first_party",
        "short": "Indicates whether this is a first-party client.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.trusted",
        "path": "Client.trusted",
        "short": "Indicates whether this client is trusted and given special privileges.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.scope",
        "path": "Client.scope",
        "short": "List of scopes this client is authorized to request.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.type",
        "path": "Client.type",
        "short": "The type of client application.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.details",
        "path": "Client.details",
        "short": "Additional client details or configuration options.",
        "min": 0,
        "max": "1",
        "extension": [
          {
            "url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
            "valueCode": "any"
          }
        ]
      },
      {
        "id": "Client.name",
        "path": "Client.name",
        "short": "Human-readable name of the client application.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.smart",
        "path": "Client.smart",
        "short": "SMART on FHIR configuration for this client.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.smart.launch_uri",
        "path": "Client.smart.launch_uri",
        "short": "URI to launch the SMART app.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.smart.name",
        "path": "Client.smart.name",
        "short": "Name of the SMART app.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.smart.description",
        "path": "Client.smart.description",
        "short": "Description of the SMART app.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.fhir-base-url",
        "path": "Client.fhir-base-url",
        "short": "Base URL of the FHIR server this client interacts with.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.allowed-scopes",
        "path": "Client.allowed-scopes",
        "short": "References to specific Scope resources this client is allowed to request.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://health-samurai.io/fhir/core/StructureDefinition/Scope"
            ]
          }
        ]
      },
      {
        "id": "Client.allowedIssuers",
        "path": "Client.allowedIssuers",
        "short": "List of authorized token issuers for this client.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.grant_types",
        "path": "Client.grant_types",
        "short": "OAuth 2.0 grant types this client is authorized to use.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1152",
            "severity": "error",
            "human": "Grant type must be one of: basic, authorization_code, code, password, client_credentials, implicit, refresh_token, urn:ietf:params:oauth:grant-type:token-exchange",
            "expression": "%context.subsetOf('basic' | 'authorization_code' | 'code' | 'password' | 'client_credentials' | 'implicit' | 'refresh_token' | 'urn:ietf:params:oauth:grant-type:token-exchange')"
          }
        ]
      },
      {
        "id": "Client.allowed_origins",
        "path": "Client.allowed_origins",
        "short": "Allowed Origins are URLs that will be allowed to make requests.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "uri"
          }
        ]
      },
      {
        "id": "Client.scopes",
        "path": "Client.scopes",
        "short": "Detailed scope configurations with associated policies.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.scopes.policy",
        "path": "Client.scopes.policy",
        "short": "Reference to an AccessPolicy resource for this scope.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://health-samurai.io/fhir/core/StructureDefinition/AccessPolicy"
            ]
          }
        ]
      },
      {
        "id": "Client.scopes.parameters",
        "path": "Client.scopes.parameters",
        "short": "Parameters to be applied with the scope's policy.",
        "min": 0,
        "max": "1",
        "extension": [
          {
            "url": "http://health-samurai.io/fhir/core/StructureDefinition/additional-properties-custom-type",
            "valueCode": "any"
          }
        ]
      },
      {
        "id": "Client.jwks",
        "path": "Client.jwks",
        "short": "JSON Web Key Set for client authentication and/or verification.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.jwks.kid",
        "path": "Client.jwks.kid",
        "short": "Key ID that identifies this key.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.jwks.kty",
        "path": "Client.jwks.kty",
        "short": "Key type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1150",
            "severity": "error",
            "human": "Key type must be RSA",
            "expression": "%context.subsetOf('RSA')"
          }
        ]
      },
      {
        "id": "Client.jwks.alg",
        "path": "Client.jwks.alg",
        "short": "Algorithm used with this key.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1151",
            "severity": "error",
            "human": "Algorithm must be RS384",
            "expression": "%context.subsetOf('RS384')"
          }
        ]
      },
      {
        "id": "Client.jwks.e",
        "path": "Client.jwks.e",
        "short": "Exponent value for RSA key.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.jwks.n",
        "path": "Client.jwks.n",
        "short": "Modulus value for RSA key.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.jwks.use",
        "path": "Client.jwks.use",
        "short": "Key usage.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1149",
            "severity": "error",
            "human": "Use must be sig",
            "expression": "%context.subsetOf('sig')"
          }
        ]
      },
      {
        "id": "Client.jwks_uri",
        "path": "Client.jwks_uri",
        "short": "URI where the client's JSON Web Key Set can be retrieved.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "Client.auth",
        "path": "Client.auth",
        "short": "Authentication configuration for different OAuth flows.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials",
        "path": "Client.auth.client_credentials",
        "short": "Configuration for the client credentials grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials.token_format",
        "path": "Client.auth.client_credentials.token_format",
        "short": "Format of the access token.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-client_credentials_token_format",
            "severity": "error",
            "human": "Token format must be jwt",
            "expression": "%context.subsetOf('jwt')"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials.access_token_expiration",
        "path": "Client.auth.client_credentials.access_token_expiration",
        "short": "Expiration time for access tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials.refresh_token_expiration",
        "path": "Client.auth.client_credentials.refresh_token_expiration",
        "short": "Expiration time for refresh tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials.audience",
        "path": "Client.auth.client_credentials.audience",
        "short": "Intended audience for issued tokens.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials.refresh_token",
        "path": "Client.auth.client_credentials.refresh_token",
        "short": "Whether to issue refresh tokens with this grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.auth.client_credentials.client_assertion_types",
        "path": "Client.auth.client_credentials.client_assertion_types",
        "short": "Supported client assertion types.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1153",
            "severity": "error",
            "human": "Client assertion type must be urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
            "expression": "%context.subsetOf('urn:ietf:params:oauth:client-assertion-type:jwt-bearer')"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code",
        "path": "Client.auth.authorization_code",
        "short": "Configuration for the authorization code grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.token_format",
        "path": "Client.auth.authorization_code.token_format",
        "short": "Format of the access token.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1556",
            "severity": "error",
            "human": "Token format must be jwt",
            "expression": "%context.subsetOf('jwt')"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.audience",
        "path": "Client.auth.authorization_code.audience",
        "short": "Intended audience for issued tokens.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.secret_required",
        "path": "Client.auth.authorization_code.secret_required",
        "short": "Whether client secret is required for token exchange.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.pkce",
        "path": "Client.auth.authorization_code.pkce",
        "short": "Whether PKCE (Proof Key for Code Exchange) is required.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.redirect_uri",
        "path": "Client.auth.authorization_code.redirect_uri",
        "short": "Redirect URI for the authorization code flow.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.access_token_expiration",
        "path": "Client.auth.authorization_code.access_token_expiration",
        "short": "Expiration time for access tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.refresh_token_expiration",
        "path": "Client.auth.authorization_code.refresh_token_expiration",
        "short": "Expiration time for refresh tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.refresh_token",
        "path": "Client.auth.authorization_code.refresh_token",
        "short": "Whether to issue refresh tokens with this grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.client_assertion_types",
        "path": "Client.auth.authorization_code.client_assertion_types",
        "short": "Supported client assertion types.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1153",
            "severity": "error",
            "human": "Client assertion type must be urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
            "expression": "%context.subsetOf('urn:ietf:params:oauth:client-assertion-type:jwt-bearer')"
          }
        ]
      },
      {
        "id": "Client.auth.authorization_code.default_identity_provider",
        "path": "Client.auth.authorization_code.default_identity_provider",
        "short": "Default IdentityProvider that will be used instead of Aidbox login.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://health-samurai.io/fhir/core/StructureDefinition/IdentityProvider"
            ]
          }
        ]
      },
      {
        "id": "Client.auth.password",
        "path": "Client.auth.password",
        "short": "Configuration for the password grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.auth.password.secret_required",
        "path": "Client.auth.password.secret_required",
        "short": "Whether client secret is required for password grant.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.auth.password.audience",
        "path": "Client.auth.password.audience",
        "short": "Intended audience for issued tokens.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.auth.password.refresh_token",
        "path": "Client.auth.password.refresh_token",
        "short": "Whether to issue refresh tokens with this grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Client.auth.password.redirect_uri",
        "path": "Client.auth.password.redirect_uri",
        "short": "If present, turn on redirect protection",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "Client.auth.password.token_format",
        "path": "Client.auth.password.token_format",
        "short": "Format of the access token.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1155",
            "severity": "error",
            "human": "Token format must be jwt",
            "expression": "%context.subsetOf('jwt')"
          }
        ]
      },
      {
        "id": "Client.auth.password.access_token_expiration",
        "path": "Client.auth.password.access_token_expiration",
        "short": "Expiration time for access tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.password.refresh_token_expiration",
        "path": "Client.auth.password.refresh_token_expiration",
        "short": "Expiration time for refresh tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.implicit",
        "path": "Client.auth.implicit",
        "short": "Configuration for the implicit grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.auth.implicit.redirect_uri",
        "path": "Client.auth.implicit.redirect_uri",
        "short": "Redirect URI for the implicit flow.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "Client.auth.implicit.token_format",
        "path": "Client.auth.implicit.token_format",
        "short": "Format of the access token.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1154",
            "severity": "error",
            "human": "Token format must be jwt",
            "expression": "%context.subsetOf('jwt')"
          }
        ]
      },
      {
        "id": "Client.auth.implicit.audience",
        "path": "Client.auth.implicit.audience",
        "short": "Intended audience for issued tokens.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.auth.implicit.access_token_expiration",
        "path": "Client.auth.implicit.access_token_expiration",
        "short": "Expiration time for access tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.token_exchange",
        "path": "Client.auth.token_exchange",
        "short": "Configuration for the token exchange grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "Client.auth.token_exchange.token_format",
        "path": "Client.auth.token_exchange.token_format",
        "short": "Format of the access token.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "enum-1557",
            "severity": "error",
            "human": "Token format must be jwt",
            "expression": "%context.subsetOf('jwt')"
          }
        ]
      },
      {
        "id": "Client.auth.token_exchange.access_token_expiration",
        "path": "Client.auth.token_exchange.access_token_expiration",
        "short": "Expiration time for access tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.token_exchange.refresh_token_expiration",
        "path": "Client.auth.token_exchange.refresh_token_expiration",
        "short": "Expiration time for refresh tokens in seconds.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "Client.auth.token_exchange.audience",
        "path": "Client.auth.token_exchange.audience",
        "short": "Intended audience for issued tokens.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "Client.auth.token_exchange.refresh_token",
        "path": "Client.auth.token_exchange.refresh_token",
        "short": "Whether to issue refresh tokens with this grant type.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "boolean"
          }
        ]
      }
    ]
  },
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}