This page is part of the US Core (v1.1.0: STU2 Ballot 1) based on FHIR R3. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
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.
The following data-elements are mandatory (i.e data MUST be present). These 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:
Profile specific implementation guidance:
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 Dec 10 00:00:00 AEDT 2017 as a draft by HL7 US Realm Steering Committee.
This profile builds on PractitionerRole
PractitionerRole.practitioner
PractitionerRole.organization
PractitionerRole.code
which has an extensible binding to:
PractitionerRole.specialty
which has an extensible binding to:
PractitionerRole.location
PractitionerRole.endpoint
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | US Core PractitionerRole Profile 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 | 1..1 | CodeableConcept | Binding: Argonaut Provider Directory Provider Role (NUCC) (required) |
specialty | S | 1..1 | CodeableConcept | Binding: Argonaut Provider Directory Provider Speciality (NUCC) (required) |
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..* | US Core PractitionerRole Profile 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: Common Languages (extensible) | |
text | I | 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's 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 organation |
organization | SΣ | 1..1 | Reference(US Core Organization Profile) | Organization where the roles are available |
code | SΣ | 1..1 | CodeableConcept | Roles which this practitioner may perform Binding: Argonaut Provider Directory Provider Role (NUCC) (required) |
specialty | SΣ | 1..1 | CodeableConcept | Specific specialty of the practitioner Binding: Argonaut Provider Directory Provider Speciality (NUCC) (required) |
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 | xml:id (or equivalent in JSON) | |
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 | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
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 | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
description | 1..1 | string | Reason presented to the user explaining why time not available | |
during | 0..1 | Period | Service not availablefrom 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.practitioner
PractitionerRole.organization
PractitionerRole.code
which has an extensible binding to:
PractitionerRole.specialty
which has an extensible binding to:
PractitionerRole.location
PractitionerRole.endpoint
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PractitionerRole | I | 0..* | US Core PractitionerRole Profile 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 | 1..1 | CodeableConcept | Binding: Argonaut Provider Directory Provider Role (NUCC) (required) |
specialty | S | 1..1 | CodeableConcept | Binding: Argonaut Provider Directory Provider Speciality (NUCC) (required) |
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..* | US Core PractitionerRole Profile 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: Common Languages (extensible) | |
text | I | 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's 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 organation |
organization | SΣ | 1..1 | Reference(US Core Organization Profile) | Organization where the roles are available |
code | SΣ | 1..1 | CodeableConcept | Roles which this practitioner may perform Binding: Argonaut Provider Directory Provider Role (NUCC) (required) |
specialty | SΣ | 1..1 | CodeableConcept | Specific specialty of the practitioner Binding: Argonaut Provider Directory Provider Speciality (NUCC) (required) |
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 | xml:id (or equivalent in JSON) | |
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 | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
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 | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
description | 1..1 | string | Reason presented to the user explaining why time not available | |
during | 0..1 | Period | Service not availablefrom 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, CSV), Schema: XML Schematron
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.
GET [base]/PractitionerRole?practitioner.identifier=[system]|[code]
Example: GET [base]/PractitionerRole?practitioner.identifier=http://hl7.org/fhir/sid/us-npi%7C14|97860456
Support: Mandatory to support search by Practitioner identifier.
Implementation Notes: Search based on Practitioner identifier (NPI) (how to search by token).
GET [base]/PractitionerRole?practitioner.family=[string]&given=[string]
Example: GET [base]/PractitionerRole?practitioner.name=Henry
Support: Mandatory to support search by Practitioner name.
Implementation Notes: Search based on text name (how to search by string).
GET [base]/PractitionerRole?specialty=[system]|[code]
Example: GET [base]/PractitionerRole?specialty=http://hl7.org/fhir/practitioner-specialty%7Ccardio
Support: Mandatory to support search by Specialty.
Implementation Notes: Search based on specialty (how to search by token).
Searches to consider for future
GET [base]/PractitionerRole?location.address-city=[city]
GET [base]/PractitionerRole?location.address-city=[city]&specialty=[string]
GET [base]/PractitionerRole?location.near=-72.519854,42.373222&near-distance=2m
Implementation Notes: Search based on location (how to search by reference).