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:
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:
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:
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:
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:
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:
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:
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":
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.