Find your registers

Which register contains what - and how they are linked

Published

September 9, 2026

You can now inspect a dataset. The next step is to know where your variables come from: which register contains demographics, which contains diagnoses, which contains prescriptions.

This page is your decision table. Once you know which register to use, you find the exact column names, types and code examples in Overview of registers, or search for a single variable across all of them in Find a variable.

What a register holds is not what your project was given. The table below says which register covers what at DST. Which of its columns and years you actually received was decided when the data was ordered, so confirm with colnames() before you plan around anything here.

What am I looking for? - decision table

Know your question. Find the register. Look in the column.

I want to find… Register Key column(s)
Date of birth and sex BEF foed_dag, koen
Whether a person has died - and when DOD doddato
Whether a person has emigrated VNDS haend_dato, indud_kode
A somatic hospital contact (before 2019) lpr_adm d_inddto, recnum, c_pattype
A somatic diagnosis (before 2019) lpr_diag c_diag, c_diagtype, recnum
A psychiatric diagnosis (e.g. dementia, before 2019) t_psyk_adm + t_psyk_diag d_inddto, c_diag, c_diagtype
A hospital contact or diagnosis (2019+) lpr_a_kontakt + lpr_a_diagnose kont_starttidspunkt, diag_kode, diag_kode_type
A dispensed prescription LMDB atc, eksd
Education level UDDA hfaudd, year
Household income FAIK famaekvivadisp_13, familie_id
Employment status AKM socio13, year
An incident cancer diagnosis The Cancer Register pnr - see variable list
A primary-sector contact (GP/specialist) sysi (older) / sssy (newer) pnr - see variable list
A laboratory result (e.g. HbA1c) laboratorieproevesvar_ pnr, NPU code, samplevalue - see variable list
A surgical procedure / SKS code lpr_sksopr (LPR2) / project-specific (LPR3) c_opr, recnum (LPR2) - LPR3: see Overview of registers §5
An examination / treatment (ZZ code) lpr_sksube recnum - see variable list

SKS (Sundhedsvæsenets Klassifikations System - the Danish Health Classification System) is the Danish system for coding operations and procedures in hospital - e.g. KJDF10 for Roux-en-Y gastric bypass. Equivalent to the NOMESCO codes used in the other Nordic countries.

The socioeconomic registers come as a set

The three socioeconomic registers - UDDA (education), FAIK (income) and AKM (employment) - are extracted together in Socioeconomic variables. One trap worth knowing before you start: UDDA’s hfaudd is a code for the specific education, not its level, so getting a level out of it needs a lookup - see Overview of registers.

Join keys

Wrong join keys produce silent errors: the code runs, but you lose rows - or duplicate them.

Register Join key Links to
BEF, DOD, VNDS, LMDB, UDDA, AKM, The Cancer Register, sysi/sssy, laboratorieproevesvar_ pnr All other pnr registers
FAIK familie_id Fetched from the BEF column familie_id
lpr_diag recnum lpr_adm
lpr_sksopr recnum lpr_adm
lpr_sksube recnum lpr_adm
lpr_a_diagnose dw_ek_kontakt lpr_a_kontakt

Confirmed column names and join examples for each register are in Overview of registers. The mechanics of joins are covered in Phase 12 - Assemble and prepare the dataset.

Next steps

  • Need the exact column names, types and code examples?Overview of registers
  • Need to extract hospital diagnoses?Understand LPR
  • Want to know which variables and registers exist at all, or need an application template? → Steno Aarhus keeps a register project database. It covers what exists; this guide covers how to code the extraction.

Working on DARTER / project 708421? The project uses among others DBSO (the Danish Obesity Treatment Database) and OSDC (Open Source Diabetes Classifier). See the full register overview with confirmed column names and paths: DARTER - Register paths and datastores →

Back to top