CDS Hooks
3.0.0-ballot - R3 Normative Ballot International flag

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

Logical Model: CDSHooks Discovery Response (Logical Definition) - XML Profile

Page standards status: Informative

XML representation of the CDSHooksServices logical model.

Raw xml | Download


<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 &amp; 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>