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-08-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

PathConformanceValueSet / CodeURI
Identifier.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cprerrorIdentifier.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers
ele-1error**ALL** elementsAll 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 Identifier
... 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

IdGradePath(s)DetailsRequirements
cprerrorIdentifier.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers
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

PathConformanceValueSet / CodeURI
Identifier.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cprerrorIdentifier.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust 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

PathConformanceValueSet / CodeURI
Identifier.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cprerrorIdentifier.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers
ele-1error**ALL** elementsAll 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 Identifier
... 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

IdGradePath(s)DetailsRequirements
cprerrorIdentifier.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers

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

PathConformanceValueSet / CodeURI
Identifier.userequiredFixed Value: official
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
From the FHIR Standard
Identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cprerrorIdentifier.valueRequirement 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.
: 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})$')
Requirement of danish civil registration numbers
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust 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