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 ImageMagick.
Concernant PHP, n’oubliez pas les packages concernant curl, zip, xml, imagick, imap. 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).
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).

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.

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

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.

Comme vous pourrez le constater, les binaires Apicrypt n’ont pas été inclus dans les sources de MedShakeEHR sur Github, ni dans les machines virtuelles de test.
Ils seront communiqués sur demande motivée adressée à l’auteur de MedShakeEHR.

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)