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: CDSHooks Response (Logical Definition) ( Experimental )

Official URL: http://hl7.org/fhir/tools/StructureDefinition/CDSHooksResponse Version: 0.1.0
Draft as of 2023-12-19 Maturity Level: 2 Computable Name: CDSHooksResponse

This structure is defined to allow the FHIR Validator to validate a CDSHooks Response body. TODO: This content will be moved to the CDS Hooks specification in the future

Usage:

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

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from CDSHooksElement

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksResponse 0..*CDSHooksElement
Elements defined in Ancestors: extension
The response to the discovery endpoint
Instances of this logical model are not marked to be the target of a Reference
... cards C0..*CDSHooksElementAn array of Cards that provide information, suggested actions, and links
JSON: This element is present as a JSON Array even when there are no items in the instance
cds-resp-1: only one action can be suggested if selectionBehavior = at-most-one
.... uuid 0..1uuidUnique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1stringSummary message for display to the user (<140 char)
.... detail 0..1markdownOptional detailed information to display (GitHub Flavored Markdown)
.... indicator 0..1codeinfo, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1CDSHooksElementThe primary source of guidance for the content the card represents.
..... label 1..1stringShort, human-readable label to display for the source.
..... url 0..1urlLink for when user clicks for more information about the source
..... icon 0..1urlabsolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1CodingDescribes the content of the card - can be useful for filtering, searching or ordered display
.... suggestions 0..*CDSHooksElementSuggest a set of changes in the context of the current activity
..... label 1..1stringHuman-readable label to display for this suggestion
..... uuid 0..1uuidUnique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1boolean
..... actions C0..*CDSHooksElementDefines a suggested action (all apply)
cds-resp-2: A resourceId not a resource must be provided when type = delete
...... type 1..1codecreate, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description 1..1stringHuman-readable description of the suggested action (MAY be presented to the end-user)
...... resource 0..1ResourceFHIR resource to create/update
...... resourceId 0..*urlA relative reference to the relevant resource.
.... selectionBehavior 0..1codeat-most-one, any - intended selection behavior of the suggestions in the card
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C0..*CodingCan be selected by the end user when overriding a card without taking the suggested recommendations.
cds-resp-4: the CDS Service MUST populate a display value for each reason's Coding
.... links C0..*CDSHooksElementLink to an app that the user might want to run for additional information or to help guide a decision
cds-resp-3: AppContext only for smart Apps
..... label 1..1stringHuman-readable label to display for this link (e.g. the CDS Client might render this as the underlined text of a clickable link).
..... url 1..1urlURL to load (via GET, in a browser context) when a user clicks on this link. Note that this MAY be a 'deep link' with context embedded in path segments, query parameters, or a hash.
..... type 0..1codeabsolute, smart - how to use the link
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1stringAllows the CDS Service to share information from the CDS card with a subsequently launched SMART app
... systemActions 0..*See actionsAn array of Actions that the CDS Service proposes 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)

PathConformanceValueSet
CDSHooksResponse.cards.indicatorrequiredCDSIndicatorCodesVS (a valid code from CDSIndicator Codes)
CDSHooksResponse.cards.suggestions.actions.typerequiredCDSActionTypeCodesVS (a valid code from CDSActionType Codes)
CDSHooksResponse.cards.selectionBehaviorrequiredCDSSelectionBehaviorCodesVS (a valid code from CDSSelectionBehavior Codes)
CDSHooksResponse.cards.links.typerequiredCDSLinkTypeCodesVS (a valid code from CDSLinkType Codes)

Constraints

IdGradePath(s)DetailsRequirements
cds-resp-1errorCDSHooksResponse.cardsonly one action can be suggested if selectionBehavior = at-most-one
: (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2warningCDSHooksResponse.cards.suggestions.actionsA resourceId not a resource must be provided when type = delete
: (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3errorCDSHooksResponse.cards.linksAppContext only for smart Apps
: (type != 'smart') implies (appContext.empty())
cds-resp-4errorCDSHooksResponse.cards.overrideReasonsthe CDS Service MUST populate a display value for each reason's Coding
: all(display.exists())
NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksResponse 0..*CDSHooksElement
Elements defined in Ancestors: extension
The response to the discovery endpoint
Instances of this logical model are not marked to be the target of a Reference
... cards C0..*CDSHooksElementAn array of Cards that provide information, suggested actions, and links
JSON: This element is present as a JSON Array even when there are no items in the instance
cds-resp-1: only one action can be suggested if selectionBehavior = at-most-one
.... uuid 0..1uuidUnique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1stringSummary message for display to the user (<140 char)
.... detail 0..1markdownOptional detailed information to display (GitHub Flavored Markdown)
.... indicator 0..1codeinfo, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1CDSHooksElementThe primary source of guidance for the content the card represents.
..... label 1..1stringShort, human-readable label to display for the source.
..... url 0..1urlLink for when user clicks for more information about the source
..... icon 0..1urlabsolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1CodingDescribes the content of the card - can be useful for filtering, searching or ordered display
.... suggestions 0..*CDSHooksElementSuggest a set of changes in the context of the current activity
..... label 1..1stringHuman-readable label to display for this suggestion
..... uuid 0..1uuidUnique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1boolean
..... actions C0..*CDSHooksElementDefines a suggested action (all apply)
cds-resp-2: A resourceId not a resource must be provided when type = delete
...... type 1..1codecreate, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description 1..1stringHuman-readable description of the suggested action (MAY be presented to the end-user)
...... resource 0..1ResourceFHIR resource to create/update
...... resourceId 0..*urlA relative reference to the relevant resource.
.... selectionBehavior 0..1codeat-most-one, any - intended selection behavior of the suggestions in the card
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C0..*CodingCan be selected by the end user when overriding a card without taking the suggested recommendations.
cds-resp-4: the CDS Service MUST populate a display value for each reason's Coding
.... links C0..*CDSHooksElementLink to an app that the user might want to run for additional information or to help guide a decision
cds-resp-3: AppContext only for smart Apps
..... label 1..1stringHuman-readable label to display for this link (e.g. the CDS Client might render this as the underlined text of a clickable link).
..... url 1..1urlURL to load (via GET, in a browser context) when a user clicks on this link. Note that this MAY be a 'deep link' with context embedded in path segments, query parameters, or a hash.
..... type 0..1codeabsolute, smart - how to use the link
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1stringAllows the CDS Service to share information from the CDS card with a subsequently launched SMART app
... systemActions 0..*See actionsAn array of Actions that the CDS Service proposes 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

PathConformanceValueSet
CDSHooksResponse.cards.indicatorrequiredCDSIndicatorCodesVS (a valid code from CDSIndicator Codes)
CDSHooksResponse.cards.suggestions.actions.typerequiredCDSActionTypeCodesVS (a valid code from CDSActionType Codes)
CDSHooksResponse.cards.selectionBehaviorrequiredCDSSelectionBehaviorCodesVS (a valid code from CDSSelectionBehavior Codes)
CDSHooksResponse.cards.links.typerequiredCDSLinkTypeCodesVS (a valid code from CDSLinkType Codes)

Constraints

IdGradePath(s)DetailsRequirements
cds-resp-1errorCDSHooksResponse.cardsonly one action can be suggested if selectionBehavior = at-most-one
: (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2warningCDSHooksResponse.cards.suggestions.actionsA resourceId not a resource must be provided when type = delete
: (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3errorCDSHooksResponse.cards.linksAppContext only for smart Apps
: (type != 'smart') implies (appContext.empty())
cds-resp-4errorCDSHooksResponse.cards.overrideReasonsthe CDS Service MUST populate a display value for each reason's Coding
: all(display.exists())
NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksResponse 0..*CDSHooksElement
Elements defined in Ancestors: extension
The response to the discovery endpoint
Instances of this logical model are not marked to be the target of a Reference
... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
... cards C0..*CDSHooksElementAn array of Cards that provide information, suggested actions, and links
JSON: This element is present as a JSON Array even when there are no items in the instance
cds-resp-1: only one action can be suggested if selectionBehavior = at-most-one
.... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
.... uuid 0..1uuidUnique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1stringSummary message for display to the user (<140 char)
.... detail 0..1markdownOptional detailed information to display (GitHub Flavored Markdown)
.... indicator 0..1codeinfo, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1CDSHooksElementThe primary source of guidance for the content the card represents.
..... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
..... label 1..1stringShort, human-readable label to display for the source.
..... url 0..1urlLink for when user clicks for more information about the source
..... icon 0..1urlabsolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1CodingDescribes the content of the card - can be useful for filtering, searching or ordered display
.... suggestions 0..*CDSHooksElementSuggest a set of changes in the context of the current activity
..... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
..... label 1..1stringHuman-readable label to display for this suggestion
..... uuid 0..1uuidUnique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1boolean
..... actions C0..*CDSHooksElementDefines a suggested action (all apply)
cds-resp-2: A resourceId not a resource must be provided when type = delete
...... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
...... type 1..1codecreate, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description 1..1stringHuman-readable description of the suggested action (MAY be presented to the end-user)
...... resource 0..1ResourceFHIR resource to create/update
...... resourceId 0..*urlA relative reference to the relevant resource.
.... selectionBehavior 0..1codeat-most-one, any - intended selection behavior of the suggestions in the card
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C0..*CodingCan be selected by the end user when overriding a card without taking the suggested recommendations.
cds-resp-4: the CDS Service MUST populate a display value for each reason's Coding
.... links C0..*CDSHooksElementLink to an app that the user might want to run for additional information or to help guide a decision
cds-resp-3: AppContext only for smart Apps
..... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
..... label 1..1stringHuman-readable label to display for this link (e.g. the CDS Client might render this as the underlined text of a clickable link).
..... url 1..1urlURL to load (via GET, in a browser context) when a user clicks on this link. Note that this MAY be a 'deep link' with context embedded in path segments, query parameters, or a hash.
..... type 0..1codeabsolute, smart - how to use the link
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1stringAllows the CDS Service to share information from the CDS card with a subsequently launched SMART app
... systemActions 0..*See actionsAn array of Actions that the CDS Service proposes 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

PathConformanceValueSet
CDSHooksResponse.cards.indicatorrequiredCDSIndicatorCodesVS (a valid code from CDSIndicator Codes)
CDSHooksResponse.cards.suggestions.actions.typerequiredCDSActionTypeCodesVS (a valid code from CDSActionType Codes)
CDSHooksResponse.cards.selectionBehaviorrequiredCDSSelectionBehaviorCodesVS (a valid code from CDSSelectionBehavior Codes)
CDSHooksResponse.cards.links.typerequiredCDSLinkTypeCodesVS (a valid code from CDSLinkType Codes)

Constraints

IdGradePath(s)DetailsRequirements
cds-resp-1errorCDSHooksResponse.cardsonly one action can be suggested if selectionBehavior = at-most-one
: (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2warningCDSHooksResponse.cards.suggestions.actionsA resourceId not a resource must be provided when type = delete
: (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3errorCDSHooksResponse.cards.linksAppContext only for smart Apps
: (type != 'smart') implies (appContext.empty())
cds-resp-4errorCDSHooksResponse.cards.overrideReasonsthe CDS Service MUST populate a display value for each reason's Coding
: all(display.exists())

This structure is derived from CDSHooksElement

Summary

Mandatory: 0 element (8 nested mandatory elements)

Maturity: 2

Differential View

This structure is derived from CDSHooksElement

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksResponse 0..*CDSHooksElement
Elements defined in Ancestors: extension
The response to the discovery endpoint
Instances of this logical model are not marked to be the target of a Reference
... cards C0..*CDSHooksElementAn array of Cards that provide information, suggested actions, and links
JSON: This element is present as a JSON Array even when there are no items in the instance
cds-resp-1: only one action can be suggested if selectionBehavior = at-most-one
.... uuid 0..1uuidUnique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1stringSummary message for display to the user (<140 char)
.... detail 0..1markdownOptional detailed information to display (GitHub Flavored Markdown)
.... indicator 0..1codeinfo, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1CDSHooksElementThe primary source of guidance for the content the card represents.
..... label 1..1stringShort, human-readable label to display for the source.
..... url 0..1urlLink for when user clicks for more information about the source
..... icon 0..1urlabsolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1CodingDescribes the content of the card - can be useful for filtering, searching or ordered display
.... suggestions 0..*CDSHooksElementSuggest a set of changes in the context of the current activity
..... label 1..1stringHuman-readable label to display for this suggestion
..... uuid 0..1uuidUnique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1boolean
..... actions C0..*CDSHooksElementDefines a suggested action (all apply)
cds-resp-2: A resourceId not a resource must be provided when type = delete
...... type 1..1codecreate, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description 1..1stringHuman-readable description of the suggested action (MAY be presented to the end-user)
...... resource 0..1ResourceFHIR resource to create/update
...... resourceId 0..*urlA relative reference to the relevant resource.
.... selectionBehavior 0..1codeat-most-one, any - intended selection behavior of the suggestions in the card
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C0..*CodingCan be selected by the end user when overriding a card without taking the suggested recommendations.
cds-resp-4: the CDS Service MUST populate a display value for each reason's Coding
.... links C0..*CDSHooksElementLink to an app that the user might want to run for additional information or to help guide a decision
cds-resp-3: AppContext only for smart Apps
..... label 1..1stringHuman-readable label to display for this link (e.g. the CDS Client might render this as the underlined text of a clickable link).
..... url 1..1urlURL to load (via GET, in a browser context) when a user clicks on this link. Note that this MAY be a 'deep link' with context embedded in path segments, query parameters, or a hash.
..... type 0..1codeabsolute, smart - how to use the link
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1stringAllows the CDS Service to share information from the CDS card with a subsequently launched SMART app
... systemActions 0..*See actionsAn array of Actions that the CDS Service proposes 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)

PathConformanceValueSet
CDSHooksResponse.cards.indicatorrequiredCDSIndicatorCodesVS (a valid code from CDSIndicator Codes)
CDSHooksResponse.cards.suggestions.actions.typerequiredCDSActionTypeCodesVS (a valid code from CDSActionType Codes)
CDSHooksResponse.cards.selectionBehaviorrequiredCDSSelectionBehaviorCodesVS (a valid code from CDSSelectionBehavior Codes)
CDSHooksResponse.cards.links.typerequiredCDSLinkTypeCodesVS (a valid code from CDSLinkType Codes)

Constraints

IdGradePath(s)DetailsRequirements
cds-resp-1errorCDSHooksResponse.cardsonly one action can be suggested if selectionBehavior = at-most-one
: (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2warningCDSHooksResponse.cards.suggestions.actionsA resourceId not a resource must be provided when type = delete
: (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3errorCDSHooksResponse.cards.linksAppContext only for smart Apps
: (type != 'smart') implies (appContext.empty())
cds-resp-4errorCDSHooksResponse.cards.overrideReasonsthe CDS Service MUST populate a display value for each reason's Coding
: all(display.exists())

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksResponse 0..*CDSHooksElement
Elements defined in Ancestors: extension
The response to the discovery endpoint
Instances of this logical model are not marked to be the target of a Reference
... cards C0..*CDSHooksElementAn array of Cards that provide information, suggested actions, and links
JSON: This element is present as a JSON Array even when there are no items in the instance
cds-resp-1: only one action can be suggested if selectionBehavior = at-most-one
.... uuid 0..1uuidUnique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1stringSummary message for display to the user (<140 char)
.... detail 0..1markdownOptional detailed information to display (GitHub Flavored Markdown)
.... indicator 0..1codeinfo, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1CDSHooksElementThe primary source of guidance for the content the card represents.
..... label 1..1stringShort, human-readable label to display for the source.
..... url 0..1urlLink for when user clicks for more information about the source
..... icon 0..1urlabsolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1CodingDescribes the content of the card - can be useful for filtering, searching or ordered display
.... suggestions 0..*CDSHooksElementSuggest a set of changes in the context of the current activity
..... label 1..1stringHuman-readable label to display for this suggestion
..... uuid 0..1uuidUnique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1boolean
..... actions C0..*CDSHooksElementDefines a suggested action (all apply)
cds-resp-2: A resourceId not a resource must be provided when type = delete
...... type 1..1codecreate, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description 1..1stringHuman-readable description of the suggested action (MAY be presented to the end-user)
...... resource 0..1ResourceFHIR resource to create/update
...... resourceId 0..*urlA relative reference to the relevant resource.
.... selectionBehavior 0..1codeat-most-one, any - intended selection behavior of the suggestions in the card
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C0..*CodingCan be selected by the end user when overriding a card without taking the suggested recommendations.
cds-resp-4: the CDS Service MUST populate a display value for each reason's Coding
.... links C0..*CDSHooksElementLink to an app that the user might want to run for additional information or to help guide a decision
cds-resp-3: AppContext only for smart Apps
..... label 1..1stringHuman-readable label to display for this link (e.g. the CDS Client might render this as the underlined text of a clickable link).
..... url 1..1urlURL to load (via GET, in a browser context) when a user clicks on this link. Note that this MAY be a 'deep link' with context embedded in path segments, query parameters, or a hash.
..... type 0..1codeabsolute, smart - how to use the link
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1stringAllows the CDS Service to share information from the CDS card with a subsequently launched SMART app
... systemActions 0..*See actionsAn array of Actions that the CDS Service proposes 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

PathConformanceValueSet
CDSHooksResponse.cards.indicatorrequiredCDSIndicatorCodesVS (a valid code from CDSIndicator Codes)
CDSHooksResponse.cards.suggestions.actions.typerequiredCDSActionTypeCodesVS (a valid code from CDSActionType Codes)
CDSHooksResponse.cards.selectionBehaviorrequiredCDSSelectionBehaviorCodesVS (a valid code from CDSSelectionBehavior Codes)
CDSHooksResponse.cards.links.typerequiredCDSLinkTypeCodesVS (a valid code from CDSLinkType Codes)

Constraints

IdGradePath(s)DetailsRequirements
cds-resp-1errorCDSHooksResponse.cardsonly one action can be suggested if selectionBehavior = at-most-one
: (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2warningCDSHooksResponse.cards.suggestions.actionsA resourceId not a resource must be provided when type = delete
: (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3errorCDSHooksResponse.cards.linksAppContext only for smart Apps
: (type != 'smart') implies (appContext.empty())
cds-resp-4errorCDSHooksResponse.cards.overrideReasonsthe CDS Service MUST populate a display value for each reason's Coding
: all(display.exists())

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. CDSHooksResponse 0..*CDSHooksElement
Elements defined in Ancestors: extension
The response to the discovery endpoint
Instances of this logical model are not marked to be the target of a Reference
... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
... cards C0..*CDSHooksElementAn array of Cards that provide information, suggested actions, and links
JSON: This element is present as a JSON Array even when there are no items in the instance
cds-resp-1: only one action can be suggested if selectionBehavior = at-most-one
.... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
.... uuid 0..1uuidUnique identifier of the card (for logging/feedback)
When this element is read urn:uuid: is prefixed to the value before validation
.... summary 1..1stringSummary message for display to the user (<140 char)
.... detail 0..1markdownOptional detailed information to display (GitHub Flavored Markdown)
.... indicator 0..1codeinfo, warning, critical - Urgency/importance of what this card conveys
Binding: CDSIndicator Codes ValueSet (required)
.... source 1..1CDSHooksElementThe primary source of guidance for the content the card represents.
..... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
..... label 1..1stringShort, human-readable label to display for the source.
..... url 0..1urlLink for when user clicks for more information about the source
..... icon 0..1urlabsolute URL to an icon for the source (<100x100 PNG))
..... topic 0..1CodingDescribes the content of the card - can be useful for filtering, searching or ordered display
.... suggestions 0..*CDSHooksElementSuggest a set of changes in the context of the current activity
..... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
..... label 1..1stringHuman-readable label to display for this suggestion
..... uuid 0..1uuidUnique identifier, used for auditing and logging suggestions
When this element is read urn:uuid: is prefixed to the value before validation
..... isRecommended 0..1boolean
..... actions C0..*CDSHooksElementDefines a suggested action (all apply)
cds-resp-2: A resourceId not a resource must be provided when type = delete
...... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
...... type 1..1codecreate, update, delete - type of action performed
Binding: CDSActionType Codes ValueSet (required)
...... description 1..1stringHuman-readable description of the suggested action (MAY be presented to the end-user)
...... resource 0..1ResourceFHIR resource to create/update
...... resourceId 0..*urlA relative reference to the relevant resource.
.... selectionBehavior 0..1codeat-most-one, any - intended selection behavior of the suggestions in the card
Binding: CDSSelectionBehavior Codes ValueSet (required)
.... overrideReasons C0..*CodingCan be selected by the end user when overriding a card without taking the suggested recommendations.
cds-resp-4: the CDS Service MUST populate a display value for each reason's Coding
.... links C0..*CDSHooksElementLink to an app that the user might want to run for additional information or to help guide a decision
cds-resp-3: AppContext only for smart Apps
..... extension 0..1CDSHooksElementObject that has Named Extension Properties
This element can be extended by named JSON elements
..... label 1..1stringHuman-readable label to display for this link (e.g. the CDS Client might render this as the underlined text of a clickable link).
..... url 1..1urlURL to load (via GET, in a browser context) when a user clicks on this link. Note that this MAY be a 'deep link' with context embedded in path segments, query parameters, or a hash.
..... type 0..1codeabsolute, smart - how to use the link
Binding: CDSLinkType Codes ValueSet (required)
..... appContext 0..1stringAllows the CDS Service to share information from the CDS card with a subsequently launched SMART app
... systemActions 0..*See actionsAn array of Actions that the CDS Service proposes 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

PathConformanceValueSet
CDSHooksResponse.cards.indicatorrequiredCDSIndicatorCodesVS (a valid code from CDSIndicator Codes)
CDSHooksResponse.cards.suggestions.actions.typerequiredCDSActionTypeCodesVS (a valid code from CDSActionType Codes)
CDSHooksResponse.cards.selectionBehaviorrequiredCDSSelectionBehaviorCodesVS (a valid code from CDSSelectionBehavior Codes)
CDSHooksResponse.cards.links.typerequiredCDSLinkTypeCodesVS (a valid code from CDSLinkType Codes)

Constraints

IdGradePath(s)DetailsRequirements
cds-resp-1errorCDSHooksResponse.cardsonly one action can be suggested if selectionBehavior = at-most-one
: (selectionBehavior = 'at-most-one') implies suggestions.where(isRecommended).count() <= 1
cds-resp-2warningCDSHooksResponse.cards.suggestions.actionsA resourceId not a resource must be provided when type = delete
: (type = 'delete') implies (resourceId.exists() and resource.empty())
cds-resp-3errorCDSHooksResponse.cards.linksAppContext only for smart Apps
: (type != 'smart') implies (appContext.empty())
cds-resp-4errorCDSHooksResponse.cards.overrideReasonsthe CDS Service MUST populate a display value for each reason's Coding
: all(display.exists())

This structure is derived from CDSHooksElement

Summary

Mandatory: 0 element (8 nested mandatory elements)

Maturity: 2

 

Other representations of profile: CSV, Excel