Vital Events Birth, Stillbirth and Death notifications - Tracker Installation Guide¶
This document includes an installation guide for the updated Vital Events tracker package.
Langue par défaut du système : anglais
Traductions disponibles : français, espagnol, portugais
Aperçu¶
Les fichiers .json de métadonnées du package contiennent un composant « package » qui fournit des détails techniques sur la version et le contenu du package. Les fichiers disponibles dans la version actuelle du package sont énumérés ci-dessous.
DHIS2.35¶
=== « Package complet »
```json
"package": {
"DHIS2Build": "35d663a",
"DHIS2Version": "2.35.11",
"code": "VE0000",
"description": "Vital Events",
"lastUpdated": "20220120T113753",
"locale": "en",
"name": "CRVS_VE_TKR_1.1.0_DHIS2.35.11-en",
"type": "TKR",
"version": "1.1.0"
}
```
DHIS2.36¶
=== « Package complet »
```json
"package": {
"DHIS2Build": "5d136cb",
"DHIS2Version": "2.36.6",
"code": "VE0000",
"description": "Vital Events",
"lastUpdated": "20220120T140039",
"locale": "en",
"name": "CRVS_VE_TKR_1.1.0_DHIS2.36.6-en",
"type": "TKR",
"version": "1.1.0"
}
```
Installation¶
L'installation du module se fait en plusieurs étapes :
- Préparation du fichier de métadonnées avec les métadonnées DHIS2.
- Importation des métadonnées dans DHIS2.
- Configuration des métadonnées importées.
- Adaptation du programme après importation
Nous vous recommandons de lire tout d’abord chaque section du guide d’installation avant de commencer le processus d’installation et de configuration dans le système DHIS2. Identifiez les sections applicables en fonction du type d’importation :
- importation dans une instance DHIS2 vide
- importation dans une instance DHIS2 avec des métadonnées existantes.
Les étapes décrites dans ce document doivent être testées dans une instance DHIS2 de test/transit avant d’être appliquées à un environnement de production.
Conditions requises¶
Pour installer le module, vous devez avoir un compte administrateur dans le système DHIS2.
Il est important de s’assurer que le serveur et l’application DHIS2 sont bien sécurisés et de configurer les droits d’accès aux données collectées. Les détails sur la sécurisation d’un système DHIS2 sortent du cadre de ce document. Veuillez consulter le site Documentation sur le DHIS2.
Fichiers de métadonnées¶
Bien que ce ne soit pas toujours nécessaire, il peut souvent être avantageux d'apporter certaines modifications au fichier de métadonnées avant son importation dans DHIS2.
The Vital Events tracker package includes three metadata files. The contents and purposose of each individual file are described below:
| Identifiant du package | Contenu | Objectif |
|---|---|---|
| CRVS_VE_TKR_1.1.0_DHIS2.35.11-en | Updated tracker package | Nouvelle mise en œuvre |
Préparation du fichier de métadonnées¶
Dimension de données par défaut¶
Dans les premières versions du système DHIS2, les UID des dimensions de données par défaut étaient générés automatiquement. Ainsi, bien que toutes les instances du système DHIS2 possèdent une option de catégorie par défaut, une catégorie d’élément de données, une combinaison de catégories et une combinaison d’options de catégorie, les UID de ces valeurs par défaut peuvent être différents. Les versions ultérieures du système DHIS2 utilisent des UID codés en dur pour la taille par défaut, lesquels sont utilisés dans les packages de configuration.
Pour éviter tout conflit lors de l’importation des métadonnées, nous vous recommandons de rechercher et de remplacer toutes les occurrences de ces objets par défaut dans l’ensemble du fichier .json, en remplaçant les UID du fichier .json par ceux de l’instance dans laquelle le fichier sera importé. Le tableau 1 présente les UID à remplacer, ainsi que les points de terminaison d’API permettant d’identifier les UID existants.
| Objet | UID | Chemin vers l'API |
|---|---|---|
| Catégorie | GLevLNI9wkl | ../api/categories.json?filter=name:eq:default |
| Option de catégorie | xYerKDKCefk | ../api/categoryOptions.json?filter=name:eq:default |
| La combinaison de catégories | bjDvmb4bfuf | ../api/categoryCombos.json?filter=name:eq:default |
| Combinaison d’options catégorie | HllvX50cXC0 | ../api/categoryOptionCombos.json?filter=name:eq:default |
Identifiez les UID des tailles par défaut de votre instance à l’aide des requêtes API affichées et remplacez les UID dans le fichier .json par ceux de l’instance.
N.B.
Notez que cette opération de recherche et de remplacement doit être effectuée via un éditeur de texte brut, et non un traitement de texte comme Microsoft Word.
Types d'indicateurs¶
Le type d’indicateur est également un type d’objet susceptible de créer un conflit lors de l’importation, car certains noms sont utilisés dans différentes bases de données DHIS2 (par ex. « Pourcentage »). Comme les types d’indicateurs sont définis par leur facteur (y compris 1 pour les indicateurs « numérateur seulement »), ils ne laissent aucune ambiguïté et peuvent être remplacés en recherchant et remplaçant des UID. Cette méthode permet d’éviter les éventuels conflits d’importation et empêche le responsable de la mise en œuvre de créer des doublons de types d’indicateurs. Le tableau ci-dessous contient les UID pouvant être remplacés, ainsi que les points de terminaison d’API permettant d’identifier les UID existants :
| Objet | UID | Chemin vers l'API |
|---|---|---|
| Numérateur seulement (nombre) | kHy61PbChXr | ../api/indicatorTypes.json?filter=number:eq:true&filter=factor:eq:1 |
| Pour 1000 | zpa0vUC7IWd | ../api/indicatorTypes.json?filter=number:eq:false&filter=factor:eq:1000 |
| Pourcentage | hmSnCXmLYwt | ../api/indicatorTypes.json?filter=number:eq:false&filter=factor:eq:100 |
TrackedEntityType (Type d'entité suivie)¶
Comme pour les types d’indicateurs, il se peut que des types d’entités suivies existent déjà dans votre base de données DHIS2. Pour éviter de créer des doublons, les références au type d’entité suivie doivent être modifiées pour refléter les éléments de votre système. Le tableau ci-dessous contient les UID pouvant être remplacés, ainsi que les points de terminaison d’API permettant d’identifier les UID existants :
| Objet | UID | Chemin vers l'API |
|---|---|---|
| Personne | MCPQUTHX1Ze | ../api/trackedEntityTypes.json?filter=name:eq:Person |
Visualisations à l'aide de l’UID de l’unité d’organisation de base¶
Les visualisations, les rapports d’événements, les tableaux de rapports et les cartes affectés à un niveau d’unité d’organisation spécifique ou à un groupe d’unités d’organisation comportent un renvoi à l’unité d’organisation de base (niveau 1). Ces objets, s’ils sont présents dans le fichier de métadonnées, contiennent une balise <OU_ROOT_UID>. Utilisez la fonction de recherche de l’éditeur de fichiers .json pour trouver cette balise et la remplacer par l’UID de l’unité d’organisation de niveau 1 dans l’instance cible.
Codes d'option¶
According to the DHIS2 naming conventions, the metadata codes use capital letters, underscores and no spaces. Some exceptions that may occur are specified in the corresponding package documentation. All codes included in the metadata objects in the current version of the package were adjusted to match the naming conventions. It may occur that the codes used in the earlier versions of the package used lower case characters. If data values in the existing implementations contain lower case codes, it is important to update those values directly in the database.
Le tableau ci-dessous contient tous les ensembles d’options dont les codes ont été mis en majuscules dans le package de métadonnées. Avant d’importer des métadonnées dans l’instance, vérifiez si les ensembles d’options du système existant correspondent à ceux du package .json et utilisent les mêmes codes d’options en majuscules.
| Nom de l’ensemble d’options | UID de l’ensemble d’options |
|---|---|
| GEN - Birth attendant type | gHkSQ7ti6zn |
| GÉN - Type de naissance | jumQ0TEDlf4 |
| GEN - Manner of death | A7mNd2r3ZJe |
| GÉN - Type d’accouchement | whFhwY80xAQ |
| GÉN - Lieu de naissance | BkY9x47OEff |
| GEN - Sex (with unknown) | rlYDq7U043q |
| Marital status | rkRT5bxwyAt |
| Relationship (Mother/Father/Spouse/Other) | ocdVHauxjzI |
| Stillbirth type | tPXEZ46FACM |
| VE - Place of death occurrence | tPXEZ46FACM |
| VE - Registration Reason | I90dDKWASnH |
Le tableau ci-dessous contient les éléments de métadonnées auxquels on a attribué un ensemble d’options :
| Objet de métadonnées | Nom | UID |
|---|---|---|
| Élément de données | GÉN - Lieu de naissance | ABhkInP0wGY |
| Élément de données | GÉN - Type de naissance | LtlzGAPWWo8 |
| Élément de données | GÉN - Accoucheur/Accoucheuse | lQtJB35vsDj |
| Élément de données | GÉN - Type d’accouchement | fF7wxNym0Un |
| Élément de données | EV - Lieu du décès | XkvdOAv6d3V |
| Élément de données | GEN - Manner of Death | MAqI45DkhPd |
| Élément de données | EV - Classification de l’accouchement d’un enfant mort-né | vjNZ3tj3ins |
| Attribut d’entité suivie | Vital Events Sex M/F/U | fSn3gGMwRLi |
| Attribut d’entité suivie | Vital Events Marital Status | EhEPmB7n31b |
| Attribut d’entité suivie | Vital Events Relationship 1 | Nv4K5ob82z3 |
| Attribut d’entité suivie | Vital Events Relationship 2 | egRR3lyqD0F |
Important
Pendant l’importation, les codes d’option existants seront remplacés par les nouveaux codes en majuscules. Afin de mettre à jour les valeurs des données existantes dans la base de données, vous devez mettre à jour les valeurs stockées dans la base de données en utilisant les commandes de la base de données. Assurez-vous de mapper les anciens codes d’option et les nouveaux avant de remplacer les valeurs. Utilisez d’abord l’instance de transit, avant d’effectuer des modifications sur le serveur de production.
Pour les valeurs des éléments de données, utilisez :
```SQL
UPDATE programstageinstance
SET eventdatavalues = jsonb_set(eventdatavalues, ’{"<affected data element uid>","value"}’, ’"<new value>"’)
WHERE eventdatavalues @> ’{"<affected data element uid>":{"value": "<old value>"}}’::jsonb
AND programstageid=<database_programsatgeid>;
```
Pour les valeurs d’attributs des entités suivies, utilisez :
```SQL
UPDATE trackedentityattributevalue
SET value = <new value>
WHERE trackedentityattributeid=<affected trackedentityattribute database_id> AND value=<old value>;
```
Exemple
Pour remplacer le code d’option ’yes’ par ’YES’ pour les valeurs de données existantes (élément de données COVAC - Précédemment infecté par la COVID
LOU9t0aR0z7) dans le programstage avec l’id=1510410385 (exemple d’id), la commande sera configurée comme suit :UPDATE programstageinstance SET eventdatavalues = jsonb_set(eventdatavalues, ’{"LOU9t0aR0z7","value"}’, ’"YES"’) WHERE eventdatavalues @> ’{"LOU9t0aR0z7":{"value": "yes"}}’::jsonb AND programstageid=1510410385;
Les codes d’option sont également utilisés dans les expressions de règles de programme, les indicateurs de programme, etc. Si vous mettez à jour les options de code dans votre système, assurez-vous de mettre à jour les codes dans tous les objets de métadonnées concernés.
Ordre de tri pour les options¶
Vérifiez si l’ordre de tri sortOrder des options de votre système correspond à celui inclus dans le package de métadonnées. Cela ne s’applique que si le fichier .json et l’instance cible contiennent des options et des ensembles d’options avec le même UID.
Après l’importation, assurez-vous que l’ordre de tri des options d’un ensemble d’options commence par 1. Les valeurs de l’ordre de tri ne doivent avoir aucun écart (par exemple 1, 2, 3, 5, 6).
L’ordre de tri peut être modifié dans l’application Maintenance.
- Accédez à l’ensemble d’options applicable
- Ouvrez la section « Options »
- Utilisez « TRIER PAR NOM », « TRIER PAR CODE/VALEUR » ou « TRIER MANUELLEMENT » comme alternative.
Importation de métadonnées¶
Utilisez l’application DHIS2 Import/Export pour importer des packages de métadonnées. Nous vous recommandons d’utiliser la fonction « test » pour identifier les problèmes avant de tenter d’effectuer une importation réelle des métadonnées. Si le « test » signale des problèmes ou des conflits, consultez la section conflits lors de l’importation ci-dessous. Si aucune erreur n’est signalée lors de l’importation « test »/« validée », essayez d’importer les métadonnées. Si l’importation s’est déroulée sans erreur, vous pouvez passer à la configuration du module. Dans certains cas, les conflits ou les problèmes d’importation n’apparaissent pas pendant le test, mais durant l’importation réelle. Dans ce cas, le résumé de l’importation indiquera les erreurs à résoudre.
Gestion des conflits d'importation¶
REMARQUE
Si vous importez le package dans une nouvelle instance du système DHIS2, il n’y aura aucun conflit lors de l’importation, car ia base de données cible ne contient aucune métadonnée. Après avoir importé les métadonnées, passez à la section « Configuration ».
Différents types de conflit peuvent survenir, mais le plus courant est le fait que le nom, le nom abrégé et/ou le code des objets de métadonnées du package de configuration existent déjà dans la base de données cible. Il existe plusieurs solutions alternatives à ces problèmes, chacun avec ses avantages et ses inconvénients. La solution la plus appropriée dépend, par exemple, du type d’objet à l’origine du conflit.
Option 1¶
Renommez l'objet existant dans votre base de données DHIS2 pour lequel il existe un conflit. L'avantage de cette approche est qu'il n'est pas nécessaire de modifier le fichier .json, les changements étant effectués par l'interface utilisateur de DHIS2. Il est probable que cela soit moins sujet à des erreurs. Cela signifie également que le paquet de configuration est laissé tel quel, ce qui peut être un avantage, par exemple lorsque des mises à jour du package sont publiées. Les objets du package d'origine sont également souvent référencés dans le matériel de formation et la documentation.
Option 2¶
Renommez l'objet pour lequel il y a un conflit dans le fichier .json. L'avantage de cette approche est que les métadonnées DHIS2 existantes sont laissées telles quelles. Cela peut être un facteur lorsqu'il y a du matériel de formation ou de la documentation, comme les procédure normale d'exploitation des dictionnaires de données liés à l'objet en question, et cela n'implique aucun risque de confusion pour les utilisateurs lors de la modification des métadonnées qui leur sont familières.
Notez que pour les deux options 1 et 2, la modification peut être aussi simple que l'ajout d'un petit pré/post-fixe au nom, pour minimiser le risque de confusion.
Option 3¶
Une troisième approche, plus complexe, consiste à modifier le fichier .json pour réutiliser les métadonnées existantes. Par exemple, dans les cas où un ensemble d'options existe déjà pour un certain concept (par exemple "sexe"), cet ensemble d'options pourrait être supprimé du fichier .json et toutes les références à son UID remplacées par l'ensemble d'options correspondant existant déjà dans la base de données. Le grand avantage de cette méthode (qui n'est pas limitée aux seuls cas où il y a un conflit d'importation directe) est d'éviter de créer des métadonnées dupliquées dans la base de données. Il y a des aspects essentiels à prendre en compte lors de ce type de modification :
- il nécessite une connaissance approfondie de la structure détaillée des métadonnées du DHIS2
- Cette approche ne fonctionne pas pour tous les types d'objets. En particulier, certains types d'objets ont des dépendances compliquées à résoudre de cette manière, par exemple en ce qui concerne les désagrégations.
- il sera compliqué de procéder aux futures mises à jour du package de configuration.
Configuration¶
Une fois que toutes les métadonnées sont importées avec succès, des étapes doivent être mises en oeuvre avant que le module ne soit fonctionnel.
Partage¶
Tout d'abord, vous devrez utiliser la fonctionnalité Partage de DHIS2 pour configurer quels utilisateurs (groupes d'utilisateurs) doivent voir les métadonnées et les données associées au programme ainsi que qui peut enregistrer/saisir des données dans le programme. Par défaut, le partage a été configuré pour ce qui suit :
- Type d'entité suivie
- Programme
- Étapes du programme
- Tableaux de bord
- Visualisations, cartes, rapports d’événement et tableaux de rapports
- Des ensembles de données
- Les options de catégorie
Veuillez consulter le site Documentation du DHIS2 pour plus d’informations sur le partage.
Trois groupes d'utilisateurs de base sont inclus dans le package :
- EV - Accès
- EV - Saisie de données
- EV - Admin
Par défaut, les autorisations suivantes sont attribuées aux groupes d’utilisateurs suivants :
| Objet | Groupe d'utilisateurs | ||
|---|---|---|---|
| VE - Access | VE - Data capture | VE - Admin | |
| Type d’entité suivie. | Métadonnées : peuvent être visualisées Données : peuvent être visualisées | Métadonnées : peuvent être visualisées Données : peuvent être capturées et visualisées | Métadonnées : peuvent être modifiées et visualisées Données : peuvent être visualisées |
| Programme | Métadonnées : peuvent être visualisées Données : peuvent être visualisées | Métadonnées : peuvent être visualisées Données : peuvent être capturées et visualisées | Métadonnées : peuvent être modifiées et visualisées Données : peuvent être visualisées |
| Étapes du programme | Métadonnées : peuvent être visualisées Données : peuvent être visualisées | Métadonnées : peuvent être visualisées Données : peuvent être capturées et visualisées | Métadonnées : peuvent être modifiées et visualisées Données : peuvent être visualisées |
| Tableaux de bord. | Métadonnées : affichage autorisé | Aucun accès | Métadonnées : modification et affichage autorisés |
| Ensembles de données | Métadonnées : peuvent être visualisées Données : peuvent être visualisées | Aucun accès | Métadonnées : modification et affichage autorisés Données : accès non autorisé |
Les utilisateurs sont attribués au groupe d’utilisateurs approprié en fonction de leur rôle dans le système. Le partage des autres objets du package peut être ajusté en fonction de la configuration. Consultez le site Documentation sur le partage de DHIS2 pour plus d’informations.
Les rôles d'utilisateurs¶
Les utilisateurs auront besoin de rôles utilisateur pour pouvoir utiliser les différentes applications du DHIS2. Les rôles minimums suivants sont recommandés :
- Analyse des données Tracker : Il peut visualiser des analyses d'événements et accéder à des tableaux de bord, des rapports d'événements, un visualiseur d'événements, un visualiseur de données, des tableaux croisés dynamiques, des rapports et des cartes.
- Saisie de données Tracker : possibilité d'ajouter des valeurs de données, de mettre à jour les entités suivies, de rechercher des entités suivies dans les unités d'organisation et d'accéder à l'application Saisie Tracker
Consultez le site Documentation de DHIS2 pour plus d’informations sur la configuration des rôles des utilisateurs.
Unités d’organisation¶
Le programme et les ensembles de données doivent être attribués à des unités d’organisation dans la hiérarchie existante afin d’être accessibles via les applications tracker capture ou capture.
Métadonnées dupliquées¶
REMARQUE
Cette section ne s’applique que si vous importez dans une base de données DHIS2 qui comporte déjà des métadonnées. Si vous travaillez avec une nouvelle instance du système DHIS2, veuillez ignorer cette section et aller à Adaptation du programme du Tracker. Si vous utilisez des applications tierces qui dépendent des métadonnées actuelles, notez que cette mise à jour pourrait les rompre.
Même lorsque les métadonnées sont importées avec succès sans aucun conflit d'importation, il peut y avoir des doublons dans les métadonnées - éléments de données, attributs d'entités suivies ou ensembles d'options qui existent déjà. Comme indiqué dans la section ci-dessus sur la résolution des conflits, il est important de garder à l'esprit que les décisions relatives à la modification des métadonnées dans le DHIS2 doivent également tenir compte d'autres documents et ressources associés de différentes manières aux métadonnées existantes et aux métadonnées importées par le biais du package de configuration. La résolution des doublons ne consiste donc pas seulement à "nettoyer la base de données", mais aussi à s'assurer que cela est fait sans, par exemple, briser le potentiel d'intégration avec d'autres systèmes, la possibilité d'utiliser du matériel de formation, la rupture des SOP, etc. Cela dépend beaucoup du contexte.
Il est important de garder à l’esprit que le DHIS2 dispose d’outils pouvant dissimuler certaines des complexités des duplications potentielles dans les métadonnées. Par exemple, lorsqu’il existe des ensembles d’options en double, ils peuvent être masqués pour des groupes d’utilisateurs par le biais de Partage.
Adaptation du programme¶
Une fois le programme importé, il est possible que vous souhaitiez y apporter certaines modifications. Voici quelques exemples d'adaptations locales que vous pourrez effectuer :
- Ajout de variables supplémentaires au formulaire.
- Adaptation des noms des éléments de données/options en fonction des usages au niveau national.
- Ajout des traductions aux variables et/ou au formulaire de saisie des données.
- Modification des indicateurs du programme en fonction des définitions de cas locales
Toutefois, il est fortement recommandé de faire preuve d'une grande prudence si vous décidez de modifier ou de supprimer l'un des formulaires/métadonnées inclus. Il y a donc un risque que des modifications brisent des fonctionnalités, par exemple les règles du programme et les indicateurs du programme.
Suppression des métadonnées¶
Afin de garder votre instance en ordre et d’éviter les erreurs, il est recommandé de supprimer les métadonnées inutiles de votre instance.
Afin de supprimer l’ancien tableau de bord de votre système, vous devez :
REMARQUE
Il est possible de supprimer le tableau de bord, ses éléments et toutes les visualisations, cartes et rapports pertinents de la base de données à l’aide des commandes SQL.
Upgrading from 1.0.0 to 1.1.0¶
Metadata delete¶
Importing version 1.1.0 of the Vital Events package in an instance where 1.0.0 has been already installed is enough to create and update the metadata but the following metadata elements should be deleted:
| Type | UID | Nom |
|---|---|---|
| TEA | u0dqjGQ3Z80 | EV - Sexe inconnu |
| PR | napRgSZqVp4 | Hide Sex if "Sex is unknown" is checked |
| PR | dp6ev2TTLUH | Hide Sex is unknown if reason for registration is not 2 (stillbirth) |
Migrating legacy data to the new metadata¶
Update values entered for all TEA Sex, i.e. replace UID of TEA Sex with UID of TEA Sex M/F/U
```SQL
UPDATE trackedentityattributevalue
SET trackedentityattributeid = (SELECT trackedentityattributeid FROM trackedentityattribute where UID = 'fSn3gGMwRLi')
WHERE trackedentityattributeid = (SELECT trackedentityattributeid FROM trackedentityattribute where UID = 'oindugucx72');
```
For all values corresponding to TEA Sex is Unknown = true, replace UID of TEA with UID of TEA Sex M/F/U and replace true with UNKNOWN
```SQL
UPDATE trackedentityattributevalue
SET value = 'UNKNOWN',
trackedentityattributeid = (SELECT trackedentityattributeid FROM trackedentityattribute where UID = 'fSn3gGMwRLi')
WHERE trackedentityattributeid = (SELECT trackedentityattributeid FROM trackedentityattribute where UID = 'u0dqjGQ3Z80')
and value = 'true';
```