Visit the HL7 website
Visit the FHIR website

Pan-Canadian Patient Summary (PS-CA) v2.1.0 DFT

2.1.0-DFT   Canada flag
  • Index
  • Home
  • Business Context
    • Use Cases
    • Requirements
    • Privacy and Security Guidance
    • Relationship to Other Specifications
  • Technical Context
    • Overview
    • Sequence Diagrams
    • Core Interoperability Specification Requirements
    • Conformance and Specification Guidance
    • General Principles & Design
  • FHIR Artifacts
    • FHIR Artifacts
    • PS-CA Library of Profiles
    • Bundle (PS-CA)
    • Composition (PS-CA)
    • Patient (PS-CA)
    • Medication (PS-CA)
    • MedicationRequest (PS-CA)
    • MedicationStatement (PS-CA)
    • AllergyIntolerance (PS-CA)
    • Condition (PS-CA)
    • Procedure (PS-CA)
    • Immunization (PS-CA)
    • DiagnosticReport (PS-CA)
    • ImagingStudy (PS-CA)
    • Organization-Lab (PS-CA)
    • Practitioner-Lab (PS-CA)
    • PractitionerRole-Lab (PS-CA)
    • Observation Laboratory/Pathology (PS-CA)
    • Observation Radiology (PS-CA)
    • Observation Social History (PS-CA)
    • Observation Alcohol Use (PS-CA)
    • Observation Tobacco Use (PS-CA)
    • Family Member History (PS-CA)
    • Data Type Profiles
    • Extensions
    • Examples
    • Terminology
    • Downloads
  • Change Log
    1. Index
    2. FHIR Artifacts
    3. PractitionerRole-Lab (PS-CA)

DFT - For a full list of available versions, see the Directory of published versions

PractitionerRole-Lab (PS-CA)

Links

Profile

practitionerrole-lab-ca-ps

Derived from

http://hl7.org/fhir/StructureDefinition/PractitionerRole

Examples

Description

This profile represents the constraints applied to the PractitionerRole resource by the PS-CA project to represent a practitioner in a role acting as an observer for observation results for a specified organization. It is informed by the constraints of the PractitionerRole IPS-UV profile and the Canadian Baseline Profile to allow for cross-border and cross-jurisdiction sharing of details that support Diagnostic Result Information.

References to this resource

DiagnosticReportPSCA, ObservationResultsLaboratoryPathologyPSCA, ObservationResultsRadiologyPSCA

Resource Content

  • Tree view
  • Overview
  • XML
  • JSON
PractitionerRoleLabPSCA (PractitionerRole)CPractitionerRole
There are no (further) constraints on this element
Element id
PractitionerRole
Short description

Roles/organizations the practitioner is associated with

Definition

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

Data type

PractitionerRole

Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: ServiceSiteProvider
idΣ0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.id
Short description

Logical id of this artifact

Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Data type

string

metaΣ0..1Meta
There are no (further) constraints on this element
Element id
PractitionerRole.meta
Short description

Metadata about the resource

Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Data type

Meta

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
implicitRulesΣ ?!0..1uri
There are no (further) constraints on this element
Element id
PractitionerRole.implicitRules
Short description

A set of rules under which this content was created

Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
language0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.language
Short description

Language of the resource content

Definition

The base language in which the resource is written.

Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Data type

code

Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
text0..1Narrative
There are no (further) constraints on this element
Element id
PractitionerRole.text
Short description

Text summary of the resource, for human interpretation

Alternate names

narrative, html, xhtml, display

Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Data type

Narrative

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
contained0..*Resource
There are no (further) constraints on this element
Element id
PractitionerRole.contained
Short description

Contained, inline Resources

Alternate names

inline resources, anonymous resources, contained resources

Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Data type

Resource

Mappings
  • rim: N/A
extensionC0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.extension
Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
modifierExtension?! C0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.modifierExtension
Short description

Extensions that cannot be ignored

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
identifierΣ0..*IdentifierCABaselineElement id
PractitionerRole.identifier
Short description

An identifier intended for computation

Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Requirements

Often, specific identities are assigned for the agent.

Data type

IdentifierCABaseline

Conditions

The cardinality or value of this element may be affected by these constraints: ele-1

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: .id
  • servd: ./Identifiers
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
activeΣ0..1boolean
There are no (further) constraints on this element
Element id
PractitionerRole.active
Short description

Whether this practitioner role record is in active use

Definition

Whether this practitioner role record is in active use.

Requirements

Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use.

Comments

If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Data type

boolean

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • v2: STF-7
  • rim: .statusCode
periodΣ0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.period
Short description

The period during which the practitioner is authorized to perform in these role(s)

Definition

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

Requirements

Even after the agencies is revoked, the fact that it existed must still be recorded.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.done[x]
  • v2: PRD-8/9 / PRA-5.4
  • rim: .performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
practitionerΣ0..1Reference(PractitionerLabPSCA)Element id
PractitionerRole.practitioner
Short description

Practitioner that is able to provide the defined services for the organization

Definition

Practitioner that is able to provide the defined services for the organization.

Data type

Reference(PractitionerLabPSCA)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .player
organizationΣ0..1Reference(OrganizationLabPSCA)Element id
PractitionerRole.organization
Short description

Organization where the roles are available

Definition

The organization where the Practitioner performs the roles associated.

Comments

While IPS-UV considers PractitionerRole.organization a Must Support element, a number of jurisdictional systems may not capture the organization the practitioner is performing that role for, in the scope of a practitioner that is the performer of an observation or diagnostic report. Further feedback is required on whether these systems are still expected to be able to demonstrate they can construct this element when developing a patient summary instance that includes diagnostic result information.

Data type

Reference(OrganizationLabPSCA)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .scoper
codeΣ0..*CodeableConceptPSCABindingElement id
PractitionerRole.code
Short description

Concept - reference to a terminology or just text

Definition

Roles which this practitioner is authorized to perform for the organization.

Requirements

Need to know what authority the practitioner has - what can they do?

Comments

For all CodeableConcepts, at least one of coding or text must be present. If coding contains only a display value (no code) then CodeableConcept must include text.

Data type

CodeableConceptPSCA

Binding

A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.

HealthcareProviderRoleType (preferred)

Additional bindings
  • HealthcareProfessionalRolesUvIps (candidate)

    Healthcare professional role codes from International Standard Classification of Occupations (ISCO) utilized in IPS. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that are proposed for international exchange in IPS. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology.

Conditions

The cardinality or value of this element may be affected by these constraints: ele-1

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
  • rim: .code
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
specialtyΣ0..*CodeableConceptElement id
PractitionerRole.specialty
Short description

PractitionerSpecialty

Definition

Specific specialty of the practitioner.

Comments

Work is underway to define the pan-Canadian terminology that will be preferred and/or socialized for PractitionerRole.specialty

Data type

CodeableConcept

Binding

Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.

PractitionerSpecialty (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRA-5
  • rim: .player.HealthCareProvider[@classCode = 'PROV'].code
  • servd: ./Specialty
locationΣ0..*Reference(Location)
There are no (further) constraints on this element
Element id
PractitionerRole.location
Short description

The location(s) at which this practitioner provides care

Definition

The location(s) at which this practitioner provides care.

Data type

Reference(Location)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.where[x]
  • rim: .performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)
healthcareService0..*Reference(HealthcareService)
There are no (further) constraints on this element
Element id
PractitionerRole.healthcareService
Short description

The list of healthcare services that this worker provides for this role's Organization/Location(s)

Definition

The list of healthcare services that this worker provides for this role's Organization/Location(s).

Data type

Reference(HealthcareService)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: EDU-2 / AFF-3
  • rim: .player.QualifiedEntity[@classCode = 'QUAL'].code
telecomΣ0..*ContactPoint
There are no (further) constraints on this element
Element id
PractitionerRole.telecom
Short description

Contact details that are specific to the role/location/service

Definition

Contact details that are specific to the role/location/service.

Requirements

Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these.

Data type

ContactPoint

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .telecom
availableTime0..*BackboneElement
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime
Short description

Times the Service Site is available

Definition

A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.

Comments

More detailed availability information may be provided in associated Schedule/Slot resources.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.id
Short description

Unique id for inter-element referencing

Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Data type

string

Mappings
  • rim: n/a
extensionC0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.extension
Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
modifierExtensionΣ ?! C0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.modifierExtension
Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
daysOfWeek0..*codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.daysOfWeek
Short description

mon | tue | wed | thu | fri | sat | sun

Definition

Indicates which days of the week are available between the start and end Times.

Data type

code

Binding

The days of the week.

DaysOfWeek (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
allDay0..1boolean
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.allDay
Short description

Always available? e.g. 24 hour service

Definition

Is this always available? (hence times are irrelevant) e.g. 24 hour service.

Data type

boolean

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
availableStartTime0..1time
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.availableStartTime
Short description

Opening time of day (ignored if allDay = true)

Definition

The opening time of day. Note: If the AllDay flag is set, then this time is ignored.

Comments

The timezone is expected to be for where this HealthcareService is provided at.

Data type

time

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
availableEndTime0..1time
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.availableEndTime
Short description

Closing time of day (ignored if allDay = true)

Definition

The closing time of day. Note: If the AllDay flag is set, then this time is ignored.

Comments

The timezone is expected to be for where this HealthcareService is provided at.

Data type

time

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
notAvailable0..*BackboneElement
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable
Short description

Not available during this time due to provided reason

Definition

The practitioner is not available or performing this role during this period of time due to the provided reason.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.id
Short description

Unique id for inter-element referencing

Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Data type

string

Mappings
  • rim: n/a
extensionC0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.extension
Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
modifierExtensionΣ ?! C0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.modifierExtension
Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
description1..1string
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.description
Short description

Reason presented to the user explaining why time not available

Definition

The reason that can be presented to the user as to why this time is not available.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
during0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.during
Short description

Service not available from this date

Definition

Service is not available (seasonally or for a public holiday) from this date.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
availabilityExceptions0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.availabilityExceptions
Short description

Description of availability exceptions

Definition

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

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
endpoint0..*Reference(Endpoint)
There are no (further) constraints on this element
Element id
PractitionerRole.endpoint
Short description

Technical endpoints providing access to services operated for the practitioner with this role

Definition

Technical endpoints providing access to services operated for the practitioner with this role.

Requirements

Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.

So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose.

Data type

Reference(Endpoint)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
PractitionerRoleLabPSCA (PractitionerRole)CPractitionerRole
There are no (further) constraints on this element
Element id
PractitionerRole
Short description

Roles/organizations the practitioner is associated with

Definition

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

Data type

PractitionerRole

Constraints
  • dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
    contained.contained.empty()
  • dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
    contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
  • dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
    contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • dom-6: A resource should have narrative for robust management
    text.`div`.exists()
Mappings
  • rim: Entity. Role, or Act
  • v2: PRD (as one example)
  • rim: Role
  • servd: ServiceSiteProvider
idΣ0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.id
Short description

Logical id of this artifact

Definition

The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.

Comments

The only time that a resource does not have an id is when it is being submitted to the server using a create operation.

Data type

string

metaΣ0..1Meta
There are no (further) constraints on this element
Element id
PractitionerRole.meta
Short description

Metadata about the resource

Definition

The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.

Data type

Meta

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
implicitRulesΣ ?!0..1uri
There are no (further) constraints on this element
Element id
PractitionerRole.implicitRules
Short description

A set of rules under which this content was created

Definition

A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.

Comments

Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.

Data type

uri

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
language0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.language
Short description

Language of the resource content

Definition

The base language in which the resource is written.

Comments

Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).

Data type

code

Binding

A human language.

CommonLanguages (preferred)

Binding extensions
maxValueSetAllLanguages
Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
text0..1Narrative
There are no (further) constraints on this element
Element id
PractitionerRole.text
Short description

Text summary of the resource, for human interpretation

Alternate names

narrative, html, xhtml, display

Definition

A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.

Comments

Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.

Data type

Narrative

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: Act.text?
contained0..*Resource
There are no (further) constraints on this element
Element id
PractitionerRole.contained
Short description

Contained, inline Resources

Alternate names

inline resources, anonymous resources, contained resources

Definition

These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.

Comments

This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.

Data type

Resource

Mappings
  • rim: N/A
extensionC0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.extension
Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
modifierExtension?! C0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.modifierExtension
Short description

Extensions that cannot be ignored

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
identifierΣ0..*IdentifierCABaseline
There are no (further) constraints on this element
Element id
PractitionerRole.identifier
Short description

An identifier intended for computation

Definition

An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.

Requirements

Often, specific identities are assigned for the agent.

Data type

IdentifierCABaseline

Conditions

The cardinality or value of this element may be affected by these constraints: ele-1

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: .id
  • servd: ./Identifiers
  • rim: n/a
  • v2: CX / EI (occasionally, more often EI maps to a resource id or a URL)
  • rim: II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
  • servd: Identifier
activeΣ0..1boolean
There are no (further) constraints on this element
Element id
PractitionerRole.active
Short description

Whether this practitioner role record is in active use

Definition

Whether this practitioner role record is in active use.

Requirements

Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use.

Comments

If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active.

Meaning when missing

This resource is generally assumed to be active if no value is provided for the active element

Data type

boolean

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.status
  • v2: STF-7
  • rim: .statusCode
periodΣ0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.period
Short description

The period during which the practitioner is authorized to perform in these role(s)

Definition

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

Requirements

Even after the agencies is revoked, the fact that it existed must still be recorded.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.done[x]
  • v2: PRD-8/9 / PRA-5.4
  • rim: .performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
practitionerΣ0..1Reference(PractitionerLabPSCA)
There are no (further) constraints on this element
Element id
PractitionerRole.practitioner
Short description

Practitioner that is able to provide the defined services for the organization

Definition

Practitioner that is able to provide the defined services for the organization.

Data type

Reference(PractitionerLabPSCA)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .player
organizationΣ0..1Reference(OrganizationLabPSCA)
There are no (further) constraints on this element
Element id
PractitionerRole.organization
Short description

Organization where the roles are available

Definition

The organization where the Practitioner performs the roles associated.

Comments

While IPS-UV considers PractitionerRole.organization a Must Support element, a number of jurisdictional systems may not capture the organization the practitioner is performing that role for, in the scope of a practitioner that is the performer of an observation or diagnostic report. Further feedback is required on whether these systems are still expected to be able to demonstrate they can construct this element when developing a patient summary instance that includes diagnostic result information.

Data type

Reference(OrganizationLabPSCA)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .scoper
codeΣ0..*CodeableConceptPSCABinding
There are no (further) constraints on this element
Element id
PractitionerRole.code
Short description

Concept - reference to a terminology or just text

Definition

Roles which this practitioner is authorized to perform for the organization.

Requirements

Need to know what authority the practitioner has - what can they do?

Comments

For all CodeableConcepts, at least one of coding or text must be present. If coding contains only a display value (no code) then CodeableConcept must include text.

Data type

CodeableConceptPSCA

Binding

A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.

HealthcareProviderRoleType (preferred)

Additional bindings
  • HealthcareProfessionalRolesUvIps (candidate)

    Healthcare professional role codes from International Standard Classification of Occupations (ISCO) utilized in IPS. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that are proposed for international exchange in IPS. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology.

Conditions

The cardinality or value of this element may be affected by these constraints: ele-1

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17
  • rim: .code
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
specialtyΣ0..*CodeableConcept
There are no (further) constraints on this element
Element id
PractitionerRole.specialty
Short description

PractitionerSpecialty

Definition

Specific specialty of the practitioner.

Comments

Work is underway to define the pan-Canadian terminology that will be preferred and/or socialized for PractitionerRole.specialty

Data type

CodeableConcept

Binding

Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.

PractitionerSpecialty (example)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: PRA-5
  • rim: .player.HealthCareProvider[@classCode = 'PROV'].code
  • servd: ./Specialty
locationΣ0..*Reference(Location)
There are no (further) constraints on this element
Element id
PractitionerRole.location
Short description

The location(s) at which this practitioner provides care

Definition

The location(s) at which this practitioner provides care.

Data type

Reference(Location)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • w5: FiveWs.where[x]
  • rim: .performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']
  • servd: (ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)
healthcareService0..*Reference(HealthcareService)
There are no (further) constraints on this element
Element id
PractitionerRole.healthcareService
Short description

The list of healthcare services that this worker provides for this role's Organization/Location(s)

Definition

The list of healthcare services that this worker provides for this role's Organization/Location(s).

Data type

Reference(HealthcareService)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • v2: EDU-2 / AFF-3
  • rim: .player.QualifiedEntity[@classCode = 'QUAL'].code
telecomΣ0..*ContactPoint
There are no (further) constraints on this element
Element id
PractitionerRole.telecom
Short description

Contact details that are specific to the role/location/service

Definition

Contact details that are specific to the role/location/service.

Requirements

Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these.

Data type

ContactPoint

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .telecom
availableTime0..*BackboneElement
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime
Short description

Times the Service Site is available

Definition

A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.

Comments

More detailed availability information may be provided in associated Schedule/Slot resources.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.id
Short description

Unique id for inter-element referencing

Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Data type

string

Mappings
  • rim: n/a
extensionC0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.extension
Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
modifierExtensionΣ ?! C0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.modifierExtension
Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
daysOfWeek0..*codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.daysOfWeek
Short description

mon | tue | wed | thu | fri | sat | sun

Definition

Indicates which days of the week are available between the start and end Times.

Data type

code

Binding

The days of the week.

DaysOfWeek (required)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
allDay0..1boolean
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.allDay
Short description

Always available? e.g. 24 hour service

Definition

Is this always available? (hence times are irrelevant) e.g. 24 hour service.

Data type

boolean

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
availableStartTime0..1time
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.availableStartTime
Short description

Opening time of day (ignored if allDay = true)

Definition

The opening time of day. Note: If the AllDay flag is set, then this time is ignored.

Comments

The timezone is expected to be for where this HealthcareService is provided at.

Data type

time

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
availableEndTime0..1time
There are no (further) constraints on this element
Element id
PractitionerRole.availableTime.availableEndTime
Short description

Closing time of day (ignored if allDay = true)

Definition

The closing time of day. Note: If the AllDay flag is set, then this time is ignored.

Comments

The timezone is expected to be for where this HealthcareService is provided at.

Data type

time

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
notAvailable0..*BackboneElement
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable
Short description

Not available during this time due to provided reason

Definition

The practitioner is not available or performing this role during this period of time due to the provided reason.

Data type

BackboneElement

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.id
Short description

Unique id for inter-element referencing

Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

Data type

string

Mappings
  • rim: n/a
extensionC0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.extension
Short description

Additional content defined by implementations

Alternate names

extensions, user content

Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
modifierExtensionΣ ?! C0..*Extension
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.modifierExtension
Short description

Extensions that cannot be ignored even if unrecognized

Alternate names

extensions, user content, modifiers

Definition

May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

Requirements

Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Data type

Extension

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: N/A
description1..1string
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.description
Short description

Reason presented to the user explaining why time not available

Definition

The reason that can be presented to the user as to why this time is not available.

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
during0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.notAvailable.during
Short description

Service not available from this date

Definition

Service is not available (seasonally or for a public holiday) from this date.

Data type

Period

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
availabilityExceptions0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.availabilityExceptions
Short description

Description of availability exceptions

Definition

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

Data type

string

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: .effectiveTime
endpoint0..*Reference(Endpoint)
There are no (further) constraints on this element
Element id
PractitionerRole.endpoint
Short description

Technical endpoints providing access to services operated for the practitioner with this role

Definition

Technical endpoints providing access to services operated for the practitioner with this role.

Requirements

Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.

So the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose.

Data type

Reference(Endpoint)

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="practitionerrole-lab-ca-ps" />
<url value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitionerrole-lab-ca-ps" />
<name value="PractitionerRoleLabPSCA" />
<title value="PractitionerRole - Lab (PS-CA)" />
<status value="draft" />
<experimental value="false" />
<date value="2023-12-06T00:00:00-08:00" />
<description value="This profile represents the constraints applied to the PractitionerRole resource by the PS-CA project to represent a practitioner in a role acting as an observer for observation results for a specified organization. It is informed by the constraints of the [PractitionerRole IPS-UV profile](http://hl7.org/fhir/uv/ips/StructureDefinition-PractitionerRole-uv-ips.html) and the [Canadian Baseline Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-practitionerrole.html) to allow for cross-border and cross-jurisdiction sharing of details that support Diagnostic Result Information." />
<copyright value="Copyright © 2024+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy)." />
<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" />
<snapshot>
<element id="PractitionerRole">
<path value="PractitionerRole" />
<short value="Roles/organizations the practitioner is associated with" />
<definition value="A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole" />
<min value="0" />
<max value="*" />
</base>
<constraint>
<key value="dom-2" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL NOT contain nested Resources" />
<expression value="contained.contained.empty()" />
<xpath value="not(parent::f:contained and f:contained)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<constraint>
<key value="dom-3" />
<severity value="error" />
<human value="If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource" />
<expression value="contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()" />
<xpath value="not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<constraint>
<key value="dom-4" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated" />
<expression value="contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<constraint>
<key value="dom-5" />
<severity value="error" />
<human value="If a resource is contained in another resource, it SHALL NOT have a security label" />
<expression value="contained.meta.security.empty()" />
<xpath value="not(exists(f:contained/*/f:meta/f:security))" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<constraint>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice">
<valueBoolean value="true" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation">
<valueMarkdown value="When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time." />
</extension>
<key value="dom-6" />
<severity value="warning" />
<human value="A resource should have narrative for robust management" />
<expression value="text.`div`.exists()" />
<xpath value="exists(f:text/h:div)" />
<source value="http://hl7.org/fhir/StructureDefinition/DomainResource" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<mapping>
<identity value="v2" />
<map value="PRD (as one example)" />
</mapping>
<mapping>
<identity value="rim" />
<map value="Role" />
</mapping>
<mapping>
<identity value="servd" />
<map value="ServiceSiteProvider" />
</mapping>
</element>
<element id="PractitionerRole.id">
<path value="PractitionerRole.id" />
<short value="Logical id of this artifact" />
<definition value="The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes." />
<comment value="The only time that a resource does not have an id is when it is being submitted to the server using a create operation." />
<min value="0" />
<max value="1" />
<base>
<path value="Resource.id" />
<min value="0" />
<max value="1" />
</base>
<type>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="PractitionerRole.meta">
<path value="PractitionerRole.meta" />
<short value="Metadata about the resource" />
<definition value="The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource." />
<min value="0" />
<max value="1" />
<base>
<path value="Resource.meta" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Meta" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
</element>
<element id="PractitionerRole.implicitRules">
<path value="PractitionerRole.implicitRules" />
<short value="A set of rules under which this content was created" />
<definition value="A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc." />
<comment value="Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc." />
<min value="0" />
<max value="1" />
<base>
<path value="Resource.implicitRules" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="uri" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="true" />
<isModifierReason value="This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation" />
<isSummary value="true" />
</element>
<element id="PractitionerRole.language">
<path value="PractitionerRole.language" />
<short value="Language of the resource content" />
<definition value="The base language in which the resource is written." />
<comment value="Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute)." />
<min value="0" />
<max value="1" />
<base>
<path value="Resource.language" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="code" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet">
<valueCanonical value="http://hl7.org/fhir/ValueSet/all-languages" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="Language" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding">
<valueBoolean value="true" />
</extension>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
</element>
<element id="PractitionerRole.text">
<path value="PractitionerRole.text" />
<short value="Text summary of the resource, for human interpretation" />
<definition value="A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety." />
<comment value="Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later." />
<alias value="narrative" />
<alias value="html" />
<alias value="xhtml" />
<alias value="display" />
<min value="0" />
<max value="1" />
<base>
<path value="DomainResource.text" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Narrative" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="Act.text?" />
</mapping>
</element>
<element id="PractitionerRole.contained">
<path value="PractitionerRole.contained" />
<short value="Contained, inline Resources" />
<definition value="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope." />
<comment value="This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels." />
<alias value="inline resources" />
<alias value="anonymous resources" />
<alias value="contained resources" />
<min value="0" />
<max value="*" />
<base>
<path value="DomainResource.contained" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Resource" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.extension">
<path value="PractitionerRole.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<base>
<path value="DomainResource.extension" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Extension" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.modifierExtension">
<path value="PractitionerRole.modifierExtension" />
<short value="Extensions that cannot be ignored" />
<definition value="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<base>
<path value="DomainResource.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Extension" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.identifier">
<path value="PractitionerRole.identifier" />
<short value="An identifier intended for computation" />
<definition value="An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers." />
<requirements value="Often, specific identities are assigned for the agent." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.identifier" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Identifier" />
<profile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-identifier" />
</type>
<condition value="ele-1" />
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="w5" />
<map value="FiveWs.identifier" />
</mapping>
<mapping>
<identity value="v2" />
<map value="PRD-7 (or XCN.1)" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".id" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./Identifiers" />
</mapping>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="CX / EI (occasionally, more often EI maps to a resource id or a URL)" />
</mapping>
<mapping>
<identity value="rim" />
<map value="II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]" />
</mapping>
<mapping>
<identity value="servd" />
<map value="Identifier" />
</mapping>
</element>
<element id="PractitionerRole.active">
<path value="PractitionerRole.active" />
<short value="Whether this practitioner role record is in active use" />
<definition value="Whether this practitioner role record is in active use." />
<comment value="If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active." />
<requirements value="Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.active" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="boolean" />
</type>
<meaningWhenMissing value="This resource is generally assumed to be active if no value is provided for the active element" />
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="w5" />
<map value="FiveWs.status" />
</mapping>
<mapping>
<identity value="v2" />
<map value="STF-7" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".statusCode" />
</mapping>
</element>
<element id="PractitionerRole.period">
<path value="PractitionerRole.period" />
<short value="The period during which the practitioner is authorized to perform in these role(s)" />
<definition value="The period during which the person is authorized to act as a practitioner in these role(s) for the organization." />
<requirements value="Even after the agencies is revoked, the fact that it existed must still be recorded." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.period" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Period" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="w5" />
<map value="FiveWs.done[x]" />
</mapping>
<mapping>
<identity value="v2" />
<map value="PRD-8/9 / PRA-5.4" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime" />
</mapping>
<mapping>
<identity value="servd" />
<map value="(ServD maps Practitioners and Organizations via another entity, so this concept is not available)" />
</mapping>
</element>
<element id="PractitionerRole.practitioner">
<path value="PractitionerRole.practitioner" />
<short value="Practitioner that is able to provide the defined services for the organization" />
<definition value="Practitioner that is able to provide the defined services for the organization." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.practitioner" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Reference" />
<targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value=".player" />
</mapping>
</element>
<element id="PractitionerRole.organization">
<path value="PractitionerRole.organization" />
<short value="Organization where the roles are available" />
<definition value="The organization where the Practitioner performs the roles associated." />
<comment value="While IPS-UV considers PractitionerRole.organization a Must Support element, a number of jurisdictional systems may not capture the organization the practitioner is performing that role for, in the scope of a practitioner that is the performer of an observation or diagnostic report. Further feedback is required on whether these systems are still expected to be able to demonstrate they can construct this element when developing a patient summary instance that includes diagnostic result information." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.organization" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Reference" />
<targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/organization-lab-ca-ps" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value=".scoper" />
</mapping>
</element>
<element id="PractitionerRole.code">
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
<valueCode value="normative" />
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version">
<valueCode value="4.0.0" />
</extension>
<path value="PractitionerRole.code" />
<short value="Concept - reference to a terminology or just text" />
<definition value="Roles which this practitioner is authorized to perform for the organization." />
<comment value="For all CodeableConcepts, at least one of coding or text must be present. If coding contains only a display value (no code) then CodeableConcept must include text." />
<requirements value="Need to know what authority the practitioner has - what can they do?" />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.code" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="CodeableConcept" />
<profile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/CodeableConcept-ca-ps" />
</type>
<condition value="ele-1" />
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="PractitionerRole" />
</extension>
<extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
<extension url="purpose">
<valueCode value="candidate" />
</extension>
<extension url="valueSet">
<valueCanonical value="http://hl7.org/fhir/uv/ips/ValueSet/healthcare-professional-roles-uv-ips" />
</extension>
<extension url="documentation">
<valueMarkdown value="Healthcare professional role codes from International Standard Classification of Occupations (ISCO) utilized in IPS. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that are proposed for international exchange in IPS. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology." />
</extension>
</extension>
<strength value="preferred" />
<description value="A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic." />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype" />
</binding>
<mapping>
<identity value="v2" />
<map value="PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".code" />
</mapping>
<mapping>
<identity value="servd" />
<map value="(ServD maps Practitioners and Organizations via another entity, so this concept is not available)" />
</mapping>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="CE/CNE/CWE" />
</mapping>
<mapping>
<identity value="rim" />
<map value="CD" />
</mapping>
<mapping>
<identity value="orim" />
<map value="fhir:CodeableConcept rdfs:subClassOf dt:CD" />
</mapping>
</element>
<element id="PractitionerRole.specialty">
<path value="PractitionerRole.specialty" />
<short value="PractitionerSpecialty" />
<definition value="Specific specialty of the practitioner." />
<comment value="Work is underway to define the pan-Canadian terminology that will be preferred and/or socialized for PractitionerRole.specialty" />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.specialty" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="CodeableConcept" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="PractitionerSpecialty" />
</extension>
<strength value="example" />
<description value="Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient." />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty" />
</binding>
<mapping>
<identity value="v2" />
<map value="PRA-5" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".player.HealthCareProvider[@classCode = 'PROV'].code" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./Specialty" />
</mapping>
</element>
<element id="PractitionerRole.location">
<path value="PractitionerRole.location" />
<short value="The location(s) at which this practitioner provides care" />
<definition value="The location(s) at which this practitioner provides care." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.location" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Location" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="w5" />
<map value="FiveWs.where[x]" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']" />
</mapping>
<mapping>
<identity value="servd" />
<map value="(ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)" />
</mapping>
</element>
<element id="PractitionerRole.healthcareService">
<path value="PractitionerRole.healthcareService" />
<short value="The list of healthcare services that this worker provides for this role's Organization/Location(s)" />
<definition value="The list of healthcare services that this worker provides for this role's Organization/Location(s)." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.healthcareService" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="v2" />
<map value="EDU-2 / AFF-3" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".player.QualifiedEntity[@classCode = 'QUAL'].code" />
</mapping>
</element>
<element id="PractitionerRole.telecom">
<path value="PractitionerRole.telecom" />
<short value="Contact details that are specific to the role/location/service" />
<definition value="Contact details that are specific to the role/location/service." />
<requirements value="Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.telecom" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="ContactPoint" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value=".telecom" />
</mapping>
</element>
<element id="PractitionerRole.availableTime">
<path value="PractitionerRole.availableTime" />
<short value="Times the Service Site is available" />
<definition value="A collection of times the practitioner is available or performing this role at the location and/or healthcareservice." />
<comment value="More detailed availability information may be provided in associated Schedule/Slot resources." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.availableTime" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="BackboneElement" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.id">
<path value="PractitionerRole.availableTime.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<base>
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<type>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.extension">
<path value="PractitionerRole.availableTime.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<base>
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Extension" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.modifierExtension">
<path value="PractitionerRole.availableTime.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<base>
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Extension" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.daysOfWeek">
<path value="PractitionerRole.availableTime.daysOfWeek" />
<short value="mon | tue | wed | thu | fri | sat | sun" />
<definition value="Indicates which days of the week are available between the start and end Times." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.availableTime.daysOfWeek" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="code" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="DaysOfWeek" />
</extension>
<strength value="required" />
<description value="The days of the week." />
<valueSet value="http://hl7.org/fhir/ValueSet/days-of-week|4.0.1" />
</binding>
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.allDay">
<path value="PractitionerRole.availableTime.allDay" />
<short value="Always available? e.g. 24 hour service" />
<definition value="Is this always available? (hence times are irrelevant) e.g. 24 hour service." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.availableTime.allDay" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="boolean" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.availableStartTime">
<path value="PractitionerRole.availableTime.availableStartTime" />
<short value="Opening time of day (ignored if allDay = true)" />
<definition value="The opening time of day. Note: If the AllDay flag is set, then this time is ignored." />
<comment value="The timezone is expected to be for where this HealthcareService is provided at." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.availableTime.availableStartTime" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="time" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.availableEndTime">
<path value="PractitionerRole.availableTime.availableEndTime" />
<short value="Closing time of day (ignored if allDay = true)" />
<definition value="The closing time of day. Note: If the AllDay flag is set, then this time is ignored." />
<comment value="The timezone is expected to be for where this HealthcareService is provided at." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.availableTime.availableEndTime" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="time" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable">
<path value="PractitionerRole.notAvailable" />
<short value="Not available during this time due to provided reason" />
<definition value="The practitioner is not available or performing this role during this period of time due to the provided reason." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.notAvailable" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="BackboneElement" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable.id">
<path value="PractitionerRole.notAvailable.id" />
<representation value="xmlAttr" />
<short value="Unique id for inter-element referencing" />
<definition value="Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces." />
<min value="0" />
<max value="1" />
<base>
<path value="Element.id" />
<min value="0" />
<max value="1" />
</base>
<type>
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type">
<valueUrl value="string" />
</extension>
<code value="http://hl7.org/fhirpath/System.String" />
</type>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable.extension">
<path value="PractitionerRole.notAvailable.extension" />
<short value="Additional content defined by implementations" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<alias value="extensions" />
<alias value="user content" />
<min value="0" />
<max value="*" />
<base>
<path value="Element.extension" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Extension" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable.modifierExtension">
<path value="PractitionerRole.notAvailable.modifierExtension" />
<short value="Extensions that cannot be ignored even if unrecognized" />
<definition value="May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." />
<comment value="There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone." />
<requirements value="Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension)." />
<alias value="extensions" />
<alias value="user content" />
<alias value="modifiers" />
<min value="0" />
<max value="*" />
<base>
<path value="BackboneElement.modifierExtension" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Extension" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<constraint>
<key value="ext-1" />
<severity value="error" />
<human value="Must have either extensions or value[x], not both" />
<expression value="extension.exists() != value.exists()" />
<xpath value="exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])" />
<source value="http://hl7.org/fhir/StructureDefinition/Extension" />
</constraint>
<isModifier value="true" />
<isModifierReason value="Modifier extensions are expected to modify the meaning or interpretation of the element that contains them" />
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable.description">
<path value="PractitionerRole.notAvailable.description" />
<short value="Reason presented to the user explaining why time not available" />
<definition value="The reason that can be presented to the user as to why this time is not available." />
<min value="1" />
<max value="1" />
<base>
<path value="PractitionerRole.notAvailable.description" />
<min value="1" />
<max value="1" />
</base>
<type>
<code value="string" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable.during">
<path value="PractitionerRole.notAvailable.during" />
<short value="Service not available from this date" />
<definition value="Service is not available (seasonally or for a public holiday) from this date." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.notAvailable.during" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Period" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.availabilityExceptions">
<path value="PractitionerRole.availabilityExceptions" />
<short value="Description of availability exceptions" />
<definition value="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 Times." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.availabilityExceptions" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="string" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value=".effectiveTime" />
</mapping>
</element>
<element id="PractitionerRole.endpoint">
<path value="PractitionerRole.endpoint" />
<short value="Technical endpoints providing access to services operated for the practitioner with this role" />
<definition value="Technical endpoints providing access to services operated for the practitioner with this role." />
<requirements value="Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.\n\nSo the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.endpoint" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Endpoint" />
</type>
<constraint>
<key value="ele-1" />
<severity value="error" />
<human value="All FHIR elements must have a @value or children" />
<expression value="hasValue() or (children().count() > id.count())" />
<xpath value="@value|f:*|h:div" />
<source value="http://hl7.org/fhir/StructureDefinition/Element" />
</constraint>
<isModifier value="false" />
<isSummary value="false" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
</snapshot>
<differential>
<element id="PractitionerRole.identifier">
<path value="PractitionerRole.identifier" />
<type>
<code value="Identifier" />
<profile value="http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-identifier" />
</type>
</element>
<element id="PractitionerRole.practitioner">
<path value="PractitionerRole.practitioner" />
<type>
<code value="Reference" />
<targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps" />
</type>
</element>
<element id="PractitionerRole.organization">
<path value="PractitionerRole.organization" />
<comment value="While IPS-UV considers PractitionerRole.organization a Must Support element, a number of jurisdictional systems may not capture the organization the practitioner is performing that role for, in the scope of a practitioner that is the performer of an observation or diagnostic report. Further feedback is required on whether these systems are still expected to be able to demonstrate they can construct this element when developing a patient summary instance that includes diagnostic result information." />
<type>
<code value="Reference" />
<targetProfile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/organization-lab-ca-ps" />
</type>
</element>
<element id="PractitionerRole.code">
<path value="PractitionerRole.code" />
<definition value="Roles which this practitioner is authorized to perform for the organization." />
<type>
<code value="CodeableConcept" />
<profile value="http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/CodeableConcept-ca-ps" />
</type>
<binding>
<extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
<extension url="purpose">
<valueCode value="candidate" />
</extension>
<extension url="valueSet">
<valueCanonical value="http://hl7.org/fhir/uv/ips/ValueSet/healthcare-professional-roles-uv-ips" />
</extension>
<extension url="documentation">
<valueMarkdown value="Healthcare professional role codes from International Standard Classification of Occupations (ISCO) utilized in IPS. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that are proposed for international exchange in IPS. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology." />
</extension>
</extension>
<strength value="preferred" />
<description value="A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic." />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype" />
</binding>
</element>
<element id="PractitionerRole.specialty">
<path value="PractitionerRole.specialty" />
<short value="PractitionerSpecialty" />
<comment value="Work is underway to define the pan-Canadian terminology that will be preferred and/or socialized for PractitionerRole.specialty" />
<binding>
<strength value="example" />
<description value="Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient." />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty" />
</binding>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "practitionerrole-lab-ca-ps",
"url": "http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitionerrole-lab-ca-ps",
"name": "PractitionerRoleLabPSCA",
"title": "PractitionerRole - Lab (PS-CA)",
"status": "draft",
"experimental": false,
"date": "2023-12-06T00:00:00-08:00",
"description": "This profile represents the constraints applied to the PractitionerRole resource by the PS-CA project to represent a practitioner in a role acting as an observer for observation results for a specified organization. It is informed by the constraints of the [PractitionerRole IPS-UV profile](http://hl7.org/fhir/uv/ips/StructureDefinition-PractitionerRole-uv-ips.html) and the [Canadian Baseline Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-practitionerrole.html) to allow for cross-border and cross-jurisdiction sharing of details that support Diagnostic Result Information.",
"copyright": "Copyright © 2024+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy).",
"fhirVersion": "4.0.1",
"kind": "resource",
"abstract": false,
"type": "PractitionerRole",
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
"derivation": "constraint",
"snapshot": {
"element": [
{
"id": "PractitionerRole",
"path": "PractitionerRole",
"short": "Roles/organizations the practitioner is associated with",
"definition": "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole",
"min": 0,
"max": "*"
},
"constraint": [
{
"key": "dom-2",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"expression": "contained.contained.empty()",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-3",
"severity": "error",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"expression": "contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()",
"xpath": "not(exists(for $id in f:contained/*/f:id/@value return $contained[not(parent::*/descendant::f:reference/@value=concat('#', $contained/*/id/@value) or descendant::f:reference[@value='#'])]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-4",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"key": "dom-5",
"severity": "error",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"expression": "contained.meta.security.empty()",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
},
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice",
"valueBoolean": true
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation",
"valueMarkdown": "When a resource has no narrative, only systems that fully understand the data can display the resource to a human safely. Including a human readable representation in the resource makes for a much more robust eco-system and cheaper handling of resources by intermediary systems. Some ecosystems restrict distribution of resources to only those systems that do fully understand the resources, and as a consequence implementers may believe that the narrative is superfluous. However experience shows that such eco-systems often open up to new participants over time."
}
],
"key": "dom-6",
"severity": "warning",
"human": "A resource should have narrative for robust management",
"expression": "text.`div`.exists()",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "v2",
"map": "PRD (as one example)"
},
{
"identity": "rim",
"map": "Role"
},
{
"identity": "servd",
"map": "ServiceSiteProvider"
}
]
},
{
"id": "PractitionerRole.id",
"path": "PractitionerRole.id",
"short": "Logical id of this artifact",
"definition": "The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.",
"comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "PractitionerRole.meta",
"path": "PractitionerRole.meta",
"short": "Metadata about the resource",
"definition": "The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.meta",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Meta"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true
},
{
"id": "PractitionerRole.implicitRules",
"path": "PractitionerRole.implicitRules",
"short": "A set of rules under which this content was created",
"definition": "A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.",
"comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.",
"min": 0,
"max": "1",
"base": {
"path": "Resource.implicitRules",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": true,
"isModifierReason": "This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation",
"isSummary": true
},
{
"id": "PractitionerRole.language",
"path": "PractitionerRole.language",
"short": "Language of the resource content",
"definition": "The base language in which the resource is written.",
"comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
"min": 0,
"max": "1",
"base": {
"path": "Resource.language",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
"valueCanonical": "http://hl7.org/fhir/ValueSet/all-languages"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "Language"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
"valueBoolean": true
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
}
},
{
"id": "PractitionerRole.text",
"path": "PractitionerRole.text",
"short": "Text summary of the resource, for human interpretation",
"definition": "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.",
"comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded information is added later.",
"alias": [
"narrative",
"html",
"xhtml",
"display"
],
"min": 0,
"max": "1",
"base": {
"path": "DomainResource.text",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Narrative"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "Act.text?"
}
]
},
{
"id": "PractitionerRole.contained",
"path": "PractitionerRole.contained",
"short": "Contained, inline Resources",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"alias": [
"inline resources",
"anonymous resources",
"contained resources"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.contained",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Resource"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.extension",
"path": "PractitionerRole.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.modifierExtension",
"path": "PractitionerRole.modifierExtension",
"short": "Extensions that cannot be ignored",
"definition": "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "DomainResource.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them",
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.identifier",
"path": "PractitionerRole.identifier",
"short": "An identifier intended for computation",
"definition": "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.",
"requirements": "Often, specific identities are assigned for the agent.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Identifier",
"profile": [
"http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-identifier"
]
}
],
"condition": [
"ele-1"
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "PRD-7 (or XCN.1)"
},
{
"identity": "rim",
"map": ".id"
},
{
"identity": "servd",
"map": "./Identifiers"
},
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CX / EI (occasionally, more often EI maps to a resource id or a URL)"
},
{
"identity": "rim",
"map": "II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]"
},
{
"identity": "servd",
"map": "Identifier"
}
]
},
{
"id": "PractitionerRole.active",
"path": "PractitionerRole.active",
"short": "Whether this practitioner role record is in active use",
"definition": "Whether this practitioner role record is in active use.",
"comment": "If this value is false, you may refer to the period to see when the role was in active use. If there is no period specified, no inference can be made about when it was active.",
"requirements": "Need to be able to mark a practitioner role record as not to be used because it was created in error, or otherwise no longer in active use.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.active",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"meaningWhenMissing": "This resource is generally assumed to be active if no value is provided for the active element",
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.status"
},
{
"identity": "v2",
"map": "STF-7"
},
{
"identity": "rim",
"map": ".statusCode"
}
]
},
{
"id": "PractitionerRole.period",
"path": "PractitionerRole.period",
"short": "The period during which the practitioner is authorized to perform in these role(s)",
"definition": "The period during which the person is authorized to act as a practitioner in these role(s) for the organization.",
"requirements": "Even after the agencies is revoked, the fact that it existed must still be recorded.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.done[x]"
},
{
"identity": "v2",
"map": "PRD-8/9 / PRA-5.4"
},
{
"identity": "rim",
"map": ".performance[@typeCode <= 'PPRF'].ActDefinitionOrEvent.effectiveTime"
},
{
"identity": "servd",
"map": "(ServD maps Practitioners and Organizations via another entity, so this concept is not available)"
}
]
},
{
"id": "PractitionerRole.practitioner",
"path": "PractitionerRole.practitioner",
"short": "Practitioner that is able to provide the defined services for the organization",
"definition": "Practitioner that is able to provide the defined services for the organization.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.practitioner",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps"
]
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".player"
}
]
},
{
"id": "PractitionerRole.organization",
"path": "PractitionerRole.organization",
"short": "Organization where the roles are available",
"definition": "The organization where the Practitioner performs the roles associated.",
"comment": "While IPS-UV considers PractitionerRole.organization a Must Support element, a number of jurisdictional systems may not capture the organization the practitioner is performing that role for, in the scope of a practitioner that is the performer of an observation or diagnostic report. Further feedback is required on whether these systems are still expected to be able to demonstrate they can construct this element when developing a patient summary instance that includes diagnostic result information.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.organization",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/organization-lab-ca-ps"
]
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".scoper"
}
]
},
{
"id": "PractitionerRole.code",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
"valueCode": "normative"
},
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
"valueCode": "4.0.0"
}
],
"path": "PractitionerRole.code",
"short": "Concept - reference to a terminology or just text",
"definition": "Roles which this practitioner is authorized to perform for the organization.",
"comment": "For all CodeableConcepts, at least one of coding or text must be present. If coding contains only a display value (no code) then CodeableConcept must include text.",
"requirements": "Need to know what authority the practitioner has - what can they do?",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.code",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept",
"profile": [
"http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/CodeableConcept-ca-ps"
]
}
],
"condition": [
"ele-1"
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "PractitionerRole"
},
{
"extension": [
{
"url": "purpose",
"valueCode": "candidate"
},
{
"url": "valueSet",
"valueCanonical": "http://hl7.org/fhir/uv/ips/ValueSet/healthcare-professional-roles-uv-ips"
},
{
"url": "documentation",
"valueMarkdown": "Healthcare professional role codes from International Standard Classification of Occupations (ISCO) utilized in IPS. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that are proposed for international exchange in IPS. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology."
}
],
"url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
}
],
"strength": "preferred",
"description": "A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype"
},
"mapping": [
{
"identity": "v2",
"map": "PRD-1 / STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17"
},
{
"identity": "rim",
"map": ".code"
},
{
"identity": "servd",
"map": "(ServD maps Practitioners and Organizations via another entity, so this concept is not available)"
},
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE"
},
{
"identity": "rim",
"map": "CD"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
}
]
},
{
"id": "PractitionerRole.specialty",
"path": "PractitionerRole.specialty",
"short": "PractitionerSpecialty",
"definition": "Specific specialty of the practitioner.",
"comment": "Work is underway to define the pan-Canadian terminology that will be preferred and/or socialized for PractitionerRole.specialty",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.specialty",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "PractitionerSpecialty"
}
],
"strength": "example",
"description": "Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty"
},
"mapping": [
{
"identity": "v2",
"map": "PRA-5"
},
{
"identity": "rim",
"map": ".player.HealthCareProvider[@classCode = 'PROV'].code"
},
{
"identity": "servd",
"map": "./Specialty"
}
]
},
{
"id": "PractitionerRole.location",
"path": "PractitionerRole.location",
"short": "The location(s) at which this practitioner provides care",
"definition": "The location(s) at which this practitioner provides care.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.location",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Location"
]
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "w5",
"map": "FiveWs.where[x]"
},
{
"identity": "rim",
"map": ".performance.ActDefinitionOrEvent.ServiceDeliveryLocation[@classCode = 'SDLOC']"
},
{
"identity": "servd",
"map": "(ServD maps Practitioners and Organizations via another entity, so this concept is not available)<br/> However these are accessed via the Site.ServiceSite.ServiceSiteProvider record. (The Site has the location)"
}
]
},
{
"id": "PractitionerRole.healthcareService",
"path": "PractitionerRole.healthcareService",
"short": "The list of healthcare services that this worker provides for this role's Organization/Location(s)",
"definition": "The list of healthcare services that this worker provides for this role's Organization/Location(s).",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.healthcareService",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/HealthcareService"
]
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "v2",
"map": "EDU-2 / AFF-3"
},
{
"identity": "rim",
"map": ".player.QualifiedEntity[@classCode = 'QUAL'].code"
}
]
},
{
"id": "PractitionerRole.telecom",
"path": "PractitionerRole.telecom",
"short": "Contact details that are specific to the role/location/service",
"definition": "Contact details that are specific to the role/location/service.",
"requirements": "Often practitioners have a dedicated line for each location (or service) that they work at, and need to be able to define separate contact details for each of these.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.telecom",
"min": 0,
"max": "*"
},
"type": [
{
"code": "ContactPoint"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": ".telecom"
}
]
},
{
"id": "PractitionerRole.availableTime",
"path": "PractitionerRole.availableTime",
"short": "Times the Service Site is available",
"definition": "A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.",
"comment": "More detailed availability information may be provided in associated Schedule/Slot resources.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.availableTime",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.availableTime.id",
"path": "PractitionerRole.availableTime.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.availableTime.extension",
"path": "PractitionerRole.availableTime.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.availableTime.modifierExtension",
"path": "PractitionerRole.availableTime.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.availableTime.daysOfWeek",
"path": "PractitionerRole.availableTime.daysOfWeek",
"short": "mon | tue | wed | thu | fri | sat | sun",
"definition": "Indicates which days of the week are available between the start and end Times.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.availableTime.daysOfWeek",
"min": 0,
"max": "*"
},
"type": [
{
"code": "code"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "DaysOfWeek"
}
],
"strength": "required",
"description": "The days of the week.",
"valueSet": "http://hl7.org/fhir/ValueSet/days-of-week|4.0.1"
},
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.availableTime.allDay",
"path": "PractitionerRole.availableTime.allDay",
"short": "Always available? e.g. 24 hour service",
"definition": "Is this always available? (hence times are irrelevant) e.g. 24 hour service.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.availableTime.allDay",
"min": 0,
"max": "1"
},
"type": [
{
"code": "boolean"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.availableTime.availableStartTime",
"path": "PractitionerRole.availableTime.availableStartTime",
"short": "Opening time of day (ignored if allDay = true)",
"definition": "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.",
"comment": "The timezone is expected to be for where this HealthcareService is provided at.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.availableTime.availableStartTime",
"min": 0,
"max": "1"
},
"type": [
{
"code": "time"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.availableTime.availableEndTime",
"path": "PractitionerRole.availableTime.availableEndTime",
"short": "Closing time of day (ignored if allDay = true)",
"definition": "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.",
"comment": "The timezone is expected to be for where this HealthcareService is provided at.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.availableTime.availableEndTime",
"min": 0,
"max": "1"
},
"type": [
{
"code": "time"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.notAvailable",
"path": "PractitionerRole.notAvailable",
"short": "Not available during this time due to provided reason",
"definition": "The practitioner is not available or performing this role during this period of time due to the provided reason.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.notAvailable",
"min": 0,
"max": "*"
},
"type": [
{
"code": "BackboneElement"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.notAvailable.id",
"path": "PractitionerRole.notAvailable.id",
"representation": [
"xmlAttr"
],
"short": "Unique id for inter-element referencing",
"definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
"min": 0,
"max": "1",
"base": {
"path": "Element.id",
"min": 0,
"max": "1"
},
"type": [
{
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
"valueUrl": "string"
}
],
"code": "http://hl7.org/fhirpath/System.String"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.notAvailable.extension",
"path": "PractitionerRole.notAvailable.extension",
"short": "Additional content defined by implementations",
"definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"alias": [
"extensions",
"user content"
],
"min": 0,
"max": "*",
"base": {
"path": "Element.extension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.notAvailable.modifierExtension",
"path": "PractitionerRole.notAvailable.modifierExtension",
"short": "Extensions that cannot be ignored even if unrecognized",
"definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
"comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
"requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](extensibility.html#modifierExtension).",
"alias": [
"extensions",
"user content",
"modifiers"
],
"min": 0,
"max": "*",
"base": {
"path": "BackboneElement.modifierExtension",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Extension"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
},
{
"key": "ext-1",
"severity": "error",
"human": "Must have either extensions or value[x], not both",
"expression": "extension.exists() != value.exists()",
"xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
"source": "http://hl7.org/fhir/StructureDefinition/Extension"
}
],
"isModifier": true,
"isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.notAvailable.description",
"path": "PractitionerRole.notAvailable.description",
"short": "Reason presented to the user explaining why time not available",
"definition": "The reason that can be presented to the user as to why this time is not available.",
"min": 1,
"max": "1",
"base": {
"path": "PractitionerRole.notAvailable.description",
"min": 1,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.notAvailable.during",
"path": "PractitionerRole.notAvailable.during",
"short": "Service not available from this date",
"definition": "Service is not available (seasonally or for a public holiday) from this date.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.notAvailable.during",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.availabilityExceptions",
"path": "PractitionerRole.availabilityExceptions",
"short": "Description of availability exceptions",
"definition": "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 Times.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.availabilityExceptions",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": ".effectiveTime"
}
]
},
{
"id": "PractitionerRole.endpoint",
"path": "PractitionerRole.endpoint",
"short": "Technical endpoints providing access to services operated for the practitioner with this role",
"definition": "Technical endpoints providing access to services operated for the practitioner with this role.",
"requirements": "Organizations have multiple systems that provide various services and ,ay also be different for practitioners too.\n\nSo the endpoint satisfies the need to be able to define the technical connection details for how to connect to them, and for what purpose.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.endpoint",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Endpoint"
]
}
],
"constraint": [
{
"key": "ele-1",
"severity": "error",
"human": "All FHIR elements must have a @value or children",
"expression": "hasValue() or (children().count() > id.count())",
"xpath": "@value|f:*|h:div",
"source": "http://hl7.org/fhir/StructureDefinition/Element"
}
],
"isModifier": false,
"isSummary": false,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
}
]
},
"differential": {
"element": [
{
"id": "PractitionerRole.identifier",
"path": "PractitionerRole.identifier",
"type": [
{
"code": "Identifier",
"profile": [
"http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-identifier"
]
}
]
},
{
"id": "PractitionerRole.practitioner",
"path": "PractitionerRole.practitioner",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/practitioner-lab-ca-ps"
]
}
]
},
{
"id": "PractitionerRole.organization",
"path": "PractitionerRole.organization",
"comment": "While IPS-UV considers PractitionerRole.organization a Must Support element, a number of jurisdictional systems may not capture the organization the practitioner is performing that role for, in the scope of a practitioner that is the performer of an observation or diagnostic report. Further feedback is required on whether these systems are still expected to be able to demonstrate they can construct this element when developing a patient summary instance that includes diagnostic result information.",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/organization-lab-ca-ps"
]
}
]
},
{
"id": "PractitionerRole.code",
"path": "PractitionerRole.code",
"definition": "Roles which this practitioner is authorized to perform for the organization.",
"type": [
{
"code": "CodeableConcept",
"profile": [
"http://fhir.infoway-inforoute.ca/io/psca/StructureDefinition/CodeableConcept-ca-ps"
]
}
],
"binding": {
"extension": [
{
"extension": [
{
"url": "purpose",
"valueCode": "candidate"
},
{
"url": "valueSet",
"valueCanonical": "http://hl7.org/fhir/uv/ips/ValueSet/healthcare-professional-roles-uv-ips"
},
{
"url": "documentation",
"valueMarkdown": "Healthcare professional role codes from International Standard Classification of Occupations (ISCO) utilized in IPS. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that are proposed for international exchange in IPS. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology."
}
],
"url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
}
],
"strength": "preferred",
"description": "A role type that is used to categorize an entity that delivers health care in an expected and professional manner to an entity in need of health care services. Examples: Registered Nurse, Chiropractor, Physician, Custodial Care Clinic.",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype"
}
},
{
"id": "PractitionerRole.specialty",
"path": "PractitionerRole.specialty",
"short": "PractitionerSpecialty",
"comment": "Work is underway to define the pan-Canadian terminology that will be preferred and/or socialized for PractitionerRole.specialty",
"binding": {
"strength": "example",
"description": "Defines the clinical, medical, surgical or other healthcare-related service specialty of a practitioner who interacts, treats or provides such services to or for a patient.",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty"
}
}
]
}
}

Terminology bindings (Differential)

PathConformanceValueSet
PractitionerRole.codepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
PractitionerRole.specialtyexamplehttps://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty

Terminology bindings (Snapshot)

PathConformanceValueSet
PractitionerRole.languagepreferredhttp://hl7.org/fhir/ValueSet/languages
PractitionerRole.codepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype
PractitionerRole.specialtyexamplehttps://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty
PractitionerRole.availableTime.daysOfWeekrequiredhttp://hl7.org/fhir/ValueSet/days-of-week|4.0.1

Constraints

Obligations

Key Differences between the IPS-UV and PS-CA

Must Support Differences:

  • PS-CA removed a Must Support flag to PractitionerRole.organization

Note: Systems that do support these elements are encouraged to include it in generated Patient Summary documents, and support it when received

Cardinality Differences:

There are no cardinality differences between this profile and IPS-UV

Vocabulary Differences:

  • PractitionerRole.code

    • additionalBindings added for:
      • Healthcare Professional Role codes ISCO HealthcareProfessionalRolesUvIps
  • PractitionerRole.speciality

    • Practitioner Speciality https://fhir.infoway-inforoute.ca/ValueSet/practitionerspecialty indicated as preferred Note: Work is underway to define a pan-Canadian valueset for specialty.

Other differences between the IPS and PS-CA Include:

  • Data type profiles (e.g., CodeableConcept) and reference targets (e.g., Practitioner) replaced with PS-CA equivalents when appropriate

Note: Additionally, the use of CA Baseline Pratitioner, PractitionerRole, Organization profiles will be superseded by the CA Core profiles (or profiles that impose the CA Core) in future releases but the current usage of CA Baseline profiles will be maintained until a further stabilized CA Core profile (or further Patient Summary requirements) exist.

IG © based on FHIR R4 | Package package:ca.infoway.io.psca@2.1.0-DFT
HL7® and FHIR® are the registered trademarks of Health Level Seven International