This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
(v5.0.0-snapshot1:
R5
Snapshot
#1).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
Patient
Administration
Work
Group
|
Maturity Level : 2 | 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.
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
Annotation
,
Signature
,
Account
,
ActivityDefinition
,
AdverseEvent
,
AllergyIntolerance
,
Appointment
,
AppointmentResponse
,
ArtifactAssessment
,
AuditEvent
,
Basic
,
BiologicallyDerivedProduct
,
CarePlan
,
CareTeam
,
CatalogEntry
,
ChargeItem
,
Claim
,
ClaimResponse
,
ClinicalImpression
,
Communication
,
CommunicationRequest
,
Composition
,
Condition
,
Consent
,
Contract
,
CoverageEligibilityRequest
,
CoverageEligibilityResponse
,
DetectedIssue
,
DeviceDispense
,
DeviceRequest
,
DeviceUseStatement
DeviceUsage
,
DiagnosticReport
,
DocumentManifest
,
DocumentReference
,
Encounter
,
EnrollmentRequest
,
EnrollmentResponse
,
EpisodeOfCare
,
ExplanationOfBenefit
,
Flag
,
Goal
,
Group
,
ImagingSelection
,
ImagingStudy
,
Immunization
,
Invoice
,
Linkage
,
List
,
MeasureReport
,
Media
,
MedicationAdministration
,
MedicationDispense
,
MedicationRequest
,
MedicationStatement
MedicationUsage
,
MedicinalProduct
MedicinalProductDefinition
,
MessageHeader
,
NutritionIntake
,
NutritionOrder
,
Observation
,
ObservationDefinition
,
Patient
,
PaymentNotice
,
PaymentReconciliation
,
PlanDefinition
,
Procedure
,
Provenance
,
QuestionnaireResponse
,
RequestGroup
,
ResearchStudy
,
RiskAssessment
,
Schedule
,
ServiceRequest
,
Specimen
,
SpecimenDefinition
,
SupplyDelivery
,
SupplyRequest
,
Task
,
VerificationResult
and
VisionPrescription
.
This resource implements the Participant pattern.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Roles/organizations
the
practitioner
is
associated
with
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
Business
Identifiers
that
are
specific
to
a
role/location
|
|
Σ | 0..1 | boolean | Whether this practitioner role record is in active use |
|
Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) |
|
Σ | 0..1 | Reference ( Practitioner ) | Practitioner that is able to provide the defined services for the organization |
|
Σ | 0..1 | Reference ( Organization ) | Organization where the roles are available |
|
Σ | 0..* | CodeableConcept |
Roles
which
this
practitioner
may
perform
(
Example
)
|
|
Σ | 0..* | CodeableConcept |
Specific
specialty
of
the
practitioner
(
Preferred
)
|
|
Σ | 0..* | Reference ( Location ) |
The
location(s)
at
which
this
practitioner
provides
care
|
|
0..* | Reference ( HealthcareService ) |
The
list
of
healthcare
services
that
this
worker
provides
for
this
role's
Organization/Location(s)
|
|
|
Σ | 0..* | ContactPoint |
Contact
details
that
are
specific
to
the
role/location/service
|
|
0..* | BackboneElement |
Times
the
Service
Site
is
available
|
|
|
0..* | code |
mon
|
tue
|
wed
|
thu
|
fri
|
sat
|
sun
DaysOfWeek ( Required ) |
|
|
0..1 | boolean | Always available? e.g. 24 hour service | |
|
0..1 | time | Opening time of day (ignored if allDay = true) | |
|
0..1 | time | Closing time of day (ignored if allDay = true) | |
|
0..* | BackboneElement |
Not
available
during
this
time
due
to
provided
reason
|
|
|
1..1 | string | Reason presented to the user explaining why time not available | |
|
0..1 | Period | Service not available from this date | |
|
0..1 | string | Description of availability exceptions | |
|
0..* | Reference ( Endpoint ) |
Technical
endpoints
providing
access
to
services
operated
for
the
practitioner
with
this
role
|
|
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<PractitionerRole xmlns="http://hl7.org/fhir"><!-- 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> <</specialty><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
{
"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/> .[ 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: fhir: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 | |
|
|
|
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
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
TU | DomainResource |
Roles/organizations
the
practitioner
is
associated
with
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
|
|
Σ | 0..* | Identifier |
Business
Identifiers
that
are
specific
to
a
role/location
|
|
Σ | 0..1 | boolean | Whether this practitioner role record is in active use |
|
Σ | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) |
|
Σ | 0..1 | Reference ( Practitioner ) | Practitioner that is able to provide the defined services for the organization |
|
Σ | 0..1 | Reference ( Organization ) | Organization where the roles are available |
|
Σ | 0..* | CodeableConcept |
Roles
which
this
practitioner
may
perform
(
Example
)
|
|
Σ | 0..* | CodeableConcept |
Specific
specialty
of
the
practitioner
(
Preferred
)
|
|
Σ | 0..* | Reference ( Location ) |
The
location(s)
at
which
this
practitioner
provides
care
|
|
0..* | Reference ( HealthcareService ) |
The
list
of
healthcare
services
that
this
worker
provides
for
this
role's
Organization/Location(s)
|
|
|
Σ | 0..* | ContactPoint |
Contact
details
that
are
specific
to
the
role/location/service
|
|
0..* | BackboneElement |
Times
the
Service
Site
is
available
|
|
|
0..* | code |
mon
|
tue
|
wed
|
thu
|
fri
|
sat
|
sun
DaysOfWeek ( Required ) |
|
|
0..1 | boolean | Always available? e.g. 24 hour service | |
|
0..1 | time | Opening time of day (ignored if allDay = true) | |
|
0..1 | time | Closing time of day (ignored if allDay = true) | |
|
0..* | BackboneElement |
Not
available
during
this
time
due
to
provided
reason
|
|
|
1..1 | string | Reason presented to the user explaining why time not available | |
|
0..1 | Period | Service not available from this date | |
|
0..1 | string | Description of availability exceptions | |
|
0..* | Reference ( Endpoint ) |
Technical
endpoints
providing
access
to
services
operated
for
the
practitioner
with
this
role
|
|
Documentation
for
this
format
|
||||
XML Template
<PractitionerRole xmlns="http://hl7.org/fhir"><!-- 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> <</specialty><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
{
"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/> .[ 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: fhir: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 | |
|
|
|
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 spreadsheet version & the dependency analysis a
| Path | Definition | Type | Reference |
|---|---|---|---|
| PractitionerRole.code |
|
Example |
|
| PractitionerRole.specialty |
|
Preferred |
|
| PractitionerRole.availableTime.daysOfWeek |
|
Required | DaysOfWeek |
Search parameters for 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 N | token | Whether this practitioner role record is in active use | PractitionerRole.active | |
| date | date | The period during which the practitioner is authorized to perform in these role(s) | PractitionerRole.period | |
| token | A value in an email contact | PractitionerRole.telecom.where(system='email') |
|
|
| 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') |
|
| 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 |
|