E-Mail mit den Rezepten eines Gesundheitsplans plan-prescription

Auf dieser Seite Führen Sie ein Personalisierungs-Anwendungsbeispiel durch, das verschachtelte Profil-Arrays mit bedingten Regeln durchläuft, um einen Gesundheitsplan für E-Mail-Rezepte zu erstellen, die abholbereit sind oder zurückgerufen werden.

Ein Profil enthält Gesundheitspläne, und jeder Plan enthält Rezepte. Rezepte haben verschiedene Status, z. B. „Bereit“, „Rückruf“ oder„Abgeholt“.

In diesem Anwendungsfall möchten wir jedem Profil eine einzelne E-Mail senden, einschließlich aller verschriebenen Medikamente, die entweder abgeholt werden können oder zurückgerufen wurden. Klicken Sie auf die einzelnen Registerkarten unten, um weitere Informationen zur Syntax zu erhalten, die für die Implementierung dieses Anwendungsfalls verwendet werden soll.

Gerenderte Nachricht

Hallo Herr Müller,

Im Folgenden finden Sie die Rezepte, die entweder abgeholt werden können oder zurückgerufen wurden:

Gesundheitsplan A

  • Verschreibungs-ID: press1
    name: Medikament A
    state: ready
  • Verschreibungs-ID: press2
    Name: Medizin B
    state: recall

Gesundheitsplan B

  • Rezept-ID: press4
    Name: Medizin-ID
    state: ready
HTML-Vorlage
code language-html
<p>Hi {{profile.person.firstName}} {{profile.person.lastName}},</p>
<p>Here are the prescriptions that are either ready for pick up or have been recalled:</p>
{{#each profile.plans as |plan|}}
<h3>{{plan.name}}</h3>
<ul>
   {{#each plan.prescriptions as |prescription|}}
   {%#if prescription.state = "ready" or prescription.state = "recall"%}
   <li>
      <strong>Prescription ID:</strong> {{prescription.prescription_id}}<br>
      <strong>Name:</strong> {{prescription.name}}<br>
      <strong>State:</strong> {{prescription.state}}
   </li>
   {%/if%}
   {{/each}}
</ul>
{{/each}}
Profildaten
code language-javascript
{
  "profile": {
    "person": {
      "firstName": "John",
      "lastName": "Doe"
    },
    "plans": [
      {
        "planId": "plan1",
        "name": "Health Plan A",
        "prescriptions": [
          {
            "prescription_id": "pres1",
            "name": "Medication A",
            "state": "ready"
          },
          {
            "prescription_id": "pres2",
            "name": "Medication B",
            "state": "recall"
          }
        ]
      },
      {
        "planId": "plan2",
        "name": "Health Plan B",
        "prescriptions": [
          {
            "prescription_id": "pres3",
            "name": "Medication C",
            "state": "picked up"
          },
          {
            "prescription_id": "pres4",
            "name": "Medication D",
            "state": "ready"
          }
        ]
      }
    ]
  }
}

Kurzübersicht quick-reference

Dieser Abschnitt enthält strukturiertes Wissen zur Unterstützung von Interpretation, Abrufen und Antworten auf Fragen zu diesem Thema.

Zum vollständigen Verständnis sollten diese Informationen mit der Dokumentation auf dieser Seite kombiniert werden. Keine der beiden Quellen ist für Einzelpersonen gedacht. Die Seite beschreibt die Funktion, während dieser Abschnitt zusätzlichen Kontext bietet, der dabei hilft, Begriffe, Absichten, Anwendbarkeit und Begrenzungen zu unterscheiden.

Übersicht

TL;DR

Auf dieser Seite wird ein vollständiger Anwendungsfall für die Personalisierung veranschaulicht: Durch die Iteration werden verschachtelte Profil-Arrays (Gesundheitspläne mit Verschreibungen) mit bedingter Filterung durchlaufen, sodass in einer E-Mail nur Verschreibungen im Status „bereit“ oder „zurückgerufen“ angezeigt werden.

Intents

  • Hier finden Sie ein Beispiel für eine gerenderte Ausgabe einer personalisierten E-Mail mit einem Gesundheitsplan
  • Grundlegendes zur HTML-Vorlage unter Verwendung verschachtelter {{#each}} und {%#if%} für die Iteration bedingter Arrays
  • Machen Sie sich mit der erforderlichen Profildatenstruktur vertraut: einem plans-Array, in dem jeder Plan ein prescriptions-Array mit state Feldern enthält
Glossar
  • Verschachtelte Iteration: Verwenden von {{#each}}-Schleifen innerhalb anderer {{#each}}-Schleifen zum Durchlaufen von Array-Strukturen mit mehreren Ebenen in Profildaten (z. B. Plänen → Vorschriften).
  • Rezeptstatus: Ein Feld auf jedem Rezeptobjekt, das in diesem Anwendungsfall seinen Lebenszyklusstatus angibt - die verwendeten Werte sind „bereit“, „zurückrufen“ und „aufgenommen“. (Anwendungsfall-spezifisch)
  • {%#if%}/{%/if%}: Bedingte Blocksyntax, die in Nachrichtenvorlagen zum Filtern von Array-Elementen während der Iteration verwendet wird (nicht identisch mit der doppelt geschweiften {{#if}} Handlebars-Syntax).
Terminologie
  • Kanonischer Name: verschachtelte Array-Iteration — Varianten: verschachtelte Schleifen, jede, mehrstufige Iteration
  • Verwechseln Sie nicht: {{#each}} / {{/each}} (Handlebars-Iterationssyntax, doppelte geschweifte Klammern) ≠ {%#if%} / {%/if%} (bedingte Syntax, Prozent-geschweifte Klammern) - beide werden in dieser Vorlage zusammen verwendet
  • Verwechseln Sie nicht: „bereit“ (Rezept für Abholung verfügbar) ≠ „zurückrufen“ (Rezept wurde zurückgerufen) ≠ „abgeholt“ (Rezept bereits abgeholt - durch den bedingten Filter von der Ausgabe ausgeschlossen)
FAQs

F: Welche Rezeptstatus sind in der E-Mail-Ausgabe enthalten?

Es werden nur Rezepte mit dem Status „bereit“ oder „zurückgerufen“ angezeigt. Rezepte mit Status „aufgenommen“ werden vom {%#if prescription.state = "ready" or prescription.state = "recall"%} bedingten Filter ausgeschlossen.

F: Welche Profildatenstruktur ist für diesen Anwendungsfall erforderlich?

Ein Profil mit einem plans Array, wobei jedes Planobjekt ein prescriptions Array enthält. Jedes Rezeptobjekt muss über prescription_id-, name- und state verfügen.

F: Wie werden Pläne und Rezepte in der Vorlage iteriert?

Die äußere {{#each profile.plans as |plan|}} durchläuft jeden Gesundheitsplan. Darin durchläuft {{#each plan.prescriptions as |prescription|}} die Rezepte jedes Plans, und ein bedingter Block filtert nur in den Status „bereit“ oder „zurückzurufen“.

recommendation-more-help
journey-optimizer-help