CDSHooksServices
type: StructureDefinition
node role: treeRoot
id:
  v: CDSHooksServices
text:
  status:
    v: extensions
  div: English Generated Narrative: StructureDefinition CDSHooksServices Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> CDSHooksServices 0..* CDSHooksElement Elements defined in Ancestors:extension The response to the discovery endpoint #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 The URL to this service which is available at: {baseUrl}/cds-services/{id} #xD; description 1..1 string The description of this Services #xD; usageRequirements 0..1 string Human-friendly description of any preconditions for the use of this CDS Services #xD; prefetch 0..* Base Key/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 #xD; key 1..1 code Key of FHIR query - name for client to use when sending to Services #xD; value 1..1 string Value of FHIR query - FHIR Query for client to perform #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 Elements defined in Ancestors:extension The response to the discovery endpoint #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 The URL to this service which is available at: {baseUrl}/cds-services/{id} #xD; description 1..1 string The description of this Services #xD; usageRequirements 0..1 string Human-friendly description of any preconditions for the use of this CDS S…
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
  value: integer
    v: 1
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/json-suppress-resourcetype
  value: boolean
    v: true
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
  value: code
    v: fhir
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
  value: code
    v: informative
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
      value: canonical
        v: http://hl7.org/fhir/tools/ImplementationGuide/hl7.fhir.uv.tools
        link: http://hl7.org/fhir/tools/ImplementationGuide/hl7.fhir.uv.tools
url:
  v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksServices
identifier:
  system:
    v: urn:ietf:rfc:3986
  value:
    v: urn:oid:2.16.840.1.113883.4.642.40.1.42.8
version:
  v: 0.6.0
name:
  v: CDSHooksServices
title:
  v: CDSHooks Services Request (Logical Definition)
status:
  v: draft
experimental:
  v: true
date:
  v: 2025-07-20T21:15:46+10: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
    code:
      v: 001
fhir version:
  v: 5.0.0
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
  name:
    v: RIM Mapping
kind:
  v: logical
abstract:
  v: false
type:
  v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksServices
base definition:
  v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
  link: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement
derivation:
  v: specialization
snapshot:
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version
    value: string
      v: 0.6.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
  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
  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
      min:
        v: 0
      max:
        v: 1
    type:
      code:
        v: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions
  element:
    id:
      v: CDSHooksServices.services.hook
    path:
      v: CDSHooksServices.services.hook

v: The hook this Services should be invoked on

v: The hook this Services should be invoked on

v: 1

v: 1

path:
  v: CDSHooksServices.services.hook
min:
  v: 1
max:
  v: 1

code:
  v: 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

id:
  v: CDSHooksServices.services.id
path:
  v: CDSHooksServices.services.id
short:
  v: The URL to this service which is available at: {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

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

id:
  v: CDSHooksServices.services.usageRequirements
path:
  v: CDSHooksServices.services.usageRequirements
short:
  v: Human-friendly description of any preconditions for the use of 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

id:
  v: CDSHooksServices.services.prefetch
extension:
  url:
    v: http://hl7.org/fhir/tools/StructureDefinition/json-property-key
  value: code
    v: key
path:
  v: CDSHooksServices.services.prefetch
short:
  v: Key/value pairs of FHIR queries the CDS Client provides on each call
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

id:
  v: CDSHooksServices.services.prefetch.key
path:
  v: CDSHooksServices.services.prefetch.key
short:
  v: Key of FHIR query - name for client to use when sending to Services
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

id:
  v: CDSHooksServices.services.prefetch.value
path:
  v: CDSHooksServices.services.prefetch.value
short:
  v: Value of FHIR query - FHIR Query for client to perform
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

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
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
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
element:
  id:
    v: CDSHooksServices.services.id
  path:
    v: CDSHooksServices.services.id
  short:
    v: The URL to this service which is available at: {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
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
element:
  id:
    v: CDSHooksServices.services.usageRequirements
  path:
    v: CDSHooksServices.services.usageRequirements
  short:
    v: Human-friendly description of any preconditions for the use of 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
element:
  id:
    v: CDSHooksServices.services.prefetch
  extension:
    url:
      v: http://hl7.org/fhir/tools/StructureDefinition/json-property-key
    value: code
      v: key
  path:
    v: CDSHooksServices.services.prefetch
  short:
    v: Key/value pairs of FHIR queries the CDS Client provides on each call
  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
element:
  id:
    v: CDSHooksServices.services.prefetch.key
  path:
    v: CDSHooksServices.services.prefetch.key
  short:
    v: Key of FHIR query - name for client to use when sending to Services
  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
element:
  id:
    v: CDSHooksServices.services.prefetch.value
  path:
    v: CDSHooksServices.services.prefetch.value
  short:
    v: Value of FHIR query - FHIR Query for client to perform
  definition:
    v: Value of FHIR query - FHIR Query for client to perform
  min:
    v: 1
  max:
    v: 1
  type:
    code:
      v: string