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 Practitioner Role Definition

Official URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-practitionerroledefinition Version: 3.0.0-ballot
Active as of 2026-11-10 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: doco
PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
PractitionerRole.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
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.code This element must be supported. This element is included in summaries. 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
PractitionerRole.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
PractitionerRole.location This element must be supported. This element is included in summaries. 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 📦3.0.0-ballot 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()

This structure is derived from PractitionerRole

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
PractitionerRole.identifier 0..0 Business Identifiers that are specific to a role/location
PractitionerRole.active 0..0 Whether this practitioner role record is in active use
PractitionerRole.period 0..0 The period during which the practitioner is authorized to perform in these role(s)
PractitionerRole.organization 0..0 Organization where the roles are available
PractitionerRole.code This element must be supported. 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
PractitionerRole.specialty This element must be supported. 0..* CodeableConcept Specific specialty of the practitioner
PractitionerRole.location This element must be supported. 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
PractitionerRole.telecom 0..0 Contact details that are specific to the role/location/service
PractitionerRole.availableTime 0..0 Times the Service Site is available
PractitionerRole.notAvailable 0..0 Not available during this time due to provided reason
PractitionerRole.availabilityExceptions 0..0 Description of availability exceptions
PractitionerRole.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 📦3.0.0-ballot This IG
NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
PractitionerRole.id This element is included in summaries. 0..1 id Logical id of this artifact
PractitionerRole.meta This element is included in summaries. 0..1 Meta Metadata about the resource
PractitionerRole.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
PractitionerRole.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
PractitionerRole.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
PractitionerRole.contained 0..* Resource Contained, inline Resources
PractitionerRole.extension 0..* Extension Additional content defined by implementations
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.code This element must be supported. This element is included in summaries. 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
PractitionerRole.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
PractitionerRole.location This element must be supported. This element is included in summaries. 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
PractitionerRole.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 📦3.0.0-ballot 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()

This structure is derived from PractitionerRole

Summary

Must-Support: 3 elements
Prohibited: 10 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
PractitionerRole.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
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.code This element must be supported. This element is included in summaries. 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
PractitionerRole.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
PractitionerRole.location This element must be supported. This element is included in summaries. 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 📦3.0.0-ballot 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

This structure is derived from PractitionerRole

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
PractitionerRole.identifier 0..0 Business Identifiers that are specific to a role/location
PractitionerRole.active 0..0 Whether this practitioner role record is in active use
PractitionerRole.period 0..0 The period during which the practitioner is authorized to perform in these role(s)
PractitionerRole.practitioner 0..0 Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization 0..0 Organization where the roles are available
PractitionerRole.code This element must be supported. 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
PractitionerRole.specialty This element must be supported. 0..* CodeableConcept Specific specialty of the practitioner
PractitionerRole.location This element must be supported. 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
PractitionerRole.telecom 0..0 Contact details that are specific to the role/location/service
PractitionerRole.availableTime 0..0 Times the Service Site is available
PractitionerRole.notAvailable 0..0 Not available during this time due to provided reason
PractitionerRole.availabilityExceptions 0..0 Description of availability exceptions
PractitionerRole.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 📦3.0.0-ballot This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
PractitionerRole.id This element is included in summaries. 0..1 id Logical id of this artifact
PractitionerRole.meta This element is included in summaries. 0..1 Meta Metadata about the resource
PractitionerRole.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
PractitionerRole.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
PractitionerRole.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
PractitionerRole.contained 0..* Resource Contained, inline Resources
PractitionerRole.extension 0..* Extension Additional content defined by implementations
PractitionerRole.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PractitionerRole.code This element must be supported. This element is included in summaries. 0..* CodeableConcept Roles which this practitioner may perform
Binding: CPG Common Persona Value Set (preferred): Common personas for use with computable guideline content
PractitionerRole.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
PractitionerRole.location This element must be supported. This element is included in summaries. 0..* Reference(CPG Location Definition) The location(s) at which this practitioner provides care
PractitionerRole.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 📦3.0.0-ballot 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()

This structure is derived from PractitionerRole

Summary

Must-Support: 3 elements
Prohibited: 10 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron