Antoine Lefebvre Modélisation et simulation des interactions en situation d urgence

De Ensiwiki.

Aller à : Navigation, rechercher


Sommaire

  • 1 Modélisation et simulation des interactions en situation d urgence
    • 1.1 Etudiant
    • 1.2 Introduction
    • 1.3 Eléments de pré-requis
    • 1.4 Travail réalisé
      • 1.4.1 Analyse
      • 1.4.2 Modélisation
      • 1.4.3 Implémentation
      • 1.4.4 Validation (Tests)
    • 1.5 Conclusion
    • 1.6 Références
    • 1.7 Documents additionnels

Modélisation et simulation des interactions en situation d urgence

Labo LIG
Equipe MAGMA
Encadrants , yves.demazeau@imag.fr julie.dugdale@imag.fr , yves.demazeau@imag.fr

Etudiant

Lefebvre Antoine


Introduction

Ce TER a pour but la modélisation d'une équipe médicale durant une réanimation. Plusieurs études ont montré que durant ce type d'interventions, la qualité des communications est plus que médiocre. Il serait donc intéressant de trouver des moyens d'améliorer ce problème de communication( par exemple, un seul personne qui parle etc...). Chaque minute compte donc la moindre économie de temps n'est pas négligeable. Bien évidemment des tests en conditions réelles sont impossibles. On ne peut pas permettre de mettre des vies en jeux pour "essayer" des protocoles de communications entre les membres de l'équipe. C'est là qu'intervient la simulation. On va donc essayer de reproduire le plus fidèlement possible la situation actuelle. Une fois qu'on aura réussit à reproduire ce qui ce passe, on pourra modifier les comportements des membres de l'équipes et tenter de diminuer la quantité de temps perdu.

Pour modéliser une situation aussi complexe comportant de nombres interactions, on va utiliser un système multi-agent. On définit un agent comme une entité autonome prenant des décisions en fonction de son environnement. Un système multi-agent est donc un ensemble d'agent interagissant les uns avec les autres. Le logiciel choisi pour gérer les agents est Netlogo. Il permet à l'aide d'un langage très basique de créer des agents et des créer des fonctions et des variables qui leur sont associés. De nombreuses fonctions d'affichage sont définies ce qui permet d'obtenir une interface graphique très rapidement.

Les Objectifs de ce TER sont donc :

  • Établir un modèle pour représenter les différents agents ( c'est a dire les membre de l'équipe médicale)
  • Implémenter ce modèle sous Netlogo
  • Valider le modèle (Vérifier si il est fidèle à la réalité)
  • Proposer une manière d'optimiser les communications (NON ATTEINT)


Eléments de pré-requis

Les différentes étapes d'une réanimation sont données par un algorithme bien défini. Cet algorithme est décrit dans des articles de presse médicale ( par exemple : http://www.elsevier.com/locate/resuscitation/ ) Ils contiennent de nombreux éléments techniques comme les injections à faire etc... On se contentera de garder les éléments principaux :

  • Vérification de la respiration
  • Vérification du pouls
  • Vérification du rythme cardiaque
  • Connaissance d'autres facteurs comme les antécédents.

Voici un schéma représentant les différents membres de l'équipe médicale ainsi que les tâches associées. (Document fourni par le Docteur Patel Bavesh)

Equipe-Medicale.png

Le logiciel Netlogo est un logiciel gratuit téléchargeable à l'adresse http://ccl.northwestern.edu/netlogo/ . A cette même adresse, on peut trouver une documentation très complète concernant le langage de Netlogo. Pour apprendre à utiliser ce logiciel, on peut également regarder les modèles d'exemple fournis avec le logiciel (on a accès à la fois aux simulations mais également au code du programme).


Exemple-netlogo.JPG
Exemple de programme Netlogo : déplacement de fourmis

Travail réalisé

Un coeur technique qui décrit précisément tout le travail réalisé (y compris l'exploration de pistes qui n'ont pas marché)

Le travail s'est déroulé en plusieurs étapes :

  • Analyse
  • Modélisation
  • Implémentation
  • Validation


Analyse

La documentation sur le sujet étant principalement à destination de personnes travaillant dans le domaine médicale, il a d'abord fallu extraire de ces documents les informations qui nous intéressent. Nous avions à notre disposition des articles mais aussi des vidéos de simulations sur mannequins. Cette partie a été relativement longue compte tenu du peu (voire de l'absence) de connaissances en ce domaine

Modélisation

A partir des informations que nous avons extrait des documents, nous avons conjointement élaboré un modèle formelle qui permet de représenter les différents agents. Au départ nous avions donnée un schéma général pour représenter les agents :

Agent :

  • Liste de tâches
  • Communication (une tâche particulière)

Tâche :

  • Durée
  • Pré conditions
  • Post conditions
  • Tache suivante

Communication :

  • Destinataire (Destinée à quelqu'un)
  • Source (Reçue de quelqu'un)

Ce modèle posaient néanmoins quelques difficultés :

  • La tâche suivante dépend parfois du contexte. Elle n'est pas prédéterminée
  • Les communications sont réalisés en même temps que les taches. Elles leurs sont d'ailleurs directement liées ( la plupart du temps, il s'agit d'informations sur l'état du patient). Il y a donc une nécessité de définir autrement les communications
  • L'utilisation des structures de données dans Netlogo est très difficile (voire impossible...)

Ce modèle n'étaient donc pas satisfaisant, à la fois pour l'implémentation mais également pour certains éléments intrinsèques.

Nous avons donc décidé de revoir le modèle et avons décidé de représenter chaque agent par un automate (presque déterministe). Chaque état représente une tâche et le passage d'un état à un autre et déterminé par certaines variables. Voici quelques uns des automates choisis (liste non exhaustive) :

TER-lefebant-Diagramme1.jpeg
Automate représentant la personne qui s'occupe des voies réspiratoires


TER-lefebant-Diagramme3.jpeg
Automate représentant le leader de l'équipe

Implémentation

Elle a consisté en une transcription systématique des automates en code informatique ( à l'aide de tests conditionnels etc...)

Les agents ont été défini de cette manière:


breed [doctors doctor]

breed [nurses nurse]

doctors-own [ task-time number task waiting-answer-from responder]

nurses-own [ communicating communication-time task-time number task waiting stress]



On remarquera la différence entre le leader (doctor) et ses assistants (nurse). On a garder le principe que le leader dirige l'équipe et que communiquer est sa tâche principale.


TER-lefebant-Screenshot.jpeg
Aperçu du programme obtenu

Le programme permet de modifier plusieurs paramètres (au début ou en cours de simulation) :

  • le niveau de bruit (valeur de 1 à 3 désignant de façon abstraite un niveau de bruit faible, normal ou élevé)
  • Les conditions de stress de certains agents. Une personne stressée a plus de difficultés à comprendre ce qu'on lui demande et peut perdre plus de temps qu'une personne calme

Validation (Tests)

Afin de vérifier si le programme obtenu était fidèle à nos attentes, nous avons réalisé de nombreux tests en modifiant les différents paramètres. Nous avons observé le temps nécessaire avant la première défibrillation. Voici les résultats obtenus :


Temps avant la première défibrillation en fonction du niveau de bruit(valeurs arbitraire) et du nombre de personnes soumises au stress
Noise 1 2 3

0 person stressed

57,3 58,4 63,5

1 person stressed

56 59,3 66

2 person stressed

56,5 59 66,2

3 person stressed

57,8 59,8 69,4

4 person stressed

56,8 62,5 68,8

On observe une augmentation de la durée lorsqu'un augmente le niveau de bruit. Ce qui est conforme à nos attentes. Néanmoins certains résultats ne sont pas croissant en fonction du nombre de personnes stressées. Il peut y avoir plusieurs explications :

  • Le nombre de tests n'est pas suffisant et les résultats ne sont pas assez précis
  • Certaines tâches sont totalement indépendantes les unes des autres. Ainsi lorsqu'une certaine tâche prend un temps plus important que prévu, cela n'a pas forcément une influence sur les autres tâches et sur le déroulement global de l'intervention

Conclusion

Nous avons obtenu une simulation donnant des résultats cohérents :

  • Bon enchaînement des différents tâches
  • Durée de la simulation conforme aux attentes

Néanmoins il s'agit seulement d'une bonne base de départ. En effet de nombreux paramètre n'ont pas été pris en compte :

  • Expérience des membres de l'équipe
  • Antécédents de l'équipe ( ont-ils déjà travaillé ensemble? )
  • Évolution de l'état du patient
  • Mise en place de l'équipe autour du patient ( pour l'instant on considère que toute l'équipe est déjà en place


En conclusion , nous avons obtenu un premier modèle qui nous permet de reproduire façon simpliste ce qui se passe dans la réaliste. Ce modèle obtient déjà des résultats cohérent. Mais pour plus de précisions et dans l'optique d'une recherche de moyens permettant d'améliorer les communications, il sera nécessaire de faire des études plus approfondies ( et chiffrées, avec des statistiques) sur les différents autres paramètres qui n'ont pas été considérés.

Références

  • http://www.elsevier.com (Pour les articles - Fournis par le docteur Patel Bavesh - Hopital MAyo - Arizona)
  • Schémas et vidéos fournis par le doctor Bavesh ( plus d'informations : http://www.mayoclinic.org/bio/11420201.html )
  • Site web de Netlogo http://ccl.northwestern.edu/netlogo/

Documents additionnels

  • Code du programme : media:TER-lefebant-Code-Netlogo.pdf
  • Fichier du programme
  • Transparents de la soutenance media:TER-lefebant-presentation.pdf
  • Rapport media:TER-lefebant-Report.pdf
  • Page wikipedia sur les systèmes multi-agents : http://fr.wikipedia.org/wiki/Système_multi-agents
Récupérée de « http://ensiwiki.ensimag.fr/index.php/Antoine_Lefebvre_Mod%C3%A9lisation_et_simulation_des_interactions_en_situation_d_urgence »
Catégorie : TER
Powered by MediaWiki
Attribution-Share Alike 3.0 Unported
  • Dernière modification de cette page le 31 mai 2009 à 17:20.
  • Cette page a été consultée 389 fois.
  • Contenu disponible sous Attribution-Share Alike 3.0 Unported.
  • Politique de confidentialité
  • À propos de Ensiwiki
  • Avertissements
 
Affichages
  • Page
  • Discussion
  • Voir le texte source
  • Historique
Outils personnels
  •  
  • Connexion
Actualité
  • Stage Unix de rentrée
  • Soutenances de PFE
  • Projet système
  • Projets spécialité
  • Lexique franco-anglais
  • Projet C
  • Plannings des stages
Navigation
Ensimag
  • Accueil
  • FAQ
  • Mode d'emploi
  • Droit d'auteur
  • Modifications récentes
  • Page au hasard
Boîte à outils
  • Pages liées
  • Suivi des pages liées
  • Pages spéciales
  • Version imprimable
  • Lien historique
  • Principaux contributeurs