Clinical Practice Guidelines
3.0.0-ballot - STU 3 Ballot International flag

Clinical Practice Guidelines, published by HL7 International / Clinical Decision Support. 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/cqf-recommendations/ and changes regularly. See the Directory of published versions

Resource Profile: CPG Group Definition

Official URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-groupdefinition Version: 3.0.0-ballot
Active as of 2026-11-10 Computable Name: CPGGroupDefinition
Other Identifiers: OID:2.16.840.1.113883.4.642.40.48.42.68

Represents the definition of a group of subjects, suitable for use in various contexts, such as a cohort definition, a recommendation inclusion or exclusion criteria, the members of a study, or a population criteria

Usages:

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: doco
Group C 0..* Group Group of multiple entities
Constraints: grp-1, gdf-1
Group.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Group.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Group.Slices for extension.extension:expression This element must be supported. C 0..1 Expression An dynamic expression
URL: http://hl7.org/fhir/StructureDefinition/cqf-expression
Group.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Group.identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique id
Group.active This element must be supported. This element is included in summaries. 0..1 boolean Whether this group's record is in active use
Group.type This element must be supported. This element is included in summaries. 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.
Fixed Value: person (no extensions allowed)
Group.actual This element must be supported. This element is included in summaries. C 1..1 boolean Descriptive or actual
Fixed Value: false (no extensions allowed)
Group.code This element must be supported. This element is included in summaries. 0..1 CodeableConcept Kind of Group members
Binding Description: (example): Kind of particular resource; e.g. cow, syringe, lake, etc.
Group.name This element must be supported. This element is included in summaries. 1..1 string Label for Group
Group.characteristic This element must be supported. C 0..* BackboneElement Include / Exclude group members by Trait
Group.characteristic.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Group.characteristic.code 1..1 CodeableConcept Kind of characteristic
Binding Description: (example): List of characteristics used to describe group members; e.g. gender, age, owner, location, etc.
Group.characteristic.value[x] 1..1 Value held by characteristic
Binding Description: (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.
Group.characteristic.value[x].valueCodeableConcept CodeableConcept
Group.characteristic.value[x].valueBoolean boolean
Group.characteristic.value[x].valueQuantity Quantity
Group.characteristic.value[x].valueRange Range
Group.characteristic.value[x].valueReference Reference(Any)
Group.characteristic.exclude 1..1 boolean Group includes or excludes

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Group.type Base required GroupType 📍4.0.1 FHIR Std.
Group.code Base example Not State Unknown
Group.characteristic.​code Base example Not State Unknown
Group.characteristic.​value[x] Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Group If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Group If 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-4 error Group If 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-5 error Group If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Group A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
gdf-1 error Group Group definition must have either an expression or characteristics, but not both extension('http://hl7.org/fhir/StructureDefinition/cqf-expression').exists() xor characteristic.exists()
grp-1 error Group Can only have members if group is "actual" member.empty() or (actual = true)

This structure is derived from Group

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Group C 0..* Group Group of multiple entities
Constraints: gdf-1
Group.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Group.Slices for extension.extension:expression This element must be supported. C 0..1 Expression An dynamic expression
URL: http://hl7.org/fhir/StructureDefinition/cqf-expression
Group.identifier This element must be supported. 0..* Identifier Unique id
Group.active This element must be supported. 0..1 boolean Whether this group's record is in active use
Group.actual This element must be supported. 1..1 boolean Descriptive or actual
Fixed Value: false (no extensions allowed)
Group.code This element must be supported. 0..1 CodeableConcept Kind of Group members
Group.name This element must be supported. 1..1 string Label for Group
Group.characteristic This element must be supported. C 0..* BackboneElement Include / Exclude group members by Trait
Group.member 0..0 Who or what is in group

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
gdf-1 error Group Group definition must have either an expression or characteristics, but not both extension('http://hl7.org/fhir/StructureDefinition/cqf-expression').exists() xor characteristic.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Group C 0..* Group Group of multiple entities
Constraints: grp-1, gdf-1
Group.id This element is included in summaries. 0..1 id Logical id of this artifact
Group.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Group.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Group.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Group.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Group.contained 0..* Resource Contained, inline Resources
Group.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Group.Slices for extension.extension:expression This element must be supported. C 0..1 Expression An dynamic expression
URL: http://hl7.org/fhir/StructureDefinition/cqf-expression
Group.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Group.identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique id
Group.active This element must be supported. This element is included in summaries. 0..1 boolean Whether this group's record is in active use
Group.type This element must be supported. This element is included in summaries. 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.
Fixed Value: person (no extensions allowed)
Group.actual This element must be supported. This element is included in summaries. C 1..1 boolean Descriptive or actual
Fixed Value: false (no extensions allowed)
Group.code This element must be supported. This element is included in summaries. 0..1 CodeableConcept Kind of Group members
Binding Description: (example): Kind of particular resource; e.g. cow, syringe, lake, etc.
Group.name This element must be supported. This element is included in summaries. 1..1 string Label for Group
Group.quantity This element is included in summaries. 0..1 unsignedInt Number of members
Group.managingEntity This element is included in summaries. 0..1 Reference(Organization | RelatedPerson | Practitioner | PractitionerRole) Entity that is the custodian of the Group's definition
Group.characteristic This element must be supported. C 0..* BackboneElement Include / Exclude group members by Trait
Group.characteristic.id 0..1 string Unique id for inter-element referencing
Group.characteristic.extension 0..* Extension Additional content defined by implementations
Group.characteristic.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Group.characteristic.code 1..1 CodeableConcept Kind of characteristic
Binding Description: (example): List of characteristics used to describe group members; e.g. gender, age, owner, location, etc.
Group.characteristic.value[x] 1..1 Value held by characteristic
Binding Description: (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.
Group.characteristic.value[x].valueCodeableConcept CodeableConcept
Group.characteristic.value[x].valueBoolean boolean
Group.characteristic.value[x].valueQuantity Quantity
Group.characteristic.value[x].valueRange Range
Group.characteristic.value[x].valueReference Reference(Any)
Group.characteristic.exclude 1..1 boolean Group includes or excludes
Group.characteristic.period 0..1 Period Period over which characteristic is tested

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Group.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Group.type Base required GroupType 📍4.0.1 FHIR Std.
Group.code Base example Not State Unknown
Group.characteristic.​code Base example Not State Unknown
Group.characteristic.​value[x] Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Group If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Group If 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-4 error Group If 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-5 error Group If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Group A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
gdf-1 error Group Group definition must have either an expression or characteristics, but not both extension('http://hl7.org/fhir/StructureDefinition/cqf-expression').exists() xor characteristic.exists()
grp-1 error Group Can only have members if group is "actual" member.empty() or (actual = true)

This structure is derived from Group

Summary

Mandatory: 1 element
Must-Support: 8 elements
Fixed: 2 elements
Prohibited: 1 element

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Group C 0..* Group Group of multiple entities
Constraints: grp-1, gdf-1
Group.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Group.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Group.Slices for extension.extension:expression This element must be supported. C 0..1 Expression An dynamic expression
URL: http://hl7.org/fhir/StructureDefinition/cqf-expression
Group.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Group.identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique id
Group.active This element must be supported. This element is included in summaries. 0..1 boolean Whether this group's record is in active use
Group.type This element must be supported. This element is included in summaries. 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.
Fixed Value: person (no extensions allowed)
Group.actual This element must be supported. This element is included in summaries. C 1..1 boolean Descriptive or actual
Fixed Value: false (no extensions allowed)
Group.code This element must be supported. This element is included in summaries. 0..1 CodeableConcept Kind of Group members
Binding Description: (example): Kind of particular resource; e.g. cow, syringe, lake, etc.
Group.name This element must be supported. This element is included in summaries. 1..1 string Label for Group
Group.characteristic This element must be supported. C 0..* BackboneElement Include / Exclude group members by Trait
Group.characteristic.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Group.characteristic.code 1..1 CodeableConcept Kind of characteristic
Binding Description: (example): List of characteristics used to describe group members; e.g. gender, age, owner, location, etc.
Group.characteristic.value[x] 1..1 Value held by characteristic
Binding Description: (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.
Group.characteristic.value[x].valueCodeableConcept CodeableConcept
Group.characteristic.value[x].valueBoolean boolean
Group.characteristic.value[x].valueQuantity Quantity
Group.characteristic.value[x].valueRange Range
Group.characteristic.value[x].valueReference Reference(Any)
Group.characteristic.exclude 1..1 boolean Group includes or excludes

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Group.type Base required GroupType 📍4.0.1 FHIR Std.
Group.code Base example Not State Unknown
Group.characteristic.​code Base example Not State Unknown
Group.characteristic.​value[x] Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Group If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Group If 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-4 error Group If 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-5 error Group If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Group A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
gdf-1 error Group Group definition must have either an expression or characteristics, but not both extension('http://hl7.org/fhir/StructureDefinition/cqf-expression').exists() xor characteristic.exists()
grp-1 error Group Can only have members if group is "actual" member.empty() or (actual = true)

Differential View

This structure is derived from Group

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Group C 0..* Group Group of multiple entities
Constraints: gdf-1
Group.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Group.Slices for extension.extension:expression This element must be supported. C 0..1 Expression An dynamic expression
URL: http://hl7.org/fhir/StructureDefinition/cqf-expression
Group.identifier This element must be supported. 0..* Identifier Unique id
Group.active This element must be supported. 0..1 boolean Whether this group's record is in active use
Group.type This element must be supported. 1..1 code person | animal | practitioner | device | medication | substance
Fixed Value: person (no extensions allowed)
Group.actual This element must be supported. 1..1 boolean Descriptive or actual
Fixed Value: false (no extensions allowed)
Group.code This element must be supported. 0..1 CodeableConcept Kind of Group members
Group.name This element must be supported. 1..1 string Label for Group
Group.characteristic This element must be supported. C 0..* BackboneElement Include / Exclude group members by Trait
Group.member 0..0 Who or what is in group

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
gdf-1 error Group Group definition must have either an expression or characteristics, but not both extension('http://hl7.org/fhir/StructureDefinition/cqf-expression').exists() xor characteristic.exists()

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Group C 0..* Group Group of multiple entities
Constraints: grp-1, gdf-1
Group.id This element is included in summaries. 0..1 id Logical id of this artifact
Group.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Group.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Group.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Group.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
Group.contained 0..* Resource Contained, inline Resources
Group.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
Group.Slices for extension.extension:expression This element must be supported. C 0..1 Expression An dynamic expression
URL: http://hl7.org/fhir/StructureDefinition/cqf-expression
Group.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Group.identifier This element must be supported. This element is included in summaries. 0..* Identifier Unique id
Group.active This element must be supported. This element is included in summaries. 0..1 boolean Whether this group's record is in active use
Group.type This element must be supported. This element is included in summaries. 1..1 code person | animal | practitioner | device | medication | substance
Binding: GroupType (required): Types of resources that are part of group.
Fixed Value: person (no extensions allowed)
Group.actual This element must be supported. This element is included in summaries. C 1..1 boolean Descriptive or actual
Fixed Value: false (no extensions allowed)
Group.code This element must be supported. This element is included in summaries. 0..1 CodeableConcept Kind of Group members
Binding Description: (example): Kind of particular resource; e.g. cow, syringe, lake, etc.
Group.name This element must be supported. This element is included in summaries. 1..1 string Label for Group
Group.quantity This element is included in summaries. 0..1 unsignedInt Number of members
Group.managingEntity This element is included in summaries. 0..1 Reference(Organization | RelatedPerson | Practitioner | PractitionerRole) Entity that is the custodian of the Group's definition
Group.characteristic This element must be supported. C 0..* BackboneElement Include / Exclude group members by Trait
Group.characteristic.id 0..1 string Unique id for inter-element referencing
Group.characteristic.extension 0..* Extension Additional content defined by implementations
Group.characteristic.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
Group.characteristic.code 1..1 CodeableConcept Kind of characteristic
Binding Description: (example): List of characteristics used to describe group members; e.g. gender, age, owner, location, etc.
Group.characteristic.value[x] 1..1 Value held by characteristic
Binding Description: (example): Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc.
Group.characteristic.value[x].valueCodeableConcept CodeableConcept
Group.characteristic.value[x].valueBoolean boolean
Group.characteristic.value[x].valueQuantity Quantity
Group.characteristic.value[x].valueRange Range
Group.characteristic.value[x].valueReference Reference(Any)
Group.characteristic.exclude 1..1 boolean Group includes or excludes
Group.characteristic.period 0..1 Period Period over which characteristic is tested

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Group.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Group.type Base required GroupType 📍4.0.1 FHIR Std.
Group.code Base example Not State Unknown
Group.characteristic.​code Base example Not State Unknown
Group.characteristic.​value[x] Base example Not State Unknown

Constraints

Id Grade Path(s) Description Expression
dom-2 error Group If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Group If 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-4 error Group If 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-5 error Group If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Group A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
gdf-1 error Group Group definition must have either an expression or characteristics, but not both extension('http://hl7.org/fhir/StructureDefinition/cqf-expression').exists() xor characteristic.exists()
grp-1 error Group Can only have members if group is "actual" member.empty() or (actual = true)

This structure is derived from Group

Summary

Mandatory: 1 element
Must-Support: 8 elements
Fixed: 2 elements
Prohibited: 1 element

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron