TB Household Investigation Installation Guide¶
Package Version 1.0.0
Langue par défaut du système : anglais
Installation¶
L'installation du module se fait en plusieurs étapes :
- Préparation du fichier de métadonnées.
- Importer le fichier de métadonnées DHIS2.
- Configuration des métadonnées importées.
- Adaptation du programme après son 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 :
- Importer dans une instance DHIS2 vierge
- Importer dans une instance DHIS2 contenant des métadonnées (aucune autre version du Tracker de surveillance des cas d'infection par la Tuberculose n'a été importée auparavant).
- Mettre à jour la version actuelle ou ancienne du Tracker de surveillance des cas d'infection par la Tuberculose.
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, un compte d'utilisateur administrateur DHIS2 est requis.
Il faut veiller à ce que le serveur lui-même et l'application DHIS2 soient bien sécurisés, et que les droits d'accès aux données collectées soient définis. Les détails sur la sécurisation d'un système DHIS2 dépassent le cadre de ce document et nous renvoyons à l'adresse [Documentation sur DHIS2] (https://docs.dhis2.org/).
Fichiers de métadonnées¶
Les fichiers metadata reference et metadata json fournissent des détails techniques sur la version et le contenu du package.
Bien que cela ne soit pas toujours nécessaire, il est souvent recommander d'apporter certaines modifications au fichier de métadonnées avant son importation dans DHIS2.
Préparation du fichier de métadonnées¶
Il est recommandé d'importer la bibliothèque de Métadonnées Commune du Système d'Information sur la Santé DHIS2 dans l'instance cible avant d'utiliser et d'adapter les packages de métadonnées DHIS2. Le package de métadonnées Commun du Système d'Information sur la Santé est disponible par téléchargement dans les versions supportées de DHIS2 à [ Téléchargements de packages de métadonnées ] (https://dhis2.org/metadata-package-downloads).
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) | CqNPn5KzksS | ../api/indicatorTypes.json?filter=number:eq:true&filter=factor:eq:1 |
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 |
Codes d'option¶
Selon les conventions d'affectation de noms du système DHIS2, les codes de métadonnées utilisent des lettres majuscules, des caractères de soulignement et aucun espace. Certaines exceptions susceptibles de survenir sont spécifiées dans la documentation du package correspondant. Tous les codes inclus dans les objets de métadonnées du package actuel correspondent aux conventions d'affectation de noms. Il peut arriver que les codes des objets de métadonnées existants utilisés dans la base de données cible utilisent des caractères minuscules. Dans ce cas, il est important de mettre à jour ces valeurs directement dans la base de données.
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>;
```
REMARQUE.
Lorsque vous mettez à jour l'UID d'un élément de métadonnées dans l'instance DHIS2 existante, vous devez exécuter une commande SQL dans la base de données et remplacer en outre toutes les occurrences et références de son UID dans d'autres objets de métadonnées : prédicteurs, indicateurs, expressions de règles de validation, etc.
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.
Assurez-vous qu'aucune option d'un ensemble d'options n'a le même ordre de tri. Ceci peut être vérifié en utilisant le endpoint api suivant :
../api/options.json?paging=false&fields=id,name,sortOrder&filter=optionSet.id:in:[<optionSet UID>]
Pour fixer l'ordre de tri dans les ensembles d'options qui contiennent un grand nombre d'options, veuillez vous référer à ce [script SQL] (https://github.com/dhis2/dhis2-utils/blob/master/resources/sql/clean_up_option_sort_order.sql).
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.
Certaines visualisations et cartes peuvent contenir des références à des niveaux d'unité d'organisation. Les cartes composées de plusieurs visualisations cartographiques peuvent contenir diverses références à des niveaux d'unité d'organisation en fonction de la configuration de la couche cartographique. Ajustez les références de niveau d'unité d'organisation dans le fichier json des métadonnées pour qu'elles correspondent à la structure de l'unité d'organisation dans l'instance cible avant d'importer le fichier de métadonnées.
Mise à jour du package de métadonnées¶
The process of upgrading an existing package to a newer version in a working DHIS2 instance is a complex operation that has to be taken with precaution. Such process has to be run in development and staging instances first, before upgrading the configuration on the production server. As metadata objects may have been removed, added or changed, it is important to ensure that:
- le format des données existantes peut être mappé et adapté à la nouvelle configuration ;
- les objets de métadonnées abandonnés sont supprimés de l'instance ;
- Les objets existants sont mis à jour ;
- les nouveaux objets sont créés ;
- l'affectation des utilisateurs aux groupes d'utilisateurs concernés a été révisée.
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.
Linking the TB Household Contacts Investigation package to an existing TB Case Surveillance module¶
This section provides guidance on adding the TB Household Contacts Investigation packag to the functioning instance with the TB CS tracker.
Pour les implémentations existantes, la mise à niveau directe des packages de métadonnées dans l'instance n'est pas recommandée.
TB Household Contacts Investigation package reuses several metadata objects from the TB Case Surveillance package. These include tracked entity type, tracked entity attributes, data elements, option sets, options and user groups. Comparing metadata reference files for both packages will help the user identify these elements before merging baseline metadata in the instance with the metadata objects in the package.
It is recommended to use version 2.1.0 of the TB Case Surveillance package when linking it with the TB Household Contacts Investigation module. The configuration of the relationship type to support enrollment of the household contacts through the relationship widget in the TB Case Surveillance tracker is described below.
{
"relationshipTypes": [
{
"code": "TB_CS_INDEX_HH",
"name": "TB - Index case --> Household contact",
"externalAccess": false,
"publicAccess": "rw------",
"userGroupAccesses": [],
"userAccesses": [],
"access": {
"manage": true,
"externalize": true,
"write": true,
"read": true,
"update": true,
"delete": true,
"data": {
"write": true,
"read": true
}
},
"favorites": [],
"sharing": {
"owner": "Ia1Xtxa5eG8",
"external": false,
"users": {},
"userGroups": {},
"public": "rw------"
},
"fromConstraint": {
"relationshipEntity": "TRACKED_ENTITY_INSTANCE",
"trackedEntityType": {
"id": "MCPQUTHX1Ze"
},
"program": {
"id": "Lt6P15ps7f6"
},
"trackerDataView": {
"attributes": [
"sB1IHYu2xQT",
"ENRjVGxVL6l",
"Ewi7FUfcHAD"
],
"dataElements": []
}
},
"toConstraint": {
"relationshipEntity": "TRACKED_ENTITY_INSTANCE",
"trackedEntityType": {
"id": "MCPQUTHX1Ze"
},
"program": {
"id": "cQsXTtAJ3HW"
},
"trackerDataView": {
"attributes": [
"Ewi7FUfcHAD",
"sB1IHYu2xQT",
"ENRjVGxVL6l"
],
"dataElements": []
}
},
"description": "Household contacts of confirmed TB cases",
"bidirectional": true,
"fromToName": "Household contact",
"toFromName": "Index case",
"referral": false,
"displayFromToName": "Household contact",
"displayToFromName": "Index case",
"displayName": "TB - Index case --> Household contact",
"favorite": false,
"id": "l0wf8ZWv9nX",
"attributeValues": []
}
]
}
- For the TB Case:
| Name | Object | UID |
|---|---|---|
| Household Contact | Relationship | |
| Given name | Tracked Entity Attribute | sB1IHYu2xQT |
| Family name | Tracked Entity Attribute | ENRjVGxVL6l |
| National ID | Tracked Entity Attribute | Ewi7FUfcHAD |
- For the Household contact:
| Name | Object | UID |
|---|---|---|
| Index case | Relationship | |
| Given name | Tracked Entity Attribute | sB1IHYu2xQT |
| Family name | Tracked Entity Attribute | ENRjVGxVL6l |
| National ID | Tracked Entity Attribute | Ewi7FUfcHAD |
It is possible to edit the list of displayed attributes in the relationship widget.
Tracked Entity Attributes that are displayed in the relationship widget have to be assigned to the Tracked Entity Type. 'Display in list' option has to be activated for them.
Tracked Entity Attributes to be displayed in the relationship widget have to be assigned to the corresponding programmes.
'Display in list without program' option has to be activated for the relevant Tracked Entity Attributes.
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 :
- Dashboards (Visualizations, maps, event reports and report tables)
- Des ensembles de données
- Les options de catégorie
- Programmes et étapes de programme
Ces groupes d'utilisateurs de base sont inclus dans le package :
- Administrateur de la Tuberculose
- Accès à la tuberculose
- Saisie des données de la tuberculose
Les éléments suivants sont attribués par défaut à ces groupes d'utilisateurs
| Objet | Groupes d'utilisateurs | ||||
|---|---|---|---|---|---|
| Accès à la tuberculose | Administrateur de la Tuberculose | Saisie des données de la tuberculose | |||
| Type d'entité suivie | Métadonnées: peuvent être visualisées Données: peuvent être visualisées | Métadonnées: peuvent être modifiées et visualisées Données: pas d'accès | Métadonnées: peuvent être visualisées Données: peuvent être saisies et visualisées | ||
| Programme | Métadonnées: peuvent être visualisées Données: peuvent être visualisées | Métadonnées: peuvent être modifiées et visualisées Données: pas d'accès | Métadonnées: peuvent être visualisées Données: peuvent être saisies et visualisées | ||
| Étapes du programme | Métadonnées: peuvent être visualisées Données: peuvent être visualisées | Métadonnées: peuvent être modifiées et visualisées Données: pas d'accès | Métadonnées: peuvent être visualisées Données: peuvent être saisies et visualisées | ||
| Tableaux de bord | Métadonnées: peuvent être visualisées Données: peuvent être visualisées | Métadonnées: peuvent être modifiées et visualisées Données: pas d'accès | no access |
Les utilisateurs doivent être affectés au groupe d'utilisateurs approprié en fonction de leur rôle dans le système. Le partage des autres objets du package doit être configuré en fonction des besoins. Veuillez consulter la [Documentation de DHIS2] (https://docs.dhis2.org/en/develop/using-the-api/dhis-core-version-master/sharing.html)pour plus d'informations sur la configuration du partage.
Rôles des 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
Reportez-vous à la [Documentation DHIS2] (http://dhis2.org/documentation) pour plus d'informations sur la configuration des rôles des utilisateurs.
Unités d’Organisation¶
Le programme doit être attribué aux unités d'organisation applicables dans la hiérarchie des unités d'organisation.
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 accédez à Adaptation du programme Tracker. Si vous utilisez des applications tierces qui reposent sur les métadonnées actuelles, sachez que cette mise à jour pourrait les interrompre."
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.
Configuration de l'interface de saisie du tracker, des widgets et de la barre supérieure¶
Tracker capture dashboard must be configured after the package has been installed. This configuration includes data entry forms, widgets and top bar.
Modèles de saisie de données¶
- Après avoir enregistré le premier cas (test), accédez au menu Paramètres dans le formulaire de saisie du tracker et sélectionnez Afficher/Masquer les widgets.
- Use Tabular Data Entry
- Make sure that Enrollment, Feedback, Profile and Relationships widgets are selected. Click Close.
- Click "Saved dashboard layout as default"
- Click "Lock layout for all users"
Barre supérieure¶
Top bar activation and configuration allows the user to have a clear overview of key case data displayed at the top of the tracker capture dashboard.
Déclaration des données basées sur les cas dans des ensembles de données agrégées¶
The TB Household Contacts Investigation tracker includes an Aggregate Data Exchange configuration that can aggregate case-based data and populate the quarterly "TB Household Contacts" data sets included in the TB HMIS package.
The program indicators are mapped with data elements and category option combinations in the aggregate package.
The default configuration is set to internal data exchange, i.e. when the tracker and the aggregate data sets are located in the same instance. It is possible to change this configuration in the json component. The user working with data exchange has to have access to both tracker and aggregate data. More information can be found in the Data Exchange documentation
Adapter le programme tracker¶
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.