Netherlands - Generic Functions for data exchange Implementation Guide
0.2.0-ballot - ci-build

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.2.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

## Data Type Profile: Custodian Assigned URN Identifier

Official URL: http://minvws.github.io/generiekefuncties-docs/StructureDefinition/nl-gf-custodianassignedurnidentifier | Version: 0.2.0-ballot
Draft as of 2026-03-24 | Computable Name: CustodianAssignedUrnIdentifier

Data objects are identified by an identifier that was assigned by the original custodian. The custodian is 'The entity that is accountable for maintaining a true an accurate copy of the original record'. I.e. this custodian is responsible for the 'single source of truth' for this data object. The 'custodian-assigned-identifier' is the unambiguous and persistent identifier for both the data object and the custodian.

Usages:

- Use this DataType Profile: NL Generic Functions Device Profile

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
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | An identifier intended for computation
use | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official
system | Σ | 1..1 | uri | The namespace for the identifier value Required Pattern: urn:ietf:rfc:3986
value | Σ C | 1..1 | string | The value that is unique Constraints: device-identifier-urn Example General: 123456
assigner | Σ | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier | Σ C | 1..1 | Identifier | Logical reference, when literal reference is not known Constraints: assigner-identifier-system
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: custodian
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
assigner-identifier-system | error | Identifier.assigner.identifier | The assigner identifier system must be either URA or KVK. | `system = 'http://fhir.nl/fhir/NamingSystem/ura' or system = 'http://fhir.nl/fhir/NamingSystem/kvk'`
device-identifier-urn | error | Identifier.value | The device identifier must be a URN with a valid UUID or OID. | `startsWith('urn:uuid:') or startsWith('urn:oid:')`
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 Identifier

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | An identifier intended for computation
use |  | 1..1 | code | usual | official | temp | secondary | old (If known) Required Pattern: official
system |  | 1..1 | uri | The namespace for the identifier value Required Pattern: urn:ietf:rfc:3986
value | C | 1..1 | string | The value that is unique Constraints: device-identifier-urn
assigner |  | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier | C | 1..1 | Identifier | Logical reference, when literal reference is not known Constraints: assigner-identifier-system
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: custodian
system |  | 1..1 | uri | The namespace for the identifier value
value |  | 1..1 | string | The value that is unique
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
assigner-identifier-system | error | Identifier.assigner.identifier | The assigner identifier system must be either URA or KVK. | `system = 'http://fhir.nl/fhir/NamingSystem/ura' or system = 'http://fhir.nl/fhir/NamingSystem/kvk'`
device-identifier-urn | error | Identifier.value | The device identifier must be a URN with a valid UUID or OID. | `startsWith('urn:uuid:') or startsWith('urn:oid:')`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | An identifier intended for computation
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 | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official
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 Required Pattern: urn:ietf:rfc:3986
value | Σ C | 1..1 | string | The value that is unique Constraints: device-identifier-urn 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 | Σ C | 1..1 | Identifier | Logical reference, when literal reference is not known Constraints: assigner-identifier-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
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: custodian
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 | Σ | 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 | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | Σ | 0..1 | string | Text alternative for the resource
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Identifier.assigner.​type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
assigner-identifier-system | error | Identifier.assigner.identifier | The assigner identifier system must be either URA or KVK. | `system = 'http://fhir.nl/fhir/NamingSystem/ura' or system = 'http://fhir.nl/fhir/NamingSystem/kvk'`
device-identifier-urn | error | Identifier.value | The device identifier must be a URN with a valid UUID or OID. | `startsWith('urn:uuid:') or startsWith('urn:oid:')`
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 Identifier

Summary

Mandatory: 9 elements

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | An identifier intended for computation
use | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official
system | Σ | 1..1 | uri | The namespace for the identifier value Required Pattern: urn:ietf:rfc:3986
value | Σ C | 1..1 | string | The value that is unique Constraints: device-identifier-urn Example General: 123456
assigner | Σ | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier | Σ C | 1..1 | Identifier | Logical reference, when literal reference is not known Constraints: assigner-identifier-system
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: custodian
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
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
assigner-identifier-system | error | Identifier.assigner.identifier | The assigner identifier system must be either URA or KVK. | `system = 'http://fhir.nl/fhir/NamingSystem/ura' or system = 'http://fhir.nl/fhir/NamingSystem/kvk'`
device-identifier-urn | error | Identifier.value | The device identifier must be a URN with a valid UUID or OID. | `startsWith('urn:uuid:') or startsWith('urn:oid:')`
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 Identifier

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | An identifier intended for computation
use |  | 1..1 | code | usual | official | temp | secondary | old (If known) Required Pattern: official
system |  | 1..1 | uri | The namespace for the identifier value Required Pattern: urn:ietf:rfc:3986
value | C | 1..1 | string | The value that is unique Constraints: device-identifier-urn
assigner |  | 1..1 | Reference(Organization) | Organization that issued id (may be just text)
identifier | C | 1..1 | Identifier | Logical reference, when literal reference is not known Constraints: assigner-identifier-system
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: custodian
system |  | 1..1 | uri | The namespace for the identifier value
value |  | 1..1 | string | The value that is unique
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Description | Expression
assigner-identifier-system | error | Identifier.assigner.identifier | The assigner identifier system must be either URA or KVK. | `system = 'http://fhir.nl/fhir/NamingSystem/ura' or system = 'http://fhir.nl/fhir/NamingSystem/kvk'`
device-identifier-urn | error | Identifier.value | The device identifier must be a URN with a valid UUID or OID. | `startsWith('urn:uuid:') or startsWith('urn:oid:')`

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Identifier |  | 0..* | Identifier | An identifier intended for computation
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 | ?!Σ | 1..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known . Required Pattern: official
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 Required Pattern: urn:ietf:rfc:3986
value | Σ C | 1..1 | string | The value that is unique Constraints: device-identifier-urn 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 | Σ C | 1..1 | Identifier | Logical reference, when literal reference is not known Constraints: assigner-identifier-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
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: custodian
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 | Σ | 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 | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
display | Σ | 0..1 | string | Text alternative for the resource
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
Identifier.assigner.​type | Base | extensible | ResourceType | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
Identifier.assigner.​identifier.type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
assigner-identifier-system | error | Identifier.assigner.identifier | The assigner identifier system must be either URA or KVK. | `system = 'http://fhir.nl/fhir/NamingSystem/ura' or system = 'http://fhir.nl/fhir/NamingSystem/kvk'`
device-identifier-urn | error | Identifier.value | The device identifier must be a URN with a valid UUID or OID. | `startsWith('urn:uuid:') or startsWith('urn:oid:')`
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 Identifier

Summary

Mandatory: 9 elements

Other representations of profile: CSV, Excel, Schematron