National Directory of Healthcare Providers & Services (NDH) Implementation Guide
2.0.0-current - ci-build

National Directory of Healthcare Providers & Services (NDH) Implementation Guide, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-ndh/ and changes regularly. See the Directory of published versions

## Resource Profile: NDH PractitionerRole

Official URL: http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-PractitionerRole | Version: 2.0.0-current
Standards status: Trial-use | Maturity Level: 4 | Computable Name: NdhPractitionerRole

PractitionerRole typically describes details about a provider. When the provider is a practitioner, there may be a relationship to an organization. A provider renders services at a location. Practitioner participation in healthcare provider insurance networks may be direct or through their role at an organization. PractitionerRole involves either the actual or potential (hence the optionality on Practitioner) of an individual to play this role on behalf of or under the auspices of an organization. The absence of a Practitioner resource does not imply that the Organization itself is playing the role of a Practitioner, instead it implies that role has been established by the Organization and MAY apply that to a specific Practitioner.

Usages:

- Refer to this Profile: NDH Via Intermediary, NDH Group and NDH Verification
- Examples for this Profile: PractitionerRole/HansSoloRole, PractitionerRole/HansSoloRole2, PractitionerRole/JoeSmithHospitalRole, PractitionerRole/JoeSmithRole2... Show 3 more, PractitionerRole/PractitionerOneNetwork1Role, PractitionerRole/PractitionerOneNetwork2Role and PractitionerRole/PractitionerTwoNetwork1LeftAfterSixMonthRole
- CapabilityStatements using this Profile: NDH Server Capability Statement

You can also check for usages in the FHIR IG Statistics

### 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..* | USCorePractitionerRoleProfile(6.1.0) | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13, practitioner-or-organization-or-healthcareservice-or-location
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:rating |  | 0..* | (Complex) | NDH Rating URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
extension:newpatients | C | 0..* | (Complex) | New Patients URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients Constraints: new-patients-characteristics
extension:network |  | 0..1 | Reference(NDH Network Profile) | NetworkReference URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
extension:qualification |  | 0..* | (Complex) | Qualification URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
active | Σ | 1..1 | boolean | Whether this practitioner role record is in active use Required Pattern: true
practitioner | S Σ C | 0..1 | Reference(NDH Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(NDH Organization Profile) | Organization where the role is available
Slices for code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Slice: Unordered, Open by value:$this Binding: CareTeamMemberFunction (20240605) (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
code:NDHPractitionerRoleCode | S Σ | 0..* | CodeableConcept | NDH PractitionerRole Code Binding: PractitionerRole Code Value Set (required)
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: HealthcareProviderTaxonomy (20240606) (extensible)
Additional Bindings | Purpose | Documentation
Individual Qualifications Value Set | Extensible | The specialty(ies) of the practitioner role.
location | S Σ C | 0..* | Reference(NDH Location Profile) | The location(s) at which this practitioner provides care
healthcareService | S C | 0..* | Reference(NDH HealthcareService Profile) | 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
Slices for extension |  |  |  | Content/Rules for all slices
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
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(NDH Endpoint Profile) | 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.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.code | Base | extensible | Care Team Member Function | 📍20240605 | VSAC v0.19
PractitionerRole.code:NDHPractitionerRoleCode | Base | required | PractitionerRole Code Value Set | 📦2.0.0-current | This IG
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📍20240606 | VSAC v0.19
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()`
new-patients-characteristics | error | PractitionerRole.extension:newpatients | If no new patients are accepted, no characteristics are allowed | `extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients').value.coding.exists(code = 'nopt') implies extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients-characteristics').empty()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom or endpoint`
practitioner-or-organization-or-healthcareservice-or-location | error | PractitionerRole | If NdhPractitionerRole.practitioner is absent ( NdhPractitionerRole.organization, NdhPractitionerRole.healthcareservice, NdhPractitionerRole.location) must be present | `practitioner.exists() or (organization.exists() or healthcareService.exists() or location.exists())`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner or organization or healthcareService or location`

This structure is derived from USCorePractitionerRoleProfile

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | USCorePractitionerRoleProfile(6.1.0) | Roles/organizations the practitioner is associated with Constraints: practitioner-or-organization-or-healthcareservice-or-location
meta |  |  |  |
lastUpdated |  | 1..1 | instant | When the resource version last changed
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:rating |  | 0..* | (Complex) | NDH Rating URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
extension:newpatients |  | 0..* | (Complex) | New Patients URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients
extension:network |  | 0..1 | Reference(NDH Network Profile) | NetworkReference URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
extension:qualification |  | 0..* | (Complex) | Qualification URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
identifier | S | 0..* | Identifier | Business Identifiers that are specific to a role/location
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
assigner |  | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
active |  | 1..1 | boolean | Whether this practitioner role record is in active use Required Pattern: true
practitioner |  | 0..1 | Reference(NDH Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization |  | 0..1 | Reference(NDH Organization Profile) | Organization where the role is available
Slices for code |  | 0..* | CodeableConcept | Roles which this practitioner may perform Slice: Unordered, Open by value:$this
code:NDHPractitionerRoleCode |  | 0..* | CodeableConcept | NDH PractitionerRole Code Binding: PractitionerRole Code Value Set (required)
specialty |  | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: HealthcareProviderTaxonomy (20240606) (extensible)
Additional Bindings | Purpose | Documentation
Individual Qualifications Value Set | Extensible | The specialty(ies) of the practitioner role.
location |  | 0..* | Reference(NDH Location Profile) | The location(s) at which this practitioner provides care
healthcareService | S | 0..* | Reference(NDH HealthcareService Profile) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom |  |  |  |
Slices for extension |  |  |  | Content/Rules for all slices
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | 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:NDHPractitionerRoleCode | Base | required | PractitionerRole Code Value Set | 📦2.0.0-current | This IG
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📍20240606 | VSAC v0.19

#### Constraints

Id | Grade | Path(s) | Description | Expression
practitioner-or-organization-or-healthcareservice-or-location | error | PractitionerRole | If NdhPractitionerRole.practitioner is absent ( NdhPractitionerRole.organization, NdhPractitionerRole.healthcareservice, NdhPractitionerRole.location) must be present | `practitioner.exists() or (organization.exists() or healthcareService.exists() or location.exists())`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | USCorePractitionerRoleProfile(6.1.0) | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13, practitioner-or-organization-or-healthcareservice-or-location
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | Σ | 0..1 | id | Version specific identifier
lastUpdated | Σ | 1..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:rating |  | 0..* | (Complex) | NDH Rating URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
extension:newpatients | C | 0..* | (Complex) | New Patients URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients Constraints: new-patients-characteristics
extension:network |  | 0..1 | Reference(NDH Network Profile) | NetworkReference URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
extension:qualification |  | 0..* | (Complex) | Qualification URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 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.
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 0..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
active | Σ | 1..1 | boolean | Whether this practitioner role record is in active use Required Pattern: true
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s)
practitioner | S Σ C | 0..1 | Reference(NDH Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(NDH Organization Profile) | Organization where the role is available
Slices for code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Slice: Unordered, Open by value:$this Binding: CareTeamMemberFunction (20240605) (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
code:NDHPractitionerRoleCode | S Σ | 0..* | CodeableConcept | NDH PractitionerRole Code Binding: PractitionerRole Code Value Set (required)
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: HealthcareProviderTaxonomy (20240606) (extensible)
Additional Bindings | Purpose | Documentation
Individual Qualifications Value Set | Extensible | The specialty(ies) of the practitioner role.
location | S Σ C | 0..* | Reference(NDH Location Profile) | The location(s) at which this practitioner provides care
healthcareService | S C | 0..* | Reference(NDH HealthcareService Profile) | 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
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
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(NDH Endpoint Profile) | 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.meta.​security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
PractitionerRole.meta.​tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std.
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 | extensible | Care Team Member Function | 📍20240605 | VSAC v0.19
PractitionerRole.code:NDHPractitionerRoleCode | Base | required | PractitionerRole Code Value Set | 📦2.0.0-current | This IG
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📍20240606 | VSAC v0.19
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()`
new-patients-characteristics | error | PractitionerRole.extension:newpatients | If no new patients are accepted, no characteristics are allowed | `extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients').value.coding.exists(code = 'nopt') implies extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients-characteristics').empty()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom or endpoint`
practitioner-or-organization-or-healthcareservice-or-location | error | PractitionerRole | If NdhPractitionerRole.practitioner is absent ( NdhPractitionerRole.organization, NdhPractitionerRole.healthcareservice, NdhPractitionerRole.location) must be present | `practitioner.exists() or (organization.exists() or healthcareService.exists() or location.exists())`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner or organization or healthcareService or location`

This structure is derived from USCorePractitionerRoleProfile

Summary

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

Structures

This structure refers to these other structures:

- NDH Organization Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization)
- NDH Practitioner Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Practitioner)
- NDH Location Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Location)
- NDH HealthcareService Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-HealthcareService)
- NDH Endpoint Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PractitionerRole.code

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | USCorePractitionerRoleProfile(6.1.0) | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13, practitioner-or-organization-or-healthcareservice-or-location
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:rating |  | 0..* | (Complex) | NDH Rating URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
extension:newpatients | C | 0..* | (Complex) | New Patients URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients Constraints: new-patients-characteristics
extension:network |  | 0..1 | Reference(NDH Network Profile) | NetworkReference URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
extension:qualification |  | 0..* | (Complex) | Qualification URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
active | Σ | 1..1 | boolean | Whether this practitioner role record is in active use Required Pattern: true
practitioner | S Σ C | 0..1 | Reference(NDH Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(NDH Organization Profile) | Organization where the role is available
Slices for code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Slice: Unordered, Open by value:$this Binding: CareTeamMemberFunction (20240605) (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
code:NDHPractitionerRoleCode | S Σ | 0..* | CodeableConcept | NDH PractitionerRole Code Binding: PractitionerRole Code Value Set (required)
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: HealthcareProviderTaxonomy (20240606) (extensible)
Additional Bindings | Purpose | Documentation
Individual Qualifications Value Set | Extensible | The specialty(ies) of the practitioner role.
location | S Σ C | 0..* | Reference(NDH Location Profile) | The location(s) at which this practitioner provides care
healthcareService | S C | 0..* | Reference(NDH HealthcareService Profile) | 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
Slices for extension |  |  |  | Content/Rules for all slices
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
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(NDH Endpoint Profile) | 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.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.code | Base | extensible | Care Team Member Function | 📍20240605 | VSAC v0.19
PractitionerRole.code:NDHPractitionerRoleCode | Base | required | PractitionerRole Code Value Set | 📦2.0.0-current | This IG
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📍20240606 | VSAC v0.19
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()`
new-patients-characteristics | error | PractitionerRole.extension:newpatients | If no new patients are accepted, no characteristics are allowed | `extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients').value.coding.exists(code = 'nopt') implies extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients-characteristics').empty()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom or endpoint`
practitioner-or-organization-or-healthcareservice-or-location | error | PractitionerRole | If NdhPractitionerRole.practitioner is absent ( NdhPractitionerRole.organization, NdhPractitionerRole.healthcareservice, NdhPractitionerRole.location) must be present | `practitioner.exists() or (organization.exists() or healthcareService.exists() or location.exists())`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner or organization or healthcareService or location`

Differential View

This structure is derived from USCorePractitionerRoleProfile

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole | C | 0..* | USCorePractitionerRoleProfile(6.1.0) | Roles/organizations the practitioner is associated with Constraints: practitioner-or-organization-or-healthcareservice-or-location
meta |  |  |  |
lastUpdated |  | 1..1 | instant | When the resource version last changed
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:rating |  | 0..* | (Complex) | NDH Rating URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
extension:newpatients |  | 0..* | (Complex) | New Patients URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients
extension:network |  | 0..1 | Reference(NDH Network Profile) | NetworkReference URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
extension:qualification |  | 0..* | (Complex) | Qualification URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
identifier | S | 0..* | Identifier | Business Identifiers that are specific to a role/location
Slices for extension |  |  |  | Content/Rules for all slices
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
assigner |  | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
active |  | 1..1 | boolean | Whether this practitioner role record is in active use Required Pattern: true
practitioner |  | 0..1 | Reference(NDH Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization |  | 0..1 | Reference(NDH Organization Profile) | Organization where the role is available
Slices for code |  | 0..* | CodeableConcept | Roles which this practitioner may perform Slice: Unordered, Open by value:$this
code:NDHPractitionerRoleCode |  | 0..* | CodeableConcept | NDH PractitionerRole Code Binding: PractitionerRole Code Value Set (required)
specialty |  | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: HealthcareProviderTaxonomy (20240606) (extensible)
Additional Bindings | Purpose | Documentation
Individual Qualifications Value Set | Extensible | The specialty(ies) of the practitioner role.
location |  | 0..* | Reference(NDH Location Profile) | The location(s) at which this practitioner provides care
healthcareService | S | 0..* | Reference(NDH HealthcareService Profile) | The list of healthcare services that this worker provides for this role's Organization/Location(s)
telecom |  |  |  |
Slices for extension |  |  |  | Content/Rules for all slices
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
endpoint |  | 0..* | Reference(NDH Endpoint Profile) | 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:NDHPractitionerRoleCode | Base | required | PractitionerRole Code Value Set | 📦2.0.0-current | This IG
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📍20240606 | VSAC v0.19

#### Constraints

Id | Grade | Path(s) | Description | Expression
practitioner-or-organization-or-healthcareservice-or-location | error | PractitionerRole | If NdhPractitionerRole.practitioner is absent ( NdhPractitionerRole.organization, NdhPractitionerRole.healthcareservice, NdhPractitionerRole.location) must be present | `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..* | USCorePractitionerRoleProfile(6.1.0) | Roles/organizations the practitioner is associated with Constraints: pd-1, us-core-13, practitioner-or-organization-or-healthcareservice-or-location
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
versionId | Σ | 0..1 | id | Version specific identifier
lastUpdated | Σ | 1..1 | instant | When the resource version last changed
source | Σ | 0..1 | uri | Identifies where the resource comes from
profile | Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to
security | Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
tag | Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:rating |  | 0..* | (Complex) | NDH Rating URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
extension:newpatients | C | 0..* | (Complex) | New Patients URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients Constraints: new-patients-characteristics
extension:network |  | 0..1 | Reference(NDH Network Profile) | NetworkReference URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
extension:qualification |  | 0..* | (Complex) | Qualification URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
extension:verification-status |  | 0..1 | CodeableConcept | NDH Verification Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status Binding: NDH Verification Status Value Set (extensible)
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..* | Identifier | Business Identifiers that are specific to a role/location
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:identifier-status |  | 0..1 | code | NDH Identifier Status URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status Binding: Identifier Status Value Set (required)
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 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.
system | Σ | 0..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 0..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(NDH Organization Profile) | Organization that issued id (may be just text)
active | Σ | 1..1 | boolean | Whether this practitioner role record is in active use Required Pattern: true
period | Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s)
practitioner | S Σ C | 0..1 | Reference(NDH Practitioner Profile) | Practitioner that is able to provide the defined services for the organization
organization | S Σ C | 0..1 | Reference(NDH Organization Profile) | Organization where the role is available
Slices for code | S Σ | 0..* | CodeableConcept | Roles which this practitioner may perform Slice: Unordered, Open by value:$this Binding: CareTeamMemberFunction (20240605) (extensible): Indicates specific responsibility of an individual within the care team, such as Primary physician, Team coordinator, Caregiver, etc.
code:NDHPractitionerRoleCode | S Σ | 0..* | CodeableConcept | NDH PractitionerRole Code Binding: PractitionerRole Code Value Set (required)
specialty | S Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: HealthcareProviderTaxonomy (20240606) (extensible)
Additional Bindings | Purpose | Documentation
Individual Qualifications Value Set | Extensible | The specialty(ies) of the practitioner role.
location | S Σ C | 0..* | Reference(NDH Location Profile) | The location(s) at which this practitioner provides care
healthcareService | S C | 0..* | Reference(NDH HealthcareService Profile) | 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
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:contactpoint-availabletime |  | 0..* | (Complex) | NDH Contactpoint Availabletime URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
extension:via-intermediary |  | 0..1 | Reference(NDH PractitionerRole | NDH OrganizationAffiliation Profile | NDH Location Profile | NDH Organization Profile) | Via Intermediary URL: http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary
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(NDH Endpoint Profile) | 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.meta.​security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std.
PractitionerRole.meta.​tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std.
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 | extensible | Care Team Member Function | 📍20240605 | VSAC v0.19
PractitionerRole.code:NDHPractitionerRoleCode | Base | required | PractitionerRole Code Value Set | 📦2.0.0-current | This IG
PractitionerRole.specialty | Base | extensible | Healthcare Provider Taxonomy | 📍20240606 | VSAC v0.19
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()`
new-patients-characteristics | error | PractitionerRole.extension:newpatients | If no new patients are accepted, no characteristics are allowed | `extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients').value.coding.exists(code = 'nopt') implies extension('http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients-characteristics').empty()`
pd-1 | error | PractitionerRole | SHALL have contact information or a reference to an Endpoint | `telecom or endpoint`
practitioner-or-organization-or-healthcareservice-or-location | error | PractitionerRole | If NdhPractitionerRole.practitioner is absent ( NdhPractitionerRole.organization, NdhPractitionerRole.healthcareservice, NdhPractitionerRole.location) must be present | `practitioner.exists() or (organization.exists() or healthcareService.exists() or location.exists())`
us-core-13 | error | PractitionerRole | SHALL have a practitioner, an organization, a healthcare service, or a location. | `practitioner or organization or healthcareService or location`

This structure is derived from USCorePractitionerRoleProfile

Summary

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

Structures

This structure refers to these other structures:

- NDH Organization Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Organization)
- NDH Practitioner Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Practitioner)
- NDH Location Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Location)
- NDH HealthcareService Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-HealthcareService)
- NDH Endpoint Profile (http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Endpoint)

Extensions

This structure refers to these extensions:

- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-rating
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-newpatients
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-network-reference
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-qualification
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-verification-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-identifier-status
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime
- http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PractitionerRole.code

Maturity: 4

Other representations of profile: CSV, Excel, Schematron

### Notes:

### Search Parameters

#### Search Parameter defined by the NDH IG

SearchParameter Name | Type | Example
--- | --- | ---
location | reference | `GET [base]/PractitionerRole?location.address-state=FL`
network | reference | `GET [base]/PractitionerRole?network.type=ntwk$network.name=Florida Blue`
new-patient | token | `GET [base]/PractitionerRole?new-patient=newpt`
new-patient-from-network | reference | `GET [base]/PractitionerRole?new-patient-from-network=newpt`
organization | reference | `GET [base]/PractitionerRole?organization.name=Florida Blue`
verification-status | token | `GET [base]/PractitionerRole?verification-status=complete`

#### Search Parameter defined by FHIR Search Parameter Registry and used by the NDH IG

Since there is no direct individual url for each Search Parameter defined by FHIR Serach Parameter Registry, we have provided the following links for you to access more information about them.

- Search Parameter Registry
- PractitionerRole Search Parameter from Registry

SearchParameter Name | Type | Example
--- | --- | ---
active | token | `GET [base]/PractitionerRole?active=true`
endpoint | reference | `GET [base]/PractitionerRole?endpoint.status=active`
identifier | token | `GET [base]/PractitionerRole?identifier=1234567`
practitioner | reference | `GET [base]/PractitionerRole?practitoner.name=Joe Smith`
role | token | `GET [base]/PractitionerRole?role=att`
service | reference | `GET [base]/PractitionerRole?service.address-state=FL`
specialty | token | `GET [base]/PractitionerRole?specialty=103TF0000X`

#### _include Search Parameter

_include | Example
--- | ---
PractitionerRole:endpoint | `GET [base]/PractitionerRole?_include=PractitionerRole:endpoint`
PractitionerRole:location | `GET [base]/PractitionerRole?_include=PractitionerRole:location`
PractitionerRole:network | `GET [base]/PractitionerRole?_include=PractitionerRole:network`
PractitionerRole:new-patient-from-network | `GET [base]/PractitionerRole?_include= PractitionerRole:new-patient-from-network`
PractitionerRole:organization | `GET [base]/PractitionerRole?_include=PractitionerRole:organization`
PractitionerRole:practitioner | `GET [base]/PractitionerRole?_include=PractitionerRole:practitioner`
PractitionerRole:service | `GET [base]/PractitionerRole?_include=PractitionerRole:service`

#### _revinclude Search Parameter

None

#### Special Search Parameters

The search parameters outlined above are straightforward for basic scenarios but have limitations in handling complex combination queries. To enhance these capabilities, employing the special search parameters _filter is recommended.

#### The reason the cardinality of PractitionerRole.network is 0..1

The network cardinality sets to 0..1 is to meet the requirements of linking PractitionerRole with a specific time period. The duration a practitioner spends in a network often differs across networks, and it's unusual for these periods to coincide. When a Practitioner is incorporated into a new network, the relevant time frame adheres to that specific network's agreement or contract with the practitioner. The same principle applies when the practitioner departs from the network.

### How resource ownership functions when multiple entities can provide information for the same resource

Assuming that the Practitioner "owns" the practitionerRole, the practitioner must attest to the information related to their participation in a specific network. If there is no existing network declaration associated with that practitionerRole, the practitioner should update the practitionerRole accordingly. However, if a network declaration already exists for that role, the practitioner should create a new practitionerRole and include the network information in this role. This process is also applicable to other individuals who have ownership responsibilities for the practitionerRole.

#### PractitionerRole.availabeTime and PractitionerRole.notAvailable

Given that both 'availableTime' and 'notAvailable' time are optional elements, they can be excluded for intricate or often changing schedules. These fundamental elements are designed for use where providers have fairly stable schedules (such as clinic schedules that need to be communicated clearly as part of the directory resources), as opposed to an on-call practitioner's schedule.

#### PractitionerRole, Location, Address

The address for a practitionerRole should be located on the Location reference. There is no address on the practitionerRole base resource since the location reference of practitionerRole has an address that should be used by the practitioner as part of their role. Each practitionerRole can support multiple locations. If two practitioners work at the same facility and each of them has their own non-service delivery locations, in addition to the common service delivery location. The guidance descripted in the diagram below: