Visit the HL7 website
Visit the FHIR website

CA Core+

1.2.0-dft-ballot   Canada flag
  • Index
  • Home
  • Business Context
    • Business Context
    • Relationship to PCHDCF
    • Relationship to Other Specifications
    • CA Core+ to PCHDCF Mapping
  • Technical Context
    • Technical Context
    • Artifact Status Summary
    • Profiling Conventions & Approach
    • General Guidance
    • Mapping Logic
    • Security And Privacy
  • Modules
    • Modules
    • Common Data Exchange
    • Workflows
  • FHIR Artifacts
    • FHIR Artifacts
    • Profiles
    • Extensions
    • Data Types
    • Terminology
    • Actors
    • Examples
    • Download
  • Change Log
    • Change Log
    • Specification Guidance
    • Copyrights
    • Known Issues & Future Development
    • Specification Feedback
    1. Index
    2. FHIR Artifacts
    3. Profiles
    4. PractitionerRole (CA-Core)

DFT-Ballot - The specification is a DFT-Ballot version of CA Core+ for collecting ballot feedback. For a full list of available versions, see the Directory of published versions

PractitionerRole (CA-Core)

Links

Profile

practitionerRole-ca-core

Derived from

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

Examples

example-practitionerrole-ca-core, example-practitionerrole-ca-core-2, example-practitionerrole-ca-core-3

Description

This profile applies constraints to the PractitionerRole resource for CA Core+ to support assignment of providers to roles, specialties, and organizations in the pan-Canadian context.

References to this resource

AllergyIntoleranceCACore, AppointmentCACore, CommunicationCACore, ConditionCACore, DiagnosticReportCACore, DocumentReferenceCACore, EncounterCACore, ExampleProcedureProfile, ImmunizationCACore, ObservationCACore, ObservationLaboratoryPathologyResultCACore, PatientCACore, ServiceRequestCACore, TaskCACoreeRec

CFMM: 2

Resource Content

  • Tree view
  • Overview
  • XML
  • JSON
PractitionerRoleCACore (PractitionerRole)CPractitionerRoleElement 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-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-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-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • ca-core-practrole-1: At least one of practitioner, organization, specialty or code SHALL be present.
    practitioner.exists() or organization.exists() or code.exists() or specialty.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

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
  • rim: n/a
  • rim: N/A
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

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
  • rim: n/a
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
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
  • rim: n/a
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

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
  • rim: n/a
  • rim: N/A
  • 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: Entity. Role, or Act
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
identifierO Σ0..*IdentifierElement id
PractitionerRole.identifier
Short description

Business Identifiers that are specific to a role/location

Definition

Business Identifiers that are specific to a role/location.

Requirements

Often, specific identities are assigned for the agent.

Data type

Identifier

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
  • 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
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: .id
  • servd: ./Identifiers
Obligations
CodeActor
MAY:populate-if-knownhttp://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer
SHALL:no-errorhttp://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.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.identifier.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.use
Short description

usual | official | temp | secondary | old (If known)

Definition

The purpose of this identifier.

Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Data type

code

Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

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
  • rim: n/a
  • v2: N/A
  • rim: Role.code or implied by context
typeΣ0..1CodeableConceptBinding
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.type
Short description

Description of identifier

Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Data type

CodeableConcept

Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

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
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: CX.5
  • rim: Role.code or implied by context
systemΣ0..1uri
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.system
Short description

The namespace for the identifier value

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Data type

uri

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())
Examples
General
http://www.acme.com/identifiers/patient
Mappings
  • rim: n/a
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
valueΣ0..1stringElement id
PractitionerRole.identifier.value
Short description

The value that is unique

Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Data type

string

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())
Examples
General
123456
Mappings
  • rim: n/a
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
  • CACDI: Health Care Provider Organization Affiliation Employee Identifier
periodΣ C0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.period
Short description

Time period when id is/was valid for use

Definition

Time period during which identifier is/was valid for use.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.period.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.identifier.period.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
startΣ C0..1dateTimeElement id
PractitionerRole.identifier.period.start
Short description

Starting time with inclusive boundary

Definition

The start of the period. The boundary is inclusive.

Comments

If the low element is missing, the meaning is that the low boundary is not known.

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.1
  • rim: ./low
  • CACDI: Health Care Provider Organization Affiliation Effective Date
endΣ C0..1dateTimeElement id
PractitionerRole.identifier.period.end
Short description

End time with inclusive boundary, if not ongoing

Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.2
  • rim: ./high
  • CACDI: Health Care Provider Organization Affiliation Expiry Date
assignerΣ C0..1Reference(Organization)
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.assigner
Short description

Organization that issued id (may be just text)

Definition

Organization that issued/manages the identifier.

Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Data type

Reference(Organization)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
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

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
  • rim: n/a
  • w5: FiveWs.status
  • v2: STF-7
  • rim: .statusCode
periodΣ C0..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.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • 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)
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.period.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.period.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
startΣ C0..1dateTimeElement id
PractitionerRole.period.start
Short description

Starting time with inclusive boundary

Definition

The start of the period. The boundary is inclusive.

Comments

If the low element is missing, the meaning is that the low boundary is not known.

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.1
  • rim: ./low
  • CACDI: Health Care Provider-as-Affiliate Type Effective Date (Recommended)
endΣ C0..1dateTimeElement id
PractitionerRole.period.end
Short description

End time with inclusive boundary, if not ongoing

Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.2
  • rim: ./high
  • CACDI: Health Care Provider-as-Affiliate Type Expiry Date (Recommended)
practitionerΣ C0..1Reference(PractitionerCACore | Practitioner)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.

Comments

pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to provider details on practitionerRole for various use cases is still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

Reference(PractitionerCACore | Practitioner)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .player
organizationΣ C0..1Reference(OrganizationCACore | Organization)Element id
PractitionerRole.organization
Short description

Organization where the roles are available

Definition

The organization where the Practitioner performs the roles associated.

Comments

pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to organization details on practitionerRole for various use cases is still undefined. For this reason, application of obligations and further constraints towards this element are not currently expressed in this profile. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

Reference(OrganizationCACore | Organization)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .scoper
codeΣ0..*CodeableConceptBindingElement id
PractitionerRole.code
Short description

Roles which this practitioner may perform

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

pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

CodeableConcept

Binding

The role a person plays representing an organization.

HealthcareProviderRoleCode (preferred)

Additional bindings
  • HealthcareProviderRoleType (candidate)

    A role type that is used to categorize an entity that delivers health care

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
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • 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)
  • CACDI: Health Care Provider Role
  • CACDI: Health Care Provider Type Code
specialtyΣ0..*CodeableConceptBindingElement id
PractitionerRole.specialty
Short description

Specific specialty of the practitioner

Definition

Specific specialty of the practitioner.

Comments

pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

CodeableConcept

Binding

Specific specialty associated with the agency.

HealthcareProviderSpecialtyCode (preferred)

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
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PRA-5
  • rim: .player.HealthCareProvider[@classCode = 'PROV'].code
  • servd: ./Specialty
locationΣ C0..*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.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Data type

Reference(Location)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • 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)
healthcareServiceC0..*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).

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Data type

Reference(HealthcareService)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: EDU-2 / AFF-3
  • rim: .player.QualifiedEntity[@classCode = 'QUAL'].code
telecomΣ C0..*ContactPointElement 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.

Comments

Although the provider phone number and provider email concepts are expressed in the pCHDCF materials, their current definition does not distinctly identify the resource target(s) where it has to be applied (e.g., Practitioner vs PractitionerRole). Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients.

Data type

ContactPoint

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())
  • cpt-2: A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim: n/a
  • v2: XTN
  • rim: TEL
  • servd: ContactPoint
  • rim: .telecom
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.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.telecom.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
systemΣ C0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.system
Short description

phone | fax | email | pager | url | sms | other

Definition

Telecommunications form for contact point - what communications system is required to make use of the contact.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

code

Binding

Telecommunications form for contact point.

ContactPointSystem (required)

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: XTN.3
  • rim: ./scheme
  • servd: ./ContactPointType
valueΣ0..1stringElement id
PractitionerRole.telecom.value
Short description

The actual contact point details

Definition

The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).

Requirements

Need to support legacy numbers that are not in a tightly controlled format.

Comments

Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

Data type

string

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
  • rim: n/a
  • v2: XTN.1 (or XTN.12)
  • rim: ./url
  • servd: ./Value
  • CACDI: Contact Mechanism Value
useΣ ?!0..1codeBindingElement id
PractitionerRole.telecom.use
Short description

home | work | temp | old | mobile - purpose of this contact point

Definition

Identifies the purpose for the contact point.

Requirements

Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

Comments

Applications can assume that a contact is current unless it explicitly says that it is temporary or old.

Data type

code

Binding

Use of contact point.

ContactPointUse (required)

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
  • rim: n/a
  • v2: XTN.2 - but often indicated by field
  • rim: unique(./use)
  • servd: ./ContactPointPurpose
  • CACDI: Contact Mechanism Type Code
  • CACDI: Health Care Provider Affiliation Contact Mechanism Purpose Code
rankΣ0..1positiveIntElement id
PractitionerRole.telecom.rank
Short description

Specify preferred order of use (1 = highest)

Definition

Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.

Comments

Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

Data type

positiveInt

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
  • rim: n/a
  • v2: n/a
  • CACDI: Contact Mechanism Rank
periodΣ C0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.period
Short description

Time period when the contact point was/is in use

Definition

Time period when the contact point was/is in use.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: N/A
  • rim: ./usablePeriod[type="IVL<TS>"]
  • servd: ./StartDate and ./EndDate
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.period.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.telecom.period.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
startΣ C0..1dateTimeElement id
PractitionerRole.telecom.period.start
Short description

Starting time with inclusive boundary

Definition

The start of the period. The boundary is inclusive.

Comments

If the low element is missing, the meaning is that the low boundary is not known.

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.1
  • rim: ./low
  • CACDI: Contact Mechanism Effective Date
endΣ C0..1dateTimeElement id
PractitionerRole.telecom.period.end
Short description

End time with inclusive boundary, if not ongoing

Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.2
  • rim: ./high
  • CACDI: Contact Mechanism Expiry Date
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

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
  • rim: n/a
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

code

Binding

The days of the week.

DaysOfWeek (required)

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

string

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
  • rim: n/a
duringC0..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.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • 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.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

string

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
  • rim: n/a
  • rim: .effectiveTime
endpointC0..*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.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Data type

Reference(Endpoint)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
PractitionerRoleCACore (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-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-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-6: A resource should have narrative for robust management
    text.`div`.exists()
  • dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
    contained.meta.security.empty()
  • ca-core-practrole-1: At least one of practitioner, organization, specialty or code SHALL be present.
    practitioner.exists() or organization.exists() or code.exists() or specialty.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

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
  • rim: n/a
  • rim: N/A
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

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
  • rim: n/a
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
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
  • rim: n/a
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

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
  • rim: n/a
  • rim: N/A
  • 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: Entity. Role, or Act
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
identifierO Σ0..*Identifier
There are no (further) constraints on this element
Element id
PractitionerRole.identifier
Short description

Business Identifiers that are specific to a role/location

Definition

Business Identifiers that are specific to a role/location.

Requirements

Often, specific identities are assigned for the agent.

Data type

Identifier

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
  • 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
  • w5: FiveWs.identifier
  • v2: PRD-7 (or XCN.1)
  • rim: .id
  • servd: ./Identifiers
Obligations
CodeActor
MAY:populate-if-knownhttp://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer
SHALL:no-errorhttp://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.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.identifier.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.use
Short description

usual | official | temp | secondary | old (If known)

Definition

The purpose of this identifier.

Requirements

Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.

Comments

Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.

Data type

code

Binding

Identifies the purpose for this identifier, if known .

IdentifierUse (required)

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
  • rim: n/a
  • v2: N/A
  • rim: Role.code or implied by context
typeΣ0..1CodeableConceptBinding
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.type
Short description

Description of identifier

Definition

A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.

Requirements

Allows users to make use of identifiers when the identifier system is not known.

Comments

This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.

Data type

CodeableConcept

Binding

A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

Identifier Type Codes (extensible)

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
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: CX.5
  • rim: Role.code or implied by context
systemΣ0..1uri
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.system
Short description

The namespace for the identifier value

Definition

Establishes the namespace for the value - that is, a URL that describes a set values that are unique.

Requirements

There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.

Comments

Identifier.system is always case sensitive.

Data type

uri

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())
Examples
General
http://www.acme.com/identifiers/patient
Mappings
  • rim: n/a
  • v2: CX.4 / EI-2-4
  • rim: II.root or Role.id.root
  • servd: ./IdentifierType
valueΣ0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.value
Short description

The value that is unique

Definition

The portion of the identifier typically relevant to the user and which is unique within the context of the system.

Comments

If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the Rendered Value extension. Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.

Data type

string

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())
Examples
General
123456
Mappings
  • rim: n/a
  • v2: CX.1 / EI.1
  • rim: II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
  • servd: ./Value
  • CACDI: Health Care Provider Organization Affiliation Employee Identifier
periodΣ C0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.period
Short description

Time period when id is/was valid for use

Definition

Time period during which identifier is/was valid for use.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: CX.7 + CX.8
  • rim: Role.effectiveTime or implied by context
  • servd: ./StartDate and ./EndDate
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.period.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.identifier.period.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
startΣ C0..1dateTime
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.period.start
Short description

Starting time with inclusive boundary

Definition

The start of the period. The boundary is inclusive.

Comments

If the low element is missing, the meaning is that the low boundary is not known.

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.1
  • rim: ./low
  • CACDI: Health Care Provider Organization Affiliation Effective Date
endΣ C0..1dateTime
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.period.end
Short description

End time with inclusive boundary, if not ongoing

Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.2
  • rim: ./high
  • CACDI: Health Care Provider Organization Affiliation Expiry Date
assignerΣ C0..1Reference(Organization)
There are no (further) constraints on this element
Element id
PractitionerRole.identifier.assigner
Short description

Organization that issued id (may be just text)

Definition

Organization that issued/manages the identifier.

Comments

The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.

Data type

Reference(Organization)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: CX.4 / (CX.4,CX.9,CX.10)
  • rim: II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
  • servd: ./IdentifierIssuingAuthority
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

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
  • rim: n/a
  • w5: FiveWs.status
  • v2: STF-7
  • rim: .statusCode
periodΣ C0..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.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • 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)
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.period.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.period.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
startΣ C0..1dateTime
There are no (further) constraints on this element
Element id
PractitionerRole.period.start
Short description

Starting time with inclusive boundary

Definition

The start of the period. The boundary is inclusive.

Comments

If the low element is missing, the meaning is that the low boundary is not known.

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.1
  • rim: ./low
  • CACDI: Health Care Provider-as-Affiliate Type Effective Date (Recommended)
endΣ C0..1dateTime
There are no (further) constraints on this element
Element id
PractitionerRole.period.end
Short description

End time with inclusive boundary, if not ongoing

Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.2
  • rim: ./high
  • CACDI: Health Care Provider-as-Affiliate Type Expiry Date (Recommended)
practitionerΣ C0..1Reference(PractitionerCACore | Practitioner)
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.

Comments

pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to provider details on practitionerRole for various use cases is still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

Reference(PractitionerCACore | Practitioner)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .player
organizationΣ C0..1Reference(OrganizationCACore | Organization)
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

pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to organization details on practitionerRole for various use cases is still undefined. For this reason, application of obligations and further constraints towards this element are not currently expressed in this profile. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

Reference(OrganizationCACore | Organization)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • rim: .scoper
codeΣ0..*CodeableConceptBinding
There are no (further) constraints on this element
Element id
PractitionerRole.code
Short description

Roles which this practitioner may perform

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

pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

CodeableConcept

Binding

The role a person plays representing an organization.

HealthcareProviderRoleCode (preferred)

Additional bindings
  • HealthcareProviderRoleType (candidate)

    A role type that is used to categorize an entity that delivers health care

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
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • 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)
  • CACDI: Health Care Provider Role
  • CACDI: Health Care Provider Type Code
specialtyΣ0..*CodeableConceptBinding
There are no (further) constraints on this element
Element id
PractitionerRole.specialty
Short description

Specific specialty of the practitioner

Definition

Specific specialty of the practitioner.

Comments

pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.

Data type

CodeableConcept

Binding

Specific specialty associated with the agency.

HealthcareProviderSpecialtyCode (preferred)

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
  • rim: n/a
  • v2: CE/CNE/CWE
  • rim: CD
  • orim: fhir:CodeableConcept rdfs:subClassOf dt:CD
  • v2: PRA-5
  • rim: .player.HealthCareProvider[@classCode = 'PROV'].code
  • servd: ./Specialty
locationΣ C0..*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.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Data type

Reference(Location)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • 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)
healthcareServiceC0..*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).

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Data type

Reference(HealthcareService)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
  • v2: EDU-2 / AFF-3
  • rim: .player.QualifiedEntity[@classCode = 'QUAL'].code
telecomΣ C0..*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.

Comments

Although the provider phone number and provider email concepts are expressed in the pCHDCF materials, their current definition does not distinctly identify the resource target(s) where it has to be applied (e.g., Practitioner vs PractitionerRole). Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients.

Data type

ContactPoint

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())
  • cpt-2: A system is required if a value is provided.
    value.empty() or system.exists()
Mappings
  • rim: n/a
  • v2: XTN
  • rim: TEL
  • servd: ContactPoint
  • rim: .telecom
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.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.telecom.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
systemΣ C0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.system
Short description

phone | fax | email | pager | url | sms | other

Definition

Telecommunications form for contact point - what communications system is required to make use of the contact.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

code

Binding

Telecommunications form for contact point.

ContactPointSystem (required)

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: XTN.3
  • rim: ./scheme
  • servd: ./ContactPointType
valueΣ0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.value
Short description

The actual contact point details

Definition

The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).

Requirements

Need to support legacy numbers that are not in a tightly controlled format.

Comments

Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.

Data type

string

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
  • rim: n/a
  • v2: XTN.1 (or XTN.12)
  • rim: ./url
  • servd: ./Value
  • CACDI: Contact Mechanism Value
useΣ ?!0..1codeBinding
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.use
Short description

home | work | temp | old | mobile - purpose of this contact point

Definition

Identifies the purpose for the contact point.

Requirements

Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.

Comments

Applications can assume that a contact is current unless it explicitly says that it is temporary or old.

Data type

code

Binding

Use of contact point.

ContactPointUse (required)

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
  • rim: n/a
  • v2: XTN.2 - but often indicated by field
  • rim: unique(./use)
  • servd: ./ContactPointPurpose
  • CACDI: Contact Mechanism Type Code
  • CACDI: Health Care Provider Affiliation Contact Mechanism Purpose Code
rankΣ0..1positiveInt
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.rank
Short description

Specify preferred order of use (1 = highest)

Definition

Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.

Comments

Note that rank does not necessarily follow the order in which the contacts are represented in the instance.

Data type

positiveInt

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
  • rim: n/a
  • v2: n/a
  • CACDI: Contact Mechanism Rank
periodΣ C0..1Period
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.period
Short description

Time period when the contact point was/is in use

Definition

Time period when the contact point was/is in use.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • v2: N/A
  • rim: ./usablePeriod[type="IVL<TS>"]
  • servd: ./StartDate and ./EndDate
id0..1string
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.period.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.telecom.period.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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • rim: N/A
startΣ C0..1dateTime
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.period.start
Short description

Starting time with inclusive boundary

Definition

The start of the period. The boundary is inclusive.

Comments

If the low element is missing, the meaning is that the low boundary is not known.

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.1
  • rim: ./low
  • CACDI: Contact Mechanism Effective Date
endΣ C0..1dateTime
There are no (further) constraints on this element
Element id
PractitionerRole.telecom.period.end
Short description

End time with inclusive boundary, if not ongoing

Definition

The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.

Comments

The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.

Meaning when missing

If the end of the period is missing, it means that the period is ongoing

Data type

dateTime

Conditions

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

Constraints
  • ele-1: All FHIR elements must have a @value or children
    hasValue() or (children().count() > id.count())
Mappings
  • rim: n/a
  • v2: DR.2
  • rim: ./high
  • CACDI: Contact Mechanism Expiry Date
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

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
  • rim: n/a
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

code

Binding

The days of the week.

DaysOfWeek (required)

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

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
  • rim: n/a
  • 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

Slicing

Unordered, Open, by url(Value)

Extensions are always sliced by (at least) url

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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

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())
  • ext-1: Must have either extensions or value[x], not both
    extension.exists() != value.exists()
Mappings
  • rim: n/a
  • 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.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

string

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
  • rim: n/a
duringC0..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.

Comments

A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").

Period is not used for a duration (a measure of elapsed time). See Duration.

Data type

Period

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())
  • per-1: If present, start SHALL have a lower value than end
    start.hasValue().not() or end.hasValue().not() or (start <= end)
Mappings
  • rim: n/a
  • v2: DR
  • rim: IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]
  • 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.

Comments

Note that FHIR strings SHALL NOT exceed 1MB in size

Data type

string

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
  • rim: n/a
  • rim: .effectiveTime
endpointC0..*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.

Comments

References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.

Data type

Reference(Endpoint)

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())
  • ref-1: SHALL have a contained resource if a local reference is provided
    reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))
Mappings
  • rim: n/a
  • rim: The target of a resource reference is a RIM entry point (Act, Role, or Entity)
{{ren
<StructureDefinition xmlns="http://hl7.org/fhir">
<id value="practitionerRole-ca-core" />
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
<valueInteger value="2" />
</extension>
<url value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core" />
<version value="1.1.0" />
<name value="PractitionerRoleCACore" />
<title value="PractitionerRole (CA-Core)" />
<status value="active" />
<experimental value="false" />
<date value="2025-03-04" />
<publisher value="Canada Health Infoway" />
<contact>
<name value="National Standards Release Centre" />
<telecom>
<system value="url" />
<value value="http://www.infoway-inforoute.ca" />
</telecom>
<telecom>
<system value="email" />
<value value="standards@infoway-inforoute.ca" />
</telecom>
</contact>
<description value="This profile applies constraints to the PractitionerRole resource for CA Core+ to support assignment of providers to roles, specialties, and organizations in the pan-Canadian context." />
<jurisdiction>
<coding>
<system value="urn:iso:std:iso:3166" />
<code value="CA" />
</coding>
</jurisdiction>
<copyright value="Copyright © 2025+ 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" />
<mapping>
<identity value="CACDI" />
<name value="Canadian Core Data for Interoperability (CACDI)" />
</mapping>
<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-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-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>
<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>
<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>
<key value="ca-core-practrole-1" />
<severity value="error" />
<human value="At least one of practitioner, organization, specialty or code SHALL be present." />
<expression value="practitioner.exists() or organization.exists() or code.exists() or specialty.exists()" />
<xpath value="f:practitioner or f:organization or f:code or f:specialty" />
<source value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core" />
</constraint>
<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>
<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>
<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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</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>
<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="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" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</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>
<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>
<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>
<strength value="preferred" />
<description value="A human language." />
<valueSet value="http://hl7.org/fhir/ValueSet/languages" />
</binding>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
<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>
<mapping>
<identity value="rim" />
<map value="Entity. Role, or Act" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.extension">
<path value="PractitionerRole.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.modifierExtension">
<path value="PractitionerRole.modifierExtension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.identifier">
<extension url="http://hl7.org/fhir/StructureDefinition/obligation">
<extension url="code">
<valueCode value="MAY:populate-if-known" />
</extension>
<extension url="actor">
<valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
</extension>
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/obligation">
<extension url="code">
<valueCode value="SHALL:no-error" />
</extension>
<extension url="actor">
<valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
</extension>
</extension>
<path value="PractitionerRole.identifier" />
<short value="Business Identifiers that are specific to a role/location" />
<definition value="Business Identifiers that are specific to a role/location." />
<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" />
</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>
<isSummary value="true" />
<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>
<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>
</element>
<element id="PractitionerRole.identifier.id">
<path value="PractitionerRole.identifier.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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.identifier.extension">
<path value="PractitionerRole.identifier.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.identifier.use">
<path value="PractitionerRole.identifier.use" />
<short value="usual | official | temp | secondary | old (If known)" />
<definition value="The purpose of this identifier." />
<comment value="Applications can assume that an identifier is permanent unless it explicitly says that it is temporary." />
<requirements value="Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers." />
<min value="0" />
<max value="1" />
<base>
<path value="Identifier.use" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="code" />
</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="true" />
<isModifierReason value="This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one." />
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierUse" />
</extension>
<strength value="required" />
<description value="Identifies the purpose for this identifier, if known ." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-use|4.0.1" />
</binding>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="N/A" />
</mapping>
<mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="PractitionerRole.identifier.type">
<path value="PractitionerRole.identifier.type" />
<short value="Description of identifier" />
<definition value="A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
<comment value="This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type." />
<requirements value="Allows users to make use of identifiers when the identifier system is not known." />
<min value="0" />
<max value="1" />
<base>
<path value="Identifier.type" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="CodeableConcept" />
</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>
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="IdentifierType" />
</extension>
<strength value="extensible" />
<description value="A coded type for an identifier that can be used to determine which identifier to use for a specific purpose." />
<valueSet value="http://hl7.org/fhir/ValueSet/identifier-type" />
</binding>
<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>
<mapping>
<identity value="v2" />
<map value="CX.5" />
</mapping>
<mapping>
<identity value="rim" />
<map value="Role.code or implied by context" />
</mapping>
</element>
<element id="PractitionerRole.identifier.system">
<path value="PractitionerRole.identifier.system" />
<short value="The namespace for the identifier value" />
<definition value="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." />
<comment value="Identifier.system is always case sensitive." />
<requirements value="There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers." />
<min value="0" />
<max value="1" />
<base>
<path value="Identifier.system" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="uri" />
</type>
<example>
<label value="General" />
<valueUri value="http://www.acme.com/identifiers/patient" />
</example>
<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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="CX.4 / EI-2-4" />
</mapping>
<mapping>
<identity value="rim" />
<map value="II.root or Role.id.root" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./IdentifierType" />
</mapping>
</element>
<element id="PractitionerRole.identifier.value">
<path value="PractitionerRole.identifier.value" />
<short value="The value that is unique" />
<definition value="The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
<comment value="If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe." />
<min value="0" />
<max value="1" />
<base>
<path value="Identifier.value" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="string" />
</type>
<example>
<label value="General" />
<valueString value="123456" />
</example>
<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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="CX.1 / EI.1" />
</mapping>
<mapping>
<identity value="rim" />
<map value="II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./Value" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Organization Affiliation Employee Identifier" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period">
<path value="PractitionerRole.identifier.period" />
<short value="Time period when id is/was valid for use" />
<definition value="Time period during which identifier is/was valid for use." />
<comment value="A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)." />
<min value="0" />
<max value="1" />
<base>
<path value="Identifier.period" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Period" />
</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>
<constraint>
<key value="per-1" />
<severity value="error" />
<human value="If present, start SHALL have a lower value than end" />
<expression value="start.hasValue().not() or end.hasValue().not() or (start <= end)" />
<xpath value="not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))" />
<source value="http://hl7.org/fhir/StructureDefinition/Period" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR" />
</mapping>
<mapping>
<identity value="rim" />
<map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" />
</mapping>
<mapping>
<identity value="v2" />
<map value="CX.7 + CX.8" />
</mapping>
<mapping>
<identity value="rim" />
<map value="Role.effectiveTime or implied by context" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./StartDate and ./EndDate" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period.id">
<path value="PractitionerRole.identifier.period.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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period.extension">
<path value="PractitionerRole.identifier.period.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period.start">
<path value="PractitionerRole.identifier.period.start" />
<short value="Starting time with inclusive boundary" />
<definition value="The start of the period. The boundary is inclusive." />
<comment value="If the low element is missing, the meaning is that the low boundary is not known." />
<min value="0" />
<max value="1" />
<base>
<path value="Period.start" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="dateTime" />
</type>
<condition value="ele-1" />
<condition value="per-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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR.1" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./low" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Organization Affiliation Effective Date" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period.end">
<path value="PractitionerRole.identifier.period.end" />
<short value="End time with inclusive boundary, if not ongoing" />
<definition value="The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
<comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03." />
<min value="0" />
<max value="1" />
<base>
<path value="Period.end" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="dateTime" />
</type>
<meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
<condition value="ele-1" />
<condition value="per-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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR.2" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./high" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Organization Affiliation Expiry Date" />
</mapping>
</element>
<element id="PractitionerRole.identifier.assigner">
<path value="PractitionerRole.identifier.assigner" />
<short value="Organization that issued id (may be just text)" />
<definition value="Organization that issued/manages the identifier." />
<comment value="The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization." />
<min value="0" />
<max value="1" />
<base>
<path value="Identifier.assigner" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Reference" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</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>
<constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Reference" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
<mapping>
<identity value="v2" />
<map value="CX.4 / (CX.4,CX.9,CX.10)" />
</mapping>
<mapping>
<identity value="rim" />
<map value="II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./IdentifierIssuingAuthority" />
</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" />
<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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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." />
<comment value="A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)." />
<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>
<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>
<constraint>
<key value="per-1" />
<severity value="error" />
<human value="If present, start SHALL have a lower value than end" />
<expression value="start.hasValue().not() or end.hasValue().not() or (start <= end)" />
<xpath value="not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))" />
<source value="http://hl7.org/fhir/StructureDefinition/Period" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR" />
</mapping>
<mapping>
<identity value="rim" />
<map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" />
</mapping>
<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.period.id">
<path value="PractitionerRole.period.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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.period.extension">
<path value="PractitionerRole.period.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.period.start">
<path value="PractitionerRole.period.start" />
<short value="Starting time with inclusive boundary" />
<definition value="The start of the period. The boundary is inclusive." />
<comment value="If the low element is missing, the meaning is that the low boundary is not known." />
<min value="0" />
<max value="1" />
<base>
<path value="Period.start" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="dateTime" />
</type>
<condition value="ele-1" />
<condition value="per-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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR.1" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./low" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider-as-Affiliate Type Effective Date (Recommended)" />
</mapping>
</element>
<element id="PractitionerRole.period.end">
<path value="PractitionerRole.period.end" />
<short value="End time with inclusive boundary, if not ongoing" />
<definition value="The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
<comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03." />
<min value="0" />
<max value="1" />
<base>
<path value="Period.end" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="dateTime" />
</type>
<meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
<condition value="ele-1" />
<condition value="per-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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR.2" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./high" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider-as-Affiliate Type Expiry Date (Recommended)" />
</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." />
<comment value="pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to provider details on practitionerRole for various use cases is still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<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/cacore/StructureDefinition/practitioner-ca-core" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
</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>
<constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Reference" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
<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="pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to organization details on practitionerRole for various use cases is still undefined. For this reason, application of obligations and further constraints towards this element are not currently expressed in this profile. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<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/cacore/StructureDefinition/organization-ca-core" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</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>
<constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Reference" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".scoper" />
</mapping>
</element>
<element id="PractitionerRole.code">
<path value="PractitionerRole.code" />
<short value="Roles which this practitioner may perform" />
<definition value="Roles which this practitioner is authorized to perform for the organization." />
<comment value="pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<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" />
</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>
<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="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype" />
</extension>
<extension url="documentation">
<valueMarkdown value="A role type that is used to categorize an entity that delivers health care" />
</extension>
</extension>
<strength value="preferred" />
<description value="The role a person plays representing an organization." />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderrolecode" />
</binding>
<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>
<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="CACDI" />
<map value="Health Care Provider Role" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Type Code" />
</mapping>
</element>
<element id="PractitionerRole.specialty">
<path value="PractitionerRole.specialty" />
<short value="Specific specialty of the practitioner" />
<definition value="Specific specialty of the practitioner." />
<comment value="pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.specialty" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="CodeableConcept" />
</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>
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="PractitionerSpecialty" />
</extension>
<strength value="preferred" />
<description value="Specific specialty associated with the agency." />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderspecialtycode" />
</binding>
<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>
<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." />
<comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
<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>
<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>
<constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Reference" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
<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)." />
<comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
<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>
<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>
<constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Reference" />
</constraint>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
<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." />
<comment value="Although the provider phone number and provider email concepts are expressed in the pCHDCF materials, their current definition does not distinctly identify the resource target(s) where it has to be applied (e.g., Practitioner vs PractitionerRole). Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients." />
<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>
<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>
<constraint>
<key value="cpt-2" />
<severity value="error" />
<human value="A system is required if a value is provided." />
<expression value="value.empty() or system.exists()" />
<xpath value="not(exists(f:value)) or exists(f:system)" />
<source value="http://hl7.org/fhir/StructureDefinition/ContactPoint" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="XTN" />
</mapping>
<mapping>
<identity value="rim" />
<map value="TEL" />
</mapping>
<mapping>
<identity value="servd" />
<map value="ContactPoint" />
</mapping>
<mapping>
<identity value="rim" />
<map value=".telecom" />
</mapping>
</element>
<element id="PractitionerRole.telecom.id">
<path value="PractitionerRole.telecom.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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.telecom.extension">
<path value="PractitionerRole.telecom.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.telecom.system">
<path value="PractitionerRole.telecom.system" />
<short value="phone | fax | email | pager | url | sms | other" />
<definition value="Telecommunications form for contact point - what communications system is required to make use of the contact." />
<comment value="Note that FHIR strings SHALL NOT exceed 1MB in size" />
<min value="0" />
<max value="1" />
<base>
<path value="ContactPoint.system" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="code" />
</type>
<condition value="ele-1" />
<condition value="cpt-2" />
<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>
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ContactPointSystem" />
</extension>
<strength value="required" />
<description value="Telecommunications form for contact point." />
<valueSet value="http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1" />
</binding>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="XTN.3" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./scheme" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./ContactPointType" />
</mapping>
</element>
<element id="PractitionerRole.telecom.value">
<path value="PractitionerRole.telecom.value" />
<short value="The actual contact point details" />
<definition value="The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address)." />
<comment value="Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value." />
<requirements value="Need to support legacy numbers that are not in a tightly controlled format." />
<min value="0" />
<max value="1" />
<base>
<path value="ContactPoint.value" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="string" />
</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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="XTN.1 (or XTN.12)" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./url" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./Value" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Value" />
</mapping>
</element>
<element id="PractitionerRole.telecom.use">
<path value="PractitionerRole.telecom.use" />
<short value="home | work | temp | old | mobile - purpose of this contact point" />
<definition value="Identifies the purpose for the contact point." />
<comment value="Applications can assume that a contact is current unless it explicitly says that it is temporary or old." />
<requirements value="Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose." />
<min value="0" />
<max value="1" />
<base>
<path value="ContactPoint.use" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="code" />
</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="true" />
<isModifierReason value="This is labeled as "Is Modifier" because applications should not mistake a temporary or old contact etc.for a current/permanent one" />
<isSummary value="true" />
<binding>
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
<valueString value="ContactPointUse" />
</extension>
<strength value="required" />
<description value="Use of contact point." />
<valueSet value="http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1" />
</binding>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="XTN.2 - but often indicated by field" />
</mapping>
<mapping>
<identity value="rim" />
<map value="unique(./use)" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./ContactPointPurpose" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Type Code" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Affiliation Contact Mechanism Purpose Code" />
</mapping>
</element>
<element id="PractitionerRole.telecom.rank">
<path value="PractitionerRole.telecom.rank" />
<short value="Specify preferred order of use (1 = highest)" />
<definition value="Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values." />
<comment value="Note that rank does not necessarily follow the order in which the contacts are represented in the instance." />
<min value="0" />
<max value="1" />
<base>
<path value="ContactPoint.rank" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="positiveInt" />
</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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Rank" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period">
<path value="PractitionerRole.telecom.period" />
<short value="Time period when the contact point was/is in use" />
<definition value="Time period when the contact point was/is in use." />
<comment value="A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)." />
<min value="0" />
<max value="1" />
<base>
<path value="ContactPoint.period" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Period" />
</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>
<constraint>
<key value="per-1" />
<severity value="error" />
<human value="If present, start SHALL have a lower value than end" />
<expression value="start.hasValue().not() or end.hasValue().not() or (start <= end)" />
<xpath value="not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))" />
<source value="http://hl7.org/fhir/StructureDefinition/Period" />
</constraint>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR" />
</mapping>
<mapping>
<identity value="rim" />
<map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" />
</mapping>
<mapping>
<identity value="v2" />
<map value="N/A" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./usablePeriod[type="IVL<TS>"]" />
</mapping>
<mapping>
<identity value="servd" />
<map value="./StartDate and ./EndDate" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period.id">
<path value="PractitionerRole.telecom.period.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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period.extension">
<path value="PractitionerRole.telecom.period.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="N/A" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period.start">
<path value="PractitionerRole.telecom.period.start" />
<short value="Starting time with inclusive boundary" />
<definition value="The start of the period. The boundary is inclusive." />
<comment value="If the low element is missing, the meaning is that the low boundary is not known." />
<min value="0" />
<max value="1" />
<base>
<path value="Period.start" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="dateTime" />
</type>
<condition value="ele-1" />
<condition value="per-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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR.1" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./low" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Effective Date" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period.end">
<path value="PractitionerRole.telecom.period.end" />
<short value="End time with inclusive boundary, if not ongoing" />
<definition value="The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time." />
<comment value="The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03." />
<min value="0" />
<max value="1" />
<base>
<path value="Period.end" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="dateTime" />
</type>
<meaningWhenMissing value="If the end of the period is missing, it means that the period is ongoing" />
<condition value="ele-1" />
<condition value="per-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>
<isSummary value="true" />
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR.2" />
</mapping>
<mapping>
<identity value="rim" />
<map value="./high" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Expiry Date" />
</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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.availableTime.extension">
<path value="PractitionerRole.availableTime.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<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>
<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>
<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." />
<comment value="Note that FHIR strings SHALL NOT exceed 1MB in size" />
<min value="0" />
<max value="*" />
<base>
<path value="PractitionerRole.availableTime.daysOfWeek" />
<min value="0" />
<max value="*" />
</base>
<type>
<code value="code" />
</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>
<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="n/a" />
</mapping>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
</element>
<element id="PractitionerRole.notAvailable.extension">
<path value="PractitionerRole.notAvailable.extension" />
<slicing>
<discriminator>
<type value="value" />
<path value="url" />
</discriminator>
<description value="Extensions are always sliced by (at least) url" />
<rules value="open" />
</slicing>
<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>
<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>
<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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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>
<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>
<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>
<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." />
<comment value="Note that FHIR strings SHALL NOT exceed 1MB in size" />
<min value="1" />
<max value="1" />
<base>
<path value="PractitionerRole.notAvailable.description" />
<min value="1" />
<max value="1" />
</base>
<type>
<code value="string" />
</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>
<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." />
<comment value="A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. "the patient was an inpatient of the hospital for this time range") or one value from the range applies (e.g. "give to the patient between these two times").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)." />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.notAvailable.during" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="Period" />
</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>
<constraint>
<key value="per-1" />
<severity value="error" />
<human value="If present, start SHALL have a lower value than end" />
<expression value="start.hasValue().not() or end.hasValue().not() or (start <= end)" />
<xpath value="not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))" />
<source value="http://hl7.org/fhir/StructureDefinition/Period" />
</constraint>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="v2" />
<map value="DR" />
</mapping>
<mapping>
<identity value="rim" />
<map value="IVL<TS>[lowClosed="true" and highClosed="true"] or URG<TS>[lowClosed="true" and highClosed="true"]" />
</mapping>
<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." />
<comment value="Note that FHIR strings SHALL NOT exceed 1MB in size" />
<min value="0" />
<max value="1" />
<base>
<path value="PractitionerRole.availabilityExceptions" />
<min value="0" />
<max value="1" />
</base>
<type>
<code value="string" />
</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>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<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." />
<comment value="References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository." />
<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>
<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>
<constraint>
<key value="ref-1" />
<severity value="error" />
<human value="SHALL have a contained resource if a local reference is provided" />
<expression value="reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))" />
<xpath value="not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])" />
<source value="http://hl7.org/fhir/StructureDefinition/Reference" />
</constraint>
<mapping>
<identity value="rim" />
<map value="n/a" />
</mapping>
<mapping>
<identity value="rim" />
<map value="The target of a resource reference is a RIM entry point (Act, Role, or Entity)" />
</mapping>
</element>
</snapshot>
<differential>
<element id="PractitionerRole">
<path value="PractitionerRole" />
<constraint>
<key value="ca-core-practrole-1" />
<severity value="error" />
<human value="At least one of practitioner, organization, specialty or code SHALL be present." />
<expression value="practitioner.exists() or organization.exists() or code.exists() or specialty.exists()" />
<xpath value="f:practitioner or f:organization or f:code or f:specialty" />
<source value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core" />
</constraint>
</element>
<element id="PractitionerRole.identifier">
<extension url="http://hl7.org/fhir/StructureDefinition/obligation">
<extension url="code">
<valueCode value="MAY:populate-if-known" />
</extension>
<extension url="actor">
<valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
</extension>
</extension>
<extension url="http://hl7.org/fhir/StructureDefinition/obligation">
<extension url="code">
<valueCode value="SHALL:no-error" />
</extension>
<extension url="actor">
<valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
</extension>
</extension>
<path value="PractitionerRole.identifier" />
</element>
<element id="PractitionerRole.identifier.value">
<path value="PractitionerRole.identifier.value" />
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Organization Affiliation Employee Identifier" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period.start">
<path value="PractitionerRole.identifier.period.start" />
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Organization Affiliation Effective Date" />
</mapping>
</element>
<element id="PractitionerRole.identifier.period.end">
<path value="PractitionerRole.identifier.period.end" />
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Organization Affiliation Expiry Date" />
</mapping>
</element>
<element id="PractitionerRole.period.start">
<path value="PractitionerRole.period.start" />
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider-as-Affiliate Type Effective Date (Recommended)" />
</mapping>
</element>
<element id="PractitionerRole.period.end">
<path value="PractitionerRole.period.end" />
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider-as-Affiliate Type Expiry Date (Recommended)" />
</mapping>
</element>
<element id="PractitionerRole.practitioner">
<path value="PractitionerRole.practitioner" />
<comment value="pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to provider details on practitionerRole for various use cases is still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<type>
<code value="Reference" />
<targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitioner-ca-core" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Practitioner" />
</type>
</element>
<element id="PractitionerRole.organization">
<path value="PractitionerRole.organization" />
<comment value="pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to organization details on practitionerRole for various use cases is still undefined. For this reason, application of obligations and further constraints towards this element are not currently expressed in this profile. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<type>
<code value="Reference" />
<targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/organization-ca-core" />
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Organization" />
</type>
</element>
<element id="PractitionerRole.code">
<path value="PractitionerRole.code" />
<comment value="pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<binding>
<extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
<extension url="purpose">
<valueCode value="candidate" />
</extension>
<extension url="valueSet">
<valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype" />
</extension>
<extension url="documentation">
<valueMarkdown value="A role type that is used to categorize an entity that delivers health care" />
</extension>
</extension>
<strength value="preferred" />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderrolecode" />
</binding>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Role" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Type Code" />
</mapping>
</element>
<element id="PractitionerRole.specialty">
<path value="PractitionerRole.specialty" />
<comment value="pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF." />
<binding>
<strength value="preferred" />
<valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderspecialtycode" />
</binding>
</element>
<element id="PractitionerRole.telecom">
<path value="PractitionerRole.telecom" />
<comment value="Although the provider phone number and provider email concepts are expressed in the pCHDCF materials, their current definition does not distinctly identify the resource target(s) where it has to be applied (e.g., Practitioner vs PractitionerRole). Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients." />
</element>
<element id="PractitionerRole.telecom.value">
<path value="PractitionerRole.telecom.value" />
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Value" />
</mapping>
</element>
<element id="PractitionerRole.telecom.use">
<path value="PractitionerRole.telecom.use" />
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Type Code" />
</mapping>
<mapping>
<identity value="CACDI" />
<map value="Health Care Provider Affiliation Contact Mechanism Purpose Code" />
</mapping>
</element>
<element id="PractitionerRole.telecom.rank">
<path value="PractitionerRole.telecom.rank" />
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Rank" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period.start">
<path value="PractitionerRole.telecom.period.start" />
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Effective Date" />
</mapping>
</element>
<element id="PractitionerRole.telecom.period.end">
<path value="PractitionerRole.telecom.period.end" />
<mapping>
<identity value="CACDI" />
<map value="Contact Mechanism Expiry Date" />
</mapping>
</element>
</differential>
</StructureDefinition>
{
"resourceType": "StructureDefinition",
"id": "practitionerRole-ca-core",
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
"valueInteger": 2
}
],
"url": "http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core",
"version": "1.1.0",
"name": "PractitionerRoleCACore",
"title": "PractitionerRole (CA-Core)",
"status": "active",
"experimental": false,
"date": "2025-03-04",
"publisher": "Canada Health Infoway",
"contact": [
{
"name": "National Standards Release Centre",
"telecom": [
{
"system": "url",
"value": "http://www.infoway-inforoute.ca"
},
{
"system": "email",
"value": "standards@infoway-inforoute.ca"
}
]
}
],
"description": "This profile applies constraints to the PractitionerRole resource for CA Core+ to support assignment of providers to roles, specialties, and organizations in the pan-Canadian context.",
"jurisdiction": [
{
"coding": [
{
"system": "urn:iso:std:iso:3166",
"code": "CA"
}
]
}
],
"copyright": "Copyright © 2025+ 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",
"mapping": [
{
"identity": "CACDI",
"name": "Canadian Core Data for Interoperability (CACDI)"
}
],
"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-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-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"
},
{
"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"
},
{
"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"
},
{
"key": "ca-core-practrole-1",
"severity": "error",
"human": "At least one of practitioner, organization, specialty or code SHALL be present.",
"expression": "practitioner.exists() or organization.exists() or code.exists() or specialty.exists()",
"xpath": "f:practitioner or f:organization or f:code or f:specialty",
"source": "http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core"
}
],
"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"
}
],
"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"
}
],
"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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"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"
}
],
"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": 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,
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"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"
}
],
"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"
}
],
"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"
}
],
"strength": "preferred",
"description": "A human language.",
"valueSet": "http://hl7.org/fhir/ValueSet/languages"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"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"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "Entity. Role, or Act"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.extension",
"path": "PractitionerRole.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.modifierExtension",
"path": "PractitionerRole.modifierExtension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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",
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.identifier",
"extension": [
{
"extension": [
{
"url": "code",
"valueCode": "MAY:populate-if-known"
},
{
"url": "actor",
"valueCanonical": "http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/obligation"
},
{
"extension": [
{
"url": "code",
"valueCode": "SHALL:no-error"
},
{
"url": "actor",
"valueCanonical": "http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/obligation"
}
],
"path": "PractitionerRole.identifier",
"short": "Business Identifiers that are specific to a role/location",
"definition": "Business Identifiers that are specific to a role/location.",
"requirements": "Often, specific identities are assigned for the agent.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.identifier",
"min": 0,
"max": "*"
},
"type": [
{
"code": "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"
}
],
"isSummary": true,
"mapping": [
{
"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"
},
{
"identity": "w5",
"map": "FiveWs.identifier"
},
{
"identity": "v2",
"map": "PRD-7 (or XCN.1)"
},
{
"identity": "rim",
"map": ".id"
},
{
"identity": "servd",
"map": "./Identifiers"
}
]
},
{
"id": "PractitionerRole.identifier.id",
"path": "PractitionerRole.identifier.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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.identifier.extension",
"path": "PractitionerRole.identifier.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.identifier.use",
"path": "PractitionerRole.identifier.use",
"short": "usual | official | temp | secondary | old (If known)",
"definition": "The purpose of this identifier.",
"comment": "Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.",
"requirements": "Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.use",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"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": true,
"isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary id for a permanent one.",
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierUse"
}
],
"strength": "required",
"description": "Identifies the purpose for this identifier, if known .",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-use|4.0.1"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "N/A"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "PractitionerRole.identifier.type",
"path": "PractitionerRole.identifier.type",
"short": "Description of identifier",
"definition": "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.",
"comment": "This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.",
"requirements": "Allows users to make use of identifiers when the identifier system is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.type",
"min": 0,
"max": "1"
},
"type": [
{
"code": "CodeableConcept"
}
],
"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"
}
],
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "IdentifierType"
}
],
"strength": "extensible",
"description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
"valueSet": "http://hl7.org/fhir/ValueSet/identifier-type"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE"
},
{
"identity": "rim",
"map": "CD"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
},
{
"identity": "v2",
"map": "CX.5"
},
{
"identity": "rim",
"map": "Role.code or implied by context"
}
]
},
{
"id": "PractitionerRole.identifier.system",
"path": "PractitionerRole.identifier.system",
"short": "The namespace for the identifier value",
"definition": "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.",
"comment": "Identifier.system is always case sensitive.",
"requirements": "There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.system",
"min": 0,
"max": "1"
},
"type": [
{
"code": "uri"
}
],
"example": [
{
"label": "General",
"valueUri": "http://www.acme.com/identifiers/patient"
}
],
"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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CX.4 / EI-2-4"
},
{
"identity": "rim",
"map": "II.root or Role.id.root"
},
{
"identity": "servd",
"map": "./IdentifierType"
}
]
},
{
"id": "PractitionerRole.identifier.value",
"path": "PractitionerRole.identifier.value",
"short": "The value that is unique",
"definition": "The portion of the identifier typically relevant to the user and which is unique within the context of the system.",
"comment": "If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.value",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"example": [
{
"label": "General",
"valueString": "123456"
}
],
"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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CX.1 / EI.1"
},
{
"identity": "rim",
"map": "II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)"
},
{
"identity": "servd",
"map": "./Value"
},
{
"identity": "CACDI",
"map": "Health Care Provider Organization Affiliation Employee Identifier"
}
]
},
{
"id": "PractitionerRole.identifier.period",
"path": "PractitionerRole.identifier.period",
"short": "Time period when id is/was valid for use",
"definition": "Time period during which identifier is/was valid for use.",
"comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
"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"
},
{
"key": "per-1",
"severity": "error",
"human": "If present, start SHALL have a lower value than end",
"expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
"xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
"source": "http://hl7.org/fhir/StructureDefinition/Period"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR"
},
{
"identity": "rim",
"map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"identity": "v2",
"map": "CX.7 + CX.8"
},
{
"identity": "rim",
"map": "Role.effectiveTime or implied by context"
},
{
"identity": "servd",
"map": "./StartDate and ./EndDate"
}
]
},
{
"id": "PractitionerRole.identifier.period.id",
"path": "PractitionerRole.identifier.period.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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.identifier.period.extension",
"path": "PractitionerRole.identifier.period.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.identifier.period.start",
"path": "PractitionerRole.identifier.period.start",
"short": "Starting time with inclusive boundary",
"definition": "The start of the period. The boundary is inclusive.",
"comment": "If the low element is missing, the meaning is that the low boundary is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Period.start",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"condition": [
"ele-1",
"per-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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR.1"
},
{
"identity": "rim",
"map": "./low"
},
{
"identity": "CACDI",
"map": "Health Care Provider Organization Affiliation Effective Date"
}
]
},
{
"id": "PractitionerRole.identifier.period.end",
"path": "PractitionerRole.identifier.period.end",
"short": "End time with inclusive boundary, if not ongoing",
"definition": "The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
"comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.",
"min": 0,
"max": "1",
"base": {
"path": "Period.end",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
"condition": [
"ele-1",
"per-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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR.2"
},
{
"identity": "rim",
"map": "./high"
},
{
"identity": "CACDI",
"map": "Health Care Provider Organization Affiliation Expiry Date"
}
]
},
{
"id": "PractitionerRole.identifier.assigner",
"path": "PractitionerRole.identifier.assigner",
"short": "Organization that issued id (may be just text)",
"definition": "Organization that issued/manages the identifier.",
"comment": "The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.",
"min": 0,
"max": "1",
"base": {
"path": "Identifier.assigner",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
"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"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
"source": "http://hl7.org/fhir/StructureDefinition/Reference"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
},
{
"identity": "v2",
"map": "CX.4 / (CX.4,CX.9,CX.10)"
},
{
"identity": "rim",
"map": "II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper"
},
{
"identity": "servd",
"map": "./IdentifierIssuingAuthority"
}
]
},
{
"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",
"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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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.",
"comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
"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"
}
],
"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"
},
{
"key": "per-1",
"severity": "error",
"human": "If present, start SHALL have a lower value than end",
"expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
"xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
"source": "http://hl7.org/fhir/StructureDefinition/Period"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR"
},
{
"identity": "rim",
"map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"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.period.id",
"path": "PractitionerRole.period.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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.period.extension",
"path": "PractitionerRole.period.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.period.start",
"path": "PractitionerRole.period.start",
"short": "Starting time with inclusive boundary",
"definition": "The start of the period. The boundary is inclusive.",
"comment": "If the low element is missing, the meaning is that the low boundary is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Period.start",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"condition": [
"ele-1",
"per-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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR.1"
},
{
"identity": "rim",
"map": "./low"
},
{
"identity": "CACDI",
"map": "Health Care Provider-as-Affiliate Type Effective Date (Recommended)"
}
]
},
{
"id": "PractitionerRole.period.end",
"path": "PractitionerRole.period.end",
"short": "End time with inclusive boundary, if not ongoing",
"definition": "The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
"comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.",
"min": 0,
"max": "1",
"base": {
"path": "Period.end",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
"condition": [
"ele-1",
"per-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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR.2"
},
{
"identity": "rim",
"map": "./high"
},
{
"identity": "CACDI",
"map": "Health Care Provider-as-Affiliate Type Expiry Date (Recommended)"
}
]
},
{
"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.",
"comment": "pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to provider details on practitionerRole for various use cases is still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.practitioner",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitioner-ca-core",
"http://hl7.org/fhir/StructureDefinition/Practitioner"
]
}
],
"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"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
"source": "http://hl7.org/fhir/StructureDefinition/Reference"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
},
{
"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": "pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to organization details on practitionerRole for various use cases is still undefined. For this reason, application of obligations and further constraints towards this element are not currently expressed in this profile. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.organization",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/organization-ca-core",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
],
"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"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
"source": "http://hl7.org/fhir/StructureDefinition/Reference"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
},
{
"identity": "rim",
"map": ".scoper"
}
]
},
{
"id": "PractitionerRole.code",
"path": "PractitionerRole.code",
"short": "Roles which this practitioner may perform",
"definition": "Roles which this practitioner is authorized to perform for the organization.",
"comment": "pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"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"
}
],
"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"
}
],
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "PractitionerRole"
},
{
"extension": [
{
"url": "purpose",
"valueCode": "candidate"
},
{
"url": "valueSet",
"valueCanonical": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype"
},
{
"url": "documentation",
"valueMarkdown": "A role type that is used to categorize an entity that delivers health care"
}
],
"url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
}
],
"strength": "preferred",
"description": "The role a person plays representing an organization.",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderrolecode"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE"
},
{
"identity": "rim",
"map": "CD"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
},
{
"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": "CACDI",
"map": "Health Care Provider Role"
},
{
"identity": "CACDI",
"map": "Health Care Provider Type Code"
}
]
},
{
"id": "PractitionerRole.specialty",
"path": "PractitionerRole.specialty",
"short": "Specific specialty of the practitioner",
"definition": "Specific specialty of the practitioner.",
"comment": "pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.specialty",
"min": 0,
"max": "*"
},
"type": [
{
"code": "CodeableConcept"
}
],
"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"
}
],
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "PractitionerSpecialty"
}
],
"strength": "preferred",
"description": "Specific specialty associated with the agency.",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderspecialtycode"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "CE/CNE/CWE"
},
{
"identity": "rim",
"map": "CD"
},
{
"identity": "orim",
"map": "fhir:CodeableConcept rdfs:subClassOf dt:CD"
},
{
"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.",
"comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.location",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/Location"
]
}
],
"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"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
"source": "http://hl7.org/fhir/StructureDefinition/Reference"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
},
{
"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).",
"comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.healthcareService",
"min": 0,
"max": "*"
},
"type": [
{
"code": "Reference",
"targetProfile": [
"http://hl7.org/fhir/StructureDefinition/HealthcareService"
]
}
],
"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"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
"source": "http://hl7.org/fhir/StructureDefinition/Reference"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
},
{
"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.",
"comment": "Although the provider phone number and provider email concepts are expressed in the pCHDCF materials, their current definition does not distinctly identify the resource target(s) where it has to be applied (e.g., Practitioner vs PractitionerRole). Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients.",
"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"
}
],
"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"
},
{
"key": "cpt-2",
"severity": "error",
"human": "A system is required if a value is provided.",
"expression": "value.empty() or system.exists()",
"xpath": "not(exists(f:value)) or exists(f:system)",
"source": "http://hl7.org/fhir/StructureDefinition/ContactPoint"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XTN"
},
{
"identity": "rim",
"map": "TEL"
},
{
"identity": "servd",
"map": "ContactPoint"
},
{
"identity": "rim",
"map": ".telecom"
}
]
},
{
"id": "PractitionerRole.telecom.id",
"path": "PractitionerRole.telecom.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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.telecom.extension",
"path": "PractitionerRole.telecom.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.telecom.system",
"path": "PractitionerRole.telecom.system",
"short": "phone | fax | email | pager | url | sms | other",
"definition": "Telecommunications form for contact point - what communications system is required to make use of the contact.",
"comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "ContactPoint.system",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"condition": [
"ele-1",
"cpt-2"
],
"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"
}
],
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ContactPointSystem"
}
],
"strength": "required",
"description": "Telecommunications form for contact point.",
"valueSet": "http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XTN.3"
},
{
"identity": "rim",
"map": "./scheme"
},
{
"identity": "servd",
"map": "./ContactPointType"
}
]
},
{
"id": "PractitionerRole.telecom.value",
"path": "PractitionerRole.telecom.value",
"short": "The actual contact point details",
"definition": "The actual contact point details, in a form that is meaningful to the designated communication system (i.e. phone number or email address).",
"comment": "Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.",
"requirements": "Need to support legacy numbers that are not in a tightly controlled format.",
"min": 0,
"max": "1",
"base": {
"path": "ContactPoint.value",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XTN.1 (or XTN.12)"
},
{
"identity": "rim",
"map": "./url"
},
{
"identity": "servd",
"map": "./Value"
},
{
"identity": "CACDI",
"map": "Contact Mechanism Value"
}
]
},
{
"id": "PractitionerRole.telecom.use",
"path": "PractitionerRole.telecom.use",
"short": "home | work | temp | old | mobile - purpose of this contact point",
"definition": "Identifies the purpose for the contact point.",
"comment": "Applications can assume that a contact is current unless it explicitly says that it is temporary or old.",
"requirements": "Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.",
"min": 0,
"max": "1",
"base": {
"path": "ContactPoint.use",
"min": 0,
"max": "1"
},
"type": [
{
"code": "code"
}
],
"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": true,
"isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old contact etc.for a current/permanent one",
"isSummary": true,
"binding": {
"extension": [
{
"url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
"valueString": "ContactPointUse"
}
],
"strength": "required",
"description": "Use of contact point.",
"valueSet": "http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1"
},
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "XTN.2 - but often indicated by field"
},
{
"identity": "rim",
"map": "unique(./use)"
},
{
"identity": "servd",
"map": "./ContactPointPurpose"
},
{
"identity": "CACDI",
"map": "Contact Mechanism Type Code"
},
{
"identity": "CACDI",
"map": "Health Care Provider Affiliation Contact Mechanism Purpose Code"
}
]
},
{
"id": "PractitionerRole.telecom.rank",
"path": "PractitionerRole.telecom.rank",
"short": "Specify preferred order of use (1 = highest)",
"definition": "Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.",
"comment": "Note that rank does not necessarily follow the order in which the contacts are represented in the instance.",
"min": 0,
"max": "1",
"base": {
"path": "ContactPoint.rank",
"min": 0,
"max": "1"
},
"type": [
{
"code": "positiveInt"
}
],
"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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "n/a"
},
{
"identity": "CACDI",
"map": "Contact Mechanism Rank"
}
]
},
{
"id": "PractitionerRole.telecom.period",
"path": "PractitionerRole.telecom.period",
"short": "Time period when the contact point was/is in use",
"definition": "Time period when the contact point was/is in use.",
"comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
"min": 0,
"max": "1",
"base": {
"path": "ContactPoint.period",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
"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"
},
{
"key": "per-1",
"severity": "error",
"human": "If present, start SHALL have a lower value than end",
"expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
"xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
"source": "http://hl7.org/fhir/StructureDefinition/Period"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR"
},
{
"identity": "rim",
"map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"identity": "v2",
"map": "N/A"
},
{
"identity": "rim",
"map": "./usablePeriod[type=\"IVL<TS>\"]"
},
{
"identity": "servd",
"map": "./StartDate and ./EndDate"
}
]
},
{
"id": "PractitionerRole.telecom.period.id",
"path": "PractitionerRole.telecom.period.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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.telecom.period.extension",
"path": "PractitionerRole.telecom.period.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "N/A"
}
]
},
{
"id": "PractitionerRole.telecom.period.start",
"path": "PractitionerRole.telecom.period.start",
"short": "Starting time with inclusive boundary",
"definition": "The start of the period. The boundary is inclusive.",
"comment": "If the low element is missing, the meaning is that the low boundary is not known.",
"min": 0,
"max": "1",
"base": {
"path": "Period.start",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"condition": [
"ele-1",
"per-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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR.1"
},
{
"identity": "rim",
"map": "./low"
},
{
"identity": "CACDI",
"map": "Contact Mechanism Effective Date"
}
]
},
{
"id": "PractitionerRole.telecom.period.end",
"path": "PractitionerRole.telecom.period.end",
"short": "End time with inclusive boundary, if not ongoing",
"definition": "The end of the period. If the end of the period is missing, it means no end was known or planned at the time the instance was created. The start may be in the past, and the end date in the future, which means that period is expected/planned to end at that time.",
"comment": "The high value includes any matching date/time. i.e. 2012-02-03T10:00:00 is in a period that has an end value of 2012-02-03.",
"min": 0,
"max": "1",
"base": {
"path": "Period.end",
"min": 0,
"max": "1"
},
"type": [
{
"code": "dateTime"
}
],
"meaningWhenMissing": "If the end of the period is missing, it means that the period is ongoing",
"condition": [
"ele-1",
"per-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"
}
],
"isSummary": true,
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR.2"
},
{
"identity": "rim",
"map": "./high"
},
{
"identity": "CACDI",
"map": "Contact Mechanism Expiry Date"
}
]
},
{
"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"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.availableTime.extension",
"path": "PractitionerRole.availableTime.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"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"
},
{
"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"
},
{
"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.",
"comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
"min": 0,
"max": "*",
"base": {
"path": "PractitionerRole.availableTime.daysOfWeek",
"min": 0,
"max": "*"
},
"type": [
{
"code": "code"
}
],
"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"
}
],
"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": "n/a"
},
{
"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"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
}
]
},
{
"id": "PractitionerRole.notAvailable.extension",
"path": "PractitionerRole.notAvailable.extension",
"slicing": {
"discriminator": [
{
"type": "value",
"path": "url"
}
],
"description": "Extensions are always sliced by (at least) url",
"rules": "open"
},
"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"
}
],
"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"
},
{
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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"
}
],
"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"
},
{
"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"
},
{
"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.",
"comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
"min": 1,
"max": "1",
"base": {
"path": "PractitionerRole.notAvailable.description",
"min": 1,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"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"
}
],
"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.",
"comment": "A Period specifies a range of time; the context of use will specify whether the entire range applies (e.g. \"the patient was an inpatient of the hospital for this time range\") or one value from the range applies (e.g. \"give to the patient between these two times\").\n\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration).",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.notAvailable.during",
"min": 0,
"max": "1"
},
"type": [
{
"code": "Period"
}
],
"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"
},
{
"key": "per-1",
"severity": "error",
"human": "If present, start SHALL have a lower value than end",
"expression": "start.hasValue().not() or end.hasValue().not() or (start <= end)",
"xpath": "not(exists(f:start/@value)) or not(exists(f:end/@value)) or (xs:dateTime(f:start/@value) <= xs:dateTime(f:end/@value))",
"source": "http://hl7.org/fhir/StructureDefinition/Period"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "v2",
"map": "DR"
},
{
"identity": "rim",
"map": "IVL<TS>[lowClosed=\"true\" and highClosed=\"true\"] or URG<TS>[lowClosed=\"true\" and highClosed=\"true\"]"
},
{
"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.",
"comment": "Note that FHIR strings SHALL NOT exceed 1MB in size",
"min": 0,
"max": "1",
"base": {
"path": "PractitionerRole.availabilityExceptions",
"min": 0,
"max": "1"
},
"type": [
{
"code": "string"
}
],
"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"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"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.",
"comment": "References SHALL be a reference to an actual FHIR resource, and SHALL be resolveable (allowing for access control, temporary unavailability, etc.). Resolution can be either by retrieval from the URL, or, where applicable by resource type, by treating an absolute reference as a canonical URL and looking it up in a local registry/repository.",
"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"
]
}
],
"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"
},
{
"key": "ref-1",
"severity": "error",
"human": "SHALL have a contained resource if a local reference is provided",
"expression": "reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids'))",
"xpath": "not(starts-with(f:reference/@value, '#')) or exists(ancestor::*[self::f:entry or self::f:parameter]/f:resource/f:*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')]|/*/f:contained/f:*[f:id/@value=substring-after(current()/f:reference/@value, '#')])",
"source": "http://hl7.org/fhir/StructureDefinition/Reference"
}
],
"mapping": [
{
"identity": "rim",
"map": "n/a"
},
{
"identity": "rim",
"map": "The target of a resource reference is a RIM entry point (Act, Role, or Entity)"
}
]
}
]
},
"differential": {
"element": [
{
"id": "PractitionerRole",
"path": "PractitionerRole",
"constraint": [
{
"key": "ca-core-practrole-1",
"severity": "error",
"human": "At least one of practitioner, organization, specialty or code SHALL be present.",
"expression": "practitioner.exists() or organization.exists() or code.exists() or specialty.exists()",
"xpath": "f:practitioner or f:organization or f:code or f:specialty",
"source": "http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitionerRole-ca-core"
}
]
},
{
"id": "PractitionerRole.identifier",
"extension": [
{
"extension": [
{
"url": "code",
"valueCode": "MAY:populate-if-known"
},
{
"url": "actor",
"valueCanonical": "http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/obligation"
},
{
"extension": [
{
"url": "code",
"valueCode": "SHALL:no-error"
},
{
"url": "actor",
"valueCanonical": "http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer"
}
],
"url": "http://hl7.org/fhir/StructureDefinition/obligation"
}
],
"path": "PractitionerRole.identifier"
},
{
"id": "PractitionerRole.identifier.value",
"path": "PractitionerRole.identifier.value",
"mapping": [
{
"identity": "CACDI",
"map": "Health Care Provider Organization Affiliation Employee Identifier"
}
]
},
{
"id": "PractitionerRole.identifier.period.start",
"path": "PractitionerRole.identifier.period.start",
"mapping": [
{
"identity": "CACDI",
"map": "Health Care Provider Organization Affiliation Effective Date"
}
]
},
{
"id": "PractitionerRole.identifier.period.end",
"path": "PractitionerRole.identifier.period.end",
"mapping": [
{
"identity": "CACDI",
"map": "Health Care Provider Organization Affiliation Expiry Date"
}
]
},
{
"id": "PractitionerRole.period.start",
"path": "PractitionerRole.period.start",
"mapping": [
{
"identity": "CACDI",
"map": "Health Care Provider-as-Affiliate Type Effective Date (Recommended)"
}
]
},
{
"id": "PractitionerRole.period.end",
"path": "PractitionerRole.period.end",
"mapping": [
{
"identity": "CACDI",
"map": "Health Care Provider-as-Affiliate Type Expiry Date (Recommended)"
}
]
},
{
"id": "PractitionerRole.practitioner",
"path": "PractitionerRole.practitioner",
"comment": "pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to provider details on practitionerRole for various use cases is still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/practitioner-ca-core",
"http://hl7.org/fhir/StructureDefinition/Practitioner"
]
}
]
},
{
"id": "PractitionerRole.organization",
"path": "PractitionerRole.organization",
"comment": "pCHDCF modelling for care team concepts (including provider/practitionerRole/organization linking) is still underway. The requirements to support a linkage to organization details on practitionerRole for various use cases is still undefined. For this reason, application of obligations and further constraints towards this element are not currently expressed in this profile. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"type": [
{
"code": "Reference",
"targetProfile": [
"http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/organization-ca-core",
"http://hl7.org/fhir/StructureDefinition/Organization"
]
}
]
},
{
"id": "PractitionerRole.code",
"path": "PractitionerRole.code",
"comment": "pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"binding": {
"extension": [
{
"extension": [
{
"url": "purpose",
"valueCode": "candidate"
},
{
"url": "valueSet",
"valueCanonical": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype"
},
{
"url": "documentation",
"valueMarkdown": "A role type that is used to categorize an entity that delivers health care"
}
],
"url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
}
],
"strength": "preferred",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderrolecode"
},
"mapping": [
{
"identity": "CACDI",
"map": "Health Care Provider Role"
},
{
"identity": "CACDI",
"map": "Health Care Provider Type Code"
}
]
},
{
"id": "PractitionerRole.specialty",
"path": "PractitionerRole.specialty",
"comment": "pCHDCF modelling for care team concepts is still underway. The requirements to support specialty and expertise details on practitionerRole for various use cases are still undefined. Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients. The profile will continue to evolve as care team details undergo data modelling in the pCHDCF.",
"binding": {
"strength": "preferred",
"valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderspecialtycode"
}
},
{
"id": "PractitionerRole.telecom",
"path": "PractitionerRole.telecom",
"comment": "Although the provider phone number and provider email concepts are expressed in the pCHDCF materials, their current definition does not distinctly identify the resource target(s) where it has to be applied (e.g., Practitioner vs PractitionerRole). Reviewers are encouraged to provide feedback on the potential impact of applying a 'no-error' obligation on this element for clients."
},
{
"id": "PractitionerRole.telecom.value",
"path": "PractitionerRole.telecom.value",
"mapping": [
{
"identity": "CACDI",
"map": "Contact Mechanism Value"
}
]
},
{
"id": "PractitionerRole.telecom.use",
"path": "PractitionerRole.telecom.use",
"mapping": [
{
"identity": "CACDI",
"map": "Contact Mechanism Type Code"
},
{
"identity": "CACDI",
"map": "Health Care Provider Affiliation Contact Mechanism Purpose Code"
}
]
},
{
"id": "PractitionerRole.telecom.rank",
"path": "PractitionerRole.telecom.rank",
"mapping": [
{
"identity": "CACDI",
"map": "Contact Mechanism Rank"
}
]
},
{
"id": "PractitionerRole.telecom.period.start",
"path": "PractitionerRole.telecom.period.start",
"mapping": [
{
"identity": "CACDI",
"map": "Contact Mechanism Effective Date"
}
]
},
{
"id": "PractitionerRole.telecom.period.end",
"path": "PractitionerRole.telecom.period.end",
"mapping": [
{
"identity": "CACDI",
"map": "Contact Mechanism Expiry Date"
}
]
}
]
}
}

Terminology bindings

PathConformanceValueSet
PractitionerRole.codepreferredhttps://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderrolecode
PractitionerRole.specialtypreferredhttps://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderspecialtycode

Additional Terminology Bindings

These bindings may be used in lieu of the primary bindings in the table above.

PathConformanceAdditionalValueSet
PractitionerRole.codecandidatehttps://fhir.infoway-inforoute.ca/ValueSet/healthcareproviderroletype

Mappings to CACDI

The following tables list how the data elements from CA Core+ map to CACDI. For more information visit Mapping Logic.

FHIR Profile ElementCACDI Element(s)
PractitionerRole.identifier.valueHealth Care Provider Organization Affiliation Employee Identifier
PractitionerRole.identifier.period.startHealth Care Provider Organization Affiliation Effective Date
PractitionerRole.identifier.period.endHealth Care Provider Organization Affiliation Expiry Date
PractitionerRole.period.startHealth Care Provider-as-Affiliate Type Effective Date (Recommended)
PractitionerRole.period.endHealth Care Provider-as-Affiliate Type Expiry Date (Recommended)
PractitionerRole.codeHealth Care Provider Role, Health Care Provider Type Code
PractitionerRole.telecom.valueContact Mechanism Value
PractitionerRole.telecom.useContact Mechanism Type Code, Health Care Provider Affiliation Contact Mechanism Purpose Code
PractitionerRole.telecom.rankContact Mechanism Rank
PractitionerRole.telecom.period.startContact Mechanism Effective Date
PractitionerRole.telecom.period.endContact Mechanism Expiry Date

IG © based on FHIR R4 | Package package:ca.infoway.io.core@1.2.0-dft-ballot
Copyright © 2026 Canada Health Infoway. All rights reserved. Terms of Use & License Agreements. Privacy Policy.
HL7® and FHIR® are the registered trademarks of Health Level Seven International