FHIR Artifacts > Structure Definition: PractitionerRole Profile

Structure Definition: PractitionerRole Profile

Canonical URL:http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole

Simplifier project page: PractitionerRole

Derived from: PractitionerRole (CA:eReC)

Base FHIR: PractitionerRole (R4)

Formal Views of Profile Content

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

Differential View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
id0..0string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..0string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..0boolean
textΣ0..1string
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ0..1boolean
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeΣ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uriFixed Value
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
healthcareServiceI0..*Reference(HealthcareService)
id0..1string
extensionI0..*Extension
systemS Σ I0..1codeBinding
valueΣ1..1string
useS Σ ?!0..1codeBinding
rankS Σ0..1positiveInt
periodΣ I0..1Period
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
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
id0..0string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..0string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..0boolean
textΣ0..1string
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ0..1boolean
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeΣ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uriFixed Value
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
healthcareServiceI0..*Reference(HealthcareService)
id0..1string
extensionI0..*Extension
systemS Σ I0..1codeBinding
valueΣ1..1string
useS Σ ?!0..1codeBinding
rankS Σ0..1positiveInt
periodΣ I0..1Period
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)

Snapshot View

idΣ0..1string
id0..1string
extensionI0..*Extension
versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
implicitRulesΣ ?!0..1uri
language0..1codeBinding
text0..1Narrative
contained0..*Resource
extensionI0..*Extension
modifierExtension?! I0..*Extension
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
id0..1string
extensionI0..*Extension
id0..0string
extensionI0..*Extension
systemΣ0..1uri
versionΣ0..0string
codeΣ0..1code
displayΣ0..1string
userSelectedΣ0..0boolean
textΣ0..1string
systemΣ0..1uri
valueΣ0..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
activeS Σ0..1boolean
periodΣ I0..1Period
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uri
versionΣ0..1string
codeΣ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
id0..1string
extensionI0..*Extension
systemS Σ0..1uriFixed Value
versionΣ0..1string
codeS Σ0..1code
displayS Σ0..1string
userSelectedΣ0..1boolean
textΣ0..1string
id0..1string
extensionI0..*Extension
referenceS Σ I0..1string
typeΣ0..1uriBinding
id0..1string
extensionI0..*Extension
useΣ ?!0..1codeBinding
typeΣ0..1CodeableConceptBinding
systemS Σ1..1uri
valueS Σ1..1string
periodΣ I0..1Period
assignerΣ I0..1Reference(Organization)
displayΣ0..1string
healthcareServiceI0..*Reference(HealthcareService)
id0..1string
extensionI0..*Extension
systemS Σ I0..1codeBinding
valueΣ1..1string
useS Σ ?!0..1codeBinding
rankS Σ0..1positiveInt
periodΣ I0..1Period
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.meta1..
PractitionerRole.meta.profile1..
PractitionerRole.identifier..
PractitionerRole.identifier.type..
PractitionerRole.identifier.type.coding..
PractitionerRole.identifier.type.coding.id..0
PractitionerRole.identifier.type.coding.version..0
PractitionerRole.identifier.type.coding.userSelected..0
PractitionerRole.active..
PractitionerRole.practitionerReference(EReferralPractitioner)..
PractitionerRole.organizationReference(EReferralOrganization)..
PractitionerRole.code..
PractitionerRole.code.coding..
PractitionerRole.code.coding.system..
PractitionerRole.code.coding.display..
PractitionerRole.specialty..
PractitionerRole.specialty.coding..
PractitionerRole.specialty.coding.system..
PractitionerRole.specialty.coding.code..
PractitionerRole.specialty.coding.display..
PractitionerRole.locationReference(EReferralLocation)..
PractitionerRole.telecom..
PractitionerRole.telecom.rank..

JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-eReferral-profile-PractitionerRole",
    "url": "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole",
    "version": "1.0.0",
    "name": "EReferralPractitionerRole",
    "title": "PractitionerRole",
    "status": "draft",
    "description": "The PractitionerRole represents the activity (such as specialty and job title) and contact information that a Practitioner may perform at an organization/location.",
    "fhirVersion": "4.0.1",
    "kind": "resource",
    "abstract": false,
    "type": "PractitionerRole",
    "baseDefinition": "http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "PractitionerRole.meta",
                "path": "PractitionerRole.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.meta.profile",
                "path": "PractitionerRole.meta.profile",
                "comment": "#### **_` FOR eREFERRAL USAGE: The meta.profile = http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole|1.0.0 `_**\n\nIt is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time.  The list of profile URLs is a set.",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.identifier",
                "path": "PractitionerRole.identifier",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.identifier.type.coding.id",
                "path": "PractitionerRole.identifier.type.coding.id",
                "max": "0"
            },
            {
                "id": "PractitionerRole.identifier.type.coding.version",
                "path": "PractitionerRole.identifier.type.coding.version",
                "max": "0"
            },
            {
                "id": "PractitionerRole.identifier.type.coding.userSelected",
                "path": "PractitionerRole.identifier.type.coding.userSelected",
                "max": "0"
            },
            {
                "id": "PractitionerRole.active",
                "path": "PractitionerRole.active",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.practitioner",
                "path": "PractitionerRole.practitioner",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Practitioner"
                        ]
                    }
                ]
            },
            {
                "id": "PractitionerRole.organization",
                "path": "PractitionerRole.organization",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Organization"
                        ]
                    }
                ]
            },
            {
                "id": "PractitionerRole.code",
                "path": "PractitionerRole.code",
                "binding": {
                    "strength": "extensible"
                }
            },
            {
                "id": "PractitionerRole.code.coding.system",
                "path": "PractitionerRole.code.coding.system",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.code.coding.display",
                "path": "PractitionerRole.code.coding.display",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.specialty",
                "path": "PractitionerRole.specialty",
                "comment": "Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination.\n\n### To access the ValueSet <a href=\"https://tgateway.infoway-inforoute.ca/singlesubset.html?id=2.16.840.1.113883.3.239.12.38&versionid=20191129\" target=\"_blank\">click here</a>",
                "binding": {
                    "strength": "extensible"
                }
            },
            {
                "id": "PractitionerRole.specialty.coding",
                "path": "PractitionerRole.specialty.coding",
                "mustSupport": true,
                "binding": {
                    "strength": "extensible",
                    "valueSet": "http://ontariohealth.ca/fhir/ValueSet/qualified-expertise-role-type"
                }
            },
            {
                "id": "PractitionerRole.specialty.coding.system",
                "path": "PractitionerRole.specialty.coding.system",
                "fixedUri": "https://fhir.infoway-inforoute.ca/CodeSystem/snomedctcaextension",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.specialty.coding.code",
                "path": "PractitionerRole.specialty.coding.code",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.specialty.coding.display",
                "path": "PractitionerRole.specialty.coding.display",
                "mustSupport": true
            },
            {
                "id": "PractitionerRole.location",
                "path": "PractitionerRole.location",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-Location"
                        ]
                    }
                ]
            },
            {
                "id": "PractitionerRole.telecom.rank",
                "path": "PractitionerRole.telecom.rank",
                "mustSupport": true
            }
        ]
    }
}

STABILITY RISK: This profile is undergoing Ontario Health harmonization and may be adjusted as part of this process (e.g., adjustments to Must Support obligations).

Usage

The PractitionerRole resource is used to represent the activity (such as specialty and job title) and contact information that a Practitioner may perform at an organization/location.

PractitionerRole is used in a variety of ways in an eReferral process:

  • In an referral ServiceRequest it is used to represent
    • the Patient's general pracitioner
    • the Requester of a referral
    • a provider participating in an Appointment
    • etc.

Important:

  • The values recommended for Reference.display in this profile were carefully selected to ensure that if only PractitionerRole is retrieved (without retrieving Practitioner, Organization, Location or Endpoint), there is sufficient information presented, for most use cases
  • Any elements that are duplicated with the Practitioner resource (i.e., telecom, address) as it relates to providing a service should be recorded in PractitionerRole instead of Practitioner

Notes

.id

  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing a message Bundle for transmission via Direct Messaging, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-eReferral-profile-PractitionerRole|1.0.0

.identifier

  • business identifier(s) that are specific to this PractitionerRole
  • identifiers corresponding to clinician qualifications (such as CPSO number) SHOULD be included in the Practitioner resource not PractitionerRole

.practitioner

  • identifies the Practitioner that is able to provide the defined services for the organization, when provided
  • .practitioner.reference SHOULD be populated with a reference to a Practitioner resource:
  • .practitioner.display SHOULD be populated with the Practitioner's full name
  • if the information is being transmitted via messaging, the referenced resource SHALL be included in the message as a Bundle.entry

.organization

  • identifies an organization where the Practitioner performs the services, when provided:
  • .organization.reference SHALL be populated with a reference to a Organization resource
  • .organization.display SHOULD be populated with the Organization's name
  • if the information is being transmitted via messaging, the referenced resource SHALL be included in the message as a Bundle.entry

.code

  • identifies the roles (or "job titles") that the Practitioner performs at the organization
  • .code.coding SHOULD include a code, system and display name from PractitionerRole
  • .code.text SHOULD always include a text description of the job title

.specialty

.location

  • identifies locations where the Practitioner performs services for the Organization, when provided:
  • .locaton.reference SHOULD be populated with a reference to a Organization resource
  • .location.display SHOULD be populated with the full resolvable address of the location (e.g., via Google Maps)
  • if the information is being transmitted via messaging, the referenced resource SHALL be included in the message as a Bundle.entry

.telecom

  • provides contact information for Practitioner in this role
  • .use will typically be populated with "work"