CDS Hooks
3.0.0-ballot - R3 Normative Ballot International flag

CDS Hooks, published by Clinical Decision Support WG. This guide is not an authorized publication; it is the continuous build for version 3.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/cds-hooks/ and changes regularly. See the Directory of published versions

Logical Model: CDSHooks Response (Logical Definition) ( Experimental )

Official URL: http://cds-hooks.hl7.org/StructureDefinition/CDSHooksResponse Version: 3.0.0-ballot
Standards status: Informative Computable Name: CDSHooksResponse

This structure is defined to allow the FHIR Validator to validate a CDSHooks Response body.

Usages:

  • This Logical Model is not used by any profiles in this Implementation Guide

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksResponse 0..* CDSHooksElement The response to the discovery endpoint

Elements defined in Ancestors:extension
... cards C 0..* CDSHooksElement CDS responses to show user
JSON: The type of this element is inferred from the JSON type in the instance
Constraints: cds-resp-1, cds-resp-6
.... uuid 0..1 uuid Unique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1 string Summary message for display to the user (<140 char)
.... detail 0..1 markdown Optional detailed information to display (GitHub Flavored Markdown)
.... indicator 1..1 code info, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1 CDSHooksElement The primary source of guidance for the content the card represents.
..... label 1..1 string Short, human-readable label to display for the source.
..... url 0..1 url Link for when user clicks for more information about the source
..... icon 0..1 url absolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1 Coding Describes the content of the card
.... suggestions C 0..* CDSHooksElement Suggest a set of changes in the context of the current activity
Constraints: cds-resp-5, cds-resp-7
..... label 1..1 string Human-readable label to display for this suggestion
..... uuid 0..1 uuid Unique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1 boolean Which suggestion is most preferred of a set
..... actions C 0..* CDSHooksElement Defines a suggested action (all apply)
Constraints: cds-resp-2
...... type 1..1 code create, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description C 0..1 string Human-readable description of the suggested action
...... resource 0..1 Resource FHIR resource to create/update
...... resourceId 0..1 string A relative reference to the relevant resource.
..... actionSelectionBehavior 0..1 code all | any | at-most-one (default: all)
.... selectionBehavior C 0..1 code at-most-one | any
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C 0..* Coding Feedback from user on card - why not acted on
Constraints: cds-resp-4
.... links C 0..* CDSHooksElement Link to app or additional information
Constraints: cds-resp-3
..... label 1..1 string Human-readable label to display for this link
..... url 1..1 url URL to load
..... type 1..1 code absolute | smart
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1 string Information to share when launching SMART app
..... autolaunchable 0..1 boolean This field serves as a hint to the CDS Client suggesting this link be immediately launched, without displaying the card and without manual user interaction. Note that CDS Hooks cards which contain links with this field set to true, may not be shown to the user. Sufficiently advanced CDS Clients may support automatically launching multiple links or multiple cards. Implementer guidance is requested to determine if the specification should preclude these advanced scenarios.
... systemActions 0..* See actions Actions to auto-apply
JSON: This element may be present as a JSON Array even when there are no items in the instance

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
CDSHooksResponse.cards.​indicator Base required CDSIndicator Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​suggestions.actions.​type Base required CDSActionType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​selectionBehavior Base required CDSSelectionBehavior Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​links.type Base required CDSLinkType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1

Constraints

Id Grade Path(s) Description Expression
cds-resp-1 error CDSHooksResponse.cards only one action can be suggested if selectionBehavior = at-most-one (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2 warning CDSHooksResponse.cards.suggestions.actions A resourceId not a resource must be provided when type = delete (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3 error CDSHooksResponse.cards.links AppContext only for smart Apps (type != 'smart') implies (appContext.empty())
cds-resp-4 error CDSHooksResponse.cards.overrideReasons the CDS Service MUST populate a display value for each reason's Coding all(display.exists())
cds-resp-5 error CDSHooksResponse.cards.suggestions All suggestion actions must have a description actions.all(description.exists())
cds-resp-6 error CDSHooksResponse.cards If suggestions are present, selectionBehavior MUST also be provided. suggestions.exists() implies selectionBehavior.exists()
cds-resp-7 error CDSHooksResponse.cards.suggestions actionSelectionBehavior must be 'all', 'any', or 'at-most-one' actionSelectionBehavior.empty() or actionSelectionBehavior = 'all' or actionSelectionBehavior = 'any' or actionSelectionBehavior = 'at-most-one'
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksResponse 0..* CDSHooksElement The response to the discovery endpoint

Elements defined in Ancestors:extension
... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
... cards C 0..* CDSHooksElement CDS responses to show user
JSON: The type of this element is inferred from the JSON type in the instance
Constraints: cds-resp-1, cds-resp-6
.... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
.... uuid 0..1 uuid Unique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1 string Summary message for display to the user (<140 char)
.... detail 0..1 markdown Optional detailed information to display (GitHub Flavored Markdown)
.... indicator 1..1 code info, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1 CDSHooksElement The primary source of guidance for the content the card represents.
..... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
..... label 1..1 string Short, human-readable label to display for the source.
..... url 0..1 url Link for when user clicks for more information about the source
..... icon 0..1 url absolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1 Coding Describes the content of the card
.... suggestions C 0..* CDSHooksElement Suggest a set of changes in the context of the current activity
Constraints: cds-resp-5, cds-resp-7
..... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
..... label 1..1 string Human-readable label to display for this suggestion
..... uuid 0..1 uuid Unique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1 boolean Which suggestion is most preferred of a set
..... actions C 0..* CDSHooksElement Defines a suggested action (all apply)
Constraints: cds-resp-2
...... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
...... type 1..1 code create, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description C 0..1 string Human-readable description of the suggested action
...... resource 0..1 Resource FHIR resource to create/update
...... resourceId 0..1 string A relative reference to the relevant resource.
..... actionSelectionBehavior 0..1 code all | any | at-most-one (default: all)
.... selectionBehavior C 0..1 code at-most-one | any
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C 0..* Coding Feedback from user on card - why not acted on
Constraints: cds-resp-4
.... links C 0..* CDSHooksElement Link to app or additional information
Constraints: cds-resp-3
..... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
..... label 1..1 string Human-readable label to display for this link
..... url 1..1 url URL to load
..... type 1..1 code absolute | smart
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1 string Information to share when launching SMART app
..... autolaunchable 0..1 boolean This field serves as a hint to the CDS Client suggesting this link be immediately launched, without displaying the card and without manual user interaction. Note that CDS Hooks cards which contain links with this field set to true, may not be shown to the user. Sufficiently advanced CDS Clients may support automatically launching multiple links or multiple cards. Implementer guidance is requested to determine if the specification should preclude these advanced scenarios.
... systemActions 0..* See actions Actions to auto-apply
JSON: This element may be present as a JSON Array even when there are no items in the instance

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CDSHooksResponse.cards.​indicator Base required CDSIndicator Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​suggestions.actions.​type Base required CDSActionType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​selectionBehavior Base required CDSSelectionBehavior Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​links.type Base required CDSLinkType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1

Constraints

Id Grade Path(s) Description Expression
cds-resp-1 error CDSHooksResponse.cards only one action can be suggested if selectionBehavior = at-most-one (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2 warning CDSHooksResponse.cards.suggestions.actions A resourceId not a resource must be provided when type = delete (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3 error CDSHooksResponse.cards.links AppContext only for smart Apps (type != 'smart') implies (appContext.empty())
cds-resp-4 error CDSHooksResponse.cards.overrideReasons the CDS Service MUST populate a display value for each reason's Coding all(display.exists())
cds-resp-5 error CDSHooksResponse.cards.suggestions All suggestion actions must have a description actions.all(description.exists())
cds-resp-6 error CDSHooksResponse.cards If suggestions are present, selectionBehavior MUST also be provided. suggestions.exists() implies selectionBehavior.exists()
cds-resp-7 error CDSHooksResponse.cards.suggestions actionSelectionBehavior must be 'all', 'any', or 'at-most-one' actionSelectionBehavior.empty() or actionSelectionBehavior = 'all' or actionSelectionBehavior = 'any' or actionSelectionBehavior = 'at-most-one'

Summary

Mandatory: 0 element(9 nested mandatory elements)

Differential View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksResponse 0..* CDSHooksElement The response to the discovery endpoint

Elements defined in Ancestors:extension
... cards C 0..* CDSHooksElement CDS responses to show user
JSON: The type of this element is inferred from the JSON type in the instance
Constraints: cds-resp-1, cds-resp-6
.... uuid 0..1 uuid Unique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1 string Summary message for display to the user (<140 char)
.... detail 0..1 markdown Optional detailed information to display (GitHub Flavored Markdown)
.... indicator 1..1 code info, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1 CDSHooksElement The primary source of guidance for the content the card represents.
..... label 1..1 string Short, human-readable label to display for the source.
..... url 0..1 url Link for when user clicks for more information about the source
..... icon 0..1 url absolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1 Coding Describes the content of the card
.... suggestions C 0..* CDSHooksElement Suggest a set of changes in the context of the current activity
Constraints: cds-resp-5, cds-resp-7
..... label 1..1 string Human-readable label to display for this suggestion
..... uuid 0..1 uuid Unique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1 boolean Which suggestion is most preferred of a set
..... actions C 0..* CDSHooksElement Defines a suggested action (all apply)
Constraints: cds-resp-2
...... type 1..1 code create, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description C 0..1 string Human-readable description of the suggested action
...... resource 0..1 Resource FHIR resource to create/update
...... resourceId 0..1 string A relative reference to the relevant resource.
..... actionSelectionBehavior 0..1 code all | any | at-most-one (default: all)
.... selectionBehavior C 0..1 code at-most-one | any
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C 0..* Coding Feedback from user on card - why not acted on
Constraints: cds-resp-4
.... links C 0..* CDSHooksElement Link to app or additional information
Constraints: cds-resp-3
..... label 1..1 string Human-readable label to display for this link
..... url 1..1 url URL to load
..... type 1..1 code absolute | smart
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1 string Information to share when launching SMART app
..... autolaunchable 0..1 boolean This field serves as a hint to the CDS Client suggesting this link be immediately launched, without displaying the card and without manual user interaction. Note that CDS Hooks cards which contain links with this field set to true, may not be shown to the user. Sufficiently advanced CDS Clients may support automatically launching multiple links or multiple cards. Implementer guidance is requested to determine if the specification should preclude these advanced scenarios.
... systemActions 0..* See actions Actions to auto-apply
JSON: This element may be present as a JSON Array even when there are no items in the instance

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
CDSHooksResponse.cards.​indicator Base required CDSIndicator Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​suggestions.actions.​type Base required CDSActionType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​selectionBehavior Base required CDSSelectionBehavior Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​links.type Base required CDSLinkType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1

Constraints

Id Grade Path(s) Description Expression
cds-resp-1 error CDSHooksResponse.cards only one action can be suggested if selectionBehavior = at-most-one (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2 warning CDSHooksResponse.cards.suggestions.actions A resourceId not a resource must be provided when type = delete (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3 error CDSHooksResponse.cards.links AppContext only for smart Apps (type != 'smart') implies (appContext.empty())
cds-resp-4 error CDSHooksResponse.cards.overrideReasons the CDS Service MUST populate a display value for each reason's Coding all(display.exists())
cds-resp-5 error CDSHooksResponse.cards.suggestions All suggestion actions must have a description actions.all(description.exists())
cds-resp-6 error CDSHooksResponse.cards If suggestions are present, selectionBehavior MUST also be provided. suggestions.exists() implies selectionBehavior.exists()
cds-resp-7 error CDSHooksResponse.cards.suggestions actionSelectionBehavior must be 'all', 'any', or 'at-most-one' actionSelectionBehavior.empty() or actionSelectionBehavior = 'all' or actionSelectionBehavior = 'any' or actionSelectionBehavior = 'at-most-one'

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. CDSHooksResponse 0..* CDSHooksElement The response to the discovery endpoint

Elements defined in Ancestors:extension
... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
... cards C 0..* CDSHooksElement CDS responses to show user
JSON: The type of this element is inferred from the JSON type in the instance
Constraints: cds-resp-1, cds-resp-6
.... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
.... uuid 0..1 uuid Unique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1 string Summary message for display to the user (<140 char)
.... detail 0..1 markdown Optional detailed information to display (GitHub Flavored Markdown)
.... indicator 1..1 code info, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1 CDSHooksElement The primary source of guidance for the content the card represents.
..... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
..... label 1..1 string Short, human-readable label to display for the source.
..... url 0..1 url Link for when user clicks for more information about the source
..... icon 0..1 url absolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1 Coding Describes the content of the card
.... suggestions C 0..* CDSHooksElement Suggest a set of changes in the context of the current activity
Constraints: cds-resp-5, cds-resp-7
..... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
..... label 1..1 string Human-readable label to display for this suggestion
..... uuid 0..1 uuid Unique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1 boolean Which suggestion is most preferred of a set
..... actions C 0..* CDSHooksElement Defines a suggested action (all apply)
Constraints: cds-resp-2
...... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
...... type 1..1 code create, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description C 0..1 string Human-readable description of the suggested action
...... resource 0..1 Resource FHIR resource to create/update
...... resourceId 0..1 string A relative reference to the relevant resource.
..... actionSelectionBehavior 0..1 code all | any | at-most-one (default: all)
.... selectionBehavior C 0..1 code at-most-one | any
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C 0..* Coding Feedback from user on card - why not acted on
Constraints: cds-resp-4
.... links C 0..* CDSHooksElement Link to app or additional information
Constraints: cds-resp-3
..... extension 0..1 CDSHooksExtensions Object that has Named Extension Properties
..... label 1..1 string Human-readable label to display for this link
..... url 1..1 url URL to load
..... type 1..1 code absolute | smart
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1 string Information to share when launching SMART app
..... autolaunchable 0..1 boolean This field serves as a hint to the CDS Client suggesting this link be immediately launched, without displaying the card and without manual user interaction. Note that CDS Hooks cards which contain links with this field set to true, may not be shown to the user. Sufficiently advanced CDS Clients may support automatically launching multiple links or multiple cards. Implementer guidance is requested to determine if the specification should preclude these advanced scenarios.
... systemActions 0..* See actions Actions to auto-apply
JSON: This element may be present as a JSON Array even when there are no items in the instance

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
CDSHooksResponse.cards.​indicator Base required CDSIndicator Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​suggestions.actions.​type Base required CDSActionType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​selectionBehavior Base required CDSSelectionBehavior Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1
CDSHooksResponse.cards.​links.type Base required CDSLinkType Codes ValueSet 📦1.1.0 FHIR Tooling Extensions IG v1.1

Constraints

Id Grade Path(s) Description Expression
cds-resp-1 error CDSHooksResponse.cards only one action can be suggested if selectionBehavior = at-most-one (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2 warning CDSHooksResponse.cards.suggestions.actions A resourceId not a resource must be provided when type = delete (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3 error CDSHooksResponse.cards.links AppContext only for smart Apps (type != 'smart') implies (appContext.empty())
cds-resp-4 error CDSHooksResponse.cards.overrideReasons the CDS Service MUST populate a display value for each reason's Coding all(display.exists())
cds-resp-5 error CDSHooksResponse.cards.suggestions All suggestion actions must have a description actions.all(description.exists())
cds-resp-6 error CDSHooksResponse.cards If suggestions are present, selectionBehavior MUST also be provided. suggestions.exists() implies selectionBehavior.exists()
cds-resp-7 error CDSHooksResponse.cards.suggestions actionSelectionBehavior must be 'all', 'any', or 'at-most-one' actionSelectionBehavior.empty() or actionSelectionBehavior = 'all' or actionSelectionBehavior = 'any' or actionSelectionBehavior = 'at-most-one'

Summary

Mandatory: 0 element(9 nested mandatory elements)

 

Other representations of profile: CSV, Excel