Skip to content
On this page

Enutriv

INFO

Ce projet appartient à T-med.

Présentation

e-Nutriv est une plateforme de repérage, de diagnostique et de suivi de la dénutrition chez les personnes âgées.

La plateforme est composée de 2 parties :

  • MobileApp : Application mobile plutôt orienter pour les utilisateurs "terrains" (infirmières, aides à domicile, ...) pour permettre la prise de mesures pour un bénéficiaire (taille, poids, questionnaires, ...)
  • WebApp : Web-App pour l'accès "nutritionnistes / admins", elle permet de consulter les statistiques, procéder à des exports, consulter et ajouter des patients, gérer les alertes, ...

L'application utilise Laravel, ainsi que Vue.js. D'autres modules sont aussi utilisés tel que :

  • Inertia pour faire le lien facilement entre php et javaScript
  • SweetAlert afin de créer des alertes modulable et réactive
  • Tailwinds pour le CSS
  • ...

Les alertes

Lors de la saisie de données, un algorythme peut être enclenché afin de vérifier l'état de nutrition actuel de la personne, le résultat donnera lieu à l'émission, ou non, d'une alerte.

Les critères utilisés sont basé sur les recommandations / obligations suivantes :

Une alerte peut avoir plusieurs "niveaux" (severity) :

  • Verte : La situation n'a rien d'anormal OU une situation précédente s'est améliorée et le patient est de retour dans des paramètres normaux
  • Orange : Un état de dénutrition est detecté
  • Rouge : Un état de dénutrition sevère est detecté

Apercu de l'application

connexion

Premiere version du player 2022

Version revu avec les chercheurs 2023

Ma contribution

En dehors d'issue d'optimisation j'ai contribué sur plusieurs points :

WebAPP

Ajouter champ "Date d'inclusion" à l'ajout d'un patient

Sur la route /patients/create, dans le formulaire et le controller, ajout de la possibilité de surcharger le champ created_at.

Cette modification n'est possible et visible que pour les utilisateurs administrateurs, et la date ne peut être qu'à l'instant même ou dans le passée. Refus les dates dans le futur.

Signature numérique

Dans la modal d'ajout d'un document, sur la fiche d'un patient, ajout d'un choix à l'ouverture Téléverser un document ou Signer numériquement.

En cas de choix Téléverser un document, affichage du contenu actuel (Nom et Fichier).

En cas de choix Signer numériquement, affichage de deux éléments :

  • Une liste déroulante pour sélectionner le modèle de document
  • Un encart de signature

Lors de la validation, la signature de l'encart est apposé au modele. Le modèle rempli automatiquement les champs lié au patient. Il est transformé en PDF et ajouté au dossier du patient.

Envoi d'email à la génération d'une alerte

Dans le cas de la génération d'une alerte, l'application envoie un mail à tous les membres (utilisateurs) rattachés à l'UF / Services du patient générant l'alerte.

Le contenu du mail est structuré comme suit :

  • Titre : Nouvelle alerte
  • Paragraphe : Une nouvelle alerte concernant l'un de vos patients vient d'être générée sur la plateforme e-Nutriv, cliquez sur le bouton ci-dessous pour en prendre connaissance.
  • Bouton : Voir l'alerte (et redirige vers la fiche du patient)

Évolutions "Retards de visites"

Des évolutions ont été demandées par le client pour améliorer le suivi des patients en retards de visite. L'application peut desormais afficher les retards de visite, et filtrer les patients par retards.

Gestion du champ enabled sur les utilisateurs (pas les patients)

Avant, il n'etait pas possible de supprimer un utilisateur, il a fallu ajouter la gestion du champ enabled dans l'administration d'un utilisateur, et de pouvoir le passer de true à false et inversement, ayant pour effet d'invalider le login de l'utilisateur et les tentatives futures.

Passage à Laravel9/Vite

Upgrade de Laravelb 8 à Laravel 9 ainsi qu'à l'utilisation de Vite au lieu de BrowserSync.

Export d'information

Extraction des données patients Données Rapprochées. Cela consistait à extraire pour l'export toutes les alertes, trouver les données les plus proches du moment de l'alerte, et concaténé le tout dans un format excel.

Limiter l'accessibilité aux exports aux admins

Trois rôles existent :

  • admin
  • manager
  • user

Avant, les 3, en se connectant à la WebApp, pouvait exporter les datas d'e-Nutriv ; vu l'intégration prochaine de nouvelle structure, il convient de modifier la règle pour autoriser UNIQUEMENT les admins à procéder à des extractions.

Il a fallu donc rajouter un middleware sur les routes d'exports, et masquer l'icone (et la modale) pour les non-admins sur le front.

MobileApp

Création d'une APK de Test

Génération d'une APK qui pointe vers l'environnement de test, au lieu de la production.

Ajout d'une confirmation lors d'une tentative de changement sur la question "Maladie Chronique"

Lors de l'ajout d'une entrée/action HAS 2022, la question B "Maladie Chronique" peut être positive ou négative.

Cette question est souvent confuse pour les équipes, qu'est-ce qui fait qu'une maladie est chronique, ... et les réponses alternent en fonction de qui pose la question, ce qui donne lieu à l'émission (ou la non-émission) d'alerte de façon aléatoire pour certains patients.

Il a fallu ajouter une vérification lors de la réponse à cette question, la vérification doit s'occuper de récupérer le dernier résultat à la question (parmi les évaluations précédentes), et voir si un changement est détecté (ne rien faire si aucun changement ou si c'est la première évaluation).

En cas de changement détecté, une popup de confirmation est affichée à l'utilisateur :

  • Si "Oui", autoriser le changement
  • Si "Non", ne pas modifier la valeur

L'ajout de ce système nécessite de récupérer la dernière évaluation et doit donc être donner suite à un ajout sur l'API d'e-Nutriv WebApp