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

FHIR IG analytics

Packagehl7.fhir.uv.cds-hooks
Resource TypeStructureDefinition
IdStructureDefinition-CDSHooksServices.json
FHIR VersionR4
Sourcehttps://build.fhir.org/ig/HL7/cds-hooks/StructureDefinition-CDSHooksServices.html
URLhttp://cds-hooks.hl7.org/StructureDefinition/CDSHooksServices
Version3.0.0-ballot
Statusdraft
Date2026-06-24T14:14:29+00:00
NameCDSHooksServices
TitleCDSHooks Discovery Response (Logical Definition)
Realmuv
Authorityhl7
DescriptionThis structure is defined to allow the FHIR Validator to validate a CDSHooks Discovery response body.
Typehttp://cds-hooks.hl7.org/StructureDefinition/CDSHooksServices
Kindlogical

Resources that use this resource

No resources found


Resources that this resource uses

StructureDefinition
hl7.fhir.uv.cds-hooks#currentCDSHooksElementCDSHooks Services Base Extensible Element
hl7.fhir.uv.tools#currentCDSHooksElementCDSHooks Services Base Extensible Element

Narrative

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

Generated Narrative: StructureDefinition CDSHooksServices

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksServices 0..*CDSHooksElementThe response to the discovery endpoint

Elements defined in Ancestors:extension
... services 0..*CDSHooksElementAn array of CDS Services
JSON: The type of this element is inferred from the JSON type in the instance
.... hook 1..1stringThe hook this service should be invoked on
.... title 0..1stringThe human-friendly name of this service
.... description 1..1stringThe description of this service
.... id 1..1stringThe {id} portion of the URL to this service
.... prefetch 0..*BaseKey/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
..... key 1..1codeKey of FHIR query
..... value 1..1stringFHIR query template
.... usageRequirements 0..1stringHuman-friendly preconditions for the use of this CDS Service
.... version 0..1stringCDS Hooks specification version implemented

doco Documentation for this format

Source1

{
  "resourceType": "StructureDefinition",
  "id": "CDSHooksServices",
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "extension": [
    {
      "url": "http://hl7.org/fhir/tools/StructureDefinition/json-suppress-resourcetype",
      "valueBoolean": true
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode": "cds"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "informative",
      "_valueCode": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom",
            "valueCanonical": "http://cds-hooks.hl7.org/ImplementationGuide/hl7.fhir.uv.cds-hooks"
          }
        ]
      }
    }
  ],
  "url": "http://cds-hooks.hl7.org/StructureDefinition/CDSHooksServices",
  "version": "3.0.0-ballot",
  "name": "CDSHooksServices",
  "title": "CDSHooks Discovery Response (Logical Definition)",
  "status": "draft",
  "experimental": true,
  "date": "2026-06-24T14:14:29+00:00",
  "publisher": "Clinical Decision Support WG",
  "contact": [
    {
      "name": "Clinical Decision Support WG",
      "telecom": [
        {
          "system": "url",
          "value": "http://www.hl7.org/Special/committees/dss/index.cfm"
        },
        {
          "system": "email",
          "value": "cds@lists.HL7.org"
        }
      ]
    }
  ],
  "description": "This structure is defined to allow the FHIR Validator to validate a CDSHooks Discovery response body.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code": "001",
          "display": "World"
        }
      ]
    }
  ],
  "fhirVersion": "4.0.1",
  "kind": "logical",
  "abstract": false,
  "type": "http://cds-hooks.hl7.org/StructureDefinition/CDSHooksServices",
  "baseDefinition": "http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement",
  "derivation": "specialization",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "3.0.0-ballot"
      }
    ],
    "element": [
      {
        "id": "CDSHooksServices",
        "path": "CDSHooksServices",
        "short": "The response to the discovery endpoint",
        "definition": "The response to the discovery endpoint SHALL be an object containing a list of CDS Services",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "isModifier": false
      },
      {
        "id": "CDSHooksServices.extension",
        "path": "CDSHooksServices.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": "CDSHooksServices.services",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-empty-behavior",
            "valueCode": "present"
          }
        ],
        "path": "CDSHooksServices.services",
        "short": "An array of CDS Services",
        "definition": "An array of CDS Services",
        "comment": "If the CDS server hosts no CDS Services, the discovery endpoint should return a 200 HTTP response with an empty array of services. Note that a CDS server can host multiple entries of CDS service with the same id for different hooks. This allows a service to update its advice based on changes in workflow.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CDSHooksServices.services",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.extension",
        "path": "CDSHooksServices.services.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": "CDSHooksServices.services.hook",
        "path": "CDSHooksServices.services.hook",
        "short": "The hook this service should be invoked on",
        "definition": "The hook this service should be invoked on",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.hook",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.title",
        "path": "CDSHooksServices.services.title",
        "short": "The human-friendly name of this service",
        "definition": "The human-friendly name of this service",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.title",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.description",
        "path": "CDSHooksServices.services.description",
        "short": "The description of this service",
        "definition": "The description of this service",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.description",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.id",
        "path": "CDSHooksServices.services.id",
        "short": "The {id} portion of the URL to this service",
        "definition": "The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.id",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.prefetch",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-property-key",
            "valueCode": "key"
          }
        ],
        "path": "CDSHooksServices.services.prefetch",
        "short": "Key/value pairs of FHIR queries to provide when calling",
        "definition": "An object containing key/value pairs of FHIR queries that this service is requesting the CDS Client to perform and provide on each service 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": "CDSHooksServices.services.prefetch",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Base"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.prefetch.key",
        "path": "CDSHooksServices.services.prefetch.key",
        "short": "Key of FHIR query",
        "definition": "Key of FHIR query - name for client to use when sending prefetched data to the service",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.prefetch.key",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.prefetch.value",
        "path": "CDSHooksServices.services.prefetch.value",
        "short": "FHIR query template",
        "definition": "A FHIR query for the CDS Client to perform, which may include prefetch tokens",
        "min": 1,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.prefetch.value",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.usageRequirements",
        "path": "CDSHooksServices.services.usageRequirements",
        "short": "Human-friendly preconditions for the use of this CDS Service",
        "definition": "Human-friendly description of any preconditions for the use of this CDS Service",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.usageRequirements",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.version",
        "path": "CDSHooksServices.services.version",
        "short": "CDS Hooks specification version implemented",
        "definition": "The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)",
        "min": 0,
        "max": "1",
        "base": {
          "path": "CDSHooksServices.services.version",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "CDSHooksServices",
        "path": "CDSHooksServices",
        "short": "The response to the discovery endpoint",
        "definition": "The response to the discovery endpoint SHALL be an object containing a list of CDS Services"
      },
      {
        "id": "CDSHooksServices.services",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-empty-behavior",
            "valueCode": "present"
          }
        ],
        "path": "CDSHooksServices.services",
        "short": "An array of CDS Services",
        "definition": "An array of CDS Services",
        "comment": "If the CDS server hosts no CDS Services, the discovery endpoint should return a 200 HTTP response with an empty array of services. Note that a CDS server can host multiple entries of CDS service with the same id for different hooks. This allows a service to update its advice based on changes in workflow.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.hook",
        "path": "CDSHooksServices.services.hook",
        "short": "The hook this service should be invoked on",
        "definition": "The hook this service should be invoked on",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.title",
        "path": "CDSHooksServices.services.title",
        "short": "The human-friendly name of this service",
        "definition": "The human-friendly name of this service",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.description",
        "path": "CDSHooksServices.services.description",
        "short": "The description of this service",
        "definition": "The description of this service",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.id",
        "path": "CDSHooksServices.services.id",
        "short": "The {id} portion of the URL to this service",
        "definition": "The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.prefetch",
        "extension": [
          {
            "url": "http://hl7.org/fhir/tools/StructureDefinition/json-property-key",
            "valueCode": "key"
          }
        ],
        "path": "CDSHooksServices.services.prefetch",
        "short": "Key/value pairs of FHIR queries to provide when calling",
        "definition": "An object containing key/value pairs of FHIR queries that this service is requesting the CDS Client to perform and provide on each service 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": "CDSHooksServices.services.prefetch.key",
        "path": "CDSHooksServices.services.prefetch.key",
        "short": "Key of FHIR query",
        "definition": "Key of FHIR query - name for client to use when sending prefetched data to the service",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.prefetch.value",
        "path": "CDSHooksServices.services.prefetch.value",
        "short": "FHIR query template",
        "definition": "A FHIR query for the CDS Client to perform, which may include prefetch tokens",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.usageRequirements",
        "path": "CDSHooksServices.services.usageRequirements",
        "short": "Human-friendly preconditions for the use of this CDS Service",
        "definition": "Human-friendly description of any preconditions for the use of this CDS Service",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "CDSHooksServices.services.version",
        "path": "CDSHooksServices.services.version",
        "short": "CDS Hooks specification version implemented",
        "definition": "The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      }
    ]
  }
}