Pour réellement tirer parti de la Mémoire de formulaire, vous devrez vous y référer d'une manière ou d'une autre, généralement via le script dans les règles de tablette, les Actions de formulaire électronique, les calculs de visibilité des éléments de formulaire électronique ou les formules. La Mémoire de formulaire est le plus souvent utilisée par les Règles de tablette, pour lesquelles les variables suivantes sont disponibles :
- firstTime :
- Cette variable est vraie lorsqu'il n'y a aucune Mémoire de formulaire d'une complétion de formulaire antérieure pour le patient actuel (c'est-à-dire que c'est la première fois qu'il complète un formulaire).
- daysSinceLastCompleted :
- Cette variable renverra le nombre de jours depuis la dernière complétion du formulaire pour le patient actuel.
- Par exemple, vous pouvez vouloir afficher un formulaire de Consentement par courriel tous les 6 mois en utilisant la règle : daysSinceLastCompleted > 180.
- S'il s'agit de la première fois que le formulaire est affiché (c'est-à-dire aucune complétion antérieure), la valeur est infinie.
- lastCompletedTag :
- Cette variable utilisera la valeur de chaîne stockée par l'expression "Se souvenir de l'expression de balise" dans l'Éditeur de formulaire électronique lors de l'utilisation du formulaire précédent (utilisé pour le stockage de ensembles de valeurs arbitrairement complexes), comme décrit ci-dessous.
- Par exemple, en se basant sur l'exemple donné dans l'expression Se souvenir de la balise ci-dessus, lastCompletedTag.split("|") renverrait un tableau de chaînes contenant les valeurs du formulaire précédent stockées par la Mémoire de formulaire.
Astuce : Vous pourriez trouver utile, lors de vos tests, d'ajouter un élément de formule avec la légende "lastCompletedTag : $$" et la formule "lastCompletedTag". Cette formule vous permettra de voir la valeur de lastCompletedTag dans votre formulaire électronique de test en temps réel.
Supposons que vous ayez un formulaire : Formulaire 1.
Vous souhaitez pouvoir accéder à une valeur saisie dans le Formulaire 1 lors d'une session précédente sur tablette. Dans cette situation, vous devriez définir les différents champs de la Mémoire du Formulaire comme suit :
Dans le Formulaire A, définissez "Se souvenir si l'expression" à :
true
Copier la règle
Ensuite, définissez "Se souvenir de l'expression de balise" à :
theItemRefToRemember.r
Copier la règle
Ensuite, utilisez la règle de tablette suivante pour ouvrir à nouveau ce formulaire, en fonction de cette valeur stockée :
lastCompletedTag == 'N'
Copier la règle
Supposons que vous ayez 2 formulaires : Formulaire A et Formulaire B.
Récupérer la mémoire du formulaire à partir de la même session sur tablette
Supposons que vous souhaitiez créer une règle de tablette qui affiche le Formulaire B, en fonction d'une valeur saisie dans le Formulaire A lors de la même session sur tablette. Dans cette situation, vous pourriez utiliser la règle de tablette suivante :
ScriptUtil.getResponse("theRefForFormA", "theItemRefOnFormA")
Copier la règle
Récupérer la mémoire du formulaire à partir d'une session précédente sur tablette
Supposons que vous vouliez que le Formulaire B puisse accéder à une valeur saisie dans le Formulaire A lors de la session précédente sur tablette.
Malheureusement, vous ne pouvez pas utiliser la règle de tablette ci-dessus pour accéder aux valeurs des sessions précédentes, mais vous pouvez contourner cette limitation en stockant la valeur du Formulaire A dans l' "expression de balise à se souvenir" pour le Formulaire B.
Dans le Formulaire B, définissez "Se souvenir de l'expression de balise" à :
ScriptUtil.getResponse("theRefForFormA", "theItemRefOnFormA")
Copier la règle
Cela stockera la valeur du Formulaire A dans la Mémoire du Formulaire B lors de la première session sur tablette où les Formulaires A et B sont complétés. Ensuite, lors de la deuxième session sur tablette où le Formulaire B est complété, vous pourrez invoquer cette "Expression de balise à se souvenir" dans une règle de tablette pour y accéder depuis la Mémoire du Formulaire :
Par exemple, une règle de tablette que vous pourriez utiliser pour invoquer cette valeur d' "Expression de balise à se souvenir" serait :
lastCompletedTag == 'N'
Copier la règle