Passer au contenu

CMD

Intitulé du référentiel : cmd

Mise à jour : 25 mai 2024

Référentiel des libellés des CMD (Catégories Majeures de Diagnostics).
Référentiel non annualisé.

Variables

#> Rows: 28
#> Columns: 2
#> $ cmd         <chr> "01", "02", "03", "04", "05", "06", "07", "08", "09", "10"~
#> $ cmd_libelle <chr> "Affections du système nerveux", "Affections de l'oeil", "~~

Sous-CMD

Intitulé du référentiel : sous_cmd

Mise à jour : 25 mai 2024

Référentiel des libellés des sous-CMD

Référentiel non annualisé.

Variables

#> Rows: 72
#> Columns: 4
#> $ cmd              <chr> "01", "01", "01", "02", "02", "03", "03", "03", "04",~
#> $ sous_cmd         <chr> "01C", "01K", "01M", "02C", "02M", "03C", "03K", "03M~
#> $ cmkz             <chr> "C", "K", "M", "C", "M", "C", "K", "M", "C", "K", "M"~
#> $ sous_cmd_libelle <chr> "Affections du système nerveux - C", "Affections du s~~

GHS Public

Intitulé du référentiel : ghs_public

Mise à jour : 25 mai 2024

Référentiel des GHS et GHM du secteur public (ex-DGF).

Référentiel annualisé au sens du PMSI MCO (2018 à 2024).

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

ghs = code GHS
ghm = code GHM
ghm_libelle = libellé du GHM
ghm_bb = borne basse du GHM
ghm_bh = borne haute du GHM
ghs_tarif = tarif du GHS
ghs_exb = tarif journalier EXB (EXtrême Bas)
ghs_exh = tarif journalier EXH (EXtrême Haut)
annee_pmsi = année PMSI

#> Rows: 30,953
#> Columns: 9
#> $ ghs         <chr> "22", "23", "24", "25", "65", "26", "66", "27", "28", "67"~
#> $ ghm         <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C041"~
#> $ ghm_libelle <chr> "Craniotomies pour traumatisme, âge supérieur à 17 ans, ni~ni~
#> $ ghm_bb      <int> 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 12, 12, 0, 0, 0, 14, 0, 0, ~
#> $ ghm_bh      <int> 11, 19, 64, 124, 12, 12, 20, 20, 43, 43, 105, 105, 10, 17,~
#> $ ghs_tarif   <dbl> 4161.50, 7389.29, 13333.79, 18069.12, 14420.44, 6525.53, 1~
#> $ ghs_exb     <dbl> 0.00, 0.00, 0.00, 450.98, 0.00, 0.00, 0.00, 0.00, 0.00, 0.~
#> $ ghs_exh     <dbl> 123.09, 101.71, 78.91, 334.74, 151.08, 151.08, 114.03, 114~
#> $ annee_pmsi  <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "2~

GHS Privé

Intitulé du référentiel : ghs_prive

Mise à jour : 25 mai 2024

Référentiel des GHS et GHM du secteur privé (ex-OQN).

Référentiel annualisé au sens du PMSI MCO (2018 à 2024).

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

ghs = code GHS
ghm = code GHM
ghm_libelle = libellé du GHM
ghm_bb = borne basse du GHM
ghm_bh = borne haute du GHM
ghs_tarif = tarif du GHS
ghs_exb = tarif journalier EXB (EXtrême Bas)
ghs_exh = tarif journalier EXH (EXtrême Haut)
annee_pmsi = année PMSI

#> Rows: 30,380
#> Columns: 9
#> $ ghs         <chr> "22", "23", "24", "25", "26", "65", "27", "66", "28", "67"~
#> $ ghm         <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C041"~
#> $ ghm_libelle <chr> "Craniotomies pour traumatisme, âge supérieur à 17 ans, ni~ni~
#> $ ghm_bb      <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 0, 0, 0, 6, 0, 0, 0,~
#> $ ghm_bh      <int> 0, 24, 0, 0, 13, 13, 31, 31, 47, 47, 110, 110, 8, 12, 35, ~
#> $ ghs_tarif   <dbl> 1779.30, 3387.51, 8396.29, 12070.59, 2862.59, 10530.07, 51~
#> $ ghs_exb     <dbl> 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00~
#> $ ghs_exh     <dbl> 0.00, 267.16, 0.00, 0.00, 93.42, 93.42, 85.21, 85.21, 72.9~
#> $ annee_pmsi  <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "2~

GHM intermédiaire

Intitulé du référentiel : ghm_intermediaire

Mise à jour : 25 mai 2024

Référentiel des GHM avec GHS intermédiaire

Référentiel annualisé au sens PMSI MCO (2020-2024)

Variables

#> Rows: 1,535
#> Columns: 4
#> $ ghm_intermediaire <chr> "01M04T", "01M05T", "01M07T", "01M08T", "01M09T", "0~
#> $ ghs_plein         <chr> "333", "212", "217", "222", "227", "232", "237", "24~
#> $ ghs_intermediaire <chr> "348", "5006", "5007", "5008", "5009", "5010", "5011~
#> $ annee_pmsi        <chr> "2024", "2024", "2024", "2024", "2024", "2024", "202~

GHS Mono UHCD

Intitulé du référentiel : ghs_monouhcd

Mise à jour : 25 mai 2024

Référentiel annualisé au sens PMSI MCO (2021-2024)

Pour chaque GHS UHCD et par année PMSI MCO, la liste des GHM associés

Variables

#> Rows: 10,391
#> Columns: 3
#> $ ghs        <chr> "5071", "5071", "5071", "5071", "5072", "5072", "5072", "50~
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C042",~
#> $ annee_pmsi <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "20~

Regroupement GHM

Intitulé du référentiel : ghm_regroupement

Mise à jour : 25 mai 2024

Référentiel des regroupements des GHM en DA (Domaine d’Activité), GA (Groupe d’Activité) et GP (Groupe de Planification).
Référentiel annualisé au sens du PMSI MCO (2018-2024).

Pour l’année PMSI MCO 2024, dans l’attente de la publication de la version 2024 du référentiel par l’ATIH, on a projeté l’année 2023 en 2024.

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

ghm = code GHM
ghm_libelle = libellé du GHM
aso = code ASO du GHM (Activité de SOins)
da = code DA du GHM
da_libelle = libellé du DA
gp = code GP du GHM
gp_libelle = libellé du GP
ga = code GA du GHM
ga_libelle = libellé du GA
da_gp = concaténation des codes DA et GP du GHM
da_gp_ga = concaténation des codes DA, GP et GA du GHM
annee_pmsi = année PMSI

#> Rows: 18,289
#> Columns: 12
#> $ ghm         <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C042"~
#> $ ghm_libelle <chr> "Craniotomies pour traumatisme, âge supérieur à 17 ans, ni~ni~
#> $ aso         <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C"~
#> $ da          <chr> "D05", "D05", "D05", "D05", "D05", "D05", "D05", "D05", "D~
#> $ da_libelle  <chr> "Système nerveux (hors cathétérismes vasculaires diagnosti~ti~
#> $ gp          <chr> "C02", "C02", "C02", "C02", "C02", "C02", "C02", "C02", "C~
#> $ gp_libelle  <chr> "Chirurgie du rachis, Neuro-chirurgie", "Chirurgie du rach~
#> $ ga          <chr> "G043", "G043", "G043", "G043", "G044", "G044", "G044", "G~
#> $ ga_libelle  <chr> "Chirurgies SNC trauma", "Chirurgies SNC trauma", "Chirurg~
#> $ da_gp       <chr> "D05C02", "D05C02", "D05C02", "D05C02", "D05C02", "D05C02"~
#> $ da_gp_ga    <chr> "D05C02G043", "D05C02G043", "D05C02G043", "D05C02G043", "D~
#> $ annee_pmsi  <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "2~

Regroupement des racines de GHM

Intitulé du référentiel : rghm_regroupement

Mise à jour : 25 mai 2024

Référentiel des regroupements des racines de GHM en DA (Domaine d’Activité), GA (Groupe d’Activité) et GP (Groupe de Planification).

Référentiel annualisé au sens du PMSI MCO (2018-2024)

Pour l’année PMSI MCO 2024, dans l’attente de la publication de la version 2024 du référentiel par l’ATIH, on a projeté l’année 2023 en 2024.

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

rghm = code racine GHM
rghm_libelle = libellé racine GHM
aso = code ASO racine GHM (Activité de Soins)
da = code DA racine GHM
da_libelle = libellé du DA
gp = code GP racine GHM
gp_libelle = libellé du GP
ga = code GA racine GHM
ga_libelle = libellé du GA
da_gp = concaténation des codes DA et GP de la racine GHM
da_gp_ga = concaténation des codes DA, GP et GA de la racine GHM
annee_pmsi = année PMSI

#> Rows: 4,709
#> Columns: 12
#> $ rghm         <chr> "01C03", "01C04", "01C05", "01C06", "01C08", "01C09", "01~
#> $ rghm_libelle <chr> "Craniotomies pour traumatisme, âge supérieur à 17 ans", ~, ~
#> $ aso          <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "M~
#> $ da           <chr> "D05", "D05", "D05", "D07", "D26", "D05", "D05", "D05", "~
#> $ da_libelle   <chr> "Système nerveux (hors cathétérismes vasculaires diagnost~st~
#> $ gp           <chr> "C02", "C02", "C02", "C14", "C25", "C03", "C03", "C02", "~
#> $ gp_libelle   <chr> "Chirurgie du rachis, Neuro-chirurgie", "Chirurgie du rac~
#> $ ga           <chr> "G043", "G044", "G041", "G074", "G179", "G045", "G045", "~
#> $ ga_libelle   <chr> "Chirurgies SNC trauma", "Chirurgies SNC hors trauma (rac~
#> $ da_gp        <chr> "D05C02", "D05C02", "D05C02", "D07C14", "D26C25", "D05C03~
#> $ da_gp_ga     <chr> "D05C02G043", "D05C02G044", "D05C02G041", "D07C14G074", "~
#> $ annee_pmsi   <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "~

OVALIDE - Table GHMINFO_exDGF

Intitulé du référentiel : ovalide_ghminfo_dgf

Mise à jour : 25 mai 2024

Informations issues de la table OVALIDE GHMINFO_exDGF.

Les informations redondantes avec d’autres référentiels de refpmsi:: (ex : cma, bb, bh, …) ne sont pas reprises.

Référentiel annualisé au sens du PMSI MCO (2018-2024).

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

ghm = code GHM
tghm = type du GHM (C : chirurgical; M : médical; X : autre)
dms = durée moyenne de séjour nationale
pctdc = taux de décès national
mage = age moyen
pctcourt = pourcentage de séjours courts (parmi les séjours de durée > 1 jour) où durée d’un séjour court = borne basse ou borne basse +1
pvalo = code GHS du GHS le plus valorisé dans les GHM multi-GHS
pctpvalo = taux de séjours aux GHS plus élevés
pctcma4 = pourcentage de séjours de niveau 4 par sous-cmd (sous-cmd = 3 premières positions des GHM)
pctautres = pourcentage de séjours avec un DA autres (.8)
annee_pmsi = année PMSI

#> Rows: 18,335
#> Columns: 11
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C042",~
#> $ tghm       <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C",~
#> $ dms        <dbl> 3.3482, 6.8008, 14.9201, 35.2220, 4.0760, 7.2027, 13.8418, ~
#> $ pctdc      <dbl> 0.0909, 0.0450, 0.0881, 0.2342, 0.0237, 0.0148, 0.0448, 0.1~
#> $ mage       <dbl> 59.1792, 67.8276, 69.4017, 55.9123, 58.6143, 59.1821, 61.91~
#> $ pctcourt   <dbl> 0.0000, 0.0000, 0.0000, 0.0432, 0.0000, 0.0000, 0.0000, 0.0~
#> $ pvalo      <chr> "22", "23", "24", "25", "65", "66", "67", "68", "30", "31",~
#> $ pctpvalo   <dbl> 0.9974, 1.0000, 1.0000, 1.0000, 0.0008, 0.0179, 0.0030, 0.0~
#> $ pctcma4    <dbl> 0.1196, 0.1196, 0.1196, 0.1196, 0.1196, 0.1196, 0.1196, 0.1~
#> $ pctautres  <dbl> 0.205, 0.205, 0.205, 0.205, 0.205, 0.205, 0.205, 0.205, 0.2~
#> $ annee_pmsi <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "20~

OVALIDE - Table GHMINFO_exOQN

Intitulé du référentiel : ovalide_ghminfo_oqn

Mise à jour : 25 mai 2024

Informations issues de la table OVALIDE GHMINFO_exOQN.

Les informations redondantes avec d’autres référentiels de refpmsi:: (ex : cma, bb, bh, …) ne sont pas reprises.

Référentiel annualisé au sens du PMSI MCO (2018-2024).

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

ghm = code GHM
tghm = type du GHM (C : chirurgical; M : médical; X : autre)
dms = durée moyenne de séjour nationale
pctdc = taux de décès national
mage = age moyen
pctcourt = pourcentage de séjours courts (parmi les séjours de durée > 1 jour). Durée d’un séjour court = borne basse ou borne basse +1
pvalo = code GHS du GHS le plus valorisé dans les GHM multi-GHS
pctpvalo = taux de séjours aux GHS plus élevés
pctcma4 = pourcentage de séjours de niveau 4 par sous-cmd (sous-cmd = 3 premières positions des GHM)
pctautres = pourcentage de séjours avec un DA autres (.8)
annee_pmsi = année PMSI

#> Rows: 18,335
#> Columns: 11
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C042",~
#> $ tghm       <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C",~
#> $ dms        <dbl> 4.2353, 8.0893, 16.5333, 39.4000, 4.8394, 7.8592, 15.1250, ~
#> $ pctdc      <dbl> 0.0588, 0.0702, 0.0889, 0.4333, 0.0032, 0.0000, 0.0622, 0.1~
#> $ mage       <dbl> 64.5000, 71.9474, 72.0000, 69.0333, 62.7778, 64.6497, 66.39~
#> $ pctcourt   <dbl> 0.0000, 0.0000, 0.0000, 0.0877, 0.0000, 0.0000, 0.0000, 0.0~
#> $ pvalo      <chr> "22", "23", "24", "25", "65", "66", "67", "68", "30", "31",~
#> $ pctpvalo   <dbl> 1.0000, 1.0000, 1.0000, 1.0000, NA, NA, NA, NA, 1.0000, 1.0~
#> $ pctcma4    <dbl> 0.0224, 0.0224, 0.0224, 0.0224, 0.0224, 0.0224, 0.0224, 0.0~
#> $ pctautres  <dbl> 0.2587, 0.2587, 0.2587, 0.2587, 0.2587, 0.2587, 0.2587, 0.2~
#> $ annee_pmsi <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "20~

OVALIDE - Table RacineINFO_exDGF

Intitulé du référentiel : ovalide_racineinfo_dgf

Mise à jour : 25 mai 2024

Informations issues de la table OVALIDE RacineINFO_exDGF.

Référentiel annualisé au sens du PMSI MCO (2018-2024).

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables

racine = code racine GHM
pctdc = taux de décès national
conf = confirmation de codage nécessaire pour la racine GHM (1 : OUI ; 0 : NON)
age2 = effet de l’âge pour les moins de 2 ans (1 : OUI ; 0 : NON)
age69 = effet de l’âge pour les plus de 69 / 79 ans (1-3 : OUI pour les plus de 69 ans ; 2-4-6 : OUI pour les plus de 79 ans ; 0 : NON)
pctcma2 = pourcentage de séjours de niveau 2 dans la racine GHM
pctcma3 = pourcentage de séjours de niveau 2 dans la racine GHM
pctexb = pourcentage de séjours en dessous de la borne basse
pctssacte = taux de séjours de 0 jours sans acte
app = racine apparentée à la racine GHM
pctapp = pourcentage de séjours dans la racine apparentée
annee_pmsi = année PMSI

#> Rows: 4,705
#> Columns: 12
#> $ rghm       <chr> "01C03", "01C04", "01C05", "01C06", "01C08", "01C09", "01C1~
#> $ pctdc      <dbl> 0.1060, 0.0484, 0.0118, 0.0055, 0.0107, 0.0041, NA, 0.0207,~
#> $ conf       <int> 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, 3, 0,~
#> $ age2       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,~
#> $ age69      <int> 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 2, 3, 3, 0,~
#> $ pctcma2    <dbl> 0.6526, 0.5631, 0.4431, 0.3953, 0.2450, 0.1724, 0.0834, 0.6~
#> $ pctcma3    <dbl> 0.3573, 0.2589, 0.2026, 0.0914, 0.0810, 0.0573, 0.0077, 0.3~
#> $ pctexb     <dbl> 0.0209, 0.0187, 0.0147, 0.0004, 0.0047, 0.0000, 0.0000, 0.0~
#> $ pctssacte  <dbl> 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0~
#> $ annee_pmsi <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "20~
#> $ app        <chr> NA, NA, NA, NA, NA, NA, NA, "XXXXX", "01C11", NA, NA, "01K0~
#> $ pctapp     <dbl> NA, NA, NA, NA, NA, NA, NA, 0.2958, NA, NA, NA, NA, NA, NA,~

OVALIDE - Table RacineINFO_exOQN

Intitulé du référentiel : ovalide_racineinfo_oqn

Mise à jour : 25 mai 2024s

Informations issues de la table OVALIDE RacineINFO_exOQN.

Référentiel annualisé au sens du PMSI MCO (2018-2024).

Il est recommandé de ne charger que la ou les année(s) PMSI utile(s).

Variables du référentiel

racine = code racine GHM
pctdc = taux de décès national
conf = confirmation de codage nécessaire pour la racine GHM (1 : OUI ; 0 : NON)
age2 = effet de l’âge pour les moins de 2 ans (1 : OUI ; 0 : NON)
age69 = effet de l’âge pour les plus de 69 / 79 ans (1-3 : OUI pour les plus de 69 ans ; 2-4-6 : OUI pour les plus de 79 ans ; 0 : NON)
pctcma2 = pourcentage de séjours de niveau 2 dans la racine GHM
pctcma3 = pourcentage de séjours de niveau 2 dans la racine GHM
pctexb = pourcentage de séjours en dessous de la borne basse
pctssacte = taux de séjours de 0 jours sans acte
app = racine apparentée à la racine GHM
pctapp = pourcentage de séjours dans la racine apparentée
annee_pmsi = année PMSI

#> Rows: 4,552
#> Columns: 12
#> $ rghm       <chr> "01C03", "01C04", "01C05", "01C06", "01C08", "01C09", "01C1~
#> $ pctdc      <dbl> 0.1384, 0.0229, 0.0042, 0.0032, 0.0019, NA, NA, NA, NA, NA,~
#> $ conf       <int> 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, 3, 0, 0,~
#> $ age2       <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,~
#> $ age69      <int> 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 2, 3, 3, 0, 0,~
#> $ pctcma2    <dbl> 0.6349, 0.4184, 0.2590, 0.2878, 0.1314, 0.5000, 0.0204, 1.0~
#> $ pctcma3    <dbl> 0.3368, 0.1593, 0.1026, 0.0363, 0.0413, 0.0000, 0.0047, 0.0~
#> $ pctexb     <dbl> 0.0000, 0.0059, 0.0006, 0.0010, 0.0000, 0.0000, 0.0000, 0.0~
#> $ pctssacte  <dbl> 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0~
#> $ annee_pmsi <chr> "2024", "2024", "2024", "2024", "2024", "2024", "2024", "20~
#> $ app        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "01K07", NA, NA, NA~
#> $ pctapp     <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,~

Listes en D et en A de l’algorithme de groupage MCO

Intitulé du référentiel : mco_fg_listes

Mise à jour : 8 octobre 2021

Année 2021.

Variables du référentiel

mco_fg_liste_code = code des listes
mco_fg_liste_lib = libellé des listes
mco_fg_liste_type = D pour les listes en D et A pour les listes en A
mco_fg_cmd = CMD dans laquelle la liste participe au groupage des séjours
mco_fg_code = code CIM-10 (liste en D) ou code acte CCAM PMSI (liste en A)
mco_fg_ccam_pmsi_extension = extension PMSI des actes CCAM PMSI
mco_fg_ccam_pmsi_phase = phase des actes CCAM PMSI
annee_pmsi = année PMSI

#> Rows: 55,409
#> Columns: 8
#> $ mco_fg_liste_code          <chr> "A-002", "A-002", "A-002", "A-002", "A-002"~
#> $ mco_fg_liste_lib           <chr> "Craniotomies", "Craniotomies", "Craniotomi~
#> $ mco_fg_liste_type          <chr> "A", "A", "A", "A", "A", "A", "A", "A", "A"~
#> $ mco_fg_cmd                 <chr> "01", "01", "01", "01", "01", "01", "01", "~
#> $ mco_fg_code                <chr> "AAFA001", "AAFA002", "AAFA003", "AAFA004",~
#> $ mco_fg_ccam_pmsi_extension <chr> "00", "00", "00", "00", "00", "00", "00", "~
#> $ mco_fg_ccam_pmsi_phase     <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0"~
#> $ annee_pmsi                 <chr> "2021", "2021", "2021", "2021", "2021", "20~

Exemples

Chargement du référentiel des GHS Public des années 2023 et 2024

# Chargement du référentiel des GHS-GHM Public des années 2023 et 2024024
ghs_2023_2024 <- refpmsi::refpmsi("ghs_public",2023:2024)
ghs_2023_2024
#> # A tibble: 11,342 x 9
#>    ghs   ghm    ghm_libelle   ghm_bb ghm_bh ghs_tarif ghs_exb ghs_exh annee_pmsi
#>    <chr> <chr>  <chr>          <int>  <int>     <dbl>   <dbl>   <dbl> <chr>     
#>  1 22    01C031 Craniotomies~      0     11     4162.      0    123.  2024      
#>  2 23    01C032 Craniotomies~      0     19     7389.      0    102.  2024      
#>  3 24    01C033 Craniotomies~      0     64    13334.      0     78.9 2024      
#>  4 25    01C034 Craniotomies~     12    124    18069.    451.   335.  2024      
#>  5 65    01C041 Craniotomies~      0     12    14420.      0    151.  2024      
#>  6 26    01C041 Craniotomies~      0     12     6526.      0    151.  2024      
#>  7 66    01C042 Craniotomies~      0     20    18776.      0    114.  2024      
#>  8 27    01C042 Craniotomies~      0     20    10882.      0    114.  2024      
#>  9 28    01C043 Craniotomies~      0     43    15711.      0     78.4 2024      
#> 10 67    01C043 Craniotomies~      0     43    23606.      0     78.4 2024      
#> # i 11,332 more rows

Référentiel des libellés des GA

On retient, pour chaque GA (Groupe d’Activité) le libellé correspondant à l’année PMSI MCO la plus récente

ghm_regroupement <- refpmsi(ghm_regroupement)
ga_libelle <- ghm_regroupement %>% 
    dplyr::distinct(ga,ga_libelle,annee_pmsi) %>% 
    dplyr::group_by(ga) %>% 
    dplyr::summarise(ga_libelle = ga_libelle[annee_pmsi == max(annee_pmsi)])
head(ga_libelle)
#> # A tibble: 6 x 2
#>   ga    ga_libelle                           
#>   <chr> <chr>                                
#> 1 G001  Chirurgies digestives hautes         
#> 2 G002  Chirurgie digestive majeure          
#> 3 G003  Appendicectomies                     
#> 4 G004  Hernies                              
#> 5 G005  Occlusions, sub-occlusions digestives
#> 6 G006  Chirurgie mineure grêle/colonn

Rattachement du libellé GHM aux GHM des RUM

Soit un jeu de données jeu_ghm composé de 17 RUM correspondant à 14 séjours.

#> # A tibble: 17 x 7
#>    no_rum no_rss ghm    dp_rum    jp ghs   annee_rss
#>     <dbl>  <dbl> <chr>  <chr>  <int> <chr> <chr>    
#>  1      1      1 06K02Z D122       0 2119  2024     
#>  2      1      2 08C321 S8220      3 2808  2023     
#>  3      1      3 04M053 J181      10 1144  2023     
#>  4      1      4 05M092 I5001      7 1754  2024     
#>  5      1      5 06M12T R104       0 2200  2024     
#>  6      1      6 04M053 J181       0 1144  2023     
#>  7      1      7 20Z041 F102      29 7267  2023     
#>  8      1      8 08K041 S730       2 3033  2024     
#>  9      1      9 01M201 S0600      3 268   2023     
#> 10      1     10 06M12T R104       0 2206  2024     
#> 11      1     11 05M092 I5009      2 1754  2023     
#> 12      2     11 05M092 I472       1 1754  2023     
#> 13      1     12 04M053 J189       2 1144  2024     
#> 14      2     12 04M053 J960      11 1144  2024     
#> 15      3     12 04M053 J189      11 1144  2024     
#> 16      1     13 16M11T D508       0 6186  2024     
#> 17      1     14 16M11T D509       0 6118  2024
# chargement des GHM Public 2023 et 2024
ghm_2023_2024 <- refpmsi::refpmsi("ghs_public", 2023:2024)

jeu_ghm_libelle <- jeu_ghm %>%
    # rattachement des libellés aux GHM via la jointure (ghs, annee_pmsi))
    dplyr::left_join(ghm_2023_2024 %>% dplyr::select(ghs,ghm_libelle,annee_pmsi),
                     join_by(ghs == ghs, annee_rss == annee_pmsi))
jeu_ghm_libelle
#> # A tibble: 17 x 8
#>    no_rum no_rss ghm    dp_rum    jp ghs   annee_rss ghm_libelle                
#>     <dbl>  <dbl> <chr>  <chr>  <int> <chr> <chr>     <chr>                      
#>  1      1      1 06K02Z D122       0 2119  2024      Endoscopies digestives thé~~
#>  2      1      2 08C321 S8220      3 2808  2023      Interventions sur la jambe~
#>  3      1      3 04M053 J181      10 1144  2023      Pneumonies et pleurésies b~~
#>  4      1      4 05M092 I5001      7 1754  2024      Insuffisances cardiaques e~
#>  5      1      5 06M12T R104       0 2200  2024      Douleurs abdominales, très~~
#>  6      1      6 04M053 J181       0 1144  2023      Pneumonies et pleurésies b~~
#>  7      1      7 20Z041 F102      29 7267  2023      Ethylisme avec dépendance,~~
#>  8      1      8 08K041 S730       2 3033  2024      Tractions continues et réd~~
#>  9      1      9 01M201 S0600      3 268   2023      Commotions cérébrales, niv~v~
#> 10      1     10 06M12T R104       0 2206  2024      Douleurs abdominales, très~~
#> 11      1     11 05M092 I5009      2 1754  2023      Insuffisances cardiaques e~
#> 12      2     11 05M092 I472       1 1754  2023      Insuffisances cardiaques e~
#> 13      1     12 04M053 J189       2 1144  2024      Pneumonies et pleurésies b~~
#> 14      2     12 04M053 J960      11 1144  2024      Pneumonies et pleurésies b~~
#> 15      3     12 04M053 J189      11 1144  2024      Pneumonies et pleurésies b~~
#> 16      1     13 16M11T D508       0 6186  2024      Autres troubles de la lign~
#> 17      1     14 16M11T D509       0 6118  2024      Autres troubles de la lign~

Rattachement DMS nationale aux séjours

Dans un premier temps, on rattache les DMS nationales issues d’OVALIDE MCO à chaque séjour.

Puis on compare la DS des séjours avec ces DMS nationales pour les séjours pour lesquels cela a un sens (séjours avec une DS > 0).

# Chargement des DMS OVALIDE des années PMSI 2023 et 20244
dms_ovalide <- refpmsi::refpmsi("ovalide_ghminfo_dgf", 2023:2024) %>% dplyr::select(ghm,dms,annee_pmsi)
dms_ovalide
#> # A tibble: 5,276 x 3
#>    ghm      dms annee_pmsi
#>    <chr>  <dbl> <chr>     
#>  1 01C031  3.35 2024      
#>  2 01C032  6.80 2024      
#>  3 01C033 14.9  2024      
#>  4 01C034 35.2  2024      
#>  5 01C041  4.08 2024      
#>  6 01C042  7.20 2024      
#>  7 01C043 13.8  2024      
#>  8 01C044 32.3  2024      
#>  9 01C051  3.42 2024      
#> 10 01C052  6.94 2024      
#> # i 5,266 more rows

jeu_ghm_dms <- jeu_ghm %>%
    # rattachement des DMS OVALIDE
    dplyr::left_join(dms_ovalide, join_by(ghm == ghm, annee_rss == annee_pmsi)) %>% 
    # nouvelle variable ecart_dms
    # nouvelle variable ratio_ecart_dms. = NA pour les cas jp = 0
    dplyr::mutate(ecart_dms = jp - dms,
                  ratio_ecart_dms = ifelse(jp != 0L, round(jp/dms,2), NA_real_))
jeu_ghm_dms %>% print(n = 15, width = Inf)
#> # A tibble: 17 x 10
#>    no_rum no_rss ghm    dp_rum    jp ghs   annee_rss    dms ecart_dms
#>     <dbl>  <dbl> <chr>  <chr>  <int> <chr> <chr>      <dbl>     <dbl>
#>  1      1      1 06K02Z D122       0 2119  2024       0.110    -0.110
#>  2      1      2 08C321 S8220      3 2808  2023       2.85      0.148
#>  3      1      3 04M053 J181      10 1144  2023      11.6      -1.59 
#>  4      1      4 05M092 I5001      7 1754  2024       7.98     -0.981
#>  5      1      5 06M12T R104       0 2200  2024       0.491    -0.491
#>  6      1      6 04M053 J181       0 1144  2023      11.6     -11.6  
#>  7      1      7 20Z041 F102      29 7267  2023       9.29     19.7  
#>  8      1      8 08K041 S730       2 3033  2024       3.35     -1.35 
#>  9      1      9 01M201 S0600      3 268   2023       0.640     2.36 
#> 10      1     10 06M12T R104       0 2206  2024       0.491    -0.491
#> 11      1     11 05M092 I5009      2 1754  2023       8.07     -6.07 
#> 12      2     11 05M092 I472       1 1754  2023       8.07     -7.07 
#> 13      1     12 04M053 J189       2 1144  2024      11.5      -9.52 
#> 14      2     12 04M053 J960      11 1144  2024      11.5      -0.516
#> 15      3     12 04M053 J189      11 1144  2024      11.5      -0.516
#>    ratio_ecart_dms
#>              <dbl>
#>  1           NA   
#>  2            1.05
#>  3            0.86
#>  4            0.88
#>  5           NA   
#>  6           NA   
#>  7            3.12
#>  8            0.6 
#>  9            4.69
#> 10           NA   
#> 11            0.25
#> 12            0.12
#> 13            0.17
#> 14            0.96
#> 15            0.96
#> # i 2 more rows

Cas d’usage : filtrer les séjours qui ont une DS >= 2,5 x la DMS nationale de leur GHM pour repérer des séjours, à priori, particulièrement longs.

sejour_more_2.5_dms <- jeu_ghm_dms %>% dplyr::filter(ratio_ecart_dms >= 2.5)
sejour_more_2.5_dms %>% print(width = Inf)
#> # A tibble: 2 x 10
#>   no_rum no_rss ghm    dp_rum    jp ghs   annee_rss   dms ecart_dms
#>    <dbl>  <dbl> <chr>  <chr>  <int> <chr> <chr>     <dbl>     <dbl>
#> 1      1      7 20Z041 F102      29 7267  2023      9.29      19.7 
#> 2      1      9 01M201 S0600      3 268   2023      0.640      2.36
#>   ratio_ecart_dms
#>             <dbl>
#> 1            3.12
#> 2            4.69

Case mix en DA (Domaine d’Activité) des séjours

case_mix_da <- jeu_ghm %>%
    # rattachement des codes DA aux séjourss
    dplyr::left_join(refpmsi::refpmsi("ghm_regroupement",2023:2024) %>% dplyr::select(ghm,da,da_libelle,annee_pmsi),
                     join_by(ghm == ghm, annee_rss == annee_pmsi)) %>%
    # regroupement en DA
    group_by(da,da_libelle) %>%
    # calcul du nombre de RUM et du nombre de séjours par DAA
    dplyr::summarise(nb_rum = dplyr::n(),
                     nb_sejour = dplyr::n_distinct(no_rss),
                     .groups = "drop")
case_mix_da
#> # A tibble: 7 x 4
#>   da    da_libelle                                              nb_rum nb_sejour
#>   <chr> <chr>                                                    <int>     <int>
#> 1 D01   Digestif                                                     3         3
#> 2 D02   Orthopédie traumatologie                                     2         22
#> 3 D05   Système nerveux (hors cathétérismes vasculaires diagno~      1         1  1
#> 4 D07   Cardio-vasculaire (hors cathétérismes vasculaires diag~      3         2 2
#> 5 D09   Pneumologie                                                  5         3
#> 6 D16   Hématologie                                                  2         22
#> 7 D23   Toxicologie, Intoxications, Alcool                           1         1

Séjours et gradation des prises en charge ambulatoires

On repère les séjours concernés par la gradation des prises en charge ambulatoires et groupés avec le GHS intermédiaire.

sejour_ghs_intermediaire <- jeu_ghm %>%
    # rattachement GHS plein et GHS intermédiaire pour les GHM concernés©s
    dplyr::left_join(refpmsi::refpmsi(ghm_intermediaire),
                     join_by(ghm == ghm_intermediaire, annee_rss == annee_pmsi)) %>%
    # filtre sur les séjours dont le GHS == le GHS intermédiaire associé au GHMGHM
    dplyr::filter(ghs == ghs_intermediaire)
sejour_ghs_intermediaire
#> # A tibble: 2 x 9
#>   no_rum no_rss ghm    dp_rum    jp ghs   annee_rss ghs_plein ghs_intermediaire
#>    <dbl>  <dbl> <chr>  <chr>  <int> <chr> <chr>     <chr>     <chr>            
#> 1      1     10 06M12T R104       0 2206  2024      2200      2206             
#> 2      1     14 16M11T D509       0 6118  2024      6186      6118

Liste des codes CIM-10 d’une liste D

# Chargement du référentiel des listes D et A de l'algorithme de groupage MCOCO
mco_fg_listes <- refpmsi::refpmsi("mco_fg_listes", 2021)
mco_fg_listes
#> # A tibble: 55,409 x 8
#>    mco_fg_liste_code mco_fg_liste_lib mco_fg_liste_type mco_fg_cmd mco_fg_code
#>    <chr>             <chr>            <chr>             <chr>      <chr>      
#>  1 A-002             Craniotomies     A                 01         AAFA001    
#>  2 A-002             Craniotomies     A                 01         AAFA002    
#>  3 A-002             Craniotomies     A                 01         AAFA003    
#>  4 A-002             Craniotomies     A                 01         AAFA004    
#>  5 A-002             Craniotomies     A                 01         AAFA005    
#>  6 A-002             Craniotomies     A                 01         AAFA006    
#>  7 A-002             Craniotomies     A                 01         AAFA007    
#>  8 A-002             Craniotomies     A                 01         AAFA008    
#>  9 A-002             Craniotomies     A                 01         AAGA900    
#> 10 A-002             Craniotomies     A                 01         AAJA001    
#> # i 55,399 more rows
#> # i 3 more variables: mco_fg_ccam_pmsi_extension <chr>,
#> #   mco_fg_ccam_pmsi_phase <chr>, annee_pmsi <chr>

On choisit d’extraire les codes CIM-10 de la liste D-0401 ““Bronchite ou asthme”

Le DP d’un séjour appartenant à cette liste amène le séjour concerné en racine 04M03 “Bronchites et asthme, âge supérieur à 17 ans” ou 04M02 “Bronchites et asthme, âge inférieur à 18 ans”

liste_D_0401 <- mco_fg_listes %>%
  # on ne garde que des variables qui nous intéressent pour une liste en DD
  dplyr::select(mco_fg_liste_code, mco_fg_liste_lib, mco_fg_cmd, mco_fg_code) %>%
  dplyr::filter(mco_fg_liste_code == "D-0401")
liste_D_0401
#> # A tibble: 20 x 4
#>    mco_fg_liste_code mco_fg_liste_lib     mco_fg_cmd mco_fg_code
#>    <chr>             <chr>                <chr>      <chr>      
#>  1 D-0401            Bronchites et asthme 04         J041       
#>  2 D-0401            Bronchites et asthme 04         J200       
#>  3 D-0401            Bronchites et asthme 04         J201       
#>  4 D-0401            Bronchites et asthme 04         J202       
#>  5 D-0401            Bronchites et asthme 04         J203       
#>  6 D-0401            Bronchites et asthme 04         J204       
#>  7 D-0401            Bronchites et asthme 04         J205       
#>  8 D-0401            Bronchites et asthme 04         J206       
#>  9 D-0401            Bronchites et asthme 04         J207       
#> 10 D-0401            Bronchites et asthme 04         J208       
#> 11 D-0401            Bronchites et asthme 04         J209       
#> 12 D-0401            Bronchites et asthme 04         J40        
#> 13 D-0401            Bronchites et asthme 04         J410       
#> 14 D-0401            Bronchites et asthme 04         J42        
#> 15 D-0401            Bronchites et asthme 04         J450       
#> 16 D-0401            Bronchites et asthme 04         J451       
#> 17 D-0401            Bronchites et asthme 04         J458       
#> 18 D-0401            Bronchites et asthme 04         J459       
#> 19 D-0401            Bronchites et asthme 04         J46        
#> 20 D-0401            Bronchites et asthme 04         J980

Script similaire pour extraire les actes CCAM PMSI d’une liste A.

Diagnostics d’entrée d’une CMD

On choisit d’extraire les diags d’entrée de la CMD 01

# on a chargé le référentiel mco_fg_listes dans la variable mco_fg_listestes
diag_cmd_01 <- mco_fg_listes %>%
  dplyr::filter(mco_fg_cmd == "01", mco_fg_liste_type == "D") %>%
  # argument.keep_all = TRUE pour garder les colonnes
  dplyr::distinct(mco_fg_code, .keep_all = TRUE) %>%
  # colonnes qui nous intéressent + réordonnancementnt
  dplyr::select(mco_fg_code, mco_fg_cmd, mco_fg_liste_code, mco_fg_liste_lib)
diag_cmd_01
#> # A tibble: 903 x 4
#>    mco_fg_code mco_fg_cmd mco_fg_liste_code mco_fg_liste_lib      
#>    <chr>       <chr>      <chr>             <chr>                 
#>  1 F072        01         D-0101            Migraines et céphaléeses
#>  2 G430        01         D-0101            Migraines et céphaléeses
#>  3 G431        01         D-0101            Migraines et céphaléeses
#>  4 G432        01         D-0101            Migraines et céphaléeses
#>  5 G433        01         D-0101            Migraines et céphaléeses
#>  6 G438        01         D-0101            Migraines et céphaléeses
#>  7 G439        01         D-0101            Migraines et céphaléeses
#>  8 G440        01         D-0101            Migraines et céphaléeses
#>  9 G441        01         D-0101            Migraines et céphaléeses
#> 10 G442        01         D-0101            Migraines et céphaléeses
#> # i 893 more rows

Rattachement des libellés des listes D aux DP

Soit un mini-jeu de données de 12 séjours avec le DP, le GHM et l’année PMSI du séjour

#> # A tibble: 12 x 4
#>    no_rss dp_rss ghm_rss annee_rss
#>     <int> <chr>  <chr>   <chr>    
#>  1      1 I5010  05M091  2024     
#>  2      2 S7220  08M041  2023     
#>  3      3 H269   02C05J  2023     
#>  4      4 Z380   15M05A  2024     
#>  5      5 S7200  08C471  2023     
#>  6      6 S0600  01M201  2024     
#>  7      7 R074   05M13T  2023     
#>  8      8 J441   04M202  2023     
#>  9      9 K358   06C091  2024     
#> 10     10 R53+0  23M20Z  2024     
#> 11     11 S7200  08C471  2024     
#> 12     12 I5011  05M092  2023

1ere étape : construire le tibble des diagnostics d’entrée de toutes les CMD concernées par une introduction de groupage par le DP

# on a chargé le référentiel mco_fg_listes dans la variable mco_fg_listestes
diag_cmd <- mco_fg_listes %>%
  dplyr::filter(mco_fg_liste_type == "D") %>%
  # nest_by = group_by + summarise + rowwise (expérimental dplyr 1.0.7))
  dplyr::nest_by(mco_fg_cmd, .key = "diag_entree") %>%
  # dégroupage du rowwise généré par nest_byt_by
  dplyr::ungroup() %>%
  # traitement de la list_column des diags d'entréee
  dplyr::mutate(diag_entree = purrr::map(diag_entree, ~ dplyr::distinct(.x, mco_fg_code, .keep_all = TRUE) %>% dplyr::select(c("mco_fg_code", "mco_fg_liste_code", "mco_fg_liste_lib"))))
diag_cmd
#> # A tibble: 26 x 2
#>    mco_fg_cmd diag_entree         
#>    <chr>      <list>              
#>  1 01         <tibble [903 x 3]>  
#>  2 02         <tibble [408 x 3]>  
#>  3 03         <tibble [555 x 3]>  
#>  4 04         <tibble [465 x 3]>  
#>  5 05         <tibble [495 x 3]>  
#>  6 06         <tibble [579 x 3]>  
#>  7 07         <tibble [227 x 3]>  
#>  8 08         <tibble [4,058 x 3]>
#>  9 09         <tibble [914 x 3]>  
#> 10 10         <tibble [422 x 3]>  
#> # i 16 more rows

2eme étape : rattachement du libellé de la liste D correspondant au DP pour la CMD du séjour

jeu_dp_ghm_liste_D <- jeu_dp_ghm %>%
    # extraction de la CMD du séjourr
    dplyr::mutate(cmd_rss = stringr::str_sub(ghm_rss,1,2)) %>%
    dplyr::left_join(diag_cmd %>% tidyr::unnest(diag_entree),
                     # jonction via dp et cmd. Rappel : plusieurs listes D possibles pour un DP
                     join_by(dp_rss == mco_fg_code, cmd_rss == mco_fg_cmd))
jeu_dp_ghm_liste_D
#> # A tibble: 12 x 7
#>    no_rss dp_rss ghm_rss annee_rss cmd_rss mco_fg_liste_code mco_fg_liste_lib   
#>     <int> <chr>  <chr>   <chr>     <chr>   <chr>             <chr>              
#>  1      1 I5010  05M091  2024      05      D-0505            Insuffisances card~
#>  2      2 S7220  08M041  2023      08      D-069             Certaines lésions ~~
#>  3      3 H269   02C05J  2023      02      D-0204            Autres affections ~
#>  4      4 Z380   15M05A  2024      15      NA                NA                 
#>  5      5 S7200  08C471  2023      08      D-069             Certaines lésions ~~
#>  6      6 S0600  01M201  2024      01      D-0121            Lésions crâniennes~s~
#>  7      7 R074   05M13T  2023      05      D-0508            Douleurs thoraciqu~
#>  8      8 J441   04M202  2023      04      D-0408            Bronchopneumopathi~
#>  9      9 K358   06C091  2024      06      D-0610            Autres affections ~
#> 10     10 R53+0  23M20Z  2024      23      D-2309            Autres motifs de r~
#> 11     11 S7200  08C471  2024      08      D-069             Certaines lésions ~~
#> 12     12 I5011  05M092  2023      05      D-0505            Insuffisances card~

Remarque : pas de libellé de liste D pour le DP Z380 “Enfant unique, né à l’hôpital” d’un séjour classé dans la CMD 15 “Nouveau-nés, prématurés et affections de la période périnatale” car, dans cette CMD, le groupage ne commence pas par le DP.

Sources

Manuel de groupage GHM 2024 - Volume 1 (ATIH)
TArifs MCO 2018-2024 (ATIH)
Arrêté tarifaire MCO 2023 (Ministère de la Santé - Arrêté 2023)
Arrêté tarifaire MCO 2022 (Ministère de la Santé - Arrêté 2022)
Arrêté tarifaire MCO 2021 (Ministère de la Santé - Arrêté 2021)
Arrêté tarifaire MCO 2020 (Ministère de la Santé - Arrêté 2020)
Arrêté tarifaire MCO 2019 (Ministère de la Santé - Arrêté 2019)
Arrêté tarifaire MCO 2018 (Ministère de la Santé - Arrêté 2018)
Regroupements des GHM et RGHM 2023 (ATIH)
OVALIDE MCO - Tables de référence 2024 (ATIH)
Données du volume 2 du manuel des GHS 2024 (ATIH)