Release 4B Snapshot #1

This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

8.5 Resource PractitionerRole - Content

Patient Administration Work GroupMaturity Level: 2 Trial UseSecurity 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.

PractitionerRole covers the recording of the location and types of services that Practitioners are able to provide for an organization.

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 PractitionerRole instance should be created.

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).

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, Account, AdverseEvent, AllergyIntolerance, Appointment, AppointmentResponse, AuditEvent, Basic, BiologicallyDerivedProduct, CarePlan, CareTeam, CatalogEntry, ChargeItem, Claim, ClaimResponse, ClinicalImpression, Communication, CommunicationRequest, Composition, Condition, Consent, Contract, CoverageEligibilityRequest, CoverageEligibilityResponse, DetectedIssue, DeviceRequest, DeviceUseStatement, DiagnosticReport, DocumentManifest, DocumentReference, Encounter, EnrollmentRequest, EnrollmentResponse, EpisodeOfCare, ExplanationOfBenefit, Flag, Goal, Group, ImagingStudy, Immunization, Invoice, Linkage, List, MeasureReport, Media, MedicationAdministration, MedicationDispense, MedicationRequest, MedicationStatement, MedicinalProductDefinition, MessageHeader, NutritionOrder, Observation, Patient, PaymentNotice, PaymentReconciliation, Procedure, Provenance, QuestionnaireResponse, RequestGroup, ResearchStudy, RiskAssessment, Schedule, ServiceRequest, Specimen, SupplyDelivery, SupplyRequest, Task, VerificationResult and VisionPrescription.

This resource does not implement any patterns.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole TUDomainResourceRoles/organizations the practitioner is associated with
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... 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)
... organization Σ0..1Reference(Organization)Organization where the roles are available
... code Σ0..*CodeableConceptRoles which this practitioner may perform
PractitionerRole (Example)
... specialty Σ0..*CodeableConceptSpecific specialty of the practitioner
Practice Setting Code Value Set (Preferred)
... location Σ0..*Reference(Location)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 Σ0..*ContactPointContact details that are specific to the role/location/service
... availableTime 0..*BackboneElementTimes the Service Site is available
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
DaysOfWeek (Required)
.... 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
.... 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 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

UML Diagram (Legend)

PractitionerRole (DomainResource)Business Identifiers that are specific to a role/locationidentifier : Identifier [0..*]Whether this practitioner role record is in active useactive : boolean [0..1]The period during which the person is authorized to act as a practitioner in these role(s) for the organizationperiod : Period [0..1]Practitioner that is able to provide the defined services for the organizationpractitioner : Reference [0..1] « Practitioner »The organization where the Practitioner performs the roles associatedorganization : Reference [0..1] « Organization »Roles which this practitioner is authorized to perform for the organizationcode : CodeableConcept [0..*] « null (Strength=Example)PractitionerRole?? »Specific specialty of the practitionerspecialty : CodeableConcept [0..*] « null (Strength=Preferred)PracticeSettingCodeValueSet? »The location(s) at which this practitioner provides carelocation : Reference [0..*] « Location »The list of healthcare services that this worker provides for this role's Organization/Location(s)healthcareService : Reference [0..*] « HealthcareService »Contact details that are specific to the role/location/servicetelecom : 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 available TimesavailabilityExceptions : string [0..1]Technical endpoints providing access to services operated for the practitioner with this roleendpoint : Reference [0..*] « Endpoint »AvailableTimeIndicates which days of the week are available between the start and end TimesdaysOfWeek : code [0..*] « null (Strength=Required)DaysOfWeek! »Is this always available? (hence times are irrelevant) e.g. 24 hour serviceallDay : boolean [0..1]The opening time of day. Note: If the AllDay flag is set, then this time is ignoredavailableStartTime : time [0..1]The closing time of day. Note: If the AllDay flag is set, then this time is ignoredavailableEndTime : time [0..1]NotAvailableThe reason that can be presented to the user as to why this time is not availabledescription : string [1..1]Service is not available (seasonally or for a public holiday) from this dateduring : Period [0..1]A collection of times the practitioner is available or performing this role at the location and/or healthcareserviceavailableTime[0..*]The practitioner is not available or performing this role during this period of time due to the provided reasonnotAvailable[0..*]

XML Template

<PractitionerRole xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business Identifiers that are specific to 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><!-- 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization --></practitioner>
 <organization><!-- 0..1 Reference(Organization) Organization where the roles are available --></organization>
 <code><!-- 0..* CodeableConcept Roles which this practitioner may perform  --></code>
 <specialty><!-- 0..* CodeableConcept Specific specialty of the practitioner --></specialty>
 <location><!-- 0..* Reference(Location) The location(s) at which this practitioner provides care --></location>
 <healthcareService><!-- 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s) --></healthcareService>
 <telecom><!-- 0..* ContactPoint Contact details that are specific to the role/location/service --></telecom>
 <availableTime>  <!-- 0..* Times the Service Site is available -->
  <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun -->
  <allDay value="[boolean]"/><!-- 0..1 Always available? e.g. 24 hour service -->
  <availableStartTime value="[time]"/><!-- 0..1 Opening time of day (ignored if allDay = true) -->
  <availableEndTime value="[time]"/><!-- 0..1 Closing time of day (ignored if allDay = true) -->
 </availableTime>
 <notAvailable>  <!-- 0..* Not available during this time due to provided reason -->
  <description value="[string]"/><!-- 1..1 Reason presented to the user explaining why time not available -->
  <during><!-- 0..1 Period Service not available from this date --></during>
 </notAvailable>
 <availabilityExceptions value="[string]"/><!-- 0..1 Description of availability exceptions -->
 <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with 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 }], // Business Identifiers that are specific to 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 is able to provide the defined 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) }], // The location(s) at which this practitioner provides care
  "healthcareService" : [{ Reference(HealthcareService) }], // The list of healthcare services that this worker provides for this role's Organization/Location(s)
  "telecom" : [{ ContactPoint }], // Contact details that are specific to the role/location/service
  "availableTime" : [{ // Times the Service Site is available
    "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun
    "allDay" : <boolean>, // Always available? e.g. 24 hour service
    "availableStartTime" : "<time>", // Opening time of day (ignored if allDay = true)
    "availableEndTime" : "<time>" // Closing time of day (ignored if allDay = true)
  }],
  "notAvailable" : [{ // Not available during this time due to provided reason
    "description" : "<string>", // R!  Reason presented to the user explaining why time not available
    "during" : { Period } // Service not available from this date
  }],
  "availabilityExceptions" : "<string>", // Description of availability exceptions
  "endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the practitioner with 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:PractitionerRole.identifier [ Identifier ], ... ; # 0..* Business Identifiers that are specific to a role/location
  fhir:PractitionerRole.active [ boolean ]; # 0..1 Whether this practitioner role record is in active use
  fhir:PractitionerRole.period [ Period ]; # 0..1 The period during which the practitioner is authorized to perform in these role(s)
  fhir:PractitionerRole.practitioner [ Reference(Practitioner) ]; # 0..1 Practitioner that is able to provide the defined services for the organization
  fhir:PractitionerRole.organization [ Reference(Organization) ]; # 0..1 Organization where the roles are available
  fhir:PractitionerRole.code [ CodeableConcept ], ... ; # 0..* Roles which this practitioner may perform
  fhir:PractitionerRole.specialty [ CodeableConcept ], ... ; # 0..* Specific specialty of the practitioner
  fhir:PractitionerRole.location [ Reference(Location) ], ... ; # 0..* The location(s) at which this practitioner provides care
  fhir:PractitionerRole.healthcareService [ Reference(HealthcareService) ], ... ; # 0..* The list of healthcare services that this worker provides for this role's Organization/Location(s)
  fhir:PractitionerRole.telecom [ ContactPoint ], ... ; # 0..* Contact details that are specific to the role/location/service
  fhir:PractitionerRole.availableTime [ # 0..* Times the Service Site is available
    fhir:PractitionerRole.availableTime.daysOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun
    fhir:PractitionerRole.availableTime.allDay [ boolean ]; # 0..1 Always available? e.g. 24 hour service
    fhir:PractitionerRole.availableTime.availableStartTime [ time ]; # 0..1 Opening time of day (ignored if allDay = true)
    fhir:PractitionerRole.availableTime.availableEndTime [ time ]; # 0..1 Closing time of day (ignored if allDay = true)
  ], ...;
  fhir:PractitionerRole.notAvailable [ # 0..* Not available during this time due to provided reason
    fhir:PractitionerRole.notAvailable.description [ string ]; # 1..1 Reason presented to the user explaining why time not available
    fhir:PractitionerRole.notAvailable.during [ Period ]; # 0..1 Service not available from this date
  ], ...;
  fhir:PractitionerRole.availabilityExceptions [ string ]; # 0..1 Description of availability exceptions
  fhir:PractitionerRole.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to services operated for the practitioner with this role
]

Changes since R3

PractitionerRole
PractitionerRole.availableTime.daysOfWeek
  • Change value set from http://hl7.org/fhir/ValueSet/days-of-week|4.0.0 to http://hl7.org/fhir/ValueSet/days-of-week|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

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

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole TUDomainResourceRoles/organizations the practitioner is associated with
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... 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)
... organization Σ0..1Reference(Organization)Organization where the roles are available
... code Σ0..*CodeableConceptRoles which this practitioner may perform
PractitionerRole (Example)
... specialty Σ0..*CodeableConceptSpecific specialty of the practitioner
Practice Setting Code Value Set (Preferred)
... location Σ0..*Reference(Location)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 Σ0..*ContactPointContact details that are specific to the role/location/service
... availableTime 0..*BackboneElementTimes the Service Site is available
.... daysOfWeek 0..*codemon | tue | wed | thu | fri | sat | sun
DaysOfWeek (Required)
.... 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
.... 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 0..*Reference(Endpoint)Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

UML Diagram (Legend)

PractitionerRole (DomainResource)Business Identifiers that are specific to a role/locationidentifier : Identifier [0..*]Whether this practitioner role record is in active useactive : boolean [0..1]The period during which the person is authorized to act as a practitioner in these role(s) for the organizationperiod : Period [0..1]Practitioner that is able to provide the defined services for the organizationpractitioner : Reference [0..1] « Practitioner »The organization where the Practitioner performs the roles associatedorganization : Reference [0..1] « Organization »Roles which this practitioner is authorized to perform for the organizationcode : CodeableConcept [0..*] « null (Strength=Example)PractitionerRole?? »Specific specialty of the practitionerspecialty : CodeableConcept [0..*] « null (Strength=Preferred)PracticeSettingCodeValueSet? »The location(s) at which this practitioner provides carelocation : Reference [0..*] « Location »The list of healthcare services that this worker provides for this role's Organization/Location(s)healthcareService : Reference [0..*] « HealthcareService »Contact details that are specific to the role/location/servicetelecom : 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 available TimesavailabilityExceptions : string [0..1]Technical endpoints providing access to services operated for the practitioner with this roleendpoint : Reference [0..*] « Endpoint »AvailableTimeIndicates which days of the week are available between the start and end TimesdaysOfWeek : code [0..*] « null (Strength=Required)DaysOfWeek! »Is this always available? (hence times are irrelevant) e.g. 24 hour serviceallDay : boolean [0..1]The opening time of day. Note: If the AllDay flag is set, then this time is ignoredavailableStartTime : time [0..1]The closing time of day. Note: If the AllDay flag is set, then this time is ignoredavailableEndTime : time [0..1]NotAvailableThe reason that can be presented to the user as to why this time is not availabledescription : string [1..1]Service is not available (seasonally or for a public holiday) from this dateduring : Period [0..1]A collection of times the practitioner is available or performing this role at the location and/or healthcareserviceavailableTime[0..*]The practitioner is not available or performing this role during this period of time due to the provided reasonnotAvailable[0..*]

XML Template

<PractitionerRole xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Business Identifiers that are specific to 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><!-- 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization --></practitioner>
 <organization><!-- 0..1 Reference(Organization) Organization where the roles are available --></organization>
 <code><!-- 0..* CodeableConcept Roles which this practitioner may perform  --></code>
 <specialty><!-- 0..* CodeableConcept Specific specialty of the practitioner --></specialty>
 <location><!-- 0..* Reference(Location) The location(s) at which this practitioner provides care --></location>
 <healthcareService><!-- 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s) --></healthcareService>
 <telecom><!-- 0..* ContactPoint Contact details that are specific to the role/location/service --></telecom>
 <availableTime>  <!-- 0..* Times the Service Site is available -->
  <daysOfWeek value="[code]"/><!-- 0..* mon | tue | wed | thu | fri | sat | sun -->
  <allDay value="[boolean]"/><!-- 0..1 Always available? e.g. 24 hour service -->
  <availableStartTime value="[time]"/><!-- 0..1 Opening time of day (ignored if allDay = true) -->
  <availableEndTime value="[time]"/><!-- 0..1 Closing time of day (ignored if allDay = true) -->
 </availableTime>
 <notAvailable>  <!-- 0..* Not available during this time due to provided reason -->
  <description value="[string]"/><!-- 1..1 Reason presented to the user explaining why time not available -->
  <during><!-- 0..1 Period Service not available from this date --></during>
 </notAvailable>
 <availabilityExceptions value="[string]"/><!-- 0..1 Description of availability exceptions -->
 <endpoint><!-- 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with 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 }], // Business Identifiers that are specific to 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 is able to provide the defined 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) }], // The location(s) at which this practitioner provides care
  "healthcareService" : [{ Reference(HealthcareService) }], // The list of healthcare services that this worker provides for this role's Organization/Location(s)
  "telecom" : [{ ContactPoint }], // Contact details that are specific to the role/location/service
  "availableTime" : [{ // Times the Service Site is available
    "daysOfWeek" : ["<code>"], // mon | tue | wed | thu | fri | sat | sun
    "allDay" : <boolean>, // Always available? e.g. 24 hour service
    "availableStartTime" : "<time>", // Opening time of day (ignored if allDay = true)
    "availableEndTime" : "<time>" // Closing time of day (ignored if allDay = true)
  }],
  "notAvailable" : [{ // Not available during this time due to provided reason
    "description" : "<string>", // R!  Reason presented to the user explaining why time not available
    "during" : { Period } // Service not available from this date
  }],
  "availabilityExceptions" : "<string>", // Description of availability exceptions
  "endpoint" : [{ Reference(Endpoint) }] // Technical endpoints providing access to services operated for the practitioner with 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:PractitionerRole.identifier [ Identifier ], ... ; # 0..* Business Identifiers that are specific to a role/location
  fhir:PractitionerRole.active [ boolean ]; # 0..1 Whether this practitioner role record is in active use
  fhir:PractitionerRole.period [ Period ]; # 0..1 The period during which the practitioner is authorized to perform in these role(s)
  fhir:PractitionerRole.practitioner [ Reference(Practitioner) ]; # 0..1 Practitioner that is able to provide the defined services for the organization
  fhir:PractitionerRole.organization [ Reference(Organization) ]; # 0..1 Organization where the roles are available
  fhir:PractitionerRole.code [ CodeableConcept ], ... ; # 0..* Roles which this practitioner may perform
  fhir:PractitionerRole.specialty [ CodeableConcept ], ... ; # 0..* Specific specialty of the practitioner
  fhir:PractitionerRole.location [ Reference(Location) ], ... ; # 0..* The location(s) at which this practitioner provides care
  fhir:PractitionerRole.healthcareService [ Reference(HealthcareService) ], ... ; # 0..* The list of healthcare services that this worker provides for this role's Organization/Location(s)
  fhir:PractitionerRole.telecom [ ContactPoint ], ... ; # 0..* Contact details that are specific to the role/location/service
  fhir:PractitionerRole.availableTime [ # 0..* Times the Service Site is available
    fhir:PractitionerRole.availableTime.daysOfWeek [ code ], ... ; # 0..* mon | tue | wed | thu | fri | sat | sun
    fhir:PractitionerRole.availableTime.allDay [ boolean ]; # 0..1 Always available? e.g. 24 hour service
    fhir:PractitionerRole.availableTime.availableStartTime [ time ]; # 0..1 Opening time of day (ignored if allDay = true)
    fhir:PractitionerRole.availableTime.availableEndTime [ time ]; # 0..1 Closing time of day (ignored if allDay = true)
  ], ...;
  fhir:PractitionerRole.notAvailable [ # 0..* Not available during this time due to provided reason
    fhir:PractitionerRole.notAvailable.description [ string ]; # 1..1 Reason presented to the user explaining why time not available
    fhir:PractitionerRole.notAvailable.during [ Period ]; # 0..1 Service not available from this date
  ], ...;
  fhir:PractitionerRole.availabilityExceptions [ string ]; # 0..1 Description of availability exceptions
  fhir:PractitionerRole.endpoint [ Reference(Endpoint) ], ... ; # 0..* Technical endpoints providing access to services operated for the practitioner with this role
]

Changes since Release 3

PractitionerRole
PractitionerRole.availableTime.daysOfWeek
  • Change value set from http://hl7.org/fhir/ValueSet/days-of-week|4.0.0 to http://hl7.org/fhir/ValueSet/days-of-week|4.3.0-snapshot1

See the Full Difference for further information

This analysis is available as XML or JSON.

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

 

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

PathDefinitionTypeReference
PractitionerRole.code Examplehttp://hl7.org/fhir/ValueSet/practitioner-role
PractitionerRole.specialty PreferredPracticeSettingCodeValueSet
PractitionerRole.availableTime.daysOfWeek RequiredDaysOfWeek

  • 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.
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. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
activetokenWhether this practitioner role record is in active usePractitionerRole.active
datedateThe period during which the practitioner is authorized to perform in these role(s)PractitionerRole.period
emailtokenA value in an email contactPractitionerRole.telecom.where(system='email')
endpointreferenceTechnical endpoints providing access to services operated for the practitioner with this rolePractitionerRole.endpoint
(Endpoint)
identifiertokenA practitioner's IdentifierPractitionerRole.identifier
locationreferenceOne of the locations at which this practitioner provides carePractitionerRole.location
(Location)
organizationreferenceThe identity of the organization the practitioner represents / acts on behalf ofPractitionerRole.organization
(Organization)
phonetokenA value in a phone contactPractitionerRole.telecom.where(system='phone')
practitionerreferencePractitioner that is able to provide the defined services for the organizationPractitionerRole.practitioner
(Practitioner)
roletokenThe practitioner can perform this role at for the organizationPractitionerRole.code
servicereferenceThe list of healthcare services that this worker provides for this role's Organization/Location(s)PractitionerRole.healthcareService
(HealthcareService)
specialtytokenThe practitioner has this specialty at an organizationPractitionerRole.specialty
telecomtokenThe value in any kind of contactPractitionerRole.telecom