Letalidade neonatal em hospitais de Cuiabá e Várzea Grande, MT
Download dos dados
Os dados foram obtidos do Sistema de Informações Hospitalares (SIH-DATASUS) e incluíram indivíduos com até 28 dias de vida hospitalizados em unidades do SUS localizadas no município de Cuiabá e Várzea Grande/MT.
Para eliminar o viés de seleção proveniente da inclusão de apenas AIH’s aprovadas foi aplicado um algoritmo de correção, método previamente descrito e publicado.
#---------- Pacotes
library(tidyverse)
library(microdatasus)
library(kableExtra)
#---------- Download
RD <- fetch_datasus(information_system = "SIH-RD",
year_start = 2019, year_end = 2023,
month_start = 1, month_end = 12, uf = "MT",
vars = c("N_AIH", "NASC", "DT_INTER", "DT_SAIDA", "MORTE", "CNES", "MARCA_UTI"))
RJ <- fetch_datasus(information_system = "SIH-RJ",
year_start = 2019, year_end = 2023,
month_start = 1, month_end = 12, uf = "MT",
vars = c("N_AIH", "NASC", "DT_INTER", "DT_SAIDA", "MORTE", "CNES", "MARCA_UTI"))
#---------- Aprovados + Glosados
a <- RJ |>
distinct(N_AIH, .keep_all = TRUE) |>
anti_join(RD, by = "N_AIH")
b <- RD |>
inner_join(RJ, by = "N_AIH", suffix = c("",".r")) |>
select(N_AIH, NASC, DT_INTER, DT_SAIDA, MORTE, CNES, MARCA_UTI)
c <- RD |>
anti_join(RJ, by = "N_AIH")
SIH <- rbind(a, b, c)
rm(a, b, c, RJ, RD)
#---------- Processamento
SIH <- SIH |>
filter(CNES %in% c("2311682", "2655411",
"2659107", "2391635")) |>
mutate(NASC = ymd(NASC),
DT_INTER = ymd(DT_INTER),
DT_SAIDA = ymd(DT_SAIDA),
IDADE = as.numeric(DT_INTER - NASC),
ANO = year(DT_SAIDA),
MES = month(DT_SAIDA, label = TRUE, abbr = TRUE),
UTI = case_when(MARCA_UTI == "00" ~ "Não", TRUE ~ "Sim"),
CNES = case_when(CNES == "2311682" ~ "HSH",
CNES == "2655411" ~ "HUJM",
CNES == "2659107" ~ "HG",
CNES == "2391635" ~ "PSMVG")) |>
filter(IDADE <= 28,
DT_INTER >= "2019-01-01")
Internações por hospital
Entre 01/01/2019 e 30/05/2023, houveram um total de 8627 hospitalizações, destas, 3391 necessitaram de internação em UTI, o que representa 39.31% do total de hospitalizações.
SIH |>
group_by(CNES) |>
summarise(n = n()) |>
arrange(desc(n)) |>
rename(Hospital = CNES,
`Internações` = n) |>
mutate(Hospital = case_when(Hospital == "HG" ~ "Hospital Geral - HG",
Hospital == "HSH" ~ "Hospital Santa Helena - HSH",
Hospital == "PSMVG" ~ "Pronto Socorro de Várzea Grande - PSMVG",
Hospital == "HUJM" ~ "Hospital Universitário Julio Muller - HUJM"),
`%` = round(`Internações` / sum(`Internações`) * 100, digits = 1)) |>
kbl() |>
kable_styling(html_font = "Fira Sans",
bootstrap_options = "striped") |>
row_spec(0, background = "darkorange", color = "black")
Hospital | Internações | % |
---|---|---|
Hospital Geral - HG | 3616 | 41.9 |
Hospital Santa Helena - HSH | 3175 | 36.8 |
Pronto Socorro de Várzea Grande - PSMVG | 1060 | 12.3 |
Hospital Universitário Julio Muller - HUJM | 776 | 9.0 |
Tendência temporal
SIH |>
filter(DT_INTER >= "2020-01-01") |>
group_by(ANO, MES) |>
summarise(letalidade = length(MORTE[MORTE == "1"])/length(MORTE)*100) |>
ggplot(aes(y = letalidade, x = MES)) +
geom_col(fill = "darkorange", alpha = 0.8) +
geom_text(aes(label = round(letalidade, 0)), color = "black", vjust = 1.3) +
hrbrthemes::theme_ipsum_ps() +
scale_y_continuous(limits = c(0,NA)) +
labs(subtitle = str_glue("Fonte: SIH-DATASUS | {n_distinct(SIH$CNES)} unidades hospitalares"),
y = "Letalidade (%)",
x = "Mês do óbito") +
theme(plot.title = element_text(size = 15),
plot.subtitle = element_text(size = 11),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_blank()) +
facet_wrap(~ ANO)
Letalidade por hospital
SIH |>
filter(DT_INTER >= "2020-01-01") |>
group_by(CNES, ANO) |>
summarise(letalidade = length(MORTE[MORTE == "1"])/length(MORTE)*100) |>
ggplot(aes(y = letalidade, x = reorder(CNES, +letalidade))) +
geom_col(fill = "darkorange", alpha = 0.8) +
geom_text(aes(label = round(letalidade, 1)), color = "black", hjust = 1.2) +
hrbrthemes::theme_ipsum_pub() +
labs(subtitle = str_glue("Fonte: SIH-DATASUS | {n_distinct(SIH$CNES)} unidades hospitalares"),
y = "Letalidade (%)",
x = "Hospital") +
theme(plot.title = element_text(size = 15),
plot.subtitle = element_text(size = 11),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.y = element_blank()) +
coord_flip() +
facet_wrap(~ ANO) +
scale_y_continuous(n.breaks = 4)
Variação 2023 x 2022
SIH |>
group_by(CNES) |>
summarise(let2022 = length(MORTE[MORTE == "1" & ANO == 2022])/length(MORTE[ANO == 2022])*100,
let2023 = length(MORTE[MORTE == "1" & ANO == 2023])/length(MORTE[ANO == 2023])*100,
var = (let2023 - let2022) / let2022 * 100) |>
ggplot(aes(y = var, x = reorder(CNES, var))) +
geom_col(fill = "darkorange", alpha = 0.8) +
geom_text(aes(label = round(var, 1)), color = "black", vjust = 1.3) +
hrbrthemes::theme_ipsum_pub() +
labs(y = "Variação (%)",
x = "Hospital") +
theme(plot.title = element_text(size = 15),
plot.subtitle = element_text(size = 11),
panel.grid.minor.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.x = element_blank()) +
scale_y_continuous(n.breaks = 8)
Conclusão
Juntos, o Hospital Geral e o Hospital Santa Helena representaram 3 a cada 4 internações neonatais nos últimos 5 anos.
O mês de maio/2023 registrou a maior letalidade histórica dos últimos 4 anos.
O Pronto Socorro de Várzea Grande apresentou (até maio) a maior letalidade neonatal em 2023.
Comparado com os dados de 2022, o Pronto Socorro de Várzea Grande apresentou o maior crescimento da letalidade hospitalar neonatal em 2023.