This page is part of the US Core (v3.0.1: STU3 Ballot 3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-practitionerrole
Scope and Usage
This profile sets minimum expectations for the PractitionerRole resource to record, search and fetch the practitioner role for a practitioner. It identifies the mandatory core elements, extensions, vocabularies and value sets which SHALL be present in the PractitionerRole resource when using this profile. 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 are mandatory (i.e data MUST be present) 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 Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each PractitionerRole must have:
- An associated practitioner
- An associated organization
Each PractitionerRole must support:
- A role
- A specialty
- An associated location
- Contact information
- A communication endpoint
Profile specific implementation guidance:
- The PractitionerRole.endpoint is where a Direct address may be represented.
- Clients can request servers return the Practitioner resource and Endpoint resources by using
_include
. See Quick Start.
Examples
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole
Published on Sun Aug 11 00:00:00 EDT 2019 as active by the HL7 US Realm Steering Committee.
This profile builds on PractitionerRole
PractitionerRole
Summary of the Mandatory Requirements
- A Practitioner Reference in
PractitionerRole.practitioner
- A Organization Reference in
PractitionerRole.organization
Summary of the Must Support Requirements
- One or more CodeableConcepts in
PractitionerRole.code
with an extensible binding to US Core Provider Role (NUCC) - One or more CodeableConcepts in
PractitionerRole.specialty
with an extensible binding to US Core Provider Speciality (NUCC) - One or more Location References in
PractitionerRole.location
- One or more ContactPoints in
PractitionerRole.telecom
- which must have a code value in
PractitionerRole.telecom.system
with a required binding to ContactPointSystem - which must have a string value in
PractitionerRole.telecom.value
- which must have a code value in
- One or more Endpoint References in
PractitionerRole.endpoint
Summary of Constraints
- SHALL have contact information or a reference to an Endpoint
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | pd-1: SHALL have contact information or a reference to an Endpoint | |
practitioner | S | 1..1 | Reference(US Core Practitioner Profile) | |
organization | S | 1..1 | Reference(US Core Organization Profile) | |
code | S | 0..* | CodeableConcept | Binding: US Core Provider Role (NUCC) (extensible) |
specialty | S | 0..* | CodeableConcept | Binding: US Core Provider Speciality (NUCC) (extensible) |
location | S | 0..* | Reference(US Core Location Profile) | |
telecom | SI | 0..* | ContactPoint | |
system | S | 1..1 | code | |
value | S | 1..1 | string | |
endpoint | SI | 0..* | Reference(Endpoint) | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | Roles/organizations the practitioner is associated with pd-1: SHALL have contact information or a reference to an Endpoint | |
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) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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Σ | 1..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization |
organization | SΣ | 1..1 | Reference(US Core Organization Profile) | Organization where the roles are available |
code | SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: US Core Provider Role (NUCC) (extensible) |
specialty | SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: US Core Provider Speciality (NUCC) (extensible) |
location | SΣ | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care |
healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |
telecom | SΣ | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | SΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required) |
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) |
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 | I | 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) | |
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 | I | 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 | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role |
Documentation for this format |
PractitionerRole
Summary of the Mandatory Requirements
- A Practitioner Reference in
PractitionerRole.practitioner
- A Organization Reference in
PractitionerRole.organization
Summary of the Must Support Requirements
- One or more CodeableConcepts in
PractitionerRole.code
with an extensible binding to US Core Provider Role (NUCC) - One or more CodeableConcepts in
PractitionerRole.specialty
with an extensible binding to US Core Provider Speciality (NUCC) - One or more Location References in
PractitionerRole.location
- One or more ContactPoints in
PractitionerRole.telecom
- which must have a code value in
PractitionerRole.telecom.system
with a required binding to ContactPointSystem - which must have a string value in
PractitionerRole.telecom.value
- which must have a code value in
- One or more Endpoint References in
PractitionerRole.endpoint
Summary of Constraints
- SHALL have contact information or a reference to an Endpoint
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | pd-1: SHALL have contact information or a reference to an Endpoint | |
practitioner | S | 1..1 | Reference(US Core Practitioner Profile) | |
organization | S | 1..1 | Reference(US Core Organization Profile) | |
code | S | 0..* | CodeableConcept | Binding: US Core Provider Role (NUCC) (extensible) |
specialty | S | 0..* | CodeableConcept | Binding: US Core Provider Speciality (NUCC) (extensible) |
location | S | 0..* | Reference(US Core Location Profile) | |
telecom | SI | 0..* | ContactPoint | |
system | S | 1..1 | code | |
value | S | 1..1 | string | |
endpoint | SI | 0..* | Reference(Endpoint) | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | Roles/organizations the practitioner is associated with pd-1: SHALL have contact information or a reference to an Endpoint | |
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) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
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Σ | 1..1 | Reference(US Core Practitioner Profile) | Practitioner that is able to provide the defined services for the organization |
organization | SΣ | 1..1 | Reference(US Core Organization Profile) | Organization where the roles are available |
code | SΣ | 0..* | CodeableConcept | Roles which this practitioner may perform Binding: US Core Provider Role (NUCC) (extensible) |
specialty | SΣ | 0..* | CodeableConcept | Specific specialty of the practitioner Binding: US Core Provider Speciality (NUCC) (extensible) |
location | SΣ | 0..* | Reference(US Core Location Profile) | The location(s) at which this practitioner provides care |
healthcareService | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) | |
telecom | SΣ | 0..* | ContactPoint | Contact details that are specific to the role/location/service |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |
system | SΣI | 1..1 | code | phone | fax | email | pager | url | sms | other Binding: ContactPointSystem (required) |
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) |
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 | I | 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) | |
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 | I | 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 | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
- See the General Guidance 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.
Mandatory Search Parameters:
The following search parameters, search parameter combinations SHALL be supported. Any listed search parameter modifiers, comparators, chains and composites SHALL also be supported UNLESS they are listed as “optional” in which case they SHOULD be supported.:
-
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:
- 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)
- including optional support for these
-
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=[reference]
Example:
- GET [base]/PractitionerRole?practitioner.identifier=http://hl7.org/fhir/sid/us-npi|97860456&_include=PractitionerRole:practitioner&_include=PractitionerRole?endpoint
- 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 PractionerRole.practitioner and PractitionerRole.endpoint. (how to search by reference)
- including support for these chained parameters: