Conception et Mise en place d'une Application Web SPA pour les établissements médicaux
1. Conception et Mise en place d’une Application
Web SPA pour les Établissements Médicaux
République Tunisienne
Ministère de l'Enseignement Supérieur et la Recherche Scientifique
Université de Tunis El Manar
Soutenance de Projet de Fin d’Etudes
Spécialité Génie Logiciel et Systèmes d’Information
Réalisé par :
Zohra BEN AHMED
Année Universitaire: 2016-2017
Encadré par :
Monsieur Hamed KOLSI Cynapsys
Monsieur Sahbi BAHROUN ISI
2. Sommaire
Introduction
Cadre du projet
Spécification des besoins
Premier livrable
Deuxième livrable
Troisième livrable
Démonstration
Conclusion et perspectives
5. ✓ ESN , prestation de services
✓ Pôles technologiques: .Net…
✓ Services: Ingénierie Software, TMA, Test..
Cadre du projet
(1/9)
Organisme d’accueil
+ plus de 60 clients de 14 pays à
travers le monde
3
8. Critiques de l’existant
Cadre du projet
(4/9)
Le manque
de
confidentialité
de
l’information
Niveau de
détail
insuffisant
Temps de
latence
remarquable
Absence des
résumés sur
les patients
Des
problèmes de
gestion des
rendez-vous
avec les
patients
5
9. “
Solution proposée
Cadre du projet
(5/9)
• Agenda partagé;
• Génération de créneaux;
• Suivi des rendez-vous;
• Suivi des patients et médecins.
• Notification par mail et message;
Application Web• Authentification;
Objectifs de la solution proposée:
• Diminuer le coût de la fonction secrétariat des
cabinets.
• Faciliter la recherche et l’accès aux informations.
• Permettre la prise de rendez-vous autonome (self-
service).
• Permettre le gain du temps.
• Augmenter le chiffre d’affaire des cabinets.
6
33. Conclusion et perspectives
Conclusion et
Perspectives
• Réservation des rendez-vous
• Suivi des patients
• Ajout des consultations
• Génération les créneaux disponibles
• Envoi des notifications
• Internationalisation
Notre système permet:
Perspectives proposées :
Génération de graphes Géo localisation
27
Bonjour mesdames et messieurs nous allons présenté notre projet de fin d’études intitulé ,,,,, réalisé au sein de la société tunisienne ,, réalisé par moi-même ,,,,, encadré par ,,,
D’abord Nous allons entamer par une introduction suivie par la présentation du cadre du projet ainsi que la méthodologie adoptée ensuite nous allons analyser les besoins de notre projet , illustrer les outils et technologies et la réalisation et enfin nous allons conclure et énumérer quelque perspectives,
Au travail, qui n’a jamais perdu du temps à devoir passer un coup de fil à son médecin pour prendre un rendez-vous ? En tant que médecin, n’est-ce pas agaçant de devoir répondre à un appel pendant une consultation ?
Alors, nous avons implémenté cette application permettant essentiellement la réservation des rendez-vous afin d’augmenter la fiabilité, l’efficacité de l’effort humain et faciliter les tâches pénibles au sein des établissements médicaux
ESN (Entreprise du Services de Numérique) pluridisciplinaire, implantée en France, Allemagne et en Tunisie,
société spécialisée dans le conseil et le développement spécifique des solutions logicielles. Cynapsys a pour mission de concevoir et de mettre en place des solutions TIC adaptées aux besoins de ses clients dans les domaines des télécommunications, de la finance et l’industrie.
Malheureusement avec l’augmentation de la charge de travail (surtout dans le secteur de santé), la secrétaire sera vite dépassée (elle pourra pas gérer tout les flux d’informations tq la prise de rdv)
De plus, La prise de rendez-vous dépend entièrement des heures de travail de la secrétaire
Impossible aux clients de prendre rendez-vous le soir ou les weekend
Ensuite, Pour bien définir les fonctionnalités de notre système en tenant compte des bonne pratique des concurrents on a procédé à un benchmarking concurrentiel.
Les noms de domaines fleurissent dans le champ de la prise de rendez-vous médicaux en ligne : doctolib.fr, rendezvousfacile.com, keldoc.com, rdvmedicaux.com, docmii.com, clicrdv.com… Ces services représentent un gain de temps pour les patients et pour les professionnels de santé, et donc la réalisation d’économies.
La gestion de chaque établissement médical peut avoir quelques difficultés. Celles-cipeuvent se résumer dans :
• Des problèmes de gestionxdesxrendez-vous avec les patients.
• La répétitionxdes informations relatives aux patients.
• Le manque de confidentialité de l’information.
Vu les besoins préliminaires, nous proposons une approche de solution qui consiste à concevoir et à développer une application qui facilitera les insuffisances et les défaillances énumérées précédemment. On propose alors de concevoir une nouvelle application "Single page application" permettant l’organisation et l’automatisation des tâches qui ne peuvent être exercées sans l’appui
d’un réseau de communication pour diffuser les informations. Cette application permettra en outre d’assurer une meilleure communication et cohérence de l’information, optimiser le temps d’accès aux différentes données, éviter les tâches pénibles et ennuyeuses et permettra également aux patients un meilleursuivideleursrendez-vousdansunservicemédicaldemêmepourlespraticiensconcernés .Ce type d’application métier s’avère très utile non seulement afin de subvenir aux besoins des patients mais il peut aussi représenter un réel avantage pour les médecins. Il s’agit de rapprocher le médecin de ses patients et de le rendre plus disponible et surtout accessible en cas de besoin.
*Le.NETCore est une version modulaire du .NETFramework portable sur plusieurs plateformes pour optimiser le partage et la réutilisation du code. En outre, le .NET Core est open source et accepte les contributions de la Communauté.
*Entity Frameworkx(EF) Core est une version légère, extensible et multiplate-forme de la technologie d’accès aux données EntityFramework. EFCore est un mappeur objet-relationnel (ORM) qui permet aux développeurs .NET de travailler avec une base de données utilisant des objets .NET. Il élimine la nécessité de la plupart des codes d’accès aux données que les développeurs ont généralement besoin d’écrire.
*Angular 2 est un Framework JavaScript open source pour créer des applications Web en HTML et JavaScript et a été conçu comme une première approche mobile .Angular2 comprend des éléments de programmation réactive, nous utilisons donc les "Observables" pour créer des services et des composants qui peuvent réagir aux changements de données dans notre application. Elles font partie de la bibliothèque d’extensions réactives JavaScript (RxJS) et sont définies comme une fonctionnalité incluse dans la version ES7.
* à destination des équipes plus petites, Visual StudioProfessionnel permet de développer des applications de qualité sur des périphériques et des services,à l’aide d’une solution unique et avec une expérience xdedéveloppementcohérente. L’EDI dispose des outils pour la création des applications natives Windows Store, Windows Modile, Android, iOS, des applications Office, des applications Web, etc.
*postman: Postman est une application permettant avec un navigateur Web de lancer des appels d’API et de les tester. Postman permet d’envoyer des requêtes vers l’API de site en lui ajoutant des en-têtes clés / valeurs puis il permet de formater le résultat sur plusieurs formats tels que JSON, XML, HTML et autres.
*LINQPad est un utilitaire logiciel ciblé sur le développement Microsoft .NET . Il est utilisé pour interroger les bases de données SQL à l'aide de LINQ.
Nous avons opté dans notre projet pour l’utilisation de la méthodologie Agile et plus précisément la méthodologie Scrum qui permet l’impliquation abondante du client , constitué des étapes illustré ci dessous la réalisation du backlog de produit , la planification des sprints ,la réalisation des sprints et enfin la livraison d’une version du produit.
*L’architecturedenotreapplicationestl’architectureMVCWebAPI.Ils’agitd’uneméthode de conception qui crée une séparation entre la logique métier ou de traitement et la logique de présentation.
Un contrôleur est un objet qui gère les requêtes HTTP
Le client est ce qui consomme l’API Web
• Un modèle est un objet qui représente les données
Authentification : Chaque utilisateur (médecin, patient, administrateur), possède un login et un mot de passe spécifique qui lui permet de vérifier son identité, afin d’autoriser l’accès de cette entité à des ressources en toute sécurité.
• Gestion des comptes utilisateurs : Cette fonctionnalité est assurée par l’administration de notre système qui est capable de gérer l’ensemble des utilisateurs.
• Affectation des rôles : Tout utilisateur de ce système doit posséder un rôle qui est affecté par l’administrateur. En revanche, on a favorisé l’implémentation des permissions qui sont plus avantageux que les rôles.
• Suivi des patients : Le médecin prend en charge la gestion de ses patients sans avoir besoin d’un secrétaire et qui lui facilite ses différents tâches.
Contrôle des médecins : L’administrateurdoitassocieruncomptepourchaquemédecindésirantadhéreràcetteapplication tout en associant les informations spécifiques comme l’Id de service et le nom de département.
• Suivi par calendrier : Elle concerne tout patient inscrit qui peut avoir à sa disposition tout un historique de ses rendez-vous déjà pris soit en tant que liste view ou sur un calendrier.
• Affectation des départements : Cette partie concerne la création des différents départements existants dans un établissement pouvant être affecté à un médecin.
• Suivi des RDV : Le patient a la possibilité de prendre un rendez-vous et il peut consulter l’état de sa demande de rendez-vous (En attente, acceptée ou refusée), de plus le médecin peut accepter ou refuser une demande de rendez-vous selon sa disponibilité.
• Affichage de l’historique des rendez-vous : Le médecin peut consulter l’historique des demandes qu’il a acceptées et refusées.
• Générer la disponibilité : Chaque médecin doit générer ses créneaux en spécifiant l’horaire de disponibilité avec la possibilité de basculer un temps de réservation et le désactiver.
• Envoyer notification : Après la réservation de rendez-vous, le patient recevra un mail de confirmation comprenant les différentes informations relatives au planning, de même pour le médecin concerné.
• Rapidité : il est clairement établi que la vitesse d’affichage influence fortement l’efficacité de l’application. C’est pour cette raison qu’il faut développer une application fournissant des résultats efficaces et cohérents et dans un temps négligeable suite aux requêtes issues des utilisateurs,
• User-Expérience (UX) : l’application devra être plus utilisable, désirable et navigables permettant successivement la facilité d’emploi avec des interfaces consistantes,l’attrait visuel et la rapidité d’obtenir des informations,
• Internationalisation : l’application doit être multilingue essentiellement en Anglais, Français et Arabe qui peut constituer un avantage concurrentiel par rapports aux autres produits,
• Fiabilité : les résultats apportés par l’application doivent être fiables et reflètent effectivement l’état de la base au moment de son interrogation, c’est-à-dire des données mises à jour,
• Disponibilité : l’application doit être disponible à tout instant pour être utilisée par n’importe quel utilisateur, et doit être facilement accessible,
• Extensibilité : toute amélioration ou modification doit être facile à réaliser, ainsi notre application devra garantir un degré d’extensibilité à tout développeur souhaitant y contribuer
L’administrateur : Ilpossèdeledroitd’accéderauxdifférentesrubriquesdel’applicationafind’ajouterdesnouveaux utilisateurs et d’attribuer des droits d’accès et un rôle bien déterminé pour chaque utilisateur au niveau de son profil afin de lui permettre ou pas d’agir sur certaines données au niveau d’un module donné dans un établissement donné.
• Le patient : Le patient peut accéder au planning des visites via internet afin de demander un RDV, il peut modifier ou annuler un RDV tout en recevant un mail de confirmation.
• Le médecin : Le médecin peut gérer le planning de consultation quotidien. Il peut ajouter, modifier ou supprimer au niveau de la gestion des Rendez-vous, il peut gérer les solts de temps disponibles pour que le patient puisse réserver un RDV durant l’horaire convenable. Chaque médecin peut être associé à un service et un département bien déterminé .
Nous allons présenté LE diag cu qui défini l’aspect fonctionnel de notre projet :
La gestion des droits d’accès est liée directement à la gestion des utilisateurs, en effet l’administrateur peut créer des profils qui diffèrent d’un utilisateur à un autre selon les droits attribués.
La classe Rôles : est une classe qui définit le rôle affecté à chaque utilisateur, d’où un utilisateur peut avoir un seul rôle et un rôle peut être affecté à plusieurs utilisateurs.
• La classe Permission :estuneclassequivalidelesinformationsd’identificationdel’utilisateur et gère les paramètres utilisateurs. Cette classe ne peut pas être héritée.
• La classe profile : un utilisateur peut avoir au maximum un profile que décrit ses propres informations.
• La classe utilisateur : est une classe qui représente l’utilisateur de notre application quelque soitadministrateur,praticienoupatient.Elleregroupetoutesleursfonctionnalités,unutilisateur peut en faite s’authentifier et modifier ses propres informations.
• Les classes médecin et patient : sont des classes qui héritent de la classe mère utilisateur et qui représentent les acteurs de notre application.
• La classe Rendez-vous : Avant de pouvoir prendre un rendez-vous, le patient doit vérifier la disponibilité d’un médecin déjà sélectionné afin de pouvoir confirmer le rendez-vous
• La classe Notification : Après avoir fixé un rendez-vous, le patient reçoit une notification automatique par mail de confirmation en cas de non confirmation de présence, de même pour le médecin.
• La classe Département : chaque médecin doit être affecté à un département bien déterminé selon sa spécialité.