IntakeProgramType et ScreeningProgramType dans les expressions

Comme indiqué précédemment dans Introduction, IEG permet aux clients de créer des scripts dynamiques pour collecter des données, généralement utilisées dans le cadre d'une application pour un programme ou pour déterminer l'éligibilité potentielle. En tant que tel, IEG fournit un traitement exceptionnel dans la détermination des programmes pour lesquels le demandeur postule.

Lors de la définition d'expressions dans un script IEG, vous pouvez vous reporter à deux types d'entité nommés IntakeProgramType et ScreeningProgramType. Toutefois, ces types d'entité ne sont pas réellement définis dans le schéma utilisé pour exécuter le script. IEG effectue une transformation de ces expressions et les types d'entité qui doivent être définis dans le schéma sont IntakeProgram et ScreeningProgram. Ces types d'entité doivent être définis avec un attribut nommé programTypeReference avec le type IEG_STRING. L'entité racine est alors définie pour contenir des collections d'entités IntakeProgram et ScreeningProgram comme suit :

Figure 1. Schéma de programme d'admission et d'examen préalable
<xsd:element name="Application">
  <xsd:complexType>
    <xsd:sequence minOccurs="0">
      <xsd:element ref="IntakeProgram" 
                      minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element ref="ScreeningProgram" 
                      minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>
  </xsd:element> 
  <xsd:element name="IntakeProgram">
    <xsd:complexType>
      <xsd:attribute name="programTypeReference" type="IEG_STRING"/>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ScreeningProgram">
    <xsd:complexType>
      <xsd:attribute name="programTypeReference" type="IEG_STRING"/>
    </xsd:complexType>
  </xsd:element>

Ceci permet d'utiliser un script IEG unique pour collecter les informations requises dans le traitement des applications pour plusieurs programmes.

IEG ne crée pas les entités IntakeProgram et ScreeningProgram, mais vérifie simplement leur existence et la valeur de leurs attributs. Par conséquent, pour utiliser cette fonction, le magasin doit être prérempli avec les entités requises. Lors du pré-remplissage des entités, la valeur de l'attribut programTypeReference doit correspondre à ce qui semble être le nom de l'attribut référencé dans l'expression de la définition de script. Par exemple, une expression peut être définie comme suit :

Figure 2. Expression de programme d'admission
<condition expression="IntakeProgramType.FoodStamps==true">
  ...
</condition>

Lorsque cette expression est évaluée, IEG vérifie si l'entité racine contient une entité enfant de type IntakeProgram, où l'attribut programTypeReference contient la chaîne "FoodStamps". ScreeningProgram peut être référencé de la même manière :

Figure 3. Examen préalable de l'expression du programme
<condition expression=
      "ScreeningProgramType.CashAssistanceProgram ==true">
  ...
</condition>

Lorsque cette expression est évaluée, IEG vérifie si l'entité racine contient une entité enfant de type ScreeningProgram, où l'attribut programTypeReference contient la chaîne "CashAssistanceProgram".

Seuls les types d'entité IntakeProgram et ScreeningProgram sont pris en charge de cette façon, mais il n'existe pas de restriction sur la valeur de l'attribut programTypeReference dans tout type d'entité.