Utilisation des API


Certaines fonctionnalités du SMT sont accessibles via des API REST. Les API disponibles sont listées sur le SMT.

La suite de ce document va décrire quelques exemples d’interaction avec le SMT via les API. Pour les tests, il est possible d’utiliser les outils de test des API de type : Postman ou Insomnia.

Télécharger la dernière version de la Terminologie ADICAP

Ce cas d’usage montre comment il est possible de télécharger la dernière version d’une terminologie en utilisant l’API : /wp-json/ans/terminologies/zip.

L’API utilise 3 paramètres obligatoires : terminologyId, licenceConsent et version.

Pour connaitre la dernière version de la terminologie, on peut utiliser l’API /api/terminologies/search qui permet de rechercher la Terminologie dans le catalogue SMT.

La figure 1 montre le résultat de recherche obtenu avec le mot « adicap » en utilisant l’API /api/terminologies/search.

Dans l’exemple, le terminologyId d’ADICAP est « terminologie-adicap » et la dernière version est : « 2019-05 ». En utilisant ces informations, on peut maintenant les renseigner dans l’API /wp-json/ans/terminologies/zip pour télécharger la terminologie.

Figure 1. le résultat de recherche en utilisant le mot adicap en utilisant l’API /api/terminologies/search
Figure 2. Téléchargement de la dernière version d’ADICAP.

Rechercher les descendants du chapitre « respiratoire » dans la terminologie CISP-2

Ce cas d’usage montre comment il est possible d’obtenir les descendants d’un terme particulier dans une Terminologie. L’API /api/concepts/child permet de récupérer tous les concepts enfants relatifs à un concept parent. Elle a besoin de deux paramètres obligatoires : terminologyId et conceptId.

Dans le cas d’usage précédent, nous avons montré comment récupérer le terminologyId d’une terminologie, sachant qu’il est également possible d’avoir la liste de tous les terminologyId qui ont un concept en utilisant l’API /api/terminologies/list/with-concepts.

Pour le conceptId, on peut utiliser l’API /api/concepts/search qui permet de trouver les concepts dans toutes les terminologies du SMT qui correspondent au texte recherché.

En utilisant cette API, il est possible de filtrer sur une ou plusieurs terminologies (CISP-2 dans notre exemple) et de sélectionner une langue de recherche (par exemple : fr).

Le conceptId correspond à l’id du terme voulu dans le résultat de recherche comme affiché dans la figure 3.

Figure 3. Liste des concepts obtenus à partir du terme « respiratoire »

Avec l’id obtenu (« https://data.esante.gouv.fr/terminologies/cisp#987400961 ») il est possible maintenant de trouver les descendant de ce code en utilisant l’API /api/concepts/child (figure 4).

Figure 4. Les descendants du terme « respiratoire » dans la terminologie CISP-2