Installation et configuration initiale de MedShakeEHR

Impératif initial : définir la variable d’environnement MEDSHAKEEHRPATH

Il est impératif de définir la variable d’environnement MEDSHAKEEHRPATH dans votre serveur web. Cela peut être réalisé préférentiellement au niveau de la configuration de votre virtual host apache ou dans le .htaccess en racine du dossier web. Cette seconde option implique cependant que vous éditiez à nouveau le .htaccess après chaque mise à jour. La ligne suivante est à ajouter :

SetEnv MEDSHAKEEHRPATH /chemin/vers/MedShakeEHR

NB : Le chemin à indiquer est celui qui permet l’accès aux répertoires class, controlers, templates ... pas le chemin d’accès à la racine du site web !

Installation automatique de la base du logiciel

Il existe depuis la version 3.1.0 de MedShakeEHR un moyen automatisé d’installation de la base du logiciel. Quand votre hébergement web est opérationnel, copiez- y à la racine le fichier self-installer.php disponible dans les sources dans le dossier /installer/. Accédez-y ensuite par votre navigateur.
Astuce : dans les versions récentes du script, vous pouvez spécifier la version à installer via l’url en indiquant en paramètre v=vX.X.X où X.X.X est la release à déployer.
Si le processus se déroule correctement, vous devriez à son terme poursuivre par la configuration expliquée au paragraphe suivant.

Notez que pour que l’installation automatique fonctionne correctement, l’utilisateur qui exécute le serveur web (en général www-data) doit avoir les droits complets sur le répertoire web racine (là où vous avez copié l’installeur) et sur le répertoire de destination où vous demanderez l’installation du logiciel.

La méthode alternative à l’installation automatique est de récupérer les sources du logiciel et de les transférer manuellement à l’emplacement prévu.
Par défaut le dossier accessible par le web est dans MedShakeEHR nommé public_html.

Problème d’installation ? Consultez "F.A.Q. installation" !

Configuration initiale

À partir de la version 3.1.0, la quasi-intégralité de la configuration peut être réalisée dans le navigateur en accédant à https://localhost/install.php .
Si vous avez opté pour une installation automatique (cf. paragraphe précédent), vous devriez avoir abouti sur cette page. Sinon, vous pouvez y accéder manuellement.

Ce script s’assurera de quelques prérequis :
 que la variable d’environnement MEDSHAKEEHRPATH est bien présente
 que les packages tiers PHP et JavaScript sont bien installés via Composer
 que les répertoires nécessaires à l’écriture du fichier de configuration sont bien accessibles

Ensuite, il vous permettra de définir précisément la configuration minimale pour rendre le logiciel opérationnel et installera la base de données.
Enfin, le processus se terminera avec la création du premier utilisateur.

La configuration globale du logiciel et la gestion des utilisateurs pourront être faites par la suite dans la zone Configuration du logiciel en fonctionnement.

Principe général de la configuration de MedShakeEHR

Le fichier /config/config.yml de MedShakeEHR contient historiquement l’ensemble des paramètres de la configuration, mais son rôle à diminué au fil des versions. C’est un fichier au format yaml généré lors de l’installation. Ses paramètres s’appliquent par défaut à l’ensemble des utilisateurs du logiciel. Depuis la version 3.1.0, l’édition de ce fichier se fait graphiquement dans le logiciel, en zone Configuration par l’administrateur. Depuis la version 4.0.0 ce fichier ne comporte plus que les informations de base (connexion à la base de données en particulier) et son contenu se trouve maintenant dans la table configuration de la base de données.

Chaque paramètre peut être surchargé par son équivalent spécifique à un utilisateur.
Cela s’effectue dans l’interface de Configuration > Paramètres courants > Utilisateurs et options en cliquant sur la clef à molette en regard du nom de l’utilisateur concerné.

À noter la possibilité pour un module de fixer des paramètres spécifiques également. Ces paramètres peuvent être là encore surchargés pour un utilisateur particulier.

Vérification de l’état du système

MedShakeEHR possède (version 5.9.0) une page Informations système qui vous permettra de vous assurer de la configuration correcte et du bon fonctionnement d’un grand nombre de services et paramètres.

Illustration - Page Informations système

Paramètres de configuration (archive)

La liste des paramètres est laissée ici uniquement pour référence, mais elle peut être incomplète. Depuis la version 4.0.0, les paramètres sont documentés directement dans la zone de Configuration, en regard de leur valeur respective actuelle.

Paramètres généraux

  1. protocol: 'http://' : http:// ou https://
  2. host: 'ehr.local' : nom de domaine utilisé pour servir les pages. Une IP fonctionne parfaitement
  3. urlHostSuffixe: '' : chemin après l’hôte si besoin. Ne pas indiquer de / final.
  4. homeDirectory: '/home/EHR/' : répertoire racine
  5. webDirectory: '/home/EHR/public_html/' : répertoire racine qui sert les pages web
  6. stockageLocation: '/home/EHR/public_html/stockage/' : répertoire de stockage des documents (pdf, txt ...). Doit être en zone accessible par le web.
  7. workingDirectory: '/home/EHR/public_html/workingDirectory/' : répertoire de travail, idéalement vidé toutes les nuits avant backup de l’installation. Doit être en zone accessible par le web.
  8. cookieDomain: 'ehr.local' : a priori, identique à host
  9. cookieDuration: 31104000 : durée de vie des cookies = durée de vie avant déconnexion de l’utilisateur
  10. fingerprint: 'dfsdjh54ezaz5' : chaîne aléatoire pour renforcer la sécurité de l’authentification utilisateur

Paramètres base de données

Le nom des paramètres devrait être suffisant à la compréhension.

  1. sqlServeur: 'localhost'
  2. sqlBase: 'ehr'
  3. sqlUser: 'user'
  4. sqlPass: 'password'
  5. sqlVarPassword: '4fd45sf78s8' : chaine aléatoire pour renforcer la sécurité.

Paramètre de relation fiche patient / fiche praticien

  1. PraticienPeutEtrePatient:  true si ’true’ alors la fiche patient et professionnelle est unique, à double entrée. Voir Gestion patients et praticiens pour tous les détails.

Paramètres administratifs

  1. administratifSecteurHonoraires: 1 : choix du secteur de tarification, soit 1 ou 2.
  2. administratifPeutAvoirFacturesTypes: 'false' : possibilité pour un utilisateur d’avoir des factures types propres à lui même.
  3. administratifPeutAvoirPrescriptionsTypes: 'false' : possibilité pour un utilisateur d’avoir des prescription types propres à lui même.
  4. administratifPeutAvoirAgenda: 'false' : possibilité pour un utilisateur d’avoir un agenda propres à lui même.
  5. administratifPeutAvoirRecettes: 'true' : (v2.2.0) possibilité pour un utilisateur d’encaisser des recettes pour son propre compte.
  6. administratifComptaPeutVoirRecettesDe: '' : (v2.2.0) liste des ID utilisateur (séparés par des virgules, sans espace) pour lesquels l’utilisateur concerné par le paramètre est autorisé à parcourir les recettes.

Paramètres des templates d’impression

  1. templatesPdfFolder: '/home/EHR/templates/models4print/' : (V2 et +) répertoire des fichiers de template pour la génération de PDF. Nécessite un accès en lecture écriture si on souhaite une création / édition via l’interface web de configuration.
  2. templateDefautPage: 'base-page-headAndFoot.html.twig' : template par défaut
  3. templateOrdoHeadAndFoot: 'base-page-headAndFoot.html.twig' : template pour header et footer des ordonnances standards (non ALD)
  4. templateOrdoBody: 'ordonnanceBody.html.twig' : template pour le corps des ordonnances standards
  5. templateOrdoALD: 'ordonnanceALD.html.twig' : template (complet) pour les ordonnances bizones ALD
  6. templateCrHeadAndFoot: 'base-page-headAndNoFoot.html.twig' : template pour les compte-rendus
  7. templateCourrierHeadAndFoot: 'base-page-headAndNoFoot.html.twig' : template pour les courriers

Paramètres SMTP (envoi de mails)

Ces paramètres concerne l’expédition de messages non sécurisés. Pour les messages Apicrypt, voir plus bas.

  1. smtpTracking: '' : si non vide, permet d’activer le tracking des mails (état du mail : envoyé, reçu, rebond, spam ...) via un service tiers
  2. smtpFrom: 'user@domain.net' : adresse de l’expéditeur des messages
  3. smtpFromName: '' : nom en clair de l’expéditeur des messages
  4. smtpHost: 'smtp.net' : serveur SMTP
  5. smtpPort: 587 : port du serveur SMTP
  6. smtpSecureType: 'tls' : protocole ssl ou tls (ou rien)
  7. smtpOptions: 'off' : options pour désactiver quelques options de sécurités qui peuvent empêcher la bonne communication avec un serveur SMTP.
  8. smtpUsername: 'smtpuserlogin' : login
  9. smtpPassword: 'smtppassword' : mot de passe
  10. smtpDefautSujet: 'Document vous concernant' : titre par défaut du mail expédié

Paramètres Apicrypt (envoi et réception)

Voir aussi l’article Mise en oeuvre de la messagerie sécurisée Apicrypt.

  1. apicryptCheminInbox: '/home/EHR/public_html/inbox/' : chemin du répertoire qui sert de boite de réception. Doit être en zone accessible web.
  2. apicryptCheminArchivesInbox: '/home/EHR/public_html/inboxArchives/' : répertoire qui sert à archiver par date de traitement les messages reçus, classés dans les dossiers comme non classés.
  3. apicryptInboxMailForUserID: '0' : ID numérique qui indique pour l’utilisateur quels mails il est susceptible de pouvoir lire (utilisateur qui n’a pas de boite en propre par exemple)
  4. apicryptCheminFichierNC: '/home/EHR/public_html/workingDirectory/NC/' : répertoire de travail pour Apicrypt, fichier non chiffrés
  5. apicryptCheminFichierC: '/home/EHR/public_html/workingDirectory/C/' : répertoire de travail apicrypt, fichiers chiffrés
  6. apicryptCheminVersClefs: '/home/EHR/apicrypt/' : chemin vers les répertoire Clefs Apicrypt contenant les clefs de l’utilisateur.
  7. apicryptCheminVersBinaires: '/home/EHR/apicrypt/bin/' : répertoire contenant les programmes Apicrypt en ligne de commande
  8. apicryptUtilisateur: 'prenom.NOM' : nom d’utilisateur Apicrypt (portion devant le @ de l’adresse)
  9. apicryptAdresse: 'prenom.NOM@medicalXX.apicrypt.org' : adresse complète apicrypt
  10. apicryptSmtpHost: 'smtp.intermedic.org' : smtp pour l’envoi de message Apicrypt (ne cherchez pas compliqué, utilisez intermedic.org !)
  11. apicryptSmtpPort: '25'
  12. apicryptPopHost: 'pop.intermedic.org' : serveur pop Apicrypt
  13. apicryptPopPort: '110'
  14. apicryptPopUser: 'prenom.NOM' : nom d’utilisateur pour le serveur pop
  15. apicryptPopPassword: 'passwordapicrypt' : mot de passe apicrypt
  16. apicryptDefautSujet: 'Document concernant votre patient' : sujet par défaut des mails Apicrypt (attention, n’est pas chiffré : jamais d’éléments d’identité dans le sujet !)

Paramètres Fax (envoi et réception)

  1. faxService: '' : non vide, active le service tiers concerné
  2. ecofaxMyNumber: '0900000000'
  3. ecofaxPass: 'password'

Paramètres DICOM

Ces paramètres servent principalement à interagie avec Orthanc qui doit être installé sur le réseau (ou sur le même ordinateur que MedShakeEHR).

  1. dicomHost: '127.0.0.1' : IP du serveur Orthanc
  2. dicomPrefixIdPatient: '1.100.100' : prefix à appliquer à l’identifiant numérique MedShakeEHR pour en faire un identifiant DICOM unique.
  3. dicomWorkListDirectory: '/home/EHR/public_html/workingDirectory/' : répertoire où Orthanc va récupérer le fichier dicom worklist généré par MedShakeEHR pour le passer à l’appareil d’imagerie qui sera ainsi pré configuré au nom et caractéristiques du patient.
  4. dicomWorkingDirectory: '/home/EHR/public_html/workingDirectory/' : répertoire de travail local où on peut rapatrier des images à partir d’Orthanc pour les parcourir ou les traiter (pdf, zip ...). Utilisez le même répertoire que celui indiqué dans workingDirectory des paramètres généraux. Doit être en zone web accessible.
  5. dicomAutoSendPatient2Echo: 'false' : générer automatiquement le fichier worklist pour Orthanc à l’ouverture d’un dossier patient. Ne pas mettre à ’true’ pour une secrétaire par exemple !
  6. dicomDiscoverNewTags: 'true' : enregistrer automatiquement dans la base de données les nouveaux tags dicom rencontrés lors de la visualisation d’études afin de pouvoir les associer par la suite automatiquement avec des données de formulaire MedShakeEHR (remplissage automatique de formulaire avec données DICOM SR)

Paramètres PhoneCapture

La configuration DICOM (cf paragraphe précédent) doit être complète et fonctionnelle pour l’utilisation de PhoneCapture.

  1. phonecaptureFingerprint: 'xAsD3dSAZd' : chaîne aléatoire permettant une sécurisation de l’identification des périphériques PhoneCapture
  2. phonecaptureCookieDuration: 31104000 : durée de vie d’identification d’un périphérique pour PhoneCapture
  3. phonecaptureResolutionWidth: 1920 : résolution des photos, largeur.
  4. phonecaptureResolutionHeight: 1080 : résolution des photos, hauteur.

Paramètres Agenda

  1. agendaDistantLink: 'http://monagenda.agenda.abc' : lien à appliquer à Agenda sur les pages MedShakeEHR
  2. agendaDistantPatientsOfTheDay: 'http://monagenda.agenda.abc/patientsOfTheDay.json' : url distante où l’on peut récupérer une liste horodatée des patients du jour
  3. agendaLocalPatientsOfTheDay: 'patientsOfTheDay.json' : fichier json de la liste horodatée des patients du jour
  4. agendaNumberForPatientsOfTheDay: 1 : quel numéro d’agenda pour générer à partir de l’agenda interne concerné une liste des patients du jour pour le menu Patients

Paramètres Rappels de rendez-vous par mail

  1. mailRappelLogCampaignDirectory: '/home/EHR/public_html/mailsRappelRdvArchives/' : répertoire où on va loguer les rappels de rendez-vous par mail
  2. mailRappelDaysBeforeRDV: '3' : nombre de jours avant le rendez-vous pour l’expédition du rappel

Paramètres Rappels de rendez-vous par SMS

  1. smsProvider: '' : non vide, active le service tiers concerné
  2. smsLogCampaignDirectory: '/home/EHR/public_html/smsArchives/' : répertoire où on va loguer les rappels de rendez-vous par SMS
  3. smsDaysBeforeRDV: '3' : nombre de jours avant le rendez-vous pour l’expédition du rappel
  4. smsCreditsFile: 'creditsSMS.txt' : fichier qui contient le nombre de SMS restants
  5. smsSeuilCreditsAlerte: '150' : prévenir dans l’interface du logiciel si crédit inférieur ou égale à.
  6. smsTpoa: 'Dr ....' : nom d’expéditeur du SMS

Templates affichage écran

  1. templatesFolder: '/home/EHR/templates/' : répertoire racine des dossiers de templates (dont base)

Ces paramètres étaient utilisés dans les version < 3.0.0 et sont dépréciés : templatesBaseFolder, templatesModuleFolder, templateBaseFolder, twigPdfTemplatesDir.

Paramètres Twig

Paramètres de configuration du moteur de template Twig. Ne pas modifier sans solide connaissance.

  1. twigEnvironnementCache: false #'/tmp/templates_cache/' : le cache twig est désactivé, pourquoi pas essayer de l’activer.
  2. twigEnvironnementAutoescape: false : autoescape du html est off.
 

Article précédent

 

Article suivant