Guide du formateur sur les Règles de programme¶
CRÉER LES RÈGLES pour la TB dans CONFIG.
En quoi consiste ce guide ?¶
Ce guide est un document d'aide destiné aux formateurs de l'Académie DHIS2 pour la session "Règles de programme". Cette session suit l'approche de formation standard de l'Académie avec
- une session de démonstration en direct où le formateur démontre et explique comment créer des règles de programme, et
- une session pratique avec des exercices où les participants vont créer des règles de programme.
Ce guide aidera le formateur à préparer la session de démonstration en direct. La section "Démonstration en direct, étape par étape" contient une description détaillée de toutes les étapes de la démonstration, avec des explications et des captures d'écran qui devraient être faciles à suivre. Utilisez-la lorsque vous serez en train de préparer la session de démonstration en direct.
Il existe également un guide rapide qui répertorie les étapes très brièvement et qui sert d'"aide-mémoire" PENDANT la démonstration, pour aider le formateur à se souvenir de toutes les étapes et du déroulement de la démonstration.
Objectifs d'apprentissage de cette session¶
L'objectif général de cette session est de démontrer comment créer des règles de programme dans DHIS2 pour les programmes d'événements et de Tracker. Les objectifs spécifiques sont les suivants :
- Définir le concept de règles de programme
- Créer des règles de programme à l'aide de variables, d'expressions et d'actions dans DHIS2
Temps requis¶
Démonstration en direct : 1h 30 minutes
Devoir : 1 heure
Contexte¶
Les règles de programme vous permettent de créer et d'assurer un fonctionnement dynamique de l'interface utilisateur dans les applications Saisie Tracker et Saisie Événement. Avec ces règles, l'on peut configurer de façon dynamique dans DHIS2, des programmes préalablement établis sur des formulaires papier, ceci à l'aide de la logique de saut, des avertissements et des modèles, ainsi que par le remplissage automatique de certains champs.
Préparations¶
Décidez de la manière dont vous voulez mener la session. Le guide vous propose de commencer par une présentation du concept de règle de programme, puis de créer une règle avec les participants. Vous devez évaluer les participants pour déterminer dans quelle mesure ils ont besoin d'instructions supplémentaires, car ce sujet est toujours problématique en raison du nombre de nouveaux concepts introduits et du désir des participants d'apprendre immédiatement des règles complexes. VOUS POUVEZ UTILISER LE SYSTÈME DE DÉMO POUR CETTE SESSION, car les deux programmes sont configurés pour vous.
Guide rapide¶
- Créer une règle de programme en utilisant le programme 'Carte de traitement de la tuberculose'
- Masquer le champ TBEP lorsque le site de la maladie est 'pulmonaire'
- Tester la règle
STOP - Demandez aux participants de faire l'exercice 1 du guide de l'apprenant.
-
Créer une règle de programme en utilisant le programme 'Traitement de la tuberculose'
- Si le sexe est 'Homme', masquer 'Enceinte'
- Tester la règle
STOP - Demandez aux participants de faire l'exercice 2 du guide de l'apprenant.
-
Créer une règle de programme en utilisant le programme 'Tuberculose'
- Si le poids est <=5 ou >= 140, un message d'avertissement s'affiche.
- Tester la règle
STOP - Demandez aux participants de faire l'exercice 3 du guide de l'apprenant.
-
Créer une règle de programme en utilisant le programme 'Carte de traitement de la tuberculose'
- Montrer le site de la maladie dans le commentaire
- Tester la règle
STOP - Demandez aux participants de faire l'exercice 4 du guide de l'apprenant.
-
Créer une règle de programme en utilisant le programme 'Carte de traitement de la tuberculose'
- Calculer l'âge du patient à partir de sa date de naissance
- Tester la règle
STOP - Demandez aux participants de faire l'exercice 4 du guide de l'apprenant.
Référence des règles de programme¶
En réalité, il est difficile de se souvenir de tous les opérateurs de règles et de toutes les actions qui peuvent être utilisés. Vous pouvez consulter la [documentation] (https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/configuring-the-system/programs.html#configure_program_rule) de temps à autre pour savoir quels types d'expressions, d'opérateurs et d'actions vous pouvez utiliser.
Démonstration en direct étape par étape¶
Pour créer une règle de programme, nous pouvons suivre les directives suivantes :
- Conceptualiser la logique de la règle que vous voulez créer
- Créer une variable de règle de programme qui pointe vers l'élément/attribut de données qui déclenchera votre logique.
- Créer une nouvelle règle de programme
- Renseigner les détails de la règle de programme
- Sélectionner le programme
- Donner un nom et une description
- Fixer une priorité le cas échéant
- Renseigner les détails de la règle de programme
- Saisir l'expression de la règle de programme
- Consultez la [documentation] (https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/configuring-the-system/programs.html#configure_program_rule) pour voir plusieurs exemples d'éléments pouvant être utilisés dans l'expression, ainsi que des exemples d'expressions
- Définir les actions des règles du programme
- Consultez la [documentation] (https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/configuring-the-system/programs.html#configure_program_rule) pour plus de détails sur chaque action.
- Vider le cache et tester la règle
Règle 1 - Dans le premier exemple, nous allons créer une règle pour le programme "Tuberculose" pour masquer l'élément de données "Site de la TBEP" si la tuberculose n'est pas classée comme extra-pulmonaire.¶
Vous devez commencer cette session en présentant UNIQUEMENT les diapositives 1 à 4 ici:.
Étape 1 - Accéder au programme et à l'application d'attributs¶
Se connecter à l'instance vierge et aller dans l'application de Maintenance.

et cliquer sur Programme

REMARQUE : Pour créer une nouvelle règle de programme, il peut être nécessaire de créer d'abord des variables de règle de programme.
Étape 2 - Créer la variable de la règle de programme¶
Vous pouvez expliquer le concept de variable à l'aide des diapositives 6-7
Pour créer une nouvelle variable de règle de programme, vous devez d'abord créer des variables de règle de programme.
Cliquez sur 'Variable de règle de programme' puis sur 'Ajouter'.

- Utiliser le code de l'ensemble d'options : Lorsque votre variable utilise un ensemble d'options, cela vous permet d'utiliser le code de cet ensemble d'options plutôt que sa valeur lorsque vous créez vos expressions de règles de programme. Utiliser le code est souvent plus bénéfique car il est moins sujet à modification que la valeur. Toutefois, vous ne voudrez peut-être pas utiliser le code si vous affichez un commentaire, par exemple.
- Type de source: Le type de source détermine la manière dont le champ source est rempli avec une valeur. Veuillez consulter la [documentation] (https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/configuring-the-system/programs.html#configure_program_rule) pour obtenir les dernières informations.
La plupart du temps, vous allez utiliser "élément de données dans l'événement en cours" ou "attribut d'entité suivie", mais les autres champs peuvent également être utilisés. Nous pouvons les expliquer plus en détail avec de nouveaux exemples.
Étape 3 - Créer la règle de programme¶
Pour créer une nouvelle règle de programme, cliquez sur Règle de programme et sur Ajouter (le **symbole "+")
Entrer les détails de la règle de programme

Ne vous préoccupez pas du champ "Priorité" pour l'instant. Ce point sera abordé dans d'autres formations/académies.
Entrer l'expression de la règle de programme
Vous pouvez vous référer aux diapositives 8 et 9 qui portent sur les expressions et les opérateurs : (https://docs.google.com/presentation/d/1igu8J5ybDOPHJnxMX6n5Ah2gHhL1Ri54v9lX4ZvZGSA/edit#slide=id.g3bdf14aaf4_0_0)
Créer une expression #{TBDiseaseSite_current} == '' || #{TBDiseaseSite_current} == 'Pulmonary'
Rappelez les opérateurs de la documentation qui sont maintenant présents le long de la ligne inférieure et expliquez lès rapidement. Vous allez utiliser une expression qui comprend les opérateurs logiques equals to (équivalent à) et OR(ou).

Créer l'action ("Masquer le champ" pour l'élément de données "site de la TBEP").
À ce stade, expliquez les différentes actions qui sont encore possibles.
La liste complète des actions peut être consultée dans la [documentation] (https://docs.dhis2.org/en/use/user-guides/dhis-core-version-master/configuring-the-system/programs.html#configure_program_rule).

et cliquez sur COMMIT pour sauvegarder. Sauvegardez la règle de programme avant de continuer.
Étape 3 - Tester la règle de programme¶
Il vous faudra peut-être vider votre cache ou recharger la page en mode incognito (ou navigation privée) pour que la règle fonctionne correctement.
Allez dans Saisie Tracker pour voir la règle en action

Enregistrer une nouvelle personne

Nous pouvons voir immédiatement que la règle fonctionne, car il n'y a pas de valeur pour le site de la maladie et l'élément de données "Site de la TBEP" est caché.
Sélectionner 'Pulmonaire' donne le même résultat.

Ce n'est que lorsque nous sélectionnons 'Extra Pulmonaire' que l'élément de données 'Site de la TBEP' apparaît. C'est l'action prévue par la règle.

Si vous sélectionnez un site pour la TBEP, vous obtiendrez ceci

Mais revenez en arrière et sélectionnez 'Pulmonaire' pour le site de la tuberculose.

Vous obtiendrez un message d'erreur indiquant que la valeur du 'Site de la TBEP' a été supprimée. La logique est la suivante : à moins que le site de la maladie ne soit extra-pulmonaire, la valeur du 'Site de la TBEP' est masquée et il ne peut donc pas y avoir de valeur le concernant.

STOP - Demander aux participants de faire l'exercice 1 du guide de l'apprenant¶
Règle 2 - Créer une règle de programme pour masquer la grossesse si le sexe est "Homme" avec le programme Tuberculose¶
Accéder aux règles de programmes en allant dans Maintenance ⇒ Programme.
Se connecter à l'instance vierge et aller dans l'application de Maintenance.

et cliquer sur Programme

Ajouter une nouvelle variable de règle de programme

Créer une règle de programme
Masquer 'grossesse' si le sexe est 'Homme'
Entrer les détails des règles de programme.
Dans l'expression, nous utilisons l'option de 'Sexe' que nous avons créée.

Tester la règle avec les participants
Vider le cache si nécessaire, puis aller Saisie Tracker pour tester la règle.
Le champ 'Grossesse' doit être masqué si le sexe est défini sur 'Homme'

Voici ce qui devrait s'afficher

STOP - Demander aux participants de faire l'exercice 2 du guide de l'apprenant¶
Règle 3 - Créer une autre règle de programme pour la carte de traitement de la tuberculose qui affiche un message d'avertissement lorsque le poids est hors des limites fixées¶
Accéder aux règles de programmes en allant dans Maintenance ⇒ Programme.
Se connecter à l'instance vierge et aller dans l'application de Maintenance.

et cliquer sur Programme

Ajouter une nouvelle variable de règle de programme
Poids, élément de données dans l'événement actuel, Poids (en kg)

Créer la règle de programme¶
Fournir les détails de la règle de programme

Dans l'expression, nous combinons plusieurs principes pour créer notre sortie en utilisant une fonction personnalisée, les opérateurs logiques "AND" et "OR" ("et" et "ou") ainsi que des crochets pour définir les limites de la valeur du poids. Étant donné que cette valeur est numérique, nous pouvons appliquer une logique similaire à une règle de validation afin de détecter les valeurs que nous considérons comme hors limites. Expliquez aux participants tout ce que vous faites (pourquoi les parenthèses sont importantes pour regrouper les éléments d'une règle ; pourquoi nous utilisons certains opérateurs logiques ici).

Fournir l'action de la règle de programme

Tester la règle de programme comme ce fut fait précédemment
Vider le cache de votre navigateur en utilisant l'application de nettoyage de la mémoire cache du navigateur.

"Sélectionner tout" -> Vider

Lorsque la valeur du poids se situe hors des limites que vous avez définies, un message d'avertissement s'affiche.


Lorsque le poids se situe dans les limites que vous avez définies ou que l'élément de données 'Poids' ne dispose pas de valeur, aucun message d'avertissement ne devrait apparaître.

STOP - Demander aux participants de faire l'exercice 3 du guide de l'apprenant¶
Règle 4 - Créer une règle de programme à partir de la carte de traitement de la tuberculose.¶
Montrer le site de la maladie dans le widget des commentaires
Accéder aux règles de programmes en allant dans Maintenance ⇒ Programme.
Se connecter à l'instance vierge et aller dans l'application de Maintenance.

et cliquer sur Programme

Ajouter une nouvelle variable de règle de programme

Nous voulons voir le site de la maladie quelle que soit l'étape que nous visualisons dans Saisie Tracker. Le site de la maladie n'est renseigné qu'à l'étape initiale ; nous voulons donc y faire référence pour afficher les informations nécessaires dans le widget. Il s'agit d'un exemple où nous pouvons utiliser un champ source différent de celui que nous avons utilisé jusqu'à présent.
Créer la nouvelle règle

Créer et expliquer l'expression. Nous allons utiliser une fonction appelée d2:hasValue pour vérifier s'il existe une valeur pour l'élément de données.

Définir l'action

Pour l'action, nous allons afficher la valeur qui a été prise dans le widget des commentaires.
Tester la règle. Vider le cache si nécessaire

STOP - Demander aux participants de faire l'exercice 4 du guide de l'apprenant¶
Règle 5 - Créer une autre règle de programme pour la carte de traitement de la tuberculose qui permet d'attribuer l'âge en fonction de la date de naissance¶
Accéder aux règles de programmes en allant dans Maintenance ⇒ Programme.
Se connecter à l'instance vierge et aller dans l'application de Maintenance.

et cliquer sur Programme

Ajouter une nouvelle variable de règle de programme
Variable de règle de programme "date de naissance" avec type de source "Attribut d'entité suivie".

Créer la règle de programme
Fournir les détails de la règle de programme

Dans l'expression, nous allons utiliser une fonction numérique. Vous pouvez demander aux participants de consulter la documentation pour voir une liste complète des fonctions personnalisées disponibles pour l'utilisateur, car les autres ne seront pas abordées en détail ici. L'objectif est de leur donner une idée de ce à quoi servent ces fonctions.

Fournir l'action de la règle de programme

Tester la règle de programme comme ce fut fait précédemment
Vider le cache de votre navigateur en utilisant l'application de nettoyage de la mémoire cache du navigateur.

"Sélectionner tout" -> Vider

Enregistrer une nouvelle entité et entrer la date de naissance

Après avoir entré la date de naissance, l'âge sera calculé.
