ProgramDefinition

The ProgramDefinition rule provides association between program definition, program action, and program activity. This rule is used to define program fields, map program field values to program activity field data, and trigger defined program operations with the ONSUBMIT event.

ProgramDefinition Elements and Attributes
Element Attribute Definition Value and Description

<ProgramDefinition>

 

 

 

<Fields>

 

Required element   

Common field definition. See Fields Element.

 

<Events>

 

Optional element   

Common events definition. See Actions/Events.

 

<Event>

 

 

Required if <Events> is present.

 

TYPE

The ONSUBMIT event is used to trigger the execution of program operations. ONCHANGE is used as is customary.

ONSUBMIT | ONCHANGE   

ONSUBMIT: Triggers the execution of program operations.
ONCHANGE: Used as is customary.

<ScreenMath>

 

Optional element

Common screen math definition. See ScreenMath.

 

<Math>

 

Optional element

Common math definition. See Math Element.

 

ID

Required attribute

 

<Actions>

 

Optional element

Common Actions definition. See Actions/Events.

 

<ActionSet>

ID

Required attribute

Identifies the action set by name.

String   

<Condition>

 

 

Optional element

 

IF

Optional attribute

Specifies an expression evaluating true or false.

String:

Conditional expression.

<Action>

 

 

 

Optional element

Common action definitions and action types apply.

 

TYPE

Required if <Action> is present

The action type of OPERATION is used in conjunction with the ONSUBMIT event

OPERATION

RESULT

Required if TYPE="OPERATION".   

String   

The value of the attribute is one of the five defined program operations:
•  Rollback
•  DoNothing
•  Close program
•  ChangePending
•  Recycle

<Fields>

 

Optional element

Maps program field values to pending program activity fields if the RESULT attribute is ChangePending or Close Program.

 

<Field>

 

Required if <Fields> is present.

Common field definition. See Fields Element.

 

<From>

 

Required if <Fields> is present.

Defines program field as source field using "Program: . . ."

 

<To>

 

Required if <Fields> is present.

Defines pending program activity field as the target field for the update.

 

<DataType>

 

Required if <Fields> is present.   

Identifies the data type of the source and target fields.

 

<ElseIf>

 

 

Optional element

Defines a conditional expression and action to be executed if previous conditional expressions evaluate to false.

 

IF

Optional attribute

Specifies an expression evaluating true or false.

String:

Conditional expression.

<Action>

 

Same as <Action> element above.   

Defines the action to be taken if the <ElseIf> condition is met.

 

<Else>

 

Optional element

Defines an action to be executed if all previous expressions in the Condition element evaluate to false.

 

<Action>

 

Same as <Action> element above.   

Defines the action to be taken if the <Else> condition is reached.

 

<ProgramActions>

 

Required and repeatable element

Configuration defines the transactions associated with add and stop actions.

 

<ProgramAction>

 

Repeatable element

 

ACTION

Required attribute

The ACTION attribute values define the action, and the Transaction element value associates a transaction to the action specified here. Actions should be associated to different transactions for easiest implementation.

Start | Run | Terminate | Reinstate | Change 

Start:   Defines the program action to initiate a program instance.

Run:  Defines the program action to start a specific program activity by name.

Terminate:  Defines the program action to stop the specified program activity.

Reinstate:  Defines the program action to initiate a program reinstatement activity as defined by the ReinstateProgram rule.

Change: Defines the program action to change the program value on a specific date by initiating an specific activity by name

<Transaction>

 

Required and repeatable element

The value identifies the transaction corresponding to the ACTION attribute value of Start, Run, or Terminate.

String:

<Fields>

 

Required element if ACTION="Start".

Will be used to map program field values to SetUp activity fields.

Names the from and to fields and their values.

 

<Field>

 

Required if <Fields> is present.

Standard field definition.

 

<From>

 

Required if <Fields> is present.

Defines the field in the ProgramScreen rule as the source field

 

<To>

 

Required if <Fields> is present.

Activity field associated with the named transaction.

 

<DataType>

 

Required if <Fields> is present.

Identifies the data type of the source/target field

 

<ReinstateTransaction>

 

Required element if ACTION="Reinstate".

This section of configuration defines the specific reinstatement activity to be created by the ReinstateProgram rule based on program and prior program status.

 

<ProgramPriorStatusCode>

 

Required and repeatable element

Defines the programs status prior to suspension

Singular Program status code from AsCodeProgramStatus. No comma delimited lists

<Transaction>

 

Required and repeatable element

Identifies the reinstatement transaction by transaction name.

String:

XML Example

<ProgramDefinition>
<Fields>
<Field>
<Name>ClientName</Name>
<Display>ClientName</Display>
<DataType>Client</DataType>
</Field>
<Field>
<Name>ProgramFrequency</Name>
<Display>Program Frequency</Display>
<DataType>Combo</DataType>
<Query TYPE="SQL">SELECT AsCode.CodeValue, AsCode.ShortDescription 
FROM AsCode WHERE AsCode.CodeName = 'AsCodeMode'</Query>
</Field>
<Field>
<Name>ProgramAmount</Name>
<Display>Program Amount</Display>
<DataType>Money</DataType>
</Field>
<Field>
<Name>NextScheduledDate</Name>
<Display>Next Scheduled Date</Display>
<DataType>Date</DataType>
<Disabled>Yes</Disabled>
</Field>
</Fields>
<Events>
<Event TYPE="ONSUBMIT">
<Math ID="ProgramScreenMath"></Math>
<ActionSet ID="FieldVerification"></ActionSet>
</Event>
</Events>
<ScreenMath>
<Math ID="ProgramScreenMath" GLOBAL="No">
<MathVariables>
<MathVariable VARIABLENAME="ProgramGUIDMV" TYPE="EXPRESSION" DATATYPE="TEXT">ProgramGUID</MathVariable>
<MathVariable VARIABLENAME="ProgramEndDateMV" TYPE="SQL" DATATYPE="DATE">
SELECT EndDate FROM AsProgram WHERE ProgramGUID = '[ProgramGUIDMV]'
</MathVariable>
</MathVariables>
</Math>
</ScreenMath>
<Actions>
<ActionSet ID="FieldVerification">
<Condition IF="IsEmpty(EffectiveDate)">
<Action ACTIONTYPE="ERROR">Effective Date requires a value.</Action>
</Condition>
<Condition IF="IsEmpty(StartDate)">
<Action ACTIONTYPE="ERROR">Start Date requires a value.</Action>
</Condition>
<Condition IF="IsEmpty(EndDate)">
<Action ACTIONTYPE="ERROR">End Date requires a value.</Action>
</Condition>
<Condition IF="Not IsEmpty(StartDate) And Not IsEmpty(EndDate) And StartDate &gt;= EndDate">
<Action ACTIONTYPE="ERROR">Program Start Date must be less than Program End Date.</Action>
</Condition>
<Condition IF="StatusCode='05' AND EndDate &lt; ProgramScreenMath:ProgramEndDateMV">
<Action ACTIONTYPE="OPERATION" RESULT="Rollback"></Action>
</Condition>
</ActionSet>
</Actions>
<ProgramActions>
<ProgramAction ACTION="Start">
<Transaction>SetUpProgram</Transaction>
<Fields>
<Field>
<From>StartDate</From>
<To>StartDate</To>
<DataType>Date</DataType>
</Field>
<Field>
<From>ProgramFrequency</From>
<To>ProgramFrequency</To>
<DataType>Text</DataType>
</Field>
<Field>
<From>ProgramAmount</From>
<To>ProgramAmount</To>
<DataType>Money</DataType>
</Field>
</Fields>
</ProgramAction>
<ProgramAction ACTION="Run">
<Transaction>PolicyProgramAScheduledActivity</Transaction>
<Fields>
<Field>
<From>StartDate</From>
<To>StartDate</To>
<DataType>Date</DataType>
</Field>
<Field>
<From>ProgramFrequency</From>
<To>ProgramFrequency</To>
<DataType>Text</DataType>
</Field>
<Field>
<From>ProgramAmount</From>
<To>ProgramAmount</To>
<DataType>Money</DataType>
</Field>
</Fields>
</ProgramAction>
<ProgramAction ACTION="Terminate">
<Transaction>TerminateProgram</Transaction>
</ProgramAction>
<ProgramAction ACTION="Reinstate">
<ReinstateTransaction>
<ProgramPriorStatusCode>04</ProgramPriorStatusCode>
<Transaction>ReinstateProgramSkip</Transaction>
</ReinstateTransaction>
</ProgramAction>
</ProgramActions>
</ProgramDefinition>

XML Schema

<ProgramDefinition>
<Fields>
<Field/>
</Fields>
<Events>
<Event TYPE="[ONSUBMIT|ONCHANGE]"> </Event>
</Events>
<ScreenMath>
<Math ID="XXX"/>
</ScreenMath>
<Actions>
<ActionSet ID="">
<Condition IF="">
<Action TYPE="OPERATION" RESULT="Name behavior expected"/>
<Else>
<Action TYPE="OPERATION" RESULT="[ChangePending|Terminate]">
<Fields>
<Field>
<From/>
<To/>
<DataType/>
</Field>
</Fields>
</Action>
</Else>
</Condition>
</ActionSet>
</Actions>
<ProgramActions>
<ProgramAction ACTION="[Start|Run|Terminate|Change]">
<Transaction>name of ACTION transaction</Transaction>
<Fields>
<Field>
<From/>
<To/>
<DataType/>
</Field>
</Fields>
</ProgramAction>
<ProgramAction ACTION="Reinstate">
<ReinstateTransaction>
<ProgramPriorStatusCode/>
<ProgramPriorStatusCode/>
<Transaction></Transaction>
</ReinstateTransaction>
<ReinstateTransaction>
<ProgramPriorStatusCode/>
<ProgramPriorStatusCode/>
<Transaction></Transaction>
</ReinstateTransaction>
</ProgramAction>
</ProgramActions>
</ProgramDefinition>

 

 

Oracle Insurance Logo Copyright © 2017, Oracle and/or its affiliates. All rights reserved. About Oracle Insurance | Contact Us