Aller au contenu
For the complete DHIS2 documentation index, see llms.txt.

Configuration DHIS2 en vue de l'utilisation de l'application Android

Ce chapitre présente les principaux aspects de la configuration pour une utilisation réussie de l'application Android et permet de mieux comprendre les implications liées à l'utilisation de la composante mobile de DHIS 2. Pour une mise en œuvre complète et réussie, veuillez consulter la [documentation] détaillée et actualisée (https://www.dhis2.org/android-documentation) pour obtenir toutes les informations sur la configuration du serveur DHIS 2 en vue de son utilisation avec l'application DHIS 2 Android Capture.

Voici les différents éléments de configuration de la nouvelle application DHIS 2 Capture Android contenus dans ce document :

  • Considérations en matière de sécurité
  • Création d'un utilisateur Android
  • Configuration visuelle
  • Configuration des règles du programme
  • Définition des indicateurs et des légendes des programmes
  • Identifiants réservés

Considérations en matière de sécurité

Utilisation de la fonctionnalité partage DHIS 2 et Restrictions de partage

Dans cette section, nous vous proposons des conseils sur la façon d'utiliser la fonctionnalité de partage du DHIS 2 et les restrictions en matière de partage afin de s'assurer que seuls les utilisateurs autorisés ont accès aux dossiers contenant des informations identifiables.

Voici un exemple pratique de partage granulaire et de restrictions en matière de recherche dans le contexte d'un Centre de santé spécialisé dans les soins maternels et néonatals :

Rôle utilisateur de la sage-femme :

  • Peut effectuer une recherche sur trois programmes dans toutes les unités d'organisation du district
  • Peut inscrire les nouvelles femmes enceintes au programme de CPN
  • Peut ajouter/modifier des événements à la phase du programme d'évaluation clinique
  • Peut visualiser toutes les données de CPN dans sa propre unité d'organisation

Rôle utilisateur du technicien de laboratoire

  • Peut effectuer des recherches dans les unités d'organisation d'un programme du district
  • Peut ajouter/modifier des événements à la phase du programme de laboratoire
  • Ne peut pas visualiser la phase d'évaluation clinique

Rôle utilisateur du superviseur du ministère de la santé

  • Peut visualiser uniquement le tableau de bord

Dans le cadre de votre stratégie de protection des données, vous devez absolument disposer de procédures opérationnelles standard (POS).

Une PSO est un ensemble d'instructions détaillées compilées par votre organisation pour vous permettre d'effectuer des opérations de routine complexes comme celles liées à la sécurité des données.

Les POS permettent à votre organisation de gagner en efficacité, en qualité et en cohérence, tout en respectant la réglementation en matière de protection des données.

Lorsque vous définissez vos PSO en matière de protection des données, vous devez répondre à des questions telles que :

  • Quelle est la législation en vigueur en la matière ?
  • Qui est le contrôleur nommé ? Le responsable de traitement ? Le délégué à la protection des données ?
  • Qui est chargé d'examiner les journaux d'audit ?
  • Comment procédez-vous à la suppression des anciens utilisateurs ?
  • Vous apportez vos propres appareils ?
  • Sécurité du matériel informatique est-elle garantie ?
  • Accords mutuels de confidentialité

Nous présentons ici quelques exemples de bonnes pratiques de POS tirés du document [DHIS 2 Community Health Information System Guidelines] (https://s3-eu-west-1.amazonaws.com/content.dhis2.org/Publications/CHIS+Guidelines+En.pdf) publié par l'université d'Oslo :

  1. Harmoniser plusieurs programmes pour obtenir un seul protocole de saisie de données.
  2. Développer des POS pour chaque projet communautaire individuel, surtout en cas de flux de données multiples.
  3. Transformer les POS en affiches illustrées et les faire afficher sur les murs par le personnel de l'établissement pour permettre au public de les voir.
  4. Imprimer les PSO et s'assurer que tous les ASC, le personnel de l'établissement et le personnel du district en disposent d'une copie
  5. Signature des PSO par les différents acteurs à l'issue de la formation.
  6. Participation des partenaires à la création et à l'approbation des POS. Les POS doivent permettre d'institutionnaliser des meilleures pratiques et du flux de travail des acteurs du SISC. Faire participer tous les acteurs concernés au processus d'élaboration des POS.
  7. S'assurer que tous les éléments de données et les indicateurs sont saisis. Les ASC doivent parfaitement comprendre la signification et la mesure de chaque élément de données et indicateur afin de lever toute ambiguïté
  8. Adopter les directives relatives à la saisie des données lors des formations. Pour renforcer le principe de responsabilité, les ASC et le personnel des établissements doivent être conscients du fait qu'ils font partie d'un système plus vaste. Ils doivent également être informés de la manière dont leurs données sont utilisées pour la planification à des niveaux supérieurs et pour la mise en œuvre d'actions spécifiques à des niveaux inférieurs.
  9. Demander aux ASC d'expliquer les directives de saisie de données. Cette méthode d'apprentissage est une pratique efficace pour la formation des adultes. Le fait d'expliquer les directives de saisie de données renforce la crédibilité de l'ASC auprès du comité de la santé.
  10. Produire des directives en langue locale, simples à utiliser. Les ASC et le personnel des établissements doivent disposer de guides et d'instructions sur la marche à suivre. Envisager la possibilité de créer des affiches ou des petits guides laminés de saisie de données portables que les ASC et les établissements pourront afficher ou emporter avec eux et qui décrivent leur rôle et responsabilités selon les directives de saisie de données.
  11. Faites signer les directives par les ASC, le personnel de l'établissement, du district et le personnel national. Il s'agit d'une mesure d'"engagement" symbolique. L'objectif est de s'assurer qu'ils en ont pris connaissance, qu'ils comprennent leurs responsabilités en matière de rapports, telles que définies dans les directives de saisie de données, et qu'ils s'acquitteront de ces responsabilités.
  12. Réaliser des vidéos ou des fichiers audio simples et les télécharger sur des téléphones. Les responsabilités et les actions à mener lors de chaque événement sont simplifiées grâce à des vidéos ou des audioguides simples, en langue locale, auxquels le personnel de l'établissement et les ASC peuvent se référer.

Directives pratiques en matière de sécurité des données

Pour veiller à ce que les données personnelles stockées sur les appareils mobiles ne soient accessibles qu'au personnel de santé autorisé, il faut commencer par éduquer les utilisateurs sur la manière d'utiliser ces données et veiller à ce qu'elles soient toujours conservées en toute sécurité. Les lignes directrices ci-après sont extraites du manuel "Monitoring and Evaluation Standard Operating Procedures for Keeping Client Data Secure & Confidential" (Procédures opérationnelles standard de suivi et d'évaluation visant à assurer la sécurité et la confidentialité des données des clients) de PSI.

Les administrateurs de système jouent un rôle important dans la configuration du niveau d'accès des utilisateurs, en veillant à ce que leur accès aux données soit approprié et ne soit jamais inutilement abusif. Les lignes directrices ci-après sont également contenues dans le manuel "Keeping Client Data Secure & Confidential Administrators Guide" (Guide de l'administrateur : Garantir la sécurité et la confidentialité des données des clients) de PSI

.

Création d'un utilisateur Android

Créer un rôle

Pour créer un utilisateur, vous devez d'abord définir un rôle d'utilisateur DHIS 2. L'application DHIS2 Android Capture ne requiert aucune des autorisations définies dans un rôle d'utilisateur. La sécurité d'un programme ou d'un ensemble de données DHIS 2 est définie en tant qu'accès aux données du programme ou de l'ensemble de données.

Afin de résoudre les problèmes de débogage du web avec vos utilisateurs, il est recommandé de créer et d'attribuer un rôle d'utilisateur avec une fonctionnalité de saisie de données, qui devrait comprendre :

  • Les applications Saisie Tracker, Capture d'événements et/ou Saisie de données
  • Tableau de bord (pour pouvoir se connecter)
  • Cache Cleaner (vous aurez besoin de nettoyer le cache)

Remarque

Lorsque les utilisateurs saisissent une TEI et tant qu'elle n'est pas synchronisée avec le serveur, ils pourront supprimer la TEI et l'inscription même si ces droits ne leur ont pas été attribuées. Cette fonctionnalité existe par conception et pour permettre aux utilisateurs de revenir en arrière en cas d'erreur lors de la saisie des données (TEI et/ou inscription) et ainsi d'empêcher l'erreur d'atteindre le serveur, ce qui nécessitera qu'un autre utilisateur avec plus de droits résolve le problème.

Créer un utilisateur

En second lieu, vous devez créer un utilisateur, pour lequel vous devrez ajouter quelques détails de base tels que le nom de l'utilisateur et lui attribuer le rôle.

  • Nom d'utilisateur : name.android
  • Exemple : belen.android
  • Attribution du rôle d'utilisateur : attribuez au rôle que vous avez créé à la première étape.

Attribuer des unités d'organisation

La troisième étape consiste à attribuer des unités d'organisation à l'utilisateur que vous venez de créer.

On distingue trois types d'affectation des unités d'organisation :

  • Collecte de données: Ensembles de données et création de programmes de TEI, d'inscriptions et d'événements. Les données pré-téléchargées dans l'application lors de la première connexion seront celles qui appartiennent à ces unités d'organisation.
    • Les utilisateurs mobiles ne sont pas censés accéder à la hiérarchie des unités organisationnelles d'un pays entier. Le nombre maximum d'unités d'organisation est difficile à fixer, car ce n'est pas l'application qui fixe la limite, mais les ressources de l'appareil (mémoire, processeur). Nous pourrions dire qu'un nombre inférieur à 250 unités d'organisation devrait être sûr, mais nous pensons toujours que c'est un nombre très élevé dans le cas d'une utilisation mobile.
  • Sortie des données : pour l'analyse des données. Non applicable au système Android.
  • Recherche des Unités d'Org: Étend la recherche de l'IES ( en ligne) à d'autres unités d'organisation. Les enregistrements individuels peuvent être téléchargés pour une utilisation hors ligne.
    • Lors de la configuration des unités d'organisation de recherche, assurez-vous que votre unité d'organisation de recherche contienne vos unités d'organisation. Pour ce faire, les unités d'organisation doivent être sélectionnés, de même que les unités d'organisation de recherche.

Configuration visuelle : Comprendre le quoi et le pourquoi

L'administrateur du système peut configurer les informations affichées ainsi que leur mode d'affichage. Il existe une bibliothèque d'icônes de plus de quatre cents images. Les icônes peuvent être attribuées à la plupart des objets de métadonnées : Options, Éléments de données, Attributs, Programmes / Ensembles de données. Les images ne sont pas téléchargées pendant le processus de synchronisation des métadonnées - seul le nom de l'icône est téléchargé. Toutes les icônes existent déjà sous forme d'images vectorielles hautement efficaces dans l'APK de l'application.

À l'avenir, vous pourrez télécharger vos propres fichiers en format gif/jpeg/png (50 000 ou moins - à confirmer). L'inconvénient de cette option sera l'utilisation de la bande passante et le temps de synchronisation, car l'application devra télécharger les images pendant la synchronisation des métadonnées.

Voici un exemple montrant comment attribuer des icônes et des couleurs aux métadonnées :

Le tableau suivant indique à quel endroit vous pouvez utiliser les icônes aujourd'hui :

Attribuer Rendu Android Rendu Web
TrackedEntityType (Type d'entité suivie) ✅ 2.30 bientôt
Programme ✅ 2.30 ✅(événements simples, 2.30)
Étape du programme ✅ 2.30 ✅(événements simples, 2.30)
Ensemble de données ✅ 2.31 bientôt
Élément de données ✅ 2.30 -
Attribut ✅ 2.30 -
Indicateur ✅ 2.32 bientôt
Indicateur Prg ✅ 2.32 bientôt
Ensemble d'options ✅ 2.30 ✅(événements simples, 2.31)

Pour les phases du programme, les sections peuvent être rendues en trois différents modes : Liste, Séquentiel et Matrice. Les résultats de chacun de ces modes sont présentés ci-dessous :

Un administrateur de système peut décider de la méthode de rendu des informations dans chaque section d'étape du programme en définissant le type de rendu mobile, comme indiqué sur la capture d'écran ci-dessous.

Configuration des règles du programme

Nous recommandons de tester l'application Android en parallèle avec la configuration des règles de votre programme, ceci afin de s'assurer que les modifications apportées au serveur sont correctement prises en compte et fonctionnent dans l'application.

La première chose à faire lors de la définition des règles du programme est de définir le contexte et la priorité de leur exécution. Le contexte définit l'exécution de la règle pour un programme spécifique et éventuellement pour une étape spécifique. Quant à la priorité, elle définit un ordre d'exécution des règles, ce qui est utile lorsque l'exécution d'une ou de plusieurs règles dépend du résultat d'autres règles.

Une fois le contexte et la priorité définis, il faut maintenant écrire l'expression de la règle du programme en utilisant les variables intégrées, les variables (attributs de TEI / éléments de données d'une phase du programme) et les fonctions. Les variables doivent être définies par l'administrateur pour pouvoir évaluer les informations saisies pour un attribut de TEI ou un élément de données d'une phase du programme.

Nous devons ensuite décider de l'action ou des actions à exécuter lorsque l'expression de la règle du programme est vraie

Lorsque vous définissez les règles de votre programme, vous devez savoir ce que prend en charge l'application Android DHIS 2. Vous trouverez la liste actualisée dans le [guide de configuration] (https://docs.dhis2.org/master/en/dhis2_android_capture_app/about-this-guide.html).

Définition des indicateurs et des légendes des programmes

Les indicateurs à afficher dans l'application peuvent être calculés à partir des données de l'inscription de l'instance d'entité suivie (TEI). Notez que les calculs s'appliqueront à la TEI ainsi qu'à l'inscription en cours.

Les types d'agrégation ne sont pas disponibles, et seule la dernière valeur peut être utilisée dans le calcul de l'indicateur. Tous les éléments de données et les constantes peuvent être utilisés dans les calculs. Les variables sont prises en charge comme l'indique le tableau suivant :

Vous pouvez vérifier les informations actualisées sur les éléments pris en charge lors de l'utilisation des indicateurs de programme dans le [guide de configuration] (https://docs.dhis2.org/master/en/dhis2_android_capture_app/program-indicators.html). Les limites des périodes d'analyse ne sont pas prises en charge, ni prévues pour une prise en charge future, puisqu'elles s'appliquent à plusieurs TEI.

Pour afficher un indicateur de programme dans l'application, vous devez cocher la case "Afficher sous forme" dans l'assistant de configuration d'indicateurs du serveur DHIS 2.

Après avoir créé votre indicateur, vous pouvez alors lui associer une légende. Dans votre serveur DHIS 2, allez à Maintenance > Autres > Légendes pour créer une nouvelle légende.

{ .centre } { .centre }

Une fois que vous avez créé la légende, vous pouvez l'attribuer à l'indicateur. Vous pouvez également attribuer une légende déjà existante. En dessous de la case à cocher permettant d'afficher l'indicateur dans l'application, vous trouverez la section réservée à la recherche et à l'attribution de la légende.

Identifiants réservés

Si vous travaillez sur des programmes de suivi et que vous utilisez des attributs uniques d'entités suivies générés automatiquement (voir documentation DHIS 2), vous devez comprendre comment l'application gère la création de valeurs. Les valeurs sont téléchargées à l'avance à partir du serveur, et sont donc disponibles lorsque l'application fonctionne hors ligne. Ces valeurs sont marquées comme réservées du côté du serveur.

Dès la première synchronisation, l'application téléchargera 100 valeurs, lesquelles seront marquées comme réservées du côté du serveur. À partir de ce moment, l'utilisateur peut commencer à utiliser les valeurs au fur et à mesure que de nouvelles instances d'entités suivies sont créées.

Chaque fois que l'utilisateur utilise une valeur (enregistre une instance d'entité suivie), l'application :

  1. Vérifiera si le nombre de valeurs restantes est suffisant et les remplira à nouveau si nécessaire (si moins de 50 valeurs sont disponibles).
  2. Attribuera la première valeur disponible à l'instance d'entité suivie et la supprimera de la liste des valeurs disponibles.

Chaque fois que l'application est synchronisée, celle-ci :

  1. Supprimera les valeurs réservées expirées.
  2. Vérifiera si le nombre de valeurs restantes est suffisant et les remplira à nouveau si nécessaire (si moins de 50 valeurs sont disponibles).

Une valeur est considérée comme " expirée " lorsqu'une des conditions suivantes est vérifiée :

  • "expirationDate" (date d'expiration) est dépassée. Par défaut, le serveur fixe la période d'expiration à 2 mois.
  • Si le schéma de l'attribut est fonction du temps, c'est-à-dire qu'il contient le segment `CURRENT_DATE(format)`, l'application calcule alors une date d'expiration supplémentaire en fonction de ce schéma.

Attention

Lorsque vous utilisez des valeurs uniques générées automatiquement et contenant des dates comme éléments du schéma, la date d'expiration de ces valeurs sera fonction de ce schéma de dates, ce qui pourrait entraîner un comportement inattendu si le schéma n'est pas bien défini.

Exemple : La valeur UniqueID a été configurée selon un modèle du type CURRENT_DATE(MM)-SEQUENTIAL(###) et nous sommes aujourd'hui le 31 janvier. L'application téléchargerait donc 100 valeurs (du 01-001 au 01-101) pour pouvoir fonctionner hors ligne et avoir suffisamment de valeurs ; par contre, demain, 1er février, l'application n'aura aucune valeur disponible puisque toutes auront été marquées comme étant expirées et elle affichera donc un message à cet effet.

Avec l'application, l'utilisateur peut également vérifier les valeurs disponibles et les recharger dans le menu des paramètres.

Lorsque l'application est à court de valeurs et que le serveur ne peut pas en fournir davantage, l'utilisateur reçoit un message sur le formulaire de saisie des données lui indiquant qu'il n'y a plus de valeurs disponibles. Vous devriez alors y remédier du côté serveur.