Release 4B 5

This page is part of the FHIR Specification (v4.3.0: R4B (v5.0.0: R5 - STU ). The This is the current published version which supercedes in it's permanent home (it will always be available at this version is 5.0.0 . URL). For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R5 R4B R4 R3

8.5 Resource PractitionerRole - Content

Patient Administration icon Work Group Maturity Level : 2 4   Trial Use Security Category : Individual Compartments : Practitioner

A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.

The PractitionerRole covers the recording of describes the location and types of services that Practitioners are able to practitioners provide for an organization. organization at specific location(s).

The PractitionerRole resource can be used in multiple contexts including:

  • Provider Registries where it indicates what a practitioner can perform for an organization (may indicate multiple healthcareservices, locations, and roles)
  • In a Clinical system where it indicates the role, healthcareservice and location details associated with a practitioner that are applicable to the healthcare event (e.g. Observation, Appointment, Condition, CarePlan)
  • In a Clinical system as a point of reference rather than an event, such as a patient's preferred general practitioner (at a specific clinic)

The role, specialty, Location telecom and HealthcareService properties can be repeated if required in other instances of the PractitionerRole. Some systems record a collection of service values for a single location, others record the single service and the list of locations it is available. Both are acceptable options for representing this data.
Where availability, telecom, or other details are not the same across all healthcareservices, or locations a seperate separate PractitionerRole instance should be created.

Many resource types have a choice of a reference to either a Practitioner resource or a PractitionerRole resource. The latter provides organizational context for the practitioners participation when it is required, otherwise a direct reference to the practitioner may be used.
Many implementations may choose to profile the PractitionerRole to a single location/role/healthcareservice for their specific usage.
As the property that references a PractitionerRole typically has a specific context, the code on the PractitionerRole having duplicate code values is not a big concern (and is used for discovery where required).
e.g. These references are all very context specific: Patient.GeneralPractitioner, CarePlan.reported, CarePlan.contributor, Appointment.participant (through the participant.role), Immunization.informationSource, Immunization.performer (through the performer.function property)

For use cases where an organization has activities where a practitioner is not defined/pre-allocated for a specific role (e.g. an un-named surgeon at XYZ Hospital), a PractitionerRole resource can be used with an empty Practitioner property, and the other relevant role properties populated - i.e. code, organization.

Qualifications (from the Practitioner resource) do not imply a Role, but might be considered when an Organization allocates practitioners to roles within their organization, and could provide useful information (such as expiry information) which could need to be tracked in some situations to ensure they continue to be eligible for a specific role.

The CareTeam resource is also often used to provide details of a role that a practitioner is allocated to perform, but is usually scoped to a much finer granularity of care, and often within the specific context of a Patient , or functional role (e.g. Crisis planning team). In contrast the PractitionerRole is used in a more general sense to cover all the places that the practitioner is allocated to work (and specific details relevant to that role - such as a specific contact number, or electronic services endpoint).

When referencing a practitioner from clinical (or other) content where the organization and role are important to the context of the reference to the practitioner, then a reference to the PractitionerRole should be used.

Practitioner performs different roles within the same or even different organizations. Depending on jurisdiction and custom, it may be necessary to maintain a specific Practitioner Resource for each such role or have a single Practitioner with multiple roles. The role can be limited to a specific period, after which authorization for this role ends. Note that the represented organization need not necessarily be the (direct) employer of a Practitioner.

This resource is referenced by Signature ,

Structure

Σ
Name Flags Card. Type Description & Constraints doco
. . PractitionerRole TU DomainResource Roles/organizations the practitioner is associated with

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier Business Identifiers that are specific to for 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)
. . . organization Σ 0..1 Reference ( Organization ) Organization where the roles are available
. . . code Σ 0..* CodeableConcept Roles which this practitioner may perform
PractitionerRole Binding: Practitioner Role ( Example )

. . . specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
Binding: Practice Setting Code Value Set ( Preferred )

. . . location Σ 0..* Reference ( Location ) The location(s) at which this Location(s) where the practitioner provides care

. . . healthcareService 0..* Reference ( HealthcareService ) The list of healthcare Healthcare services that this worker provides provided for this role's Organization/Location(s)

. . . telecom contact 0..* ContactPoint ExtendedContactDetail Contact Official contact details that are specific relating to the role/location/service this PractitionerRole

. . availableTime . characteristic 0..* BackboneElement CodeableConcept Times the Collection of characteristics (attributes)
Binding: Service Site is available Mode ( Example )

. . daysOfWeek . communication 0..* code CodeableConcept mon | tue | wed | thu | fri | sat | sun A language the practitioner (in this role) can use in patient communication
DaysOfWeek Binding: All Languages ( Required ) allDay 0..1 boolean Always available? e.g. 24 hour service availableStartTime 0..1 Opening time of day (ignored if allDay = true) availableEndTime 0..1 Closing time of day (ignored if allDay = true) notAvailable 0..* BackboneElement
time Additional Bindings Purpose
Common Languages time Starter Set

Not available during this time due to provided reason
. . description . availability 1..1 0..* string Availability Reason presented to Times the user explaining why time not available during 0..1 Period Service not Practitioner is available from at this date availabilityExceptions 0..1 string location and/or healthcare service (including exceptions)

Description of availability exceptions
. . . endpoint 0..* Reference ( Endpoint ) Technical endpoints providing access to services operated Endpoints for interacting with the practitioner with in this role


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

PractitionerRole ( DomainResource ) Business Identifiers that are specific to a role/location identifier : Identifier [0..*] Whether this practitioner role record is in active use. Some systems may use this property to mark non-active practitioners, such as those that are not currently employed active : boolean [0..1] The period during which the person is authorized to act as a practitioner in these role(s) for the organization period : Period [0..1] Practitioner that is able to provide the defined services for the organization practitioner : Reference [0..1] « Practitioner » The organization where the Practitioner performs the roles associated organization : Reference [0..1] « Organization » Roles which this practitioner is authorized to perform for the organization code : CodeableConcept [0..*] « null (Strength=Example) PractitionerRole ?? » Specific The specialty of the a practitioner that describes the functional role they are practicing at a given organization or location specialty : CodeableConcept [0..*] « null (Strength=Preferred) PracticeSettingCodeValueSet ? » The location(s) at which this practitioner provides care location : Reference [0..*] « Location » The list of healthcare services that this worker provides for this role's Organization/Location(s) healthcareService : Reference [0..*] « HealthcareService » Contact The contact details that are specific to the role/location/service telecom : ContactPoint [0..*] A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not communication devices available Times availabilityExceptions : string [0..1] Technical endpoints providing access relevant to services operated for the practitioner with this role specific PractitionerRole. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites endpoint contact : Reference ExtendedContactDetail [0..*] « Endpoint » AvailableTime Indicates which days Collection of the week are available between the start and end Times characteristics (attributes) daysOfWeek characteristic : code CodeableConcept [0..*] « null (Strength=Required) DaysOfWeek ! » Is this always available? (hence times are irrelevant) e.g. 24 hour service (Strength=Example) allDay : boolean ServiceMode [0..1] ?? » The opening time of day. Note: If A language the AllDay flag is set, then this time is ignored availableStartTime : time [0..1] practitioner can use in patient communication. The closing time of day. Note: If practitioner may know several languages (listed in practitioner.communication), however these are the AllDay flag is set, then this time is ignored availableEndTime : time [0..1] NotAvailable The reason languages that can could be presented to the user as advertised in a directory for a patient to why this time is not available search description communication : string CodeableConcept [1..1] [0..*] « Service is not available (seasonally or for a public holiday) from this date null (Strength=Required) during : Period [0..1] AllLanguages ! » A collection of times the practitioner is available or performing this role at the location and/or healthcareservice availableTime availability : Availability [0..*] The Technical endpoints providing access to services operated for the practitioner is not available or performing this role during with this period of time due role. Commonly used for locating scheduling services, or identifying where to the provided reason send referrals electronically notAvailable endpoint : Reference [0..*] « Endpoint »

XML Template

<PractitionerRole xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <</identifier>
 <

 <identifier><!-- 0..* Identifier Identifiers for a role/location --></identifier>
 <active value="[boolean]"/><!-- 0..1 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) --></period>
 <</practitioner>

 <practitioner><!-- 0..1 Reference(Practitioner) Practitioner that provides services for the organization --></practitioner>

 <organization><!-- 0..1 Reference(Organization) Organization where the roles are available --></organization>
 <</code>
 <</specialty>
 <</location>
 <</healthcareService>
 <</telecom>
 <
  <
  <
  <
  <
 </availableTime>
 <
  <
  <</during>
 </notAvailable>
 <
 <</endpoint>

 <code><!-- 0..* CodeableConcept Roles which this practitioner may perform --></code>
 <specialty><!-- 0..* CodeableConcept Specific specialty of the practitioner --></specialty>
 <location><!-- 0..* Reference(Location) Location(s) where the practitioner provides care --></location>
 <healthcareService><!-- 0..* Reference(HealthcareService) Healthcare services provided for this role's Organization/Location(s) --></healthcareService>
 <contact><!-- 0..* ExtendedContactDetail Official contact details relating to this PractitionerRole --></contact>
 <characteristic><!-- 0..* CodeableConcept Collection of characteristics (attributes) --></characteristic>
 <communication><!-- 0..* CodeableConcept A language the practitioner (in this role) can use in patient communication --></communication>
 <availability><!-- 0..* Availability Times the Practitioner is available at this location and/or healthcare service (including exceptions) --></availability>
 <endpoint><!-- 0..* Reference(Endpoint) Endpoints for interacting with the practitioner in this role --></endpoint>

</PractitionerRole>

JSON Template

{doco
  "resourceType" : "PractitionerRole",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "

  "identifier" : [{ Identifier }], // Identifiers for a role/location
  "active" : <boolean>, // Whether this practitioner role record is in active use

  "period" : { Period }, // The period during which the practitioner is authorized to perform in these role(s)
  "

  "practitioner" : { Reference(Practitioner) }, // Practitioner that provides services for the organization

  "organization" : { Reference(Organization) }, // Organization where the roles are available
  "
  "
  "
  "
  "
  "
    "
    "
    "
    "
  }],
  "
    "
    "
  }],
  "
  "

  "code" : [{ CodeableConcept }], // Roles which this practitioner may perform
  "specialty" : [{ CodeableConcept }], // Specific specialty of the practitioner
  "location" : [{ Reference(Location) }], // Location(s) where the practitioner provides care
  "healthcareService" : [{ Reference(HealthcareService) }], // Healthcare services provided for this role's Organization/Location(s)
  "contact" : [{ ExtendedContactDetail }], // Official contact details relating to this PractitionerRole
  "characteristic" : [{ CodeableConcept }], // Collection of characteristics (attributes)
  "communication" : [{ CodeableConcept }], // A language the practitioner (in this role) can use in patient communication
  "availability" : [{ Availability }], // Times the Practitioner is available at this location and/or healthcare service (including exceptions)
  "endpoint" : [{ Reference(Endpoint) }] // Endpoints for interacting with the practitioner in this role

}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:PractitionerRole;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
  fhir:

  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifiers for a role/location
  fhir:active [ boolean ] ; # 0..1 Whether this practitioner role record is in active use
  fhir:period [ Period ] ; # 0..1 The period during which the practitioner is authorized to perform in these role(s)
  fhir:practitioner [ Reference(Practitioner) ] ; # 0..1 Practitioner that provides services for the organization
  fhir:organization [ Reference(Organization) ] ; # 0..1 Organization where the roles are available
  fhir:code  ( [ CodeableConcept ] ... ) ; # 0..* Roles which this practitioner may perform
  fhir:specialty  ( [ CodeableConcept ] ... ) ; # 0..* Specific specialty of the practitioner
  fhir:location  ( [ Reference(Location) ] ... ) ; # 0..* Location(s) where the practitioner provides care
  fhir:healthcareService  ( [ Reference(HealthcareService) ] ... ) ; # 0..* Healthcare services provided for this role's Organization/Location(s)
  fhir:contact  ( [ ExtendedContactDetail ] ... ) ; # 0..* Official contact details relating to this PractitionerRole
  fhir:characteristic  ( [ CodeableConcept ] ... ) ; # 0..* Collection of characteristics (attributes)
  fhir:communication  ( [ CodeableConcept ] ... ) ; # 0..* A language the practitioner (in this role) can use in patient communication
  fhir:availability  ( [ Availability ] ... ) ; # 0..* Times the Practitioner is available at this location and/or healthcare service (including exceptions)
  fhir:endpoint  ( [ Reference(Endpoint) ] ... ) ; # 0..* Endpoints for interacting with the practitioner in this role

]

Changes since from both R4 and R4B

PractitionerRole
PractitionerRole.contact
  • No Changes Added Element
PractitionerRole.characteristic
  • Added Element
PractitionerRole.communication
  • Added Element
PractitionerRole.availability
  • Added Element
PractitionerRole.telecom
  • Deleted (-> PractitionerRole.contact.telecom)
PractitionerRole.availableTime
  • Deleted (-> PractitionerRole.availability.availableTime)
PractitionerRole.notAvailable
  • Deleted (-> PractitionerRole.availability.notAvailableTime)
PractitionerRole.availabilityExceptions
  • Deleted (-> PractitionerRole.availability.notAvailableTime.description)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON . Conversions between R3 and R4 for R4B as XML or JSON .

See R3 <--> R4 <--> R5 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.) See Conversions Summary .)

Structure

Σ
Name Flags Card. Type Description & Constraints doco
. . PractitionerRole TU DomainResource Roles/organizations the practitioner is associated with

Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier Σ 0..* Identifier Business Identifiers that are specific to for 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)
. . . organization Σ 0..1 Reference ( Organization ) Organization where the roles are available
. . . code Σ 0..* CodeableConcept Roles which this practitioner may perform
PractitionerRole Binding: Practitioner Role ( Example )

. . . specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
Binding: Practice Setting Code Value Set ( Preferred )

. . . location Σ 0..* Reference ( Location ) The location(s) at which this Location(s) where the practitioner provides care

. . . healthcareService 0..* Reference ( HealthcareService ) The list of healthcare Healthcare services that this worker provides provided for this role's Organization/Location(s)

. . . telecom contact 0..* ContactPoint ExtendedContactDetail Contact Official contact details that are specific relating to the role/location/service this PractitionerRole

. . availableTime . characteristic 0..* BackboneElement CodeableConcept Times the Collection of characteristics (attributes)
Binding: Service Site is available Mode ( Example )

. . daysOfWeek . communication 0..* code CodeableConcept mon | tue | wed | thu | fri | sat | sun A language the practitioner (in this role) can use in patient communication
DaysOfWeek Binding: All Languages ( Required ) allDay 0..1 boolean Always available? e.g. 24 hour service availableStartTime 0..1 Opening time of day (ignored if allDay = true) availableEndTime 0..1 Closing time of day (ignored if allDay = true) notAvailable 0..* BackboneElement
time Additional Bindings Purpose
Common Languages time Starter Set

Not available during this time due to provided reason
. . description . availability 1..1 0..* string Availability Reason presented to Times the user explaining why time not available during 0..1 Period Service not Practitioner is available from at this date availabilityExceptions 0..1 string location and/or healthcare service (including exceptions)

Description of availability exceptions
. . . endpoint 0..* Reference ( Endpoint ) Technical endpoints providing access to services operated Endpoints for interacting with the practitioner with in this role


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

PractitionerRole ( DomainResource ) Business Identifiers that are specific to a role/location identifier : Identifier [0..*] Whether this practitioner role record is in active use. Some systems may use this property to mark non-active practitioners, such as those that are not currently employed active : boolean [0..1] The period during which the person is authorized to act as a practitioner in these role(s) for the organization period : Period [0..1] Practitioner that is able to provide the defined services for the organization practitioner : Reference [0..1] « Practitioner » The organization where the Practitioner performs the roles associated organization : Reference [0..1] « Organization » Roles which this practitioner is authorized to perform for the organization code : CodeableConcept [0..*] « null (Strength=Example) PractitionerRole ?? » Specific The specialty of the a practitioner that describes the functional role they are practicing at a given organization or location specialty : CodeableConcept [0..*] « null (Strength=Preferred) PracticeSettingCodeValueSet ? » The location(s) at which this practitioner provides care location : Reference [0..*] « Location » The list of healthcare services that this worker provides for this role's Organization/Location(s) healthcareService : Reference [0..*] « HealthcareService » Contact The contact details that are specific to the role/location/service telecom : ContactPoint [0..*] A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not communication devices available Times availabilityExceptions : string [0..1] Technical endpoints providing access relevant to services operated for the practitioner with this role specific PractitionerRole. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites endpoint contact : Reference ExtendedContactDetail [0..*] « Endpoint » AvailableTime Indicates which days Collection of the week are available between the start and end Times characteristics (attributes) daysOfWeek characteristic : code CodeableConcept [0..*] « null (Strength=Required) DaysOfWeek ! » Is this always available? (hence times are irrelevant) e.g. 24 hour service (Strength=Example) allDay : boolean ServiceMode [0..1] ?? » The opening time of day. Note: If A language the AllDay flag is set, then this time is ignored availableStartTime : time [0..1] practitioner can use in patient communication. The closing time of day. Note: If practitioner may know several languages (listed in practitioner.communication), however these are the AllDay flag is set, then this time is ignored availableEndTime : time [0..1] NotAvailable The reason languages that can could be presented to the user as advertised in a directory for a patient to why this time is not available search description communication : string CodeableConcept [1..1] [0..*] « Service is not available (seasonally or for a public holiday) from this date null (Strength=Required) during : Period [0..1] AllLanguages ! » A collection of times the practitioner is available or performing this role at the location and/or healthcareservice availableTime availability : Availability [0..*] The Technical endpoints providing access to services operated for the practitioner is not available or performing this role during with this period of time due role. Commonly used for locating scheduling services, or identifying where to the provided reason send referrals electronically notAvailable endpoint : Reference [0..*] « Endpoint »

XML Template

<PractitionerRole xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <</identifier>
 <

 <identifier><!-- 0..* Identifier Identifiers for a role/location --></identifier>
 <active value="[boolean]"/><!-- 0..1 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) --></period>
 <</practitioner>

 <practitioner><!-- 0..1 Reference(Practitioner) Practitioner that provides services for the organization --></practitioner>

 <organization><!-- 0..1 Reference(Organization) Organization where the roles are available --></organization>
 <</code>
 <</specialty>
 <</location>
 <</healthcareService>
 <</telecom>
 <
  <
  <
  <
  <
 </availableTime>
 <
  <
  <</during>
 </notAvailable>
 <
 <</endpoint>

 <code><!-- 0..* CodeableConcept Roles which this practitioner may perform --></code>
 <specialty><!-- 0..* CodeableConcept Specific specialty of the practitioner --></specialty>
 <location><!-- 0..* Reference(Location) Location(s) where the practitioner provides care --></location>
 <healthcareService><!-- 0..* Reference(HealthcareService) Healthcare services provided for this role's Organization/Location(s) --></healthcareService>
 <contact><!-- 0..* ExtendedContactDetail Official contact details relating to this PractitionerRole --></contact>
 <characteristic><!-- 0..* CodeableConcept Collection of characteristics (attributes) --></characteristic>
 <communication><!-- 0..* CodeableConcept A language the practitioner (in this role) can use in patient communication --></communication>
 <availability><!-- 0..* Availability Times the Practitioner is available at this location and/or healthcare service (including exceptions) --></availability>
 <endpoint><!-- 0..* Reference(Endpoint) Endpoints for interacting with the practitioner in this role --></endpoint>

</PractitionerRole>

JSON Template

{doco
  "resourceType" : "PractitionerRole",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "
  "

  "identifier" : [{ Identifier }], // Identifiers for a role/location
  "active" : <boolean>, // Whether this practitioner role record is in active use

  "period" : { Period }, // The period during which the practitioner is authorized to perform in these role(s)
  "

  "practitioner" : { Reference(Practitioner) }, // Practitioner that provides services for the organization

  "organization" : { Reference(Organization) }, // Organization where the roles are available
  "
  "
  "
  "
  "
  "
    "
    "
    "
    "
  }],
  "
    "
    "
  }],
  "
  "

  "code" : [{ CodeableConcept }], // Roles which this practitioner may perform
  "specialty" : [{ CodeableConcept }], // Specific specialty of the practitioner
  "location" : [{ Reference(Location) }], // Location(s) where the practitioner provides care
  "healthcareService" : [{ Reference(HealthcareService) }], // Healthcare services provided for this role's Organization/Location(s)
  "contact" : [{ ExtendedContactDetail }], // Official contact details relating to this PractitionerRole
  "characteristic" : [{ CodeableConcept }], // Collection of characteristics (attributes)
  "communication" : [{ CodeableConcept }], // A language the practitioner (in this role) can use in patient communication
  "availability" : [{ Availability }], // Times the Practitioner is available at this location and/or healthcare service (including exceptions)
  "endpoint" : [{ Reference(Endpoint) }] // Endpoints for interacting with the practitioner in this role

}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:PractitionerRole;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
    fhir:
    fhir:
  ], ...;
  fhir:
  fhir:

  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Identifiers for a role/location
  fhir:active [ boolean ] ; # 0..1 Whether this practitioner role record is in active use
  fhir:period [ Period ] ; # 0..1 The period during which the practitioner is authorized to perform in these role(s)
  fhir:practitioner [ Reference(Practitioner) ] ; # 0..1 Practitioner that provides services for the organization
  fhir:organization [ Reference(Organization) ] ; # 0..1 Organization where the roles are available
  fhir:code  ( [ CodeableConcept ] ... ) ; # 0..* Roles which this practitioner may perform
  fhir:specialty  ( [ CodeableConcept ] ... ) ; # 0..* Specific specialty of the practitioner
  fhir:location  ( [ Reference(Location) ] ... ) ; # 0..* Location(s) where the practitioner provides care
  fhir:healthcareService  ( [ Reference(HealthcareService) ] ... ) ; # 0..* Healthcare services provided for this role's Organization/Location(s)
  fhir:contact  ( [ ExtendedContactDetail ] ... ) ; # 0..* Official contact details relating to this PractitionerRole
  fhir:characteristic  ( [ CodeableConcept ] ... ) ; # 0..* Collection of characteristics (attributes)
  fhir:communication  ( [ CodeableConcept ] ... ) ; # 0..* A language the practitioner (in this role) can use in patient communication
  fhir:availability  ( [ Availability ] ... ) ; # 0..* Times the Practitioner is available at this location and/or healthcare service (including exceptions)
  fhir:endpoint  ( [ Reference(Endpoint) ] ... ) ; # 0..* Endpoints for interacting with the practitioner in this role

]

Changes since Release 4 from both R4 and R4B

PractitionerRole
PractitionerRole.contact
  • No Changes Added Element
PractitionerRole.characteristic
  • Added Element
PractitionerRole.communication
  • Added Element
PractitionerRole.availability
  • Added Element
PractitionerRole.telecom
  • Deleted (-> PractitionerRole.contact.telecom)
PractitionerRole.availableTime
  • Deleted (-> PractitionerRole.availability.availableTime)
PractitionerRole.notAvailable
  • Deleted (-> PractitionerRole.availability.notAvailableTime)
PractitionerRole.availabilityExceptions
  • Deleted (-> PractitionerRole.availability.notAvailableTime.description)

See the Full Difference for further information

This analysis is available for R4 as XML or JSON . Conversions between R3 and R4 for R4B as XML or JSON .

See R3 <--> R4 <--> R5 Conversion Maps (status = 1 test that all execute ok. All tests pass round-trip testing and all r3 resources are valid.) See Conversions Summary .)

 

See the Profiles & Extensions and the alternate Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) + see the extensions , the spreadsheet version & the dependency analysis

PractitionerRole.availableTime.daysOfWeek
Path Definition ValueSet Type Reference Documentation
PractitionerRole.code PractitionerRole Example http://hl7.org/fhir/ValueSet/practitioner-role

This example value set defines a set of codes that can be used to indicate the role of a Practitioner.

PractitionerRole.specialty PracticeSettingCodeValueSet Preferred PracticeSettingCodeValueSet

This is the code representing the clinical specialty of the clinician or provider who interacted with, treated, or provided a service to/for the patient. The value set used for clinical specialty has been limited by HITSP to the value set reproduced from HITSP C80 Table 2-149 Clinical Specialty Value Set Definition.

PractitionerRole.characteristic ServiceMode Example

An example set of Service Modes that could be applicable to use to characterize HealthcareServices or PractitionerRoles while searching

PractitionerRole.communication AllLanguages (a valid code from Tags for the Identification of Languages icon ) Required DaysOfWeek

This value set includes all possible codes from BCP-47 (see http://tools.ietf.org/html/bcp47)

  Common Languages starter

  • There is no address on the PractitionerRole as the location that is defined here contains the address.
    This prevents having to duplicate the address values across multiple resources.
  • 8.5.7 Multiple Locations in a PractitionerRole
  • As briefly noted in the boundaries and relationships section the PractitionerRole resource can be used to represent multiple locations in the one resource instance, however this should be done with care. When representing multiple locations in an instance, and/or multiple specialties, all details apply to all locations. Using that approach you cannot differentiate a different contact number, different availabilities, or different services at each location.
    Hence maintaining these records needs to ensure that when changing a value, such as availability, it applies to all locations. If different values are required for the different locations, then a new instance will need to be created, and then split as appropriate. Existing resources referencing the original PractitionerRole instance will need to be updated to refer to the appropriate record.
    For this reason we expect that it will be common to profile the location element down to a single location, simplifying overall usage, and the availabilities are clear that they apply to this location, and any referenced healthcare services.

Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
active token Whether this practitioner role record is in active use PractitionerRole.active
characteristic token One of the PractitionerRole's characteristics PractitionerRole.characteristic
communication token One of the languages that the practitioner can communicate with PractitionerRole.communication
date date The period during which the practitioner is authorized to perform in these role(s) PractitionerRole.period
email token A value in an email contact PractitionerRole.telecom.where(system='email') PractitionerRole.contact.telecom.where(system='email') 5 Resources
endpoint reference Technical endpoints providing access to services operated for the practitioner with this role PractitionerRole.endpoint
( Endpoint )
identifier token A practitioner's Identifier PractitionerRole.identifier
location reference One of the locations at which this practitioner provides care PractitionerRole.location
( Location )
organization reference The identity of the organization the practitioner represents / acts on behalf of PractitionerRole.organization
( Organization )
phone token A value in a phone contact PractitionerRole.telecom.where(system='phone') PractitionerRole.contact.telecom.where(system='phone') 5 Resources
practitioner reference Practitioner that is able to provide the defined services for the organization PractitionerRole.practitioner
( Practitioner )
role token The practitioner can perform this role at for the organization PractitionerRole.code
service reference The list of healthcare services that this worker provides for this role's Organization/Location(s) PractitionerRole.healthcareService
( HealthcareService )
specialty token The practitioner has this specialty at an organization PractitionerRole.specialty
telecom token The value in any kind of contact PractitionerRole.telecom PractitionerRole.contact.telecom 5 Resources