Implementation Guide
Telematikinfrastruktur (TI) Common
Version 1.1.0 - release

Resource Profile: TI PractitionerRole

Official URL: https://gematik.de/fhir/ti/StructureDefinition/ti-practitioner-role Version: 1.1.0
Active as of 2025-05-28 Computable Name: TIPractitionerRole

Dieses Profil beschreibt die Verwendung der FHIR-Ressource PractitionerRole in der Telematikinfrastruktur (TI). Es wird verwendet, um die Rolle und Funktion einer Gesundheitsfachperson innerhalb einer Organisation zu definieren.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
ele-1: All FHIR elements must have a @value or children
.... versionId SΣ 0..1 id Version specific identifier
ele-1: All FHIR elements must have a @value or children
.... lastUpdated SΣ 0..1 instant When the resource version last changed
ele-1: All FHIR elements must have a @value or children
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... practitioner SΣ 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
ele-1: All FHIR elements must have a @value or children
... organization SΣ 0..1 Reference(Organization) Organization where the roles are available
ele-1: All FHIR elements must have a @value or children
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
ele-1: All FHIR elements must have a @value or children
.... system SΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value SΣ 0..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!SΣ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from PractitionerRole

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id S 0..1 id Logical id of this artifact
... meta S 0..1 Meta Metadata about the resource
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant When the resource version last changed
... practitioner S 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
... telecom S 0..* ContactPoint Contact details that are specific to the role/location/service
.... system S 0..1 code phone | fax | email | pager | url | sms | other
.... value S 0..1 string The actual contact point details
.... use S 0..1 code home | work | temp | old | mobile - purpose of this contact point

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifiers that are specific to a role/location
... active Σ 0..1 boolean Whether this practitioner role record is in active use
... period Σ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
... practitioner SΣ 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
... organization SΣ 0..1 Reference(Organization) Organization where the roles are available
... code Σ 0..* CodeableConcept Roles which this practitioner may perform
Binding: PractitionerRole (example): The role a person plays representing an organization.


... specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.


... location Σ 0..* Reference(Location) The location(s) at which this practitioner provides care
... healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value SΣ 0..1 string The actual contact point details
.... use ?!SΣ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
.... period Σ 0..1 Period Time period when the contact point was/is in use
... availableTime 0..* BackboneElement Times the Service Site is available
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
.... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
... notAvailable 0..* BackboneElement Not available during this time due to provided reason
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Service not available from this date
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
PractitionerRole.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
PractitionerRole.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
PractitionerRole.codeexamplePractitionerRole
http://hl7.org/fhir/ValueSet/practitioner-role
from the FHIR Standard
PractitionerRole.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from PractitionerRole

Summary

Must-Support: 10 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
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
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
ele-1: All FHIR elements must have a @value or children
.... versionId SΣ 0..1 id Version specific identifier
ele-1: All FHIR elements must have a @value or children
.... lastUpdated SΣ 0..1 instant When the resource version last changed
ele-1: All FHIR elements must have a @value or children
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... practitioner SΣ 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
ele-1: All FHIR elements must have a @value or children
... organization SΣ 0..1 Reference(Organization) Organization where the roles are available
ele-1: All FHIR elements must have a @value or children
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
ele-1: All FHIR elements must have a @value or children
.... system SΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.


ele-1: All FHIR elements must have a @value or children
.... value SΣ 0..1 string The actual contact point details
ele-1: All FHIR elements must have a @value or children
.... use ?!SΣ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.


ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from PractitionerRole

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id S 0..1 id Logical id of this artifact
... meta S 0..1 Meta Metadata about the resource
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant When the resource version last changed
... practitioner S 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
... telecom S 0..* ContactPoint Contact details that are specific to the role/location/service
.... system S 0..1 code phone | fax | email | pager | url | sms | other
.... value S 0..1 string The actual contact point details
.... use S 0..1 code home | work | temp | old | mobile - purpose of this contact point

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PractitionerRole 0..* PractitionerRole Roles/organizations the practitioner is associated with
... id SΣ 0..1 id Logical id of this artifact
... meta SΣ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business Identifiers that are specific to a role/location
... active Σ 0..1 boolean Whether this practitioner role record is in active use
... period Σ 0..1 Period The period during which the practitioner is authorized to perform in these role(s)
... practitioner SΣ 0..1 Reference(Practitioner) Practitioner that is able to provide the defined services for the organization
... organization SΣ 0..1 Reference(Organization) Organization where the roles are available
... code Σ 0..* CodeableConcept Roles which this practitioner may perform
Binding: PractitionerRole (example): The role a person plays representing an organization.


... specialty Σ 0..* CodeableConcept Specific specialty of the practitioner
Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.


... location Σ 0..* Reference(Location) The location(s) at which this practitioner provides care
... healthcareService 0..* Reference(HealthcareService) The list of healthcare services that this worker provides for this role's Organization/Location(s)
... telecom SΣ 0..* ContactPoint Contact details that are specific to the role/location/service
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system SΣC 0..1 code phone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required): Telecommunications form for contact point.

.... value SΣ 0..1 string The actual contact point details
.... use ?!SΣ 0..1 code home | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required): Use of contact point.

.... rank Σ 0..1 positiveInt Specify preferred order of use (1 = highest)
.... period Σ 0..1 Period Time period when the contact point was/is in use
... availableTime 0..* BackboneElement Times the Service Site is available
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.


.... allDay 0..1 boolean Always available? e.g. 24 hour service
.... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
.... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
... notAvailable 0..* BackboneElement Not available during this time due to provided reason
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Service not available from this date
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the practitioner with this role

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PractitionerRole.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
PractitionerRole.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
PractitionerRole.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
PractitionerRole.codeexamplePractitionerRole
http://hl7.org/fhir/ValueSet/practitioner-role
from the FHIR Standard
PractitionerRole.specialtypreferredPracticeSettingCodeValueSet
http://hl7.org/fhir/ValueSet/c80-practice-codes
from the FHIR Standard
PractitionerRole.telecom.systemrequiredContactPointSystem
http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1
from the FHIR Standard
PractitionerRole.telecom.userequiredContactPointUse
http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1
from the FHIR Standard
PractitionerRole.availableTime.daysOfWeekrequiredDaysOfWeek
http://hl7.org/fhir/ValueSet/days-of-week|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPractitionerRoleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPractitionerRoleIf 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-4errorPractitionerRoleIf 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-5errorPractitionerRoleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePractitionerRoleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from PractitionerRole

Summary

Must-Support: 10 elements

 

Other representations of profile: CSV, Excel, Schematron