DARTER — Projektspecifikke faldgruber

Quirks og kendte problemer specifikt for projekt 708421

Published

June 6, 2026

Denne side supplerer de generelle DST-faldgruber med problemer specifikke for DARTER-projektet.


1. Tjek at parquet-filerne er opdaterede

De fleste registre er pr. 2026 opdateret til slutningen af 2024 (bekræftet af Anders Aasted Isaksen/Marie Kempf Frydendahl, DARTER-team). dodsaars dækker dog kun ~1970–2001 — dødsfald efter 2001 fanges ikke af den nuværende kode.

# Tjek hvornår parquet-mappen sidst blev opdateret:
file.info("E:/workdata/708421/cleaned-data/parquet-registers/dodsaars/")$mtime

Samme gælder potentielt for andre registre. Bekræft altid at dækningen matcher din studieperiode, inden du kører pipeline.

Warning

Hvis parquet-filen ikke dækker din studieperiode: Du skal trække data fra den rå SAS-fil på DST. Kontakt din datamanager — de kan hjælpe med adgang til rådata og konvertering.

# Nuværende kode — fanger kun dødsfald frem til parquet-filens dækning:
dod <- load_database("dodsaars") %>% rename_with(tolower)   # doven forbindelse
deaths <- dod %>%
  filter(pnr %in% !!pnr_liste) %>%   # kun kohortens pnr'er
  select(pnr, d_dodsdto) %>%          # kun dødsdato
  collect()                            # hent ind i R

Konsekvens ved manglende dækning: Komparatorer og BS-patienter der dør efter parquet-filens slutdato behandles som levende — det påvirker censurering og matching i 01_build_cohorts.R.


2. Kirurgi og procedurer

Procedurekoder er opdelt i to registre efter periode:

  • lpr_sksopr (parquet-registers) — procedurer og kirurgi 1996–2018, joines til lpr_adm via recnum
  • procedurer_kirurgi (parquet-external) — 2019 og frem, joines til lpr_a_kontakt via dw_ek_forloeb
Warning

dw_ek_kontakt er NA for alle rækker i procedurer_kirurgi (bekræftet 2026-06-02). Brug dw_ek_forloeb — ikke dw_ek_kontakt — til at hente pnr fra lpr_a_kontakt.

# FORKERT — dw_ek_kontakt er NA:
proc %>% left_join(kontakter, by = "dw_ek_kontakt")   # joiner ingenting

# KORREKT — brug dw_ek_forloeb:
proc <- load_database("procedurer_kirurgi") %>%
  rename_with(tolower) %>%
  left_join(
    load_database("lpr_a_kontakt") %>%
      rename_with(tolower) %>%
      select(dw_ek_forloeb, pnr),
    by = "dw_ek_forloeb"
  )

3. lpr_a_diagnose — “a” betyder ikke A-type diagnoser

Tabellen hedder lpr_a_diagnose — “a” refererer til analysemodel-betegnelsen (LPR_A-serien). Det er ikke et filter på A-type diagnoser. Tabellen indeholder A, B og G. Du skal stadig filtrere på diag_kode_type.


4. nmi_countnmi_score

Variabel Hvad den er
nmi_score Vægtet score — Nordic Multimorbidity Index (50 prediktorer med individuelle vægte)
nmi_count Simpel optælling af antal kroniske tilstande (33 mulige)

Bruger du nmi_count i din Cox-model i stedet for nmi_score, justerer du for noget andet end du tror.


5. LPR3 — filtrer på lprindberetningssystem == "LPR3"

LPR_A-registrene (lpr_a_kontakt, lpr_a_diagnose) indeholder data fra to formater: det gamle LPR_F og det nye LPR_A. Begge eksisterer i projektet og dækker overlappende perioder. Uden filteret får du duplikerede rækker (bekræftet af Anders Aasted Isaksen, DARTER-team 2026).

# KORREKT — filtrer til kun LPR_A-format:
lpr3_k <- load_database("lpr_a_kontakt") %>%
  rename_with(tolower) %>%
  filter(lprindberetningssystem == "LPR3")   # fjerner LPR_F-overlap og duplikater
Warning

get_lpr_diagnoses() i darter/00_index.qmd er opdateret med dette filter. Har du kopier af LPR3-koden i egne scripts, skal du tilføje det manuelt.


6. Laboratoriesvar — brug laboratorieproevesvar_

Det nye laboratoriedataregister hedder laboratorieproevesvar_ og indeholder >2,2 milliarder rækker. Det gamle lab_forsker / lab_dm_forsker eksisterer stadig men dækker samme data — brug kun én kilde for at undgå duplikater.

lab <- load_database("laboratorieproevesvar_") %>%
  rename_with(tolower) %>%
  filter(pnr %in% !!kohort$pnr) %>%   # filtrer FØR collect — registret er meget stort
  select(pnr, npu, samplingdato, samplevalue) %>%
  collect()
# samplevalue er character — kan indeholde "ikke påvist", "negativ" mv.

Se også

Back to top