Na stronie https://ezdrowie.gov.pl co miesiąc od 2019 roku publikowany jest wielki plik XLST z danymi dotyczącymi hospitalizacji. Pliki te zostały zamienione na CSV a następnie ich zawartość zagregowana. Zbiorczy plik CSV zawiera informacje nt liczby hospitalizacji rozbite na województwa i kategorie chorobowe; specjalne wojewodztwo o nazwie PL
zawiera podsumowanie dla całego kraju. Dane dla 2018 pochodzą z plików z roku 2019 (w których stanowiły podstawę porównań rok/rok); w ten sposób możliwe było wydłużenie danych o rok 2018 dla których dane w normalnym trybie nie były publikowane.
h0 <- read.csv("hospitalizacje_2018-2021WW.csv", sep = ';', header=T, na.string="NA") %>%
select(data, kat, woj, hospitalizacje ) %>%
mutate (date = as.Date( sprintf ("%s-1", data))) %>%
mutate(kat=recode(kat,
'A00-B99 Wybrane choroby zakaźne i pasożytnicze' = 'Zakaźne',
'C00-D48 Nowotwory' = 'Nowotwory',
'F00-F99 Zaburzenia psychiczne i zaburzenia zachowania' = 'Zaburzenia psychiczne',
'G00-G99 Choroby układu nerwowego' = 'Układu nerwowego',
'H00-H59 Choroby oka i przydatków oka' = 'Oka',
'I00-I99 Choroby układu krążenia' = 'Układu krążenia',
'J00-J99 Choroby układu oddechowego' = 'Układu oddechowego',
'K00-K93 Choroby układu pokarmowego' = 'Układu pokarmowego',
'L00-L99 Choroby skóry i tkanki podskórnej' = 'Skóry',
'M00-M99 Choroby układu mięśniowo-szkieletowego i tkanki łącznej' = 'Układu mięśniowo-szkieletowego',
'N00-N99 Choroby układu moczowo-płciowego' = 'Układu moczowo-płciowego',
'O00-O99 Ciąża, poród i okres połogu' = 'Ciąża, poród',
'S00-T98 Urazy, zatrucia i inne określone skutki działania czynników zewnętrznych' = 'Urazy, zatrucia'
))
Dla woj=PL liczymy sumę po wszystkich kategoriach:
h <- h0 %>% filter (woj == 'PL') %>%
group_by(date) %>%
summarise( hospitalizacje = sum(hospitalizacje, na.rm=T)) %>% ungroup()
Wykres 1 PL ogółem:
Definiujemy różne grupy chorobowe
ch1 <- c('Układu krążenia', 'Nowotwory', 'Układu oddechowego', 'Zakaźne')
ch2 <- c('Zaburzenia psychiczne')
ch3 <- c('Zakaźne', 'Nowotwory', 'Zaburzenia psychiczne', 'Układu nerwowego', 'Oka',
'Układu krążenia', 'Układu oddechowego',
'Układu pokarmowego', 'Skóry', 'Układu mięśniowo-szkieletowego',
'Układu moczowo-płciowego', 'Ciąża, poród', 'Urazy, zatrucia' )
ch4 <- c('Zaburzenia psychiczne', 'Układu nerwowego', 'Urazy, zatrucia',
'Układu pokarmowego', 'Ciąża, poród')
Dla woj = PL grupujemy po kategoriach chorobowych
h <- h0 %>% filter (woj == 'PL') %>%
group_by(date, kat) %>%
summarise( hospitalizacje = sum(hospitalizacje, na.rm=T)) %>%
ungroup()
Wykres 2: wg chorób z grupy ch1
:
Wykres 3: wg chorób z grupy ch2
:
Wykres 4: wg chorób z grupy ch3
:
Procentowo względem chorób z grupy ch3
:
h.addr.pl <- h %>% filter (kat %in% ch3) %>%
group_by(kat) %>%
summarise(s = mean(hospitalizacje, na.rm = T))
h.p.pl <- left_join(h.addr.pl, h, by='kat') %>%
mutate( hp = hospitalizacje / s * 100)
##str(h.p.pl)
Wykres 5: wg chorób z grupy ch3
(w procentach):
Pomijamy wybrane choroby żeby kolejny wykres był bardziej czytelny:
h <- h0 %>% filter ( woj != 'PL') %>% filter (kat %in% ch3)
Wykres 6: wszystkie kategorie na jednym wykresie:
Wykres 7: Pomorskie ogółem:
Wykres 8: Pomorskie w procentach:
Wykres 9: PL i woj POM (w procentach):