FHIR Clinical Guidelines (v1.0.0) (STU1)

Clinical Practice Guidelines, published by Clinical Decision Support WG. This is not an authorized publication; it is the continuous build for version 1.0.0). This version is based on the current content of https://github.com/HL7/cqf-recommendations/ and changes regularly. See the Directory of published versions

D.4.1 StructureDefinition-cpg-strategy

Introduction:

Examples:

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-strategy

Profile of RequestGroup as a Strategy for use with the CPG Implementation Guide. Strategies are patient-specific realiziations of strategy definitions and are used to represent aspects of a care plan that still contain optionality among related patient-specific recommendations, typically focused on a particular condition or state within the overall guideline or pathway

This profile builds on RequestGroup.

This profile was published on Thu Jun 06 00:00:00 UTC 2019 as a draft by Health Level Seven, Inc. - CDS WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Mandatory: 2 elements (3 nested mandatory elements)
Must-Support: 5 elements
Prohibited: 5 elements

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... instantiatesCanonical 1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... priority S0..1coderoutine | urgent | asap | stat
... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... action 0..*BackboneElementProposed actions, if any
.... title 1..1stringUser-visible title
.... description 1..1stringShort description of the action
.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process (extensible): High-level processes identified in guideline-based care

.... relatedAction S0..*BackboneElementRelationship to another action
.... type 0..0
.... groupingBehavior 0..0
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
.... requiredBehavior 0..0
.... precheckBehavior 0..0
.... cardinalityBehavior 0..0
.... resource S0..1Reference(Resource)The target of the action

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier
... instantiatesCanonical Σ1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn 0..*Reference(Resource)Fulfills plan, proposal, or order
... replaces 0..*Reference(Resource)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes identifying the lifecycle stage of a request.

... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.

... priority SΣ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... code Σ0..1CodeableConceptWhat's being requested/ordered
... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... authoredOn 0..1dateTimeWhen the request group was authored
... author 0..1Reference(Device | Practitioner | PractitionerRole)Device or practitioner that authored the request group
... reasonCode 0..*CodeableConceptWhy the request group is needed
... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why the request group is needed
... note 0..*AnnotationAdditional notes about the response
... action I0..*BackboneElementProposed actions, if any
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 1..1stringUser-visible title
.... description Σ1..1stringShort description of the action
.... textEquivalent Σ0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process (extensible): High-level processes identified in guideline-based care


.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): The kind of condition for the action.

..... expression 0..1ExpressionBoolean-valued expression
.... relatedAction S0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device)Who should perform the action
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... resource SI0..1Reference(Resource)The target of the action
.... action I0..*See action (RequestGroup)Sub action

doco Documentation for this format

Summary

Mandatory: 2 elements (3 nested mandatory elements)
Must-Support: 5 elements
Prohibited: 5 elements

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... instantiatesCanonical 1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... priority S0..1coderoutine | urgent | asap | stat
... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... action 0..*BackboneElementProposed actions, if any
.... title 1..1stringUser-visible title
.... description 1..1stringShort description of the action
.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process (extensible): High-level processes identified in guideline-based care

.... relatedAction S0..*BackboneElementRelationship to another action
.... type 0..0
.... groupingBehavior 0..0
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
.... requiredBehavior 0..0
.... precheckBehavior 0..0
.... cardinalityBehavior 0..0
.... resource S0..1Reference(Resource)The target of the action

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. RequestGroup 0..*RequestGroupA group of related requests
... id Σ0..1stringLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages: A human language.

... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..*IdentifierBusiness identifier
... instantiatesCanonical Σ1..1canonical(PlanDefinition)Instantiates FHIR protocol or definition
... instantiatesUri Σ0..*uriInstantiates external protocol or definition
... basedOn 0..*Reference(Resource)Fulfills plan, proposal, or order
... replaces 0..*Reference(Resource)Request(s) replaced by this request
... groupIdentifier Σ0..1IdentifierComposite request this is part of
... status ?!Σ1..1codedraft | active | on-hold | revoked | completed | entered-in-error | unknown
Binding: RequestStatus (required): Codes identifying the lifecycle stage of a request.

... intent ?!Σ1..1codeproposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option
Binding: RequestIntent (required): Codes indicating the degree of authority/intentionality associated with a request.

... priority SΣ0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

... code Σ0..1CodeableConceptWhat's being requested/ordered
... subject 1..1Reference(Patient)Who the request group is about
... encounter S0..1Reference(Encounter)Created as part of
... authoredOn 0..1dateTimeWhen the request group was authored
... author 0..1Reference(Device | Practitioner | PractitionerRole)Device or practitioner that authored the request group
... reasonCode 0..*CodeableConceptWhy the request group is needed
... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport | DocumentReference)Why the request group is needed
... note 0..*AnnotationAdditional notes about the response
... action I0..*BackboneElementProposed actions, if any
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 1..1stringUser-visible title
.... description Σ1..1stringShort description of the action
.... textEquivalent Σ0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 1..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: CPG Common Process (extensible): High-level processes identified in guideline-based care


.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): The kind of condition for the action.

..... expression 0..1ExpressionBoolean-valued expression
.... relatedAction S0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actionId 1..1idWhat action this is related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device)Who should perform the action
.... selectionBehavior S0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

.... resource SI0..1Reference(Resource)The target of the action
.... action I0..*See action (RequestGroup)Sub action

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
RequestGroup.languagepreferredCommonLanguages
Max Binding: AllLanguages
RequestGroup.statusrequiredRequestStatus
RequestGroup.intentrequiredRequestIntent
RequestGroup.priorityrequiredRequestPriority
RequestGroup.action.priorityrequiredRequestPriority
RequestGroup.action.codeextensibleCPG_Common_Process
RequestGroup.action.condition.kindrequiredActionConditionKind
RequestGroup.action.relatedAction.relationshiprequiredActionRelationshipType
RequestGroup.action.selectionBehaviorrequiredActionSelectionBehavior

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2RequestGroupIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3RequestGroupIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4RequestGroupIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5RequestGroupIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6RequestGroupA resource should have narrative for robust management
: text.`div`.exists()
ele-1RequestGroup.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.instantiatesCanonicalAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.instantiatesUriAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.basedOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.replacesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.groupIdentifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.intentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.encounterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.authoredOnAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.authorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.reasonCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.reasonReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
rqg-1RequestGroup.actionMust have resource or action but not both
: resource.exists() != action.exists()
ele-1RequestGroup.action.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.action.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.action.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.action.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.action.prefixAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.titleAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.textEquivalentAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.codeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.documentationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.conditionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.condition.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.action.condition.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.action.condition.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.action.condition.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.action.condition.kindAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.condition.expressionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.relatedActionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.relatedAction.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.action.relatedAction.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.action.relatedAction.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1RequestGroup.action.relatedAction.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1RequestGroup.action.relatedAction.actionIdAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.relatedAction.relationshipAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.relatedAction.offset[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.timing[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.participantAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.selectionBehaviorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.resourceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1RequestGroup.action.actionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())