description: 'This structure is defined to allow the FHIR Validator to validate a CDSHooks Request Body. TODO: This content will be moved to the CDS Hooks specification in the future' package_name: hl7.fhir.uv.tools.r5 derivation: specialization name: CDSHooksRequest type: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest elements: hook: {type: code, short: The hook that triggered this CDS Service call, index: 0} hookInstance: {short: A universally unique identifier (UUID) for this particular hook call, type: uuid, index: 1} fhirServer: {type: url, short: The base URL of the CDS Client's FHIR server, index: 2} fhirAuthorization: type: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement short: A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token constraint: cds-r-2: {human: 'If the granted SMART scopes include patient scopes (i.e. ''patient/''), the patient field SHOULD be populated to identify the FHIR id of that patient.', severity: error, expression: scope.contains('Patient/') implies patient.exists()} index: 3 elements: accessToken: {type: string, short: This is the OAuth 2.0 access token that provides access to the FHIR server, index: 4} tokenType: pattern: {type: Code, value: Bearer} short: 'Fixed value: Bearer' type: code index: 5 expiresIn: {type: integer, short: The lifetime in seconds of the access token., index: 6} scope: {type: string, short: The scopes the access token grants the CDS Service, index: 7} subject: {type: string, short: 'The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client''s authorization server', index: 8} patient: {type: id, short: 'The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client''s authorization server', index: 9} required: [tokenType, accessToken, scope, subject, expiresIn] context: {type: 'http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext', short: Hook-specific contextual data that the CDS service will need, index: 10} prefetch: type: Base short: Key/value pairs of FHIR queries the CDS Client provides on each call array: true index: 11 elements: key: {type: code, short: Key of FHIR query - name for client to use when sending to Request, index: 12} value: {type: Resource, short: Value of FHIR query - FHIR Query for client to perform, index: 13} required: [key, value] package_version: 0.4.0 class: logical kind: logical url: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest base: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement version: 0.4.0 required: [hookInstance, context, hook]