clean_str <- function(x) {
if (!is.character(x)) {
stop("Input must be a character vector or string.")
}
clean_str <- stringr::str_replace_all(x, "[[:punct:]]", "")
clean_str <- stringr::str_replace_all(x, "[[:punct:]´]", "")
clean_str <- toupper(clean_str)
clean_str <- stringi::stri_trans_general(clean_str, "Latin-ASCII")
clean_str <- stringr::str_squish(clean_str)
return(clean_str)
}
# Pacotes
pacman::p_load(openxlsx, readxl, stringr, dplyr, ggplot2, tidyr, janitor, skimr, viridis, grid, shadowtext, hrbrthemes, install = TRUE)
bps <- openxlsx::read.xlsx("C:\\Users\\pedro\\Desktop\\transparencia\\bps_2022.xlsx", sep.names = " ", detectDates = TRUE) |> # Substituir diretório
janitor::clean_names() |>
dplyr::mutate(across(starts_with("cnpj"), ~as.integer(as.factor(.))),
municipio_instituicao = clean_str(municipio_instituicao))
code_muni <- openxlsx::read.xlsx("C:\\Users\\pedro\\Desktop\\transparencia\\code_muni_ibge.xlsx") |> # Substituir diretório
dplyr::select(municipio, uf, porte, regiao) |>
dplyr::mutate(municipio = clean_str(municipio))
O Banco de Preços de Saúde (BPS), instituído em 1998, é uma medida crucial do governo federal ao consolidar e divulgar dados sobre a aquisição de insumos médico-hospitalares, tanto no âmbito público quanto privado. Para de simplificar a comparação de valores de medicamentos, o BPS visa garantir a eficiência na utilização dos recursos públicos, proporcionando a gestores e técnicos do Sistema Único de Saúde (SUS) acesso a informações essenciais para a formulação de estratégias e decisões fundamentadas.
Este projeto tem como propósito realizar uma análise das compras de insumos médico-hospitalares registradas no BPS durante o ano de 2022. A análise exploratória abordará diversos tópicos para proporcionar uma compreensão abrangente do panorama das transações no setor de saúde, dividida em 3 tópicos.
Em resumo, a análise exploratória abordará tópicos diversos, desde a leitura e análise geral dos dados até uma visão sobre as compras de produtos hospitalares. Destacam-se os principais compradores, laboratórios preferidos e fornecedores intermediários por região. Adicionalmente, será realizada uma análise dos preços, enfocando a especificidade de um medicamento em quatro estados, a discrepância de preços entre regiões e estados, e a influência da dosagem do medicamento em seu preço. Este processo fornecerá informações para a compreensão do cenário das compras de insumos médico-hospitalares, subsidiando decisões estratégicas no contexto do Sistema Único de Saúde (SUS).
Nesta fase inicial do projeto, dedicaremos nossa atenção à Leitura e Análise Exploratória dos Dados provenientes do Banco de Preços de Saúde (BPS) referentes ao ano de 2022. Essa etapa é fundamental para compreender a estrutura e as características dos dados disponíveis.
A abordagem cuidadosa durante a exploração visa identificar padrões, tendências e possíveis ruídos ou inconsistências nos registros. A intenção é proporcionar uma visão abrangente dos dados, estabelecendo uma base sólida para análises mais detalhadas nas fases subsequentes do projeto.
Para alcançar esse propósito, empregaremos tanto abordagens estatísticas quanto gráficas. Essas ferramentas nos auxiliarão na obtenção de informações preliminares, orientando as investigações mais aprofundadas nos tópicos subsequentes. A exploração inicial não apenas preparará o terreno para análises mais robustas, mas também facilitará uma compreensão das transações de insumos médico-hospitalares no contexto do BPS.
bps |>
skimr::skim()
| Name | bps |
| Number of rows | 69028 |
| Number of columns | 20 |
| _______________________ | |
| Column type frequency: | |
| character | 12 |
| Date | 2 |
| numeric | 6 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| codigo_br | 0 | 1.00 | 9 | 9 | 0 | 7249 | 0 |
| descricao_catmat | 0 | 1.00 | 15 | 300 | 0 | 7272 | 0 |
| unidade_de_fornecimento | 0 | 1.00 | 3 | 30 | 0 | 369 | 0 |
| generico | 0 | 1.00 | 1 | 1 | 0 | 2 | 0 |
| anvisa | 25626 | 0.63 | 1 | 14 | 0 | 9397 | 0 |
| modalidade_da_compra | 0 | 1.00 | 6 | 28 | 0 | 6 | 0 |
| tipo_compra | 0 | 1.00 | 1 | 1 | 0 | 2 | 0 |
| fabricante | 0 | 1.00 | 7 | 100 | 0 | 1204 | 0 |
| fornecedor | 0 | 1.00 | 7 | 100 | 0 | 1554 | 0 |
| nome_instituicao | 0 | 1.00 | 10 | 81 | 0 | 268 | 0 |
| municipio_instituicao | 0 | 1.00 | 3 | 26 | 0 | 313 | 0 |
| uf | 0 | 1.00 | 2 | 2 | 0 | 20 | 0 |
Variable type: Date
| skim_variable | n_missing | complete_rate | min | max | median | n_unique |
|---|---|---|---|---|---|---|
| compra | 0 | 1 | 2022-01-01 | 2022-12-30 | 2022-05-18 | 325 |
| insercao | 0 | 1 | 2022-01-03 | 2023-03-16 | 2022-09-12 | 332 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| cnpj_fabricante | 0 | 1 | 734.30 | 363.32 | 1 | 387.00 | 829.00 | 1052.00 | 1259 | ▃▃▃▅▇ |
| cnpj_fornecedor | 0 | 1 | 751.70 | 500.06 | 1 | 277.00 | 738.00 | 1220.00 | 1587 | ▇▅▅▅▆ |
| cnpj_instituicao | 0 | 1 | 168.28 | 90.25 | 1 | 86.75 | 171.00 | 242.00 | 334 | ▆▅▇▇▅ |
| qtd_itens_comprados | 0 | 1 | 392242.12 | 24493591.04 | 1 | 288.00 | 2000.00 | 14000.00 | 4020120000 | ▇▁▁▁▁ |
| preco_unitario | 0 | 1 | 124.85 | 3354.30 | 0 | 0.38 | 2.09 | 7.99 | 495000 | ▇▁▁▁▁ |
| preco_total | 0 | 1 | 328213.40 | 9815169.56 | 0 | 790.00 | 3370.00 | 16823.02 | 1153202400 | ▇▁▁▁▁ |
O banco de dados apresenta uma estrutura consistente, sendo a
variável anvisa a única com valores ausentes. As variáveis
de data, representando compra e inserção,
estão formatadas corretamente. No que diz respeito às variáveis
numéricas, excluindo as informações de CNPJ, observamos que
a quantidade de itens comprados, preço unitário e preço total exibem
valores extremos positivos, indicando uma distribuição com cauda à
direita.
Como decisão de análise, optamos por examinar mais aprofundadamente os valores extremos à medida que surgirem questionamentos específicos sobre produtos e setores durante o relatório. Isso se deve ao fato de que equipamentos e medicamentos hospitalares têm propensão a apresentar grande discrepância de valores. Isso inclui desde maquinários de alta tecnologia até medicamentos de alto custo, além de remédios mais simples. Portanto, não seria produtivo remover esses valores, pois podem estar contextualizados de acordo com suas características específicas.
Nesta seção, aprofundaremos a Visão Geral das Compras de Produtos Hospitalares no âmbito do Banco de Preços de Saúde (BPS) para o ano de 2022. Nosso objetivo principal é identificar os principais protagonistas e padrões no cenário de aquisições de insumos médico-hospitalares. Analisaremos dados que revelarão os estados que se destacam como os maiores e menores compradores, os laboratórios preferidos pelos fornecedores intermediários e as tendências regionais que caracterizam o mercado de saúde. Essa análise será crucial para compreender o panorama das transações, fornecendo informações sobre as preferências e escolhas estratégicas no setor. Assim, contribuirá para uma compreensão mais profunda do mercado de insumos médicos no Brasil ao longo de 2022.
p1 <-
ggplot(tot_compras_med_hosp_uf) +
geom_col(aes(y = reorder(uf, tot_compras), x = tot_compras), fill = "#076fa2", width = 0.6) +
geom_text(aes(y = reorder(uf, tot_compras), x = tot_compras, label = scales::comma(tot_compras)),
vjust = 0.5, hjust = -0.1, size = 3, color = "black") +
labs(title = "Total de Compras de Medicamentos/Equipamentos Hospitalares",
y = "") +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
panel.grid.major.x = element_line(size = 1, color = "gray80", linetype = "dashed"),
panel.grid.minor.x = element_line(size = 0.5, color = "gray90", linetype = "dashed")) +
scale_x_continuous(labels = scales::comma, expand = expansion(mult = c(0, 0.15))) +
geom_hline(yintercept = max(tot_compras_med_hosp_uf$tot_compras) + 1000, color = "#e5001c", linetype = "solid", size = 1) +
theme(panel.grid.major.x = element_line(size = 0.5, color = "gray80", linetype = "dashed"),
panel.grid.minor.x = element_line(size = 0.2, color = "gray90", linetype = "dashed")) +
labs(
caption = "Fonte: Banco de Preços da Saúde (BPS), 2022")
p1
Figura 1: Total de Compras de Medicamentos/Equipamentos Hospitalares
A Figura 1 destaca que o estado do Ceará lidera em volume de compras de medicamentos e equipamentos hospitalares para o ano de 2022, representando expressivos 54.78% do total. Em seguida, Sergipe se destaca com 14.25%. Por outro lado, estados como Rio Grande do Sul, Piauí, Bahia, Espírito Santo, Minas Gerais e Paraíba apresentam uma representatividade inferior a 0.5%, indicando uma participação discreta nesse cenário para tais produtos.
A Tabela 1 oferece uma visão detalhada dos dez principais produtos, acompanhados pelo total de compras e a representatividade de cada estado em relação ao total. Avental Hospitalar e Fixador para Dispositivos Médicos se destacam, representando cerca de 54% do total de compras. Notavelmente, o estado do Ceará possui alta representatividade para esses produtos, consolidando sua posição de destaque nas aquisições.
Esses resultados esclarecem sobre a distribuição geográfica das compras e a influência de determinados produtos no cenário nacional de insumos médico-hospitalares, sendo relevantes no processo de tomada de decisão.
knitr::kable(tot_compras_por_produto_med_hosp_uf[0:10, ], align = "c", caption = "**Tabela 1: Principais Produtos e Representatividade Estadual**")
| Estado | Descrição do Produto | Total de Compras | % do Total |
|---|---|---|---|
| CE | AVENTAL HOSPITALAR, MATERIAL :POLIPROPILENO, GRAMATURA:CERCA DE 40 G/CM2, COMPONENTE:TIRAS PARA F… | 7500000 | 40.72 |
| CE | FIXADOR P/ DISPOSITIVO MÉDICO, APLICAÇÃO:P/ CÂNULA TRAQUEOSTOMIA, MATERIAL:TIRA TECIDO SINTÉTICO … | 2359400 | 12.81 |
| MS | ELETRODO USO MÉDICO, APLICAÇÃO 1:P/ MONITORIZAÇÃO CARDÍACA - ECG, MODELO:DE SUPERFÍCIE, TIPO:PREC… | 584000 | 3.17 |
| AL | SAPATILHA HOSPITALAR, MATERIAL :NÃO TECIDO 100% POLIPROPILENO, MODELO:C/ ELÁSTICO, COR :C/ COR, G… | 474280 | 2.58 |
| SE | TOUCA HOSPITALAR, MATERIAL :NÃO TECIDO 100% POLIPROPILENO, MODELO:COM ELÁSTICO EM TODA VOLTA, COR… | 423000 | 2.30 |
| RJ | TUBO HOSPITALAR, MATERIAL:SILICONE, FORMATO:CIRCULAR, TIPO:LISO, ESPESSURA:6 MM, TAMANHO:Nº 203, … | 400000 | 2.17 |
| SE | AVENTAL HOSPITALAR, MATERIAL :POLIPROPILENO, GRAMATURA:CERCA DE 40 G/CM2, COMPONENTE:TIRAS PARA F… | 388800 | 2.11 |
| AL | ESPÉCULO USO MÉDICO, APLICAÇÃO:VAGINAL, MODELO:COLLIN, TAMANHO:MÉDIO, ADICIONAL 2:C/ DUCTO ASPIRA… | 318300 | 1.73 |
| PR | ELETRODO USO MÉDICO, APLICAÇÃO 1:P/ MONITORIZAÇÃO CARDÍACA - ECG, MODELO:DE SUPERFÍCIE, TIPO:ADES… | 300000 | 1.63 |
| SE | AVENTAL HOSPITALAR, TIPO:CIRÚRGICO, MATERIAL :POLIPROPILENO, TAMANHO :ÚNICO, GRAMATURA:CERCA DE 5… | 300000 | 1.63 |
As Figuras 2 e 3 destacam os laboratórios preferidos pelos fornecedores intermediários, delineando os dez principais com base na frequência de vendas e no total de vendas em Reais.
# Filtrando
lab_preferencia <- bps |>
dplyr::select(uf, codigo_br, descricao_catmat, municipio_instituicao, fabricante, cnpj_fabricante, fornecedor, cnpj_fornecedor, qtd_itens_comprados, preco_total, nome_instituicao)
lab_preferencia_reg <- lab_preferencia |>
dplyr::group_by(uf, fabricante, fornecedor, nome_instituicao) |>
dplyr::summarise(tot_vendas = sum(preco_total)) |>
ungroup()
# Contando frequência
lab_preferencia_count <- lab_preferencia |>
dplyr::group_by(fabricante) |>
dplyr::summarize(count_fab = n(),
tot_vendas = sum(preco_total)) |>
dplyr::select(`Fabricante` = fabricante, `Frequência de Compras` = count_fab, `Total de Vendas` = tot_vendas) |>
ungroup()
lab_preferencia_count <- lab_preferencia_count |>
arrange(desc(`Frequência de Compras`))
p2 <-
ggplot(lab_preferencia_count[0:10, ]) +
geom_col(aes(y = reorder(str_wrap(Fabricante, 30), `Frequência de Compras`), x = `Frequência de Compras`), fill = "#076fa2", width = 0.6) +
geom_text(aes(y = reorder(str_wrap(Fabricante, 30), `Frequência de Compras`), x = `Frequência de Compras`, label = scales::comma(`Frequência de Compras`)),
vjust = 0.5, hjust = -0.1, size = 3, color = "black") +
labs(title = "Preferência de Laboratórios por frequência de Vendas",
y = "") +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
panel.grid.major.x = element_line(size = 1, color = "gray80", linetype = "dashed"),
panel.grid.minor.x = element_line(size = 0.5, color = "gray90", linetype = "dashed")) +
scale_x_continuous(labels = scales::comma, expand = expansion(mult = c(0, 0.11))) +
theme(panel.grid.major.x = element_line(size = 0.5, color = "gray80", linetype = "dashed"),
panel.grid.minor.x = element_line(size = 0.2, color = "gray90", linetype = "dashed")) +
labs(
caption = "Fonte: Banco de Preços da Saúde (BPS), 2022"
)
p2
Figura 2: Preferência de Laboratórios por frequência de Vendas
lab_preferencia_count2 <- lab_preferencia_count |>
arrange(desc(`Total de Vendas`))
p3 <-
ggplot(lab_preferencia_count2[0:10, ]) +
geom_col(aes(y = reorder(str_wrap(Fabricante, 30), `Total de Vendas`), x = `Total de Vendas`), fill = "#076fa2", width = 0.6) +
geom_text(aes(y = reorder(str_wrap(Fabricante, 30), `Total de Vendas`), x = `Total de Vendas`, label = scales::comma(`Total de Vendas`)),
vjust = 0.5, hjust = -0.1, size = 3, color = "black") +
labs(title = "Preferência de Laboratórios por Total de Vendas",
y = "") +
theme(axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.title.x = element_blank(),
panel.grid.major.x = element_line(size = 1, color = "gray80", linetype = "dashed"),
panel.grid.minor.x = element_line(size = 0.5, color = "gray90", linetype = "dashed")) +
scale_x_continuous(labels = scales::comma, expand = expansion(mult = c(0, 0.32))) +
theme(panel.grid.major.x = element_line(size = 0.5, color = "gray80", linetype = "dashed"),
panel.grid.minor.x = element_line(size = 0.2, color = "gray90", linetype = "dashed")) +
labs(
caption = "Fonte: Banco de Preços da Saúde (BPS), 2022"
)
p3
Figura 3: Preferência de Laboratórios por Total de Vendas
A fornecedora Prati, Donaduzzi e Cia LTDA aparece tanto em termos de frequência de vendas como no total de vendas. Apesar de registrar mais transações, o montante total não é tão expressivo quando comparado à Sandoz do Brasil Indústria Farmacêutica LTDA. Essa observação sugere que, embora a Prati realize um maior frequência de vendas, os valores associados tendem a ser maiores para a Sandoz. Essa lógica é aplicável a outros exemplos, como a Eurofarma Laboratórios LTDA.
Outro aspecto relevante é a análise da contratação de fornecedores
intermediários, independentemente da localização geográfica. Um exemplo
é a fornecedora Elfa Medicamentos LTDA, sediada em São Paulo - SP, sendo
utilizada pela Sandoz do Brasil Industria Farmaceutica LTDA, localizada
no Paraná, enquanto a instituição compradora é a Secretaria de Saúde do
Estado do Ceará. Em linhas gerais, observa-se uma preferência logística,
especialmente entre as variáveis Fornecedor e
Fabricante, que, quando disponíveis, tendem a coincidir. No
entanto, não há uma regra que impeça que Fornecedores,
Fabricantes e Compradores, apesar de estarem
geograficamente dispersos, ainda realizem negócios entre si.
# Agrupando e resumindo
dest_fornec_regiao <- bps |>
group_by(municipio_instituicao, fornecedor, uf) |>
summarise(
count_for = n(),
tot_itens_comp = sum(qtd_itens_comprados, na.rm = TRUE),
tot_valor = sum(preco_total)) |>
ungroup()
# Realizando semi_join com code_muni
code_muni2 <- code_muni |>
semi_join(dest_fornec_regiao, by = c("municipio" = "municipio_instituicao", "uf" = "uf"))
# Realizando left_join com code_muni2
dest_fornec_regiao2 <- dest_fornec_regiao |>
left_join(code_muni2, by = c("municipio_instituicao" = "municipio", "uf" = "uf"))
# Utilizando str_remove para remover "Região" da coluna "regiao"
dest_fornec_regiao2$Região <- stringr::str_remove(dest_fornec_regiao2$regiao, "Região")
# Categorização feita pela proximidade de população com outros municípios
dest_fornec_regiao2 <- dest_fornec_regiao2 |>
dplyr::mutate(Região = case_when(is.na(Região) & municipio_instituicao == "ALTA FLORESTA DOESTE" ~ "Região Norte",
is.na(Região) & municipio_instituicao == "OLHO DAGUA" ~ "Região Nordeste",
is.na(Região) & municipio_instituicao == "PAU DARCO" ~ "Região Norte",
is.na(Região) & municipio_instituicao == "RANCHO ALEGRE DOESTE" ~ "Região Sul",
is.na(Região) & municipio_instituicao == "SANTA LUZIA DOESTE" ~ "Região Norte",
is.na(Região) & municipio_instituicao == "NOVA BRASILANDIA DOESTE" ~ "Região Norte",
TRUE ~ Região)) |>
dplyr::mutate(Porte = case_when(is.na(porte) & municipio_instituicao == "ALTA FLORESTA DOESTE" ~ "Pequeno I",
is.na(porte) & municipio_instituicao == "OLHO DAGUA" ~ "Pequeno I",
is.na(porte) & municipio_instituicao == "PAU DARCO" ~ "Pequeno I",
is.na(porte) & municipio_instituicao == "RANCHO ALEGRE DOESTE" ~ "Pequeno I",
is.na(porte) & municipio_instituicao == "SANTA LUZIA DOESTE" ~ "Pequeno II",
is.na(porte) & municipio_instituicao == "NOVA BRASILANDIA DOESTE" ~ "Pequeno I",
TRUE ~ porte)) |>
dplyr::group_by(Região, Porte) |>
dplyr::summarise(`Total de Vendas` = sum(tot_valor)) |>
ungroup()
dest_fornec_regiao2 <- dest_fornec_regiao2 |>
dplyr::group_by(Região, Porte) |>
dplyr::summarise(`Total de Vendas` = sum(`Total de Vendas`)) |>
dplyr::mutate(`% do Total` = `Total de Vendas` / sum(`Total de Vendas`) * 100) |>
ungroup()
A Figura 4 apresenta o total de vendas por região do Brasil. O Nordeste destaca-se, representando 63,84% do total, seguido pelo Sudeste, com 20,14%. As regiões Norte e Centro-Oeste mostram proximidade, com 2,72% e 2,63% de representatividade, respectivamente. Ademais, a categoria de porte indica que os produtos são majoritariamente vendidos para Metrópoles e municípios de Grande porte.
p4 <-
ggplot(dest_fornec_regiao2, aes(fill = Porte, y = `Total de Vendas`, x = Região)) +
geom_bar(position = "stack", stat = "identity") +
scale_fill_viridis(discrete = T) +
ggtitle("Total de Vendas por Região do País e Porte") +
scale_y_continuous(labels = scales::comma) +
theme_minimal() +
labs(
caption = "Fonte: Banco de Precos da Saude (BPS) e IBGE, 2022") +
theme(axis.title.x = element_blank())
p4
Figura 4: Total de Vendas por Região do País e Porte
# CIPROFLOXACINO CLORIDRATO, DOSAGEM:500 MG - Antibiotico
filtro_medicamento <- c("CIPROFLOXACINO CLORIDRATO, DOSAGEM:500 MG")
filtro_uf <- c("SP", "MG", "RS", "PA")
med_estados <- bps |>
dplyr::select(Estado = uf, `Preço Unitário` = preco_unitario, descricao_catmat, `Unidade de Fornecimento` = unidade_de_fornecimento, compra) |>
dplyr::filter(descricao_catmat %in% filtro_medicamento & Estado %in% filtro_uf) |>
dplyr::mutate(zscore = ((`Preço Unitário` - mean(`Preço Unitário`)) / sd(`Preço Unitário`))) |>
dplyr::filter(zscore < 2) |>
dplyr::select(-zscore)
med_estados_pmedia <- med_estados |>
dplyr::group_by(Estado) |>
dplyr::summarize(`Preço Mediano Unitário` = median(`Preço Unitário`)) |>
ungroup()
med_estados_pmedia_uni_forn <- med_estados |>
dplyr::select(`Unidade de Fornecimento`, `Preço Unitário`) |>
dplyr::group_by(`Unidade de Fornecimento`) |>
dplyr::summarize(`Preço Mediano Unidade Fornecimento` = median(`Preço Unitário`)) |>
ungroup()
med_longo_ano <- med_estados |>
dplyr::select(Estado, `Unidade de Fornecimento`, Data = compra, `Preço Unitário`) |>
dplyr::group_by(Data, Estado) |>
dplyr::summarize(`Preço Mediano Unitário` = median(`Preço Unitário`)) |>
ungroup()
O medicamento escolhido para uma análise mais aprofundada do preço unitário é o Ciprofloxacino Cloridrato (dosagem: 500 mg), abrangendo os estados de São Paulo, Minas Gerais, Rio Grande do Sul e Pará, proporcionando uma representação abrangente das regiões do Brasil.
Este medicamento, um antibiótico utilizado para o tratamento de
infecções em crianças e adultos por meio de comprimidos, tendo opção
genérica. Vale ressaltar que os valores unitários do medicamento
passaram por uma remoção de outliers, considerando o
zscore. Este cálculo indica quantos desvios padrões uma
observação está da média; assim, valores de \(z-score < 2\) foram mantidos.
A escolha desse medicamento se deve à sua relevância no tratamento de infecções e à sua ampla utilização. Além disso, antibióticos tendem a apresentar aumentos de preços, o que pode impactar diretamente a população.
A Figura 5 apresenta de forma geral a série histórica para os quatro estados selecionados, mostrando a evolução do preço mediano do antibiótico ao longo do ano de 2022. Os estados de Minas Gerais e Pará são os que exibem maior variação no preço unitário mediano durante esse período.
p5 <-
ggplot(med_longo_ano, aes(x = Data, y = `Preço Mediano Unitário`, group = Estado, color = Estado)) +
geom_line() +
scale_color_viridis(discrete = TRUE) +
ggtitle("Preço Unitário Mediano do Ciprofloxacino por Estado ao Longo do Ano") +
theme_minimal() +
labs(
caption = "Fonte: Banco de Preços da Saúde (BPS), 2022") +
theme(axis.title.x = element_blank())
p5
Figura 5: Preço Unitário Mediano do Ciprofloxacino por Estado ao Longo do Ano
Para aprofundar na análise das características do preço unitário em
cada estado, a Figura 6 apresenta um boxplot evidenciando a distribuição
dos preços unitários para cada região. Minas Gerais destacou-se com o
menor preço para o produto, enquanto o Pará obteve o maior, além de
apresentar uma distribuição mais dispersa, característica não observada
no Rio Grande do Sul nem em São Paulo. Apesar da remoção de
outliers pelo z-score, o boxplot ainda revela
alguns valores atípicos, especialmente em Minas Gerais, Pará e São
Paulo.
p6 <-
ggplot(med_estados, aes(x = Estado, y = `Preço Unitário`, fill = Estado)) +
geom_boxplot(width=0.6, color="grey", alpha=0.7) +
scale_fill_viridis(discrete = TRUE) +
theme_minimal() +
theme(
legend.position="none",
plot.title = element_text(size=11)
) +
ggtitle("Boxplot de Preço Unitário por Estado") +
labs(
subtitle = "",
caption = "Fonte: Banco de Preços da Saúde (BPS), 2022") +
theme(axis.title.x = element_blank())
p6
Figura 6: Boxplot de Preço Unitário por Estado
Por fim, a Figura 7 apresenta a diferença geral de preço do
Antibiótico conforme sua Unidade de Fornecimento.
Seguindo o esperado, os comprimidos genéricos exibem um valor
relativamente menor, enquanto os comprimidos não genéricos continuam a
apresentar valores mais elevados, considerando alguns
outliers.
p7 <-
ggplot(med_estados, aes(x = `Unidade de Fornecimento`, y = `Preço Unitário`, fill = `Unidade de Fornecimento`)) +
geom_boxplot(width=0.6, color="grey", alpha=0.7) +
scale_fill_viridis(discrete = TRUE) +
theme_minimal() +
theme(
legend.position="none",
plot.title = element_text(size=11)
) +
ggtitle("Boxplot de Preço Unitário por Unidade de Fornecimento") +
labs(
subtitle = "",
caption = "Fonte: Banco de Preços da Saúde (BPS), 2022"
)
p7
Figura 7: Boxplot de Preço Unitário por Unidade de Fornecimento
Este projeto de análise das compras de insumos médico-hospitalares no Banco de Preços de Saúde (BPS) referente ao ano de 2022 proporcionou uma visão abrangente e detalhada do cenário das transações no setor de saúde no Brasil. Através de uma abordagem exploratória dos dados, pudemos identificar padrões, tendências e características marcantes, fornecendo insights valiosos para gestores, técnicos do Sistema Único de Saúde (SUS) e demais interessados.
Na análise exploratória, observamos que o estado do Ceará se destacou como o maior comprador de insumos médico-hospitalares, representando mais de 54% do total. Por outro lado, Rio Grande do Sul, Piauí, Bahia, Espírito Santo, Minas Gerais e Paraíba mostraram menor representatividade. A análise por produtos revelou que alguns itens, como Avental Hospitalar e Fixador P/ Dispositivos Médicos, representam cerca de 54% do total de compras, sendo o Ceará o estado mais representativo para esses produtos.
Explorando as preferências dos fornecedores intermediários, notamos que a Sandoz do Brasil Industria Farmacêutica LTDA, apesar de realizar menos vendas em número, apresenta um total vendido mais representativo do que a Prati, Donaduzzi e Cia LTDA. A análise geográfica indicou uma preferência por fornecedores intermediários localizados próximos aos fabricantes e compradores, mas não excluiu a possibilidade de negócios entre partes geograficamente distantes.
A representação regional das vendas mostrou que o Nordeste lidera com 63.84% de representatividade, seguido pelo Sudeste com 20.14%. No aprofundamento da análise do medicamento Ciprofloxacino Cloridrato (dosagem: 500 mg), observamos variações significativas nos preços unitários ao longo do ano, destacando Minas Gerais e Pará como estados com maior flutuação.
A análise da distribuição de preços por região revelou que Minas
Gerais apresentou o menor preço para o produto, enquanto Pará obteve o
maior, indicando uma variação significativa. A remoção de outliers pelo
z-score não eliminou completamente valores discrepantes,
especialmente em Minas Gerais, Pará e São Paulo.
Finalmente, a diferenciação de preços entre unidades de fornecimento mostrou que os comprimidos genéricos tendem a ter valores menores em comparação com os não genéricos, que muitas vezes apresentam valores considerados outliers.
Em síntese, esta análise proporcionou uma compreensão aprofundada das dinâmicas do mercado de insumos médico-hospitalares no Brasil em 2022, fornecendo informações para embasar decisões estratégicas no âmbito do SUS e contribuir para a eficiência na utilização dos recursos públicos no setor de saúde.