Netherlands - Generic Functions for data exchange Implementation Guide
0.9.0-ballot - ballot

Netherlands - Generic Functions for data exchange Implementation Guide, published by Ministerie van Volksgezondheid, Welzijn en Sport. This guide is not an authorized publication; it is the continuous build for version 0.9.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/minvws/generiekefuncties-docs/ and changes regularly. See the Directory of published versions

## Resource Profile: NL Generic Functions Practitioner Profile ( Experimental )

Official URL: http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-practitioner | Version: 0.9.0-ballot
Active as of 2026-04-02 | Computable Name: NlGfPractitioner

Practitioner profile based on NL Core HealthProfessional Practitioner and aligned with IHE mCSD Practitioner constraints. The parent Nictiz NL Core profile does not currently resolve reliably in all tooling; when needed, inspect it manually via Simplifier, for example through https://simplifier.net/nictiz-r4-zib2020.

Usages:

- Examples for this Profile: Practitioner/3cb101c7-c2fc-4f91-acbe-c3b61c0f9db8, Practitioner/4f98d2fd-46e9-42b8-b4ec-5e5f2ad8f1b4 and Practitioner/c53cf5fc-6d90-48c8-aaef-1c88ed3ded2a
- CapabilityStatements using this Profile: Directory capability [ITI-130-NL] for a Data Source actor, Directory capability [ITI-90-NL] for Update Client actor and Directory capability [ITI-91-NL] for an Update Client actor

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
--- | --- | --- | --- | ---
Practitioner |  | 0..* | NlcoreHealthProfessionalPractitioner | HealthProfessional This profile also complies with the profile mCSD Practitioner
Slices for identifier | Σ | 1..* | Identifier | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:$this, profile:$this
identifier:big | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/big
value |  | 0..1 | string | The value that is unique
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)
identifier:uzi | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/uzi-nr-pers
value |  | 0..1 | string | The value that is unique
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)
identifier:agb | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/agb-z
value |  | 0..1 | string | The value that is unique
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)
identifier:AssignedId | Σ | 1..1 | CustodianAssignedIdentifier | HealthProfessionalIdentificationNumber
Slices for name | Σ | 1..* | HumanName | NameInformation Slice: Unordered, Open by value:use
name:nameInformation | Σ C N | 0..2 | NlcoreNameInformation | NameInformation Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
name:nameInformation-GivenName | Σ N | 0..* | NlcoreNameInformationGivenName | Name of a human - parts and usage
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

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | Practitioner.telecom:telephoneNumbers, Practitioner.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | 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())`
nl-core-NameInformation-01 | warning | Practitioner.name:nameInformation | If parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage. | `(family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()`
zib-NameInformation-1 | error | Practitioner.name:nameInformation | If a prefix for a family name is specified, the family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()`
zib-NameInformation-2 | error | Practitioner.name:nameInformation | If the prefix for a partner family name is specified, the partner family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()`

This structure is derived from NlcoreHealthProfessionalPractitioner

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | NlcoreHealthProfessionalPractitioner | HealthProfessional This profile also complies with the profile mCSD Practitioner
implicitRules |  | 0..0 |  | A set of rules under which this content was created
modifierExtension |  | 0..0 |  | Extension
Slices for identifier |  | 1..* | Identifier | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:$this, profile:$this
identifier:AssignedId |  | 1..1 | CustodianAssignedIdentifier | HealthProfessionalIdentificationNumber
name |  | 1..* | HumanName | NameInformation
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | NlcoreHealthProfessionalPractitioner | HealthProfessional This profile also complies with the profile mCSD Practitioner
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 | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:$this, profile:$this
identifier:big | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/big
value |  | 0..1 | string | The value that is unique
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)
identifier:uzi | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/uzi-nr-pers
value |  | 0..1 | string | The value that is unique
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)
identifier:agb | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/agb-z
value |  | 0..1 | string | The value that is unique
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)
identifier:AssignedId | Σ | 1..1 | CustodianAssignedIdentifier | HealthProfessionalIdentificationNumber
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use
Slices for name | Σ | 1..* | HumanName | NameInformation Slice: Unordered, Open by value:use
name:nameInformation | Σ C N | 0..2 | NlcoreNameInformation | NameInformation Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
name:nameInformation-GivenName | Σ N | 0..* | NlcoreNameInformationGivenName | Name of a human - parts and usage
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
address | Σ | 0..* | NlcoreAddressInformation | AddressInformation
gender | Σ | 0..1 | code | Gender Binding: AdministrativeGender (required): Use ConceptMap GeslachtCodelijst-to-AdministrativeGender to translate terminology from the functional model to profile terminology in ValueSet AdministrativeGender. This ConceptMap is based on GeslachtCodelijst as defined in the zib Patient to avoid duplication of ConceptMaps. The GeslachtCodelijst of Patient and HealthProfessional are identical in terms of codes.
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:genderCodelist | N | 0..* | (Complex) | Optional Extensions Element URL: http://nictiz.nl/fhir/StructureDefinition/ext-CodeSpecification
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://nictiz.nl/fhir/StructureDefinition/ext-CodeSpecification"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: GeslachtCodelijst (required)
value |  | 0..1 | string | Primitive value for code
birthDate | Σ | 0..1 | date | The date on which the practitioner was born
photo |  | 0..* | Attachment | Image of the person
qualification |  | 0..* | BackboneElement | Certification, licenses, or training pertaining to the provision of care
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
identifier |  | 0..* | Identifier | An identifier for this qualification for the practitioner
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.
period |  | 0..1 | Period | Period during which the qualification is valid
issuer |  | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
communication |  | 0..* | CodeableConcept | A language the practitioner can use in patient communication Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Practitioner.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Practitioner.gender.​extension:genderCodelist.​value[x] | Base | required | GeslachtCodelijst | 📦2020-09-01T00:00:00 | FHIR implementation of zibs 2020 v0.12
Practitioner.qualification.​code | Base | example | v2 table 0360, Version 2.7 | 📦0360 | FHIR Std.
Practitioner.communication | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | Practitioner.telecom:telephoneNumbers, Practitioner.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | 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()`
nl-core-NameInformation-01 | warning | Practitioner.name:nameInformation | If parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage. | `(family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()`
zib-NameInformation-1 | error | Practitioner.name:nameInformation | If a prefix for a family name is specified, the family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()`
zib-NameInformation-2 | error | Practitioner.name:nameInformation | If the prefix for a partner family name is specified, the partner family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()`

This structure is derived from NlcoreHealthProfessionalPractitioner

Summary

Mandatory: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

- Custodian Assigned Identifier (http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-custodianassignedidentifier)

Slices

This structure defines the following Slices:

- The element 2 is sliced based on the values of Practitioner.identifier

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | NlcoreHealthProfessionalPractitioner | HealthProfessional This profile also complies with the profile mCSD Practitioner
Slices for identifier | Σ | 1..* | Identifier | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:$this, profile:$this
identifier:big | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/big
value |  | 0..1 | string | The value that is unique
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)
identifier:uzi | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/uzi-nr-pers
value |  | 0..1 | string | The value that is unique
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)
identifier:agb | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/agb-z
value |  | 0..1 | string | The value that is unique
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)
identifier:AssignedId | Σ | 1..1 | CustodianAssignedIdentifier | HealthProfessionalIdentificationNumber
Slices for name | Σ | 1..* | HumanName | NameInformation Slice: Unordered, Open by value:use
name:nameInformation | Σ C N | 0..2 | NlcoreNameInformation | NameInformation Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
name:nameInformation-GivenName | Σ N | 0..* | NlcoreNameInformationGivenName | Name of a human - parts and usage
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

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | Practitioner.telecom:telephoneNumbers, Practitioner.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | 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())`
nl-core-NameInformation-01 | warning | Practitioner.name:nameInformation | If parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage. | `(family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()`
zib-NameInformation-1 | error | Practitioner.name:nameInformation | If a prefix for a family name is specified, the family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()`
zib-NameInformation-2 | error | Practitioner.name:nameInformation | If the prefix for a partner family name is specified, the partner family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()`

Differential View

This structure is derived from NlcoreHealthProfessionalPractitioner

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | NlcoreHealthProfessionalPractitioner | HealthProfessional This profile also complies with the profile mCSD Practitioner
implicitRules |  | 0..0 |  | A set of rules under which this content was created
modifierExtension |  | 0..0 |  | Extension
Slices for identifier |  | 1..* | Identifier | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:$this, profile:$this
identifier:AssignedId |  | 1..1 | CustodianAssignedIdentifier | HealthProfessionalIdentificationNumber
name |  | 1..* | HumanName | NameInformation
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Practitioner |  | 0..* | NlcoreHealthProfessionalPractitioner | HealthProfessional This profile also complies with the profile mCSD Practitioner
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 | HealthProfessionalIdentificationNumber Slice: Unordered, Open by value:$this, profile:$this
identifier:big | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/big
value |  | 0..1 | string | The value that is unique
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)
identifier:uzi | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/uzi-nr-pers
value |  | 0..1 | string | The value that is unique
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)
identifier:agb | Σ | 0..* | Identifier | An identifier for the person as this agent Required Pattern: At least the following
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
use |  | 0..1 | code | usual | official | temp | secondary | old (If known)
type |  | 0..1 | CodeableConcept | Description of identifier
system |  | 1..1 | uri | The namespace for the identifier value Fixed Value: http://fhir.nl/fhir/NamingSystem/agb-z
value |  | 0..1 | string | The value that is unique
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)
identifier:AssignedId | Σ | 1..1 | CustodianAssignedIdentifier | HealthProfessionalIdentificationNumber
active | Σ | 0..1 | boolean | Whether this practitioner's record is in active use
Slices for name | Σ | 1..* | HumanName | NameInformation Slice: Unordered, Open by value:use
name:nameInformation | Σ C N | 0..2 | NlcoreNameInformation | NameInformation Constraints: zib-NameInformation-1, zib-NameInformation-2, nl-core-NameInformation-01
name:nameInformation-GivenName | Σ N | 0..* | NlcoreNameInformationGivenName | Name of a human - parts and usage
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
address | Σ | 0..* | NlcoreAddressInformation | AddressInformation
gender | Σ | 0..1 | code | Gender Binding: AdministrativeGender (required): Use ConceptMap GeslachtCodelijst-to-AdministrativeGender to translate terminology from the functional model to profile terminology in ValueSet AdministrativeGender. This ConceptMap is based on GeslachtCodelijst as defined in the zib Patient to avoid duplication of ConceptMaps. The GeslachtCodelijst of Patient and HealthProfessional are identical in terms of codes.
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:genderCodelist | N | 0..* | (Complex) | Optional Extensions Element URL: http://nictiz.nl/fhir/StructureDefinition/ext-CodeSpecification
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "http://nictiz.nl/fhir/StructureDefinition/ext-CodeSpecification"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: GeslachtCodelijst (required)
value |  | 0..1 | string | Primitive value for code
birthDate | Σ | 0..1 | date | The date on which the practitioner was born
photo |  | 0..* | Attachment | Image of the person
qualification |  | 0..* | BackboneElement | Certification, licenses, or training pertaining to the provision of care
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
identifier |  | 0..* | Identifier | An identifier for this qualification for the practitioner
code |  | 1..1 | CodeableConcept | Coded representation of the qualification Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.
period |  | 0..1 | Period | Period during which the qualification is valid
issuer |  | 0..1 | Reference(Organization) | Organization that regulates and issues the qualification
communication |  | 0..* | CodeableConcept | A language the practitioner can use in patient communication Binding: CommonLanguages (preferred): A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Practitioner.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Practitioner.gender | Base | required | AdministrativeGender | 📍4.0.1 | FHIR Std.
Practitioner.gender.​extension:genderCodelist.​value[x] | Base | required | GeslachtCodelijst | 📦2020-09-01T00:00:00 | FHIR implementation of zibs 2020 v0.12
Practitioner.qualification.​code | Base | example | v2 table 0360, Version 2.7 | 📦0360 | FHIR Std.
Practitioner.communication | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
cpt-2 | error | Practitioner.telecom:telephoneNumbers, Practitioner.telecom:emailAddresses | A system is required if a value is provided. | `value.empty() or system.exists()`
dom-2 | error | Practitioner | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Practitioner | 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 | Practitioner | 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 | Practitioner | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Practitioner | 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()`
nl-core-NameInformation-01 | warning | Practitioner.name:nameInformation | If parts of the name are specified using one or more of the structured elements, the `.text` element SHOULD be populated with a rendered version of the full name. This ensures compatibility with common FHIR usage. | `(family.exists() or given.extension.where(url = 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier').where(value != 'IN').exists()) implies text.hasValue()`
zib-NameInformation-1 | error | Practitioner.name:nameInformation | If a prefix for a family name is specified, the family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-own-name').empty().not()`
zib-NameInformation-2 | error | Practitioner.name:nameInformation | If the prefix for a partner family name is specified, the partner family name is expected as well | `family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-prefix').empty().not() implies family.extension('http://hl7.org/fhir/StructureDefinition/humanname-partner-name').empty().not()`

This structure is derived from NlcoreHealthProfessionalPractitioner

Summary

Mandatory: 3 elements
Prohibited: 2 elements

Structures

This structure refers to these other structures:

- Custodian Assigned Identifier (http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-custodianassignedidentifier)

Slices

This structure defines the following Slices:

- The element 2 is sliced based on the values of Practitioner.identifier

Other representations of profile: CSV, Excel, Schematron