Intitulé du référentiel : cim

Mise à jour : 7 mai 2020

Ce référentiel annualisé au sens PMSI comprend 10 variables et 206 961 lignes.

Son chargement complet en local et/ou sa visualisation dans R Studio peuvent être longs. Il est recommandé de ne charger que la ou les années utiles.

Variables

code = code CIM-10
lib_cim = libellé CIM-10 long
tmco = type MCO/HAD :
0 Pas de restriction particulière (valeur par défaut)
1 Diagnostic interdit en DP et DR - Autorisé ailleurs
2 Diagnostic interdit en DP et DR - Cause externe de morbidité
3 Diagnostic interdit en DP, DR et DA - Catégories et sous-catégories non vides ou code père interdit
4 Diagnostic interdit en DP – Autorisé ailleurs
tpsy = type PSY
0 Pas de restriction particulière (valeur par défaut)
1 Diagnostic interdit en DP (Code imprécis, Séquelles, Cause externe de morbidités…)
3 Diagnostic interdit en DP et DA - Catégories et sous-catégories non vides ou code père interdit (et supprimé)
pssr = profil SSR
digit 1 : code autorisé en finalité principale de prise en charge ? (O : oui, N : non)
digit 2 : code autorisé en manifestation morbide principale ? (O : oui, N : non)
digit 3 : code autorisé en affection étiologique ? (O : oui, N : non)
digit 4 : code autorisé en DAS ? (O : oui, N : non)
actif =
1 : code actif dans l’année PMSI
0 : code inactif dans l’année PMSI
chapitre = chapitre CIM-10 du code CIM-10
groupe = groupe de catégories dans lequel s’insère le code CIM-10
categorie = 3 premières positions du code CIM-10
anpmsi = année PMSI de 2016 à 2020

Sources

Nomenclature CIM-10 : Fichier nomenclature CIM10 pour les champs MCO,HAD, SSR et PSY (ATIH)

CIM-10 FR à usage PMSI 2020 - version du 17 avril 2020 (ATIH)

#> Rows: 206,961
#> Columns: 10
#> $ code      <chr> "A00", "A000", "A001", "A009", "A01", "A010", "A011", "A0...
#> $ tmco      <int> 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, ...
#> $ pssr      <chr> "NNNN", "NOOO", "NOOO", "NOOO", "NNNN", "NOOO", "NOOO", "...
#> $ tpsy      <int> 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, ...
#> $ lib_cim   <chr> "Choléra", "Choléra à Vibrio cholerae 01, biovar cholerae...
#> $ actif     <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
#> $ categorie <chr> "A00", "A00", "A00", "A00", "A01", "A01", "A01", "A01", "...
#> $ chapitre  <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1...
#> $ groupe    <chr> "A00-A09", "A00-A09", "A00-A09", "A00-A09", "A00-A09", "A...
#> $ anpmsi    <chr> "2020", "2020", "2020", "2020", "2020", "2020", "2020", "...

Exemples

Chargement de la CIM-10 des années 2019 et 2020

# Chargement de la CIM-10 des années 2019 et 2020
cim_2019_2020 <- refpmsi::refpmsi("cim",2019:2020)
head(cim_2019_2020)
#> # A tibble: 6 x 10
#>   code   tmco pssr   tpsy lib_cim         actif categorie chapitre groupe anpmsi
#>   <chr> <int> <chr> <int> <chr>           <int> <chr>     <chr>    <chr>  <chr> 
#> 1 A00       3 NNNN      3 Choléra             1 A00       1        A00-A~ 2020  
#> 2 A000      0 NOOO      0 Choléra à Vibr~     1 A00       1        A00-A~ 2020  
#> 3 A001      0 NOOO      0 Choléra à Vibr~     1 A00       1        A00-A~ 2020  
#> 4 A009      0 NOOO      0 Choléra, sans ~     1 A00       1        A00-A~ 2020  
#> 5 A01       3 NNNN      3 Fièvres typhoï~     1 A01       1        A00-A~ 2020  
#> 6 A010      0 NOOO      0 Fièvre typhoïde     1 A01       1        A00-A~ 2020

Association du libellé CIM-10 aux DP

Soit le jeu de données jeu_dp composé de 10 codes DP de RSS avec l’année PMSI de leur RSS associé :

#> # A tibble: 10 x 3
#>    no_rss dp_rss annee_rss
#>     <int> <chr>  <chr>    
#>  1      1 I501   2020     
#>  2      2 Z491   2020     
#>  3      3 H251   2020     
#>  4      4 Z380   2020     
#>  5      5 S7200  2020     
#>  6      6 S0600  2019     
#>  7      7 R074   2020     
#>  8      8 J441   2019     
#>  9      9 K358   2020     
#> 10     10 R53+0  2020
# chargement de la CIM-10 2019 et 2020
cim_2019_2020 <- refpmsi::refpmsi("cim",2019:2020)

# association à chaque DP du libellé CIM-10 correspondant au DP et à son année PMSI
jeu_dp_libelle <- jeu_dp %>%
  dplyr::left_join(cim_2019_2020 %>% dplyr::select(code,lib_cim,anpmsi),
                   by = c("dp_rss" = "code", "annee_rss" = "anpmsi"))
jeu_dp_libelle
#> # A tibble: 10 x 4
#>    no_rss dp_rss annee_rss lib_cim                                              
#>     <int> <chr>  <chr>     <chr>                                                
#>  1      1 I501   2020      Insuffisance ventriculaire gauche                    
#>  2      2 Z491   2020      Dialyse extra-corporelle                             
#>  3      3 H251   2020      Cataracte sénile nucléaire                           
#>  4      4 Z380   2020      Enfant unique, né à l'hôpital                        
#>  5      5 S7200  2020      Fracture fermée du col du fémur                      
#>  6      6 S0600  2019      Commotion cérébrale, sans plaie intracrânienne       
#>  7      7 R074   2020      Douleur thoracique, sans précision                   
#>  8      8 J441   2019      Maladie pulmonaire obstructive chronique avec épisod~
#>  9      9 K358   2020      Appendicites aigües, autres et non précisées         
#> 10     10 R53+0  2020      Altération [baisse] de l'état général

Case mix par chapitre CIM-10

Avec le jeu de données jeu_dp de l’exemple précédent composé de 10 DP.

# chargement de la CIM-10 2019 et 2020
cim_2019_2020 <- refpmsi::refpmsi("cim",2019:2020)

# association à chaque DP de son numéro de chapitre et de son libellé CIM-10 correspondant à l'année PMSI de son RSS
dp_chapitre <- jeu_dp %>%
  dplyr::left_join(cim_2019_2020 %>%
                     dplyr::select(code, lib_cim,chapitre,anpmsi),
                                    by = c("dp_rss" = "code",
                                           "annee_rss" = "anpmsi"))
# association des libellés de chapitre CIM-10 aux numéros de chapitre CIM-10 via le référentiel "cim_chapitre" en ne retenant que les 2 variables qui nous intéressent : "num_chapitre_cim" et "lib_chapitre_cim"
chapitre_cim <- refpmsi::refpmsi("cim_chapitre") %>% dplyr::select(num_chapitre_cim,lib_chapitre_cim)

dp_chapitre <- dp_chapitre %>%
  dplyr::left_join(chapitre_cim, by = c("chapitre" = "num_chapitre_cim")) %>%
  # regroupement par chapitre
  dplyr::group_by(chapitre,lib_chapitre_cim) %>%
  # calcul du nombre de DP par chapitre et liste des DP par chapitre
  dplyr::summarise(n_dp = n(),
                   liste_dp = paste0(dp_rss, collapse = " ")) %>%
  # tri descendant sur le nombre de DP par chapitre
  dplyr::arrange(desc(n_dp))
dp_chapitre
#> `summarise()` regrouping output by 'chapitre' (override with `.groups` argument)
#> # A tibble: 7 x 4
#> # Groups:   chapitre [7]
#>   chapitre lib_chapitre_cim                                       n_dp liste_dp 
#>   <chr>    <chr>                                                 <int> <chr>    
#> 1 18       Symptômes, signes et résultats anormaux d'examens cl~     2 R074 R53~
#> 2 19       Lésions traumatiques, empoisonnements et certaines a~     2 S7200 S0~
#> 3 21       Facteurs influant sur l'état de santé et motifs de r~     2 Z491 Z380
#> 4 10       Maladies de l'appareil respiratoire                       1 J441     
#> 5 11       Maladies de l'appareil digestif                           1 K358     
#> 6 7        Maladies de l'œil et de ses annexes                       1 H251     
#> 7 9        Maladies de l'appareil circulatoire                       1 I501

Repérage des DAS interdits en DP et DR

Soit le jeu de données jeu_das composé de 10 codes DAS avec l’année PMSI de leur RSS associé :

#> # A tibble: 10 x 3
#>    no_rss das   annee_rss
#>     <int> <chr> <chr>    
#>  1      1 Z370  2019     
#>  2      2 I10   2019     
#>  3      3 P040  2020     
#>  4      4 F1725 2019     
#>  5      5 G473  2020     
#>  6      6 W189  2020     
#>  7      7 R600  2020     
#>  8      8 N178  2020     
#>  9      9 B952  2020     
#> 10     10 D638  2020
# chargement de la CIM-10 2019 et 2020
cim_2019_2020 <- refpmsi::refpmsi("cim",2019:2020)

# association à chaque DAS de son type MCO et de son libellé CIM-10, correspondant à son année PMSI
# filtre sur les types MCO 1 "Diagnostic interdit en DP et DR - Autorisé ailleurs" et 2 "Diagnostic interdit en DP et DR - Cause externe de morbidité" 
das_interdit_dp_dr <- jeu_das %>%
  dplyr::left_join(cim_2019_2020 %>% dplyr::select(code,lib_cim,tmco,anpmsi),
                   by = c("das" = "code", "annee_rss" = "anpmsi")) %>% dplyr::filter(tmco %in% c(1,2))
das_interdit_dp_dr
#> # A tibble: 3 x 5
#>   no_rss das   annee_rss lib_cim                                            tmco
#>    <int> <chr> <chr>     <chr>                                             <int>
#> 1      1 Z370  2019      Naissance unique, enfant vivant                       1
#> 2      6 W189  2020      Autre chute de plain-pied, lieu sans précision        2
#> 3      9 B952  2020      Streptocoques, groupe D, et entérocoques, cause ~     1