Sauver et éditer les formulaires de consultations dans dossier patient

Les sujets de cette catégorie concernent le développement du logiciel MedshakeEHR.
Avatar de l’utilisateur
Bertrand
Messages : 177
Inscription : 21 juil. 2020, 18:08
Localisation : Dans le grand bain
Contact :

Sauver et éditer les formulaires de consultations dans dossier patient

Message non lu par Bertrand »

Salut à tous !

J'ai besoin d'un avis sur une portion essentielle du script. Elle est bien trop complexe et bien peu lisible pour ce qu'elle fait, mais les raisons historiques existent à cela.

Il s'agit du code qui enregistre un formulaire de consultation et dont je viens de pousser une modification :
https://github.com/MedShake/MedShakeEHR ... CsForm.php

L'idée initiale, la mienne, est la suivante : dans un formulaire l'absence de réponse est aussi une forme de réponse. Enregistrer du vide en base a un sens.
Puis est arrivé le module de Chiropraxie de fr33z00 et ses centaines de variables portées à l'écran graphiquement par le squelette.
Stocker du vide devenait inutile et potentiellement problématique en termes de volume. Nous avons donc mis en place une alternative qui est documentée ici :
https://www.logiciel-cabinet-medical.fr ... rnative-27

Notez que la problématique n'est pas forcément à la saisie initiale d'un formulaire, mais qu'elle pose de vrais problèmes à l'édition. Les checkbox, radio et autres switch compliquent encore le jeu.
Nous avons contourné avec du JavaScript :
https://github.com/MedShake/MedShakeEHR ... al.js#L378

S'ajoute aussi un cas de figure qui m'a fait pousser le dernier commit sur inc-ajax-saveCsForm.php :
https://github.com/MedShake/MedShakeEHR ... 761cd40fb7

En effet dans le module que je termine, le formulaire s'adapte contextuellement en fonction des réponses précédentes : des select, des radio, des checkbox apparaissent ou disparaissent.
Et à l'édition, si des champs existants antérieurement se retrouvent masqués, ils ne donnent plus lieu à des variables en POST ... L'enregistrement initial de cette variable n'était donc ni mis à jour ni supprimé.

Bref, il est peut-être temps de revoir le fonctionnement global de ce script essentiel.
L'idée est de garder les 2 modes de fonctionnement au choix : enregistrer du vide / ne pas enregistrer de vide.

Je soumets donc à votre perspicacité la possible simplification du script :
https://github.com/MedShake/MedShakeEHR ... CsForm.php
et les problèmes éventuels liés à mon dernier commit.

Merci !

B.

MedShakeEHR : Le Logiciel Médical Modulaire Libre
http://www.medshake.app/

MedShake : communauté médicale bien fraîche (et un peu secouée) !
https://www.medshake.net/

Avatar de l’utilisateur
Indelog
Administrateur
Messages : 71
Inscription : 10 juil. 2020, 10:06

Re: Sauver et éditer les formulaires de consultations dans dossier patient

Message non lu par Indelog »

J'ai mis un peut de temps à comprendre les implication mais je crois que la c'est bon :
  • Si les champs ne sont pas masqué (comportement normal) l'id du champs sera présente dans la variable $_POST et selon d'utilisation de $dontIgnoreEmpty ou non une data avec une valeur vide est crée, sinon elle est supprimé.
  • Si le champ ne n'est plus présent dans $_POST mais que la data à été crée alors la data associé est supprimé.
Par contre que ce passe t'il si on modifie un modèle de formulaire pour y enlever un champ puis que l'on modifie ensuite les donnée entré via formulaire ? Le champ saisi ne sera plus dans le post et sera supprimé, cela ne peut t'il pas constitué une perte de donnée involontaire ?

Sinon je voit rien d'autre de particulier. Bon faut dire que pour le moment je manque encore de recul sur les cas d'usage.
DEMAREST Maxime (Indelog)
Avatar de l’utilisateur
Bertrand
Messages : 177
Inscription : 21 juil. 2020, 18:08
Localisation : Dans le grand bain
Contact :

Re: Sauver et éditer les formulaires de consultations dans dossier patient

Message non lu par Bertrand »

Ce code et le comportement sont super chaud, il y a un paquet de cas possibles et le comportement des inputs de type radio ou checkbox n'aide pas toujours vraiment....

Sur la modification du formulaire, je pense qu'il ne faut pas trop jouer à ça de toute façon. Dans le cas exposé, la data passe quoi qu'il en soit sous tous les radars.
Il faut bien se souvenir que la suppression n'en ai pas une : la ligne est marquée supprimée, mais la data est là, visible dans les différents historiques.
On n'a jamais de réelle perte.
Bref, peut être, si besoin, passer à une V2 du formulaire si changement, en attachant au bouton de consultation ce nouveau form.
A priori les anciens seront toujours reliés à la bonne source (à vérifier tout de même si l'occasion se présente).

B.

MedShakeEHR : Le Logiciel Médical Modulaire Libre
http://www.medshake.app/

MedShake : communauté médicale bien fraîche (et un peu secouée) !
https://www.medshake.net/

Avatar de l’utilisateur
Indelog
Administrateur
Messages : 71
Inscription : 10 juil. 2020, 10:06

Re: Sauver et éditer les formulaires de consultations dans dossier patient

Message non lu par Indelog »

Bertrand a écrit : 29 juil. 2020, 11:53
Bref, peut être, si besoin, passer à une V2 du formulaire si changement, en attachant au bouton de consultation ce nouveau form.
A priori les anciens seront toujours reliés à la bonne source (à vérifier tout de même si l'occasion se présente).
Ok, je note. Faut que je pense à faire sur le Wiki une page qui référence ce genre de cas d'usage et qui documente de genre de solution. Le cas est peut probable mais statistiquement il va forcément ce produire un jours, du moins si on se fie à la loi de Murphy, un loi que je vérifie personnellement au quotidien.
DEMAREST Maxime (Indelog)
Répondre