US Core Implementation Guide
7.0.0 - CI Build United States of America flag

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 7.0.0 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: 7.0.0
Standards status: Trial-use Maturity Level: 3 Computable Name: USCorePractitionerRoleProfile
Other Identifiers: OID:2.16.840.1.113883.4.642.40.42.45

Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

This profile sets minimum expectations for the PractitionerRole Resource to record, search, and fetch the practitioner role for a practitioner to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present and constrains the way the elements are used and constrains the way the elements are used when using the profile. It provides the floor for standards development for specific use cases. 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.
  • Clients can request servers return the Practitioner resource and Endpoint resources by using _include. See Quick Start.

Usage:

Changes since version 7.0.0-ballot:

  • The data elements list has changed
  • One or more text definitions, invariants or bindings have changed
  • Formal Views of Profile Content

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

    This structure is derived from PractitionerRole

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole C0..*PractitionerRoleRoles/organizations the practitioner is associated with
    pd-1: SHALL have contact information or a reference to an Endpoint
    us-core-13: SHALL have a practitioner, an organization, a healthcare service, or a location.
    ... practitioner SC0..1Reference(US Core Practitioner Profile)Practitioner that is able to provide the defined services for the organization
    ... organization SC0..1Reference(US Core Organization Profile)Organization where the roles are available
    ... code S0..*CodeableConceptRoles 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 S0..*CodeableConceptSpecific specialty of the practitioner
    Binding: Healthcare Provider Taxonomy . (extensible)
    ... location SC0..*Reference(US Core Location Profile)The location(s) at which this practitioner provides care
    ... healthcareService C0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom SC0..*ContactPointContact details that are specific to the role/location/service
    .... system S1..1codephone | fax | email | pager | url | sms | other
    .... value S1..1stringThe actual contact point details
    ... endpoint SC0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    PractitionerRole.codeextensibleCareTeamMemberFunction .
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
    PractitionerRole.specialtyextensibleHealthcareProviderTaxonomy . (a valid code from http://nucc.org/provider-taxonomy)
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066

    Constraints

    IdGradePath(s)DetailsRequirements
    pd-1errorPractitionerRoleSHALL have contact information or a reference to an Endpoint
    : telecom.exists() or endpoint.exists()
    us-core-13errorPractitionerRoleSHALL have a practitioner, an organization, a healthcare service, or a location.
    : practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole C0..*PractitionerRoleRoles/organizations the practitioner is associated with
    pd-1: SHALL have contact information or a reference to an Endpoint
    us-core-13: SHALL have a practitioner, an organization, a healthcare service, or a location.
    ... implicitRules ?!Σ0..1uriA set of rules under which this content was created
    ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
    ... practitioner SΣC0..1Reference(US Core Practitioner Profile)Practitioner that is able to provide the defined services for the organization
    ... organization SΣC0..1Reference(US Core Organization Profile)Organization where the roles are available
    ... code SΣ0..*CodeableConceptRoles 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..*CodeableConceptSpecific specialty of the practitioner
    Binding: Healthcare Provider Taxonomy . (extensible)
    ... location SΣC0..*Reference(US Core Location Profile)The location(s) at which this practitioner provides care
    ... healthcareService C0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom SΣC0..*ContactPointContact details that are specific to the role/location/service
    .... system SΣC1..1codephone | fax | email | pager | url | sms | other
    Binding: ContactPointSystem (required): Telecommunications form for contact point.

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

    ... endpoint SC0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.codeextensibleCareTeamMemberFunction .
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
    PractitionerRole.specialtyextensibleHealthcareProviderTaxonomy . (a valid code from http://nucc.org/provider-taxonomy)
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
    PractitionerRole.telecom.systemrequiredContactPointSystem
    http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
    from the FHIR Standard
    PractitionerRole.telecom.userequiredContactPointUse
    http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    pd-1errorPractitionerRoleSHALL have contact information or a reference to an Endpoint
    : telecom.exists() or endpoint.exists()
    us-core-13errorPractitionerRoleSHALL have a practitioner, an organization, a healthcare service, or a location.
    : practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()
    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole C0..*PractitionerRoleRoles/organizations the practitioner is associated with
    pd-1: SHALL have contact information or a reference to an Endpoint
    us-core-13: SHALL have a practitioner, an organization, a healthcare service, or a location.
    ... id Σ0..1idLogical id of this artifact
    ... meta Σ0..1MetaMetadata about the resource
    ... implicitRules ?!Σ0..1uriA set of rules under which this content was created
    ... language 0..1codeLanguage of the resource content
    Binding: CommonLanguages (preferred): A human language.

    Additional BindingsPurpose
    AllLanguagesMax Binding
    ... text 0..1NarrativeText summary of the resource, for human interpretation
    ... contained 0..*ResourceContained, inline Resources
    ... extension 0..*ExtensionAdditional content defined by implementations
    ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
    ... identifier Σ0..*IdentifierBusiness Identifiers that are specific to a role/location
    ... active Σ0..1booleanWhether this practitioner role record is in active use
    ... period Σ0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
    ... practitioner SΣC0..1Reference(US Core Practitioner Profile)Practitioner that is able to provide the defined services for the organization
    ... organization SΣC0..1Reference(US Core Organization Profile)Organization where the roles are available
    ... code SΣ0..*CodeableConceptRoles 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..*CodeableConceptSpecific specialty of the practitioner
    Binding: Healthcare Provider Taxonomy . (extensible)
    ... location SΣC0..*Reference(US Core Location Profile)The location(s) at which this practitioner provides care
    ... healthcareService C0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom SΣC0..*ContactPointContact details that are specific to the role/location/service
    .... id 0..1stringUnique id for inter-element referencing
    .... extension 0..*ExtensionAdditional content defined by implementations
    Slice: Unordered, Open by value:url
    .... system SΣC1..1codephone | fax | email | pager | url | sms | other
    Binding: ContactPointSystem (required): Telecommunications form for contact point.

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

    .... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
    .... period Σ0..1PeriodTime period when the contact point was/is in use
    ... availableTime 0..*BackboneElementTimes the Service Site is available
    .... id 0..1stringUnique id for inter-element referencing
    .... extension 0..*ExtensionAdditional content defined by implementations
    .... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
    .... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
    Binding: DaysOfWeek (required): The days of the week.


    .... allDay 0..1booleanAlways available? e.g. 24 hour service
    .... availableStartTime 0..1timeOpening time of day (ignored if allDay = true)
    .... availableEndTime 0..1timeClosing time of day (ignored if allDay = true)
    ... notAvailable 0..*BackboneElementNot available during this time due to provided reason
    .... id 0..1stringUnique id for inter-element referencing
    .... extension 0..*ExtensionAdditional content defined by implementations
    .... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
    .... description 1..1stringReason presented to the user explaining why time not available
    .... during 0..1PeriodService not available from this date
    ... availabilityExceptions 0..1stringDescription of availability exceptions
    ... endpoint SC0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.languagepreferredCommonLanguages
    Additional Bindings Purpose
    AllLanguages Max Binding
    http://hl7.org/fhir/ValueSet/languages
    from the FHIR Standard
    PractitionerRole.codeextensibleCareTeamMemberFunction .
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
    PractitionerRole.specialtyextensibleHealthcareProviderTaxonomy . (a valid code from http://nucc.org/provider-taxonomy)
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
    PractitionerRole.telecom.systemrequiredContactPointSystem
    http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
    from the FHIR Standard
    PractitionerRole.telecom.userequiredContactPointUse
    http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
    from the FHIR Standard
    PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
    http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    pd-1errorPractitionerRoleSHALL have contact information or a reference to an Endpoint
    : telecom.exists() or endpoint.exists()
    us-core-13errorPractitionerRoleSHALL 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

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole C0..*PractitionerRoleRoles/organizations the practitioner is associated with
    pd-1: SHALL have contact information or a reference to an Endpoint
    us-core-13: SHALL have a practitioner, an organization, a healthcare service, or a location.
    ... practitioner SC0..1Reference(US Core Practitioner Profile)Practitioner that is able to provide the defined services for the organization
    ... organization SC0..1Reference(US Core Organization Profile)Organization where the roles are available
    ... code S0..*CodeableConceptRoles 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 S0..*CodeableConceptSpecific specialty of the practitioner
    Binding: Healthcare Provider Taxonomy . (extensible)
    ... location SC0..*Reference(US Core Location Profile)The location(s) at which this practitioner provides care
    ... healthcareService C0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom SC0..*ContactPointContact details that are specific to the role/location/service
    .... system S1..1codephone | fax | email | pager | url | sms | other
    .... value S1..1stringThe actual contact point details
    ... endpoint SC0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings (Differential)

    PathConformanceValueSetURI
    PractitionerRole.codeextensibleCareTeamMemberFunction .
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
    PractitionerRole.specialtyextensibleHealthcareProviderTaxonomy . (a valid code from http://nucc.org/provider-taxonomy)
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066

    Constraints

    IdGradePath(s)DetailsRequirements
    pd-1errorPractitionerRoleSHALL have contact information or a reference to an Endpoint
    : telecom.exists() or endpoint.exists()
    us-core-13errorPractitionerRoleSHALL have a practitioner, an organization, a healthcare service, or a location.
    : practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()

    Key Elements View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole C0..*PractitionerRoleRoles/organizations the practitioner is associated with
    pd-1: SHALL have contact information or a reference to an Endpoint
    us-core-13: SHALL have a practitioner, an organization, a healthcare service, or a location.
    ... implicitRules ?!Σ0..1uriA set of rules under which this content was created
    ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
    ... practitioner SΣC0..1Reference(US Core Practitioner Profile)Practitioner that is able to provide the defined services for the organization
    ... organization SΣC0..1Reference(US Core Organization Profile)Organization where the roles are available
    ... code SΣ0..*CodeableConceptRoles 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..*CodeableConceptSpecific specialty of the practitioner
    Binding: Healthcare Provider Taxonomy . (extensible)
    ... location SΣC0..*Reference(US Core Location Profile)The location(s) at which this practitioner provides care
    ... healthcareService C0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom SΣC0..*ContactPointContact details that are specific to the role/location/service
    .... system SΣC1..1codephone | fax | email | pager | url | sms | other
    Binding: ContactPointSystem (required): Telecommunications form for contact point.

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

    ... endpoint SC0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.codeextensibleCareTeamMemberFunction .
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
    PractitionerRole.specialtyextensibleHealthcareProviderTaxonomy . (a valid code from http://nucc.org/provider-taxonomy)
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
    PractitionerRole.telecom.systemrequiredContactPointSystem
    http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
    from the FHIR Standard
    PractitionerRole.telecom.userequiredContactPointUse
    http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    pd-1errorPractitionerRoleSHALL have contact information or a reference to an Endpoint
    : telecom.exists() or endpoint.exists()
    us-core-13errorPractitionerRoleSHALL have a practitioner, an organization, a healthcare service, or a location.
    : practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()

    Snapshot View

    NameFlagsCard.TypeDescription & Constraintsdoco
    .. PractitionerRole C0..*PractitionerRoleRoles/organizations the practitioner is associated with
    pd-1: SHALL have contact information or a reference to an Endpoint
    us-core-13: SHALL have a practitioner, an organization, a healthcare service, or a location.
    ... id Σ0..1idLogical id of this artifact
    ... meta Σ0..1MetaMetadata about the resource
    ... implicitRules ?!Σ0..1uriA set of rules under which this content was created
    ... language 0..1codeLanguage of the resource content
    Binding: CommonLanguages (preferred): A human language.

    Additional BindingsPurpose
    AllLanguagesMax Binding
    ... text 0..1NarrativeText summary of the resource, for human interpretation
    ... contained 0..*ResourceContained, inline Resources
    ... extension 0..*ExtensionAdditional content defined by implementations
    ... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
    ... identifier Σ0..*IdentifierBusiness Identifiers that are specific to a role/location
    ... active Σ0..1booleanWhether this practitioner role record is in active use
    ... period Σ0..1PeriodThe period during which the practitioner is authorized to perform in these role(s)
    ... practitioner SΣC0..1Reference(US Core Practitioner Profile)Practitioner that is able to provide the defined services for the organization
    ... organization SΣC0..1Reference(US Core Organization Profile)Organization where the roles are available
    ... code SΣ0..*CodeableConceptRoles 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..*CodeableConceptSpecific specialty of the practitioner
    Binding: Healthcare Provider Taxonomy . (extensible)
    ... location SΣC0..*Reference(US Core Location Profile)The location(s) at which this practitioner provides care
    ... healthcareService C0..*Reference(HealthcareService)The list of healthcare services that this worker provides for this role's Organization/Location(s)
    ... telecom SΣC0..*ContactPointContact details that are specific to the role/location/service
    .... id 0..1stringUnique id for inter-element referencing
    .... extension 0..*ExtensionAdditional content defined by implementations
    Slice: Unordered, Open by value:url
    .... system SΣC1..1codephone | fax | email | pager | url | sms | other
    Binding: ContactPointSystem (required): Telecommunications form for contact point.

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

    .... rank Σ0..1positiveIntSpecify preferred order of use (1 = highest)
    .... period Σ0..1PeriodTime period when the contact point was/is in use
    ... availableTime 0..*BackboneElementTimes the Service Site is available
    .... id 0..1stringUnique id for inter-element referencing
    .... extension 0..*ExtensionAdditional content defined by implementations
    .... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
    .... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
    Binding: DaysOfWeek (required): The days of the week.


    .... allDay 0..1booleanAlways available? e.g. 24 hour service
    .... availableStartTime 0..1timeOpening time of day (ignored if allDay = true)
    .... availableEndTime 0..1timeClosing time of day (ignored if allDay = true)
    ... notAvailable 0..*BackboneElementNot available during this time due to provided reason
    .... id 0..1stringUnique id for inter-element referencing
    .... extension 0..*ExtensionAdditional content defined by implementations
    .... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
    .... description 1..1stringReason presented to the user explaining why time not available
    .... during 0..1PeriodService not available from this date
    ... availabilityExceptions 0..1stringDescription of availability exceptions
    ... endpoint SC0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

    doco Documentation for this format

    Terminology Bindings

    PathConformanceValueSetURI
    PractitionerRole.languagepreferredCommonLanguages
    Additional Bindings Purpose
    AllLanguages Max Binding
    http://hl7.org/fhir/ValueSet/languages
    from the FHIR Standard
    PractitionerRole.codeextensibleCareTeamMemberFunction .
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1099.30
    PractitionerRole.specialtyextensibleHealthcareProviderTaxonomy . (a valid code from http://nucc.org/provider-taxonomy)
    http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.114222.4.11.1066
    PractitionerRole.telecom.systemrequiredContactPointSystem
    http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
    from the FHIR Standard
    PractitionerRole.telecom.userequiredContactPointUse
    http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
    from the FHIR Standard
    PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
    http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
    from the FHIR Standard

    Constraints

    IdGradePath(s)DetailsRequirements
    dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
    : contained.contained.empty()
    dom-3errorPractitionerRoleIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
    dom-4errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
    dom-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
    : contained.meta.security.empty()
    dom-6best practicePractitionerRoleA resource should have narrative for robust management
    : text.`div`.exists()
    ele-1error**ALL** elementsAll FHIR elements must have a @value or children
    : hasValue() or (children().count() > id.count())
    ext-1error**ALL** extensionsMust have either extensions or value[x], not both
    : extension.exists() != value.exists()
    pd-1errorPractitionerRoleSHALL have contact information or a reference to an Endpoint
    : telecom.exists() or endpoint.exists()
    us-core-13errorPractitionerRoleSHALL have a practitioner, an organization, a healthcare service, or a location.
    : practitioner.exists() or organization.exists() or healthcareService.exists() or location.exists()

     

    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 <patient user system>s.

    US Core Scopes

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

    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 PractionerRole.practitioner and PractitionerRole.endpoint. (how to search by reference)