US Core Implementation Guide
8.0.1 - STU 8

US Core Implementation Guide, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 8.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/US-Core/ and changes regularly. See the Directory of published versions

## Resource Profile: US Core PractitionerRole Profile

Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole | Version: 8.0.1
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCorePractitionerRoleProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.2.42.52
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The US Core PractitionerRole Profile inherits from the FHIR PractitionerRole resource; refer to it for scope and usage definitions. This profile sets minimum expectations for the PractitionerRole Resource to record, search, and fetch the practitioner role information. It specifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains how the elements are used. Providing the floor for standards development for specific use cases promotes interoperability and adoption. The requirements for the US Core Practitioner were drawn from the Argonaut Provider Directory, IHE Healthcare Provider Directory and the ONC Provider Directory Workshop.

### Mandatory and Must Support Data Elements

The following data elements must always be present (Mandatory definition) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each PractitionerRole Must Support:

1. An associated organization
2. An associated practitioner
3. A role
4. A specialty
5. An associated location
6. Contact information
7. A communication endpoint

Profile Specific Implementation Guidance:

- At least one of the following elements must be present:
  - `PractitionerRole.practitioner`
  - `PractitionerRole.organization`
  - `PractitionerRole.healthcareService`
  - `PractitionerRole.location`
- Due to implementer feedback, some US Core Profiles reference the PractitionerRole resource instead of the US Core PractitionerRole Profile. However, the US Core PractitionerRole Profile SHOULD be used as the default profile if referenced by another US Core profile. See this guidance on Referencing US Core Profiles.

- A Direct address can be represented in the `telecom` element using the US Core Direct email Extension or in a referenced Endpoint as a "direct-project" endpoint connection type.

- When selecting role codes
  - implementers SHOULD choose the code that reflects the specific duties performed within that role rather than the specialty unless the individual's professional specialization characterizes the role.
  - Systems that primarily rely on NUCC codes instead of SNOMED CT to represent role codes can use the Da Vinci HRex NUCC to SNOMED CT Mappings to aid in translations.
- Clients can request Servers return the Practitioner and Endpoint resources using `_include`. See the Quick Start section below for further guidance.

Usages:

- Refer to this Profile: US Core ADI DocumentReference Profile, US Core CareTeam Profile, US Core DiagnosticReport Profile for Laboratory Results Reporting, US Core DiagnosticReport Profile for Report and Note Exchange... Show 7 more, US Core DocumentReference Profile, US Core Encounter Profile, US Core Immunization Profile, US Core MedicationDispense Profile, US Core MedicationRequest Profile, US Core Procedure Profile and US Core Provenance Profile
- CapabilityStatements using this Profile: US Core Client CapabilityStatement and US Core Server CapabilityStatement

You can also check for usages in the FHIR IG Statistics

Changes since version 7.0.0:

- The resource metadata has changed (description)

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
practitioner | S Σ C | 0..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(US Core Organization Profile) | Organization where the roles are available
code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: Care Team Member Function (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: Healthcare Provider Taxonomy (extensible)
location | S Σ C | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom | S Σ C | 0..* | ContactPoint | Contact details that are specific to the role/location/service
system | S Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | S Σ | 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.
endpoint | S C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.code | Base | extensible | Care Team Member Function | 📦20240605 | VSAC v0.24
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📦20240606 | VSAC v0.24
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍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()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom.exists() or endpoint.exists()`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()`

This structure is derived from PractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13
practitioner | S C | 0..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S C | 0..1 | Reference(US Core Organization Profile) | Organization where the roles are available
code | S | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: Care Team Member Function (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
specialty | S | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: Healthcare Provider Taxonomy (extensible)
location | S C | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom | S C | 0..* | ContactPoint | Contact details that are specific to the role/location/service
system | S | 1..1 | code | phone | fax | email | pager | url | sms | other
value | S | 1..1 | string | The actual contact point details
endpoint | S C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.code | Base | extensible | Care Team Member Function | 📦20240605 | VSAC v0.24
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📦20240606 | VSAC v0.24

#### Constraints

Id | Grade | Path(s) | Description | Expression
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom.exists() or endpoint.exists()`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location
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 Σ C | 0..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(US Core Organization Profile) | Organization where the roles are available
code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: Care Team Member Function (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: Healthcare Provider Taxonomy (extensible)
location | S Σ C | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom | S Σ C | 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 | S Σ | 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 | S C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role
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 | extensible | Care Team Member Function | 📦20240605 | VSAC v0.24
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📦20240606 | VSAC v0.24
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍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()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom.exists() or endpoint.exists()`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()`

This structure is derived from PractitionerRole

Summary

Mandatory: 0 element(2 nested mandatory elements)
Must-Support: 9 elements

Structures

This structure refers to these other structures:

- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner)
- US Core Organization Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization)
- US Core Location Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-location)

Maturity: 3

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
practitioner | S Σ C | 0..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(US Core Organization Profile) | Organization where the roles are available
code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: Care Team Member Function (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: Healthcare Provider Taxonomy (extensible)
location | S Σ C | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom | S Σ C | 0..* | ContactPoint | Contact details that are specific to the role/location/service
system | S Σ C | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required): Telecommunications form for contact point.
value | S Σ | 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.
endpoint | S C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.code | Base | extensible | Care Team Member Function | 📦20240605 | VSAC v0.24
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📦20240606 | VSAC v0.24
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍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()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom.exists() or endpoint.exists()`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()`

Differential View

This structure is derived from PractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13
practitioner | S C | 0..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S C | 0..1 | Reference(US Core Organization Profile) | Organization where the roles are available
code | S | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: Care Team Member Function (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
specialty | S | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: Healthcare Provider Taxonomy (extensible)
location | S C | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom | S C | 0..* | ContactPoint | Contact details that are specific to the role/location/service
system | S | 1..1 | code | phone | fax | email | pager | url | sms | other
value | S | 1..1 | string | The actual contact point details
endpoint | S C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.code | Base | extensible | Care Team Member Function | 📦20240605 | VSAC v0.24
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📦20240606 | VSAC v0.24

#### Constraints

Id | Grade | Path(s) | Description | Expression
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom.exists() or endpoint.exists()`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | PractitionerRole | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13
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
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
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
identifier | Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location
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 Σ C | 0..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(US Core Organization Profile) | Organization where the roles are available
code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: Care Team Member Function (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: Healthcare Provider Taxonomy (extensible)
location | S Σ C | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom | S Σ C | 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 | S Σ | 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 | S C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role
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 | extensible | Care Team Member Function | 📦20240605 | VSAC v0.24
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📦20240606 | VSAC v0.24
PractitionerRole.telecom.​system | Base | required | ContactPointSystem | 📍4.0.1 | FHIR Std.
PractitionerRole.telecom.​use | Base | required | ContactPointUse | 📍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()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom.exists() or endpoint.exists()`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()`

This structure is derived from PractitionerRole

Summary

Mandatory: 0 element(2 nested mandatory elements)
Must-Support: 9 elements

Structures

This structure refers to these other structures:

- US Core Practitioner Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner)
- US Core Organization Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-organization)
- US Core Location Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-location)

Maturity: 3

Other representations of profile: CSV, Excel, Schematron

### Notes:

Quick Start

Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile's information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.

- See the Scopes Format section for a description of the SMART scopes syntax.
- See the Search Syntax section for a description of the US Core search syntax.
- See the General Requirements section for additional rules and expectations when a Server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.

#### US Core Scopes

Servers providing access to practitioner role data SHALL support these US Core SMART Scopes:

- resource level scopes: `<patient|user|system>/PractitionerRole.rs`

#### Mandatory Search Parameters:

The following search parameters and search parameter combinations SHALL be supported:

1. SHALL support searching practitioner role by specialty using the `specialty` search parameter:

   - including optional support for these `_include` parameters: `PractitionerRole:endpoint,PractitionerRole:practitioner`

   `GET [base]/PractitionerRole?specialty={system|}[code]`

   Example:

   1. GET [base]/PractitionerRole?specialty=http://nucc.org/provider-taxonomy|208D0000X

   Implementation Notes: Fetches a bundle containing PractitionerRole resources matching the specialty (how to search by token)

2. SHALL support searching practitioner role by practitioner name and identifier using chained parameters using the `practitioner` search parameter:

   - including support for these chained parameters: `practitioner.identifier,practitioner.name`
   - including optional support for these `_include` parameters: `PractitionerRole:endpoint,PractitionerRole:practitioner`

   `GET [base]/PractitionerRole?practitioner={Type/}[id]`

   Example:

   1. GET [base]/PractitionerRole?practitioner.identifier=http://hl7.org/fhir/sid/us-npi|97860456&_include=PractitionerRole:practitioner&_include=PractitionerRole?endpoint
   2. GET [base]/PractitionerRole?practitioner.name=Henry&_include=PractitionerRole:practitioner&_include=PractitionerRole?endpoint

   Implementation Notes: Fetches a bundle containing PractitionerRole resources matching the chained parameter practitioner.name or practitioner.identifier.SHOULD support the _include for PractitionerRole.practitioner and PractitionerRole.endpoint. (how to search by reference)