The Screening Rules Interface

Please note that all screening rule sets will need to use the screening rules interface so that they can be executed within Universal Access. The interface is detailed below:

<?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">
        
   <!-- This class must be extended by all rule sets invoked by
     the Citizen Portal screening results processing. -->     
  <Class name="AbstractScreeningResult" abstract="true">
        
    <Initialization>
      <Attribute name="calculationDate">
        <type>
          <javaclass name="curam.util.type.Date"/>
        </type>
      </Attribute>
    </Initialization>
 
    <!-- The programs supported by this Screening Ruleset. -->
    <Attribute name="programs">
      <type>
        <javaclass name="List">
          <ruleclass name="AbstractProgram"/>
        </javaclass>
      </type>
    
      <derivation>
        <!-- Subclasses of AbstractScreeningResult must override
          this attribute to create a list of the Programs
          supported by the rule set. -->
        <abstract/>
      </derivation>
    </Attribute>
        
  </Class>
        
  <!-- This class must be extended by all programs supported
    in the rule set. -->
  <Class name="AbstractProgram" abstract="true">
        
    <!-- Identifies the program as configured in the Citizen
      Portal administration application. -->
    <Attribute name="programTypeReference">
      <type>
        <javaclass name="String"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
        
    <!-- Whether the claimant is eligible for this program. -->
    <Attribute name="eligible">
      <type>
        <javaclass name="Boolean"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
        
    <!-- The localizable explanation as to why the claimant is
        or is not eligible for this program.  May contain HTML
        formatting/hyperlinks/etc. -->
    <Attribute name="explanation">
      <type>
        <javaclass name="curam.creole.value.Message"/>
      </type>
      <derivation>
        <abstract/>
      </derivation>
    </Attribute>
  </Class>
        
</RuleSet>

Screening rule sets must include a class that extends the AbstractScreeningResult rule class outlined above.

This usage of the AbstractTriageResult rule class guarantees that the required attributes are available during the rules execution.