Base et Modules : principes et fonctionnement

Principes généraux

Le logiciel MedShakeEHR est conçu pour être modulaire : sur une base commune de codes et de fonctionnalités, on vient déposer les fichiers composant un module spécifique à un type d’exercice ou de profession.

Base

La base de MedShakeEHR est disponible dans le repository Github MedShake/MedShakeEHR-base

Depuis la version 2.0.0, la base est capable de fonctionner seule. Elle offre un point de départ commun pour le développement de modules spécifiques.
Sa mise en oeuvre sera possible en consultant les articles suivants de la rubrique Documentation technique.

Modules

Les différents modules existants sont répertoriés dans le menu déroulant du même nom accessible en haut de cette page. Ils sont, sauf mention contraire, eux aussi disponibles sur Github.

Un module est complémentaire de la base. Il vient amender ou étendre le comportement des scripts pour adapter les actions et la mise en page.
Il apporte également un modèle de données qui vient se substituer à celui de la base via un dump MySQL.

Depuis la version 3.0.0, il est possible d’installer plusieurs modules sur la même base patients sans conflit entre fichiers. Le module utilisé est spécifique à la configuration de l’utilisateur.

Fonctionnement conjoint base / module

La mécanique qui gouverne le fonctionnement conjoint de la base et du module se fait sur les principes suivants :

  1. les templates d’affichage fonctionnent sur le mode de la cohabitation et de la substitution. En d’autres termes : si un fichier de template existe dans le répertoire des templates du module, il est utilisé. Sinon c’est le template de la base qui produit le résultat.
  2. Le code PHP doit cohabiter préférentiellement : le module place ses scripts dans /controlers/module/ puis dans une arborescence comparable à celle de controlers. Par exemple, s’il faut amender /controlers/patient/patient.php, il convient de créer /controlers/module/patient/patient.php. NB : les instructions du fichier de module sont exécutées après celles du fichier de la base.
  3. La mécanique de gestion des formulaires de consultation peut échapper à ces règles. Voir l’article Conception d’un formulaire

En conséquence des règles énoncées ici, l’installation de MedShakeEHR doit commencer par celle de la base :
- mise en place des fichiers.
- création de la base de données et remplissage avec les dumps.

Il convient ensuite d’installer le module :
- placer les fichiers du module dans les niveaux d’arborescence correspondants. Il est possible dans certains cas que des fichiers écrasent d’autres fichiers.
- mettre à jour la base de données avec le dump SQL du module.

Hiérarchie des templates

Comme il a été dit plus haut, les templates servant à générer les pages vues par l’utilisateur fonctionnent en mode cohabitation / substitution.
À nom identique, les templates du module sont utilisés prioritairement à ceux de la base.
On peut définir (version MedShakeEHR > 2.3.1) un niveau supplémentaire se trouvant en tête des priorités : les templates spécifiques à l’utilisateur identifié. Ces templates sont à stocker aux côtés de ceux de la base et des modules dans un dossier dont le nom contient l’identifiant numérique de l’utilisateur templates/templatesUser*ID*/.

La liste des priorités finales s’établit ainsi à : template utilisateur > template module > template base

NB : cette hiérarchie ne concerne en rien les templates nécessaires à l’impression de PDF dont l’emplacement est lui géré par une variable de configuration qui peut être surchargée utilisateur par utilisateur.

 
 
 

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)