doc/indikatorerSykehusviser.R

library(norgast)
library(tidyverse)
rm(list = ls())

rap_aar <- 2023

RegData <-  norgast::NorgastHentRegData()
RegData <- norgast::NorgastPreprosess(RegData)
# RegData$AvdRESH[RegData$AvdRESH == 4204126] <- 4204084 # Tull med Ringerike

RegDataOblig <- RegData[RegData$Op_gr %in% 1:8, ]
RegDataOblig <- RegDataOblig %>% filter(OpDato < "2023-07-01") ## Ad hoc, desemberpublisering

ind <- c("norgast_saarruptur", "norgast_aktivkontroll", "norgast_vekt_reg",
         "norgast_avdoede_spiseroer", "norgast_avdoede_magesekk",
         "norgast_avdoede_bukspytt_tolv", "norgast_avdoede_lever",
         "norgast_lekkasje_tykktarm", "norgast_lekkasje_endetarm",
         "norgast_kikkhullsteknikk_endetarm", "norgast_kikkhullsteknikk_tykktarm",
         "norgast_kikkhullsteknikk_lever")

indikator <- norgastBeregnIndikator(RegDataOblig, ind[1])$Indikator

for (ind_id in ind[-1]) {
  indikator <- dplyr::bind_rows(indikator, norgastBeregnIndikator(RegDataOblig, ind_id)$Indikator)
}

### Tilbered dekningsgrad for sykehusviser

dg_kobl_resh_orgnr <- data.frame(orgnr_sh = c(974733013, 974631407, 974557746, 974632535, 974795787, 974705788, 974633574, 974795639,
                                              974724960, 974795361, 993467049, 974631326, 974749025, 974706490, 974703300, 974633752,
                                              874632562, 974743272, 974795515, 974116804, 974747138, 974745569, 974795833, 974633191,
                                              974724774, 974631091, 974795477, 974329506, 974316285, 974631407, 974795558,
                                              974795574, 874716782, 974707152, 974631776, 974744570, 974747545, 974753898, 974795558,
                                              974795574, 974754118, 974589095, 974754118, 974747545),
                                 resh = c(100353,4204126, 700922, 108355, 601225, 103091, 100100, 601231, 108354, 706264, 700413,
                                          4204082, 107440, 108162, 114271,4209222, 108357, 102939, 102141, 107505, 708761,4204500,
                                          101823, 102037, 701402, 100354, 102145,4211928, 100170, 4204084, 700840, 700841,
                                          103312,4205289, 974631776, 974744570, 974747545, 974753898, 974795558, 974795574, 4212917,
                                          106168, 4207594, 4216823))



dg_samlet <- read.csv2("~/mydata/norgast/dg_norgast.csv")
dg_samlet <- dg_samlet %>% dplyr::filter(substr(ind_id, 1, 10) == "norgast_dg")

DG_2022 <- read.csv2('~/mydata/norgast/dg_opgr_shus.csv')

DG_tot_2022 <- DG_2022 %>%
  summarise(n_norgast = sum(n_norgast),
            n_npr = sum(n_npr),
            DG = n_norgast/n_npr*100,
            AvdRESH = first(AvdRESH),
            Sykehusnavn = first(Sykehusnavn),
            .by = sh) %>%
  mutate(Op_gr = 7) %>%
  select(sh, n_norgast, n_npr, Op_gr)

DG_pankreas <- DG_2022 %>%
  filter(Op_gr %in% 6:8) %>%
  summarise(n_norgast = sum(n_norgast),
            n_npr = sum(n_npr),
            DG = n_norgast/n_npr*100,
            AvdRESH = first(AvdRESH),
            Sykehusnavn = first(Sykehusnavn),
            .by = sh) %>%
  mutate(Op_gr = 6) %>%
  select(sh, n_norgast, n_npr, Op_gr)

DG_2022 <- DG_2022 %>%
  filter(Op_gr %in% 1:5) %>%
  select(sh, n_norgast, n_npr, Op_gr) %>%
  dplyr::bind_rows(DG_pankreas) %>%
  dplyr::bind_rows(DG_tot_2022) %>%
  mutate(context = "caregiver",
         year = 2022) %>%
  rename(orgnr = sh,
         var = n_norgast,
         denominator = n_npr) %>%
  mutate(ind_id = case_when(Op_gr == 1 ~ "norgast_dg_tykktarm",
                            Op_gr == 2 ~ "norgast_dg_endetarm",
                            Op_gr == 3 ~ "norgast_dg_spiseroer",
                            Op_gr == 4 ~ "norgast_dg_magesekk",
                            Op_gr == 5 ~ "norgast_dg_lever",
                            Op_gr == 6 ~ "norgast_dg_pankreas",
                            Op_gr == 7 ~ "norgast_dg_total")) %>%
  select(-Op_gr)

dg_samlet <- bind_rows(dg_samlet, DG_2022)
dg_samlet$var[which(dg_samlet$var > dg_samlet$denominator)] <-
  dg_samlet$denominator[which(dg_samlet$var > dg_samlet$denominator)]

indikator <- bind_rows(indikator, dg_samlet)

write.csv2(indikator, paste0("~/mydata/norgast/norgast_indikator_", lubridate::today(), ".csv"),
           row.names = F, fileEncoding = 'UTF-8')
Rapporteket/norgast documentation built on April 22, 2024, 11:34 p.m.