med <- dtot <- med |>group_by(prescripteur, annee) |>summarise(montant =sum(montant_rembourse, na.rm =TRUE), boites =sum(boites_remboursees, na.rm =TRUE),base =sum(base_remboursement, na.rm =TRUE), .groups ="drop")lab_p <-c(tous ="Tous prescripteurs", ville ="Prescripteurs de ville (libéraux)", salaries ="Prescripteurs salariés (hôpital)")
Medic’AM donne, pour chaque présentation pharmaceutique (code CIP7), la base de remboursement, le nombre de boîtes remboursées et le montant remboursé en 2012, 2013 et 2014, tous régimes, France entière, soins de ville uniquement (hors rétrocession). Trois onglets : tous prescripteurs, prescripteurs de ville (libéraux, y compris en clinique) et prescripteurs salariés (surtout l’hôpital public). Le fichier contient 16 606 présentations et 87 classes ATC de niveau 2.
Évolution globale
Code
tot |>filter(prescripteur !="tous") |>ggplot(aes(factor(annee), montant, fill = lab_p[prescripteur])) +geom_col() +geom_text(aes(label =mdd(montant)), position =position_stack(vjust =0.5), colour ="white", size =3.5) +scale_y_continuous(labels = mdd) +scale_fill_manual(values =c(col1, col2)) +labs(x =NULL, y =NULL, fill =NULL, title ="Médicaments remboursés en ville selon le type de prescripteur") + theme_cnam
La dépense en médicaments de ville est quasi stable sur la période (effet des baisses de prix et de la diffusion des génériques compensant la hausse des volumes) ; les prescripteurs salariés pèsent une part croissante.
Par classe thérapeutique
Code
med |>filter(prescripteur =="tous", annee ==2014) |>group_by(atc2, libelle_atc2) |>summarise(montant =sum(montant_rembourse, na.rm =TRUE), .groups ="drop") |>slice_max(montant, n =20) |>mutate(l =paste0(atc2, " — ", str_to_sentence(str_trunc(libelle_atc2, 55)))) |>barh(l, montant) +labs(title ="Classes ATC2 les plus remboursées, 2014")
Code
med |>filter(prescripteur =="tous") |>group_by(atc2, libelle_atc2, annee) |>summarise(m =sum(montant_rembourse, na.rm =TRUE), .groups ="drop") |>pivot_wider(names_from = annee, values_from = m, names_prefix ="a") |>filter(a2012 >1e8) |>mutate(var = a2014 / a2012 -1) |>mutate(l =paste0(atc2, " — ", str_to_sentence(str_trunc(libelle_atc2, 50)))) |>slice_max(abs(var), n =20) |>mutate(l = forcats::fct_reorder(l, var), signe = var >0) |>ggplot(aes(l, var, fill = signe)) +geom_col(show.legend =FALSE) +coord_flip() +scale_y_continuous(labels = pct) +scale_fill_manual(values =c(`TRUE`= col1, `FALSE`= col2)) +labs(x =NULL, y =NULL, title ="Plus fortes variations 2012-2014 (classes > 100 M€ en 2012)") + theme_cnam
Part de l’hôpital dans la prescription de ville
Code
med |>filter(prescripteur %in%c("tous", "salaries"), annee ==2014) |>group_by(atc2, libelle_atc2, prescripteur) |>summarise(m =sum(montant_rembourse, na.rm =TRUE), .groups ="drop") |>pivot_wider(names_from = prescripteur, values_from = m) |>filter(tous >1.5e8) |>mutate(part = salaries / tous) |>mutate(l =paste0(atc2, " — ", str_to_sentence(str_trunc(libelle_atc2, 50)))) |>barh(l, part, fmt = pct, fill ="#8e6cb8") +labs(title ="Part des prescripteurs salariés dans le remboursé, classes > 150 M€ (2014)")
Les traitements les plus « hospitaliers » (antiviraux de l’hépatite C, anticancéreux, immunosuppresseurs) apparaissent en tête : ils sont prescrits à l’hôpital mais délivrés en ville.
Les produits les plus remboursés en 2014
Code
med |>filter(prescripteur =="tous", annee ==2014) |>group_by(produit) |>summarise(montant =sum(montant_rembourse, na.rm =TRUE), boites =sum(boites_remboursees, na.rm =TRUE), .groups ="drop") |>slice_max(montant, n =20) |>mutate(l =str_to_sentence(produit)) |>barh(l, montant, fill = col2) +labs(title ="Top 20 des produits (nom commercial), 2014")
Source
Caisse nationale de l’Assurance Maladie (Cnam) — Medic’AM (Cnamts / DSES, édition avril 2016). Conversion Excel → Parquet : cnam.R (dossier data/cnam).