CDSHooksServices
type: StructureDefinition
node role: treeRoot
id:
  v: CDSHooksServices
text:
  status:
    v: extensions
  div:
    v: English Generated Narrative: StructureDefinition CDSHooksServices Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> CDSHooksServices 0..* CDSHooksElement The response to the discovery endpoint Elements defined in Ancestors:extension #xD; services 0..* CDSHooksElement A list of CDS services #xD; hook 1..1 string The hook this Services should be invoked on #xD; title 0..1 string The human-friendly name of this Services (Recommended) #xD; id 1..1 code {baseUrl}/cds-services/{id} #xD; description 1..1 string The description of this Services #xD; usageRequirements 0..1 string Human-friendly preconditions for this CDS Services #xD; prefetch 0..* Base Key/value pairs of FHIR queries to provide when calling JSON: Represented as a single JSON Object with named properties using the value of the key child as the key #xD; key 1..1 code Key of FHIR query #xD; value 1..1 string FHIR query to execute #xD; <img src="[binary]" alt="doco" style="background-color: inherit"/> Documentation for this format Spanish Generated Narrative: StructureDefinition CDSHooksServices Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> CDSHooksServices 0..* CDSHooksElement The response to the discovery endpoint Elements defined in Ancestors:extension #xD; services 0..* CDSHooksElement A list of CDS services #xD; hook 1..1 string The hook this Services should be invoked on #xD; title 0..1 string The human-friendly name of this Services (Recommended) #xD; id 1..1 code {baseUrl}/cds-services/{id} #xD; description 1..1 string The description of this Services #xD; usageRequirements 0..1 string Human-friendly preconditions for this CDS Services #xD; prefetch 0..* Base Key/value pairs of FHIR queries to provide when calling JSON: Represented as a single JSON Object with named properties using the value of the key child as the key #xD; key 1..1 code Key of FHIR query #xD; value 1..1 s…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 1
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/json-suppress-resourcetype
    l: json-suppress-resourcetype
  value: Boolean
    v: true
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: informative
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Canonical
        v: http://hl7.org/fhir/tools/ImplementationGuide/hl7.fhir.uv.tools
        l: hl7.fhir.uv.tools
url:
  v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksServices
  l: CDSHooksServices
identifier:
  system:
    v: urn:ietf:rfc:3986
    l: 3986
  value:
    v: urn:oid:2.16.840.1.113883.4.642.40.1.42.8
version:
  v: 1.0.0
name:
  v: CDSHooksServices
title:
  v: CDSHooks Services Request (Logical Definition)
status:
  v: draft
experimental:
  v: true
date:
  v: 2026-02-04T08:29:03+11:00
publisher:
  v: HL7 International / FHIR Infrastructure
contact:
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: This structure is defined to allow the FHIR Validator to validate a CDSHooks Services response body. TODO: This content will be moved to the CDS Hooks specification in the future
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
fhir version:
  v: 5.0.0
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
kind:
  v: logical
abstract:
  v: false
type:
  v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksServices
  l: CDSHooksServices
base definition:
  v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
  l: CDSHooksElement
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
      l: snapshot-base-version
    value: String
      v: 1.0.0
  element:
    id:
      v: CDSHooksServices
    path:
      v: CDSHooksServices
    short:
      v: The response to the discovery endpoint
    definition:
      v: The response to the discovery endpoint
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: Base
      min:
        v: 0
      max:
        v: *
    is modifier:
      v: false
    mapping:
      identity:
        v: rim
      map:
        v: n/a
  element:
    id:
      v: CDSHooksServices.extension
    path:
      v: CDSHooksServices.extension
    short:
      v: Object that has Named Extension Properties
    definition:
      v: A JSON object that has properties where the names are defined by the extension definitions
    comment:
      v: 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:
      v: 0
    max:
      v: 1
    base:
      path:
        v: CDSHooksElement.extension
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
        l: CDSHooksExtensions
  element:
    id:
      v: CDSHooksServices.services
    path:
      v: CDSHooksServices.services
    short:
      v: A list of CDS services
    definition:
      v: A list of CDS services
    comment:
      v: If the CDS server hosts no CDS services, the discovery endpoint should return a 200 HTTP response with an empty array of services
    min:
      v: 0
    max:
      v: *
    base:
      path:
        v: CDSHooksServices.services
      min:
        v: 0
      max:
        v: *
    type:
      code:
        v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
        l: CDSHooksElement
  element:
    id:
      v: CDSHooksServices.services.extension
    path:
      v: CDSHooksServices.services.extension
    short:
      v: Object that has Named Extension Properties
    definition:
      v: A JSON object that has properties where the names are defined by the extension definitions
    comment:
      v: 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:
      v: 0
    max:
      v: 1
    base:
      path:
        v: CDSHooksElement.extension

v: 0

v: 1

id:
  v: CDSHooksServices.services.hook
path:
  v: CDSHooksServices.services.hook
short:
  v: The hook this Services should be invoked on
definition:
  v: The hook this Services should be invoked on
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.hook
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: CDSHooksServices.services.title
path:
  v: CDSHooksServices.services.title
short:
  v: The human-friendly name of this Services (Recommended)
definition:
  v: The human-friendly name of this Services (Recommended)
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.title
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: CDSHooksServices.services.id
path:
  v: CDSHooksServices.services.id
short:
  v: {baseUrl}/cds-services/{id}
definition:
  v: The {id} portion of the URL to this service which is available at ```{baseUrl}/cds-services/{id}```
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.id
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code

id:
  v: CDSHooksServices.services.description
path:
  v: CDSHooksServices.services.description
short:
  v: The description of this Services
definition:
  v: The description of this Services
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.description
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: CDSHooksServices.services.usageRequirements
path:
  v: CDSHooksServices.services.usageRequirements
short:
  v: Human-friendly preconditions for this CDS Services
definition:
  v: Human-friendly description of any preconditions for the use of this CDS Services
min:
  v: 0
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.usageRequirements
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: CDSHooksServices.services.prefetch
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/json-property-key
    l: json-property-key
  value: Code
    v: key
path:
  v: CDSHooksServices.services.prefetch
short:
  v: Key/value pairs of FHIR queries to provide when calling
definition:
  v: An object containing key/value pairs of FHIR queries that this Services is requesting the CDS Client to perform and provide on each Services 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:
  v: 0
max:
  v: *
base:
  path:
    v: CDSHooksServices.services.prefetch
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Base
    l: Base

id:
  v: CDSHooksServices.services.prefetch.key
path:
  v: CDSHooksServices.services.prefetch.key
short:
  v: Key of FHIR query
definition:
  v: Key of FHIR query - name for client to use when sending to Services
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.prefetch.key
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: code
    l: code

id:
  v: CDSHooksServices.services.prefetch.value
path:
  v: CDSHooksServices.services.prefetch.value
short:
  v: FHIR query to execute
definition:
  v: Value of FHIR query - FHIR Query for client to perform
min:
  v: 1
max:
  v: 1
base:
  path:
    v: CDSHooksServices.services.prefetch.value
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: string
    l: string

element:
  id:
    v: CDSHooksServices
  path:
    v: CDSHooksServices
  short:
    v: The response to the discovery endpoint
  definition:
    v: The response to the discovery endpoint
element:
  id:
    v: CDSHooksServices.services
  path:
    v: CDSHooksServices.services
  short:
    v: A list of CDS services
  definition:
    v: A list of CDS services
  comment:
    v: If the CDS server hosts no CDS services, the discovery endpoint should return a 200 HTTP response with an empty array of services
  min:
    v: 0
  max:
    v: *
  type:
    code:
      v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
      l: CDSHooksElement
element:
  id:
    v: CDSHooksServices.services.hook
  path:
    v: CDSHooksServices.services.hook
  short:
    v: The hook this Services should be invoked on
  definition:
    v: The hook this Services should be invoked on
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: CDSHooksServices.services.title
  path:
    v: CDSHooksServices.services.title
  short:
    v: The human-friendly name of this Services (Recommended)
  definition:
    v: The human-friendly name of this Services (Recommended)
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: CDSHooksServices.services.id
  path:
    v: CDSHooksServices.services.id
  short:
    v: {baseUrl}/cds-services/{id}
  definition:
    v: The {id} portion of the URL to this service which is available at ```{baseUrl}/cds-services/{id}```
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: code
      l: code
element:
  id:
    v: CDSHooksServices.services.description
  path:
    v: CDSHooksServices.services.description
  short:
    v: The description of this Services
  definition:
    v: The description of this Services
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: CDSHooksServices.services.usageRequirements
  path:
    v: CDSHooksServices.services.usageRequirements
  short:
    v: Human-friendly preconditions for this CDS Services
  definition:
    v: Human-friendly description of any preconditions for the use of this CDS Services
  min:
    v: 0
  max:
    v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: CDSHooksServices.services.prefetch
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/json-property-key
      l: json-property-key
    value: Code
      v: key
  path:
    v: CDSHooksServices.services.prefetch
  short:
    v: Key/value pairs of FHIR queries to provide when calling
  definition:
    v: An object containing key/value pairs of FHIR queries that this Services is requesting the CDS Client to perform and provide on each Services 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:
    v: 0
  max:
    v: *
  type:
    code:
      v: Base
      l: Base
element:
  id:
    v: CDSHooksServices.services.prefetch.key
  path:
    v: CDSHooksServices.services.prefetch.key
  short:
    v: Key of FHIR query
  definition:
    v: Key of FHIR query - name for client to use when sending to Services
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: code
      l: code
element:
  id:
    v: CDSHooksServices.services.prefetch.value
  path:
    v: CDSHooksServices.services.prefetch.value
  short:
    v: FHIR query to execute
  definition:
    v: Value of FHIR query - FHIR Query for client to perform
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string
      l: string