Procédure pour exploiter une relation 1-1 dans des formulaires avec le système de source de données.
Introduction
Cet article vise à expliquer comment exploiter l’interface des relations entre varsets d’Epicraft pour créer une relation de type un 1-1 dans une application Voozanoo 4.
Dans cet article, tous les dataqueries sont créés via l’interface des sources de données d’Epicraft. Un article sur le même sujet mais utilisant des ressources XML pour la création des dataqueries existe ici.
Pré-requis
Voici les prérequis :
- Un projet dans Epicraft associé à un projet Voozanoo 4.
- Dans ce projet :
- Une page Patient associée au varset
patient
. - Une page Décès associée au varset
deces
.
- Une page Patient associée au varset
Objectif
L’objectif est de créer une relation 1-1 entre patient
et deces
(un patient a au maximum un décès) et de l’exploiter avec :
- Sur la page Patient :
- un bouton pour :
- soit aller sur la fiche décès existante ;
- soit ajouter une fiche décès pour le patient.
- un bouton pour :
- Sur la page Décès :
- l’affichage de certains champs du patient ;
- un bouton pour aller vers le patient.
Etape 1 : Créer la relation dans Epicraft
Créer la relation dans Epicraft via l’interface dédiée puis publier les actions :
Pour information, cela ajoute automatiquement une nouvelle variable dans le varset deces
:
Etape 2 : Exploiter la relation dans les formulaires
Etape 2.1 : Afficher un bouton d’ajout ou de consultation de la fiche décès sur la page Patient
Créer une source de données pour récupérer la potentielle unique fiche décès du patient
Premièrement, créer une source de données sur la page patient pour récupérer la potentielle unique fiche décès du patient.
- Page Patient > Sources de données
- Ajout > Source de données basée sur une relation > Relation Un patient peut décéder une fois
- Libellé : Get the patient’s death information
- Nom technique : deces qui sera utilisé par le tableau sur la page
- Ajouter les champs id_patient et date.
Ainsi, le dataset deces
contient une ligne si le patient a une fiche décès et aucune s’il n’en a pas.
Créer le bouton
Ajouter le composant bouton sur la page.
Donner lui un libellé et la redirection “Aller à la page…” puis sélectionner la page de destination Décès. Vous remarquerez que le fait d’avoir une relation entre ces deux varsets (Etape 1) fait apparaître un nouveau menu déroulant. Ici, nous allons sélectionner la relation Patient - Décès.
Envoyer les bons paramètres
Il existe désormais deux paramètre pour ce bouton.
En ouvrant les paramètres du bouton, nous pouvons voir que la valeur du sys_id
du patient cible la variable id_patient
du décès. Cette valeur a pour alias id_patient
.
On note que l’on passe id_patient
en paramètre pour qu’il soit utilisé dans la page Décès (en cas de création de fiche).
On ajoute également la valeur sys_id
de la fiche décès du patient, afin d’arriver sur la bonne fiche patient, si celle existe. Le paramètre sys_id
cible la main condition de la source de données principale de la page Décès, pour arriver directement sur le bon patient.
Etape 2.2 : Afficher des champs du patient sur la page Décès
Créer une source de données pour récupérer les champs du patient
Premièrement, il faut créer une source de données pour récupérer les informations du patient sur la page décès :
- Page Décès > Sources de données
- Ajout > Source de données basée sur une relation > Relation Un patient peut décéder une fois
- Libellé : Get patient’s information
- Nom technique : patient_info qui sera utilisé par le tableau sur la page
- Ajouter les champs nom et prenom.
- Mettre 1 comme Intervalle sous la colonne contrôle.
Disposer les champs dans la page
Il est maintenant possible d’afficher les champs du patient sur la page Décès. Dans les images d’exemple, un groupe a été ajouté pour distinguer les infos du patient.
- Ajouter un champ texte.
- Il y a deux sources de données pour cette page, il est maintenant possible de choisir la source de données d’une variable. Sélectionner la source de données que nous venons de créer, pour la variable, patient_info.
- Sélectionner la variable nom
- Répeter ces mêmes actions pour afficher le prenom du patient.
Il est également possible d’afficher le nom et prénom du patient avec le composant Texte de la manière suivante :
Etape 2.3 : Afficher un bouton vers le patient sur la page Décès
La source de données de l’étape 2.2 est nécessaire, afin de récupérer le sys_id
du patient.
Il suffit alors d’ajouter le composant bouton et avec la redirection “Aller à la page…” puis sélectionner la page de destination Patient.
Ensuite, il faut choisir la relation Un patient peut décéder une fois dans “Exploitation d’une relation existante”.
Il existe désormais un paramètre pour ce bouton.
En ouvrant les paramètres du bouton, nous pouvons voir que la valeur d’id_patient
de la page Décès cible la main condition de la source de données principale de la page patient. Cette valeur a pour alias sys_id
.
Cette condition sys_id
sera traité dans la page patient pour arriver sur le bon patient.