CDS Hooks
3.0.0-ballot - R3 Normative Ballot
CDS Hooks, published by Clinical Decision Support WG. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cds-hooks/ and changes regularly. See the Directory of published versions
| Page standards status: Informative |
Definitions for the CDSHooksFeedback logical model
Guidance on how to interpret the contents of this table can be foundhere
| 0. CDSHooksFeedback | |
| Definition | 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. |
| Short | The request body for the CDS Hooks feedback endpoint |
| Control | 0..* |
| Is Modifier | false |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. CDSHooksFeedback.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 4. CDSHooksFeedback.feedback | |
| Definition | An array of Feedback entries reporting end-user interaction with cards previously returned by the CDS Service. |
| Short | Array of Feedback entries |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| JSON Format | The JSON Array for this property is present even when there are no items in the instance (e.g. as an empty array) |
| Invariants | cds-fb-1: outcome must be 'accepted' or 'overridden' (outcome = 'accepted' or outcome = 'overridden')cds-fb-2: If outcome is 'accepted', acceptedSuggestions SHALL be provided ( (outcome = 'accepted') implies acceptedSuggestions.exists()) |
| 6. CDSHooksFeedback.feedback.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 8. CDSHooksFeedback.feedback.card | |
| Definition | The card.uuid from the CDS Hooks response. Uniquely identifies the card. |
| Short | Identifier of the card the user acted on |
| Control | 1..1 |
| Type | uuid |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| String Format | When this element is read urn:uuid:is prefixed to the value before validation |
| 10. CDSHooksFeedback.feedback.outcome | |
| Definition | A value of accepted or overridden. |
| Short | accepted | overridden |
| Control | 1..1 |
| Type | code |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. CDSHooksFeedback.feedback.acceptedSuggestions | |
| Definition | An array of objects identifying one or more of the user's AcceptedSuggestions. Required for 'accepted' outcomes. |
| Short | Suggestions accepted by the user |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| 14. CDSHooksFeedback.feedback.acceptedSuggestions.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 16. CDSHooksFeedback.feedback.acceptedSuggestions.id | |
| Definition | The card.suggestion.uuid from the CDS Hooks response. Uniquely identifies the suggestion that was accepted. |
| Short | Identifier of the accepted suggestion |
| Control | 1..1 |
| Type | uuid |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| String Format | When this element is read urn:uuid:is prefixed to the value before validation |
| 18. CDSHooksFeedback.feedback.overrideReason | |
| Definition | Captures the override reason as a Coding as well as any free-text comment entered by the user. |
| Short | Reason the user overrode the card |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| Invariants | cds-fb-3: An overrideReason must contain a reason, a userComment, or both (reason.exists() or userComment.exists()) |
| 20. CDSHooksFeedback.feedback.overrideReason.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 22. CDSHooksFeedback.feedback.overrideReason.reason | |
| Definition | 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). |
| Short | The override reason selected by the end user |
| Control | 0..1 |
| Type | Coding |
| 24. CDSHooksFeedback.feedback.overrideReason.userComment | |
| Definition | Free text the clinician provided to further explain why the card was rejected. |
| Short | Free text user comment |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 26. CDSHooksFeedback.feedback.outcomeTimestamp | |
| Definition | 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). |
| Short | When the user took action on the card |
| Control | 1..1 |
| Type | instant |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Guidance on how to interpret the contents of this table can be foundhere
| 0. CDSHooksFeedback | |
| Definition | 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. |
| Short | The request body for the CDS Hooks feedback endpoint |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. CDSHooksFeedback.feedback | |
| Definition | An array of Feedback entries reporting end-user interaction with cards previously returned by the CDS Service. |
| Short | Array of Feedback entries |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| JSON Format | The JSON Array for this property is present even when there are no items in the instance (e.g. as an empty array) |
| Invariants | cds-fb-1: outcome must be 'accepted' or 'overridden' (outcome = 'accepted' or outcome = 'overridden')cds-fb-2: If outcome is 'accepted', acceptedSuggestions SHALL be provided ( (outcome = 'accepted') implies acceptedSuggestions.exists()) |
| 4. CDSHooksFeedback.feedback.card | |
| Definition | The card.uuid from the CDS Hooks response. Uniquely identifies the card. |
| Short | Identifier of the card the user acted on |
| Control | 1..1 |
| Type | uuid |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| String Format | When this element is read urn:uuid:is prefixed to the value before validation |
| 6. CDSHooksFeedback.feedback.outcome | |
| Definition | A value of accepted or overridden. |
| Short | accepted | overridden |
| Control | 1..1 |
| Type | code |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 8. CDSHooksFeedback.feedback.acceptedSuggestions | |
| Definition | An array of objects identifying one or more of the user's AcceptedSuggestions. Required for 'accepted' outcomes. |
| Short | Suggestions accepted by the user |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| 10. CDSHooksFeedback.feedback.acceptedSuggestions.id | |
| Definition | The card.suggestion.uuid from the CDS Hooks response. Uniquely identifies the suggestion that was accepted. |
| Short | Identifier of the accepted suggestion |
| Control | 1..1 |
| Type | uuid |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| String Format | When this element is read urn:uuid:is prefixed to the value before validation |
| 12. CDSHooksFeedback.feedback.overrideReason | |
| Definition | Captures the override reason as a Coding as well as any free-text comment entered by the user. |
| Short | Reason the user overrode the card |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| Invariants | cds-fb-3: An overrideReason must contain a reason, a userComment, or both (reason.exists() or userComment.exists()) |
| 14. CDSHooksFeedback.feedback.overrideReason.reason | |
| Definition | 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). |
| Short | The override reason selected by the end user |
| Control | 0..1 |
| Type | Coding |
| 16. CDSHooksFeedback.feedback.overrideReason.userComment | |
| Definition | Free text the clinician provided to further explain why the card was rejected. |
| Short | Free text user comment |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 18. CDSHooksFeedback.feedback.outcomeTimestamp | |
| Definition | 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). |
| Short | When the user took action on the card |
| Control | 1..1 |
| Type | instant |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Guidance on how to interpret the contents of this table can be foundhere
| 0. CDSHooksFeedback | |
| Definition | 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. |
| Short | The request body for the CDS Hooks feedback endpoint |
| Control | 0..* |
| Is Modifier | false |
| Logical Model | Instances of this logical model are not marked to be the target of a Reference |
| 2. CDSHooksFeedback.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 4. CDSHooksFeedback.feedback | |
| Definition | An array of Feedback entries reporting end-user interaction with cards previously returned by the CDS Service. |
| Short | Array of Feedback entries |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| JSON Format | The JSON Array for this property is present even when there are no items in the instance (e.g. as an empty array) |
| Invariants | cds-fb-1: outcome must be 'accepted' or 'overridden' (outcome = 'accepted' or outcome = 'overridden')cds-fb-2: If outcome is 'accepted', acceptedSuggestions SHALL be provided ( (outcome = 'accepted') implies acceptedSuggestions.exists()) |
| 6. CDSHooksFeedback.feedback.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 8. CDSHooksFeedback.feedback.card | |
| Definition | The card.uuid from the CDS Hooks response. Uniquely identifies the card. |
| Short | Identifier of the card the user acted on |
| Control | 1..1 |
| Type | uuid |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| String Format | When this element is read urn:uuid:is prefixed to the value before validation |
| 10. CDSHooksFeedback.feedback.outcome | |
| Definition | A value of accepted or overridden. |
| Short | accepted | overridden |
| Control | 1..1 |
| Type | code |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 12. CDSHooksFeedback.feedback.acceptedSuggestions | |
| Definition | An array of objects identifying one or more of the user's AcceptedSuggestions. Required for 'accepted' outcomes. |
| Short | Suggestions accepted by the user |
| Control | 0..* |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| 14. CDSHooksFeedback.feedback.acceptedSuggestions.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 16. CDSHooksFeedback.feedback.acceptedSuggestions.id | |
| Definition | The card.suggestion.uuid from the CDS Hooks response. Uniquely identifies the suggestion that was accepted. |
| Short | Identifier of the accepted suggestion |
| Control | 1..1 |
| Type | uuid |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| String Format | When this element is read urn:uuid:is prefixed to the value before validation |
| 18. CDSHooksFeedback.feedback.overrideReason | |
| Definition | Captures the override reason as a Coding as well as any free-text comment entered by the user. |
| Short | Reason the user overrode the card |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksElement |
| Invariants | cds-fb-3: An overrideReason must contain a reason, a userComment, or both (reason.exists() or userComment.exists()) |
| 20. CDSHooksFeedback.feedback.overrideReason.extension | |
| Definition | A JSON object that has properties where the names are defined by the extension definitions |
| Short | Object that has Named Extension Properties |
| Comments | 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 |
| Control | 0..1 |
| Type | http://hl7.org/fhir/tools/StructureDefinition/CDSHooksExtensions |
| 22. CDSHooksFeedback.feedback.overrideReason.reason | |
| Definition | 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). |
| Short | The override reason selected by the end user |
| Control | 0..1 |
| Type | Coding |
| 24. CDSHooksFeedback.feedback.overrideReason.userComment | |
| Definition | Free text the clinician provided to further explain why the card was rejected. |
| Short | Free text user comment |
| Control | 0..1 |
| Type | string |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
| 26. CDSHooksFeedback.feedback.outcomeTimestamp | |
| Definition | 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). |
| Short | When the user took action on the card |
| Control | 1..1 |
| Type | instant |
| Primitive Value | This primitive element may be present, or absent, or replaced by an extension |