R/utlede_kvalitetsindikatorer.R
utlede_kvalitetsindikatorer.Rd
Oppdaterte versjoner av kvalitetsindikatorer. I bruk fra og med våren 2022.
utlede_dager_sensur(df, dato_sensur)
indik_overlevelse30dg(df)
indik_tamponade(df)
indik_prom_klineff(df)
indik_ferdig_komplik(df)
indik_akuttsuksess(df)
indik_pacemaker(df)
indik_avbrudd(df)
data.frame med ablanor-data. Må inneholde ulike variabler for de
ulike funksjonene. F.eks. forlopstype
, abla_strat_av_his
og
komp_tamp
for indikatoren "Komplikasjon tamponade for AFLI uten AV
knuter".
dato for sensur til overlevelsesanalyser. Anbefaler 3mnd før datadump, da det kan ta så lang tid å få overført datoen fra folkeregisteret.
For hver av kvalitetsindikatorene, legge til en variabel for datagrunnlag (suffix 'data') og en for indikatoren ja/nei.
Overlevelse 30 dager etter prosedyren
indik_overlevelse30dg
nevneren indik_overlevelse30dg_data
(datagrunnlag) har verdien
ja dersom forløpstype er AFLI (forlopstype
= 1)
uten AV-knuter (abla_strat_av_his
= 0) og dersom tid til sensur er
over 30 dager (dager_pros_sensur_gyldig
= ja]). Variabelen har
verdi nei for andre forløpstyper, for kort sensur-tid. Dersom
flere enn et forløp (AFLI, uten AV knuter, med gyldig tid) i et 30-dagers
intervall, brukes kun nyeste forløp og alle eldre forløp har verdi
indik_overlevelse_30dg
= nei.
telleren indik_overlevelse30dg
har verdien ja dersom
pasienten er levende 30 dager etter prosedyren, var verdien nei
dersom pasienten er død 0-29 dager etter prosedyren.
indik_overlevelse30dg
bruker hjelpe-funksjonen
utlede_dager_sensur
som lager to nye variabler
dager_pros_sensur
og dager_pros_sensur_gyldig
.
indik_overlevelse30dg
inneholder antall dager fra proseyre til
dødsdato for avdøde pasienter og antall dager fra proseydre til sensurdato
(dato for nedlastet datadump) for levende pasienter.
indik_overlevelse30dg_gyldig
har verdien nei/manglende dersom for
kort sensur-tid eller datoer er manglende.
Tamponade i forbindelse med prosedyren
indik_tamponade()
nevneren indik_tamponade_data
(datagrunnlag) har verdien
ja dersom forløpstype er AFLI (forlopstype
= 1)
uten AV-knuter (abla_strat_av_his
= 0).
telleren indik_tamponade
har verdien ja dersom
indik_tamp_data
= ja og komp_tamp
= 1,
verdien nei dersom indik_tamp_data
= ja og
komp_tamp
= 0,
verdien manglende dersom indik_tamp_data
= ja og
komp_tamp
er manglende,
og verdien NA dersom forløpet ikke er i datagrunnlaget
(indik_tamp_data
= nei).
Klinisk effekt 12 måneder etter prosedyren
indik_prom_klineff
nevneren indik_prom_klineff_data
(datagrunnlag) har verdien
ja dersom forløpstype er AFLI (forlopstype
= 1)
uten AV-knuter (abla_strat_av_his
= 0) og dersom oppfølgingsskjema
er utfylt. Variabelen har
verdi nei for andre forløpstyper eller manglende oppfølging.
telleren indik_prom_klineff
har verdien ja dersom
pasienten har svart Helt bra, Mye bedre eller Bedre
sammenlignet med før prosedyre. Variabelen har verdien nei dersom
pasienten svarer Uforandret eller Verre. Variabelen har verdien
manglende dersom oppfølgingsskjemaet er fylt ut, men spørsmålet om
klinisk effekt er ubesvart.
Ferdig utfylt komplikasjonsskjema
indik_ferdig_komplik
nevneren indik_ferdig_komp_data
har verdien ja for alle
prosedyrer.
tellerne indik_ferdig_komp
har verdien ja dersom
spørsmålet komp_janei
er utfylt med en av verdiene ja eller
nei, indik_ferdig_komp
har verdien nei dersom
komp_janei
er manglende.
Vellykket prosedyre (akutt suksess)
indik_akuttsuksess
nevneren indik_akuttsuksess_data
(datagrunnlag) har verdiene
AFLI, VT, AVRT eller AVNRT avhenging av
forløpstype (forlopstype og aryt_i47_1_underkat) og kun dersom pasienten er
abladert (abla_strat_ingen
=0) og uten AV-knuter
(abla_strat_av_his
= 0). Variabelen har
verdi nei for andre forløpstyper, ikke abladert, eller AV-knuter.
telleren indik_akuttsuksess
har verdien ja dersom
akutt_suksess
= 1.
Variabelen har verdien nei dersom akutt_suksess
= 0 eller 2,
og verdien manglende dersom akutt_suksess
mangler.
Behov for pacemaker
indik_pacemaker
nevneren indik_pacemaker_data
(datagrunnlag) har verdien
ja dersom forløpstype er SVT (forlopstype
= 3)
uten AV-knuter (abla_strat_av_his
= 0). Variabelen har
verdi nei for andre forløpstyper.
telleren indik_pacemaker
har verdien ja dersom
pasienten har hatt komplikasjon AV-blokk etterfulgt av innsetting av
pacemaker (komp_avblokk_pm
= 1). Variabelen har verdien nei
eller og verdien manglende dersom komp_avblokk_pm
mangler.
Prosedyreavbrudd på grunn av tekniske problemer eller komplikasjoner
indik_avbrudd()
nevneren indik_avbrudd_data
(datagrunnlag) har
verdiene AFLI eller VT, SVT, AV-knuter avhengig av
forløpstype, og verdien nei dersom forløpstype EFU.
telleren indik_avbrudd
har verdien ja dersom
indik_avbrudd_data
= AFLU eller VT, SVT, AV-knuter og
abla_strat_ingen_arsak
= 4(tekniske problemer) eller 5(Komplikasjon),
verdien nei dersom indik_avbrudd_data
= ja og
ingen avbrudd eller avbrudd av andre årsaker.
Verdien NA dersom forløpet ikke er i datagrunnlaget.
# OVERLEVELSE
data.frame(
patient_id = rep(1, 3),
mceid = 1:3,
forlopstype = rep(1, 3),
abla_strat_av_his = rep(0, 3),
dato_pros = as.Date(c(rep("2020-10-15",2),"2021-10-15"),
format = "%Y-%m-%d"),
deceased = c(0, 1, 0),
deceased_date = as.Date(c(NA, "2020-10-18", NA),
format = "%Y-%m-%d")) %>%
ablanor::utlede_dager_sensur(
df=.,
dato_sensur = as.Date("2021-10-20", format = "%Y-%m-%d")) %>%
ablanor::indik_overlevelse30dg()
#> # A tibble: 3 × 11
#> patient_id mceid forlopstype abla_strat_av_his dato_pros deceased
#> <dbl> <int> <dbl> <dbl> <date> <dbl>
#> 1 1 1 1 0 2020-10-15 0
#> 2 1 2 1 0 2020-10-15 1
#> 3 1 3 1 0 2021-10-15 0
#> # ℹ 5 more variables: deceased_date <date>, dager_pros_sensur <dbl>,
#> # dager_pros_sensur_gyldig <chr>, indik_overlevelse30dg_data <chr>,
#> # indik_overlevelse30dg <ord>
# TAMPONADE
df <- data.frame(forlopstype = c(2, 3, 4, NA, 1, 1, 1, 1),
abla_strat_av_his = c(NA, 1, 0, 0, 1, 0, 0, 0),
komp_tamp = c(rep(0, 6), 1, 1))
ablanor::indik_tamponade(df = df)
#> forlopstype abla_strat_av_his komp_tamp indik_tamp_data indik_tamp
#> 1 2 NA 0 nei <NA>
#> 2 3 1 0 nei <NA>
#> 3 4 0 0 nei <NA>
#> 4 NA 0 0 nei <NA>
#> 5 1 1 0 nei <NA>
#> 6 1 0 0 ja nei
#> 7 1 0 1 ja ja
#> 8 1 0 1 ja ja
# KLINISK EFFEKT
df <- data.frame(forlopstype = c(2, 3, 4, NA, 1, 1, 1, 1),
abla_strat_av_his = c(NA, 1, 0, 0, 1, 0, 0, 0),
followup_status = c(0, 0, 0, 1, 1, 1, 1, 1),
q2 = c(NA, NA, NA, 1:5))
ablanor::indik_prom_klineff(df = df)
#> forlopstype abla_strat_av_his followup_status q2 indik_prom_klineff_data
#> 1 2 NA 0 NA nei
#> 2 3 1 0 NA nei
#> 3 4 0 0 NA nei
#> 4 NA 0 1 1 nei
#> 5 1 1 1 2 nei
#> 6 1 0 1 3 ja
#> 7 1 0 1 4 ja
#> 8 1 0 1 5 ja
#> indik_prom_klineff
#> 1 <NA>
#> 2 <NA>
#> 3 <NA>
#> 4 <NA>
#> 5 <NA>
#> 6 ja
#> 7 nei
#> 8 nei
# FERDIG UTFYLT KOMPLIKASJONER
ablanor::indik_ferdig_komplik(df = data.frame(komp_janei = c(NA, 0, 1)))
#> komp_janei indik_ferdig_komp_data indik_ferdig_komp
#> 1 NA ja nei
#> 2 0 ja ja
#> 3 1 ja ja
# AKUTT SUKSESS
df <- data.frame(
abla_strat_ingen = c(1, NA, rep(0, 18)),
abla_strat_av_his = c(0, 0, 1, NA, rep(0, 16)),
forlopstype = c(rep(1, 4), NA, rep(1, 5), rep(2, 3), rep(3, 6), 4),
aryt_i47_1_underkat = c(rep(NA, 13), NA, 1:5, NA),
akutt_suksess = c(rep(NA, 5), NA, 9, 0, 1, 2, 0:2, 0:2, 0:2 , 1))
ablanor::indik_akuttsuksess(df)
#> abla_strat_ingen abla_strat_av_his forlopstype aryt_i47_1_underkat
#> 1 1 0 1 NA
#> 2 NA 0 1 NA
#> 3 0 1 1 NA
#> 4 0 NA 1 NA
#> 5 0 0 NA NA
#> 6 0 0 1 NA
#> 7 0 0 1 NA
#> 8 0 0 1 NA
#> 9 0 0 1 NA
#> 10 0 0 1 NA
#> 11 0 0 2 NA
#> 12 0 0 2 NA
#> 13 0 0 2 NA
#> 14 0 0 3 NA
#> 15 0 0 3 1
#> 16 0 0 3 2
#> 17 0 0 3 3
#> 18 0 0 3 4
#> 19 0 0 3 5
#> 20 0 0 4 NA
#> akutt_suksess indik_akuttsuksess_data indik_akuttsuksess
#> 1 NA nei <NA>
#> 2 NA nei <NA>
#> 3 NA nei <NA>
#> 4 NA nei <NA>
#> 5 NA nei <NA>
#> 6 NA AFLI manglende
#> 7 9 AFLI manglende
#> 8 0 AFLI nei
#> 9 1 AFLI ja
#> 10 2 AFLI nei
#> 11 0 VT nei
#> 12 1 VT ja
#> 13 2 VT nei
#> 14 0 nei <NA>
#> 15 1 AVNRT ja
#> 16 2 AVNRT nei
#> 17 0 nei <NA>
#> 18 1 AVRT ja
#> 19 2 nei <NA>
#> 20 1 nei <NA>
#PACEMAKERBEHOV
df <- data.frame(forlopstype = c(2, 3, 4, NA, 1, 3, 3, 3),
abla_strat_av_his = c(NA, 1, 0, 0, 1, 0, 0, 0),
komp_avblokk_pm = c(NA, NA, NA, 0, 1, 0, 1, 0))
ablanor::indik_pacemaker(df = df)
#> forlopstype abla_strat_av_his komp_avblokk_pm indik_pacemaker_data
#> 1 2 NA NA nei
#> 2 3 1 NA nei
#> 3 4 0 NA nei
#> 4 NA 0 0 nei
#> 5 1 1 1 nei
#> 6 3 0 0 ja
#> 7 3 0 1 ja
#> 8 3 0 0 ja
#> indik_pacemaker
#> 1 <NA>
#> 2 <NA>
#> 3 <NA>
#> 4 <NA>
#> 5 <NA>
#> 6 nei
#> 7 ja
#> 8 nei
# AVBRUDD
df <- data.frame(forlopstype = c(3, 4, NA, 1, 1, 1, 1, 1, 1, 1, 1),
abla_strat_av_his = c(1, 0, 0, 1, NA, 0, 0, 0, 0, 0, 0),
abla_strat_ingen = c(rep(0, 5), NA, 1, 1,1, 1, 0),
abla_strat_ingen_arsak = c(rep(NA, 6), 1, 4,5, NA, NA))
ablanor::indik_avbrudd(df = df)
#> forlopstype abla_strat_av_his abla_strat_ingen abla_strat_ingen_arsak
#> 1 3 1 0 NA
#> 2 4 0 0 NA
#> 3 NA 0 0 NA
#> 4 1 1 0 NA
#> 5 1 NA 0 NA
#> 6 1 0 NA NA
#> 7 1 0 1 1
#> 8 1 0 1 4
#> 9 1 0 1 5
#> 10 1 0 1 NA
#> 11 1 0 0 NA
#> indik_avbrudd_data indik_avbrudd
#> 1 VT, SVT, AV-knuter nei
#> 2 nei <NA>
#> 3 nei <NA>
#> 4 VT, SVT, AV-knuter nei
#> 5 nei <NA>
#> 6 nei <NA>
#> 7 AFLI nei
#> 8 AFLI ja
#> 9 AFLI ja
#> 10 AFLI manglende
#> 11 AFLI nei