MedShakeEHR permet à chaque utilisateur d’avoir un agenda local de consultation.
Cet agenda est personnalisable pour les éléments suivant :
– sa structure : journées de la semaine, horaires de travail, horaires de pause ...
– les types de rendez-vous qu’on souhaite y prendre (intitulé, couleur ...)
Cet agenda interne peut être synchronisé avec un agenda à distance hébergé par un tiers, en général une société commerciale spécialisée dans le domaine.
Des fonctions de synchronisation existent déjà pour certains services.
Il convient d’attribuer le paramètre administratifPeutAvoirAgenda: true
dans les options spécifiques de cet utilisateur pour qu’il obtienne un agenda à son nom.
Si l’agenda de l’utilisateur est correctement activé, il peut être facilement configuré par l’utilisateur lui-même dans ses "paramètres utilisateurs" accessibles sous son nom en haut à gauche de l’écran.
L’agenda MedShakeEHR (v4.0.0) offre 2 grands modes d’affichage : avec ou sans panneau latéral. C’est le paramètre agendaModePanneauLateral
qui gouverne ce fonctionnement.
Le choix "avec" (par défaut) conviendra à ceux qui désirent identifier le patient avant de lui communiquer un rendez-vous. Un champ de recherche est disponible en haut de colonne de gauche. Le choix d’un patient affiche son état civil et ses coordonnées. Un clic sur une plage horaire permet de lui donner un rendez-vous dont on précise les caractéristiques via une fenêtre modale qui vient en superposition.
Le choix "sans" offre une grille d’agenda sur toute la largeur. Ce mode est adapté si vous proposez d’abord un rendez-vous avant d’identifier le patient. Une plage horaire libre est cliquée, une fenêtre modale permet alors de déterminer le patient et les caractéristiques du rendez-vous.
La grille hebdomadaire de l’agenda se configure en choisissant l’onglet Agenda puis l’item "Horaires". Les paramètres proposés n’appellent pas de commentaire particulier.
Les différents types de rendez-vous possibles qui seront attribuables aux patients sur l’agenda se déterminent en se rendant à l’onglet Agenda puis "Types de consultations".
Le premier jour de la semaine peut être personnalisé avec le paramètre agendaPremierJour
. Vide, le premier jour est le jour même, à 0 le dimanche, à 1 le lundi ...
Les jours fériés peuvent être automatiquement affichés via les paramètres de configuration agendaJoursFeriesAfficher
et agendaJoursFeriesFichier
.
Le second paramètre permet de définir l’utilisation d’un fichier csv particulier contenant les dates des fériés.
Les fichiers jours-feries-seuls.csv
et jours-feries-seuls-alsace-moselle.csv
sont distribués pour la France. Ils sont extraits (sans modification ultérieure) du site data.gouv.fr. La version distribuée est indiquée dans le fichier texte les accompagnant.
En zone "Configuration", l’administrateur peut configurer finement l’agenda de chaque utilisateur en dépassant très largement les possibilités offertes par les paramétrages utilisateur.
MedShakeEHR utilise Fullcalendar. Le paramétrage interne à MedShakeEHR suit donc logiquement les options et la syntaxe de cet outil.
Sur la page spécifique à un agenda utilisateur vous trouverez la traduction en yaml des paramètres saisis côté utilisateur. Cet encart permettra une configuration rapide et des copier-coller faciles.
Un second encart, en regard de la formulation yaml, montre le fichier JavaScript généré pour interprétation par fullcalendar. Cette base ne peut être amendée directement, car les modifications côté utilisateur viendraient écraser les réglages avancés. Pour configurer finement et obtenir le résultat voulu, il faut intervenir dans la fenêtre sous-jacente en injectant du code JavaScript complémentaire.
Voici un exemple de fichier yaml classique pour une ouverture du lundi au samedi midi, avec pause quotidienne de 12h00 à 13h et des rendez-vous par créneau de 20 minutes de 9h00 à 19h00, sauf le samedi 12h00.
Lundi:
worked: "1"
visible: "1"
minTime: 09:00
maxTime: 19:00
pauseStart: 12:00
pauseEnd: 13:00
Mardi:
worked: "1"
visible: "1"
minTime: 09:00
maxTime: 19:00
pauseStart: 12:00
pauseEnd: 13:00
Mercredi:
worked: "1"
visible: "1"
minTime: 09:00
maxTime: 19:00
pauseStart: 12:00
pauseEnd: 13:00
Jeudi:
worked: "1"
visible: "1"
minTime: 09:00
maxTime: 19:00
pauseStart: 12:00
pauseEnd: 13:00
Vendredi:
worked: "1"
visible: "1"
minTime: 09:00
maxTime: 19:00
pauseStart: 12:00
pauseEnd: 13:00
Samedi:
worked: "1"
visible: "1"
minTime: 09:00
maxTime: 12:00
pauseStart: 12:00
pauseEnd: 12:00
Dimanche:
worked: null
visible: null
minTime: 09:00
maxTime: 12:00
pauseStart: 12:00
pauseEnd: 12:00
minTime: 08:00
maxTime: 20:00
slotDuration: 00:20
Ce paramétrage est plus basique. Il s’effectue en yaml.
L’exemple suivant parle de lui même :
'[CGy]':
descriptif: 'Consultation gynécologique'
backgroundColor: '#2196f3'
borderColor: '#1e88e5'
duree: 20
'[COb]':
descriptif: 'Consultation obstétrique'
backgroundColor: '#e91e63'
borderColor: '#d81b60'
duree: 20
'[E1]':
descriptif: 'Echographie 1er trimestre'
backgroundColor: '#4a148c'
borderColor: '#111'
duree: 40
'[E2]':
descriptif: 'Echographie 2e trimestre'
backgroundColor: '#7b1fa2'
borderColor: '#6a1b9a'
duree: 40
'[E3]':
descriptif: 'Echographie 3e trimestre'
backgroundColor: '#ba68c8'
borderColor: '#ab47bc'
duree: 40
'[EGyDV]':
descriptif: 'Echographie gynécologique'
backgroundColor: '#3f51b5'
borderColor: '#3949ab'
duree: 20
'[U]':
descriptif: 'Urgence'
backgroundColor: '#f44336'
borderColor: '#e53935'
duree: 20
La durée indiquée n’est en rien contraignante. Elle figure simplement comme un aide-mémoire dans le menu généré dans l’agenda.
Notez enfin la syntaxe [abréviation]
. L’ensemble doit faire moins de 10 caractères.
Les boutons permettant de réaliser des actions rapides sur un rendez-vous peuvent être configurés a minima. Dans le même champ qui sert à paramétrer la structure de l’agenda de l’utilisateur concerné, il est possible de spécifier la variable suivante (indiquée ici avec sa valeur par défaut) :
boutonsHeaderCenter = 'bloquer dossier,deplacer,cloner,honorer,supprimer';
Le rafraîchissement automatique de la grille d’agenda s’effectue par défaut toutes les 10 secondes. C’est le paramètre agendaRefreshDelayEvents
qui gouverne la fréquence. Bien qu’à la moindre action sur la grille de rendez-vous le rafraîchissement soit suspendu, il reste possible qu’un clic concomitant à l’ordre de rafraîchissement soit fait. Dans ce cas, l’action en cours est interrompue (avec demande anticipée de confirmation de réalisation de la modification sur le rendez-vous concerné, demande qu’il suffit de ne pas confirmer).
Pour éviter ce désagrément, le paramètre agendaRefreshDelayEvents
peut être réglé à 0 pour l’utilisateur qui manipule principalement l’agenda (typiquement une secrétaire). En effet l’utilisation de l’agenda en lui même donne de très nombreuses occasions de rafraîchissement sans qu’il soit besoin d’en rajouter.
MedShakeEHR est livré avec un script pour les tâches planifiées permettant d’expédier un agenda à une ou plusieurs adresses email.
Son but est de disposer d’un agenda de secours en cas de catastrophe.
Le mail livré contient un document chiffré GPG contenant les rendez-vous du jour et futurs hiérarchisés par années, semaines. En face de chaque rendez-vous figurent identité, identifiant numérique du patient, type du rendez-vous sous forme [abréviation]
et numéros de téléphone (mobile / personnel).
Ce script nécessite pour fonctionner :
– que le module GnuPG de PHP soit actif
– qu’une clef publique GPG soit enregistrée dans le profil administratif (personnel ou pro, la clef est commune) de l’utilisateur détenteur de l’agenda.
Pour être actif pour l’agenda d’un utilisateur, les paramètres suivants doivent être renseignés :
– agendaEnvoyerChiffreParMail
: coché
– agendaEnvoyerChiffreTo
: email (adresses multiples à séparer par une simple virgule si besoin)
La fréquence de l’envoi du mail contenant l’agenda de secours est à paramétrer au niveau des Tâches planifiées. Ne pas oublier d’activer la tâche correspondante !
Article précédent
Article suivant