CDS Hooks
3.0.0-ballot - R3 Normative Ballot
CDS Hooks, published by Clinical Decision Support WG. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cds-hooks/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
XML representation of the CDSHooksServices logical model.
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="CDSHooksServices"/>
<language value="en"/>
<text>
<status value="extensions"/>
<div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureDefinition CDSHooksServices</b></p><table border="0" cellpadding="0" cellspacing="0" style="border: 0px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top;"><tr style="border: 1px #F0F0F0 solid; font-size: 11px; font-family: verdana; vertical-align: top"><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="The logical name of the element">Name</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Information about the use of the element">Flags</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Minimum and Maximum # of times the element can appear in the instance">Card.</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px; width: 100px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Reference to the type of the element">Type</a></th><th style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; padding-top: 3px; padding-bottom: 3px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Additional information about the element">Description & Constraints</a><span style="float: right"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC" alt="doco" style="background-color: inherit"/></a></span></th></tr><tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck1.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_element.gif" alt="." style="background-color: white; background-color: inherit" title="Element" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices" title="The response to the discovery endpoint SHALL be an object containing a list of CDS Services">CDSHooksServices</a><a name="CDSHooksServices"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><span style="opacity: 0.5">0</span><span style="opacity: 0.5">..</span><span style="opacity: 0.5">*</span></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="StructureDefinition-CDSHooksElement.html">CDSHooksElement</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The response to the discovery endpoint<br/><br/>Elements defined in Ancestors:<a href="StructureDefinition-CDSHooksElement.html" title="A JSON object that has properties where the names are defined by the extension definitions">extension</a></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck01.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin_end.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_resource.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Resource" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services" title="An array of CDS Services">services</a><a name="CDSHooksServices.services"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><span title="This element is present as a JSON Array even when there are no items in the instance">0</span><span title="This element is present as a JSON Array even when there are no items in the instance">..</span><span title="This element is present as a JSON Array even when there are no items in the instance">*</span></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/tools/1.1.0/StructureDefinition-CDSHooksElement.html">CDSHooksElement</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">An array of CDS Services<br/>JSON: The type of this element is inferred from the JSON type in the instance<br/></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.hook" title="The hook this service should be invoked on">hook</a><a name="CDSHooksServices.services.hook"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">1..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The hook this service should be invoked on</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.title" title="The human-friendly name of this service">title</a><a name="CDSHooksServices.services.title"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The human-friendly name of this service</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.description" title="The description of this service">description</a><a name="CDSHooksServices.services.description"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">1..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The description of this service</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.id" title="The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}">id</a><a name="CDSHooksServices.services.id"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">1..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The {id} portion of the URL to this service</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck011.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_datatype.gif" alt="." style="background-color: white; background-color: inherit" title="Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.prefetch" title="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">prefetch</a><a name="CDSHooksServices.services.prefetch"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..*</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Base</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Key/value pairs of FHIR queries to provide when calling<br/>JSON: Represented as a single JSON Object with named properties using the value of the key child as the key<br/></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck0110.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vline.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.prefetch.key" title="Key of FHIR query - name for client to use when sending prefetched data to the service">key</a><a name="CDSHooksServices.services.prefetch.key"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">1..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#code">code</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Key of FHIR query</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck0100.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vline.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin_end.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.prefetch.value" title="A FHIR query for the CDS Client to perform, which may include prefetch tokens">value</a><a name="CDSHooksServices.services.prefetch.value"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">1..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">FHIR query template</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck010.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.usageRequirements" title="Human-friendly description of any preconditions for the use of this CDS Service">usageRequirements</a><a name="CDSHooksServices.services.usageRequirements"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Human-friendly preconditions for the use of this CDS Service</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck000.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_blank.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin_end.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_primitive.png" alt="." style="background-color: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksServices-definitions.html#CDSHooksServices.services.version" title="The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)">version</a><a name="CDSHooksServices.services.version"> </a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..1</td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : var(--ig-left,left); background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">CDS Hooks specification version implemented</td></tr>
<tr><td colspan="5" class="hierarchy"><br/><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Legend for this format"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3goXBCwdPqAP0wAAAldJREFUOMuNk0tIlFEYhp9z/vE2jHkhxXA0zJCMitrUQlq4lnSltEqCFhFG2MJFhIvIFpkEWaTQqjaWZRkp0g26URZkTpbaaOJkDqk10szoODP//7XIMUe0elcfnPd9zsfLOYplGrpRwZaqTtw3K7PtGem7Q6FoidbGgqHVy/HRb669R+56zx7eRV1L31JGxYbBtjKK93cxeqfyQHbehkZbUkK20goELEuIzEd+dHS+qz/Y8PTSif0FnGkbiwcAjHaU1+QWOptFiyCLp/LnKptpqIuXHx6rbR26kJcBX3yLgBfnd7CxwJmflpP2wUg0HIAoUUpZBmKzELGWcN8nAr6Gpu7tLU/CkwAaoKTWRSQyt89Q8w6J+oVQkKnBoblH7V0PPvUOvDYXfopE/SJmALsxnVm6LbkotrUtNowMeIrVrBcBpaMmdS0j9df7abpSuy7HWehwJdt1lhVwi/J58U5beXGAF6c3UXLycw1wdFklArBn87xdh0ZsZtArghBdAA3+OEDVubG4UEzP6x1FOWneHh2VDAHBAt80IbdXDcesNoCvs3E5AFyNSU5nbrDPZpcUEQQTFZiEVx+51fxMhhyJEAgvlriadIJZZksRuwBYMOPBbO3hePVVqgEJhFeUuFLhIPkRP6BQLIBrmMenujm/3g4zc398awIe90Zb5A1vREALqneMcYgP/xVQWlG+Ncu5vgwwlaUNx+3799rfe96u9K0JSDXcOzOTJg4B6IgmXfsygc7/Bvg9g9E58/cDVmGIBOP/zT8Bz1zqWqpbXIsd0O9hajXfL6u4BaOS6SeWAAAAAElFTkSuQmCC" alt="doco" style="background-color: inherit"/> Documentation for this format</a></td></tr></table></div>
</text>
<extension
url="http://hl7.org/fhir/tools/StructureDefinition/json-suppress-resourcetype">
<valueBoolean value="true"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
<valueCode value="cds"/>
</extension>
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="informative">
<extension
url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
<valueCanonical
value="http://cds-hooks.hl7.org/ImplementationGuide/hl7.fhir.uv.cds-hooks"/>
</extension>
</valueCode>
</extension>
<url value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksServices"/>
<version value="3.0.0-ballot"/>
<name value="CDSHooksServices"/>
<title value="CDSHooks Discovery Response (Logical Definition)"/>
<status value="draft"/>
<experimental value="true"/>
<date value="2026-06-04T13:13:04+00:00"/>
<publisher value="Clinical Decision Support WG"/>
<contact>
<name value="Clinical Decision Support WG"/>
<telecom>
<system value="url"/>
<value value="http://www.hl7.org/Special/committees/dss/index.cfm"/>
</telecom>
<telecom>
<system value="email"/>
<value value="cds@lists.HL7.org"/>
</telecom>
</contact>
<description
value="This structure is defined to allow the FHIR Validator to validate a CDSHooks Discovery response body."/>
<jurisdiction>
<coding>
<system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
<code value="001"/>
<display value="World"/>
</coding>
</jurisdiction>
<fhirVersion value="4.0.1"/>
<kind value="logical"/>
<abstract value="false"/>
<type
value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksServices"/>
<baseDefinition
value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
<derivation value="specialization"/>
<snapshot>
<extension
url="http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version">
<valueString value="3.0.0-ballot"/>
</extension>
<element id="CDSHooksServices">
<path value="CDSHooksServices"/>
<short value="The response to the discovery endpoint"/>
<definition
value="The response to the discovery endpoint SHALL be an object containing a list of CDS Services"/>
<min value="0"/>
<max value="*"/>
<base>
<path value="Base"/>
<min value="0"/>
<max value="*"/>
</base>
<isModifier value="false"/>
</element>
<element id="CDSHooksServices.extension">
<path value="CDSHooksServices.extension"/>
<short value="Object that has Named Extension Properties"/>
<definition
value="A JSON object that has properties where the names are defined by the extension definitions"/>
<comment
value="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 value="0"/>
<max value="1"/>
<base>
<path value="CDSHooksElement.extension"/>
<min value="0"/>
<max value="1"/>
</base>
<type>
<code
value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions"/>
</type>
</element>
<element id="CDSHooksServices.services">
<extension
url="http://hl7.org/fhir/tools/StructureDefinition/json-empty-behavior">
<valueCode value="present"/>
</extension>
<path value="CDSHooksServices.services"/>
<short value="An array of CDS Services"/>
<definition value="An array of CDS Services"/>
<comment
value="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 value="0"/>
<max value="*"/>
<base>
<path value="CDSHooksServices.services"/>
<min value="0"/>
<max value="*"/>
</base>
<type>
<code
value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"/>
</type>
</element>
<element id="CDSHooksServices.services.extension">
<path value="CDSHooksServices.services.extension"/>
<short value="Object that has Named Extension Properties"/>
<definition
value="A JSON object that has properties where the names are defined by the extension definitions"/>
<comment
value="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 value="0"/>
<max value="1"/>
<base>
<path value="CDSHooksElement.extension"/>
<min value="0"/>
<max value="1"/>
</base>
<type>
<code
value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions"/>
</type>
</element>
<element id="CDSHooksServices.services.hook">
<path value="CDSHooksServices.services.hook"/>
<short value="The hook this service should be invoked on"/>
<definition value="The hook this service should be invoked on"/>
<min value="1"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.hook"/>
<min value="1"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.title">
<path value="CDSHooksServices.services.title"/>
<short value="The human-friendly name of this service"/>
<definition value="The human-friendly name of this service"/>
<min value="0"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.title"/>
<min value="0"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.description">
<path value="CDSHooksServices.services.description"/>
<short value="The description of this service"/>
<definition value="The description of this service"/>
<min value="1"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.description"/>
<min value="1"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.id">
<path value="CDSHooksServices.services.id"/>
<short value="The {id} portion of the URL to this service"/>
<definition
value="The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}"/>
<min value="1"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.id"/>
<min value="1"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.prefetch">
<extension
url="http://hl7.org/fhir/tools/StructureDefinition/json-property-key">
<valueCode value="key"/>
</extension>
<path value="CDSHooksServices.services.prefetch"/>
<short value="Key/value pairs of FHIR queries to provide when calling"/>
<definition
value="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 value="0"/>
<max value="*"/>
<base>
<path value="CDSHooksServices.services.prefetch"/>
<min value="0"/>
<max value="*"/>
</base>
<type>
<code value="Base"/>
</type>
</element>
<element id="CDSHooksServices.services.prefetch.key">
<path value="CDSHooksServices.services.prefetch.key"/>
<short value="Key of FHIR query"/>
<definition
value="Key of FHIR query - name for client to use when sending prefetched data to the service"/>
<min value="1"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.prefetch.key"/>
<min value="1"/>
<max value="1"/>
</base>
<type>
<code value="code"/>
</type>
</element>
<element id="CDSHooksServices.services.prefetch.value">
<path value="CDSHooksServices.services.prefetch.value"/>
<short value="FHIR query template"/>
<definition
value="A FHIR query for the CDS Client to perform, which may include prefetch tokens"/>
<min value="1"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.prefetch.value"/>
<min value="1"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.usageRequirements">
<path value="CDSHooksServices.services.usageRequirements"/>
<short
value="Human-friendly preconditions for the use of this CDS Service"/>
<definition
value="Human-friendly description of any preconditions for the use of this CDS Service"/>
<min value="0"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.usageRequirements"/>
<min value="0"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.version">
<path value="CDSHooksServices.services.version"/>
<short value="CDS Hooks specification version implemented"/>
<definition
value="The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)"/>
<min value="0"/>
<max value="1"/>
<base>
<path value="CDSHooksServices.services.version"/>
<min value="0"/>
<max value="1"/>
</base>
<type>
<code value="string"/>
</type>
</element>
</snapshot>
<differential>
<element id="CDSHooksServices">
<path value="CDSHooksServices"/>
<short value="The response to the discovery endpoint"/>
<definition
value="The response to the discovery endpoint SHALL be an object containing a list of CDS Services"/>
</element>
<element id="CDSHooksServices.services">
<extension
url="http://hl7.org/fhir/tools/StructureDefinition/json-empty-behavior">
<valueCode value="present"/>
</extension>
<path value="CDSHooksServices.services"/>
<short value="An array of CDS Services"/>
<definition value="An array of CDS Services"/>
<comment
value="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 value="0"/>
<max value="*"/>
<type>
<code
value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"/>
</type>
</element>
<element id="CDSHooksServices.services.hook">
<path value="CDSHooksServices.services.hook"/>
<short value="The hook this service should be invoked on"/>
<definition value="The hook this service should be invoked on"/>
<min value="1"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.title">
<path value="CDSHooksServices.services.title"/>
<short value="The human-friendly name of this service"/>
<definition value="The human-friendly name of this service"/>
<min value="0"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.description">
<path value="CDSHooksServices.services.description"/>
<short value="The description of this service"/>
<definition value="The description of this service"/>
<min value="1"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.id">
<path value="CDSHooksServices.services.id"/>
<short value="The {id} portion of the URL to this service"/>
<definition
value="The {id} portion of the URL to this service which is available at {baseUrl}/cds-services/{id}"/>
<min value="1"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.prefetch">
<extension
url="http://hl7.org/fhir/tools/StructureDefinition/json-property-key">
<valueCode value="key"/>
</extension>
<path value="CDSHooksServices.services.prefetch"/>
<short value="Key/value pairs of FHIR queries to provide when calling"/>
<definition
value="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 value="0"/>
<max value="*"/>
<type>
<code value="Base"/>
</type>
</element>
<element id="CDSHooksServices.services.prefetch.key">
<path value="CDSHooksServices.services.prefetch.key"/>
<short value="Key of FHIR query"/>
<definition
value="Key of FHIR query - name for client to use when sending prefetched data to the service"/>
<min value="1"/>
<max value="1"/>
<type>
<code value="code"/>
</type>
</element>
<element id="CDSHooksServices.services.prefetch.value">
<path value="CDSHooksServices.services.prefetch.value"/>
<short value="FHIR query template"/>
<definition
value="A FHIR query for the CDS Client to perform, which may include prefetch tokens"/>
<min value="1"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.usageRequirements">
<path value="CDSHooksServices.services.usageRequirements"/>
<short
value="Human-friendly preconditions for the use of this CDS Service"/>
<definition
value="Human-friendly description of any preconditions for the use of this CDS Service"/>
<min value="0"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
<element id="CDSHooksServices.services.version">
<path value="CDSHooksServices.services.version"/>
<short value="CDS Hooks specification version implemented"/>
<definition
value="The version of the CDS Hooks specification implemented (STU1 | STU2 | STU3)"/>
<min value="0"/>
<max value="1"/>
<type>
<code value="string"/>
</type>
</element>
</differential>
</StructureDefinition>