{"resourceType":"StructureDefinition","id":"CDSHooksServices","language":"en","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/tools/StructureDefinition/CDSHooksServices","identifier":[{"system":"urn:ietf:rfc:3986","value":"urn:oid:2.16.840.1.113883.4.642.40.1.42.8"}],"version":"1.1.0","name":"CDSHooksServices","title":"CDSHooks Services Request (Logical Definition)","status":"draft","experimental":true,"date":"2026-03-03T22:50:55+11: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 Services response 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":"4.0.1","mapping":[{"identity":"rim","uri":"http://hl7.org/v3","name":"RIM Mapping"}],"kind":"logical","abstract":false,"type":"http://hl7.org/fhir/tools/StructureDefinition/CDSHooksServices","baseDefinition":"http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement","derivation":"specialization","snapshot":{"extension":[{"url":"http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version","valueString":"1.1.0"}],"element":[{"id":"CDSHooksServices","path":"CDSHooksServices","short":"The response to the discovery endpoint","definition":"The response to the discovery endpoint","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","path":"CDSHooksServices.services","short":"A list of CDS services","definition":"A list 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","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 Services should be invoked on","definition":"The hook this Services 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 Services (Recommended)","definition":"The human-friendly name of this Services (Recommended)","min":0,"max":"1","base":{"path":"CDSHooksServices.services.title","min":0,"max":"1"},"type":[{"code":"string"}]},{"id":"CDSHooksServices.services.id","path":"CDSHooksServices.services.id","short":"{baseUrl}/cds-services/{id}","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":"code"}]},{"id":"CDSHooksServices.services.description","path":"CDSHooksServices.services.description","short":"The description of this Services","definition":"The description of this Services","min":1,"max":"1","base":{"path":"CDSHooksServices.services.description","min":1,"max":"1"},"type":[{"code":"string"}]},{"id":"CDSHooksServices.services.usageRequirements","path":"CDSHooksServices.services.usageRequirements","short":"Human-friendly preconditions for this CDS Services","definition":"Human-friendly description of any preconditions for the use of this CDS Services","min":0,"max":"1","base":{"path":"CDSHooksServices.services.usageRequirements","min":0,"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 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":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 to Services","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 to execute","definition":"Value of FHIR query - FHIR Query for client to perform","min":1,"max":"1","base":{"path":"CDSHooksServices.services.prefetch.value","min":1,"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"},{"id":"CDSHooksServices.services","path":"CDSHooksServices.services","short":"A list of CDS services","definition":"A list 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","min":0,"max":"*","type":[{"code":"http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"}]},{"id":"CDSHooksServices.services.hook","path":"CDSHooksServices.services.hook","short":"The hook this Services should be invoked on","definition":"The hook this Services 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 Services (Recommended)","definition":"The human-friendly name of this Services (Recommended)","min":0,"max":"1","type":[{"code":"string"}]},{"id":"CDSHooksServices.services.id","path":"CDSHooksServices.services.id","short":"{baseUrl}/cds-services/{id}","definition":"The {id} portion of the URL to this service which is available at ```{baseUrl}/cds-services/{id}```","min":1,"max":"1","type":[{"code":"code"}]},{"id":"CDSHooksServices.services.description","path":"CDSHooksServices.services.description","short":"The description of this Services","definition":"The description of this Services","min":1,"max":"1","type":[{"code":"string"}]},{"id":"CDSHooksServices.services.usageRequirements","path":"CDSHooksServices.services.usageRequirements","short":"Human-friendly preconditions for this CDS Services","definition":"Human-friendly description of any preconditions for the use of this CDS Services","min":0,"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 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":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 to Services","min":1,"max":"1","type":[{"code":"code"}]},{"id":"CDSHooksServices.services.prefetch.value","path":"CDSHooksServices.services.prefetch.value","short":"FHIR query to execute","definition":"Value of FHIR query - FHIR Query for client to perform","min":1,"max":"1","type":[{"code":"string"}]}]}}