Sur cette page : Suivez un cas d’utilisation de personnalisation qui effectue une itération sur des tableaux de profils imbriqués avec des règles conditionnelles pour créer un plan d’intégrité en répertoriant les ordonnances qui sont prêtes à être récupérées ou rappelées.
Un profil contient des programmes de santé, et chaque programme inclut des ordonnances. Les ordonnances comportent différents états, tels que « prêt », « rappel » ou « récupéré ».
Dans ce cas d’utilisation, nous souhaitons envoyer un seul e-mail à chaque profil, contenant toutes les ordonnances qui sont prêtes à être récupérées ou rappelées. Cliquez sur chaque onglet ci-dessous pour plus d’informations sur la syntaxe à utiliser pour mettre en œuvre ce cas d’utilisation.
Bonjour Jean Dupont,
Voici les ordonnances qui sont prêtes à être récupérées ou qui ont été rappelées :
Programme de santé A
- Prescription ID: pres1
Nom : Médicament A
State: ready - Prescription ID: pres2
Nom : Médicament B
State: rappel
Programme de santé B
- Prescription ID: pres4
Nom : D de médicament
State: ready
| code language-html |
|---|
|
| code language-javascript |
|---|
|
Référence rapide quick-reference
Cette section contient des connaissances structurées destinées à soutenir l’interprétation, la récupération et la réponse aux questions liées à ce sujet.
Pour une compréhension totale, ces informations doivent être combinées avec la documentation de cette page. Aucune des sources n’est conçue pour être autonome. La page décrit la fonctionnalité, tandis que cette section fournit un contexte supplémentaire qui permet de clarifier la terminologie, l’intention, l’applicabilité et les contraintes.
TL;DR
Cette page présente un cas d’utilisation complet de la personnalisation : itération sur des tableaux de profils imbriqués (plans d’intégrité contenant des ordonnances) avec filtrage conditionnel pour afficher uniquement les ordonnances aux états « prêt » ou « rappel » dans un e-mail.
Intentions
- Voir un exemple de sortie rendu d’un e-mail de plan d’intégrité personnalisé
- Comprenez le modèle HTML utilisant des blocs de
{{#each}}et de{%#if%}imbriqués pour l’itération de tableau conditionnel. - Comprenez la structure de données de profil requise : un tableau
plansoù chaque plan contient un tableauprescriptionsavec des champsstate
- Itération imbriquée : utilisation de boucles
{{#each}}dans d’autres boucles{{#each}}pour parcourir les structures de tableau à plusieurs niveaux dans les données de profil (par exemple, plans → prescriptions). - État de la prescription : champ sur chaque objet de prescription indiquant son statut de cycle de vie dans ce cas d’utilisation ; les valeurs utilisées sont « ready », « reminder » et « picked up ». (spécifique au cas d’utilisation)
{%#if%}/{%/if%}: syntaxe de bloc conditionnelle utilisée dans les modèles de message pour filtrer les éléments de tableau lors de l’itération (distincte de la syntaxe Handlebars à double{{#if}}).
- Nom canonique : itération de tableau imbriqué — variantes : boucles imbriquées, chacune imbriquée, itération à plusieurs niveaux
- À ne pas confondre :
{{#each}}/{{/each}}(syntaxe d’itération Handlebars, accolades doubles) ≠{%#if%}/{%/if%}(syntaxe conditionnelle, accolades en pourcentage) — les deux sont utilisés ensemble dans ce modèle - Ne pas confondre : « prêt » (prescription disponible pour le retrait) ≠ « rappel » (la prescription a été retirée) ≠ « prélevé » (prescription déjà collectée — exclue de la sortie par le filtre conditionnel)
Q : Quels états de prescription sont inclus dans la sortie de l’e-mail ?
Seules les ordonnances dont l’état est « ready » ou « reminder » s’affichent. Les prescriptions avec l’état « sélectionné » sont exclues par le filtre conditionnel {%#if prescription.state = "ready" or prescription.state = "recall"%}.
Q : Quelle structure de données de profil est requise pour ce cas d’utilisation ?
Un profil avec un tableau plans, où chaque objet de plan contient un tableau prescriptions. Chaque objet de prescription doit comporter des champs prescription_id, name et state.
Q : Comment les plans et les ordonnances sont-ils itérés dans le modèle ?
La boucle de {{#each profile.plans as |plan|}} externe effectue une itération sur chaque plan d’intégrité. À l’intérieur, {{#each plan.prescriptions as |prescription|}} effectue une itération sur les prescriptions de chaque plan et un bloc conditionnel filtre uniquement les états « prêt » ou « rappel ».