Conditions

Like validations, dynamic logic conditions return a Boolean. The difference is that a condition has one or more objects as its input parameters, rather than a single value. Which objects are passed along as input parameters differs per signature. The return value will be interpreted by Oracle Health Insurance according to Groovy truth logic, meaning that in case a NULL value is returned - this will be interpreted as false.

Callout Rule

This type of dynamic logic can be attached to a callout rule to determine whether a callout should be executed during the processing of an authorization.

The following signature applies:

Table 1. Callout Rule Signature
In or Out Name Type Description

In

authorization

Authorization

The authorization that is being evaluated

In

calloutRule

CalloutRule

The rule being evaluated (can be used to parametrize the dynamic logic)

Out

n/a

Boolean

True when the callout rule must be executed

This signature does not specify a default as-of date.

Country

It’s possible to specify a condition for a country. Only addresses that meet this condition are valid for that particular country. The following signature applies:

Table 2. Country Signature
In or Out Name Type Description

In

address

Address

The address to be checked

Out

n/a

Boolean

True when the address is allowed

This signature does not specify a default as-of date. This dynamic logic condition is executed when an address (in the specified country) is created or updated.

Dynamic Field Usage

A dynamic field usage extends a table with a dynamic field. A dynamic usage can specify two dynamic logic conditions: the first specifies when it is allowed to set the value for a dynamic field, the second specifies when it is required to set the value for a dynamic field. Both conditions have their own signature.

The following signature applies to dynamic field usage conditions that specify when a value is allowed:

Table 3. Dynamic Field Usage Signature
In or Out Name Type Description

In

Depends on the entity being extended

Depends on the entity being extended

The entity that is being extended.

Out

n/a

Boolean

True when the dynamic check message must be attached

This signature does not specify a default as-of date. The condition is executed when a user or integration point request message tries to set the value of the dynamic field.

For example, if the dynamic field usage is on the REL_RELATIONS table, the object name in the dynamic logic is "relation", being of the type "Relation".

Consider the following condition to clarify:

return relation.isPerson() && relation.gender=="F"

The following signature applies to dynamic field usage conditions that specify when a value is mandatory:

Table 4. Signature When A Value is Mandatory
In or Out Name Type Description

In

Depends on the entity being extended

Depends on the entity being extended

The entity that is being extended.

Out

n/a

Boolean

True when the dynamic check message must be attached

This signature does not specify a default as-of date. The condition is executed a new record (in the extended table) is being created or an existing record is being updated.

Event Rule

This type of dynamic logic can be attached to a event rule to determine whether an event message should be sent. The following signature applies:

Table 5. Event Rule Signature
In or Out Name Type Description

In

authorization

Authorization

The authorization being processed

In

eventRule

EventRule

The rule being evaluated (can be used to parametrize the dynamic logic)

Out

n/a

Boolean

True when the event must be sent out.

This signature’s as-of date defaults to the authorization start date.

Geographic Region

A geographic region is defined by one or more dynamic logic conditions. An address is in a geographic region if one of the geographic conditions evaluates as true.

The following signature applies:

Table 6. Geographic Region
In or Out Name Type Description

In

address

Address

Address to be checked.

In

geographicCondition

GeographicCondition

The geographic condition being evaluated. Can be used to parametrize the dynamic logic

Out

n/a

Boolean

True when the address belongs to the geographic region

For example, the geographic region "NEWTON" consists of all addresses that have a zipcode between 02344 and 02349:

return address.postalCode >= "02344" && address.postalCode <= "02349"

This signature does not specify a default as-of date. This dynamic logic is executed when the pre-defined address method inGeographicRegion() is called.

Pend Rule

This type of dynamic logic can be attached to a pend rule rule to determine whether an authorization should be pended during the processing. The following signature applies:

Table 7. Pend Rule Signature
In or Out Name Type Description

In

authorization

Authorization

The authorization that is being evaluated

In

pendRule

PendRule

The rule being evaluated (can be used to parametrize the dynamic logic)

Out

n/a

Boolean

True when the authorization must pend

This signature’s as-of date defaults to the authorizations start date.

Validation Rule

A validation rule is evaluated during the processing of an authorization. The following signature applies to the validation rules":

Table 8. Validation Rule Signature
In or Out Name Type Description

in

authorization

Authorization

The authorization that is being evaluated

In

validationRule

ValidationRule

The validation rule being evaluated (can be used to parametrize the dynamic logic)

Out

n/a

Boolean

True when the validation rule message should be attached and/or the validation rule function dynamic logic should be executed

This signature’s as-of date defaults to the authorization start date.