Relaciones de la unidad familiar

Al recopilar información sobre un grupo de personas de una unidad familiar, es posible que sea necesario determinar cómo están relacionadas esas personas entre sí. IEG proporciona un mecanismo para capturar relaciones mediante el uso de páginas de relaciones y una estructura de esquema de almacén de datos específica.

Se debe definir una entidad de relación en el esquema de almacén de datos, tomando el formato siguiente:

Figura 1. Entidad de relación en un esquema de almacén de datos
<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>

Una página de relaciones para la unidad familiar se puede definir de la manera siguiente, a condición de que la entidad de relación sea un hijo de la entidad de persona:

Figura 2. Página de relaciones
<relationship-page id="RelationshipPage" show-person-tabs="true"
    progress="40">
    <title id="RelationshipPage.Title">
        <![CDATA[Relaciones de unidad familiar]]>
    </title>
    <description id="RelationshipPage.Description">
    <![CDATA[Entre las relaciones para %1s más abajo]]>
      <argument id="Person.firstName" />
    </description>
    <icon image="sample_title_household" />
    <question id="caretakerInd">
        <label id="CaretakerInd.Label">
            <![CDATA[¿Es una relación de tutor
            no parental?]]>
        </label>
    </question>
</relationship-page>

Sólo es necesario definir la página de relaciones una vez. Entonces IEG mostrará la página tantas veces como sea necesario para recopilar las relaciones de persona en persona. Esto equivale a una vez menos que el número de personas de la unidad familiar, porque las relaciones de la última persona se habrán recopilado en su totalidad a lo largo del proceso.

De forma predeterminada, el campo Tipo de relación se presenta como un desplegable, lleno con una tabla de códigos (configurable a través de la propiedad relationship.type.domain.name):

La página de relaciones mostrará una pestaña de personas en la parte superior que contiene la lista de miembros de la unidad familiar y la persona actual estará resaltada. Entonces se visualizará cada relación entre la persona actual y los demás miembros.

El indicador de tutor es la única pregunta que se puede añadir directamente a la página de relaciones. Las preguntas sobre otros atributos de una entidad de relación deben añadirse a los clústeres que se han añadido a la página de relaciones.