Relations du foyer

Lors de la collecte des informations sur les membres d'un foyer, il peut être nécessaire de déterminer comment ces gens sont liés les uns aux autres. IEG fournit un mécanisme pour capturer les relations via l'utilisation de pages de relation et une structure de schéma de magasin spécifique.

Une entité Relationship doit être définie dans le schéma de magasin de données, sous la forme suivante :

Figure 1. Entité Relationship dans un schéma de magasin de données
<xsd:element name="Person">
  <xsd:complexType>
    <xsd:sequence minOccurs="0">
      <xsd:element ref="Relationship" minOccurs="0"
        maxOccurs="unbounded"/>
    </xsd:sequence>
    ...
</xsd:element>
<xsd:element name="Relationship">
  <xsd:complexType>
    <xsd:attribute name="relationshipType" 
    type="IEG_STRING"/>
    <xsd:attribute name="isNonParentPrimaryCaretaker" 
        type="IEG_BOOLEAN" default="false"/>
    <xsd:attribute name="personID" type="D:SVR_KEY"/>
  </xsd:complexType>
</xsd:element>

Une page de relation pour le foyer peut être définie comme suit, sous réserve que l'entité Relationship est un enfant de l'entité Person :

Figure 2. Page de relation
<relationship-page id="RelationshipPage" show-person-tabs="true"
    progress="40">
    <title id="RelationshipPage.Title">
        <![CDATA[Relations du foyer]]>
    </title>
    <description id="RelationshipPage.Description">
    <![CDATA[Veuillez entrer les informations de %1s ci-dessous]]>
      <argument id="Person.firstName" />
    </description>
    <icon image="sample_title_household" />
    <question id="caretakerInd">
        <label id="CaretakerInd.Label">
            <![CDATA[S'agit-t-il d'un tuteur
            non parent ?]]>
        </label>
    </question>
</relationship-page>

Il est uniquement nécessaire de définir la page de relations une fois. IEG affiche alors la page autant de fois que nécessaire pour regrouper les relations d'une personne à la fois. Ceci équivaut à une fois moins que le nombre de membres du foyer, car les relations de la dernière personne auront été regroupées dans leur intégralité via le processus.

Par défaut le champ Type de relation se présente sous la forme d'une liste déroulante, remplie à partir d'une table de codes (configurable via la propriété relationship.type.domain.name ) :

La page de relation contient un onglet Personne dans la partie supérieure. Il renferme la liste des membres du foyer et la personne en cours est mise en évidence. Ensuite, chaque relation entre la personne en cours et les autres membres s'affiche.

L'indicateur intérimaire est la seule question qui peut être ajoutée directement à la page de relations. Les questions concernant les autres attributs d'une entité Relationship doivent être ajoutées à des clusters qui ont été ajoutés à la page de relations.