title: Person draft: false type: register
The Person register is Denmark’s civil registration layer for legally resident individuals. It is a core component of Grunddatamodellen.
This page inherits shared contracts from Grunddatamodellen and only documents Person-specific interpretation:
Register Information
| Property | Value |
|---|---|
| Name | Person |
| ID | EAPK_AFF7546F_AE61_4a44_91E7_0C6864FD73F1 |
| Object Classes | 29 |
| Attributes | 241 |
| Source | 2.1.1_Person.xml |
Agent Start Here
| User need | Start leaf | Primary entities | Spatial path | Time rule |
|---|---|---|---|---|
| Analyze population distribution | |Population | person, civilstand, statsborgerskab | person → cpradresse → DAR | current = registreringTil IS NULL and relevant virkningTil IS NULL |
| Resolve a registered residence | |Addresses | cpradresse, adresseoplysninger | Person → DAR join | address validity matters as much as person validity |
Minimum Interpretation Rules
personis the individual anchor entity.cpradresseand related address entities are linkage objects, not geometry.civilstand,statsborgerskab, and family relations are time-dependent states attached to the person record.- Individual-level access is restricted; many open workflows should start from aggregated statistics instead.
Access Strategy
- Use GraphQL or file download only for authorized workflows.
- Use administrative aggregation after the address join, not before, when residence location matters.
- Prefer current-state filtering for operational questions and valid-time slicing for historical residence questions.
Collection Role
This page is collection-first because most user questions should still enter through Population or Addresses. Use the entity pages in this folder only when you need CPR-specific field semantics or relation structure.