« STIC:STIC IV (2019)/Pandémie » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 167 : Ligne 167 :
==== Boucle ====
==== Boucle ====
La variable "init" permet de vérifier que le dispositif a été initialisé avec un des quatre états de santé possibles.
La variable "init" permet de vérifier que le dispositif a été initialisé avec un des quatre états de santé possibles.
Le programme vérifie constamment :
* si la personne est contaminée : lorsque c'est le cas elle peut à son tour contaminer d'autres personnes ;
* si la durée d'incubation est dépassée : lorsque c'est le cas les symptômes apparaissent ;
* si la durée de la maladie est dépassée : lorsque c'est le cas la personne devient saine immunisée ou meurt.
[[Fichier:Pandemie boucle forever.png|néant|vignette|600x600px|Boucle principale]]
[[Fichier:Pandemie boucle forever.png|néant|vignette|600x600px|Boucle principale]]



Version du 19 janvier 2020 à 22:49

Projet réalisé par Nicolas Burau et Mathilde Gacek Langlois

Introduction

Notre projet Pandémie vise à simuler plusieurs situations de propagation d'une maladie en prenant en compte plusieurs paramètres tels que l'existence d'un vaccin, d'un médicament et de populations à risque. Il s'agit d'une simulation semblable aux micro-mondes sur les modèles des prédateurs proies. L'Adafruit Circuit Playground Express permet de simuler la propagation grâce à son émetteur/capteur à infra-rouge.

Le but du projet est de montrer l'intérêt d'une stratégie vaccinale à l'échelle d'une population. L'idée est d'impliquer les élèves dans un jeu de rôle recréant les conditions de propagation d'une maladie infectieuse de type rougeole. L'organisation du jeu permet de comprendre la notion de seuil de couverture vaccinale et son importance vis-à-vis de populations à risque comme les femmes enceintes ou les nourrissons.

Problème

Description du problème en quelques lignes mais sans entrer dans les détails (les détails sont a donner dans la partie suivante relative au cahier des charges). Apport théoriques (notamment ce qui a été fait dans le domaine)

La vaccination est admise comme étant la meilleure protection contre les maladies infectieuses (cf. OSFP). On observe toutefois aujourd'hui une défiance croissante envers elle. Ce phénomène devient un problème de santé publique dans la mesure où l'absence d'atteinte des seuils de couverture vaccinale ouvre la possibilité de fortes épidémies. La nécessité d'actions de prévention et d'information est soulignée par différents organismes nationaux et internationaux afin de favoriser la compréhension de ce qu'est la vaccination et de ses enjeux.

Notre projet s'inscrit dans cette démarche et vise, dans le cadre scolaire, à démontrer le double intérêt de la vaccination : lutter contre la propagation d'une maladie et protéger les groupes de population à risque. L'approche par jeu de rôle est l'occasion d'impliquer personnellement les élèves et de les sensibiliser dès le premier cycle.

Elle offre une approche originale au regard de ce qui existe aujourd'hui en terme d'action pédagogique et qui consiste principalement à faire travailler des élèves de niveau secondaire 2 à partir de simulations numériques (cf. logiciel Net-Bio-Dyn).

Cahier des charges

Contexte

Le seuil de couverture vaccinale est rattachée à la notion d'immunité de groupe. Il représente le pourcentage de personnes devant être immunisé pour qu'une maladie ne puisse se transmettre au sein d'une population et disparaisse. Ce seuil varie selon la contagiosité des maladies.

Actuellement les seuils de couverture vaccinale pour un certain nombre de maladies infectieuses, comme la rougeole, ne sont pas atteints en Europe. Ce constat s'accompagne d'un phénomène d'hésitation vaccinale qui témoigne d'une nouvelle réticence vis-à-vis de la vaccination (cf. enquête eurobaromètre 2019). Les conséquences d'un tel phénomène sont importantes en termes de santé publique et conduisent à la mise en place et à la promotion d'actions d'informations et de prévention.

Dans ce but, le Plan d'Etude Romand fixe l'objectif d'"organiser des actions de promotion de la santé et de prévention" dans le domaine de la santé et du bien-être. La Stratégie Nationale de Vaccination (SNV) adoptée le 11 janvier 2017 par le Conseil fédéral et chargée d'être mise en application par l'Office fédéral de la santé (OFSP) comporte un axe d'intervention spécifique autour de la communication notamment : "Favoriser l’accès aux informations sur la vaccination et aux vaccinations à l’école et dans les crèches". Cette volonté rejoint le Plan d'action européen pour les vaccins 2015-2020 élaboré par l'Organisation Mondiale de la Santé qui se donne comme deuxième objectif : "Individuals understand the value of immunization services and vaccines and demand vaccination" ("Chacun comprend la valeur des services de vaccination et des vaccins et demande à être vacciné").

Notre projet s'inscrit ainsi dans un domaine d'intervention au coeur d'un problème sensible de santé publique.

Public

Le projet s'adresse à des classes d'élèves de cycle 2 de primaire (8-12 ans).

Objectifs

Dans la continuité des objectifs proposés par l'OFSP et l'OMS pour améliorer les systèmes de vaccination, notre projet vise à démontrer aux élèves de premier cycle l'utilité de la vaccination :

  • pour lutter contre la propagation de maladies infectieuses ;
  • pour protéger les populations à risque.

Besoins et contraintes

Besoins et contraintes techniques

D'un point de vue technique, notre projet nécessite de simuler la propagation d'une épidémie et de pouvoir l'observer. Nous devons donc :

  • disposer d'un système de communication entre les participants qui leur permette de passer d'un état "sain" à un état "contaminé" ;
  • définir différents états de santé ;
  • définir des rôles particuliers (personnes à risque, médecin) ;
  • être capable de visualiser pour chaque participant son état de santé et son éventuel rôle particulier ;
  • définir les relations existant entre les différents états et rôles.

Les circuits Adafruit Circuit Playground Express permettent de répondre à ces contraintes techniques car ils sont programmables et disposent d'un émetteur et d'un récepteur infrarouge.

Contraintes matérielles

  • Chaque participant doit disposer d'un circuit Adafruit. Il faut donc environ une vingtaine de circuits Adafruit Circuit Playground Express pour réaliser l'activité au sein d'une classe.
  • Les dispositifs doivent être visibles : nous avons choisi de les coudre sur des chapeaux fabriqués en feutrine.

Contraintes humaines

  • Nous devons disposer des autorisations nécessaires pour travailler avec des enfants.
  • L'activité doit pouvoir être lancée rapidement.

Présentation du projet

Notre projet consiste en la mise en oeuvre d'un jeu de rôle permettant d'expérimenter au sein d'une classe le développement d'une épidémie.

Les joueurs évoluent dans un espace délimité (la salle de classe ou une partie de la cour de récréation) et portent de manière visible le circuit Adafruit. Ce circuit affiche :

  • l'état de santé du joueur (sain-immunisé, sain-non immunisé, contaminé, mort) ;
  • une particularité éventuelle du joueur (personne à risque, médecin).

Chaque circuit communique avec les autres par infrarouge. Les personnes infectées peuvent par ce moyen contaminer d'autres personnes. Ces dernières réagissent différemment selon leur état de santé et leurs particularités. Le jeu se poursuit jusqu'à ce que la maladie ne se propage plus.

Solution

Présentation de la solution : décrire le dispositif et son fonctionnement. Une petite documentation peut être réalisée à destination des utilisateurs-trices. Vous pouvez aussi présenter ici des prototypes où vous expliquez comment vous avez conçus le projet et quelles ont été vos difficultés.

Entités

Etats de santé

Cinq états de santé sont définis :

  • sain-non-immunisé : la personne n'est pas vaccinée contre le virus et ne l'a jamais eu ;
  • sain-immunisé : la personne est immunisée contre le virus par un vaccin ou parce qu'elle a guéri de la maladie ;
  • contaminé-sans-symptômes : la personne a été contaminée par le virus. Elle est en phase d'incubation et ne présente pas de symptômes ;
  • contaminé-avec-symptômes : la personne est contaminée par le virus et présente les symptômes de la maladie ;
  • mort : une personne contaminée n'a pas guéri.

Rôles supplémentaires

Deux rôles supplémentaires sont définis :

  • le médecin : il est sain immunisé. Il peut vacciner une personne contaminée avec symptômes si elle n'est pas à risque.
  • la personne à risque (femme enceinte, personne immunodéprimée, nourrisson...) : la personne à risque contaminée ne peut pas être vaccinée et meurt à la fin de la maladie.

Variables ajustables

Les variables suivantes peuvent être ajustées selon la maladie considérée et permettent ainsi de faire varier les scénarios.

  • la durée d'incubation ;
  • la durée de la maladie ;
  • la probabilité de mourir.

Actions

Changements d'états possibles

Le tableau ci-dessous décrit la possibilité pour l'état 1 (en colonne) de passer à l'état 2 (en ligne).

sain non immunisé sain immunisé contaminé sans symptômes contaminé avec symptômes mort
sain non immunisé X (si contamination)
contaminé sans symptômes X (si incubation terminée)
contaminé avec symptômes X (si vaccination ou guérison) X (si pas de guérison)

Relations

  • Contamination : Une personne contaminée transmet le virus à une personne saine non immunisée.
  • Vaccination : Un médecin donne un vaccin à une personne qu'il constate malade (contaminée avec symptômes) qui n’est pas à risque.
  • Fin incubation : La durée d’incubation est dépassée.
  • Guérison : La durée de la maladie est dépassée et la personne est en vie.

Programmation

La programmation a été réalisée avec MakeCode.

Variables

L'activité est proposée pour une maladie spécifique : les variables ajustables sont donc fixées dans le programme.

  • la durée de la maladie et la durée d'incubation sont exprimées en secondes. Afin de rendre l'activité moins prévisible et plus conforme à la réalité, nous avons programmé une durée d'incubation variable.
  • la variable "vie" représente la probabilité de mourir que nous avons implémenté comme le risque d'être tiré aléatoirement dans un intervalle plus ou moins grand (il y a par exemple 0,2% de chance d'obtenir 1 si on tire un chiffre aléatoirement entre 1 et 500).
Pandémie variables initiales

Les variables booléennes "contaminated", "symptom" et "immunité" permettent de définir l'état de santé.

Les autres variables présentes sont des variables numériques dont le rôle apparaît ci-après.

Entrées

Il faut pouvoir faire varier les états de santé et les rôles initiaux de manière rapide afin de pouvoir enchaîner plusieurs scénarios dans une même séquence d'activité. Les états de santé et le rôle de la personne à risque sont ainsi définis par différentes entrées qui évitent de devoir à nouveau télécharger les programmes entre chaque scénario. Le médecin possède un circuit Adafruit spécifique.

  • Un clic simple sur le bouton A initialise l'état sain non immunisé ;
  • Un clic long sur le bouton A initialise le rôle personne à risque ;
  • Un clic simple sur le bouton B initialise l'état contaminé sans symptômes ;
  • Un clic simple simultané sur les boutons A et B initialise l'état sain immunisé.

Visuellement seules les personnes à risque sont identifiables : l'intensité des leds est plus faible.

Images code inputs
Entrées programme pandémie

Réception infrarouge

Si le dispositif reçoit l'identifiant 1, que la personne n'est pas contaminée et n'est pas immunisée alors elle devient contaminée.
Si le dispositif reçoit l'identifiant 2 et n'est pas une personne à risque alors elle est vaccinée et devient saine immunisée.

Programme réception infrarouge

Fonctions

Nous avons défini cinq fonctions : "sain", "contamination", "fin_incubation", "fin_maladie", "vaccination".

  • La fonction sain représente l'état non contaminé et non immunisé.
Fonction sain
  • La fonction contamination fait passer la variable "contaminated" à "vrai" et démarre le décompte de la durée d'incubation.
Fonction contamination
  • La fonction fin_incubation marque l'apparition des symptômes et démarre le décompte de la durée de la maladie.
Fonction fin_incubation
  • La fonction fin_maladie met les variables "contaminated" et "symptom" à "faux" et fait passer à l'état mort si la personne est à risque ou dans le pourcentage de décès, à l'état sain immunisé sinon.
Fonction fin_maladie
  • La fonction vaccination fait passer à l'état sain immunisé si la personne n'est pas à risque.
Fonction vaccination

Boucle

La variable "init" permet de vérifier que le dispositif a été initialisé avec un des quatre états de santé possibles.

Le programme vérifie constamment :

  • si la personne est contaminée : lorsque c'est le cas elle peut à son tour contaminer d'autres personnes ;
  • si la durée d'incubation est dépassée : lorsque c'est le cas les symptômes apparaissent ;
  • si la durée de la maladie est dépassée : lorsque c'est le cas la personne devient saine immunisée ou meurt.
Boucle principale

Programme

Le programme complet est disponible ici.

Cas particulier du médecin

Le médecin est considéré comme étant sain et immunisé. Son rôle est de pouvoir vacciner des personnes malades qui ne sont pas à risque. Il possède son propre circuit Adafruit et envoie par infrarouge l'identifiant spécifique "2" qui déclenche la fonction vaccination sur les dispositifs récepteurs.

Test(s) de la solution

# Travail individuel: "wearable" réalisé + fichiers + documentation dans votre page projet avec "cognitive walkthrough" ou similaire pour le testing. Comme ressource pour le testing, voir la page en:Cognitive walkthrough.

  1. Travail à 2: Comme (1) + avec un test utilisateurs (3 personnes minimum) c'est à dire creation d’un scenario (tâches à réaliser), passation et analyse des résultats. Comme ressources pour le testing, vous pouvez utiliser les pages en:Usability testing.

La rougeole [1]

La rougeole est une maladie infectieuse très contagieuse qui se transmet par voies aérienne ou par contact direct avec les sécrétions du nez et de la gorge des personnes infectées.

La période d'incubation varie entre 7 et 18 jours.
Les malades sont contagieux environ 5 jours avant l'éruption cutanée et jusqu'au 5e jour après.
On observe un décès dans environ 0,2% des cas[2].

Modélisation

Dans une première approche, nous considérons que la personne infectée est contagieuse dès le début de la phase d'incubation (omission de la phase d'incubation silencieuse) et jusqu'à la disparition des symptômes. Dans le cas de la rougeole on considère ainsi que la durée d'incubation et la durée de la maladie à partir de l'apparition des symptômes sont égaux (environ 5 jours).
D'après les courbes épidémiologiques, la durée d'une épidémie est d'environ 8 semaines pour une contagion par individu qui dure environ 10 jours. Il faut donc compter que le scénario dure environ 6 fois plus longtemps que la durée (incubation + maladie) choisie. Pour le test nous avons choisi durée incubation = durée de la maladie = 100 secondes.
La probabilité de décès de 0,2% est représentée par la probabilité d'obtenir le chiffre 1 dans la sélection aléatoire d'un chiffre de 1 à 500.

Scénario

Le scénario a été construit pour 4 enfants entre X et Y ans. Le rôle du médecin n'a pas été considéré car il n'aurait pas eu de sens avec un nombre si faible de participants.

Discussion

Cette partie inclus deux sous parties :

  • Discussion du design (et si c'était à refaire)
  • Discussion des résultats de vos tests utilisateurs

Licence, fichiers et documentation

By-nc.png Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale 4.0 International.

  • Fichiers :

Insérer ici vos fichiers ou les liens vers vos fichiers

  • Documentation :

Insérer ici une petite documentation pour l'utilisation de l'objet si nécessaire

Bibliographie