CDS Hooks
3.0.0 - R3 Normative/Trial-Use International flag

CDS Hooks, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 3.0.0 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 Feedback (Logical Definition) - XML Profile

Page standards status: Informative Maturity Level: 1

XML representation of the CDSHooksFeedback logical model.

Raw xml | Download


<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="CDSHooksFeedback"/>
  <language value="en"/>
  <text>
    <status value="extensions"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: StructureDefinition CDSHooksFeedback</b></p><table border="0" cellpadding="0" cellspacing="0" class="xhtTableBorder0"><tr class="xhtRowBorder1"><th scope="col" style="" class="hierarchy xhtCellBorder0"><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 scope="col" style="" class="hierarchy xhtCellBorder0"><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 scope="col" style="" class="hierarchy xhtCellBorder0"><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 scope="col" style="; width: 100px" class="hierarchy xhtCellBorder0"><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 scope="col" style="" class="hierarchy xhtCellBorder0"><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 class="xhtRowBorder0 xhtRowEven"><td style="background-image: url(tbl_bck1.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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-CDSHooksFeedback-definitions.html#CDSHooksFeedback" title="Feedback that a CDS Client POSTs to a CDS Service's feedback endpoint. The request body is an object containing an array of one or more Feedback entries reporting end-user interaction with cards previously returned by the CDS Service.">CDSHooksFeedback</a><a name="CDSHooksFeedback"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0"><span class="xhtPieceDeEmphasized">0</span><span class="xhtPieceDeEmphasized">..</span><span class="xhtPieceDeEmphasized">*</span></td><td style="" class="hierarchy xhtCellBorder0"><a href="StructureDefinition-CDSHooksElement.html">CDSHooksElement</a></td><td style="" class="hierarchy xhtCellBorder0">The request body for the CDS Hooks feedback 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 class="xhtRowBorder0 xhtRowOdd"><td style="background-image: url(tbl_bck01.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback" title="An array of Feedback entries reporting end-user interaction with cards previously returned by the CDS Service.">feedback</a><a name="CDSHooksFeedback.feedback"> </a></td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/conformance-rules.html#constraints" title="This element has or is affected by constraints ( cds-fb-1, cds-fb-2 )" class="xhtConstraintStyle">C</a></td><td style="" class="hierarchy xhtCellBorder0"><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="" class="hierarchy xhtCellBorder0"><a href="StructureDefinition-CDSHooksElement.html">CDSHooksElement</a></td><td style="" class="hierarchy xhtCellBorder0">Array of Feedback entries<br/>JSON: The type of this element is inferred from the JSON type in the instance<br class="constraint"/><span class="constraint">Constraints: </span><span title="outcome must be 'accepted' or 'overridden'" class="xhtPieceBold constraint">cds-fb-1</span><span class="constraint">, </span><span title="If outcome is 'accepted', acceptedSuggestions SHALL be provided" class="xhtPieceBold constraint">cds-fb-2</span><br/></td></tr>
<tr class="xhtRowBorder0 xhtRowEven"><td style="background-image: url(tbl_bck010.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.card" title="The card.uuid from the CDS Hooks response. Uniquely identifies the card.">card</a><a name="CDSHooksFeedback.feedback.card"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">1..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/datatypes.html#uuid">uuid</a></td><td style="" class="hierarchy xhtCellBorder0">Identifier of the card the user acted on<br/>When this element is read <code>urn:uuid:</code> is prefixed to the value before validation</td></tr>
<tr class="xhtRowBorder0 xhtRowOdd"><td style="background-image: url(tbl_bck010.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.outcome" title="A value of accepted or overridden.">outcome</a><a name="CDSHooksFeedback.feedback.outcome"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">1..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/datatypes.html#code">code</a></td><td style="" class="hierarchy xhtCellBorder0">accepted | overridden</td></tr>
<tr class="xhtRowBorder0 xhtRowEven"><td style="background-image: url(tbl_bck011.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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_resource.png" alt="" style="background-color: white; background-color: inherit" title="Resource" class="hierarchy"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.acceptedSuggestions" title="An array of objects identifying one or more of the user's AcceptedSuggestions. Required for 'accepted' outcomes.">acceptedSuggestions</a><a name="CDSHooksFeedback.feedback.acceptedSuggestions"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">0..*</td><td style="" class="hierarchy xhtCellBorder0"><a href="StructureDefinition-CDSHooksElement.html">CDSHooksElement</a></td><td style="" class="hierarchy xhtCellBorder0">Suggestions accepted by the user<br/></td></tr>
<tr class="xhtRowBorder0 xhtRowOdd"><td style="background-image: url(tbl_bck0100.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.acceptedSuggestions.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.acceptedSuggestions.id" title="The card.suggestion.uuid from the CDS Hooks response. Uniquely identifies the suggestion that was accepted.">id</a><a name="CDSHooksFeedback.feedback.acceptedSuggestions.id"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">1..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/datatypes.html#uuid">uuid</a></td><td style="" class="hierarchy xhtCellBorder0">Identifier of the accepted suggestion<br/>When this element is read <code>urn:uuid:</code> is prefixed to the value before validation</td></tr>
<tr class="xhtRowBorder0 xhtRowEven"><td style="background-image: url(tbl_bck011.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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_resource.png" alt="" style="background-color: white; background-color: inherit" title="Resource" class="hierarchy"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.overrideReason" title="Captures the override reason as a Coding as well as any free-text comment entered by the user.">overrideReason</a><a name="CDSHooksFeedback.feedback.overrideReason"> </a></td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/conformance-rules.html#constraints" title="This element has or is affected by constraints ( cds-fb-3 )" class="xhtConstraintStyle">C</a></td><td style="" class="hierarchy xhtCellBorder0">0..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="StructureDefinition-CDSHooksElement.html">CDSHooksElement</a></td><td style="" class="hierarchy xhtCellBorder0">Reason the user overrode the card<br class="constraint"/><span class="constraint">Constraints: </span><span title="An overrideReason must contain a reason, a userComment, or both" class="xhtPieceBold constraint">cds-fb-3</span></td></tr>
<tr class="xhtRowBorder0 xhtRowOdd"><td style="background-image: url(tbl_bck0110.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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_datatype.gif" alt="" style="background-color: #F7F7F7; background-color: inherit" title="Data Type" class="hierarchy"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.overrideReason.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.overrideReason.reason" title="The Coding object representing the override reason selected by the end user. Required if the user selected an override reason from the list of reasons provided in the Card (instead of only leaving a userComment).">reason</a><a name="CDSHooksFeedback.feedback.overrideReason.reason"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">0..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/datatypes.html#Coding">Coding</a></td><td style="" class="hierarchy xhtCellBorder0">The override reason selected by the end user</td></tr>
<tr class="xhtRowBorder0 xhtRowEven"><td style="background-image: url(tbl_bck0100.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.overrideReason.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.overrideReason.userComment" title="Free text the clinician provided to further explain why the card was rejected.">userComment</a><a name="CDSHooksFeedback.feedback.overrideReason.userComment"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">0..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/datatypes.html#string">string</a></td><td style="" class="hierarchy xhtCellBorder0">Free text user comment</td></tr>
<tr class="xhtRowBorder0 xhtRowOdd"><td style="background-image: url(tbl_bck000.png)" class="hierarchy xhtCellBorder0 xhtCellNoWrap"><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: #F7F7F7; background-color: inherit" title="Primitive Data Type" class="hierarchy"/> <span style="position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0" class="sr-only">CDSHooksFeedback.feedback.</span><a href="StructureDefinition-CDSHooksFeedback-definitions.html#CDSHooksFeedback.feedback.outcomeTimestamp" title="ISO8601 representation of the date and time in Coordinated Universal Time (UTC) when action was taken on the card, as profiled in section 5.6 of RFC3339 (e.g. 1985-04-12T23:20:50.52Z).">outcomeTimestamp</a><a name="CDSHooksFeedback.feedback.outcomeTimestamp"> </a></td><td style="" class="hierarchy xhtCellBorder0"/><td style="" class="hierarchy xhtCellBorder0">1..1</td><td style="" class="hierarchy xhtCellBorder0"><a href="http://hl7.org/fhir/R4/datatypes.html#instant">instant</a></td><td style="" class="hierarchy xhtCellBorder0">When the user took action on the card</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="1"/>
  </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>
  <extension
             url="http://hl7.org/fhir/tools/StructureDefinition/json-suppress-resourcetype">
    <valueBoolean value="true"/>
  </extension>
  <url value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:2.16.840.1.113883.4.642.40.93.42.4"/>
  </identifier>
  <version value="3.0.0"/>
  <name value="CDSHooksFeedback"/>
  <title value="CDSHooks Feedback (Logical Definition)"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2026-10-22T15:56:14+00:00"/>
  <publisher value="HL7 International / Clinical Decision Support"/>
  <contact>
    <name value="HL7 International / Clinical Decision Support"/>
    <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 Feedback request 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/CDSHooksFeedback"/>
  <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"/>
    </extension>
    <element id="CDSHooksFeedback">
      <path value="CDSHooksFeedback"/>
      <short value="The request body for the CDS Hooks feedback endpoint"/>
      <definition
                  value="Feedback that a CDS Client POSTs to a CDS Service's feedback endpoint. The request body is an object containing an array of one or more Feedback entries reporting end-user interaction with cards previously returned by the CDS Service."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="Base"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <isModifier value="false"/>
    </element>
    <element id="CDSHooksFeedback.extension">
      <path value="CDSHooksFeedback.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://cds-hooks.hl7.org/StructureDefinition/CDSHooksExtensions"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/json-empty-behavior">
        <valueCode value="present"/>
      </extension>
      <path value="CDSHooksFeedback.feedback"/>
      <short value="Array of Feedback entries"/>
      <definition
                  value="An array of Feedback entries reporting end-user interaction with cards previously returned by the CDS Service."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="CDSHooksFeedback.feedback"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
      </type>
      <constraint>
        <key value="cds-fb-1"/>
        <severity value="error"/>
        <human value="outcome must be 'accepted' or 'overridden'"/>
        <expression value="outcome = 'accepted' or outcome = 'overridden'"/>
        <source
                value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
      </constraint>
      <constraint>
        <key value="cds-fb-2"/>
        <severity value="error"/>
        <human
               value="If outcome is 'accepted', acceptedSuggestions SHALL be provided"/>
        <expression
                    value="(outcome = 'accepted') implies acceptedSuggestions.exists()"/>
        <source
                value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
      </constraint>
    </element>
    <element id="CDSHooksFeedback.feedback.extension">
      <path value="CDSHooksFeedback.feedback.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://cds-hooks.hl7.org/StructureDefinition/CDSHooksExtensions"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.card">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix">
        <valueString value="urn:uuid:"/>
      </extension>
      <path value="CDSHooksFeedback.feedback.card"/>
      <short value="Identifier of the card the user acted on"/>
      <definition
                  value="The card.uuid from the CDS Hooks response. Uniquely identifies the card."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.card"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uuid"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.outcome">
      <path value="CDSHooksFeedback.feedback.outcome"/>
      <short value="accepted | overridden"/>
      <definition value="A value of accepted or overridden."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.outcome"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.acceptedSuggestions">
      <path value="CDSHooksFeedback.feedback.acceptedSuggestions"/>
      <short value="Suggestions accepted by the user"/>
      <definition
                  value="An array of objects identifying one or more of the user's AcceptedSuggestions. Required for 'accepted' outcomes."/>
      <min value="0"/>
      <max value="*"/>
      <base>
        <path value="CDSHooksFeedback.feedback.acceptedSuggestions"/>
        <min value="0"/>
        <max value="*"/>
      </base>
      <type>
        <code
              value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.acceptedSuggestions.extension">
      <path value="CDSHooksFeedback.feedback.acceptedSuggestions.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://cds-hooks.hl7.org/StructureDefinition/CDSHooksExtensions"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.acceptedSuggestions.id">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix">
        <valueString value="urn:uuid:"/>
      </extension>
      <path value="CDSHooksFeedback.feedback.acceptedSuggestions.id"/>
      <short value="Identifier of the accepted suggestion"/>
      <definition
                  value="The card.suggestion.uuid from the CDS Hooks response. Uniquely identifies the suggestion that was accepted."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.acceptedSuggestions.id"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="uuid"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason">
      <path value="CDSHooksFeedback.feedback.overrideReason"/>
      <short value="Reason the user overrode the card"/>
      <definition
                  value="Captures the override reason as a Coding as well as any free-text comment entered by the user."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.overrideReason"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code
              value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
      </type>
      <constraint>
        <key value="cds-fb-3"/>
        <severity value="error"/>
        <human
               value="An overrideReason must contain a reason, a userComment, or both"/>
        <expression value="reason.exists() or userComment.exists()"/>
        <source
                value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
      </constraint>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason.extension">
      <path value="CDSHooksFeedback.feedback.overrideReason.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://cds-hooks.hl7.org/StructureDefinition/CDSHooksExtensions"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason.reason">
      <path value="CDSHooksFeedback.feedback.overrideReason.reason"/>
      <short value="The override reason selected by the end user"/>
      <definition
                  value="The Coding object representing the override reason selected by the end user. Required if the user selected an override reason from the list of reasons provided in the Card (instead of only leaving a userComment)."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.overrideReason.reason"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="Coding"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason.userComment">
      <path value="CDSHooksFeedback.feedback.overrideReason.userComment"/>
      <short value="Free text user comment"/>
      <definition
                  value="Free text the clinician provided to further explain why the card was rejected."/>
      <min value="0"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.overrideReason.userComment"/>
        <min value="0"/>
        <max value="1"/>
      </base>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.outcomeTimestamp">
      <path value="CDSHooksFeedback.feedback.outcomeTimestamp"/>
      <short value="When the user took action on the card"/>
      <definition
                  value="ISO8601 representation of the date and time in Coordinated Universal Time (UTC) when action was taken on the card, as profiled in section 5.6 of RFC3339 (e.g. 1985-04-12T23:20:50.52Z)."/>
      <min value="1"/>
      <max value="1"/>
      <base>
        <path value="CDSHooksFeedback.feedback.outcomeTimestamp"/>
        <min value="1"/>
        <max value="1"/>
      </base>
      <type>
        <code value="instant"/>
      </type>
    </element>
  </snapshot>
  <differential>
    <element id="CDSHooksFeedback">
      <path value="CDSHooksFeedback"/>
      <short value="The request body for the CDS Hooks feedback endpoint"/>
      <definition
                  value="Feedback that a CDS Client POSTs to a CDS Service's feedback endpoint. The request body is an object containing an array of one or more Feedback entries reporting end-user interaction with cards previously returned by the CDS Service."/>
    </element>
    <element id="CDSHooksFeedback.feedback">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/json-empty-behavior">
        <valueCode value="present"/>
      </extension>
      <path value="CDSHooksFeedback.feedback"/>
      <short value="Array of Feedback entries"/>
      <definition
                  value="An array of Feedback entries reporting end-user interaction with cards previously returned by the CDS Service."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
      </type>
      <constraint>
        <key value="cds-fb-1"/>
        <severity value="error"/>
        <human value="outcome must be 'accepted' or 'overridden'"/>
        <expression value="outcome = 'accepted' or outcome = 'overridden'"/>
        <source
                value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
      </constraint>
      <constraint>
        <key value="cds-fb-2"/>
        <severity value="error"/>
        <human
               value="If outcome is 'accepted', acceptedSuggestions SHALL be provided"/>
        <expression
                    value="(outcome = 'accepted') implies acceptedSuggestions.exists()"/>
        <source
                value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
      </constraint>
    </element>
    <element id="CDSHooksFeedback.feedback.card">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix">
        <valueString value="urn:uuid:"/>
      </extension>
      <path value="CDSHooksFeedback.feedback.card"/>
      <short value="Identifier of the card the user acted on"/>
      <definition
                  value="The card.uuid from the CDS Hooks response. Uniquely identifies the card."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="uuid"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.outcome">
      <path value="CDSHooksFeedback.feedback.outcome"/>
      <short value="accepted | overridden"/>
      <definition value="A value of accepted or overridden."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="code"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.acceptedSuggestions">
      <path value="CDSHooksFeedback.feedback.acceptedSuggestions"/>
      <short value="Suggestions accepted by the user"/>
      <definition
                  value="An array of objects identifying one or more of the user's AcceptedSuggestions. Required for 'accepted' outcomes."/>
      <min value="0"/>
      <max value="*"/>
      <type>
        <code
              value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.acceptedSuggestions.id">
      <extension
                 url="http://hl7.org/fhir/tools/StructureDefinition/implied-string-prefix">
        <valueString value="urn:uuid:"/>
      </extension>
      <path value="CDSHooksFeedback.feedback.acceptedSuggestions.id"/>
      <short value="Identifier of the accepted suggestion"/>
      <definition
                  value="The card.suggestion.uuid from the CDS Hooks response. Uniquely identifies the suggestion that was accepted."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="uuid"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason">
      <path value="CDSHooksFeedback.feedback.overrideReason"/>
      <short value="Reason the user overrode the card"/>
      <definition
                  value="Captures the override reason as a Coding as well as any free-text comment entered by the user."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code
              value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksElement"/>
      </type>
      <constraint>
        <key value="cds-fb-3"/>
        <severity value="error"/>
        <human
               value="An overrideReason must contain a reason, a userComment, or both"/>
        <expression value="reason.exists() or userComment.exists()"/>
        <source
                value="http://cds-hooks.hl7.org/StructureDefinition/CDSHooksFeedback"/>
      </constraint>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason.reason">
      <path value="CDSHooksFeedback.feedback.overrideReason.reason"/>
      <short value="The override reason selected by the end user"/>
      <definition
                  value="The Coding object representing the override reason selected by the end user. Required if the user selected an override reason from the list of reasons provided in the Card (instead of only leaving a userComment)."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="Coding"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.overrideReason.userComment">
      <path value="CDSHooksFeedback.feedback.overrideReason.userComment"/>
      <short value="Free text user comment"/>
      <definition
                  value="Free text the clinician provided to further explain why the card was rejected."/>
      <min value="0"/>
      <max value="1"/>
      <type>
        <code value="string"/>
      </type>
    </element>
    <element id="CDSHooksFeedback.feedback.outcomeTimestamp">
      <path value="CDSHooksFeedback.feedback.outcomeTimestamp"/>
      <short value="When the user took action on the card"/>
      <definition
                  value="ISO8601 representation of the date and time in Coordinated Universal Time (UTC) when action was taken on the card, as profiled in section 5.6 of RFC3339 (e.g. 1985-04-12T23:20:50.52Z)."/>
      <min value="1"/>
      <max value="1"/>
      <type>
        <code value="instant"/>
      </type>
    </element>
  </differential>
</StructureDefinition>