Environnement de production nécessaire à MedShakeEHR

Préambule et avertissements

Ce logiciel ne doit pas être utilisé en l’état pour le stockage de données patient sur un réseau ouvert, par exemple Internet.
Son utilisation doit être exclusivement limitée à un réseau privé sans utilisateur potentiellement hostile.
Il est rappelé d’autre part que, quel que soit le scénario utilisé, il convient de respecter la législation en matière d’hébergement de données santé en vigueur dans votre pays.
Enfin, conformément à la licence GPL v3 sous laquelle ce logiciel est livré ici, il est fourni sans aucune garantie.

Bases de l’installation

Environnement de départ

MedShakeEHR fonctionne sur un serveur LAMP.

Nous vous encourageons très fortement à chiffrer dans leur intégralité vos disques durs et vos sauvegardes. Cela se fait très simplement pendant le processus d’installation de bon nombre de distributions Linux. Ainsi en cas de vol du matériel, il sera parfaitement impossible pour un tiers de parcourir ou de reconstituer vos dossiers médicaux.

Nous l’utilisons sur une Debian 9 avec :
- Apache 2
- PHP 7
- MariaDB 10.1 (équivalent de MySQL)

L’adapter à un autre environnement ne devrait pas poser de problème majeur.

Installez aussi sur votre serveur GhostScript, ImageMagick, pdftk et git.
Concernant PHP, n’oubliez pas les packages concernant intl, curl, zip, xml, imagick, imap, soap. Upgradez les paramètres de limite d’upload et de timeout assez largement pour ne plus y penser ensuite (upload_max_filesize et post_max_size du php.ini).
Assurez-vous aussi que max_input_vars de PHP est au moins à 10 000 (le .htaccess distribué avec le logiciel le fixe à 20 000), cela est nécessaire en particulier si vous utilisez le LAP.
Concernant apache, n’oubliez pas mod_rewrite. Assurez-vous que le .htaccess est bien interprété dans la configuration du virtual host apache ( AllowOverride All et pas None).

Composant Installer / configurer
Utilitaires - base
  • GhostScript
  • ImageMagick
  • pdftk
  • git
  • binaires Apicrypt
Utilitaires - DICOM / Phonecapture
  • Orthanc
  • DCMTK
Apache
  • mod_rewrite actif (url rewriting)
  • virtual host : AllowOverride All (interprétation du .htaccess)
PHP
  • packages notables : gd, intl, curl, zip, xml, imagick, imap, soap
  • paramètres à ajuster : upload_max_filesize, post_max_size, max_input_vars

Packages tiers

Nous utilisons Composer pour la gestion des packages back-end. Le fichier composer.json vous renseignera sur les paquets utilisés.

Front-end, nous avons opté pour Bower. Voyez cette fois bower.json.

Depuis la version 3.1.0, MedShakeEHR n’utilise plus que le seul outil Composer avec 2 fichiers composer.json : l’un en racine web, l’autre en racine des scripts du logiciel. Manuellement, il faut donc exécuter Composer à ces 2 emplacements.

Fonctions DICOM

MedShakeEHR s’est tourné vers Orthanc, incroyable serveur DICOM open source (made in Belgium !), pour pouvoir interagir avec les appareils d’imagerie. MedShakeEHR utilise l’API REST d’Orthanc pour rapatrier des images et des données de type DICOM SR (données numériques ou textuelles structurées).

Orthanc doit donc être disponible sur le réseau et fonctionnel pour que MedShakeEHR puisse interagir avec les appareils d’imagerie.
Voyez l’article Principes de mise en oeuvre des fonctions DICOM pour plus d’informations à ce sujet.

Utilisation de la messagerie sécurisée Apicrypt

Préambule

Les termes et conditions de la licence GPL v3 ne s’appliquent pas aux composants APICRYPT, fournis par la société APICEM SARL, APICEM Développement ou l’association APICEM, qui restent la propriété exclusive desdites entités. Le code source des composants APICRYPT ne saurait être distribué dans le cadre de la licence du logiciel MedShakeEHR.
La réutilisation du code source du logiciel MedShakeEHR à quelques fins que ce soit nécessitera pour le responsable de développements de prendre contact avec la société APICEM SARL afin de procéder à l’établissement d’un contrat de partenariat ainsi qu’à des tests de validité de l’intégration des composants APICRYPT.
Le logiciel issu de cette réutilisation ne peut en effet prétendre être « compatible APICRYPT » sans avoir effectué ces démarches préalables et la société APICEM SARL ne saurait être tenue responsable d’éventuels problèmes de réceptions, de traitements ou d’envois de messages au travers de ce logiciel.

Obtenir les binaires Apicrypt

L’auteur de MedShakeEHR est développeur enregistré auprès d’APICEM (société gérant Apicrypt). Il est en droit d’intégrer dans ses réalisations les binaires fournis par APICEM pour le chiffrement / déchiffrement des données Apicrypt. Ces composants seront donc communiqués à tout professionnel désireux de faire de MedShakeEHR son outil de travail quotidien.

Mise en œuvre des binaires Apicrypt

La mise en œuvre des binaires Apicrypt Linux nous a parfois donné du fil à retordre.
Il semble qu’ils n’agissent correctement qu’exécutés en root.

Sur un système Linux avec sudo, nous avons ajouté les lignes suivantes à /etc/sudoers :


www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apicrypt
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apicryptpj
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apiuncrypt
www-data ALL=(ALL) NOPASSWD:/home/EHR/apicrypt/bin/apiuncryptpj

Prérequis pour l’utilisateur final

MedShakeEHR n’utilise aucune particularité HTML ou JS qui nécessite à notre connaissance l’emploi d’un navigateur plutôt qu’un autre.
Il a été testé en phase de développement sur Firefox. Il ne devrait poser aucun problème sur le navigateur webkit (Safari, Chrome ...).
Il n’a pas même été ouvert sur les navigateurs de Microsoft.

 

Article précédent

 

Article suivant

Editeur : E.I.R.L. Bertrand Boutillier immatriculée sous le numéro 480 239 631 au tribunal de commerce de Saint-Brieuc
Hébergement : ONLINE (Scaleway), 8 rue de la ville l’Evêque - 75008 Paris, FRANCE (RCS PARIS B 433 115 904)