Work in progress.
This section of the Implementation Guide is subject to change.

Profile EEBasePractitionerRole


Profile Purpose

PractitionerRole resource allows exchange of specific set of roles, specialties and services that a practitioner may perform at an organisation for a period of time. EEBase PractitionerRole profile defines the constraints and extensions for the minimal set of data to query and retrieve information for practitioner role in Estonian context.

Example usage scenarios

  • Query for practitioners in the organization with a certain specialty using the query parameter PractitionerRole.specialty
  • Query for practitioners who are active in their role with query parameter PractitionerRole.active
  • Exchange PractitionerRole information within a FHIR document or message


Snapshot View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
activeS Σ1..1boolean
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
codeS Σ0..*CodeableConceptBinding
specialtyS Σ0..*CodeableConceptBinding
locationΣ I0..*Reference(EEBase Location)
healthcareServiceI0..*Reference(EEBase HealthcareService)
telecomΣ I0..*ContactPoint
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)

Differential View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
activeS Σ1..1boolean
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
codeS Σ0..*CodeableConceptBinding
specialtyS Σ0..*CodeableConceptBinding
locationΣ I0..*Reference(EEBase Location)
healthcareServiceI0..*Reference(EEBase HealthcareService)
telecomΣ I0..*ContactPoint
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)

Hybrid View

idΣ0..1string
metaΣ0..1Meta
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
identifierΣ0..*Identifier
activeS Σ1..1boolean
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
codeS Σ0..*CodeableConceptBinding
specialtyS Σ0..*CodeableConceptBinding
locationΣ I0..*Reference(EEBase Location)
healthcareServiceI0..*Reference(EEBase HealthcareService)
telecomΣ I0..*ContactPoint
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
daysOfWeek0..*codeBinding
allDay0..1boolean
availableStartTime0..1time
availableEndTime0..1time
id0..1string
extensionI0..*Extension
modifierExtensionΣ ?! I0..*Extension
description1..1string
duringI0..1Period
availabilityExceptions0..1string
endpointI0..*Reference(Endpoint)

Table View

PractitionerRole..
PractitionerRole.active1..
PractitionerRole.practitionerReference(EEBase Practitioner)1..
PractitionerRole.practitioner.reference..
PractitionerRole.organizationReference(EEBase Organization)1..
PractitionerRole.organization.reference..
PractitionerRole.code..
PractitionerRole.specialty..
PractitionerRole.locationReference(EEBase Location)..
PractitionerRole.healthcareServiceReference(EEBase HealthcareService)..

XML View

<StructureDefinition xmlns="http://hl7.org/fhir">
    <id value="EEBase-PractitionerRole" />
    <meta>
        <lastUpdated value="2022-09-26T08:01:30.1809509+00:00" />
    </meta>
    <url value="https://hl7.ee/fhir/StructureDefinition/EEBase-PractitionerRole" />
    <version value="1.0.0" />
    <name value="EEBasePractitionerRole" />
    <title value="EEBase PractitionerRole" />
    <status value="draft" />
    <date value="2022-09-26T08:01:55.1744066+00:00" />
    <publisher value="HL7 EE" />
    <fhirVersion value="4.0.1" />
    <kind value="resource" />
    <abstract value="false" />
    <type value="PractitionerRole" />
    <baseDefinition value="http://hl7.org/fhir/StructureDefinition/PractitionerRole" />
    <derivation value="constraint" />
    <differential>
        <element id="PractitionerRole.active">
            <path value="PractitionerRole.active" />
            <min value="1" />
            <mustSupport value="true" />
        </element>
        <element id="PractitionerRole.practitioner">
            <path value="PractitionerRole.practitioner" />
            <min value="1" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://hl7.ee/fhir/StructureDefinition/EEBase-Practitioner" />
            </type>
            <mustSupport value="true" />
        </element>
        <element id="PractitionerRole.practitioner.reference">
            <path value="PractitionerRole.practitioner.reference" />
            <mustSupport value="true" />
        </element>
        <element id="PractitionerRole.organization">
            <path value="PractitionerRole.organization" />
            <min value="1" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://hl7.ee/fhir/StructureDefinition/EEBase-Organization" />
            </type>
            <mustSupport value="true" />
        </element>
        <element id="PractitionerRole.organization.reference">
            <path value="PractitionerRole.organization.reference" />
            <mustSupport value="true" />
        </element>
        <element id="PractitionerRole.code">
            <path value="PractitionerRole.code" />
            <mustSupport value="true" />
            <binding>
                <strength value="required" />
                <valueSet value="http://hl7.ee/fhir/ValueSet/practitioner-role" />
            </binding>
        </element>
        <element id="PractitionerRole.specialty">
            <path value="PractitionerRole.specialty" />
            <mustSupport value="true" />
            <binding>
                <strength value="required" />
                <valueSet value="http://hl7.ee/fhir/ValueSet/c80-practice-codes" />
            </binding>
        </element>
        <element id="PractitionerRole.location">
            <path value="PractitionerRole.location" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://hl7.ee/fhir/StructureDefinition/EEBase-Location" />
            </type>
        </element>
        <element id="PractitionerRole.healthcareService">
            <path value="PractitionerRole.healthcareService" />
            <type>
                <code value="Reference" />
                <targetProfile value="https://hl7.ee/fhir/StructureDefinition/EEBase-HealthcareService" />
            </type>
        </element>
    </differential>
</StructureDefinition>

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "EEBase-PractitionerRole",
    "meta": {
        "lastUpdated": "2022-09-26T08:01:30.1809509+00:00"
    },
    "url": "https://hl7.ee/fhir/StructureDefinition/EEBase-PractitionerRole",
    "version": "1.0.0",
    "name": "EEBasePractitionerRole",
    "title": "EEBase PractitionerRole",
    "status": "draft",
    "date": "2022-09-26T08:01:55.1744066+00:00",
    "publisher": "HL7 EE",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "PractitionerRole",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "PractitionerRole.active",
                "path": "PractitionerRole.active",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.practitioner",
                "path": "PractitionerRole.practitioner",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://hl7.ee/fhir/StructureDefinition/EEBase-Practitioner"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.practitioner.reference",
                "path": "PractitionerRole.practitioner.reference",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.organization",
                "path": "PractitionerRole.organization",
                "min": 1,
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://hl7.ee/fhir/StructureDefinition/EEBase-Organization"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.organization.reference",
                "path": "PractitionerRole.organization.reference",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.code",
                "path": "PractitionerRole.code",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.ee/fhir/ValueSet/practitioner-role"
                }
            },
            {
                "id": "PractitionerRole.specialty",
                "path": "PractitionerRole.specialty",
                "mustSupport": true,
                "binding": {
                    "strength": "required",
                    "valueSet": "http://hl7.ee/fhir/ValueSet/c80-practice-codes"
                }
            },
            {
                "id": "PractitionerRole.location",
                "path": "PractitionerRole.location",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://hl7.ee/fhir/StructureDefinition/EEBase-Location"
                        ]
                    }
                ]
            },
            {
                "id": "PractitionerRole.healthcareService",
                "path": "PractitionerRole.healthcareService",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "https://hl7.ee/fhir/StructureDefinition/EEBase-HealthcareService"
                        ]
                    }
                ]
            }
        ]
    }
}


identifier

Business identifier(s) for which this specific PractitionerRole is known.


active (Must support)

This is a mandatory data element.

Whether this practitioner role record is in active use.


period

The period of time during which the person is authorised to act as a practitioner in these role(s) for the organization.


practitioner (Must support)

This is a mandatory data element.

The practitioner to which the role relates as a reference to EEBase Practitioner.


organization (Must support)

This is a mandatory data element.

The organization where the practitioner performs the role(s) as a reference to EEBase Organization.


code (Must support)

A coded value of the role this practitioner is authorized to perform for the organization.

The required ValueSet used in this case is practitioner-role, meaning these values MUST be exchanged. Local value sets SHOULD be mapped to the required ValueSet.


speciality (Must support)

A code representing the specific speciality of the practitioner.

The required ValueSet used in this case is EEBaseHealthcareServiceSpeciality, meaning these values MUST be exchanged. Local value sets SHOULD be mapped to the required ValueSet.


location

The location(s) within the organisation referenced in EEBase Location at which the practitioner performs the role(s).


healthcareService

The list of health care services practitioner in this role is providing on behalf of the organization/location as a reference to EEBase HealthcareService.


telecom

A contact detail specific to the role/location/service (e.g. a telephone number or an email address) by which the practitioner may be contacted.


availableTime

A collection of times the practitioner is available or performing the role(s) at the location.


notAvailable

Not available during this time due to provided reason.


availabilityExceptions

Description of all possible exceptions to normal site availability as detailed in availableTime and notAvailable, e.g. public holidays.


endpoint

Please note that this data element includes reference to Endpoint resource which has not been covered (profiled) in this Implementation Guide.
Technical endpoints providing access to services operated for the organization by reference to Endpoint.