Canadian Baseline
1.1.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: PractitionerRole Profile (Provider Registry)

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-practitionerrole-registry Version: 1.1.0
Draft as of 2022-06-08 Computable Name: PractitionerRoleProfileRegistry

Proposed constraints and extensions on the PractitionerRole Resource for use by Provider Registry systems.

CA Baseline PractitionerRole Profile

This PractitionerRole profile sets minimum expectations for the PractitionerRole resource to record, search and fetch the recording of the location and types of services that Practitioner is able to provide for an organization.

This profile defines localization concepts for use in an Canadian context.

Differences from US Core

This analysis is not applicable as this profile is a specialization of PractitionerRole for registry profiles and there is no equivalent in US Core R4 Implementation Guide, See the general PractitionerRole profile for differences.

Mandatory Data Elements

All elements or attributes defined in FHIR have cardinality as part of their definition - a minimum number of required appearances and a maximum number.

Most elements in FHIR specification have a minimum cardinality of 0, which means that they may be missing from a resource when it is exchanged between systems.

Required elements:

  • reference to a practitioner

In addition to that, some optional elements (e.g., PractitionerRole.telecom, identifier data type) have required components that MUST be present if that optional element is provided.

Data Absent Reason

In situations where the minimum cardinality of an element or attribute is 1 and information is missing and the Responder knows the precise reason for the absence of data, Responders SHALL send the reason for the missing information using values (such as NullFlavor) from the value set where they exist or using the DataAbsentReason extension.

Must Support Data Elements

Some elements are labeled as MustSupport meaning that implementations that produce or consume resources SHALL provide "support" for the element in some meaningful way (see Must Support definition).

The following elements are marked as Must Support in the PractitionerRole-Registry profile:

Must Support elements:

  • reference to a practitioner
  • contact detail (e.g. a telephone number or an email address)
  • specialty

Best Practices/"Should" Support

identifier: It is recommended to have an identifier associated with PractitionerRole to assist in searches, however not every implementation (especially legacy implementations that combined both concepts of practitioner & practitionerRole) will include an identifier practitioner role. Given the scope and principles of the CA Baseline, the cardinality on this element was relaxed back to its base cardinality after receiving community feedback from FHIR Iguides that could not support the expectation in their existing implementation(s).

Invariants

The invariant necessitating either code or specialty be present was removed after review against Canadian FHIR rpracititoner registry implementations identified challenges with some legacy systems (registry and otherwise) that have cpmmon use cases for PractitionerRole that do not include specialty or code.

Extensions

ext-rolestatus: This PractitionerRole profile contains optional RoleStatus modifier extension to indicate the possible states of the Role as defined by the HL7v3 Role class state machine.

This extension is labeled as modifier because the status code may provide additional knowledge about the PractitionerRole resource that modifies its meaning or interpretation.

ext-statusreason: In conjunction to the RoleStatus extension, this PractitionerRole profile includes an optional StatusReason extension to provides a textual description for the status.

Note: Role status effective from/to dates go to PractitionerRole.period element.

Usage Note

This PractitionerRole profile is intended to provide a foundation for a central or distributed Provider or Healthcare Directory. Additional work flow components and elements may be required for a particular implementation.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from PractitionerRoleProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRoleProfile PractitionerRole Registry Profile
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... status 0..1 code Role status extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-rolestatus
Binding: RoleStatus (required)
.... statusReason 0..1 string Role status reason extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-statusreason
... identifier 0..* IdentifierCABaseline An identifier intended for computation
... practitioner S 1..1 Reference(Practitioner Profile (General)) Practitioner that is able to provide the defined services for the organization.
... specialty S 0..* CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.

... telecom S 0..* ContactPoint Contact details that are specific to the role/location/service
.... system 1..1 code phone | fax | email | pager | url | sms | other
.... value 1..1 string The actual contact point details

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
PractitionerRole.codepreferredHealthcareProviderRoleType
https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
from this IG
PractitionerRole.specialtypreferredPractitionerSpecialty
https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRoleProfile PractitionerRole Registry Profile
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... status 0..1 code Role status extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-rolestatus
Binding: RoleStatus (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... statusReason 0..1 string Role status reason extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-statusreason
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... practitioner SΣ 1..1 Reference(Practitioner Profile (General)) Practitioner that is able to provide the defined services for the organization.
ele-1: All FHIR elements must have a @value or children
... code Σ 0..* CodeableConcept HealthcareProviderRoleType
Binding: HealthcareProviderRoleType (preferred): A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.


ele-1: All FHIR elements must have a @value or children
... specialty SΣ 0..* CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.


ele-1: All FHIR elements must have a @value or children
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
ele-1: All FHIR elements must have a @value or children
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value Σ 1..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.codepreferredHealthcareProviderRoleType
https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
from this IG
PractitionerRole.specialtypreferredPractitionerSpecialty
https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
from this IG
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRoleProfile PractitionerRole Registry Profile
... 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... status 0..1 code Role status extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-rolestatus
Binding: RoleStatus (required)
.... statusReason 0..1 string Role status reason extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-statusreason
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* IdentifierCABaseline An identifier intended for computation
... active Σ 0..1 boolean Whether this practitioner role record is in active use
... period Σ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
... practitioner SΣ 1..1 Reference(Practitioner Profile (General)) Practitioner that is able to provide the defined services for the organization.
... organization Σ 0..1 Reference(Organization) Organization where the roles are available
... code Σ 0..* CodeableConcept HealthcareProviderRoleType
Binding: HealthcareProviderRoleType (preferred): A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.


... specialty SΣ 0..* CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.


... location Σ 0..* Reference(Location) 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)
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value Σ 1..1 string The actual contact point details
.... use ?!Σ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
.... period Σ 0..1 Period Time period when the contact point was/is in use
... availableTime 0..* BackboneElement Times the Service Site is available
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
.... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
... notAvailable 0..* BackboneElement Not available during this time due to provided reason
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Service not available from this date
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
PractitionerRole.codepreferredHealthcareProviderRoleType
https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
from this IG
PractitionerRole.specialtypreferredPractitionerSpecialty
https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
from this IG
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from PractitionerRoleProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRoleProfile PractitionerRole Registry Profile
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... status 0..1 code Role status extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-rolestatus
Binding: RoleStatus (required)
.... statusReason 0..1 string Role status reason extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-statusreason
... identifier 0..* IdentifierCABaseline An identifier intended for computation
... practitioner S 1..1 Reference(Practitioner Profile (General)) Practitioner that is able to provide the defined services for the organization.
... specialty S 0..* CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.

... telecom S 0..* ContactPoint Contact details that are specific to the role/location/service
.... system 1..1 code phone | fax | email | pager | url | sms | other
.... value 1..1 string The actual contact point details

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
PractitionerRole.codepreferredHealthcareProviderRoleType
https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
from this IG
PractitionerRole.specialtypreferredPractitionerSpecialty
https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRoleProfile PractitionerRole Registry Profile
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: 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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... status 0..1 code Role status extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-rolestatus
Binding: RoleStatus (required)
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... statusReason 0..1 string Role status reason extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-statusreason
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... practitioner SΣ 1..1 Reference(Practitioner Profile (General)) Practitioner that is able to provide the defined services for the organization.
ele-1: All FHIR elements must have a @value or children
... code Σ 0..* CodeableConcept HealthcareProviderRoleType
Binding: HealthcareProviderRoleType (preferred): A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.


ele-1: All FHIR elements must have a @value or children
... specialty SΣ 0..* CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.


ele-1: All FHIR elements must have a @value or children
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
ele-1: All FHIR elements must have a @value or children
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value Σ 1..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!Σ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.codepreferredHealthcareProviderRoleType
https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
from this IG
PractitionerRole.specialtypreferredPractitionerSpecialty
https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
from this IG
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRoleProfile PractitionerRole Registry Profile
... 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
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... status 0..1 code Role status extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-rolestatus
Binding: RoleStatus (required)
.... statusReason 0..1 string Role status reason extension
URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/ext-statusreason
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier 0..* IdentifierCABaseline An identifier intended for computation
... active Σ 0..1 boolean Whether this practitioner role record is in active use
... period Σ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
... practitioner SΣ 1..1 Reference(Practitioner Profile (General)) Practitioner that is able to provide the defined services for the organization.
... organization Σ 0..1 Reference(Organization) Organization where the roles are available
... code Σ 0..* CodeableConcept HealthcareProviderRoleType
Binding: HealthcareProviderRoleType (preferred): A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.


... specialty SΣ 0..* CodeableConcept PractitionerSpecialty
Binding: PractitionerSpecialty (preferred): Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.


... location Σ 0..* Reference(Location) 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)
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣC 1..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value Σ 1..1 string The actual contact point details
.... use ?!Σ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
.... period Σ 0..1 Period Time period when the contact point was/is in use
... availableTime 0..* BackboneElement Times the Service Site is available
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
.... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
... notAvailable 0..* BackboneElement Not available during this time due to provided reason
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Service not available from this date
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
PractitionerRole.codepreferredHealthcareProviderRoleType
https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
from this IG
PractitionerRole.specialtypreferredPractitionerSpecialty
https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
from this IG
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron

Notes:

Identifiers

Multiple types of provider identifiers may be used in PractitionerRole.identifier element in the Canadian context:

  • Provincial health plan provider/ Billing number
  • Licence Number
  • Medical Doctor Number

Implementers may use other identifiers to capture in a more specific way such as internal provider number, jurisdictions providing credentials. The full list of possible identifier types is in Canadian URI Registry

In some cases, the same license number can be used as the provider identifier and provider's qualification identifier.

Telecom

A provider may have multiple ways to be contacted with different uses or applicable periods. This PractitionerRole profile allows multiple contact points (e.g. a telephone number or an email address) by which the individual may be contacted.

To indicate the preferred way to contact use Practitioner.telecom.rank attribute (i.e., the ContactPoint.rank component) that specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.

Role

Roles which this practitioner is authorized to perform for the organization are defined by Canadian HealthcareProviderRoleType value set as the coded representation of the provider's credentials. Credential defines a role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services.

The binding strength for the PractitionerRole.code element is Preferred meaning that implementers are encouraged to draw codes from the specified code system for interoperability purposes but are not required to do so to be considered conformant.

Specialty

Specific specialty of the practitioner defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient. This profile recommends to use Canadian PractitionerSpecialty value set for speciality codes.

The binding strength for the PractitionerRole.speciality element is Preferred meaning that implementers are encouraged to draw codes from the specified code system for interoperability purposes but are not required to do so to be considered conformant.