Personen in einer Schleife durchlaufen

Der am häufigsten verwendete Entitätstyp für eine Schleife in IEG-Scripts ist die Entität Person. IEG enthält einige nützliche Funktionen, um Sie hierbei zu unterstützen. Bei der ersten Funktion handelt es sich um Personenregisterkarten. Wenn Sie Personenregisterkarten verwenden, sieht der Benutzer ein Fenster zwischen Seitentitel und Hauptinhalt der Seite. In diesem Fenster werden alle Personen in einem Haushalt angezeigt. Die Person, für die der Benutzer Informationen eingibt, wird markiert.

Jede Person wird durch ihren Vornamen und einem Symbol für Mann, Frau, Junge oder Mädchen dargestellt. Für Personen, bei denen das Geschlecht und das Geburtsdatum noch nicht bekannt sind, wird ein allgemeines Personensymbol angezeigt. Das Konfigurieren einer Seite für die Verwendung von Personenregisterkarten ist so einfach wie das Festlegen des Attributs "show-person-tabs" auf "true" für die Seite. Beachten Sie, dass die Seite sich in einer Schleife befinden muss, deren Entitätsattribut auf "Person" festgelegt werden muss, damit dies funktioniert.

Bei einer Verwendung auf einer Seite in einer For-Schleife ist die einzige bekannte Information die Anzahl der zu erfassenden Personen, wenn der Benutzer die Schleife zum ersten Mal aufruft. Es werden dann Informationen zu den Personen erfasst, während der Benutzer die Schleife durchläuft. Die einzige Information, die die Personenregisterkarte enthält, ist die Anzahl der Personen, die noch eingegeben werden müssen (nicht Alter oder Geschlecht).

Beachten Sie, dass das Attribut "show-person-tabs" auch auf Seiten in einer verschachtelten Schleife festgelegt werden kann, solange die Entität für die äußere Schleife nicht auf "Person" festgelegt ist. Auf diese Weise sieht der Benutzer weiterhin die Person, für die er Informationen in der inneren Schleife erfasst.

Eine weitere Funktion von IEG, mit der Informationen zu Personen in einem Haushalt erfasst werden können, ist das Element "relationship-page". Dieses Element ist eine einfache Möglichkeit, das System anzuweisen, die Beziehungen zwischen den Personen in einem Haushalt zu erfassen. Das Einschließen des Elements "relationship-page" in einem Script sieht ungefähr wie folgt aus:

Abbildung 1. Beziehungsseite - XML
<relationship-page id="RelationshipPage" show-person-tabs="true">
  <title id="RelationshipPage.Title">
    <![CDATA[Household Relationships]]>
  </title>
</relationship-page>

Der Benutzer wird automatisch durch eine Schleife von bereits eingegebenen Personen geführt. Der Benutzer kann Details zu seinen Beziehungen der Personen im Haushalt eingeben. Der Benutzer wird nur gebeten, Beziehungen einzugeben, die noch nicht erfasst sind, sodass für jede Person in einem Haushalt eine Beziehung weniger eingegeben werden muss. Das bedeutet, dass keine Beziehung für die letzte Person erfasst wird, da ihre wechselseitigen Beziehungen bereits eingegeben wurden.

Der Benutzer wird auf der Beziehungsseite nur nach dem Typ jeder Beziehung gefragt. Sie haben auch die Möglichkeit, einen Indikator zu verwenden, um zu erfassen, ob es sich bei einer Beziehung um ein nicht elterliches Betreuungsverhältnis handelt. Dies können Sie mit der folgenden Syntax festlegen:

Abbildung 2. Beziehungsseite mit Betreuungsperson-Indikator - XML
<relationship-page id="RelationshipPage" show-person-tabs="true">
  <title id="RelationshipPage.Title">
    <![CDATA[Household Relationships]]>
  </title>
  <question id="caretakerInd">
    <label id="CaretakerInd.Label">
      <![CDATA[Is this a non-parent caretaker relationship]]>
    </label>
  </question>
</relationship-page>

Der Betreuungsperson-Indikator ist die einzige Frage, die der Beziehungsseite direkt hinzugefügt werden kann. Fragen zu anderen Attributen der Entität "relationship" müssen Clustern hinzugefügt werden, die der Beziehungsseite hinzugefügt wurden. Zum Beispiel:

Abbildung 3. Beziehungsseite mit "relationship"-Attributen - XML
<relationship-page id="RelationshipPage" show-person-tabs="true">
  <title id="RelationshipPage.Title">
    <![CDATA[Household Relationships]]>
  </title>
  <question id="caretakerInd">
    <label id="CaretakerInd.Label">
      <![CDATA[Is this a non-parent caretaker relationship?]]>
    </label>
  </question>
  <cluster>
    <question id="startDate" mandatory="true">
      <label id="StartDate.Label">
        <![CDATA[Relationship Start Date:]]>
      </label>
    </question>
  </cluster>
</relationship-page>

Die einer Beziehungsseite hinzugefügten Cluster werden für jede zu erfassende Beziehung wiederholt.

Anzeigetext kann direkt zu einer Beziehungsseite hinzugefügt werden. Dieser Text wird unabhängig von der Anzahl der erfassten Beziehungen nur einmal auf der Seite angezeigt. Der Anzeigetext wird auf der Seite oben über den Beziehungen angezeigt.

Eine Zusammenfassung der für den Haushalt erfassten Beziehungen können auf der Zusammenfassungsseite ganz einfach hinzugefügt werden, indem das Element "relationship-summary-list" hinzugefügt wird.

Die Beziehungsliste enthält immer mindestens drei Spalten, um zwei Personen einer Beziehung und den Beziehungstyp anzuzeigen. Wenn Sie den Betreuungsperson-Indikator auf Ihrer Beziehungsseite verwendet oder andere Informationen zu den Beziehungen erfasst haben, können der Beziehungszusammenfassungsliste weitere Spalten hinzugefügt werden, um diese Informationen anzuzeigen. Zum Beispiel:

Abbildung 4. Beziehungszusammenfassungsliste - XML
<relationship-summary-list>
  <title id="RelationshipSummaryPage.Title">
    <![CDATA[Person Relationships Summary]]>
  </title>
  <description id="PersonRelationshipSummaryPage.Description">
    <![CDATA[Person Relationship Summary Details]]>
  </description>
  <column id="caretakerInd">
    <title id="CaretakerInd.Title">
      <![CDATA[Caretaker?]]>
    </title>
  </column>
  <column id="startDate">
    <title id="StartDate.Title">
      <![CDATA[Start Date]]>
    </title>
  </column>
  <edit-link start-page="RelationshipPage"/>
</relationship-summary-list>

Das Element "edit-link" kann in "relationship-summary-list" verwendet werden, um Beziehungen auf dieselbe Art und Weise wie das Element "edit-link" in einer Liste zu bearbeiten (Datensätze in Listen bearbeiten)