Cas d'utilisation

Extraction des acteurs des couloirs du Ségur du Numérique en Santé

Le Ségur du numérique vise à développer le partage des données de santé entre les différents acteurs de la prise en charge et les patients, par le financement d’une mise à jour logicielle prise en charge par l’Etat pour favoriser l’augmentation des usages numériques dans les établissements.

Les établissements de santé peuvent être accompagnés par les acteurs régionaux (ARS, GRADeS) dans leur déploiement, le pilotage de services socles nationaux et leur mise en conformité réglementaire.

Le Ségur du Numérique en Santé s’articule autour de 6 types de d’acteurs appelés couloirs. Nous allons vous détailler ci-dessous comment interroger l’API pour identifier les acteurs présents dans chaque couloir : segurnumerique.sante-idf.fr.

1. Le couloir Médico-Social

Afin de récupérer les établissements médico-sociaux ayant un numéro finess, il faut interroger l’endpoint Organization.

Nous appliquerons deux filtres à la requête afin d’obtenir le résultat attendu :

  • la catégorie d’Organization parmi la liste ci-dessous (point 2 sur l’image ci-dessous)
  • l’Identifier : finess.sante.gouv.fr (point 1 sur l’image ci-dessous)


Liste des codes catégorie: 159, 166, 172, 175, 176, 177, 182, 183, 186, 188, 189, 190, 192, 194, 195, 196, 198, 202, 207, 221, 236, 238, 241, 246, 247, 249, 252, 253, 255, 286, 295, 344, 370, 377, 378, 379, 381, 382, 390, 395, 396, 402, 411, 418, 427, 437, 440, 441, 445, 446, 448, 449, 453, 500, 501, 502, 165, 178, 180, 197, 209, 213, 354, 460, 462, 608

Schéma montrant les champs de filtre

Pour information, ces codes font partie de la TRE TRE-R66-CategorieEtablissement.

1) Faire un appel sur le endpoint Organization en filtrant sur les Organization qui ont un identifier finess (&identifier=http://finess.sante.gouv.fr%7C) et qui ont une catégorie parmi la liste ci-dessus (&type=https://mos.esante.gouv.fr/NOS/TRE_R66-CategorieEtablissement/FHIR/TRE-R66-CategorieEtablissement%7C159&type=https://mos.esante.gouv.fr/NOS/TRE_R66-CategorieEtablissement/FHIR/TRE-R66-CategorieEtablissement%7C166 ...).
2) Répeter l'opération sur toutes les pages

Le résultat retourné est un Bundle contenant la première page de résultat. Il contient aussi le nombre total d’éléments retournés par la requête qui peuvent être récupérés sur les pages suivantes.

2. Le couloir Hôpital

Afin de récupérer les établissements sanitaires, nous devons interroger l’endpoint de recherche transactionnel en deux étapes :

  • Récupérer les établissements sanitaires (champs 1 dans l’image ci-dessous)
  • Vérifier que le type de l’établissement ne correspond pas à un établissement médico-social (champs 2 dans l’image ci-dessous)


Liste des secteurs d’activité: SA01;SA02;SA03;SA04;SA30;SA34;SA36

Schéma montrant les champs de filtre

Note : La liste des codes des établissements sanitaires (ex: SA01, SA02, etc…) se situe dans le référentiel : TRE-R02-SecteurActivite

1) Faire un appel sur le endpoint Organization en filtrant sur les Organization qui ont un secteur d'activité parmi la liste ci-dessus (&type=https://mos.esante.gouv.fr/NOS/TRE_R02-SecteurActivite/FHIR/TRE-R02-SecteurActivite/%7CSA01&type=https://mos.esante.gouv.fr/NOS/TRE_R02-SecteurActivite/FHIR/TRE-R02-SecteurActivite/%7CSA02 ...).
2) Vérifier que pour chaque établissement, son type n'est pas présent dans la liste des catégories "médico-sociaux" (voir la liste dans le use case précédent). 
3) Répeter l'opération sur toutes les pages 

L’exécution de l’exemple de code peut donner un résultat équivalent :

Progress treated - 11650 / 11722
Treat 50 entry(ies)
Progress treated - 11700 / 11722
Treat 22 entry(ies)
Progress treated - 11722 / 11722
Total global - 11722
Total Hospital - 11722


3. Le couloir Biologie Médicale

Afin de récupérer les établissements de biologie ayant des médecins ou pharmaciens exerçants, nous devons interroger l’endpoint Organization :

  • En filtrant sur les types d’établissements : SA25, SA29
  • En incluant les PractitionerRoles liés aux Organizations afin de pouvoir filtrer sur le code profession de l’activité du professionel (PractitionerRole)


Une fois l’ensemble des données récupéré, il faut regrouper les PractitionerRoles pour les lier aux bonnes Organizations (champ organization du PractitionerRole comme le montre le point 1 sur l’image ci-dessous)

Nous pouvons finalement ne récupérer que les Organizations contenant des PractitionerRoles qui correspondent aux filtres Secteur d’activité et Profession santé (champs montré sur le point 2 de l’image ci-dessous).

Schéma montrant comment relier les Organization et les PractitionerRole

Note : La liste des codes des établissements sanitaires (ex: SA25, etc…) se situe dans le référentiel : TRE-R02-SecteurActivite. Les Roles souhaités (10 et 21) sont disponibles dans le référentiel TRE-G15-ProfessionSante

1) Faire un appel sur le endpoint Organization en filtrant sur les Organization qui ont un type SA25 ou SA29 (&type=SA25,SA29). Cet appel devra inclure les PractitionerRoles attachés (&_revinclude=PractitionerRole:organization)
2) Pour chacun des PractitionerRole retourné, vérifier il y a au moins 1 role (champs code) avec pour système "https://mos.esante.gouv.fr/NOS/TRE_G15-ProfessionSante/FHIR/TRE-G15-ProfessionSante" et un code associé à 10 (médecin) ou 21 (pharmacien)
3) Pour chacun des PractitionerRole trouvé, récupérer les Organization qui ont le même id que le champs organization du PractitionerRole
4) Répeter l'opération sur toutes les pages 

L’exécution de l’exemple de code peut donner un résultat équivalent :

Organization has 14 roles
Organization has 0 roles
Total global - 4312
Total filtered - 523


4. Le couloir Radiologie

Afin de récupérer les établissements de radiologie, nous devons interroger l’endpoint Organization :

  • En filtrant sur les types d’établissements : SA07, SA08, SA09
  • En incluant les PractitionerRole liés aux Organizations afin de pouvoir filtrer ensuite sur le savoir-faire des PractitionerRole


Une fois l’ensemble des données récupéré, procédez aux filtres suivant :

Les PractitionerRoles doivent correspondre à la profession de santé “Médecin” (10) (champs code du PractitionerRole comme le montre le point 3 sur l’image ci-dessous).

Ensuite les PractitionerRoles souhaités doivent correspondre à certaines spécialités : SM28, SM44, SM45, SM55 (champs specialty du PractitionerRole comme le montre le point 2 sur l’image ci-dessous).

Enfin, faut regrouper les PractitionerRoles pour les lier aux bonnes Organizations (champ organization du PractitionerRole comme le montre le point 1 sur l’image ci-dessous)

Nous pouvons finalement ne récupérer que les Organizations contenant des PractitionerRoleRoles selon les filtres que nous avons appliqués.

Schéma montrant comment relier et filter les Organization et les PractitionerRole

Note: la liste des codes des établissements sanitaires (ex: SA07, etc…) se situe dans le référentiel : TRE-R02-SecteurActivite. La liste des profession est disponible dans le référentiel TRE-G15-ProfessionSante. La liste des code spécialités est disponibles dans le référentiel TRE_R38-SpecialiteOrdinale

1) Faire un appel sur l'endpoint Organization en filtrant sur les Organization qui ont un type SA07, SA08 ou SA0 (&type=SA07,SA08,SA09). Cet appel devra inclure les PractitionerRoles attachés (&_revinclude=PractitionerRole:organization)
2) Pour chacun des PractitionerRole retournés, vérifier qu'il y a au moins 1 Role (champs role) avec pour système "https://mos.esante.gouv.fr/NOS/TRE_G15-ProfessionSante/FHIR/TRE-G15-ProfessionSante" et un code associé à 10 (médecin)
3) Pour chacun des PractitionerRole filtrés, vérifier qu'il y a au moins 1 Spécialité (champs speciality) avec pour système "https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale" et un code associé SM28, SM44, SM45 ou SM55
4) Pour chacun des PractitionerRole trouvés et filtrés, récupérer les Organization qui ont le même id que le champs organization du PractitionerRole
5) Répeter l'opération sur toutes les pages 

L’exécution de l’exemple de code peut donner un résultat équivalent :

Progress treated 466000  / 466040 / 445524 role(s)
Progress treated 466040  / 466040 / 445562 role(s)
Total global - 466040
Total filtered - 0


5. Le couloir Médecine de ville

Afin de récupérer les établissements de médecine de ville qui ne sont pas des cabinets de radiologie, nous devons interroger l’endpoint Organization :

  • En filtrant sur les types d’établissements : SA05, SA07, SA08, SA09, SA52
  • En incluant les PractitionerRole liés aux Organizations afin de pouvoir filtrer ensuite sur le savoir-faire des Practitioner


Une fois l’ensemble des données récupéré, procédez aux filtres suivant :

Les PractitionerRoles doivent correspondre à la profession de santé “Médecin” (10) (champs code du PractitionerRole comme le montre le point 3 sur l’image ci-dessous).

Ensuite les PractitionerRoles souhaités NE DOIVENT PAS correspondre à certaines spécialités : SM28, SM44, SM45, SM55 (champs specialty du PractitionerRole comme le montre le point 2 sur l’image ci-dessous)

Enfin, faut regrouper les PractitionerRoles pour les lier aux bonnes Organizations (champ organization du PractitionerRole comme le montre le point 1 sur l’image ci-dessous)

Puis les Roles souhaités ne doivent pas correspondre à certaines spécialités (SM28, SM44, SM45, SM55), disponibles dans le référentiel TRE_R38-SpecialiteOrdinale

Nous pouvons finalement ne récupérer que les Organizations contenant des PractitionerRoleRoles selon les filtres que nous avons appliqués.

Schéma montrant comment relier et filter les Organization et les PractitionerRole

1) Faire un appel sur l'endpoint Organization en filtrant sur les Organization qui ont un type SA07, SA08 ou SA0 (&type=SA07,SA08,SA09). Cet appel devra inclure les PractitionerRoles attachés (&_revinclude=PractitionerRole:organization)
2) Pour chacun des PractitionerRole retournés, vérifier qu'il y a au moins 1 Role (champs role) avec pour système "https://mos.esante.gouv.fr/NOS/TRE_G15-ProfessionSante/FHIR/TRE-G15-ProfessionSante" et un code associé à 10 (médecin)
3) Pour chacun des PractitionerRole filtrés, vérifier qu'il ne dispose pas des spécialités de radiologie (champs speciality) avec pour système "https://mos.esante.gouv.fr/NOS/TRE_R38-SpecialiteOrdinale/FHIR/TRE-R38-SpecialiteOrdinale" et un code associé SM28, SM44, SM45 ou SM55
4) Pour chacun des PractitionerRole filtrés, vérifier qu'il est toujours en activité
5) Pour chacun des PractitionerRole trouvés et filtrés, récupérer les Organization qui ont le même id que le champs organization du PractitionerRole
6) Répeter l'opération sur toutes les pages

L’exécution de l’exemple de code peut donner un résultat équivalent :

Progress treated 472050  / 472077 / 454524 role(s)
Progress treated 472077  / 472077 / 454561 role(s)
Total global - 466040
Total filtered - 0


6. Le couloir Pharmacie

Afin de récupérer les officines de pharmacie, nous devons interroger l’endpoint Organization :

  • En filtrant sur le système et les types d’établissements : https://mos.esante.gouv.fr/NOS/TRE_R02-SecteurActivite/FHIR/TRE-R02-SecteurActivite, SA33, SA38, SA39, SA65


La liste des codes des pharmacies (ex: SA33, etc…) se trouve dans le référentiel : TRE-R02-SecteurActivite

Les données récupérées sont déjà pré-filtrées selon notre besoin et ne sont que des pharmacies.

1) Faire un appel sur l'endpoint Organization en filtrant sur les Organization qui ont un type SA33, SA38, SA39 ou SA65. Cet appel devra également inclure le filtre sur le système (ex : type=https%3A%2F%2Fmos.esante.gouv.fr%2FNOS%2FTRE_R02-SecteurActivite%2FFHIR%2FTRE-R02-SecteurActivite|SA33)
2) L'ensembles des Organization récupérées sont des pharmacies

L’exécution de l’exemple de code peut donner un résultat équivalent :

Progress treated 472050  / 472077 / 454524 role(s)
Progress treated 472077  / 472077 / 454561 role(s)
Total global - 466040
Total filtered - 0