Interface de règles d'examen préalable

Veuillez noter que tous les jeux de règles d'examen préalable doivent utiliser l'interface de règles d'examen préalable afin qu'ils puissent être exécutés dans Universal Access. L'interface est détaillée ci-dessous :

<?xml version="1.0" encoding="UTF-8"?>
        
<RuleSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="http://www.curamsoftware.com/
   CreoleRulesSchema.xsd"
   name="ScreeningInterfaceRuleSet">
        
   <!-- Cette classe doit être étendue par tous les jeux de règles appelés par
     le traitement des résultats d'examen préalable du Citizen Portal. -->     
  <Class name="AbstractScreeningResult" abstract="true">
        
    <Initialization>
      <Attribute name="calculationDate">
        <type>
          <javaclass name="curam.util.type.Date"/>
        </type>
      </Attribute>
    </Initialization>
 
    <!-- Les programmes pris en charge par ce jeu de règles d'examen préalable. -->
    <Attribute name="programs">
      <type>
        <javaclass name="List">
          <ruleclass name="AbstractProgram"/>
        </javaclass>
      </type>
    
      <derivation>
        <!-- Les sous-classes de AbstractScreeningResult doivent remplacer
          cet attribut pour créer une liste des programmes
          pris en charge par le jeu de règles. -->
        <abstract/>
      </derivation>
    </Attribute>
        
  </Class>
        
  <!-- Cette classe doit être étendue par tous les programmes pris en charge
    dans le jeu de règles. -->
  <Class name="AbstractProgram" abstract="true">
        
    <!-- Identifie le programme tel qu'il est configuré dans l'application d'administration
      Citizen Portal. -->
    <Attribute name="programTypeReference">
      <type>
        <javaclass name="String"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
        
    <!-- Indique si le demandeur est éligible à ce programme. -->
    <Attribute name="eligible">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
        
    <!-- L'explication localisable pour laquelle le demandeur est
        éligible ou non à ce programme.  Peut contenir du HTML
        formatting/hyperlinks/etc. -->
    <Attribute name="explanation">
      <type>
        <javaclass name="curam.creole.value.Message"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
  </Class>
        
</RuleSet>

Les jeux de règles d'examen préalable doivent contenir une classe qui étend la classe de règles AbstractScreeningResult décrite ci-dessus.

Cette utilisation de la classe de règles AbstractTriageResult garantit que les attributs requis sont disponibles lors de l'exécution des règles.