CIM-10 FR à usage PMSI
Intitulé du référentiel : cim
Mise à jour : 31 janvier 2024
Référentiel annualisé au sens PMSI (2018 à 2024).
11 variables et 297 767 lignes.
Le 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 utile(s).
Variables
cim_code = code CIM-10
cim_lib = libellé CIM-10 long
cim_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
cim_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é)
cim_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)
cim_code_actif =
1 : code actif dans l’année PMSI
0 : code inactif dans l’année PMSI
cim_chapitre = chapitre CIM-10 du code CIM-10
cim_groupe = groupe de catégories dans lequel s’insère
le code CIM-10
cim_categorie = 3 premières positions du code
CIM-10
cim_precision = TRUE si pas de code fils plus précis,
FALSE sinon
annee_pmsi = année PMSI
#> Rows: 297,767
#> Columns: 11
#> $ cim_code <chr> "A00", "A000", "A001", "A009", "A01", "A010", "A011", "~
#> $ cim_tmco <int> 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0~
#> $ cim_pssr <chr> "NNNN", "NOOO", "NOOO", "NOOO", "NNNN", "NOOO", "NOOO",~
#> $ cim_tpsy <int> 3, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0~
#> $ cim_lib <chr> "Choléra", "Choléra à Vibrio cholerae 01, biovar choler~er~
#> $ cim_code_actif <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1~
#> $ cim_categorie <chr> "A00", "A00", "A00", "A00", "A01", "A01", "A01", "A01",~
#> $ cim_chapitre <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", ~
#> $ cim_groupe <chr> "A00-A09", "A00-A09", "A00-A09", "A00-A09", "A00-A09", ~
#> $ cim_precision <lgl> FALSE, TRUE, TRUE, TRUE, FALSE, TRUE, TRUE, TRUE, TRUE,~
#> $ annee_pmsi <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024",~
CIM Chapitre
Intitulé du référentiel : cim_chapitre
Mise à jour : 31 janvier 2024
Référentiel non annualisé.
Variables
cim_chapitre_num = numéros des chapitres de la
CIM-10
cim_chapitre_intervalle = premier et dernier code
CIM-10 de chaque chapitre de la CIM-10
cim_chapitre_lib = libellés des chapitres de la
CIM-10
cim_chapitre_romain = numérotation romaine des
chapitres de la CIM-10
cim_chapitre_debut = premier code CIM-10 de chaque
chapitre de la CIM-10
cim_chapitre_fin = dernier code CIM-10 de chaque
chapitre de la CIM-10
#> Rows: 22
#> Columns: 6
#> $ cim_chapitre_num <chr> "1", "2", "3", "4", "5", "6", "7", "8", "9", "~
#> $ cim_chapitre_intervalle <chr> "A00-B99", "C00-D48", "D50-D89", "E00-E90", "F~
#> $ cim_chapitre_lib <chr> "Certaines maladies infectieuses et parasitair~
#> $ cim_chapitre_romain <chr> "I", "II", "III", "IV", "V", "VI", "VII", "VII~
#> $ cim_chapitre_debut <chr> "A00", "C00", "D50", "E00", "F00", "G00", "H00~
#> $ cim_chapitre_fin <chr> "B99", "D48", "D89", "E90", "F99", "G99", "H59~
CIM Groupe
Intitulé du référentiel : cim_groupe
Mise à jour : 31 janvier 2024
Référentiel non annualisé.
Variables
cim_groupe = premier et dernier code CIM-10 de
chaque groupe de la CIM-10
cim_groupe_lib =libellés des groupes de la CIM-10
cim_groupe_debut = premier code CIM-10 de chaque groupe
de la CIM-10
cim_groupe_fin = dernier code CIM-10 de chaque groupe
de la CIM-10
cim_chapitre = chapitre de la CIM-10 dont dépend le
groupe de la CIM-10
cim_groupe_type = type de chaque groupe
1 = groupe de premier niveau par rapport au chapitre
2 = sous-groupe par rapport à un groupe de premier niveau
3 = sous-groupe par rapport à un sous-groupe d’un groupe de premier
niveau
#> Rows: 275
#> Columns: 6
#> $ cim_groupe <chr> "A00-A09", "A15-A19", "A20-A28", "A30-A49", "A50-A~
#> $ cim_groupe_lib <chr> "Maladies intestinales infectieuses", "Tuberculose~
#> $ cim_groupe_debut <chr> "A00", "A15", "A20", "A30", "A50", "A65", "A70", "~
#> $ cim_groupe_fin <chr> "A09", "A19", "A28", "A49", "A64", "A69", "A74", "~
#> $ cim_groupe_chapitre <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", ~
#> $ cim_groupe_type <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", ~
CIM Libellés
Intitulé du référentiel : cim_lib
Mise à jour : 31 janvier 2024
Tous les codes CIM-10 depuis 2018 avec la dernière version de leur libellé.
Référentiel non annualisé.
Code
R pour générer le référentiel à partir du référentiel
cim
Variables
cim_code = code CIM-10
cim_lib = version la plus récente du libellé
CIM-10
cim_categorie = catégorie CIM-10 dont dépend le groupe
de la CIM-10
cim_groupe = groupe CIM-10 dont dépend le groupe de la
CIM-10
cim_chapitre = chapitre CIM-10 dont dépend le groupe de
la CIM-10
#> Rows: 42,887
#> Columns: 5
#> $ cim_code <chr> "A00", "A000", "A001", "A009", "A01", "A010", "A011", "A~
#> $ cim_lib <chr> "Choléra", "Choléra à Vibrio cholerae 01, biovar cholera~ra~
#> $ cim_categorie <chr> "A00", "A00", "A00", "A00", "A01", "A01", "A01", "A01", ~
#> $ cim_groupe <chr> "A00-A09", "A00-A09", "A00-A09", "A00-A09", "A00-A09", "~
#> $ cim_chapitre <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "~
CIM Précarité
Intitulé du référentiel : cim_precarite
Mise à jour : 28 novembre 2022
Référentiel non annualisé.
CIM Polyhandicap lourd
Intitulé du référentiel : cim_polyhandicap
Mise à jour : 28 novembre 2022
Référentiel non annualisé.
Variables
cim_code = code CIM-10 des codes de polyhandicap
lourd
cim_lib = libellés des codes CIM-10 de polyhandicap
lourd
cim_polyhandicap_liste = numéro de la liste de
polyhandicap lourd à laquelle est rattaché le code
1 = Déficiences mentales ou psychiatriques sévères
2 = Troubles moteurs
3 = Critères de mobilité réduite
4 = Restrictions extrêmes de l’autonomie
cim_polyhandicap_liste = libellés des listes de
polyhandicap lourd
#> Rows: 202
#> Columns: 4
#> $ cim_code <chr> "F00002", "F00012", "F00022", "F00032", "F0~
#> $ cim_lib <chr> "Démence sévère de la maladie d'Alzheimer, ~, ~
#> $ cim_polyhandicap_liste <chr> "1", "1", "1", "1", "1", "1", "1", "1", "1"~
#> $ cim_polyhandicap_liste_lib <chr> "Déficiences mentales ou psychiatriques sév~v~
CMA MCO
Intitulé du référentiel : cma_mco
Mise à jour : 27 février 2023
Référentiel annualisé au sens PMSI MCO (de 2018 à 2023)
Source : Annexe 4 du volume 1 des manuels des GHM
Variables
cma_mco_code = code CIM-10 des CMA MCO
cma_mco_severite = niveau de sévérite (2, 3 ou 4) des
CMA
cma_mco_liste_exclusion_dp = numéro de la liste
d’exclusions entre diagnostic principal (DP) et CMA
cma_mco_liste_exclusion_racine = numéro de la liste
d’exclusions entre racines de GHM et CMA
annee_pmsi = année PMSI MCO
#> Rows: 28,750
#> Columns: 5
#> $ cma_mco_code <chr> "A000", "A001", "A009", "A010", "A011",~
#> $ cma_mco_severite <chr> "2", "2", "2", "2", "2", "2", "2", "2",~
#> $ cma_mco_liste_exclusion_dp <chr> "525", "525", "525", "525", "525", "525~
#> $ annee_pmsi <chr> "2023", "2023", "2023", "2023", "2023",~
#> $ cma_mco_liste_exclusion_racine <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,~
CMA SSR
Intitulé du référentiel : cma_ssr
Mise à jour : 31 janvier 2024
Référentiel annualisé au sens PMSI SSR (de 2018 à 2024)
Source : Annexe 6 du volume 1 des manuels des GME
Exemples
Chargement de la CIM-10 2021
# Chargement de la CIM-10 de l'année 2021 dans la variable cim_20211
cim_2021 <- refpmsi::refpmsi("cim",2021)
head(cim_2021)
#> # A tibble: 6 x 11
#> cim_code cim_tmco cim_pssr cim_tpsy cim_lib cim_code_actif cim_categorie
#> <chr> <int> <chr> <int> <chr> <int> <chr>
#> 1 A00 3 NNNN 3 Choléra 1 A00
#> 2 A000 0 NOOO 0 Choléra à Vi~ 1 A00
#> 3 A001 0 NOOO 0 Choléra à Vi~ 1 A00
#> 4 A009 0 NOOO 0 Choléra, san~ 1 A00
#> 5 A01 3 NNNN 3 Fièvres typh~ 1 A01
#> 6 A010 0 NOOO 0 Fièvre typho~ 1 A01
#> # i 4 more variables: cim_chapitre <chr>, cim_groupe <chr>,
#> # cim_precision <lgl>, annee_pmsi <chr>
Chargement de la CIM-10 des années 2020 et 2021
# Chargement de la CIM-10 des années 2020 et 20211
cim_2020_2021 <- refpmsi::refpmsi("cim",2020:2021)
head(cim_2020_2021)
#> # A tibble: 6 x 11
#> cim_code cim_tmco cim_pssr cim_tpsy cim_lib cim_code_actif cim_categorie
#> <chr> <int> <chr> <int> <chr> <int> <chr>
#> 1 A00 3 NNNN 3 Choléra 1 A00
#> 2 A000 0 NOOO 0 Choléra à Vi~ 1 A00
#> 3 A001 0 NOOO 0 Choléra à Vi~ 1 A00
#> 4 A009 0 NOOO 0 Choléra, san~ 1 A00
#> 5 A01 3 NNNN 3 Fièvres typh~ 1 A01
#> 6 A010 0 NOOO 0 Fièvre typho~ 1 A01
#> # i 4 more variables: cim_chapitre <chr>, cim_groupe <chr>,
#> # cim_precision <lgl>, annee_pmsi <chr>
Association du libellé CIM-10 aux DP
Soit un mini jeu de données jeu_dp
composé de 12 codes
DP de RSS mono-RUM
#> # A tibble: 12 x 3
#> no_rss dp_rss annee_rss
#> <int> <chr> <chr>
#> 1 1 I5010 2021
#> 2 2 Z491 2021
#> 3 3 H251 2021
#> 4 4 Z380 2021
#> 5 5 S7200 2021
#> 6 6 S0600 2020
#> 7 7 R074 2021
#> 8 8 J441 2020
#> 9 9 K358 2020
#> 10 10 R53+0 2020
#> 11 11 S7200 2021
#> 12 12 I5011 2020
# chargement de la CIM-10 2020 et 2021
cim_2020_2021 <- refpmsi::refpmsi("cim",2020:2021)
# rattachement à chaque DP du libellé CIM-10 correspondant au DP et à son année PMSIPMSI
jeu_dp_libelle <- jeu_dp %>%
dplyr::left_join(cim_2020_2021 %>% dplyr::select(cim_code,cim_lib,annee_pmsi),
by = c("dp_rss" = "cim_code", "annee_rss" = "annee_pmsi"))
jeu_dp_libelle
#> # A tibble: 12 x 4
#> no_rss dp_rss annee_rss cim_lib
#> <int> <chr> <chr> <chr>
#> 1 1 I5010 2021 Insuffisance ventriculaire gauche, avec fraction d'é~~
#> 2 2 Z491 2021 Dialyse extra-corporelle
#> 3 3 H251 2021 Cataracte sénile nucléaire
#> 4 4 Z380 2021 Enfant unique, né à l'hôpital
#> 5 5 S7200 2021 Fracture fermée du col du fémur
#> 6 6 S0600 2020 Commotion cérébrale, sans plaie intracrânienne
#> 7 7 R074 2021 Douleur thoracique, sans précision
#> 8 8 J441 2020 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
#> 11 11 S7200 2021 Fracture fermée du col du fémur
#> 12 12 I5011 2020 Insuffisance ventriculaire gauche, avec fraction d'é~~
Case mix par chapitre CIM-10
Avec le jeu de données jeu_dp
de l’exemple
précédent.
# chargement de la CIM-10 2020 et 2021
# cim_2020_2021 <- refpmsi::refpmsi("cim",2020:2021)
# rattachement aux codes DP des libellés CIM-10 et des numéros de chapitre CIM-10 correspondantnt
dp_chapitre <- jeu_dp %>%
dplyr::left_join(cim_2020_2021 %>%
dplyr::select(cim_code, cim_lib, cim_chapitre, annee_pmsi),
by = c("dp_rss" = "cim_code",
"annee_rss" = "annee_pmsi"))
dp_chapitre
#> # A tibble: 12 x 5
#> no_rss dp_rss annee_rss cim_lib cim_chapitre
#> <int> <chr> <chr> <chr> <chr>
#> 1 1 I5010 2021 Insuffisance ventriculaire gauche, avec~ 9
#> 2 2 Z491 2021 Dialyse extra-corporelle 21
#> 3 3 H251 2021 Cataracte sénile nucléaire 7
#> 4 4 Z380 2021 Enfant unique, né à l'hôpital 21
#> 5 5 S7200 2021 Fracture fermée du col du fémur 19
#> 6 6 S0600 2020 Commotion cérébrale, sans plaie intracr~ 19
#> 7 7 R074 2021 Douleur thoracique, sans précision 18
#> 8 8 J441 2020 Maladie pulmonaire obstructive chroniqu~ 10
#> 9 9 K358 2020 Appendicites aigües, autres et non préc~ 11
#> 10 10 R53+0 2020 Altération [baisse] de l'état général 18
#> 11 11 S7200 2021 Fracture fermée du col du fémur 19
#> 12 12 I5011 2020 Insuffisance ventriculaire gauche, avec~ 9
# chargement du référentiel "cim_chapitre" avec les 2 variables qui nous intéressentent
cim_chapitre <- refpmsi::refpmsi("cim_chapitre") %>% dplyr::select(cim_chapitre_num,cim_chapitre_lib)
cim_chapitre
#> # A tibble: 22 x 2
#> cim_chapitre_num cim_chapitre_lib
#> <chr> <chr>
#> 1 1 Certaines maladies infectieuses et parasitaires
#> 2 2 Tumeurs
#> 3 3 Maladies du sang et des organes hématopoïétiques et certain~in~
#> 4 4 Maladies endocriniennes, nutritionnelles et métaboliques
#> 5 5 Troubles mentaux et du comportement
#> 6 6 Maladies du système nerveux
#> 7 7 Maladies de l'œil et de ses annexes
#> 8 8 Maladies de l'oreille et de l'apophyse mastoïde
#> 9 9 Maladies de l'appareil circulatoire
#> 10 10 Maladies de l'appareil respiratoire
#> # i 12 more rows
dp_chapitre <- dp_chapitre %>%
# rattachement des libellés de chapitre CIM-10 via le référentiel "cim_chapitre"re"
dplyr::left_join(cim_chapitre, by = c("cim_chapitre" = "cim_chapitre_num")) %>%
# regroupement par chapitre
dplyr::group_by(cim_chapitre,cim_chapitre_lib) %>%
# par chapitre, calcul du nombre de DP, du nombre de DP différent et de la liste des DPP
dplyr::summarise(n_dp = dplyr::n(),
n_dp_diff = dplyr::n_distinct(dp_rss),
liste_dp = paste0(dp_rss, collapse = ","),
.groups = "drop") %>%
# tri descendant sur le nombre de DP
dplyr::arrange(desc(n_dp))
dp_chapitre
#> # A tibble: 7 x 5
#> cim_chapitre cim_chapitre_lib n_dp n_dp_diff liste_dp
#> <chr> <chr> <int> <int> <chr>
#> 1 19 Lésions traumatiques, empoisonnements e~ 3 2 S7200,S~~
#> 2 18 Symptômes, signes et résultats anormaux~ 2 2 R074,R5~5~
#> 3 21 Facteurs influant sur l'état de santé e~ 2 2 Z491,Z3~3~
#> 4 9 Maladies de l'appareil circulatoire 2 2 I5010,I~
#> 5 10 Maladies de l'appareil respiratoire 1 1 J441
#> 6 11 Maladies de l'appareil digestif 1 1 K358
#> 7 7 Maladies de l'œil et de ses annexes 1 1 H2511
Repérage des DAS interdits en DP et DR
Soit un mini jeu de données jeu_das
composé de 10
DAS.
#> # A tibble: 10 x 3
#> no_rss das annee_rss
#> <int> <chr> <chr>
#> 1 1 Z370 2020
#> 2 2 I10 2020
#> 3 3 P040 2020
#> 4 4 F1725 2021
#> 5 5 G473 2020
#> 6 6 W189 2021
#> 7 7 R600 2021
#> 8 8 N178 2021
#> 9 9 B952 2020
#> 10 10 D638 2021
# chargement de la CIM-10 2020 et 2021
# cim_2020_2021 <- refpmsi::refpmsi("cim",2020:2021)
das_interdit_dp_dr <- jeu_das %>%
# rattachement à chaque DAS du type MCO et du libellé CIM-10, correspondant à son année PMSIPMSI
dplyr::left_join(cim_2020_2021 %>% dplyr::select(cim_code,cim_lib,cim_tmco,annee_pmsi),
by = c("das" = "cim_code", "annee_rss" = "annee_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é"
dplyr::filter(cim_tmco %in% c(1,2))
das_interdit_dp_dr
#> # A tibble: 3 x 5
#> no_rss das annee_rss cim_lib cim_tmco
#> <int> <chr> <chr> <chr> <int>
#> 1 1 Z370 2020 Naissance unique, enfant vivant 1
#> 2 6 W189 2021 Autre chute de plain-pied, lieu sans précision 22
#> 3 9 B952 2020 Streptocoques, groupe D, et entérocoques, cau~ 11
Listes des CMA MCO par niveau - sortie Excel
library(dplyr)
library(purrr)
library(readr)
library(stringr)
library(refpmsi)
cim_lib <- refpmsi::refpmsi("cim_lib")
cma_mco <- refpmsi::refpmsi("cma_mco")
# liste de 3 tibbles correspondant aux 3 listes de CMA par niveau
cma_mco_niveau <- cma_mco %>%
dplyr::filter(annee_pmsi == "2023") %>%
dplyr::select(cma_mco_code,cma_mco_severite) %>%
dplyr::left_join(cim_lib %>% dplyr::select(cim_code,cim_lib), by = c("cma_mco_code" = "cim_code")) %>%
dplyr::group_split(cma_mco_severite) %>%
# nommage des listes
setNames(unique(cma_mco$cma_mco_severite))
# génération des 3 excels correspondant aux 3 niveaux
# dans le répertoire du projet
cma_mco_niveau %>%
purrr::iwalk(~ readr::write_excel_csv2(.x, stringr::str_c("cma_mco_niveau_",.y, ".csv")))
Comparaison CIM-10 2023 et 2022
library(dplyr)
library(refpmsi)
# Y-a-t-il des codes CIM-10 2023 avec un type mco (tmco) différent de leur tmco 2022 ?
cim <- refpmsi::refpmsi("cim")
cim_2022 <- cim %>% dplyr::filter(annee_pmsi == "2022") %>% dplyr::select(cim_code,cim_tmco)
cim_2023 <- cim %>% dplyr::filter(annee_pmsi == "2023") %>% dplyr::select(cim_code,cim_tmco_2023 = cim_tmco)
cim_2022 %>%
dplyr::inner_join(cim_2023, by = c("cim_code" = "cim_code")) %>%
dplyr::filter(cim_tmco != cim_tmco_2023)
# résultat : aucune différence
# Y-a-t-il des codes CIM-10 2023 avec un type ssr (pssr) différent de leur pssr 2022 ?
cim_2022 <- cim %>% dplyr::filter(annee_pmsi == "2022") %>% dplyr::select(cim_code,cim_pssr)
cim_2023 <- cim %>% dplyr::filter(annee_pmsi == "2023") %>% dplyr::select(cim_code,cim_pssr_2023 = cim_pssr)
cim_2022 %>%
dplyr::inner_join(cim_2023, by = c("cim_code" = "cim_code")) %>%
dplyr::filter(cim_pssr != cim_pssr_2023)
# résultat : Z515 devient autorisé en morbidité principale
Sources
Nomenclature
CIM-10 2023 : Fichiers nomenclature CIM10 pour les champs MCO,HAD, SSR
et PSY (ATIH)
CIM-10
FR à usage PMSI 2023 - version du 31 mars 2023 (ATIH)
CIM-10
FR à usage PMSI 2022 - version du 04 octobre 2022 (ATIH)
CIM-10
FR à usage PMSI 2021 - version du 12 mars 2021 (ATIH)
CIM-10
FR à usage PMSI 2020 - version du 21 août 2020 (ATIH)
CIM-10
FR à usage PMSI 2019 - version du 21 novembre 2019 mars 2019
(ATIH)
CIM-10
FR à usage PMSI 2018 - version du 23 avril 2018 (ATIH)
Guide
de lecture OVALIDE MCO 2022 (ATIH)
Manuel
des GHM 2023 - Volume 1 (ATIH)
Manuel
des GHM 2022 - Volume 1 (ATIH)
Manuel
des GHM 2021 - Volume 1 (ATIH)
Manuel
des GHM 2020 - Volume 1 (ATIH)
Manuel
des GHM 2019 - Volume 1 (ATIH)
Manuel
des GHM 2018 - Volume 1 (ATIH)