Advance Care Planning (PZP)
1.0.0-rc1 - trial-use

Advance Care Planning (PZP) - Downloaded Version 1.0.0-rc1 See the Directory of published versions

## Resource Profile: HealthProfessional PractitionerRole

Official URL: https://api.iknl.nl/docs/pzp/r4/StructureDefinition/ACP-HealthProfessional-PractitionerRole | Version: 1.0.0-rc1
Draft as of 2025-10-30 | Computable Name: ACPHealthProfessionalPractitionerRole
Copyright/Legal: Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise.

The specialty of a person who is authorized to perform actions in the field of individual healthcare. Based on nl-core-HealthProfessionalPractitionerRole and HCIM HealthProfessional.

Usages:

- Refer to this Profile: Communication, Encounter, Advance Care Planning Procedure and TreatmentDirective
- Examples for this Profile: PractitionerRole/F1-ACP-HealthProfessional-PractitionerRole-DrVanHuissen, PractitionerRole/P2-ACP-HealthProfessional-PractitionerRole-DesireeWolters and PractitionerRole/P2-ACP-HealthProfessional-PractitionerRole-Santos

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
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url Constraints: ext-1
practitioner | O Σ C | 0..1 | Reference(HealthProfessional Practitioner(1.0.0-rc1)) | Practitioner that is able to provide the defined services for the organization Constraints: ref-1
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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 | O Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (2020-09-01T00:00:00) (required): Specific specialty associated with the agency.
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Slices for telecom | Σ C | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this Constraints: cpt-2
telecom:telephoneNumbers | Σ C | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C | 0..* | NlcoreContactInformationEmailAddresses | EmailAddresses Constraints: cpt-2
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
PractitionerRole.specialty | preferred | PracticeSettingCodeValueSet `http://hl7.org/fhir/ValueSet/c80-practice-codes|4.0.1` From the FHIR Standard
PractitionerRole.specialty:specialty | required | SpecialismeCodelijsten `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.22--20200901000000|2020-09-01T00:00:00`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
cpt-2 | error | PractitionerRole.telecom, 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 | PractitionerRole.implicitRules, PractitionerRole.modifierExtension, PractitionerRole.practitioner, PractitionerRole.specialty, PractitionerRole.specialty:specialty, PractitionerRole.telecom, PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | PractitionerRole.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ref-1 | error | PractitionerRole.practitioner | 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')) |

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
practitioner | O | 0..1 | Reference(HealthProfessional Practitioner(1.0.0-rc1)) | Practitioner that is able to provide the defined services for the organization
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Slices for specialty |  |  |  | Content/Rules for all slices
specialty:specialty | O | 0..1 | CodeableConcept | Specialty
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
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 Slice: Unordered, Open by value:url Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url Constraints: ext-1
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 | Σ C | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) Constraints: per-1
practitioner | O Σ C | 0..1 | Reference(HealthProfessional Practitioner(1.0.0-rc1)) | Practitioner that is able to provide the defined services for the organization Constraints: ref-1
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
organization | Σ C | 0..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider Constraints: ref-1
code | Σ | 0..* | 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 | O Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (2020-09-01T00:00:00) (required): Specific specialty associated with the agency.
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
location | Σ C | 0..* | Reference(Location | nl core HealthcareProvider) | The location(s) at which this practitioner provides care Constraints: ref-1
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) Constraints: ref-1
Slices for telecom | Σ C | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this Constraints: cpt-2
telecom:telephoneNumbers | Σ C | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C | 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 Slice: Unordered, Open by value:url Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 Slice: Unordered, Open by value:url Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
description |  | 1..1 | string | Reason presented to the user explaining why time not available
during | C | 0..1 | Period | Service not available from this date Constraints: per-1
availabilityExceptions |  | 0..1 | string | Description of availability exceptions
endpoint | C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role Constraints: ref-1
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
PractitionerRole.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages|4.0.1` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
PractitionerRole.code | example | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role|4.0.1` From the FHIR Standard
PractitionerRole.specialty | preferred | PracticeSettingCodeValueSet `http://hl7.org/fhir/ValueSet/c80-practice-codes|4.0.1` From the FHIR Standard
PractitionerRole.specialty:specialty | required | SpecialismeCodelijsten `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.22--20200901000000|2020-09-01T00:00:00`
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
cpt-2 | error | PractitionerRole.telecom, 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 | PractitionerRole.meta, PractitionerRole.implicitRules, PractitionerRole.language, PractitionerRole.text, PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.identifier, PractitionerRole.active, PractitionerRole.period, PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.code, PractitionerRole.specialty, PractitionerRole.specialty:specialty, PractitionerRole.location, PractitionerRole.healthcareService, PractitionerRole.telecom, PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses, PractitionerRole.availableTime, PractitionerRole.availableTime.extension, PractitionerRole.availableTime.modifierExtension, PractitionerRole.availableTime.daysOfWeek, PractitionerRole.availableTime.allDay, PractitionerRole.availableTime.availableStartTime, PractitionerRole.availableTime.availableEndTime, PractitionerRole.notAvailable, PractitionerRole.notAvailable.extension, PractitionerRole.notAvailable.modifierExtension, PractitionerRole.notAvailable.description, PractitionerRole.notAvailable.during, PractitionerRole.availabilityExceptions, PractitionerRole.endpoint | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.availableTime.extension, PractitionerRole.availableTime.modifierExtension, PractitionerRole.notAvailable.extension, PractitionerRole.notAvailable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
per-1 | error | PractitionerRole.period, PractitionerRole.notAvailable.during | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) |
ref-1 | error | PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.location, PractitionerRole.healthcareService, PractitionerRole.endpoint | 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')) |

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Summary

Structures

This structure refers to these other structures:

- HealthProfessional Practitioner (https://api.iknl.nl/docs/pzp/r4/StructureDefinition/ACP-HealthProfessional-Practitioner|1.0.0-rc1)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url Constraints: ext-1
practitioner | O Σ C | 0..1 | Reference(HealthProfessional Practitioner(1.0.0-rc1)) | Practitioner that is able to provide the defined services for the organization Constraints: ref-1
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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 | O Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (2020-09-01T00:00:00) (required): Specific specialty associated with the agency.
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Slices for telecom | Σ C | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this Constraints: cpt-2
telecom:telephoneNumbers | Σ C | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C | 0..* | NlcoreContactInformationEmailAddresses | EmailAddresses Constraints: cpt-2
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
PractitionerRole.specialty | preferred | PracticeSettingCodeValueSet `http://hl7.org/fhir/ValueSet/c80-practice-codes|4.0.1` From the FHIR Standard
PractitionerRole.specialty:specialty | required | SpecialismeCodelijsten `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.22--20200901000000|2020-09-01T00:00:00`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
cpt-2 | error | PractitionerRole.telecom, 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 | PractitionerRole.implicitRules, PractitionerRole.modifierExtension, PractitionerRole.practitioner, PractitionerRole.specialty, PractitionerRole.specialty:specialty, PractitionerRole.telecom, PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | PractitionerRole.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
ref-1 | error | PractitionerRole.practitioner | 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')) |

Differential View

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
PractitionerRole |  | 0..* | NlcoreHealthProfessionalPractitionerRole | HealthProfessional
practitioner | O | 0..1 | Reference(HealthProfessional Practitioner(1.0.0-rc1)) | Practitioner that is able to provide the defined services for the organization
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Slices for specialty |  |  |  | Content/Rules for all slices
specialty:specialty | O | 0..1 | CodeableConcept | Specialty
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
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
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
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 Slice: Unordered, Open by value:url Constraints: ext-1
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored Slice: Unordered, Open by value:url Constraints: ext-1
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 | Σ C | 0..1 | Period | The period during which the practitioner is authorized to perform in these role(s) Constraints: per-1
practitioner | O Σ C | 0..1 | Reference(HealthProfessional Practitioner(1.0.0-rc1)) | Practitioner that is able to provide the defined services for the organization Constraints: ref-1
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
organization | Σ C | 0..1 | Reference(Organization | nl core HealthcareProvider Organization) | HealthcareProvider Constraints: ref-1
code | Σ | 0..* | 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 | O Σ | 0..1 | CodeableConcept | Specialty Binding: SpecialismeCodelijsten (2020-09-01T00:00:00) (required): Specific specialty associated with the agency.
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
location | Σ C | 0..* | Reference(Location | nl core HealthcareProvider) | The location(s) at which this practitioner provides care Constraints: ref-1
healthcareService | C | 0..* | Reference(HealthcareService) | The list of healthcare services that this worker provides for this role's Organization/Location(s) Constraints: ref-1
Slices for telecom | Σ C | 0..* | ContactPoint | ContactInformation Slice: Unordered, Open by profile:$this Constraints: cpt-2
telecom:telephoneNumbers | Σ C | 0..* | NlcoreContactInformationTelephoneNumbers | TelephoneNumbers Constraints: cpt-2
telecom:emailAddresses | Σ C | 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 Slice: Unordered, Open by value:url Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
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 Slice: Unordered, Open by value:url Constraints: ext-1
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized Constraints: ext-1
description |  | 1..1 | string | Reason presented to the user explaining why time not available
during | C | 0..1 | Period | Service not available from this date Constraints: per-1
availabilityExceptions |  | 0..1 | string | Description of availability exceptions
endpoint | C | 0..* | Reference(Endpoint) | Technical endpoints providing access to services operated for the practitioner with this role Constraints: ref-1
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
PractitionerRole.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages|4.0.1` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
PractitionerRole.code | example | PractitionerRole `http://hl7.org/fhir/ValueSet/practitioner-role|4.0.1` From the FHIR Standard
PractitionerRole.specialty | preferred | PracticeSettingCodeValueSet `http://hl7.org/fhir/ValueSet/c80-practice-codes|4.0.1` From the FHIR Standard
PractitionerRole.specialty:specialty | required | SpecialismeCodelijsten `http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.22--20200901000000|2020-09-01T00:00:00`
PractitionerRole.availableTime.daysOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
cpt-2 | error | PractitionerRole.telecom, 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 | PractitionerRole.meta, PractitionerRole.implicitRules, PractitionerRole.language, PractitionerRole.text, PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.identifier, PractitionerRole.active, PractitionerRole.period, PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.code, PractitionerRole.specialty, PractitionerRole.specialty:specialty, PractitionerRole.location, PractitionerRole.healthcareService, PractitionerRole.telecom, PractitionerRole.telecom:telephoneNumbers, PractitionerRole.telecom:emailAddresses, PractitionerRole.availableTime, PractitionerRole.availableTime.extension, PractitionerRole.availableTime.modifierExtension, PractitionerRole.availableTime.daysOfWeek, PractitionerRole.availableTime.allDay, PractitionerRole.availableTime.availableStartTime, PractitionerRole.availableTime.availableEndTime, PractitionerRole.notAvailable, PractitionerRole.notAvailable.extension, PractitionerRole.notAvailable.modifierExtension, PractitionerRole.notAvailable.description, PractitionerRole.notAvailable.during, PractitionerRole.availabilityExceptions, PractitionerRole.endpoint | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | PractitionerRole.extension, PractitionerRole.modifierExtension, PractitionerRole.availableTime.extension, PractitionerRole.availableTime.modifierExtension, PractitionerRole.notAvailable.extension, PractitionerRole.notAvailable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
per-1 | error | PractitionerRole.period, PractitionerRole.notAvailable.during | If present, start SHALL have a lower value than end : start.hasValue().not() or end.hasValue().not() or (start <= end) |
ref-1 | error | PractitionerRole.practitioner, PractitionerRole.organization, PractitionerRole.location, PractitionerRole.healthcareService, PractitionerRole.endpoint | 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')) |

This structure is derived from NlcoreHealthProfessionalPractitionerRole

Summary

Structures

This structure refers to these other structures:

- HealthProfessional Practitioner (https://api.iknl.nl/docs/pzp/r4/StructureDefinition/ACP-HealthProfessional-Practitioner|1.0.0-rc1)

Other representations of profile: CSV, Excel, Schematron