HL7 FHIR Implementation Guide: DK Core
3.5.0 - ci-build Denmark flag

HL7 FHIR Implementation Guide: DK Core, published by HL7 Denmark. This guide is not an authorized publication; it is the continuous build for version 3.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7dk/dk-core/ and changes regularly. See the Directory of published versions

Data Type Profile: Danish Central Person Register (CPR) Identifier

Official URL: http://hl7.dk/fhir/core/StructureDefinition/dk-core-cpr-identifier Version: 3.5.0
Draft as of 2025-10-20 Computable Name: DkCoreCprIdentifier

This structure holds the danish CPR identifier

Usages:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier An identifier intended for computation
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:oid:1.2.208.176.1.2
... value ΣC 1..1 string The value that is unique
Constraints: cpr
Example General: 123456
Max Length:10

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpr error Identifier.value Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n.
Requirements:

Requirement of danish civil registration numbers

matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier An identifier intended for computation
... use 0..1 code usual | official | temp | secondary | old (If known)
Fixed Value: official
... system 1..1 uri The namespace for the identifier value
Fixed Value: urn:oid:1.2.208.176.1.2
... value C 1..1 string The value that is unique
Constraints: cpr
Max Length:10

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cpr error Identifier.value Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n.
Requirements:

Requirement of danish civil registration numbers

matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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 ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:oid:1.2.208.176.1.2
... value ΣC 1..1 string The value that is unique
Constraints: cpr
Example General: 123456
Max Length:10
... 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)

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

Constraints

Id Grade Path(s) Description Expression
cpr error Identifier.value Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n.
Requirements:

Requirement of danish civil registration numbers

matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
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: 2 elements
Fixed: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier An identifier intended for computation
... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:oid:1.2.208.176.1.2
... value ΣC 1..1 string The value that is unique
Constraints: cpr
Example General: 123456
Max Length:10

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
cpr error Identifier.value Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n.
Requirements:

Requirement of danish civil registration numbers

matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Identifier 0..* Identifier An identifier intended for computation
... use 0..1 code usual | official | temp | secondary | old (If known)
Fixed Value: official
... system 1..1 uri The namespace for the identifier value
Fixed Value: urn:oid:1.2.208.176.1.2
... value C 1..1 string The value that is unique
Constraints: cpr
Max Length:10

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
cpr error Identifier.value Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n.
Requirements:

Requirement of danish civil registration numbers

matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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 ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Fixed Value: official
... system Σ 1..1 uri The namespace for the identifier value
Fixed Value: urn:oid:1.2.208.176.1.2
... value ΣC 1..1 string The value that is unique
Constraints: cpr
Example General: 123456
Max Length:10
... 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)

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

Constraints

Id Grade Path(s) Description Expression
cpr error Identifier.value Requirement of danish civil registration numbers. See https://cpr.dk/cpr-systemet/opbygning-af-cpr-nummeret/#:~:text=5%20%2D%206%20position%20angiver%20personens,i%20personnummeret%20angiver%20personens%20k%C3%B8n.
Requirements:

Requirement of danish civil registration numbers

matches('^((((0[1-9]|1[0-9]|2[0-9]|3[0-1])(01|03|05|07|08|10|12))|((0[1-9]|1[0-9]|2[0-9]|30)(04|06|09|11))|((0[1-9]|1[0-9]|2[0-9])(02)))[0-9]{6})$')
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: 2 elements
Fixed: 2 elements

 

Other representations of profile: CSV, Excel, Schematron