Intitulé du référentiel : spe_pharma_ssr

Mise à jour : 7 juin 2021

Le référentiel comprend les spécialités pharmaceutiques SSR des 3 versions diffusées à ce jour :
Version 2017 active du 2 janvier 2017 au 31 mai 2020
Version 2020 active à partir du 1er juin 2020
Version 2021 active à partir du 1er janvier 2021 (avec rectificatif ATIH du 7 mai 2021)

Variables du référentiel

ucd_ssr_7 = code UCD sur 7 positions
ucd_ssr_13 = code UCD sur 13 positions
ucd_ssr_lib = libellé de l’UCD
dci = dénomination commune internationale de l’UCD
annee = année correspondant à la version (2017, 2020, 2021)

#> Rows: 1,884
#> Columns: 5
#> $ ucd_ssr_7   <chr> "9000368", "9000369", "9000370", "9059207", "9106993", ...
#> $ ucd_ssr_13  <chr> "3400890003681", "3400890003698", "3400890003704", "340...
#> $ ucd_ssr_lib <chr> "ERLOTINIB KRK 100MG CPR", "ERLOTINIB KRK 150MG CPR", "...
#> $ dci         <chr> "ERLOTINIB", "ERLOTINIB", "ERLOTINIB", "DESMOPRESSINE A...
#> $ annee       <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021",...

Exemples

Soit le jeu de données suivant composé manuellement avec des variables que l’on peut retrouver dans un FICHCOMP “médicaments (UCD)” SSR

#> # A tibble: 15 x 3
#>      NAS UCD     n_adm
#>    <int> <chr>   <int>
#>  1     1 9262285     3
#>  2     2 9339384     2
#>  3     3 9262285     1
#>  4     4 9348584     2
#>  5     5 9190166     1
#>  6     6 9348590     3
#>  7     7 9166966     2
#>  8     8 9348590     1
#>  9    10 9262285     2
#> 10    10 9339384     1
#> 11    10 9339384     3
#> 12    11 9339384     2
#> 13    12 9190166     1
#> 14    13 9294285    16
#> 15    13 9294285    14

Attribution du libellé aux UCD

ucd_libelle <- jeu_ucd %>%
  dplyr::left_join(refpmsi::refpmsi("spe_pharma_ssr") %>%
                     # on considère que les dates d'administration du dataset sont >= 1 juin 2020
                     dplyr::filter(annee == "2020") %>%
                     dplyr::select(ucd_ssr_7,ucd_ssr_lib),
                   by = c("UCD" = "ucd_ssr_7"))
ucd_libelle
#> # A tibble: 15 x 4
#>      NAS UCD     n_adm ucd_ssr_lib                        
#>    <int> <chr>   <int> <chr>                              
#>  1     1 9262285     3 ACTOSOLV 100000 UI PDR INJ         
#>  2     2 9339384     2 ZARZIO 30 MUI SOL INJ SER          
#>  3     3 9262285     1 ACTOSOLV 100000 UI PDR INJ         
#>  4     4 9348584     2 BACLOFENE SUN 10MG/20ML SOL INJ AMP
#>  5     5 9190166     1 GRANOCYTE 34 INJ FL+SRG            
#>  6     6 9348590     3 BACLOFENE SUN 10MG/5ML SOL INJ AMP 
#>  7     7 9166966     2 DYSPORT 500U SPEYWOOD PDR INJ      
#>  8     8 9348590     1 BACLOFENE SUN 10MG/5ML SOL INJ AMP 
#>  9    10 9262285     2 ACTOSOLV 100000 UI PDR INJ         
#> 10    10 9339384     1 ZARZIO 30 MUI SOL INJ SER          
#> 11    10 9339384     3 ZARZIO 30 MUI SOL INJ SER          
#> 12    11 9339384     2 ZARZIO 30 MUI SOL INJ SER          
#> 13    12 9190166     1 GRANOCYTE 34 INJ FL+SRG            
#> 14    13 9294285    16 COLIMYCINE 1MUI PDR ET SOL INH     
#> 15    13 9294285    14 COLIMYCINE 1MUI PDR ET SOL INH

Nouvelles spécialités pharmaceutiques SSR de la version 2020

ucd_new_2020 <- refpmsi::refpmsi("spe_pharma_ssr") %>%
  # Entre 2017 et 2020, des intitulés de DCI pour un même UCD peuvent différer
  dplyr::select(ucd_ssr_7,annee) %>%
  dplyr::with_groups(ucd_ssr_7, dplyr::filter, !any(annee == "2017"))
nrow(ucd_new_2020)
head(ucd_new_2020)
#> [1] 1237
#> # A tibble: 6 x 2
#>   ucd_ssr_7 annee
#>   <chr>     <chr>
#> 1 9000368   2021 
#> 2 9000369   2021 
#> 3 9000370   2021 
#> 4 9059207   2021 
#> 5 9128813   2021 
#> 6 9171312   2021

Case mix en DCI

case_mix_dci <- jeu_ucd %>%
  dplyr::left_join(refpmsi::refpmsi("spe_pharma_ssr") %>%
                     dplyr::filter(annee == "2020") %>%
                     dplyr::select(ucd_ssr_7,dci),
                   by = c("UCD" = "ucd_ssr_7")) %>%
  # regroupement par DCI
  # calcul du nombre de NAS différents avec au moins 1 UCD
  # calcul du nombre d'UCD différentes
  # calcul du nombre total des administrations des UCD
  dplyr::with_groups(dci, dplyr::summarise, n_NAS = dplyr::n_distinct(NAS),
                     n_ucd = dplyr::n_distinct(UCD),
                     n_adm = sum(n_adm))
case_mix_dci
#> # A tibble: 6 x 4
#>   dci                          n_NAS n_ucd n_adm
#> * <chr>                        <int> <int> <int>
#> 1 BACLOFENE                        3     2     6
#> 2 COLISTINE                        1     1    30
#> 3 FILGRASTIM                       3     1     8
#> 4 LENOGRASTIM                      2     1     2
#> 5 TOXINE BOTULINIQUE DE TYPE A     1     1     2
#> 6 UROKINASE                        3     1     6