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

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

Profile of PractitionerRole for use with 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.identifier This element must be supported. This element is included in summaries. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.identifier.use This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
PractitionerRole.identifier.value This element must be supported. This element is included in summaries. 0..1 string The value that is unique
Example General: 123456
PractitionerRole.practitioner This element is included in summaries. 0..1 Reference(CPG Practitioner) Practitioner that is able to provide the defined services for the organization
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

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦3.0.0-ballot This IG

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 This element must be supported. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.identifier.use This element must be supported. 0..1 code usual | official | temp | secondary | old (If known)
PractitionerRole.identifier.value This element must be supported. 0..1 string The value that is unique
PractitionerRole.practitioner 0..1 Reference(CPG Practitioner) Practitioner that is able to provide the defined services for the organization
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

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.identifier This element must be supported. This element is included in summaries. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.identifier.id 0..1 string Unique id for inter-element referencing
PractitionerRole.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
PractitionerRole.identifier.use This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
PractitionerRole.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
PractitionerRole.identifier.system This element is included in summaries. 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
PractitionerRole.identifier.value This element must be supported. This element is included in summaries. 0..1 string The value that is unique
Example General: 123456
PractitionerRole.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
PractitionerRole.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
PractitionerRole.active This element is included in summaries. 0..1 boolean Whether this practitioner role record is in active use
PractitionerRole.period This element is included in summaries. 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
PractitionerRole.practitioner This element is included in summaries. 0..1 Reference(CPG Practitioner) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element is included in summaries. 0..1 Reference(Organization) Organization where the roles are available
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 is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
PractitionerRole.location This element is included in summaries. 0..* Reference(Location) 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)
PractitionerRole.telecom This element is included in summaries. 0..* ContactPoint Contact details that are specific to the role/location/service
PractitionerRole.availableTime 0..* BackboneElement Times the Service Site is available
PractitionerRole.availableTime.id 0..1 string Unique id for inter-element referencing
PractitionerRole.availableTime.extension 0..* Extension Additional content defined by implementations
PractitionerRole.availableTime.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.availableTime.daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
PractitionerRole.availableTime.allDay 0..1 boolean Always available? e.g. 24 hour service
PractitionerRole.availableTime.availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
PractitionerRole.availableTime.availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
PractitionerRole.notAvailable 0..* BackboneElement Not available during this time due to provided reason
PractitionerRole.notAvailable.id 0..1 string Unique id for inter-element referencing
PractitionerRole.notAvailable.extension 0..* Extension Additional content defined by implementations
PractitionerRole.notAvailable.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.notAvailable.description 1..1 string Reason presented to the user explaining why time not available
PractitionerRole.notAvailable.during 0..1 Period Service not available from this date
PractitionerRole.availabilityExceptions 0..1 string Description of availability exceptions
PractitionerRole.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

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.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.identifier.​type Base extensible IdentifierType 📍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: 4 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.identifier This element must be supported. This element is included in summaries. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.identifier.use This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
PractitionerRole.identifier.value This element must be supported. This element is included in summaries. 0..1 string The value that is unique
Example General: 123456
PractitionerRole.practitioner This element is included in summaries. 0..1 Reference(CPG Practitioner) Practitioner that is able to provide the defined services for the organization
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

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PractitionerRole.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.code Base preferred CPG Common Persona Value Set 📦3.0.0-ballot This IG

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 This element must be supported. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.identifier.use This element must be supported. 0..1 code usual | official | temp | secondary | old (If known)
PractitionerRole.identifier.value This element must be supported. 0..1 string The value that is unique
PractitionerRole.practitioner 0..1 Reference(CPG Practitioner) Practitioner that is able to provide the defined services for the organization
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

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.identifier This element must be supported. This element is included in summaries. 0..* Identifier Business Identifiers that are specific to a role/location
PractitionerRole.identifier.id 0..1 string Unique id for inter-element referencing
PractitionerRole.identifier.extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
PractitionerRole.identifier.use This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
PractitionerRole.identifier.type This element is included in summaries. 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
PractitionerRole.identifier.system This element is included in summaries. 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
PractitionerRole.identifier.value This element must be supported. This element is included in summaries. 0..1 string The value that is unique
Example General: 123456
PractitionerRole.identifier.period This element is included in summaries. 0..1 Period Time period when id is/was valid for use
PractitionerRole.identifier.assigner This element is included in summaries. 0..1 Reference(Organization) Organization that issued id (may be just text)
PractitionerRole.active This element is included in summaries. 0..1 boolean Whether this practitioner role record is in active use
PractitionerRole.period This element is included in summaries. 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
PractitionerRole.practitioner This element is included in summaries. 0..1 Reference(CPG Practitioner) Practitioner that is able to provide the defined services for the organization
PractitionerRole.organization This element is included in summaries. 0..1 Reference(Organization) Organization where the roles are available
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 is included in summaries. 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
PractitionerRole.location This element is included in summaries. 0..* Reference(Location) 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)
PractitionerRole.telecom This element is included in summaries. 0..* ContactPoint Contact details that are specific to the role/location/service
PractitionerRole.availableTime 0..* BackboneElement Times the Service Site is available
PractitionerRole.availableTime.id 0..1 string Unique id for inter-element referencing
PractitionerRole.availableTime.extension 0..* Extension Additional content defined by implementations
PractitionerRole.availableTime.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.availableTime.daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
PractitionerRole.availableTime.allDay 0..1 boolean Always available? e.g. 24 hour service
PractitionerRole.availableTime.availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
PractitionerRole.availableTime.availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
PractitionerRole.notAvailable 0..* BackboneElement Not available during this time due to provided reason
PractitionerRole.notAvailable.id 0..1 string Unique id for inter-element referencing
PractitionerRole.notAvailable.extension 0..* Extension Additional content defined by implementations
PractitionerRole.notAvailable.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PractitionerRole.notAvailable.description 1..1 string Reason presented to the user explaining why time not available
PractitionerRole.notAvailable.during 0..1 Period Service not available from this date
PractitionerRole.availabilityExceptions 0..1 string Description of availability exceptions
PractitionerRole.endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

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.identifier.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
PractitionerRole.identifier.​type Base extensible IdentifierType 📍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: 4 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron