Le package refpmsi comprend 14 référentiels liés aux GHM et GHS.

CMD

Intitulé du référentiel : cmd

Mise à jour : 7 juin 2021

Référentiel des libellés des CMD (Catégories Majeures de Diagnostics).
Le référentiel n’est pas annualisé car la liste des CMD est la même pour les années 2017à 2021.

Variables

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

GHS Public

Intitulé du référentiel : ghs_public

Mise à jour : 7 juin 2021

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

Référentiel annualisé au sens du PMSI MCO (2017 à 2021).

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

Variables

ghs = code GHS
ghm = code GHM
ghm_lib = libellé du GHM
ghm_bb = borne basse du GHM
ghm_bh = borne haute du GHM
ghs_tarif = tarif du GHS
ghs_forfait_exb = forfait EXB (variable utilisée jusqu’en 2016)
ghs_exb = tarif journalier EXB (EXtrême Bas)
ghs_exh = tarif journalier EXH (EXtrême Haut)
annee_pmsi = année PMSI de 2017 à 2021
ghs_intermediaire =
1 = GHS plein
2 = GHS intermédiaire
NA = ghs non concerné

#> Rows: 16,621
#> Columns: 11
#> $ ghs               <chr> "22", "5071", "23", "5071", "24", "5071", "25", "...
#> $ ghm               <chr> "01C031", "01C031", "01C032", "01C032", "01C033",...
#> $ ghm_lib           <chr> "Craniotomies pour traumatisme, âge supérieur à 1...
#> $ ghm_bb            <int> 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
#> $ ghm_bh            <int> 11, 0, 19, 0, 64, 0, 124, 0, 12, 12, 0, 20, 20, 0...
#> $ ghs_tarif         <dbl> 3741.72, 2806.29, 6643.92, 2806.29, 11988.80, 280...
#> $ ghs_forfait_exb   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
#> $ ghs_exb           <dbl> 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 405.49, 0.00,...
#> $ ghs_exh           <dbl> 110.67, 0.00, 91.45, 0.00, 70.95, 0.00, 300.97, 0...
#> $ annee_pmsi        <chr> "2021", "2021", "2021", "2021", "2021", "2021", "...
#> $ ghs_intermediaire <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...

Sources

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)
Arrêté tarifaire MCO 2017 (Ministère de la Santé - Arrêté 2017)

GHS Privé

Intitulé du référentiel : ghs_prive

Mise à jour : 7 juin 2021

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

Référentiel annualisé au sens du PMSI MCO (2017 à 2021).

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

Variables

ghs = code GHS
ghm = code GHM
ghm_lib = libellé du GHM
ghm_bb = borne basse du GHM
ghm_bh = borne haute du GHM
ghs_tarif = tarif du GHS
ghs_forfait_exb = forfait EXB (variable utilisée jusqu’en 2016)
ghs_exb = tarif journalier EXB (EXtrême Bas)
ghs_exh = tarif journalier EXH (EXtrême Haut)
annee_pmsi = année PMSI de 2017 à 2021
ghs_intermediaire =
1 = GHS plein
2 = GHS intermédiaire
NA = ghs non concerné

#> Rows: 16,286
#> Columns: 11
#> $ ghs               <chr> "22", "5071", "23", "5071", "24", "5071", "25", "...
#> $ ghm               <chr> "01C031", "01C031", "01C032", "01C032", "01C033",...
#> $ ghm_lib           <chr> "Craniotomies pour traumatisme, âge supérieur à 1...
#> $ ghm_bb            <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
#> $ ghm_bh            <int> 0, 0, 24, 0, 0, 0, 0, 0, 13, 13, 0, 31, 31, 0, 47...
#> $ ghs_tarif         <dbl> 1690.81, 1268.11, 3219.02, 1268.11, 7978.69, 1268...
#> $ ghs_forfait_exb   <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...
#> $ ghs_exb           <dbl> 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,...
#> $ ghs_exh           <dbl> 0.00, 0.00, 253.87, 0.00, 0.00, 0.00, 0.00, 0.00,...
#> $ annee_pmsi        <chr> "2021", "2021", "2021", "2021", "2021", "2021", "...
#> $ ghs_intermediaire <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N...

Sources

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)
Arrêté tarifaire MCO 2017 (Ministère de la Santé - Arrêté 2017)

GHM intermédiaire

Intitulé du référentiel : ghm_intermediaire

Mise à jour : 15 avril 2021

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

Référentiel annualisé depuis 2020 au sens PMSI MCO

Variables

#> Rows: 614
#> Columns: 4
#> $ ghm_intermediaire <chr> "01M04T", "01M05T", "01M07T", "01M08T", "01M09T",...
#> $ ghs_plein         <chr> "333", "212", "217", "222", "227", "232", "237", ...
#> $ ghs_intermediaire <chr> "348", "5006", "5007", "5008", "5009", "5010", "5...
#> $ annee_pmsi        <chr> "2021", "2021", "2021", "2021", "2021", "2021", "...

GHM mono-RUM UHCD Public

Intitulé du référentiel : ghm_monorum_uhcd_public

Mise à jour : 23 juin 2021

Référentiel des GHM avec GHS mono-RUM UHCD Public (secteur ex-DGF)

Référentiel annualisé depuis 2021 au sens PMSI MCO

Variables

#> Rows: 2,564
#> Columns: 4
#> $ ghs        <chr> "5071", "5071", "5071", "5071", "5072", "5072", "5072", ...
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C04...
#> $ ghs_tarif  <dbl> 2806.29, 2806.29, 2806.29, 2806.29, 4399.31, 4399.31, 43...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...

GHM mono-RUM UHCD Privé

Intitulé du référentiel : ghm_monorum_uhcd_prive

Mise à jour : 23 juin 2021

Référentiel des GHM avec GHS mono-RUM UHCD Privé (secteur ex-OQN)

Référentiel annualisé depuis 2021 au sens PMSI MCO

Variables

#> Rows: 2,530
#> Columns: 4
#> $ ghs        <chr> "5071", "5071", "5071", "5071", "5072", "5072", "5072", ...
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C04...
#> $ ghs_tarif  <dbl> 1268.11, 1268.11, 1268.11, 1268.11, 2040.16, 2040.16, 20...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...

Regroupements GHM

Intitulé du référentiel : ghm_regroupement

Mise à jour : 7 juin 2021

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.

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

Variables

ghm = code GHM
ghm_lib = libellé du GHM
aso = code ASO du GHM (Activité de SOins)
da = code DA du GHM
da_lib = libellé du DA
gp = code GP du GHM
gp_lib = libellé du GP
ga = code GA du GHM
ga_lib = 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 de 2017 à 2021

#> Rows: 12,965
#> Columns: 12
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C04...
#> $ ghm_lib    <chr> "Craniotomies pour traumatisme, âge supérieur à 17 ans, ...
#> $ aso        <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "...
#> $ da         <chr> "D05", "D05", "D05", "D05", "D05", "D05", "D05", "D05", ...
#> $ da_lib     <chr> "Système nerveux (hors cathétérismes vasculaires diagnos...
#> $ gp         <chr> "C02", "C02", "C02", "C02", "C02", "C02", "C02", "C02", ...
#> $ gp_lib     <chr> "Chirurgie du rachis, Neuro-chirurgie", "Chirurgie du ra...
#> $ ga         <chr> "G043", "G043", "G043", "G043", "G044", "G044", "G044", ...
#> $ ga_lib     <chr> "Chirurgies SNC trauma", "Chirurgies SNC trauma", "Chiru...
#> $ da_gp      <chr> "D05C02", "D05C02", "D05C02", "D05C02", "D05C02", "D05C0...
#> $ da_gp_ga   <chr> "D05C02G043", "D05C02G043", "D05C02G043", "D05C02G043", ...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...

Libellés des regroupements GHM

Intitulé du référentiel : ghm_regroupement_lib

Mise à jour : 7 juin 2021

Libellés des DA (Domaine d’Activité), GA (Groupe d’Activité) et GP (Groupe de Planification).

Le référentiel n’est pas annualisé. Il comprend tous les DA, GA et GP depuis 2017.

Variables

ghm_regroupement = type de regroupement GHM (da,ga,gp)
ghm_regroupement_code = code regroupement
ghm_regroupement_lib = libellé du code regroupement

#> Rows: 327
#> Columns: 3
#> $ ghm_regroupement      <chr> "da", "da", "da", "da", "da", "da", "da", "da...
#> $ ghm_regroupement_code <chr> "D01", "D02", "D03", "D04", "D05", "D06", "D0...
#> $ ghm_regroupement_lib  <chr> "Digestif", "Orthopédie traumatologie", "Trau...

Regroupements des racines de GHM

Intitulé du référentiel : rghm_regroupement

Mise à jour : 7 juin 2021

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.

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

Variables

rghm = code racine GHM
rghm_lib = libellé de la racine GHM
aso = code ASO de la racine GHM (Activité de SOins)
da = code DA de la racine GHM
da_lib = libellé du DA
gp = code GP de la racine GHM
gp_lib = libellé du GP
ga = code GA de la racine GHM
ga_lib = 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 de 2017 à 2021

#> Rows: 3,340
#> Columns: 12
#> $ rghm       <chr> "01C03", "01C04", "01C05", "01C06", "01C08", "01C09", "0...
#> $ rghm_lib   <chr> "Craniotomies pour traumatisme, âge supérieur à 17 ans",...
#> $ aso        <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "...
#> $ da         <chr> "D05", "D05", "D05", "D07", "D26", "D05", "D05", "D05", ...
#> $ da_lib     <chr> "Système nerveux (hors cathétérismes vasculaires diagnos...
#> $ gp         <chr> "C02", "C02", "C02", "C14", "C25", "C03", "C03", "C02", ...
#> $ gp_lib     <chr> "Chirurgie du rachis, Neuro-chirurgie", "Chirurgie du ra...
#> $ ga         <chr> "G043", "G044", "G041", "G074", "G179", "G045", "G045", ...
#> $ ga_lib     <chr> "Chirurgies SNC trauma", "Chirurgies SNC hors trauma (ra...
#> $ da_gp      <chr> "D05C02", "D05C02", "D05C02", "D07C14", "D26C25", "D05C0...
#> $ da_gp_ga   <chr> "D05C02G043", "D05C02G044", "D05C02G041", "D07C14G074", ...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...

OVALIDE - Table de référence GHMINFO_exDGF

Intitulé du référentiel : ovalide_ghminfo_dgf

Mise à jour : 7 juin 2021

Informations issues de la table GHMINFO_exDGF OVALIDE MCO. Les informations redondantes avec d’autres référentiels de refpmsi:: ne sont pas reprises (exemples : cma, bb, bh, …)

Référentiel, annualisé au sens du PMSI MCO.

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 de 2017 à 2021

#> Rows: 12,966
#> Columns: 11
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C04...
#> $ tghm       <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "...
#> $ dms        <dbl> 3.6912, 6.8735, 13.2672, 35.5264, 4.6837, 7.8226, 13.566...
#> $ pctdc      <dbl> 0.1425, 0.0435, 0.0602, 0.2040, 0.0301, 0.0206, 0.0425, ...
#> $ mage       <dbl> 61.2807, 67.4427, 69.5910, 57.0818, 57.0284, 57.5378, 61...
#> $ pctcourt   <dbl> 0.0000, 0.0000, 0.0000, 0.0405, 0.0000, 0.0000, 0.0000, ...
#> $ pvalo      <chr> "22", "23", "24", "25", "65", "66", "67", "68", "30", "3...
#> $ pctpvalo   <dbl> 0.9986, 1.0000, 1.0000, 1.0000, 0.0002, 0.0148, 0.0004, ...
#> $ pctcma4    <dbl> 0.1289, 0.1289, 0.1289, 0.1289, 0.1289, 0.1289, 0.1289, ...
#> $ pctautres  <dbl> 0.194, 0.194, 0.194, 0.194, 0.194, 0.194, 0.194, 0.194, ...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...

OVALIDE - Table de référence GHMINFO_exOQN

Intitulé du référentiel : ovalide_ghminfo_oqn

Mise à jour : 7 juin 2021

Informations issues de la table OVALIDE MCO, GHMINFO_exOQN. Les informations redondantes avec d’autres référentiels de refpmsi:: ne sont pas reprises (exemples : cma, bb, bh, …)

Référentiel annualisé au sens du PMSI MCO.

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 de 2017 à 2021

#> Rows: 12,966
#> Columns: 11
#> $ ghm        <chr> "01C031", "01C032", "01C033", "01C034", "01C041", "01C04...
#> $ tghm       <chr> "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "C", "...
#> $ dms        <dbl> 4.0857, 9.6825, 17.0426, 30.5143, 5.4904, 9.0899, 16.203...
#> $ pctdc      <dbl> 0.1389, 0.0159, 0.0851, 0.3889, 0.0035, 0.0042, 0.1168, ...
#> $ mage       <dbl> 64.6111, 73.5714, 74.8085, 64.2222, 60.4197, 63.7473, 64...
#> $ pctcourt   <dbl> 0.0000, 0.0000, 0.0000, 0.0558, 0.0000, 0.0000, 0.0000, ...
#> $ pvalo      <chr> "22", "23", "24", "25", "65", "66", "67", "68", "30", "3...
#> $ pctpvalo   <dbl> 1.0000, 1.0000, 1.0000, 1.0000, NA, NA, NA, NA, 1.0000, ...
#> $ pctcma4    <dbl> 0.0194, 0.0194, 0.0194, 0.0194, 0.0194, 0.0194, 0.0194, ...
#> $ pctautres  <dbl> 0.2208, 0.2208, 0.2208, 0.2208, 0.2208, 0.2208, 0.2208, ...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...

OVALIDE - Table de référence RacineINFO_exDGF

Intitulé du référentiel : ovalide_racineinfo_dgf

Mise à jour : 7 juin 2021

Informations issues de la table OVALIDE MCO, RacineINFO_exDGF.

Référentiel annualisé au sens du PMSI MCO.

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 de 2017 à 2021

#> Rows: 3,334
#> Columns: 12
#> $ rghm       <chr> "01C03", "01C04", "01C05", "01C06", "01C08", "01C09", "0...
#> $ pctdc      <dbl> 0.0902, 0.0553, 0.0142, 0.0041, 0.0094, 0.0033, NA, 0.01...
#> $ conf       <int> 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 3, 3,...
#> $ age2       <int> 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,...
#> $ pctcma2    <dbl> 0.7045, 0.5849, 0.4327, 0.3957, 0.2571, 0.1636, 0.1168, ...
#> $ pctcma3    <dbl> 0.3545, 0.2731, 0.2142, 0.0986, 0.0956, 0.0293, 0.0071, ...
#> $ pctexb     <dbl> 0.0203, 0.0210, 0.0137, 0.0016, 0.0055, 0.0000, 0.0000, ...
#> $ pctssacte  <dbl> 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, ...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...
#> $ app        <chr> NA, NA, NA, NA, NA, NA, NA, "XXXXX", "01C11", NA, NA, "0...
#> $ pctapp     <dbl> NA, NA, NA, NA, NA, NA, NA, 0.3568, NA, NA, NA, NA, NA, ...

OVALIDE - Table de référence RacineINFO_exOQN

Intitulé du référentiel : ovalide_racineinfo_oqn

Mise à jour : 7 juin 2021

Informations issues de la table OVALIDE MCO, RacineINFO_exOQN.

Référentiel annualisé au sens du PMSI MCO.

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 de 2017 à 2021

#> Rows: 3,276
#> Columns: 12
#> $ rghm       <chr> "01C03", "01C04", "01C05", "01C06", "01C08", "01C09", "0...
#> $ pctdc      <dbl> 0.1250, 0.0296, 0.0042, 0.0031, 0.0064, NA, 0.0016, NA, ...
#> $ conf       <int> 1, 1, 1, 1, 0, 1, 0, 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,...
#> $ age69      <int> 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 2, 3, 3, 0,...
#> $ pctcma2    <dbl> 0.6230, 0.4484, 0.2149, 0.2901, 0.1250, NA, 0.0273, 0.00...
#> $ pctcma3    <dbl> 0.2824, 0.1597, 0.0780, 0.0445, 0.0303, NA, 0.0051, 0.00...
#> $ pctexb     <dbl> 0.0000, 0.0063, 0.0009, 0.0007, 0.0000, 0.0000, 0.0000, ...
#> $ pctssacte  <dbl> 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, ...
#> $ annee_pmsi <chr> "2021", "2021", "2021", "2021", "2021", "2021", "2021", ...
#> $ app        <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "01K07", NA, NA,...
#> $ pctapp     <dbl> 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

Référentiel annualisé au sens du PMSI MCO à partir de 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 2021

#> Rows: 55,409
#> Columns: 8
#> $ mco_fg_liste_code          <chr> "A-002", "A-002", "A-002", "A-002", "A-0...
#> $ mco_fg_liste_lib           <chr> "Craniotomies", "Craniotomies", "Craniot...
#> $ mco_fg_liste_type          <chr> "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", "AAFA00...
#> $ 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", ...
#> $ annee_pmsi                 <chr> "2021", "2021", "2021", "2021", "2021", ...

Exemples

Chargement du référentiel des GHS Public des années 2020 et 2021

# Chargement du référentiel des GHS-GHM Public des années 2020 et 2021
ghs_2020_2021 <- refpmsi::refpmsi("ghs_public",2020:2021)
ghs_2020_2021
#> # A tibble: 8,562 x 11
#>    ghs   ghm   ghm_lib ghm_bb ghm_bh ghs_tarif ghs_forfait_exb ghs_exb ghs_exh
#>    <chr> <chr> <chr>    <int>  <int>     <dbl>           <int>   <dbl>   <dbl>
#>  1 22    01C0~ Cranio~      0     11     3742.               0      0    111. 
#>  2 5071  01C0~ Cranio~      0      0     2806.               0      0      0  
#>  3 23    01C0~ Cranio~      0     19     6644.               0      0     91.4
#>  4 5071  01C0~ Cranio~      0      0     2806.               0      0      0  
#>  5 24    01C0~ Cranio~      0     64    11989.               0      0     71.0
#>  6 5071  01C0~ Cranio~      0      0     2806.               0      0      0  
#>  7 25    01C0~ Cranio~     12    124    16246.               0    405.   301. 
#>  8 5071  01C0~ Cranio~      0      0     2806.               0      0      0  
#>  9 26    01C0~ Cranio~      0     12     5866.               0      0    136. 
#> 10 65    01C0~ Cranio~      0     12    12962.               0      0    136. 
#> # ... with 8,552 more rows, and 2 more variables: annee_pmsi <chr>,
#> #   ghs_intermediaire <chr>

Rattachement du libellé GHM aux GHM

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  2020     
#>  2      1      2 08C321 S8220      3 2808  2019     
#>  3      1      3 04M053 J181      10 1144  2019     
#>  4      1      4 05M092 I5001      7 1754  2020     
#>  5      1      5 06M12T R104       0 2200  2020     
#>  6      1      6 04M053 J181       0 1144  2019     
#>  7      1      7 20Z041 F102      29 7267  2019     
#>  8      1      8 08K041 S730       2 3033  2020     
#>  9      1      9 01M201 S0600      3 268   2019     
#> 10      1     10 06M12T R104       0 2206  2020     
#> 11      1     11 05M092 I5009      2 1754  2019     
#> 12      2     11 05M092 I472       1 1754  2019     
#> 13      1     12 04M053 J189       2 1144  2020     
#> 14      2     12 04M053 J960      11 1144  2020     
#> 15      3     12 04M053 J189      11 1144  2020     
#> 16      1     13 16M11T D508       0 6186  2020     
#> 17      1     14 16M11T D509       0 6118  2020
# chargement des GHM Public 2019 et 2020
ghm_2019_2020 <- refpmsi::refpmsi("ghs_public",2019:2020)

jeu_ghm_libelle <- jeu_ghm %>%
  # rattachement des libellés aux GHM via la jointure (ghs, annee_pmsi)
  dplyr::left_join(ghm_2019_2020 %>%
                     dplyr::select(ghs,ghm_lib,annee_pmsi),
                   by = c("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_lib                    
#>     <dbl>  <dbl> <chr>  <chr>  <int> <chr> <chr>     <chr>                      
#>  1      1      1 06K02Z D122       0 2119  2020      Endoscopies digestives thé~
#>  2      1      2 08C321 S8220      3 2808  2019      Interventions sur la jambe~
#>  3      1      3 04M053 J181      10 1144  2019      Pneumonies et pleurésies b~
#>  4      1      4 05M092 I5001      7 1754  2020      Insuffisances cardiaques e~
#>  5      1      5 06M12T R104       0 2200  2020      Douleurs abdominales, très~
#>  6      1      6 04M053 J181       0 1144  2019      Pneumonies et pleurésies b~
#>  7      1      7 20Z041 F102      29 7267  2019      Ethylisme avec dépendance,~
#>  8      1      8 08K041 S730       2 3033  2020      Tractions continues et réd~
#>  9      1      9 01M201 S0600      3 268   2019      Commotions cérébrales, niv~
#> 10      1     10 06M12T R104       0 2206  2020      Douleurs abdominales, très~
#> 11      1     11 05M092 I5009      2 1754  2019      Insuffisances cardiaques e~
#> 12      2     11 05M092 I472       1 1754  2019      Insuffisances cardiaques e~
#> 13      1     12 04M053 J189       2 1144  2020      Pneumonies et pleurésies b~
#> 14      2     12 04M053 J960      11 1144  2020      Pneumonies et pleurésies b~
#> 15      3     12 04M053 J189      11 1144  2020      Pneumonies et pleurésies b~
#> 16      1     13 16M11T D508       0 6186  2020      Autres troubles de la lign~
#> 17      1     14 16M11T D509       0 6118  2020      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 nationales des années PMSI 2019 et 2020
dms_nat <- refpmsi::refpmsi("ovalide_ghminfo_dgf",2019:2020) %>%
  dplyr::select(ghm,dms,annee_pmsi)
dms_nat

jeu_ghm_dms <- jeu_ghm %>%
  # rattachement des DMS OVALIDE
  dplyr::left_join(dms_nat, by = c("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  2020       0.121    -0.121
#>  2      1      2 08C321 S8220      3 2808  2019       3.19     -0.195
#>  3      1      3 04M053 J181      10 1144  2019      11.3      -1.30 
#>  4      1      4 05M092 I5001      7 1754  2020       8.02     -1.02 
#>  5      1      5 06M12T R104       0 2200  2020       0.570    -0.570
#>  6      1      6 04M053 J181       0 1144  2019      11.3     -11.3  
#>  7      1      7 20Z041 F102      29 7267  2019       9.07     19.9  
#>  8      1      8 08K041 S730       2 3033  2020       4.83     -2.83 
#>  9      1      9 01M201 S0600      3 268   2019       0.694     2.31 
#> 10      1     10 06M12T R104       0 2206  2020       0.570    -0.570
#> 11      1     11 05M092 I5009      2 1754  2019       8.04     -6.04 
#> 12      2     11 05M092 I472       1 1754  2019       8.04     -7.04 
#> 13      1     12 04M053 J189       2 1144  2020      11.1      -9.12 
#> 14      2     12 04M053 J960      11 1144  2020      11.1      -0.120
#> 15      3     12 04M053 J189      11 1144  2020      11.1      -0.120
#>    ratio_ecart_dms
#>              <dbl>
#>  1           NA   
#>  2            0.94
#>  3            0.89
#>  4            0.87
#>  5           NA   
#>  6           NA   
#>  7            3.2 
#>  8            0.41
#>  9            4.32
#> 10           NA   
#> 11            0.25
#> 12            0.12
#> 13            0.18
#> 14            0.99
#> 15            0.99
#> # ... with 2 more rows

Enfin, on peut 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.

sej_2.5_dms <- jeu_ghm_dms %>%
  dplyr::filter(ratio_ecart_dms >= 2.5)
sej_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  2019      9.07      19.9 
#> 2      1      9 01M201 S0600      3 268   2019      0.694      2.31
#>   ratio_ecart_dms
#>             <dbl>
#> 1            3.2 
#> 2            4.32

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

case_mix_da <- jeu_ghm %>%
  # rattachement des codes DA aux séjours
  dplyr::left_join(refpmsi::refpmsi("ghm_regroupement",2019:2020) %>%
                     dplyr::select(ghm,da,da_lib,annee_pmsi),
                   by = c("ghm"= "ghm", "annee_rss" = "annee_pmsi")) %>%
  # regroupement en DA
  group_by(da,da_lib) %>%
  # calcul du nombre de RUM par DA
  # calcul du nombre de séjours par DA
  dplyr::summarise(n_rum = dplyr::n(),
                   n_sej = dplyr::n_distinct(no_rss),
                   .groups = "drop")
case_mix_da
#> # A tibble: 7 x 4
#>   da    da_lib                                                       n_rum n_sej
#> * <chr> <chr>                                                        <int> <int>
#> 1 D01   Digestif                                                         3     3
#> 2 D02   Orthopédie traumatologie                                         2     2
#> 3 D05   Système nerveux (hors cathétérismes vasculaires diagnostiqu~     1     1
#> 4 D07   Cardio-vasculaire (hors cathétérismes vasculaires diagnosti~     3     2
#> 5 D09   Pneumologie                                                      5     3
#> 6 D16   Hématologie                                                      2     2
#> 7 D23   Toxicologie, Intoxications, Alcool                               1     1

Séjours et gradation des prises en charge ambulatoires

Dans un premier temps, on repère les séjours groupés dans un GHM concerné par la gradation des prises en charge ambulatoires et on rattache le GHS plein et le GHS intermédiaire.

sej_ghm_gradation_ambulatoire <- jeu_ghm %>%
  # filtre sur l'année 2020, seule année concernée dans notre data set
  dplyr::filter(annee_rss == 2020) %>%
  # rattachement GHS plein et GHS intermédiaire pour les GHM concernés
  dplyr::left_join(refpmsi::refpmsi("ghm_intermediaire"),
                   by = c("ghm" = "ghm_intermediaire", "annee_rss" = "annee_pmsi")) %>%
  # filtre sur les séjours concernés
  dplyr::filter(!is.na(ghs_plein))
sej_ghm_gradation_ambulatoire
#> # A tibble: 4 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      5 06M12T R104       0 2200  2020      2200      2206             
#> 2      1     10 06M12T R104       0 2206  2020      2200      2206             
#> 3      1     13 16M11T D508       0 6186  2020      6186      6118             
#> 4      1     14 16M11T D509       0 6118  2020      6186      6118

Dans un second temps, on repère les seuls séjours classés dans un GHS intermédiaire

sej_ghs_intermediaire <- sej_ghm_gradation_ambulatoire %>%
  # filtre sur les séjours dont le GHS = le GHS intermédiaire associé
  dplyr::filter(ghs == ghs_intermediaire)
sej_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  2020      2200      2206             
#> 2      1     14 16M11T D509       0 6118  2020      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 MCO V2021
mco_fg_listes <- refpmsi::refpmsi("mco_fg_listes",2021)
mco_fg_listes
#> # A tibble: 55,409 x 8
#>    mco_fg_liste_co~ mco_fg_liste_lib mco_fg_liste_ty~ 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    
#> # ... with 55,399 more rows, and 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 D
  dplyr::select(-contains("ccam"),-mco_fg_liste_type,-annee_pmsi) %>%
  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 identique 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_listes
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éordonnancement 
  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ées
#>  2 G430        01         D-0101            Migraines et céphalées
#>  3 G431        01         D-0101            Migraines et céphalées
#>  4 G432        01         D-0101            Migraines et céphalées
#>  5 G433        01         D-0101            Migraines et céphalées
#>  6 G438        01         D-0101            Migraines et céphalées
#>  7 G439        01         D-0101            Migraines et céphalées
#>  8 G440        01         D-0101            Migraines et céphalées
#>  9 G441        01         D-0101            Migraines et céphalées
#> 10 G442        01         D-0101            Migraines et céphalées
#> # ... with 893 more rows

Rattachement des libellés des listes D aux DP

Niveau R avancé

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  2020     
#>  2      2 S7220  08M041  2021     
#>  3      3 H269   02C05J  2021     
#>  4      4 Z380   15M05A  2020     
#>  5      5 S7200  08C471  2020     
#>  6      6 S0600  01M201  2020     
#>  7      7 R074   05M13T  2021     
#>  8      8 J441   04M202  2021     
#>  9      9 K358   06C091  2020     
#> 10     10 R53+0  23M20Z  2021     
#> 11     11 S7200  08C471  2020     
#> 12     12 I5011  05M092  2020

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_listes
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_by
  dplyr::ungroup() %>%
  # traitement de la list_column des diags d'entrée
  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]>  
#> # ... with 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éjour
  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
                            by = c("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  2020      05      D-0505            Insuffisances card~
#>  2      2 S7220  08M041  2021      08      D-069             Certaines lésions ~
#>  3      3 H269   02C05J  2021      02      D-0204            Autres affections ~
#>  4      4 Z380   15M05A  2020      15      <NA>              <NA>               
#>  5      5 S7200  08C471  2020      08      D-069             Certaines lésions ~
#>  6      6 S0600  01M201  2020      01      D-0121            Lésions crâniennes~
#>  7      7 R074   05M13T  2021      05      D-0508            Douleurs thoraciqu~
#>  8      8 J441   04M202  2021      04      D-0408            Bronchopneumopathi~
#>  9      9 K358   06C091  2020      06      D-0610            Autres affections ~
#> 10     10 R53+0  23M20Z  2021      23      D-2309            Autres motifs de r~
#> 11     11 S7200  08C471  2020      08      D-069             Certaines lésions ~
#> 12     12 I5011  05M092  2020      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.