Interfaz de reglas de exploración

Tenga en cuenta que todos los conjuntos de reglas de exploración deberán utilizar la interfaz de reglas de exploración para poder ser ejecutados en Universal Access. La interfaz se detalla a continuación:

<?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">
        
   <!-- Esta clase debe ser ampliada por todos los conjuntos de reglas invocados por
     el procesamiento de resultados de exploración de Citizen Portal.-->     
  <Class name="AbstractScreeningResult" abstract="true">
        
    <Initialization>
      <Attribute name="calculationDate">
        <type>
          <javaclass name="curam.util.type.Date"/>
        </type>
      </Attribute>
    </Initialization>
 
    <!-- Los programas soportados por este conjunto de reglas de exploración. -->
    <Attribute name="programs">
      <type>
        <javaclass name="List">
          <ruleclass name="AbstractProgram"/>
        </javaclass>
      </type>
    
      <derivation>
        <!-- Las subclases de AbstractScreeningResult deben sobrescribir
          este atributo para crear una lista de los programas
          a los que da soporte el conjunto de reglas. -->
        <abstract/>
      </derivation>
    </Attribute>
        
  </Class>
        
  <!-- Esta clase debe ser ampliada por todos los programas a los que da soporte
    el conjunto de reglas. -->
  <Class name="AbstractProgram" abstract="true">
        
    <!-- Identifica el programa tal como se ha configurado en la aplicación
      de administración de Citizen Portal. -->
    <Attribute name="programTypeReference">
      <type>
        <javaclass name="String"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
        
    <!-- Si el demandante es elegible para este programa. -->
    <Attribute name="eligible">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
        
    <!-- La explicación localizable de por qué el demandante
        es o no elegible para este programa. Puede contener formato
        HTML/hiperenlaces/etc. -->
    <Attribute name="explanation">
      <type>
        <javaclass name="curam.creole.value.Message"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
  </Class>
        
</RuleSet>

Los conjuntos de reglas de exploración deben incluir una clase que amplíe la clase de reglas AbstractScreeningResult descrita arriba.

Este uso de la clase de reglas AbstractTriageResult garantiza que los atributos necesarios están disponibles durante la ejecución de las reglas.