Netherlands - Generic Functions for data exchange Implementation Guide
0.3.0 - ci-build

Netherlands - Generic Functions for data exchange Implementation Guide, published by Stichting Nuts. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/nuts-foundation/nl-generic-functions-ig/ and changes regularly. See the Directory of published versions

## Resource Profile: NL Generic Functions PractitionerRole Profile

Official URL: http://nuts-foundation.github.io/nl-generic-functions-ig/StructureDefinition/nl-gf-practitionerrole | Version: 0.3.0
Draft as of 2026-09-07 | Computable Name: NlGfPractitionerRole

The details of a healthcare practitioner's role within an organization.

Usages:

- Examples for this Profile: PractitionerRole/5fa4c91a-a12f-48ae-a4c7-92971dc7ab53, PractitionerRole/ad1-pr1, PractitionerRole/ad2-pr1, PractitionerRole/ad3-pr1... Show 2 more, PractitionerRole/d60525bd-5caf-4437-8f4b-4156300a27de and PractitionerRole/f051d3bd-26ff-4030-a5b6-fc4ef2be83ba
- CapabilityStatements using this Profile: Administration Directory for Administration Client, Administration Directory for Update Client, Query Directory for Query Client for only Read operations and Query Directory for Query Client

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
Slices for identifier | Σ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Open by value:$this
identifier:AssignedId | Σ | 1..1 | Identifier | Business Identifiers that are specific to a role/location
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | The value that is unique Example General: 123456
assigner | Σ | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier | Σ | 1..1 | Identifier | Logical reference, when literal reference is not known
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 1..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
coding | Σ | 1..1 | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/provenance-participant-type
code | Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: author
system | Σ | 0..1 | uri | The namespace for the identifier value Required Pattern: http://fhir.nl/fhir/NamingSystem/ura
value | Σ | 1..1 | string | The value that is unique Example General: 123456
practitioner | Σ | 1..1 | Reference(Practitioner | nl core HealthProfessional Practitioner) | Practitioner that is able to provide the defined services for the organization
organization | Σ | 1..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider
code | Σ | 1..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization.
Slices for specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Slice: Unordered, Open by value:$this Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
specialty:specialty | Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (required): Specific specialty associated with the agency.
Slices for telecom | Σ | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this
telecom:telephoneNumbers | Σ C N | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C N | 0..* | NlcoreContactInformationEmailAddresses | EmailAddresses Constraints: cpt-2
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.identifier:AssignedId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
PractitionerRole.code | Base | example | Practitioner role | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty:specialty | Base | required | SpecialismeCodelijsten | 📦2020-09-01T00:00:00 | FHIR implementation of zibs 2020 v0.12

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
implicitRules |  | 0..0 |  | A set of rules under which this content was created
modifierExtension |  | 0..0 |  | Extension
Slices for identifier |  | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Open by value:$this
identifier:AssignedId |  | 1..1 | Identifier | Business Identifiers that are specific to a role/location
system |  | 1..1 | uri | The namespace for the identifier value
value |  | 1..1 | string | The value that is unique
assigner |  | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier |  | 1..1 | Identifier | Logical reference, when literal reference is not known
type |  | 1..1 | CodeableConcept | Description of identifier
coding |  | 1..1 | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/provenance-participant-type
code |  | 0..1 | code | Symbol in syntax defined by the system Required Pattern: author
system |  | 0..1 | uri | The namespace for the identifier value Required Pattern: http://fhir.nl/fhir/NamingSystem/ura
value |  | 1..1 | string | The value that is unique
practitioner |  | 1..1 | Reference(Practitioner | nl core HealthProfessional Practitioner) | Practitioner that is able to provide the defined services for the organization
organization |  | 1..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider
code |  | 1..* | CodeableConcept | Roles which this practitioner may perform
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
Slices for identifier | Σ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Open by value:$this
identifier:AssignedId | Σ | 1..1 | Identifier | Business Identifiers that are specific to a role/location
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 1..1 | Identifier | Logical reference, when literal reference is not known
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 1..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system
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 | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/provenance-participant-type
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: author
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
system | Σ | 0..1 | uri | The namespace for the identifier value Required Pattern: http://fhir.nl/fhir/NamingSystem/ura
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | Σ | 0..1 | string | Text alternative for the resource
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 | Σ | 1..1 | Reference(Practitioner | nl core HealthProfessional Practitioner) | Practitioner that is able to provide the defined services for the organization
organization | Σ | 1..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider
code | Σ | 1..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization.
Slices for specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Slice: Unordered, Open by value:$this Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
specialty:specialty | Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (required): Specific specialty associated with the agency.
location | Σ | 0..* | Reference(Location | nl core HealthcareProvider) | 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)
Slices for telecom | Σ | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this
telecom:telephoneNumbers | Σ C N | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C N | 0..* | NlcoreContactInformationEmailAddresses | EmailAddresses Constraints: cpt-2
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
PractitionerRole.code | Base | example | Practitioner role | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty:specialty | Base | required | SpecialismeCodelijsten | 📦2020-09-01T00:00:00 | FHIR implementation of zibs 2020 v0.12
PractitionerRole.availableTime.​daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Summary

Mandatory: 12 elements
Prohibited: 2 elements

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PractitionerRole.identifier

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
Slices for identifier | Σ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Open by value:$this
identifier:AssignedId | Σ | 1..1 | Identifier | Business Identifiers that are specific to a role/location
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | The value that is unique Example General: 123456
assigner | Σ | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier | Σ | 1..1 | Identifier | Logical reference, when literal reference is not known
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 1..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
coding | Σ | 1..1 | Coding | Code defined by a terminology system
system | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/provenance-participant-type
code | Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: author
system | Σ | 0..1 | uri | The namespace for the identifier value Required Pattern: http://fhir.nl/fhir/NamingSystem/ura
value | Σ | 1..1 | string | The value that is unique Example General: 123456
practitioner | Σ | 1..1 | Reference(Practitioner | nl core HealthProfessional Practitioner) | Practitioner that is able to provide the defined services for the organization
organization | Σ | 1..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider
code | Σ | 1..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization.
Slices for specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Slice: Unordered, Open by value:$this Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
specialty:specialty | Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (required): Specific specialty associated with the agency.
Slices for telecom | Σ | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this
telecom:telephoneNumbers | Σ C N | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C N | 0..* | NlcoreContactInformationEmailAddresses | EmailAddresses Constraints: cpt-2
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.identifier:AssignedId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
PractitionerRole.code | Base | example | Practitioner role | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty:specialty | Base | required | SpecialismeCodelijsten | 📦2020-09-01T00:00:00 | FHIR implementation of zibs 2020 v0.12

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`

Differential View

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
implicitRules |  | 0..0 |  | A set of rules under which this content was created
modifierExtension |  | 0..0 |  | Extension
Slices for identifier |  | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Open by value:$this
identifier:AssignedId |  | 1..1 | Identifier | Business Identifiers that are specific to a role/location
system |  | 1..1 | uri | The namespace for the identifier value
value |  | 1..1 | string | The value that is unique
assigner |  | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier |  | 1..1 | Identifier | Logical reference, when literal reference is not known
type |  | 1..1 | CodeableConcept | Description of identifier
coding |  | 1..1 | Coding | Code defined by a terminology system
system |  | 0..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/provenance-participant-type
code |  | 0..1 | code | Symbol in syntax defined by the system Required Pattern: author
system |  | 0..1 | uri | The namespace for the identifier value Required Pattern: http://fhir.nl/fhir/NamingSystem/ura
value |  | 1..1 | string | The value that is unique
practitioner |  | 1..1 | Reference(Practitioner | nl core HealthProfessional Practitioner) | Practitioner that is able to provide the defined services for the organization
organization |  | 1..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider
code |  | 1..* | CodeableConcept | Roles which this practitioner may perform
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
language |  | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
extension |  | 0..* | Extension | Additional content defined by implementations
Slices for identifier | Σ | 1..* | Identifier | Business Identifiers that are specific to a role/location Slice: Unordered, Open by value:$this
identifier:AssignedId | Σ | 1..1 | Identifier | Business Identifiers that are specific to a role/location
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
reference | Σ C | 0..1 | string | Literal reference, Relative, internal or absolute URL
type | Σ | 0..1 | uri | Type the reference refers to (e.g. "Patient") Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
identifier | Σ | 1..1 | Identifier | Logical reference, when literal reference is not known
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 1..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
coding | Σ | 1..1 | Coding | Code defined by a terminology system
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 | Σ | 0..1 | uri | Identity of the terminology system Required Pattern: http://terminology.hl7.org/CodeSystem/provenance-participant-type
version | Σ | 0..1 | string | Version of the system - if relevant
code | Σ | 0..1 | code | Symbol in syntax defined by the system Required Pattern: author
display | Σ | 0..1 | string | Representation defined by the system
userSelected | Σ | 0..1 | boolean | If this coding was chosen directly by the user
text | Σ | 0..1 | string | Plain text representation of the concept
system | Σ | 0..1 | uri | The namespace for the identifier value Required Pattern: http://fhir.nl/fhir/NamingSystem/ura
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | Σ | 0..1 | string | Text alternative for the resource
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 | Σ | 1..1 | Reference(Practitioner | nl core HealthProfessional Practitioner) | Practitioner that is able to provide the defined services for the organization
organization | Σ | 1..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider
code | Σ | 1..* | CodeableConcept | Roles which this practitioner may perform Binding: PractitionerRole (example): The role a person plays representing an organization.
Slices for specialty | Σ | 0..* | CodeableConcept | Specific specialty of the practitioner Slice: Unordered, Open by value:$this Binding: PracticeSettingCodeValueSet (preferred): Specific specialty associated with the agency.
specialty:specialty | Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (required): Specific specialty associated with the agency.
location | Σ | 0..* | Reference(Location | nl core HealthcareProvider) | 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)
Slices for telecom | Σ | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this
telecom:telephoneNumbers | Σ C N | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C N | 0..* | NlcoreContactInformationEmailAddresses | EmailAddresses Constraints: cpt-2
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
PractitionerRole.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
PractitionerRole.identifier:AssignedId.​assigner.identifier.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
PractitionerRole.code | Base | example | Practitioner role | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty | Base | preferred | Practice Setting Code Value Set | 📦4.0.1 | FHIR Std.
PractitionerRole.specialty:specialty | Base | required | SpecialismeCodelijsten | 📦2020-09-01T00:00:00 | FHIR implementation of zibs 2020 v0.12
PractitionerRole.availableTime.​daysOfWeek | Base | required | DaysOfWeek | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | PractitionerRole | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | PractitionerRole | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | PractitionerRole | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | PractitionerRole | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Summary

Mandatory: 12 elements
Prohibited: 2 elements

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of PractitionerRole.identifier

Other representations of profile: CSV, Excel, Schematron