Programmes d’extraction des données du SNDS (accès permanent)

Gitlab

Lien vers le repo : Gitlab

Objectifs de l’algorithme

Outils de ciblage dans la base principale du SNDS
Outils de manipulation / transformation de la base principale du SNDS
Outils d’identification de patients / dépistage biologique
Algorithmes de requête à la demande

Les objectifs des programmes du Centre DRUGS-SAFER sont multiples. lls visent à faciliter l’utilisation des données du SNDS par le biais de macro-commandes SAS, accessibles tant aux utilisateurs novices qu’expérimentés. Ces outils permettent d’extraire et de traiter efficacement les données du SNDS (accès permanent), couvrant différents domaines tels que les médicaments (codage ATC, CIP, UCD), les diagnostics des séjours hospitaliers (codage CIM-10) les affections de longue durée (ALD), les actes médicaux (codage CCAM) et les dispositifs médicaux (codage LPP). 

 

Les macros disponibles dans le projet Outils SNDS offrent une solution pour accéder aux bases DCIR et PMSI, rendant ainsi le processus de manipulation des données plus intuitif et automatisé. Le projet contribue à optimiser l’analyse des données de santé, et à soutenir notamment diverses recherches en pharmaco-épidémiologie.

     

Plus particulièrement, dans le cas du programme Référentiel du Centre DRUGS-SAFER, l’objectif est de constituer un référentiel de patients avec un identifiant unique dans le SNDS (accès permanent), éliminant ceux avec des incohérences concernant leurs données socio-démographiques et donnant un historique de leurs affiliations annuelles sur une période donnée.

Auteur(s)

Organisme de recherche
Centre DRUGS-SAFER

Domaine médical

Autre

Méthodologie

Ces programmes ont été construits à partir de la documentation SNDS et en suivant les recommandations établies par la CNAM – « Guide des bonnes pratiques, SAS dans le SNIIRAM/SNDS, version 2.2 » disponible sur le portail AMELI.

Langage de programmation

SAS

Données utilisées

Données d'application

Base principale

Les données extraites par les programmes SAS de la boîte à outils SNDS du centre DRUGS-SAFER sont liées spécifiquement aux paramètres entrés dans les macro-commandes. Elles permettent d’extraire toutes les données disponibles sur le portail SNDS (accès permanent).

 

Les données utilisées dans le cas du programme Référentiel sont les données présentes dans le SNDS (accès permanent) afin d’identifier pour chaque sujet, le parcours de soins sur la période d’étude souhaitée concernant les affiliations aux différents régimes de Sécurité Sociale. Les données proviennent des données des tables référentiel bénéficiaire (IR_BEN_R et IR_BEN_R_ARC) des tables d’affiliations annuelles (CONSOPAT.extraction_patientsTR) et des tables des causes de décès (KI_CCI_R).

Validation

Validé

Les programmes reproduisent de manière automatisée les requêtes réalisées manuellement. Aucun test de performance n’est réalisé. La validation des programmes a été faite de manière collégiale entre plusieurs experts et utilisateurs du SNDS.

Date de dernière mise à jour

Les ressources sont continuellement mises à jour sur sur le Gitlab du centre DRUGS-SAFEr : https://gitlab.com/Drugs-Safe-R/Outils_SNDS

Les dates de mise à jour peuvent varier d’un outil SAS à un autre.

Maintenance

Ad-hoc (en fonction des remontées de problèmes, suggestions)

Maintenu par l’équipe DRUGS-SAFER en continu par les utilisateurs SNDS

Comment installer l’algorithme ?

L’ensemble des macros sont en langage SAS, et à utiliser sur l’outil SAS Guide du portail SNDS via un accès permanent. Pour pouvoir les utiliser, il suffit de récupérer les macro-commandes dont vous avez besoin, et les exécuter sur SAS sur le portail SNDS. Un simple appel de macro-commande suffit ensuite pour extraire les données souhaitées.

Comment utiliser l’algorithme ?

  • Extraction : 

 

Les outils macros mis à disposition par DRUGS-SAFEr sont indépendants les uns des autres. Ils facilitent l'extraction des médicaments délivrés en ville, lors des séjours hospitaliers, des ALD, etc. 

 

Leur utilisation est décrite ci-dessous :

%xtr_pha_dcir permet d'extraire, dans les données du DCIR et durant une période définie par les dates de début (option dte_dbt_prs) et de fin d'extraction (dte_fin_prs), ainsi que les médicaments délivrés identifiés à partir des codes ATC, CIP (opt_atc_inc ; opt_atc_exc ; opt_cip). Une population (opt_pop) peut être jointée à cette requête pour n'extraire que les médicaments délivrés pour les sujets de cette population, la table devant contenir les identifiants BEN_NIR_PSA. En parallèle du référentiel présent sur le portail avec la table IR_PHA_R, vous pouvez utiliser votre propre référentiel Médicaments grâce à l'option (opt_ref) où les noms de variables doivent correspondre avec celle du portail. Plusieurs autres options sont disponibles pour extraire les libellés (opt_xtr_lib), les doses et unités (opt_xtr_dos), ou encore les données des prescripteurs (opt_xtr_psp) et des exécutants (opt_xtr_pse).

%xtr_ucd_dcir est une macro construite de la même manière que celle précédente, elle se consacre uniquement à l'extraction des médicaments délivrés en sus et/ou rétrocédés.

%xtr_hsp_dcir est un programme d'extraction des données de séjours hospitaliers identifiés à partir des codes CIM-10 (options opt_cim_inc étant les codes à inclure, et opt_cim_exc à exclure) sur une période donnée par année (ann_deb ; ann_fin). Une population (opt_pop) peut être jointée à cette requête pour n'extraire que les médicaments délivrés pour les sujets de cette population, la table devant contenir les identifiants BEN_NIR_PSA. Plusieurs spécificités existent notamment la particularité d'extraire selon le champ d'hospitalisation MCO, HAD, PSY ou SSR (mod_hsp).

%xtr_ald_dcir permet d'extraire les ALD en cours, durant une période de temps donnée par année (options ann_deb et ann_fin). Cette extraction peut se faire pour une population spécifique (définie par opt_pop) où la table doit contenir la variable BEN_NIR_PSA. L'extraction se fait selon des codes CIM-10 à extraire (opt_cim_inc) ou à exlcure (opt_cim_exc). Elle peut aussi permettre d'extraire les données selon les grandes catégories d'ALD (opt_ald).

%xtr_cam_dcir permet d'extraire, dans les données du SNDS et durant une période de temps donné (ann_deb ; ann_fin), les actes médicaux réalisés identifiés à partir des codes CCAM à inclure (opt_cam_inc) ou à exclure (opt_cam_exc). Comme précédemment, une population (opt_pop) peut être jointée à cette requête pour n'extraire que les actes médicaux réalisés pour les sujets de cette population (la table doit contenir les identifiants BEN_NIR_PSA).

%xtr_lpp_dcir est construite comme les précédentes, elle permet d'extraire les données de délivrances des dispositifs médicaux identifiés par les codes à inclure (opt_lpp_inc) et/ou à exclure (opt_lpp_exc)

Pour les utiliser, il suffit tout d’abord de récupérer les macros dont vous avez besoin, les placer dans des programmes du dossier que vous voulez (autoexec par exemple). Comme toute macro-commande, il suffit de l’exécuter une seule fois pour qu’elle soit implémentée. 
Dans un second temps, il suffit d’exécuter l’appel de la macro-commande dont vous souhaitez obtenir les informations, avec les options en lien avec votre requête.

 

Voici un exemple de l’exécution de l’outil %xtr_pha_dcir

%xtr_pha_dcir(lib_prj = LIBODEER, tab_out = PHA_EXTRACT, dte_dbt_prs = 01/05/2009, dte_fin_prs = 31/12/2019, opt_pop = POP_DT2, opt_ref = SASDATA1.PHA_REF, opt_atc_inc = A10, opt_atc_exc = A10BH03, opt_cip = 3400949121175, opt_xtr_lib = 1, opt_xtr_dos = 1, opt_xtr_psp = 1, opt_xtr_pse = 1);

 

Cet exemple permet d’extraire les médicaments dont les ATC commencent par « A10 », tout en ne prenant pas les médicaments ATC5 « A10BH03 », entre le 1er Mai 2009 et le 31 Décembre 2019, à partir des identifiants de la table POP_DT2 de la librairie Libodeer. Les données sont stockées dans la librairie Libodeer et la table Pha_Extract. Nous récupérons avec cette macro, toutes les prescriptions avec dates, mais aussi les doses et libellés des médicaments, ainsi que les données exécutants et prescripteurs, issus d’un référentiel PHA_REF enregistré dans la librairie personnelle SASDATA1.

 

  • Référentiel : 

 

Le référentiel est constitué de 6 étapes, qui doivent être exécutés à la suite, et décrites ci-dessous :

 

1. Récupération de tous les identifiants disponibles dans le SNDS

La première étape consiste à créer une table dénommée REF_IR_BEN regroupant tous les identifiants issus des tables IR_BEN_R et IR_BEN_R_ARC

Une option opt_nir permet de filtrer sur le code d’identification du NIR :

  • NIR Normal ('00')
  • NIR Normal et Provisoires ('00','03','04')
  • NIR Normal et Provisoires et IVG ('00','01','03','04','06')
  • Tout type de NIR hors valeur inconnue et sans objet ('00','01','02','03','04','05','06', '08','09','11','12','13','14','15')

2. Association de tous les couples d’identifiants sous un identifiant unique créé pour l’occasion

La seconde étape permet de créer une table REF_NIR_OPT pour identifier les identifiants en doublon et changements de NIR tout au long du suivi du DCIR. Un identifiant unique BEN_NIR_OPT est créé pour l’occasion.

Il y a donc un filtre qui est réalisé sur les bénéficiaires sans jumeaux/jumelles, pour permettre l’appariement avec le PMSI par la suite. Pour le Régime Général y compris SLM le rang gémellaire permet de distinguer les naissances gémellaires de même sexe. Pour tous les autres régimes, BEN_RNG_GEM permet de différencier les bénéficiaires rattachés au même ouvreur de droit. Exclusion des BEN_IDT_ANO qui ont plusieurs rangs gémellaires et plusieurs BEN_NIR_ANO pour un même BEN_NIR_PSA (0,95% des BEN_IDT_ANO).

 

3. Récupération de l’identifiant unique et de tous les pseudo-NIR associés à partir de la liste des pseudo-NIR de l’extraction princeps

Avec cette étape, une table REF_NIR_CLE est créée, incluant tous les identifiants uniques et les pseudo-NIR associés à partir de la liste des pseudo-NIR de l’extraction princeps.

 

4. Vérification des données démographiques âge et sexe et suppression des identifiants avec données manquantes

Cette étape consiste à la création de la table REF_NIR_DEM après exclusion des données d’année/mois de naissance et de sexe aberrantes ou changeantes pour un même identifiant unique.

 

5. Identification et nettoyage des données de décès

La table REF_NIR_DC est créée, incluant les données de décès des patients. Si plusieurs dates existent au sein d’une même source (référentiel patient ou CépiDC) la plus ancienne est sélectionnée. Si plusieurs dates existent en croisant plusieurs sources, la priorisation sur la date CépiDC est effectuée. Les dates de décès aberrantes sont exclues (année-mois de décès < année-mois de naissance, année-mois de décès < année-mois du jour).

 

6. Créations d’indicateurs annuels d’affiliation aux différents régimes

Avec cette dernière étape, la table REF_NIR_AFF incluant pour chaque année demandées l’affiliation au régime d’Assurance Maladie est créée. Nous avons créé une variable indiquant, au moins une fois dans l’année, le type d’affiliation avec la priorisation suivante en cas de plusieurs régimes RG > SLM > RSI > MSA > Autres > Non Affilié) et l’affiliation à la CMU/AME (au moins une fois dans l’année). Les informations d’affiliations proviennent des tables annuelles CONSOPAT avec Extractions_PatientsTR ; en cas d’absence de la table, celle-ci est recréée à partir des informations de remboursements.

Il suffit juste à l’utilisateur d’indiquer la période d’étude, avec les options ann_debut et ann_fin. Une option date_fix permet d’indiquer au programme une date, permettant de réitérer les mêmes données à n'importe quel moment.

La table REF_NIR_TOT est ainsi mise à jour avec l’inclusion de toutes les informations recensées depuis la première étape.

 

Les macros du référentiel nécessitent l'identification au préalable d'une population d'intérêt, à l'aide d'une macro-extraction par exemple ou par vos propres algorithmes d'extraction.

Support

Point de contact
Via le canal du Git : Drugs-Safe-R/Outils_SNDS

Contributions

Aucune modification directe ne peut être réalisée autrement que par des membres de l’équipe du Centre DRUGS-SAFER. Pour toute question et demande de correction à apporter, il suffit de poster des issues sur le programme concerné, du GitLab - Drugs-Safe-R/Outils_SNDS

Crédits

Gitlab Equipe DRUGS-SAFER: @Drugs-Safe-R

Licence et conditions d’utilisation

Licence Apache 2.0