Exposition du dictionnaire SNDS (Kwikly) via une API REST, pour alimentation automatique des catalogues de données

Bonjour à tous,

Je souhaite soumettre au forum une demande d’évolution concernant Kwikly et, plus largement, la restitution du dictionnaire des données du SNDS.

Le besoin

À ma connaissance, les restitutions actuelles du dictionnaire sont pensées pour une consultation humaine (interface web, exports bureautiques). Or de plus en plus d’équipes outillent leurs entrepôts et leurs bacs à sable SNDS avec des solutions de gestion de documentation des bases de données : OpenMetadata, DataHub, Amundsen, Collibra… Ces outils savent ingérer automatiquement des définitions et les rattacher aux tables et colonnes réellement présentes dans la base, à condition de disposer d’une source machine-readable.

Aujourd’hui, chaque équipe reconstitue ce lien à la main, ou via des scripts de scraping fragiles, avec le double coût d’une ressaisie et d’une perte de traçabilité vis-à-vis de la définition officielle.

Une API REST de restitution, en lecture seule, exposant le contenu du dictionnaire en JSON. Par exemple :

  • GET /bases — les périmètres (DCIR, PMSI MCO/SSR/HAD/RIM-P, CépiDc, référentiels bénéficiaires…)
  • GET /tables et GET /tables/{id} — nom technique, schéma, libellé, définition, granularité, historique de disponibilité par année
  • GET /tables/{id}/colonnes — nom technique, libellé, définition, règle de gestion, type et longueur, caractère clé, nomenclature associée
  • GET /nomenclatures/{id}/valeurs — les valeurs de codes et leurs libellés

Avec quelques propriétés qui font la différence côté intégration :

  • des identifiants stables et versionnés (une variable renommée ou supprimée doit rester traçable) ;
  • une date de dernière mise à jour et un numéro de version du dictionnaire, pour ne réingérer que le delta ;
  • de la pagination et un filtrage simple (par base, par table, par année) ;
  • une documentation OpenAPI.

Un alignement, même partiel, sur les modèles d’entités d’OpenMetadata (Table, Column, GlossaryTerm) ou sur DCAT-AP faciliterait beaucoup l’écriture de connecteurs réutilisables par tous.

Une solution a minima

Si le développement d’une API complète est hors scope à court terme, un export bulk du dictionnaire en JSON, publié à une URL stable et régénéré à chaque mise à jour, couvrirait déjà l’essentiel du besoin pour un coût très inférieur. C’est le point de départ que je suggérerais.

Mes questions au forum

  1. Une telle exposition est-elle déjà prévue dans la feuille de route de Kwikly, ou existe-t-il un point d’entrée technique non documenté que certains utilisent déjà ?
  2. D’autres équipes ont-elles branché le dictionnaire SNDS sur un catalogue de données ? Si oui, avec quelle approche ?
  3. Y a-t-il un intérêt à mutualiser un connecteur open source, une fois la source machine-readable disponible ?

Je suis volontiers disponible pour préciser le besoin, tester une première version ou contribuer à humble échelle à la spécification.

Bien cordialement,

Dr Basile Fuchs — CHU de Brest

Bonjour Basile, je vous mets en relation en MP avec le développeur du Kwily qui pê saura davantage si un export JSON pour permettre à d’autres outils de récupérer facilement le contenu du dico peut être envisagé.
Cordialement

Laure dm

2 « J'aime »

Bonjour

Nous sommes aussi intéressés par ce genre d’approche / solution.

Serait-il possible svp d’avoir plus d’informations ?

Merci

Raphaël

Bonjour @laure.de-martini ,

Je vous remercie beaucoup pour votre réponse.
Je reste à votre disposition.

Cordialement,

Dr Basile FUCHS
CHU BREST

Bonjour @rthollot,

Je suis en contact avec la personne référente côté CNAM.
Souhaitez-vous être associé aux échanges ?
Si oui n’hésitez pas à me transmettre votre adresse mail.

Cordialement,

Dr Basile FUCHS
CHU BREST

Bonjour

un export bulk du dictionnaire en JSON, publié à une URL stable et régénéré à chaque mise à jour, couvrirait déjà l’essentiel du besoin pour un coût très inférieur.

Le dictionnaire du SNDS s’appuie sur un schéma du SNDS au format json, régulièrement mis à jour depuis 2019. Ce schéma est également exposé dans la documentation du SNDS.

Il est possible de mettre à jour le schéma à partir d’informations issues du Kwikly, en s’outillant de scripts. Je ne sais pas si cela est fait régulièrement, et en coordination avec la CNAM.

1 « J'aime »

Bonjour @pajachiet ,

Merci beaucoup pour votre réponse. En effet j’ai vu le git mais je ne suis pas sur que nous sommes autorisés à faire des PR sur ce repo si ?

Cordialement,

Basile Fuchs
CHU BREST

Je pense que c’est possible en faisant un fork du projet sur gitlab.com, ou en la soumettant par email.

Il est sans doute préférable d’ouvrir une issue en amont, pour savoir comment les contributions seront traitées.

1 « J'aime »

Bonjour,

Le dictionnaire interactif de la base principale du SNDS s’appuie sur le schéma formal disponible sur GitLab, alimenté à partir de plusieurs sources : la dernière version disponible de Kwikly, le dictionnaire du portail CNAM, ainsi que certaines requêtes directes sur les tables du portail lorsque cela est nécessaire. Il est mis à jour au moins une fois par an selon la disponibilité d’une nouvelle version de Kwikly. La version actuellement disponible intègre les métadonnées 2024 et a été mise à jour en avril 2026.

Pour les corrections ou évolutions, il est possible d’ouvrir une issue, de proposer une merge request via un fork/une branche, ou de nous contacter par mail.

Enfin, l’ensemble des JSON peut être récupéré depuis le dépôt Schéma formel du SNDS sur GitLab via Code > Download source code (.zip) ou en clonant le dépôt.

Cordialement,
Ana Gabriela PRADA
Experte SNDS
PDS

Bonjour @ana-gabriela.prada ,
Je vous remercie pour votre réponse.
En effet j’ai été mis en contacte avec un référent CNAM par @laure.de-martini .
Cordialement,
Dr Basile FUCHS
CHU Brest

2 « J'aime »

Bonjour,

Merci pour cette discussion, qui rejoint directement un des axes sur lesquels nous travaillons dans le cadre d’IML – Open Health Information Environment.

IML est un projet open source visant à développer, d’une part, un environnement logiciel médical ouvert et, d’autre part, une couche d’interopérabilité permettant de connecter des systèmes et sources de données existants sans chercher à les remplacer.

L’exposition du dictionnaire SNDS sous une forme exploitable automatiquement nous paraît particulièrement intéressante dans cette perspective. Plutôt que de reconstruire un dictionnaire spécifique, nous souhaiterions étudier la possibilité de consommer directement le schéma JSON existant, avec son versionnage et ses identifiants, afin de tester la construction d’un connecteur open source réutilisable.

L’utilisation d’un cas concret d’étude pourrait permettre de tester cette approche. Les AT/MP pourraient par exemple constituer un premier cas : identifier, à partir du dictionnaire SNDS, les données susceptibles de permettre l’analyse des délais entre déclaration et clôture/consolidation et, si les données disponibles le permettent, des situations restant ouvertes.

Cette démarche pourrait également alimenter le développement d’une méthodologie IML d’audit des parcours de l’information en santé : disponibilité de la donnée, documentation, structuration, interopérabilité, transmission et capacité d’exploitation.

Nous serions donc intéressés pour contribuer à cette réflexion et, si cela peut être utile, tester concrètement la consommation du schéma SNDS dans IML et documenter les éventuels besoins d’interopérabilité rencontrés.

Une question pourrait ainsi servir de cas test :

Le cas AT/MP permettrait-il de démontrer l’intérêt d’une exposition du dictionnaire SNDS sous une forme exploitable par des machines ? Peut-on, à partir de ce dictionnaire, identifier les données nécessaires pour étudier la durée entre déclaration et clôture/consolidation et le stock de situations encore ouvertes ?

Le projet IML est présenté ici :

Bien cordialement,
Dr Renato Barrios
RPPS 10001648905

Bonjour @BARRIOS,

Très bonne idée ! Pouvez-vous me transmettre votre mail en MP afin que je vous ajoute à nos échanges ?

Cordialement,

Dr Basile FUCHS
CHU BREST

Bonjour

Bravo pour rassembler ces données, mais je suis un peu dubitatif de la mise à jour de ces documents le DICO de HDH pour la VALO des SSR (SMR ?) n’est pas à jour, le kwikly date de 2024-1 d’après mes recherches. Les dates de créations/mise à jour sont plutôt difficiles à trouver. Il y a bien les formats selon le champ (format visual et format) disponibles sur le site de l’ATIH, mais ce sont les fichiers fournis à/par l’ATIH et pas ceux que l’on trouve dans le SNDS.

Bref du boulot de standardisation

Cordialement

Guillaume Desjeux

SSA/Sanoia