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 Case

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

CPG case represents a specific case of a patient enrolled in a particular pathway. The enrollment may have been automatic, prompted, or manual.

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
EpisodeOfCare 0..* EpisodeOfCare An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
EpisodeOfCare.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
EpisodeOfCare.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
EpisodeOfCare.Slices for extension.extension:enrolledIn This element must be supported. 0..* canonical() CPG Enrolled In Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-enrolledIn
EpisodeOfCare.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
EpisodeOfCare.status This element is a modifier element. This element is included in summaries. 1..1 code planned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required): The status of the episode of care.
EpisodeOfCare.type This element is included in summaries. 0..* CodeableConcept Type/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (preferred): Expresses the type of an episode of care
EpisodeOfCare.diagnosis This element is included in summaries. 1..* BackboneElement The list of diagnosis relevant to this episode of care
EpisodeOfCare.diagnosis.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
EpisodeOfCare.diagnosis.condition This element is included in summaries. 1..1 Reference(CPG Condition) Conditions/problems/diagnoses this episode of care is for
EpisodeOfCare.patient This element is included in summaries. 1..1 Reference(CPG Patient) The patient who is the focus of this episode of care
EpisodeOfCare.period This element must be supported. This element is included in summaries. 0..1 Period Interval during responsibility is assumed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.status Base required EpisodeOfCareStatus 📍4.0.1 FHIR Std.
EpisodeOfCare.type Base preferred Episode of care type 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare 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 EpisodeOfCare 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 EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare 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()

This structure is derived from EpisodeOfCare

NameFlagsCard.TypeDescription & Constraints    Filter: doco
EpisodeOfCare 0..* EpisodeOfCare An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
EpisodeOfCare.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
EpisodeOfCare.Slices for extension.extension:enrolledIn This element must be supported. 0..* canonical() CPG Enrolled In Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-enrolledIn
EpisodeOfCare.type 0..* CodeableConcept Type/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (preferred): Expresses the type of an episode of care
EpisodeOfCare.diagnosis 1..* BackboneElement The list of diagnosis relevant to this episode of care
EpisodeOfCare.diagnosis.condition 1..1 Reference(CPG Condition) Conditions/problems/diagnoses this episode of care is for
EpisodeOfCare.period This element must be supported. 0..1 Period Interval during responsibility is assumed

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
EpisodeOfCare.type Base preferred Episode of care type 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: doco
EpisodeOfCare 0..* EpisodeOfCare An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
EpisodeOfCare.id This element is included in summaries. 0..1 id Logical id of this artifact
EpisodeOfCare.meta This element is included in summaries. 0..1 Meta Metadata about the resource
EpisodeOfCare.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
EpisodeOfCare.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
EpisodeOfCare.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
EpisodeOfCare.contained 0..* Resource Contained, inline Resources
EpisodeOfCare.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
EpisodeOfCare.Slices for extension.extension:enrolledIn This element must be supported. 0..* canonical() CPG Enrolled In Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-enrolledIn
EpisodeOfCare.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
EpisodeOfCare.identifier 0..* Identifier Business Identifier(s) relevant for this EpisodeOfCare
EpisodeOfCare.status This element is a modifier element. This element is included in summaries. 1..1 code planned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required): The status of the episode of care.
EpisodeOfCare.statusHistory 0..* BackboneElement Past list of status codes (the current status may be included to cover the start date of the status)
EpisodeOfCare.statusHistory.id 0..1 string Unique id for inter-element referencing
EpisodeOfCare.statusHistory.extension 0..* Extension Additional content defined by implementations
EpisodeOfCare.statusHistory.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
EpisodeOfCare.statusHistory.status 1..1 code planned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required): The status of the episode of care.
EpisodeOfCare.statusHistory.period 1..1 Period Duration the EpisodeOfCare was in the specified status
EpisodeOfCare.type This element is included in summaries. 0..* CodeableConcept Type/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (preferred): Expresses the type of an episode of care
EpisodeOfCare.diagnosis This element is included in summaries. 1..* BackboneElement The list of diagnosis relevant to this episode of care
EpisodeOfCare.diagnosis.id 0..1 string Unique id for inter-element referencing
EpisodeOfCare.diagnosis.extension 0..* Extension Additional content defined by implementations
EpisodeOfCare.diagnosis.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
EpisodeOfCare.diagnosis.condition This element is included in summaries. 1..1 Reference(CPG Condition) Conditions/problems/diagnoses this episode of care is for
EpisodeOfCare.diagnosis.role This element is included in summaries. 0..1 CodeableConcept Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents.
EpisodeOfCare.diagnosis.rank This element is included in summaries. 0..1 positiveInt Ranking of the diagnosis (for each role type)
EpisodeOfCare.patient This element is included in summaries. 1..1 Reference(CPG Patient) The patient who is the focus of this episode of care
EpisodeOfCare.managingOrganization This element is included in summaries. 0..1 Reference(Organization) Organization that assumes care
EpisodeOfCare.period This element must be supported. This element is included in summaries. 0..1 Period Interval during responsibility is assumed
EpisodeOfCare.referralRequest 0..* Reference(ServiceRequest) Originating Referral Request(s)
EpisodeOfCare.careManager 0..1 Reference(Practitioner | PractitionerRole) Care manager/care coordinator for the patient
EpisodeOfCare.team 0..* Reference(CareTeam) Other practitioners facilitating this episode of care
EpisodeOfCare.account 0..* Reference(Account) The set of accounts that may be used for billing for this EpisodeOfCare

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.language Base preferred Common Languages 📍4.0.1 FHIR Std.
EpisodeOfCare.status Base required EpisodeOfCareStatus 📍4.0.1 FHIR Std.
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCareStatus 📍4.0.1 FHIR Std.
EpisodeOfCare.type Base preferred Episode of care type 📦4.0.1 FHIR Std.
EpisodeOfCare.diagnosis.​role Base preferred DiagnosisRole 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare 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 EpisodeOfCare 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 EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare 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()

This structure is derived from EpisodeOfCare

Summary

Mandatory: 1 element
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
EpisodeOfCare 0..* EpisodeOfCare An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
EpisodeOfCare.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
EpisodeOfCare.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
EpisodeOfCare.Slices for extension.extension:enrolledIn This element must be supported. 0..* canonical() CPG Enrolled In Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-enrolledIn
EpisodeOfCare.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
EpisodeOfCare.status This element is a modifier element. This element is included in summaries. 1..1 code planned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required): The status of the episode of care.
EpisodeOfCare.type This element is included in summaries. 0..* CodeableConcept Type/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (preferred): Expresses the type of an episode of care
EpisodeOfCare.diagnosis This element is included in summaries. 1..* BackboneElement The list of diagnosis relevant to this episode of care
EpisodeOfCare.diagnosis.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
EpisodeOfCare.diagnosis.condition This element is included in summaries. 1..1 Reference(CPG Condition) Conditions/problems/diagnoses this episode of care is for
EpisodeOfCare.patient This element is included in summaries. 1..1 Reference(CPG Patient) The patient who is the focus of this episode of care
EpisodeOfCare.period This element must be supported. This element is included in summaries. 0..1 Period Interval during responsibility is assumed

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.status Base required EpisodeOfCareStatus 📍4.0.1 FHIR Std.
EpisodeOfCare.type Base preferred Episode of care type 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare 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 EpisodeOfCare 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 EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare 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()

Differential View

This structure is derived from EpisodeOfCare

NameFlagsCard.TypeDescription & Constraints    Filter: doco
EpisodeOfCare 0..* EpisodeOfCare An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
EpisodeOfCare.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
EpisodeOfCare.Slices for extension.extension:enrolledIn This element must be supported. 0..* canonical() CPG Enrolled In Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-enrolledIn
EpisodeOfCare.type 0..* CodeableConcept Type/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (preferred): Expresses the type of an episode of care
EpisodeOfCare.diagnosis 1..* BackboneElement The list of diagnosis relevant to this episode of care
EpisodeOfCare.diagnosis.condition 1..1 Reference(CPG Condition) Conditions/problems/diagnoses this episode of care is for
EpisodeOfCare.patient 1..1 Reference(CPG Patient) The patient who is the focus of this episode of care
EpisodeOfCare.period This element must be supported. 0..1 Period Interval during responsibility is assumed

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
EpisodeOfCare.type Base preferred Episode of care type 📦4.0.1 FHIR Std.

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
EpisodeOfCare 0..* EpisodeOfCare An association of a Patient with an Organization and Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility
EpisodeOfCare.id This element is included in summaries. 0..1 id Logical id of this artifact
EpisodeOfCare.meta This element is included in summaries. 0..1 Meta Metadata about the resource
EpisodeOfCare.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
EpisodeOfCare.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
EpisodeOfCare.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
EpisodeOfCare.contained 0..* Resource Contained, inline Resources
EpisodeOfCare.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
EpisodeOfCare.Slices for extension.extension:enrolledIn This element must be supported. 0..* canonical() CPG Enrolled In Extension
URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-enrolledIn
EpisodeOfCare.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
EpisodeOfCare.identifier 0..* Identifier Business Identifier(s) relevant for this EpisodeOfCare
EpisodeOfCare.status This element is a modifier element. This element is included in summaries. 1..1 code planned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required): The status of the episode of care.
EpisodeOfCare.statusHistory 0..* BackboneElement Past list of status codes (the current status may be included to cover the start date of the status)
EpisodeOfCare.statusHistory.id 0..1 string Unique id for inter-element referencing
EpisodeOfCare.statusHistory.extension 0..* Extension Additional content defined by implementations
EpisodeOfCare.statusHistory.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
EpisodeOfCare.statusHistory.status 1..1 code planned | waitlist | active | onhold | finished | cancelled | entered-in-error
Binding: EpisodeOfCareStatus (required): The status of the episode of care.
EpisodeOfCare.statusHistory.period 1..1 Period Duration the EpisodeOfCare was in the specified status
EpisodeOfCare.type This element is included in summaries. 0..* CodeableConcept Type/class - e.g. specialist referral, disease management
Binding: EpisodeOfCareType (preferred): Expresses the type of an episode of care
EpisodeOfCare.diagnosis This element is included in summaries. 1..* BackboneElement The list of diagnosis relevant to this episode of care
EpisodeOfCare.diagnosis.id 0..1 string Unique id for inter-element referencing
EpisodeOfCare.diagnosis.extension 0..* Extension Additional content defined by implementations
EpisodeOfCare.diagnosis.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
EpisodeOfCare.diagnosis.condition This element is included in summaries. 1..1 Reference(CPG Condition) Conditions/problems/diagnoses this episode of care is for
EpisodeOfCare.diagnosis.role This element is included in summaries. 0..1 CodeableConcept Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …)
Binding: DiagnosisRole (preferred): The type of diagnosis this condition represents.
EpisodeOfCare.diagnosis.rank This element is included in summaries. 0..1 positiveInt Ranking of the diagnosis (for each role type)
EpisodeOfCare.patient This element is included in summaries. 1..1 Reference(CPG Patient) The patient who is the focus of this episode of care
EpisodeOfCare.managingOrganization This element is included in summaries. 0..1 Reference(Organization) Organization that assumes care
EpisodeOfCare.period This element must be supported. This element is included in summaries. 0..1 Period Interval during responsibility is assumed
EpisodeOfCare.referralRequest 0..* Reference(ServiceRequest) Originating Referral Request(s)
EpisodeOfCare.careManager 0..1 Reference(Practitioner | PractitionerRole) Care manager/care coordinator for the patient
EpisodeOfCare.team 0..* Reference(CareTeam) Other practitioners facilitating this episode of care
EpisodeOfCare.account 0..* Reference(Account) The set of accounts that may be used for billing for this EpisodeOfCare

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
EpisodeOfCare.language Base preferred Common Languages 📍4.0.1 FHIR Std.
EpisodeOfCare.status Base required EpisodeOfCareStatus 📍4.0.1 FHIR Std.
EpisodeOfCare.statusHistory.​status Base required EpisodeOfCareStatus 📍4.0.1 FHIR Std.
EpisodeOfCare.type Base preferred Episode of care type 📦4.0.1 FHIR Std.
EpisodeOfCare.diagnosis.​role Base preferred DiagnosisRole 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error EpisodeOfCare If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error EpisodeOfCare 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 EpisodeOfCare 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 EpisodeOfCare If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice EpisodeOfCare 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()

This structure is derived from EpisodeOfCare

Summary

Mandatory: 1 element
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron