Todos los conjuntos de reglas de triaje deberán utilizar la interfaz de triaje para poder ejecutarse dentro de UA. La interfaz se detalla a continuación:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright 2010-2011 Curam Software Ltd.
Reservados todos los derechos.
Este software es información confidencial y
propietaria de Curam Software, Ltd. ("Información
confidencial"). No podrá revelar esta Información
confidencial y deberá utilizarla únicamente de acuerdo con
las condiciones del acuerdo de licencia que ha convenido
con Curam Software.
-->
<RuleSet
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=
"http://www.curamsoftware.com/CreoleRulesSchema.xsd"
name="TriageInterfaceRuleSet">
<!-- 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="AbstractTriageResult" abstract="true">
<Attribute name="alertMessage">
<type>
<javaclass name="List">
<ruleclass name="AbstractAlertMessage"/>
</javaclass>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="services">
<type>
<javaclass name="List">
<ruleclass name="AbstractService"/>
</javaclass>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="programs">
<type>
<javaclass name="List">
<ruleclass name="AbstractProgram"/>
</javaclass>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="screenings">
<type>
<javaclass name="List">
<ruleclass name="AbstractScreening"/>
</javaclass>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="intakeApplications">
<type>
<javaclass name="List">
<ruleclass name="AbstractIntakeApplication"/>
</javaclass>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="needs">
<type>
<javaclass name="List">
<ruleclass name="AbstractNeed"/>
</javaclass>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
<!-- Abstract Need -->
<Class abstract="true" name="AbstractNeed">
<Attribute name="description">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="identifier">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="appropriate">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="priority">
<type>
<javaclass name="Number"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
<!-- Abstract Screening -->
<Class abstract="true" name="AbstractScreening">
<Attribute name="description">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="appropriate">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="identifier">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
<!-- End Abstract Screening -->
<!-- AbstractIntakeApplication -->
<Class abstract="true" name="AbstractIntakeApplication">
<Attribute name="description">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="appropriate">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="identifier">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
<!-- End AbstractIntakeApplication -->
<Class name="AbstractAlertMessage" abstract="true">
<Attribute name="alertRequired">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="message">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
<!-- Abstract Service -->
<Class abstract="true" name="AbstractService">
<Attribute name="description">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="appropriate">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="identifier">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="groupInd">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="needIdentifier">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
<!-- Abstract program -->
<Class abstract="true" name="AbstractProgram">
<Attribute name="description">
<type>
<javaclass name="curam.creole.value.Message"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="appropriate">
<type>
<javaclass name="Boolean"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="programTypeReference">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
<Attribute name="needIdentifier">
<type>
<javaclass name="String"/>
</type>
<derivation>
<abstract/>
</derivation>
</Attribute>
</Class>
</RuleSet>
El conjunto de reglas especificado en la propiedad de aplicación curam.citizenworkspace.triage.ruleset.name debe incluir una clase de reglas, generalmente denominada "Triaje", que amplía la clase de reglas AbstractTriageResult indicada arriba.
Este uso de la clase de reglas AbstractTriageResult garantiza que los atributos necesarios están disponibles durante la ejecución de las reglas.