FHIR Tooling Extensions IG
0.1.0 - Release International flag

This page is part of the HL7 Tools Extension IG (v0.1.0: Releases - Informative) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Logical Model: CDSHooksRequest - XML Profile

Draft as of 2023-12-19 Maturity Level: 2

XML representation of the CDSHooksRequest logical model.

Raw xml | Download



<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="CDSHooksRequest"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="https://build.fhir.org/ig/FHIR/ig-guidance/readingIgs.html#table-views" title="Minimum and Maximum # of times the the element can appear in the instance">Card.</a></th><th style="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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" 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 : 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-CDSHooksRequest-definitions.html#CDSHooksRequest" title="The response to the discovery endpoint">CDSHooksRequest</a><a name="CDSHooksRequest"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R5/conformance-rules.html#constraints" title="This element has or is affected by constraints (cds-r-1)">C</a></td><td style="vertical-align: top; text-align : 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 : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><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><br/>The response to the discovery endpoint<br/><span style="font-weight:bold">Instances of this logical model are not marked to be the target of a Reference</span><br/><span style="font-weight:bold">cds-r-1: </span>if fhirAuthorization details are provided, a fhirServer SHALL be specified</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.hook" title="The hook that triggered this CDS Service call">hook</a><a name="CDSHooksRequest.hook"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#code">code</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The hook that triggered this CDS Service call</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.hookInstance" title="While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation">hookInstance</a><a name="CDSHooksRequest.hookInstance"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#uuid">uuid</a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">A universally unique identifier (UUID) for this particular hook call<br/>When this element is read <code>urn:uuid:</code> is prefixed to the value before validation</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirServer" title="The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged">fhirServer</a><a name="CDSHooksRequest.fhirServer"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#url">url</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The base URL of the CDS Client's FHIR server</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck11.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="icon_resource.png" alt="." style="background-color: white; background-color: inherit" title="Resource" class="hierarchy"/> <a href="StructureDefinition-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization" title="A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token">fhirAuthorization</a><a name="CDSHooksRequest.fhirAuthorization"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a style="padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;" href="http://hl7.org/fhir/R5/conformance-rules.html#constraints" title="This element has or is affected by constraints (cds-r-2)">C</a></td><td style="vertical-align: top; text-align : 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 : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token<br/><span style="font-weight:bold">cds-r-2: </span>If the granted SMART scopes include patient scopes (i.e. 'patient/'), the patient field SHOULD be populated to identify the FHIR id of that patient.</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization.accessToken" title="This is the OAuth 2.0 access token that provides access to the FHIR server">accessToken</a><a name="CDSHooksRequest.fhirAuthorization.accessToken"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">This is the OAuth 2.0 access token that provides access to the FHIR server<br/><span style="font-weight:bold">JSON Property Name: </span>access_token</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)" class="hierarchy"><img src="tbl_spacer.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: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization.tokenType" title="Fixed value: Bearer">tokenType</a><a name="CDSHooksRequest.fhirAuthorization.tokenType"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#code">code</a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Fixed value: Bearer<br/><span style="font-weight:bold">JSON Property Name: </span>token_type<br/><span style="font-weight:bold">Fixed Value: </span><span style="color: darkgreen">Bearer</span></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization.expiresIn" title="The lifetime in seconds of the access token.">expiresIn</a><a name="CDSHooksRequest.fhirAuthorization.expiresIn"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#integer">integer</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The lifetime in seconds of the access token.<br/><span style="font-weight:bold">JSON Property Name: </span>expires_in</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)" class="hierarchy"><img src="tbl_spacer.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: white; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization.scope" title="The scopes the access token grants the CDS Service">scope</a><a name="CDSHooksRequest.fhirAuthorization.scope"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The scopes the access token grants the CDS Service</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck110.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization.subject" title="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server">subject</a><a name="CDSHooksRequest.fhirAuthorization.subject"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#string">string</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck100.png)" class="hierarchy"><img src="tbl_spacer.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-CDSHooksRequest-definitions.html#CDSHooksRequest.fhirAuthorization.patient" title="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server">patient</a><a name="CDSHooksRequest.fhirAuthorization.patient"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#id">id</a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: #F7F7F7"><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px; white-space: nowrap; background-image: url(tbl_bck10.png)" class="hierarchy"><img src="tbl_spacer.png" alt="." style="background-color: inherit" class="hierarchy"/><img src="tbl_vjoin.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-CDSHooksRequest-definitions.html#CDSHooksRequest.context" title="Hook-specific contextual data that the CDS service will need">context</a><a name="CDSHooksRequest.context"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="StructureDefinition-CDSHookContext.html">CDSHookContext</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Hook-specific contextual data that the CDS service will need<br/>JSON: If <code>%resource.hook = 'patient-view'</code>then the type is <a href="StructureDefinition-CDSHookPatientViewContext.html">CDSHookPatientViewContext</a><br/>JSON: If <code>%resource.hook = 'order-sign'</code>then the type is <a href="StructureDefinition-CDSHookOrderSignContext.html">CDSHookOrderSignContext</a><br/>JSON: If <code>%resource.hook = 'order-select'</code>then the type is <a href="StructureDefinition-CDSHookOrderSelectContext.html">CDSHookOrderSelectContext</a></td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : left; background-color: white; 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_datatype.gif" alt="." style="background-color: white; background-color: inherit" title="Data Type" class="hierarchy"/> <a href="StructureDefinition-CDSHooksRequest-definitions.html#CDSHooksRequest.prefetch" title="An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request 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="CDSHooksRequest.prefetch"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">0..*</td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Base</td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Key/value pairs of FHIR queries the CDS Client provides on each call<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 : 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-CDSHooksRequest-definitions.html#CDSHooksRequest.prefetch.key" title="Key of FHIR query - name for client to use when sending to Request">key</a><a name="CDSHooksRequest.prefetch.key"> </a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/datatypes.html#code">code</a></td><td style="vertical-align: top; text-align : left; background-color: #F7F7F7; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Key of FHIR query - name for client to use when sending to Request</td></tr>
<tr style="border: 0px #F0F0F0 solid; padding:0px; vertical-align: top; background-color: white"><td style="vertical-align: top; text-align : 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_resource.png" alt="." style="background-color: white; background-color: inherit" title="Resource" class="hierarchy"/> <a href="StructureDefinition-CDSHooksRequest-definitions.html#CDSHooksRequest.prefetch.value" title="Value of FHIR query - FHIR Query for client to perform">value</a><a name="CDSHooksRequest.prefetch.value"> </a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"/><td style="vertical-align: top; text-align : 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 : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy"><a href="http://hl7.org/fhir/R5/resource.html">Resource</a></td><td style="vertical-align: top; text-align : left; background-color: white; border: 0px #F0F0F0 solid; padding:0px 4px 0px 4px" class="hierarchy">Value of FHIR query - FHIR Query for client to perform<br/>Id may or not be present (this is the default for elements but not resources)<br/>JSON: This object can be represented as null in the JSON structure (which counts as 'present' for cardinality purposes)</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/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="2"/>
  </extension>
  <url value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest"/>
  <version value="0.1.0"/>
  <name value="CDSHooksRequest"/>
  <title value="CDSHooks Request (Logical Definition)"/>
  <status value="draft"/>
  <experimental value="true"/>
  <date value="2023-12-19T11:34:35+11:00"/>
  <publisher value="HL7 International / FHIR Infrastructure"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://hl7.org/Special/committees/fhir-i"/>
    </telecom>
  </contact>
  <description
               value="This structure is defined to allow the FHIR Validator to validate a CDSHooks Request Body. TODO: This content will be moved to the CDS Hooks specification in the future"/>
  <jurisdiction>
    <coding>
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/>
      <code value="001"/>
    </coding>
  </jurisdiction>
  <fhirVersion value="5.0.0"/>
  <mapping>
    <identity value="rim"/>
    <uri value="http://hl7.org/v3"/>
    <name value="RIM Mapping"/>
  </mapping>
  <kind value="logical"/>
  <abstract value="false"/>
  <type
        value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksRequest"/>
  <baseDefinition
                  value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"/>
  <derivation value="specialization"/>
  <snapshot>
    <element id="CDSHooksRequest">
      <path value="CDSHooksRequest"/>
      <short value="The response to the discovery endpoint"/>
      <definition value="The response to the discovery endpoint"/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <constraint>
        <key value="cds-r-1"/>
        <severity value="error"/>
        <human
               value="if fhirAuthorization details are provided, a fhirServer SHALL be specified"/>
        <expression
                    value="fhirAuthorization.exists() implies fhirServer.exists()"/>
      </constraint>
      <isModifier value="false"/>
      <mapping>
        <identity value="rim"/>
        <map value="n/a"/>
      </mapping>
    </element>
    <element id="CDSHooksRequest.extension">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-extension-style">
        <valueCode value="named-elements"/>
      </extension>
      <path value="CDSHooksRequest.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"/>
      <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/CDSHooksElement"/>
      </type>
    </element>
    <element id="CDSHooksRequest.hook">
      <path value="CDSHooksRequest.hook"/>
      <short value="The hook that triggered this CDS Service call"/>
      <definition value="The hook that triggered this CDS Service call"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.hook"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="CDSHooksRequest.hookInstance">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix">
        <valueString value="urn:uuid:"/>
      </extension>
      <path value="CDSHooksRequest.hookInstance"/>
      <short
             value="A universally unique identifier (UUID) for this particular hook call"/>
      <definition
                  value="While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation"/>
      <comment
               value="Note: the hookInstance is globally unique and should contain enough entropy to be un-guessable."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.hookInstance"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uuid"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirServer">
      <path value="CDSHooksRequest.fhirServer"/>
      <short value="The base URL of the CDS Client's FHIR server"/>
      <definition
                  value="The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirServer"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="url"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization">
      <path value="CDSHooksRequest.fhirAuthorization"/>
      <short
             value="A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token"/>
      <definition
                  value="A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"/>
      </type>
      <constraint>
        <key value="cds-r-2"/>
        <severity value="error"/>
        <human
               value="If the granted SMART scopes include patient scopes (i.e. 'patient/'), the patient field SHOULD be populated to identify the FHIR id of that patient."/>
        <expression
                    value="scope.contains('Patient/') implies patient.exists()"/>
      </constraint>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.extension">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-extension-style">
        <valueCode value="named-elements"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.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"/>
      <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/CDSHooksElement"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.accessToken">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-json-name">
        <valueString value="access_token"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.accessToken"/>
      <short
             value="This is the OAuth 2.0 access token that provides access to the FHIR server"/>
      <definition
                  value="This is the OAuth 2.0 access token that provides access to the FHIR server"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization.accessToken"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.tokenType">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-json-name">
        <valueString value="token_type"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.tokenType"/>
      <short value="Fixed value: Bearer"/>
      <definition value="Fixed value: Bearer"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization.tokenType"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
      <fixedCode value="Bearer"/>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.expiresIn">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-json-name">
        <valueString value="expires_in"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.expiresIn"/>
      <short value="The lifetime in seconds of the access token."/>
      <definition value="The lifetime in seconds of the access token."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization.expiresIn"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="integer"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.scope">
      <path value="CDSHooksRequest.fhirAuthorization.scope"/>
      <short value="The scopes the access token grants the CDS Service"/>
      <definition value="The scopes the access token grants the CDS Service"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization.scope"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.subject">
      <path value="CDSHooksRequest.fhirAuthorization.subject"/>
      <short
             value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <definition
                  value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization.subject"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.patient">
      <path value="CDSHooksRequest.fhirAuthorization.patient"/>
      <short
             value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <definition
                  value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.fhirAuthorization.patient"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="id"/>
      </type>
    </element>
    <element id="CDSHooksRequest.context">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/type-specifier">
        <extension url="condition">
          <valueString value="%resource.hook = 'patient-view'"/>
        </extension>
        <extension url="type">
          <valueCode
                     value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookPatientViewContext"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/type-specifier">
        <extension url="condition">
          <valueString value="%resource.hook = 'order-sign'"/>
        </extension>
        <extension url="type">
          <valueCode
                     value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSignContext"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/type-specifier">
        <extension url="condition">
          <valueString value="%resource.hook = 'order-select'"/>
        </extension>
        <extension url="type">
          <valueCode
                     value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSelectContext"/>
        </extension>
      </extension>
      <path value="CDSHooksRequest.context"/>
      <short
             value="Hook-specific contextual data that the CDS service will need"/>
      <definition
                  value="Hook-specific contextual data that the CDS service will need"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.context"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext"/>
      </type>
    </element>
    <element id="CDSHooksRequest.prefetch">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/json-property-key">
        <valueCode value="key"/>
      </extension>
      <path value="CDSHooksRequest.prefetch"/>
      <short
             value="Key/value pairs of FHIR queries the CDS Client provides on each call"/>
      <definition
                  value="An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request 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="CDSHooksRequest.prefetch"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code value="Base"/>
      </type>
    </element>
    <element id="CDSHooksRequest.prefetch.key">
      <path value="CDSHooksRequest.prefetch.key"/>
      <short
             value="Key of FHIR query - name for client to use when sending to Request"/>
      <definition
                  value="Key of FHIR query - name for client to use when sending to Request"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.prefetch.key"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="CDSHooksRequest.prefetch.value">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/json-nullable">
        <valueBoolean value="true"/>
      </extension>
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/id-expectation">
        <valueCode value="optional"/>
      </extension>
      <path value="CDSHooksRequest.prefetch.value"/>
      <short value="Value of FHIR query - FHIR Query for client to perform"/>
      <definition
                  value="Value of FHIR query - FHIR Query for client to perform"/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksRequest.prefetch.value"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Resource"/>
      </type>
    </element>
  </snapshot>
  <differential>
    <element id="CDSHooksRequest">
      <path value="CDSHooksRequest"/>
      <short value="The response to the discovery endpoint"/>
      <definition value="The response to the discovery endpoint"/>
      <constraint>
        <key value="cds-r-1"/>
        <severity value="error"/>
        <human
               value="if fhirAuthorization details are provided, a fhirServer SHALL be specified"/>
        <expression
                    value="fhirAuthorization.exists() implies fhirServer.exists()"/>
      </constraint>
    </element>
    <element id="CDSHooksRequest.hook">
      <path value="CDSHooksRequest.hook"/>
      <short value="The hook that triggered this CDS Service call"/>
      <definition value="The hook that triggered this CDS Service call"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="CDSHooksRequest.hookInstance">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix">
        <valueString value="urn:uuid:"/>
      </extension>
      <path value="CDSHooksRequest.hookInstance"/>
      <short
             value="A universally unique identifier (UUID) for this particular hook call"/>
      <definition
                  value="While working in the CDS Client, a user can perform multiple actions in series or in parallel. For example, a clinician might prescribe two drugs in a row; each prescription action would be assigned a unique hookInstance. This allows a CDS Service to uniquely identify each hook invocation"/>
      <comment
               value="Note: the hookInstance is globally unique and should contain enough entropy to be un-guessable."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="uuid"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirServer">
      <path value="CDSHooksRequest.fhirServer"/>
      <short value="The base URL of the CDS Client's FHIR server"/>
      <definition
                  value="The base URL of the CDS Client's FHIR server. If fhirAuthorization is provided, this field is REQUIRED. The scheme MUST be https when production data is exchanged"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="url"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization">
      <path value="CDSHooksRequest.fhirAuthorization"/>
      <short
             value="A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token"/>
      <definition
                  value="A structure holding an OAuth 2.0 bearer access token granting the CDS Service access to FHIR resources, along with supplemental information relating to the token"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code
              value="http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement"/>
      </type>
      <constraint>
        <key value="cds-r-2"/>
        <severity value="error"/>
        <human
               value="If the granted SMART scopes include patient scopes (i.e. 'patient/'), the patient field SHOULD be populated to identify the FHIR id of that patient."/>
        <expression
                    value="scope.contains('Patient/') implies patient.exists()"/>
      </constraint>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.accessToken">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-json-name">
        <valueString value="access_token"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.accessToken"/>
      <short
             value="This is the OAuth 2.0 access token that provides access to the FHIR server"/>
      <definition
                  value="This is the OAuth 2.0 access token that provides access to the FHIR server"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.tokenType">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-json-name">
        <valueString value="token_type"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.tokenType"/>
      <short value="Fixed value: Bearer"/>
      <definition value="Fixed value: Bearer"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="code"/>
      </type>
      <fixedCode value="Bearer"/>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.expiresIn">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/elementdefinition-json-name">
        <valueString value="expires_in"/>
      </extension>
      <path value="CDSHooksRequest.fhirAuthorization.expiresIn"/>
      <short value="The lifetime in seconds of the access token."/>
      <definition value="The lifetime in seconds of the access token."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="integer"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.scope">
      <path value="CDSHooksRequest.fhirAuthorization.scope"/>
      <short value="The scopes the access token grants the CDS Service"/>
      <definition value="The scopes the access token grants the CDS Service"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.subject">
      <path value="CDSHooksRequest.fhirAuthorization.subject"/>
      <short
             value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <definition
                  value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksRequest.fhirAuthorization.patient">
      <path value="CDSHooksRequest.fhirAuthorization.patient"/>
      <short
             value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <definition
                  value="The OAuth 2.0 client identifier of the CDS Service, as registered with the CDS Client's authorization server"/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="id"/>
      </type>
    </element>
    <element id="CDSHooksRequest.context">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/type-specifier">
        <extension url="condition">
          <valueString value="%resource.hook = 'patient-view'"/>
        </extension>
        <extension url="type">
          <valueCode
                     value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookPatientViewContext"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/type-specifier">
        <extension url="condition">
          <valueString value="%resource.hook = 'order-sign'"/>
        </extension>
        <extension url="type">
          <valueCode
                     value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSignContext"/>
        </extension>
      </extension>
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/type-specifier">
        <extension url="condition">
          <valueString value="%resource.hook = 'order-select'"/>
        </extension>
        <extension url="type">
          <valueCode
                     value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookOrderSelectContext"/>
        </extension>
      </extension>
      <path value="CDSHooksRequest.context"/>
      <short
             value="Hook-specific contextual data that the CDS service will need"/>
      <definition
                  value="Hook-specific contextual data that the CDS service will need"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code
              value="http://hl7.org/fhir/tools/StructureDefinition/CDSHookContext"/>
      </type>
    </element>
    <element id="CDSHooksRequest.prefetch">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/json-property-key">
        <valueCode value="key"/>
      </extension>
      <path value="CDSHooksRequest.prefetch"/>
      <short
             value="Key/value pairs of FHIR queries the CDS Client provides on each call"/>
      <definition
                  value="An object containing key/value pairs of FHIR queries that this Request is requesting the CDS Client to perform and provide on each Request 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="CDSHooksRequest.prefetch.key">
      <path value="CDSHooksRequest.prefetch.key"/>
      <short
             value="Key of FHIR query - name for client to use when sending to Request"/>
      <definition
                  value="Key of FHIR query - name for client to use when sending to Request"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="CDSHooksRequest.prefetch.value">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/json-nullable">
        <valueBoolean value="true"/>
      </extension>
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/id-expectation">
        <valueCode value="optional"/>
      </extension>
      <path value="CDSHooksRequest.prefetch.value"/>
      <short value="Value of FHIR query - FHIR Query for client to perform"/>
      <definition
                  value="Value of FHIR query - FHIR Query for client to perform"/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="Resource"/>
      </type>
    </element>
  </differential>
</StructureDefinition>