Clinical Practice Guidelines
2.0.0 - STU2 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 2.0.0 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 Practitioner Role Definition

Official URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-practitionerroledefinition Version: 2.0.0
Active as of 2026-04-29 Computable Name: CPGPractitionerRoleDefinition
Other Identifiers: OID:2.16.840.1.113883.4.642.40.48.42.98

Profile of PractitionerRole to establish definitional practitioner roles with the CPG Implementation Guide

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: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
... location SΣ 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦2.0.0 This IG
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... identifier 0..0 Business Identifiers that are specific to a role/location
... active 0..0 Whether this practitioner role record is in active use
... period 0..0 The period during which the practitioner is authorized to perform in these role(s)
... organization 0..0 Organization where the roles are available
... code S 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
... specialty S 0..* CodeableConcept Specific specialty of the practitioner
... location S 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
... telecom 0..0 Contact details that are specific to the role/location/service
... availableTime 0..0 Times the Service Site is available
... notAvailable 0..0 Not available during this time due to provided reason
... availabilityExceptions 0..0 Description of availability exceptions
... endpoint 0..0 Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦2.0.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
... specialty SΣ 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
... location SΣ 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
... healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦2.0.0 This IG
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
PractitionerRole.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

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

Summary

Must-Support: 3 elements
Prohibited: 10 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
... location SΣ 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦2.0.0 This IG
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... identifier 0..0 Business Identifiers that are specific to a role/location
... active 0..0 Whether this practitioner role record is in active use
... period 0..0 The period during which the practitioner is authorized to perform in these role(s)
... organization 0..0 Organization where the roles are available
... code S 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
... specialty S 0..* CodeableConcept Specific specialty of the practitioner
... location S 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
... telecom 0..0 Contact details that are specific to the role/location/service
... availableTime 0..0 Times the Service Site is available
... notAvailable 0..0 Not available during this time due to provided reason
... availabilityExceptions 0..0 Description of availability exceptions
... endpoint 0..0 Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦2.0.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... 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
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... code SΣ 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
... specialty SΣ 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
... location SΣ 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
... healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦2.0.0 This IG
PractitionerRole.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
PractitionerRole.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

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

Summary

Must-Support: 3 elements
Prohibited: 10 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron