FHIR © HL7.org  |  Server Home  |  XIG Home  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureDefinition/CDSHooksRequest

Packagehl7.fhir.uv.tools
TypeStructureDefinition
IdCDSHooksRequest
FHIR VersionR5
Sourcehttp://hl7.org/fhir/tools/https://build.fhir.org/ig/FHIR/fhir-tools-ig/StructureDefinition-CDSHooksRequest.html
URLhttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest
Version0.6.0-cibuild
Statusdraft
Date2025-07-20T10:49:18+00:00
NameCDSHooksRequest
TitleCDSHooks Request (Logical Definition)
Realmuv
Authorityhl7
DescriptionThis 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
Typehttp://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest
Kindlogical

Resources that use this resource

No resources found


Resources that this resource uses

StructureDefinition
CDSHookContextCDS Hook Specific Context (Logical Definition)
CDSHooksElementCDSHooks Services Base Extensible Element
CDSHookContextCDS Hook Specific Context (Logical Definition)
CDSHooksElementCDSHooks Services Base Extensible Element

Narrative

Note: links and images are rebased to the (stated) source


English


Generated Narrative: StructureDefinition CDSHooksRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksRequest C0..*CDSHooksElement
Elements defined in Ancestors:extension
The response to the discovery endpoint
Constraints: cds-r-1
... hook 1..1codeThe hook that triggered this CDS Service call
... hookInstance 1..1uuidA universally unique identifier (UUID) for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirServer 0..1urlThe base URL of the CDS Client's FHIR server
... fhirAuthorization C0..1CDSHooksElementA 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
Constraints: cds-r-2
.... accessToken 1..1stringThis is the OAuth 2.0 access token that provides access to the FHIR server
JSON Property Name: access_token
.... tokenType 1..1codeFixed value: Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1integerThe lifetime in seconds of the access token.
JSON Property Name: expires_in
.... scope 1..1stringThe scopes the access token grants the CDS Service
.... subject 1..1stringThe OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server
.... patient 0..1idThe OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server
... context 1..1CDSHookContextHook-specific contextual data that the CDS service will need
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..*BaseKey/value pairs of FHIR queries the CDS Client provides on each call
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1codeKey of FHIR query - name for client to use when sending to Request
.... value 1..1ResourceValue of FHIR query - FHIR Query for client to perform
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Spanish


Generated Narrative: StructureDefinition CDSHooksRequest

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksRequest C0..*CDSHooksElement
Elements defined in Ancestors:extension
The response to the discovery endpoint
Constraints: cds-r-1
... hook 1..1codeThe hook that triggered this CDS Service call
... hookInstance 1..1uuidA universally unique identifier (UUID) for this particular hook call
When this element is read urn:uuid: is prefixed to the value before validation
... fhirServer 0..1urlThe base URL of the CDS Client's FHIR server
... fhirAuthorization C0..1CDSHooksElementA 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
Constraints: cds-r-2
.... accessToken 1..1stringThis is the OAuth 2.0 access token that provides access to the FHIR server
JSON Property Name: access_token
.... tokenType 1..1codeFixed value: Bearer
JSON Property Name: token_type
Fixed Value: Bearer
.... expiresIn 1..1integerThe lifetime in seconds of the access token.
JSON Property Name: expires_in
.... scope 1..1stringThe scopes the access token grants the CDS Service
.... subject 1..1stringThe OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server
.... patient 0..1idThe OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server
... context 1..1CDSHookContextHook-specific contextual data that the CDS service will need
JSON: If%resource.hook = 'patient-view'then the type is CDSHookPatientViewContext
JSON: If%resource.hook = 'order-sign'then the type is CDSHookOrderSignContext
JSON: If%resource.hook = 'order-select'then the type is CDSHookOrderSelectContext
... prefetch 0..*BaseKey/value pairs of FHIR queries the CDS Client provides on each call
JSON: Represented as a single JSON Object with named properties using the value of the key child as the key
.... key 1..1codeKey of FHIR query - name for client to use when sending to Request
.... value 1..1ResourceValue of FHIR query - FHIR Query for client to perform
Id may or not be present (this is the default for elements but not resources)
JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)

doco Documentation for this format

Source

{
  "resourceType": "StructureDefinition",
  "id": "CDSHooksRequest",
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 1
    },
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/json-suppress-resourcetype",
      "valueBoolean": true
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "fhir"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "informative",
      "_valueCode": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://hl7.org/fhir/tools/ImplementationGuide/hl7.fhir.uv.tools"
          }
        ]
      }
    }
  ],
  "url": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest",
  "identifier": [
    {
      "system": "urn:ietf:rfc:3986",
      "value": "urn:oid:2.16.840.1.113883.4.642.40.1.42.6"
    }
  ],
  "version": "0.6.0-cibuild",
  "name": "CDSHooksRequest",
  "title": "CDSHooks Request (Logical Definition)",
  "status": "draft",
  "experimental": true,
  "date": "2025-07-20T10:49:18+00:00",
  "publisher": "HL7 International / FHIR Infrastructure",
  "contact": [
    {
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/fiwg"
        }
      ]
    }
  ],
  "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",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001"
        }
      ]
    }
  ],
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "rim",
      "uri": "http://hl7.org/v3",
      "name": "RIM Mapping"
    }
  ],
  "kind": "logical",
  "abstract": false,
  "type": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest",
  "baseDefinition": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement",
  "derivation": "specialization",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "0.6.0-cibuild"
      }
    ],
    "element": [
      {
        "id": "CDSHooksRequest",
        "path": "CDSHooksRequest",
        "short": "The response to the discovery endpoint",
        "definition": "The response to the discovery endpoint",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "constraint": [
          {
            "key": "cds-r-1",
            "severity": "error",
            "human": "if fhirAuthorization details are provided, a fhirServer SHALL be specified",
            "expression": "fhirAuthorization.exists() implies fhirServer.exists()"
          }
        ],
        "isModifier": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.extension",
        "path": "CDSHooksRequest.extension",
        "short": "Object that has Named Extension Properties",
        "definition": "A JSON object that has properties where the names are defined by the extension definitions",
        "comment": "Extension structures SHOULD use a strategy for naming that ensures global uniqueness, such as reverse-domain-name notation, e.g. com.cds-hooks.sandbox.myextension-practitionerspecialty. How to handle complex extensions (objects) is not defined",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksElement.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.hook",
        "path": "CDSHooksRequest.hook",
        "short": "The hook that triggered this CDS Service call",
        "definition": "The hook that triggered this CDS Service call",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.hook",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.hookInstance",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix",
            "valueString": "urn:uuid:"
          }
        ],
        "path": "CDSHooksRequest.hookInstance",
        "short": "A universally unique identifier (UUID) for this particular hook call",
        "definition": "While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation",
        "comment": "Note: the hookInstance is globally unique and should contain enough entropy to be un-guessable.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.hookInstance",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "uuid"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirServer",
        "path": "CDSHooksRequest.fhirServer",
        "short": "The base URL of the CDS Client's FHIR server",
        "definition": "The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirServer",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization",
        "path": "CDSHooksRequest.fhirAuthorization",
        "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",
        "definition": "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",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"
          }
        ],
        "constraint": [
          {
            "key": "cds-r-2",
            "severity": "error",
            "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.",
            "expression": "scope.contains('Patient/') implies patient.exists()"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.extension",
        "path": "CDSHooksRequest.fhirAuthorization.extension",
        "short": "Object that has Named Extension Properties",
        "definition": "A JSON object that has properties where the names are defined by the extension definitions",
        "comment": "Extension structures SHOULD use a strategy for naming that ensures global uniqueness, such as reverse-domain-name notation, e.g. com.cds-hooks.sandbox.myextension-practitionerspecialty. How to handle complex extensions (objects) is not defined",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksElement.extension",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.accessToken",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-name",
            "valueString": "access_token"
          }
        ],
        "path": "CDSHooksRequest.fhirAuthorization.accessToken",
        "short": "This is the OAuth 2.0 access token that provides access to the FHIR server",
        "definition": "This is the OAuth 2.0 access token that provides access to the FHIR server",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization.accessToken",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.tokenType",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-name",
            "valueString": "token_type"
          }
        ],
        "path": "CDSHooksRequest.fhirAuthorization.tokenType",
        "short": "Fixed value: Bearer",
        "definition": "Fixed value: Bearer",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization.tokenType",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "fixedCode": "Bearer"
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.expiresIn",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-name",
            "valueString": "expires_in"
          }
        ],
        "path": "CDSHooksRequest.fhirAuthorization.expiresIn",
        "short": "The lifetime in seconds of the access token.",
        "definition": "The lifetime in seconds of the access token.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization.expiresIn",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.scope",
        "path": "CDSHooksRequest.fhirAuthorization.scope",
        "short": "The scopes the access token grants the CDS Service",
        "definition": "The scopes the access token grants the CDS Service",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization.scope",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.subject",
        "path": "CDSHooksRequest.fhirAuthorization.subject",
        "short": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "definition": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization.subject",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.patient",
        "path": "CDSHooksRequest.fhirAuthorization.patient",
        "short": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "definition": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.fhirAuthorization.patient",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "id"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.context",
        "extension": [
          {
            "extension": [
              {
                "url": "condition",
                "valueString": "%resource.hook = 'patient-view'"
              },
              {
                "url": "type",
                "valueCode": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookPatientViewContext"
              }
            ],
            "url": "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
          },
          {
            "extension": [
              {
                "url": "condition",
                "valueString": "%resource.hook = 'order-sign'"
              },
              {
                "url": "type",
                "valueCode": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSignContext"
              }
            ],
            "url": "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
          },
          {
            "extension": [
              {
                "url": "condition",
                "valueString": "%resource.hook = 'order-select'"
              },
              {
                "url": "type",
                "valueCode": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSelectContext"
              }
            ],
            "url": "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
          }
        ],
        "path": "CDSHooksRequest.context",
        "short": "Hook-specific contextual data that the CDS service will need",
        "definition": "Hook-specific contextual data that the CDS service will need",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.context",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.prefetch",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-property-key",
            "valueCode": "key"
          }
        ],
        "path": "CDSHooksRequest.prefetch",
        "short": "Key/value pairs of FHIR queries the CDS Client provides on each call",
        "definition": "An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request call. The key is a string that describes the type of data being requested and the value is a string representing the FHIR query",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CDSHooksRequest.prefetch",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Base"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.prefetch.key",
        "path": "CDSHooksRequest.prefetch.key",
        "short": "Key of FHIR query - name for client to use when sending to Request",
        "definition": "Key of FHIR query - name for client to use when sending to Request",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.prefetch.key",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.prefetch.value",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-nullable",
            "valueBoolean": true
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/id-expectation",
            "valueCode": "optional"
          }
        ],
        "path": "CDSHooksRequest.prefetch.value",
        "short": "Value of FHIR query - FHIR Query for client to perform",
        "definition": "Value of FHIR query - FHIR Query for client to perform",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksRequest.prefetch.value",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "Resource"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "CDSHooksRequest",
        "path": "CDSHooksRequest",
        "short": "The response to the discovery endpoint",
        "definition": "The response to the discovery endpoint",
        "constraint": [
          {
            "key": "cds-r-1",
            "severity": "error",
            "human": "if fhirAuthorization details are provided, a fhirServer SHALL be specified",
            "expression": "fhirAuthorization.exists() implies fhirServer.exists()"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.hook",
        "path": "CDSHooksRequest.hook",
        "short": "The hook that triggered this CDS Service call",
        "definition": "The hook that triggered this CDS Service call",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.hookInstance",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix",
            "valueString": "urn:uuid:"
          }
        ],
        "path": "CDSHooksRequest.hookInstance",
        "short": "A universally unique identifier (UUID) for this particular hook call",
        "definition": "While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation",
        "comment": "Note: the hookInstance is globally unique and should contain enough entropy to be un-guessable.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "uuid"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirServer",
        "path": "CDSHooksRequest.fhirServer",
        "short": "The base URL of the CDS Client's FHIR server",
        "definition": "The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "url"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization",
        "path": "CDSHooksRequest.fhirAuthorization",
        "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",
        "definition": "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",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"
          }
        ],
        "constraint": [
          {
            "key": "cds-r-2",
            "severity": "error",
            "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.",
            "expression": "scope.contains('Patient/') implies patient.exists()"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.accessToken",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-name",
            "valueString": "access_token"
          }
        ],
        "path": "CDSHooksRequest.fhirAuthorization.accessToken",
        "short": "This is the OAuth 2.0 access token that provides access to the FHIR server",
        "definition": "This is the OAuth 2.0 access token that provides access to the FHIR server",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.tokenType",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-name",
            "valueString": "token_type"
          }
        ],
        "path": "CDSHooksRequest.fhirAuthorization.tokenType",
        "short": "Fixed value: Bearer",
        "definition": "Fixed value: Bearer",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ],
        "fixedCode": "Bearer"
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.expiresIn",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-name",
            "valueString": "expires_in"
          }
        ],
        "path": "CDSHooksRequest.fhirAuthorization.expiresIn",
        "short": "The lifetime in seconds of the access token.",
        "definition": "The lifetime in seconds of the access token.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.scope",
        "path": "CDSHooksRequest.fhirAuthorization.scope",
        "short": "The scopes the access token grants the CDS Service",
        "definition": "The scopes the access token grants the CDS Service",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.subject",
        "path": "CDSHooksRequest.fhirAuthorization.subject",
        "short": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "definition": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.fhirAuthorization.patient",
        "path": "CDSHooksRequest.fhirAuthorization.patient",
        "short": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "definition": "The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "id"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.context",
        "extension": [
          {
            "extension": [
              {
                "url": "condition",
                "valueString": "%resource.hook = 'patient-view'"
              },
              {
                "url": "type",
                "valueCode": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookPatientViewContext"
              }
            ],
            "url": "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
          },
          {
            "extension": [
              {
                "url": "condition",
                "valueString": "%resource.hook = 'order-sign'"
              },
              {
                "url": "type",
                "valueCode": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSignContext"
              }
            ],
            "url": "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
          },
          {
            "extension": [
              {
                "url": "condition",
                "valueString": "%resource.hook = 'order-select'"
              },
              {
                "url": "type",
                "valueCode": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSelectContext"
              }
            ],
            "url": "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
          }
        ],
        "path": "CDSHooksRequest.context",
        "short": "Hook-specific contextual data that the CDS service will need",
        "definition": "Hook-specific contextual data that the CDS service will need",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.prefetch",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-property-key",
            "valueCode": "key"
          }
        ],
        "path": "CDSHooksRequest.prefetch",
        "short": "Key/value pairs of FHIR queries the CDS Client provides on each call",
        "definition": "An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request call. The key is a string that describes the type of data being requested and the value is a string representing the FHIR query",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Base"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.prefetch.key",
        "path": "CDSHooksRequest.prefetch.key",
        "short": "Key of FHIR query - name for client to use when sending to Request",
        "definition": "Key of FHIR query - name for client to use when sending to Request",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "CDSHooksRequest.prefetch.value",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-nullable",
            "valueBoolean": true
          },
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/id-expectation",
            "valueCode": "optional"
          }
        ],
        "path": "CDSHooksRequest.prefetch.value",
        "short": "Value of FHIR query - FHIR Query for client to perform",
        "definition": "Value of FHIR query - FHIR Query for client to perform",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Resource"
          }
        ]
      }
    ]
  }
}