Browse Source

Première release

Ali 4 years ago
commit
872a5118aa
84 changed files with 235 additions and 0 deletions
  1. 81 0
      .ipynb_checkpoints/refpypmsi-checkpoint.py
  2. 2 0
      CHANGES.txt
  3. 2 0
      MANIFEST.in
  4. 18 0
      README.md
  5. 0 0
      __init__.py
  6. BIN
      __pycache__/refpypmsi.cpython-37.pyc
  7. BIN
      inst/referentiels/UCD.json.gz
  8. BIN
      inst/referentiels/UCD_indication.json.gz
  9. BIN
      inst/referentiels/atu.json.gz
  10. BIN
      inst/referentiels/autorisation_mco.json.gz
  11. BIN
      inst/referentiels/autorisation_ssr.json.gz
  12. BIN
      inst/referentiels/base_mco_ccam.json.gz
  13. BIN
      inst/referentiels/base_mco_diag.json.gz
  14. BIN
      inst/referentiels/base_mco_ghs.json.gz
  15. BIN
      inst/referentiels/base_ssr_ae.json.gz
  16. BIN
      inst/referentiels/base_ssr_ccam.json.gz
  17. BIN
      inst/referentiels/base_ssr_csarr.json.gz
  18. BIN
      inst/referentiels/base_ssr_das.json.gz
  19. BIN
      inst/referentiels/base_ssr_mp.json.gz
  20. BIN
      inst/referentiels/ccam_classant.json.gz
  21. BIN
      inst/referentiels/ccam_codification.json.gz
  22. BIN
      inst/referentiels/ccam_icr.json.gz
  23. BIN
      inst/referentiels/ccam_pmsi.json.gz
  24. BIN
      inst/referentiels/ccam_regroupement.json.gz
  25. BIN
      inst/referentiels/ccam_ssr_cma.json.gz
  26. BIN
      inst/referentiels/ccam_ssr_ponderation.json.gz
  27. BIN
      inst/referentiels/cim.json.gz
  28. BIN
      inst/referentiels/cim_chapitre.json.gz
  29. BIN
      inst/referentiels/cim_groupe.json.gz
  30. BIN
      inst/referentiels/cim_polyhandicap.json.gz
  31. BIN
      inst/referentiels/cim_precarite.json.gz
  32. BIN
      inst/referentiels/cm.json.gz
  33. BIN
      inst/referentiels/cma_mco.json.gz
  34. BIN
      inst/referentiels/cma_ssr.json.gz
  35. BIN
      inst/referentiels/cmd.json.gz
  36. BIN
      inst/referentiels/csarr_code.json.gz
  37. BIN
      inst/referentiels/csarr_codification.json.gz
  38. BIN
      inst/referentiels/csarr_eval.json.gz
  39. BIN
      inst/referentiels/csarr_extdoc.json.gz
  40. BIN
      inst/referentiels/csarr_gestcomp.json.gz
  41. BIN
      inst/referentiels/csarr_hier.json.gz
  42. BIN
      inst/referentiels/csarr_incompatibilite_intervenant.json.gz
  43. BIN
      inst/referentiels/csarr_intervenant.json.gz
  44. BIN
      inst/referentiels/csarr_modulateur.json.gz
  45. BIN
      inst/referentiels/csarr_ponderation.json.gz
  46. BIN
      inst/referentiels/csarr_ref.json.gz
  47. BIN
      inst/referentiels/dmi_en_sus.json.gz
  48. BIN
      inst/referentiels/dpt_region.json.gz
  49. BIN
      inst/referentiels/ghm_regroupement.json.gz
  50. BIN
      inst/referentiels/ghm_regroupement_lib.json.gz
  51. BIN
      inst/referentiels/ghs_dgf.json.gz
  52. BIN
      inst/referentiels/ghs_oqn.json.gz
  53. BIN
      inst/referentiels/ght_dgf.json.gz
  54. BIN
      inst/referentiels/ght_oqn.json.gz
  55. BIN
      inst/referentiels/gme_dgf.json.gz
  56. BIN
      inst/referentiels/gme_oqn.json.gz
  57. BIN
      inst/referentiels/gn.json.gz
  58. BIN
      inst/referentiels/had.json.gz
  59. BIN
      inst/referentiels/liste_refpmsi.json.gz
  60. BIN
      inst/referentiels/lpp.json.gz
  61. BIN
      inst/referentiels/me_ms_had.json.gz
  62. BIN
      inst/referentiels/me_ms_mco.json.gz
  63. BIN
      inst/referentiels/me_ms_psy.json.gz
  64. BIN
      inst/referentiels/me_ms_ssr.json.gz
  65. BIN
      inst/referentiels/open_ccam.json.gz
  66. BIN
      inst/referentiels/ovalide_ccaminfo.json.gz
  67. BIN
      inst/referentiels/ovalide_diaginfo.json.gz
  68. BIN
      inst/referentiels/ovalide_ghminfo_dgf.json.gz
  69. BIN
      inst/referentiels/ovalide_ghminfo_oqn.json.gz
  70. BIN
      inst/referentiels/ovalide_racineinfo_dgf.json.gz
  71. BIN
      inst/referentiels/ovalide_racineinfo_oqn.json.gz
  72. BIN
      inst/referentiels/psy.json.gz
  73. BIN
      inst/referentiels/rghm_regroupement.json.gz
  74. BIN
      inst/referentiels/rgme.json.gz
  75. BIN
      inst/referentiels/spe_pharma_ssr.json.gz
  76. BIN
      inst/referentiels/supp_dgf.json.gz
  77. BIN
      inst/referentiels/supp_oqn.json.gz
  78. 27 0
      refpypmsi.egg-info/PKG-INFO
  79. 8 0
      refpypmsi.egg-info/SOURCES.txt
  80. 1 0
      refpypmsi.egg-info/dependency_links.txt
  81. 1 0
      refpypmsi.egg-info/top_level.txt
  82. 81 0
      refpypmsi.py
  83. 1 0
      requirements.txt
  84. 13 0
      setup.py

+ 81 - 0
.ipynb_checkpoints/refpypmsi-checkpoint.py

@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# #
+# refpypmsi - Implémentation en python de refpmsi
+# @https://github.com/denisGustin/refpmsi refpmsi est un package crée par denisGustin
+# Ce package est sous license GPL
+# #
+
+import os
+import pandas as pd
+
+chemin_module = os.path.dirname(os.path.abspath(__file__))
+
+def refpypmsi (referentiel = '', periodepmsi = '', ignorer_periode_manquante = True):
+
+    '''
+        referentiel - fonction de récupération d'un référenciel
+
+        inputs :
+            referentiel, str : nom du référentiel à extraire, la liste des référentiels disponibles est accessible par la commande liste_refpypmsi
+            periodepmsi, int : année du référentiel, si l'année n'existe pas où le référentiel n'est pas daté, l'année est ignoré et l'ensemble des données sont retournés. Ce comportement peut être modifié à l'aide de l'option ignorer_periode_manquante.
+            ignorer_periode_manquante, boolean : si False, une erreur est renvoyé lorsque l'année sélectionnée n'existe pas, autrement, aucune l'erreur est ignoré et l'ensemble des données disponibles sont renvoyés.
+
+        output :
+            Pandas Dataframe : dataframe contenant le référentiel sélectionné
+    '''
+    
+    chemin_refentiel = "/".join([
+        chemin_module,
+        'inst/referentiels',
+        referentiel+".json.gz"
+    ])
+
+    if (os.path.exists(chemin_refentiel) == False):
+        # Déclenchement de l'erreur
+        if referentiel != 'liste_refpmsi':
+             # Referentiels attendus
+            liste_referentiels = liste_refpypmsi()
+            
+            raise Exception("Référentiel invalide. Devrait être l'un des suivants : {}".format(
+                ", ".join(liste_referentiels)
+            ))
+        else:
+            raise Exception("Liste de référentiels inexistante, essayez de ré-installer le package.")
+
+
+    # Chargement du référentiel
+    donnees_referentiel = pd.read_json(chemin_refentiel)
+
+    # Filtre par année quand nécessaire
+    if (periodepmsi != ''):
+        if type(periodepmsi) != type(list()):
+            periodepmsi = [periodepmsi] # On s'assure que c'est une liste
+        periodepmsi = [int(x) for x in periodepmsi] # On s'assure que c'est du int
+
+        if (('anpmsi' not in donnees_referentiel.columns) or (sum(donnees_referentiel["anpmsi"].isin(periodepmsi)) > 0)):
+            donnees_referentiel = donnees_referentiel[donnees_referentiel["anpmsi"].isin(periodepmsi)] \
+                                    .reset_index(drop = True)
+        else:
+            if ignorer_periode_manquante == False:
+                raise Exception("Année de référentiel invalide.")
+
+    # On retourne le référentiel
+    return(donnees_referentiel)
+
+def liste_refpypmsi():
+    '''
+        liste_refpypmsi - Fonction qui renvoie la liste des référentiels existants
+
+        output :
+            Pandas Dataframe : dataframe contenant la liste des référentiels existants
+    '''
+    
+    liste_referentiels = refpypmsi("liste_refpmsi")
+
+    return(liste_referentiels)
+
+def refpmsi(referentiel = '', periodepmsi = '', ignorer_periode_manquante = True, chemin = ''):
+    return refpypmsi(referentiel=referentiel, periodepmsi=periodepmsi, ignorer_periode_manquante=ignorer_periode_manquante)
+
+def liste_refpmsi():
+    return liste_refpypmsi()

+ 2 - 0
CHANGES.txt

@@ -0,0 +1,2 @@
+1.0 : Première version
+    @TODO : Ne pas inclure les référentiels mais les télécharger depuis le git de refpmsi afin de garantir qu'ils soient toujours à jour

+ 2 - 0
MANIFEST.in

@@ -0,0 +1,2 @@
+include README.md
+include CHANGES.txt

+ 18 - 0
README.md

@@ -0,0 +1,18 @@
+# refpypmsi
+
+Il s'agit d'une implémentation en Python de la librairie R refpmsi.
+La librairie refpmsi est disponible à l'adresse suivante : https://github.com/denisGustin/refpmsi
+
+Dernière mise à jour : 07 août 2020
+
+## Installation
+
+```
+    git clone https://gogs.alibellamine.me/alibell/refpypmsi.git
+    cd refpypmsi
+    pip install -e .
+```
+
+## Utilisation
+
+Se reporter au [manuel d'utilisation de refpmsi](https://denisgustin.github.io/refpmsi/articles/fonctions_refpmsi.html).

+ 0 - 0
__init__.py


BIN
__pycache__/refpypmsi.cpython-37.pyc


BIN
inst/referentiels/UCD.json.gz


BIN
inst/referentiels/UCD_indication.json.gz


BIN
inst/referentiels/atu.json.gz


BIN
inst/referentiels/autorisation_mco.json.gz


BIN
inst/referentiels/autorisation_ssr.json.gz


BIN
inst/referentiels/base_mco_ccam.json.gz


BIN
inst/referentiels/base_mco_diag.json.gz


BIN
inst/referentiels/base_mco_ghs.json.gz


BIN
inst/referentiels/base_ssr_ae.json.gz


BIN
inst/referentiels/base_ssr_ccam.json.gz


BIN
inst/referentiels/base_ssr_csarr.json.gz


BIN
inst/referentiels/base_ssr_das.json.gz


BIN
inst/referentiels/base_ssr_mp.json.gz


BIN
inst/referentiels/ccam_classant.json.gz


BIN
inst/referentiels/ccam_codification.json.gz


BIN
inst/referentiels/ccam_icr.json.gz


BIN
inst/referentiels/ccam_pmsi.json.gz


BIN
inst/referentiels/ccam_regroupement.json.gz


BIN
inst/referentiels/ccam_ssr_cma.json.gz


BIN
inst/referentiels/ccam_ssr_ponderation.json.gz


BIN
inst/referentiels/cim.json.gz


BIN
inst/referentiels/cim_chapitre.json.gz


BIN
inst/referentiels/cim_groupe.json.gz


BIN
inst/referentiels/cim_polyhandicap.json.gz


BIN
inst/referentiels/cim_precarite.json.gz


BIN
inst/referentiels/cm.json.gz


BIN
inst/referentiels/cma_mco.json.gz


BIN
inst/referentiels/cma_ssr.json.gz


BIN
inst/referentiels/cmd.json.gz


BIN
inst/referentiels/csarr_code.json.gz


BIN
inst/referentiels/csarr_codification.json.gz


BIN
inst/referentiels/csarr_eval.json.gz


BIN
inst/referentiels/csarr_extdoc.json.gz


BIN
inst/referentiels/csarr_gestcomp.json.gz


BIN
inst/referentiels/csarr_hier.json.gz


BIN
inst/referentiels/csarr_incompatibilite_intervenant.json.gz


BIN
inst/referentiels/csarr_intervenant.json.gz


BIN
inst/referentiels/csarr_modulateur.json.gz


BIN
inst/referentiels/csarr_ponderation.json.gz


BIN
inst/referentiels/csarr_ref.json.gz


BIN
inst/referentiels/dmi_en_sus.json.gz


BIN
inst/referentiels/dpt_region.json.gz


BIN
inst/referentiels/ghm_regroupement.json.gz


BIN
inst/referentiels/ghm_regroupement_lib.json.gz


BIN
inst/referentiels/ghs_dgf.json.gz


BIN
inst/referentiels/ghs_oqn.json.gz


BIN
inst/referentiels/ght_dgf.json.gz


BIN
inst/referentiels/ght_oqn.json.gz


BIN
inst/referentiels/gme_dgf.json.gz


BIN
inst/referentiels/gme_oqn.json.gz


BIN
inst/referentiels/gn.json.gz


BIN
inst/referentiels/had.json.gz


BIN
inst/referentiels/liste_refpmsi.json.gz


BIN
inst/referentiels/lpp.json.gz


BIN
inst/referentiels/me_ms_had.json.gz


BIN
inst/referentiels/me_ms_mco.json.gz


BIN
inst/referentiels/me_ms_psy.json.gz


BIN
inst/referentiels/me_ms_ssr.json.gz


BIN
inst/referentiels/open_ccam.json.gz


BIN
inst/referentiels/ovalide_ccaminfo.json.gz


BIN
inst/referentiels/ovalide_diaginfo.json.gz


BIN
inst/referentiels/ovalide_ghminfo_dgf.json.gz


BIN
inst/referentiels/ovalide_ghminfo_oqn.json.gz


BIN
inst/referentiels/ovalide_racineinfo_dgf.json.gz


BIN
inst/referentiels/ovalide_racineinfo_oqn.json.gz


BIN
inst/referentiels/psy.json.gz


BIN
inst/referentiels/rghm_regroupement.json.gz


BIN
inst/referentiels/rgme.json.gz


BIN
inst/referentiels/spe_pharma_ssr.json.gz


BIN
inst/referentiels/supp_dgf.json.gz


BIN
inst/referentiels/supp_oqn.json.gz


+ 27 - 0
refpypmsi.egg-info/PKG-INFO

@@ -0,0 +1,27 @@
+Metadata-Version: 1.0
+Name: refpypmsi
+Version: 1.0
+Summary: Implémentation en Python de la librairie refpmsi (https://github.com/denisGustin/refpmsi).
+Home-page: UNKNOWN
+Author: Ali BELLAMINE
+Author-email: contact@alibellamine.me
+License: UNKNOWN
+Description: # refpypmsi
+        
+        Il s'agit d'une implémentation en Python de la librairie R refpmsi.
+        La librairie refpmsi est disponible à l'adresse suivante : https://github.com/denisGustin/refpmsi
+        
+        Dernière mise à jour : 07 août 2020
+        
+        ## Installation
+        
+        ```
+            git clone https://gogs.alibellamine.me/alibell/refpypmsi.git
+            cd refpypmsi
+            pip install -e .
+        ```
+        
+        ## Utilisation
+        
+        Se reporter au [manuel d'utilisation de refpmsi](https://denisgustin.github.io/refpmsi/articles/fonctions_refpmsi.html).
+Platform: UNKNOWN

+ 8 - 0
refpypmsi.egg-info/SOURCES.txt

@@ -0,0 +1,8 @@
+CHANGES.txt
+MANIFEST.in
+README.md
+setup.py
+refpypmsi.egg-info/PKG-INFO
+refpypmsi.egg-info/SOURCES.txt
+refpypmsi.egg-info/dependency_links.txt
+refpypmsi.egg-info/top_level.txt

+ 1 - 0
refpypmsi.egg-info/dependency_links.txt

@@ -0,0 +1 @@
+

+ 1 - 0
refpypmsi.egg-info/top_level.txt

@@ -0,0 +1 @@
+

+ 81 - 0
refpypmsi.py

@@ -0,0 +1,81 @@
+# -*- coding: utf-8 -*-
+# #
+# refpypmsi - Implémentation en python de refpmsi
+# @https://github.com/denisGustin/refpmsi refpmsi est un package crée par denisGustin
+# Ce package est sous license GPL
+# #
+
+import os
+import pandas as pd
+
+chemin_module = os.path.dirname(os.path.abspath(__file__))
+
+def refpypmsi (referentiel = '', periodepmsi = '', ignorer_periode_manquante = True):
+
+    '''
+        referentiel - fonction de récupération d'un référenciel
+
+        inputs :
+            referentiel, str : nom du référentiel à extraire, la liste des référentiels disponibles est accessible par la commande liste_refpypmsi
+            periodepmsi, int : année du référentiel, si l'année n'existe pas où le référentiel n'est pas daté, l'année est ignoré et l'ensemble des données sont retournés. Ce comportement peut être modifié à l'aide de l'option ignorer_periode_manquante.
+            ignorer_periode_manquante, boolean : si False, une erreur est renvoyé lorsque l'année sélectionnée n'existe pas, autrement, aucune l'erreur est ignoré et l'ensemble des données disponibles sont renvoyés.
+
+        output :
+            Pandas Dataframe : dataframe contenant le référentiel sélectionné
+    '''
+    
+    chemin_refentiel = "/".join([
+        chemin_module,
+        'inst/referentiels',
+        referentiel+".json.gz"
+    ])
+
+    if (os.path.exists(chemin_refentiel) == False):
+        # Déclenchement de l'erreur
+        if referentiel != 'liste_refpmsi':
+             # Referentiels attendus
+            liste_referentiels = liste_refpypmsi()
+            
+            raise Exception("Référentiel invalide. Devrait être l'un des suivants : {}".format(
+                ", ".join(liste_referentiels)
+            ))
+        else:
+            raise Exception("Liste de référentiels inexistante, essayez de ré-installer le package.")
+
+
+    # Chargement du référentiel
+    donnees_referentiel = pd.read_json(chemin_refentiel)
+
+    # Filtre par année quand nécessaire
+    if (periodepmsi != ''):
+        if type(periodepmsi) != type(list()):
+            periodepmsi = [periodepmsi] # On s'assure que c'est une liste
+        periodepmsi = [int(x) for x in periodepmsi] # On s'assure que c'est du int
+
+        if (('anpmsi' not in donnees_referentiel.columns) or (sum(donnees_referentiel["anpmsi"].isin(periodepmsi)) > 0)):
+            donnees_referentiel = donnees_referentiel[donnees_referentiel["anpmsi"].isin(periodepmsi)] \
+                                    .reset_index(drop = True)
+        else:
+            if ignorer_periode_manquante == False:
+                raise Exception("Année de référentiel invalide.")
+
+    # On retourne le référentiel
+    return(donnees_referentiel)
+
+def liste_refpypmsi():
+    '''
+        liste_refpypmsi - Fonction qui renvoie la liste des référentiels existants
+
+        output :
+            Pandas Dataframe : dataframe contenant la liste des référentiels existants
+    '''
+    
+    liste_referentiels = refpypmsi("liste_refpmsi")
+
+    return(liste_referentiels)
+
+def refpmsi(referentiel = '', periodepmsi = '', ignorer_periode_manquante = True, chemin = ''):
+    return refpypmsi(referentiel=referentiel, periodepmsi=periodepmsi, ignorer_periode_manquante=ignorer_periode_manquante)
+
+def liste_refpmsi():
+    return liste_refpypmsi()

+ 1 - 0
requirements.txt

@@ -0,0 +1 @@
+pandas

+ 13 - 0
setup.py

@@ -0,0 +1,13 @@
+from setuptools import setup, find_packages
+ 
+ 
+setup(name='refpypmsi',
+ 
+      version='1.0',
+      license='',
+      author='Ali BELLAMINE',
+      author_email='contact@alibellamine.me',
+      description='Implémentation en Python de la librairie refpmsi (https://github.com/denisGustin/refpmsi).',
+      packages=find_packages(),
+      long_description=open('README.md').read(),
+    )