PublicSchema

Lorsque des programmes servent les mêmes personnes, leurs systèmes ont besoin d'un langage commun. PublicSchema le fournit : des définitions partagées pour les concepts, les champs et les codes de valeur. Prenez-les comme point de départ, puis adaptez-les au contexte de votre pays.

Pourquoi un vocabulaire partagé est essentiel

Un gouvernement souhaite savoir si l'enfant qui s'inscrit à l'école est bien le même que celui enregistré à la naissance et le même que celui suivi dans le calendrier vaccinal. Le registre d'état civil détient le document officiel. L'hôpital a enregistré l'accouchement. L'école admet un enfant dont l'âge est estimé, faute d'acte présenté. Les trois enregistrements décrivent la même personne, mais leurs champs et leurs valeurs ne s'alignent pas, si bien que la réconciliation exige un travail manuel qui prend des semaines et génère des erreurs.

Système Nom du champ Valeurs
Système d'information hospitalier delivery_record Date et heure de l'accouchement, sexe attribué, identifiant hospitalier de la mère
Registre d'état civil birth_record Date exacte, nom légal complet, identifiants nationaux des parents, lieu de naissance
Inscription scolaire pupil_record Âge estimé en années

La même personne, trois systèmes, trois modèles différents de qui elle est et de sa date de naissance.

C'est le coût de la coordination : à chaque fois que deux programmes doivent partager des données, quelqu'un passe des semaines à établir des correspondances entre champs et à traduire des codes. C'est coûteux, fragile, et tout recommence à zéro à chaque mise à niveau d'un système.

Ce ne sont pas des problèmes qu'une simple table de correspondance peut résoudre. On ne peut pas reconstruire une date de naissance exacte à partir d'un âge estimé, et les identifiants utilisés par chaque système ne pointent vers rien que les autres puissent vérifier. Par ailleurs, un système décrit le foyer par l'admission hospitalière, un autre par le lien parental dans un registre, et un troisième pas du tout. Les concepts eux-mêmes ne s'alignent pas. Les définitions partagées ne font pas qu'économiser du temps ; elles rendent tout simplement possible un échange précis.

Sans définitions partagées Correspondance personnalisée par paire.
Avec définitions partagées Chaque système établit sa correspondance une fois vers le vocabulaire partagé

PublicSchema ne prescrit pas quelle représentation est la bonne. Il vous offre un point de référence commun pour voir les différences, choisir ce qui correspond à votre contexte, et l'étendre là où vos programmes en ont besoin. Adoptez ce qui fonctionne ; laissez le reste.

Contenu du schéma

PublicSchema est un ensemble partagé de définitions. Quand un programme parle de « Personne », « Ménage » ou « Inscription », un autre programme qui utilise le même schéma sait exactement ce dont il s'agit, pas seulement quels champs attendre.

01

Un sens partagé, pas un logiciel partagé

Des définitions pour ce que les mots signifient. Vos systèmes restent les vôtres.

02

Utilisez ce qui convient

Tout est optionnel. Adoptez les parties dont vous avez besoin, étendez le reste.

03

Fondé sur ce qui existe déjà

Les normes internationales (ISO, ONU, FHIR) sont réutilisées partout où elles couvrent le domaine.

04

Citable, de façon permanente

Chaque définition possède une adresse web stable qui peut être référencée ou intégrée à une attestation numérique.

Concepts et propriétés

59 concepts, 391 propriétés

Les entités comme Personne, Inscription et Paiement reçoivent des définitions claires rédigées pour les gestionnaires de programmes. Chaque concept porte des propriétés nommées et typées (given_name, date_of_birth, enrollment_status) définies une fois et réutilisées d'un concept à l'autre.

Aligné sur OpenSPP · OpenCRVS · OpenIMIS · DHIS2

Vocabulaires

115 vocabulaires

Ensembles de valeurs contrôlées pour des champs tels que le genre, le pays, la modalité de prestation et le statut d'inscription. Lorsque des normes internationales existent (ISO, FHIR), nous nous y référons. Lorsqu'elles n'existent pas, nous définissons un ensemble commun fondé sur la convergence observée entre les systèmes.

Basé sur ISO · ILO · UN M49 · UNESCO · FHIR

Sa relation avec les autres normes

Si vous travaillez avec des infrastructures numériques publiques, vous avez probablement rencontré des normes comme la Digital Convergence Initiative (DCI), GovStack ou EU Core Person Vocabulary. Voici comment PublicSchema s'articule avec elles.

Des normes comme DCI et GovStack définissent comment les données circulent entre les systèmes : contrats d'API, protocoles de transport, blocs de construction. Elles incluent des modèles de données, mais ces modèles servent la couche de transport. PublicSchema part de l'autre direction : que signifie « inscription » ? Quelles propriétés décrivent un paiement ? Quelles valeurs sont valides pour la modalité de prestation ? Le modèle sémantique est l'artefact principal.

Les deux approches sont complémentaires. DCI spécifie comment transférer des dossiers d'inscription entre systèmes ; PublicSchema spécifie ce que signifient « inscription », « actif » et « benefit_modality » dans ces dossiers. EU Core Person Vocabulary couvre les attributs d'identité ; PublicSchema va plus loin, en intégrant le cycle de vie complet de la prestation, au-delà du nom et de la date de naissance.

Ancré dans des données probantes

PublicSchema est fondé sur une analyse comparative de systèmes réels couvrant l'identité (MOSIP), la protection sociale (OpenSPP, openIMIS), la santé (DHIS2) et l'état civil (OpenCRVS), aux côtés des normes d'interopérabilité de référence (DCI, FHIR). Lorsque des normes internationales (ISO pour le genre, les pays, les devises) couvrent le domaine, nous nous y référons. Lorsqu'elles n'existent pas, nous définissons un ensemble commun fondé sur le fonctionnement réel de ces systèmes.

Comparer les systèmes

Par où commencer

“Je coordonne des programmes qui servent des publics cibles communs”

Vous avez besoin de chiffres consolidés, de listes de bénéficiaires dédupliquées, ou de parcours d'orientation entre services. PublicSchema vous fournit des définitions partagées pour que les données de différents programmes puissent être comparées et liées.

“Je développe ou maintiens des intégrations entre systèmes”

Vous avez besoin de noms de champs et de codes de valeur partagés pour que les systèmes échangent des données sans couches de traduction sur mesure. Établissez la correspondance de votre système avec PublicSchema une fois ; tout autre système déjà mappé devient automatiquement interopérable.

“Je rédige des exigences pour un nouveau système”

Vous avez besoin de spécifications d'interopérabilité concrètes pour votre appel d'offres, pas simplement « le système doit être interopérable ». Citez les propriétés et codes de valeur de PublicSchema pour que les prestataires disposent d'une cible vérifiable. Là où les programmes de votre pays ont besoin de plus (catégories de prestations spécifiques, identifiants existants), étendez PublicSchema dans votre propre espace de définition ; l'interopérabilité est préservée.

“J’analyse des programmes entre pays ou secteurs”

Vous avez besoin d'un cadre structuré pour que les divergences deviennent visibles et identifiables. L'inventaire des concepts et propriétés de PublicSchema vous offre une grille commune de référence.

Explorer le schéma

Enregistrement des faits d'état civil et statistiques de l'état civil (CRVS)

16

PublicSchema est maintenu comme un projet ouvert. Source sur GitHub À propos du projet