Planlæg dit studie

Inden du åbner R - definer spørgsmål, kohorte og datamodel

Published

July 2, 2026

Registerforskning starter ikke i R. Det starter med blyant og papir. Denne side guider dig igennem de ting, du bør have på plads, inden du skriver en eneste linje kode.

Tip

Kort fortalt: Læg fire ting fast på papir, før du koder - et præcist forskningsspørgsmål, din datamodel (hvilke registre dækker eksponering, udfald og kovariater), dine kovariater valgt med en DAG, og din sammenligningskohorte.


Hvilken type studie laver du?

Næsten al registerforskning er observationel og analytisk - du observerer det der allerede er sket, uden at gribe ind. De to klassiske analytiske designs er case-control og kohorte; Fase 10 viser, hvordan du bygger et matchet kohortestudie. Randomiserede forsøg (RCT) kan ikke laves med registerdata og er kun taget med her for overblikkets skyld.

flowchart TD
    E["Epidemiologiske studier"]:::neutral
    O["Observationelle<br>- registerforskning lever her"]:::active
    X["Eksperimentelle"]:::ref
    D["Deskriptive"]:::active
    A["Analytiske"]:::active
    CC["Case-control"]:::active
    CO["Kohorte"]:::active
    R["RCT<br>- kræver intervention,<br>ikke muligt med registerdata"]:::ref

    E --> O
    E --> X
    O --> D
    O --> A
    A --> CC
    A --> CO
    X --> R

    classDef neutral fill:#eef0f2,stroke:#8a94a6,color:#1f2733;
    classDef active fill:#eaf2fb,stroke:#4a78b5,color:#173a5e;
    classDef ref fill:#f6f6f6,stroke:#cccccc,color:#999999;

Case-control eller kohorte - hvad er forskellen?

De to analytiske designs adskiller sig i hvilken ende du starter fra:

Kohorte Case-control
Udgangspunkt Eksponering Udfald
Retning Følger fremad: eksponeret → udfald Ser tilbage: case → tidligere eksponering
Bedst når Eksponeringen er sjælden; flere udfald Udfaldet er sjældent; ét udfald
Effektmål Incidens, relativ risiko (RR), hazard ratio Odds ratio (OR)
I registre Definér eksponeret gruppe + sammenligningskohorte, følg fremad Find alle cases, vælg kontroller, se bagud på eksponering

Kohorte følger personer fremad i tid fra index-dato og måler hvor mange der får udfaldet - derfor kan man beregne incidens og risiko. Velegnet når du har flere udfald (jf. alle_dx-tilgangen i Udtræk fra LPR).

Case-control starter fra dem der allerede har udfaldet og matcher med kontroller uden - effektivt ved sjældne udfald, men kan ikke beregne absolut risiko.

Med registerdata kan du gøre begge dele, fordi hele befolkningens historik er tilgængelig. Fase 10 viser et matchet kohortestudie trin for trin.


Nøglebegreber

Inden du planlægger et studie er det værd at kende disse termer - de bruges igennem hele guiden.

Kohorte En gruppe af personer der følges over tid, fordi de deler en bestemt karakteristik på et bestemt tidspunkt. Eksempel: alle patienter der fik bariatrisk kirurgi i perioden 2010–2020.

Index-dato Startdatoen for opfølgningen - det tidspunkt fra hvilket du begynder at tælle. For opererede patienter er det typisk operationsdatoen. For matchede kontroller tildeles den samme dato som den matchede opererede patient.

Eksponering Den faktor du undersøger effekten af - fx en operation, et lægemiddel eller en diagnose.

Udfald Det du måler - fx debut af en sygdom, en indlæggelse, eller død.

Kovariater Variable du inkluderer for at tage højde for bl.a. confounding - faktorer der påvirker både eksponering og udfald. Eksempler: alder, køn, komorbiditet, socioøkonomisk status.


1. Hvad vil jeg undersøge?

Formulér dit forskningsspørgsmål præcist, inden du begynder at kigge på data. Et vagt spørgsmål giver et rodet datasæt. Et præcist spørgsmål giver en klar plan.

Stil dig selv disse spørgsmål:

Spørgsmål Eksempel
Hvem er min population? Alle voksne med T2D i Danmark, 2010–2020
Hvad er min eksponering? Bariatrisk kirurgi
Hvad er mit udfald? Demens
Hvornår starter opfølgningen? Operationsdato (index-dato)
Hvornår stopper den? Diagnose, død, emigration eller studieperiode slut
Hvilke confoundere skal justeres for? Alder, køn, komorbiditet, SES
Tip

Er dit spørgsmål kausalt, kan du skitsere et target trial. Når du spørger, om en eksponering ændrer et udfald, hjælper det ofte at forestille sig det randomiserede forsøg du ville lave, hvis du kunne (target trial), og at betragte dit registerstudie som et forsøg på at emulere det. Rækkerne ovenfor er nogenlunde det forsøgs protokol. At tænke sådan tidligt hjælper dig med at fastlægge tid-nul: det punkt hvor eligibilitet, eksponeringstildeling og opfølgningsstart bør falde sammen. Når de glider fra hinanden, kan du få immortal time bias. (Rammen passer til effektspørgsmål, ikke til rent deskriptive eller prædiktions-studier.)

De syv ting et target trial fastlægger (og hvor de bor i denne guide)

Skriv hver enkelt ud, sådan som en forsøgsprotokol ville:

  • Eligibilitet: hvem kan indgå, vurderet kun på information der findes ved tid-nul (intet fra fremtiden).
  • Behandlingsstrategier: eksponeringen og dens komparator, hver defineret klart nok til at en person i princippet kunne tildeles begge (Sammenligningskohorte).
  • Tildeling: et rigtigt forsøg randomiserer; et registerstudie justerer i stedet for de confoundere der afgjorde hvem der blev eksponeret (din DAG).
  • Udfald: defineret ens i begge grupper.
  • Tid-nul: hvor eligibilitet, tildeling og opfølgning starter sammen (se immortal-time-advarslen ovenfor).
  • Kausal kontrast (estimand): hvilken effekt du vil have, fx intention-to-treat (effekten af at blive tildelt en strategi) vs per-protocol (effekten af faktisk at følge den).
  • Analyseplan: model og justeringssæt, lagt fast inden du ser resultater (§6).
Baggrund: Hernán & Robins, Causal Inference: What If (gratis PDF), §3.6 og kap. 22; og Hernán MA, Robins JM (2016), “Using Big Data to Emulate a Target Trial When a Randomized Trial Is Not Available”, Am J Epidemiol 183(8):758-764.

2. Hvilke registre dækker hvad?

Inden du kortlægger din datamodel er det nyttigt at vide hvilke registre der eksisterer.

Hvad skal du finde? Register
Demografi (alder, køn, bopæl) BEF - Befolkningsregistret
Hospitalsdiagnoser og -kontakter LPR - Landspatientregistret (LPR2 + LPR3)
Receptordinerede lægemidler LMDB - Lægemiddelstatistikregistret
Dødsdato (til censurering) DODSAARS - Dødsregistret
Emigration (til censurering) VNDS - Migrationsregistret
Uddannelse UDDA - Uddannelsesregistret
Indkomst FAIK - Familieindkomstregistret
Beskæftigelse AKM - Arbejdsklassifikationsmodulet

En komplet beskrivelse af alle registre med kolonnenavne og join-nøgler finder du i Register-overblik →


3. Vælg dine kovariater med en DAG

Hvilke variable skal du justere for? Det er ikke “så mange som muligt”. At justere for de forkerte variable kan indføre bias i stedet for at fjerne den.

Et DAG (directed acyclic graph - et kausalt diagram) er en tegning af dine antagelser om, hvordan eksponering, udfald og øvrige variable hænger sammen. Det gør dine antagelser eksplicitte og hjælper dig med at vælge det rigtige sæt kovariater.

Tommelfingerregler:

  • Justér for confoundere: variable der påvirker både eksponering og udfald (fx alder, comorbiditet).
  • Justér IKKE for mediatorer: variable der ligger årsagsvejen mellem eksponering og udfald (det fjerner en del af den effekt du vil måle).
  • Justér IKKE for colliders: fælles effekter af to variable (det åbner en falsk sammenhæng).
  • Du “betinger” også gennem selektion, ikke kun ved at justere: at afgrænse din population på en variabel, eller at miste personer gennem den, tæller med. At bygge en kohorte af kun indlagte patienter, eller kun at analysere dem med komplet opfølgning, kan åbne den samme falske sti som en collider ville. Det er selektionsbias; censurerings- og frafaldsversionen håndteres med IPCW.

Det dagitty.net udregner for dig, er backdoor-stierne: de indirekte ruter fra eksponering til udfald, der løber “mod pilene” gennem en fælles årsag. Confounding er en åben backdoor-sti, og det minimale justeringssæt er den mindste gruppe variable, der lukker dem alle uden at åbne en ny gennem en collider. Ét tilfælde de simple regler ikke dækker: en confounder, der selv påvirkes af tidligere eksponering (treatment-confounder feedback), kan slet ikke håndteres med almindelig justering, se Tidsvarierende variable.

Eksempel: kirurgi og demens - en DAG med confounder, mediator og collider

Et konkret eksempel: påvirker kirurgi risikoen for demens?

Kausalt diagram med fem variable: kirurgi (eksponering), demens (udfald), alder (confounder), delir (mediator) og indlæggelse (collider).
Figure 1: DAG over kirurgi → demens med en confounder (alder), en mediator (delir) og en collider (indlæggelse).
  • Alder er en confounder - den påvirker både sandsynligheden for kirurgi og for demens. Justér for den.
  • Delir (postoperativt delirium) er en mediator - den ligger på vejen kirurgi → delir → demens. Justér ikke - så fjerner du en del af den effekt du vil måle.
  • Indlæggelse er en collider - både kirurgi og demens fører til indlæggelse. Justér ikke - det åbner en falsk sammenhæng.

Du kan indsætte modellen direkte i dagitty.net og få det minimale justeringssæt udregnet:

dag {
  Alder        [pos="0,-1"]
  Kirurgi      [exposure, pos="-1.5,0"]
  Delir        [pos="0,0"]
  Demens       [outcome,  pos="1.5,0"]
  Indlaeggelse [pos="0,1"]
  Alder   -> Kirurgi
  Alder   -> Demens
  Kirurgi -> Delir
  Delir   -> Demens
  Kirurgi -> Indlaeggelse
  Demens  -> Indlaeggelse
}

For denne DAG er det minimale justeringssæt {Alder} - du skal kun justere for alder.

Tip

Værktøjer

En DAG fortæller dig hvad du skal justere for - tre forudsætninger afgør, om justering overhovedet kan give en kausal effekt

At vælge de rigtige kovariater er nødvendigt, men ikke tilstrækkeligt. For at et justeret estimat kan bære en kausal betydning, skal tre forudsætninger holde (Hernán & Robins, What If, kap. 3). De ligger under alle metoder i denne guide (regression, Cox, IP-vægtning), ikke kun de avancerede:

  • Exchangeability (ingen uobserveret confounding): når du har justeret for kovariaterne i din DAG, er antagelsen, at de eksponerede og ueksponerede er sammenlignelige. Det er en forudsætning man aldrig fuldt ud kan verificere.
  • Positivitet (overlap): i hver kombination af de kovariater forekommer både eksponering og ikke-eksponering faktisk. Hvis nogle personer aldrig kunne være eksponerede (eller aldrig ueksponerede), er der ingen at sammenligne dem med. Meget store IP-vægte er det praktiske faresignal.
  • Consistency (en veldefineret eksponering): eksponeringen svarer til en klar nok intervention til at en “hvad nu hvis alle var/ikke var eksponeret”-verden giver mening. En konkret eksponering (“denne operation på denne dato”) opfylder det langt bedre end en vag (“svær overvægt”).
Det er de samme tre forudsætninger, gentaget for vægtning på IP-vægtning-siden.

4. Sammenligningskohorten

Mange studier sammenligner en eksponeret gruppe med en sammenligningskohorte. Hvordan du bygger den, er en designbeslutning du skal tage på papir - inden koden.

Det skal du overveje:

  • Hvem er en passende sammenligningskohorte? Enten en aktiv komparator (ueksponerede med samme indikation, fx samme grundsygdom men anden eller ingen behandling - reducerer confounding by indication) eller en matchet baggrundsbefolkning (maksimal kontrast). Valget afhænger af spørgsmålet; uddybes i Sammenligningskohorte.
  • Index-dato til sammenligningskohorten. Din eksponerede kohorte har en index-dato der er bestemt af eksponeringen (fx operationsdatoen). Det har sammenligningskohorten ikke - den skal tildeles en dato, typisk den samme dato som den matchede eksponerede person, så begge grupper følges fra et sammenligneligt tidspunkt.
  • Eligibilitet ved index. Sammenligningskohorten skal opfylde inklusionskriterierne på sin tildelte index-dato - ellers risikerer du immortal time bias (en skævvridning der opstår, når en person tildeles eksponeringstid, hvori de per definition ikke kunne have fået udfaldet endnu).
  • Matchingvariable og -ratio. Fx alder, køn og kalenderår; beslut forholdet (fx 1:5).
  • Kan nogen i sammenligningskohorten blive eksponeret senere? Fx: kan en person der startede som kontrol, få operationen på et tidspunkt? Beslut hvad der sker i det tilfælde - om de forbliver kontrol, eller overgår til den eksponerede gruppe.
  • Samme eksklusioner anvendes på begge grupper.

→ Det komplette mønster for kohorteopbygning og matching finder du i Fase 10 - Byg din studiepopulation.


5. Dan et overblik - pen og papir

Inden du åbner R, svar på disse spørgsmål skriftligt:

  1. Hvilke variable skal jeg bruge? (patientinformation - alder, køn, diagnoser mv. - og for hvilke år)
  2. Hvilke registre indeholder disse oplysninger? (LPR, BEF, LMDB, …)
  3. I hvilken rækkefølge skal data samles? (definer population → hent udfald → hent kovariater)

Et godt overblik på papiret sparer mange timers fejlretning i koden.

Eksempel: overblik for et demensstudie
Population:   Voksne der har fået bariatrisk kirurgi (identificeret via Databasen for Behandling af Svær Overvægt - DBSO), 2010–2024
              Matchede kontroller fra Befolkningsregistret (BEF)

Udfald:       Første demensdiagnose (LPR - ICD-10: F00–F03, G30–G31)
              Dato: første kontakt med demenskode efter operationsdato

Kovariater:   Alder og køn (BEF)
              Komorbiditet (LPR - 5-års lookback, dvs. diagnoser i de 5 år inden index-dato)
              Uddannelse (UDDA)
              Indkomst (FAIK via BEF familie_id)
              Beskæftigelse (AKM)

Censurering:  Død (DODSAARS)
              Emigration (VNDS)
              Studieperiode slut (31. dec 2024)

6. Lav en analyseplan

En analyseplan er et dokument, du skriver inden du ser på dine data. Det tvinger dig til at tage stilling til design, statistik og variable, før resultaterne farver dine beslutninger.

Brug STROBE-checklisten som skelet: STROBE Statement - checklists →

For registerbaserede studier udvider RECORD STROBE med punkter om rutineindsamlede data, og RECORD-PE dækker lægemiddelepidemiologi specifikt: RECORD-PE (EQUATOR Network) →

Pre-registrer din analyseplan på fx OSF - det er god videnskabelig praksis og kræves af mange tidsskrifter: Open Science Framework - registreringsskabeloner

Note

Power og stikprøvestørrelse. Selv store registre har begrænset power (evnen til at opdage en effekt, der faktisk findes) ved sjældne udfald eller små undergrupper. Overvej allerede i planen den mindste effekt, du meningsfuldt vil kunne opdage med dit forventede antal hændelser. Pakken pwr laver simple power-/stikprøveberegninger; til overlevelses- og rate-design er det ofte antallet af hændelser (ikke antallet af personer), der bestemmer din power.


7. Næste skridt

Når du har dit overblik på plads:

Back to top