Term Specific Insurable Classes
This sample use case extends the Term a Group use case and enables users to term specific insurable classes. This requires a user to specify the list of insurable classes to consider.
The following additional parameters can be defined:
The following parameter configurations ensure that a field of type date , labeled as Term Date is displayed on the user interface.
|
Field | Configuration |
---|---|
Usage Name |
groupAccountInsurableClasses |
Display Name |
Insurable Classes |
Data Type |
Char |
Mandatory? |
true |
Multi Value? |
true |
Pick List |
groupaccountinsurableclasses |
Filter |
groupaccount.code.eq({$requestContext.code}) |
This configuration ensures that a pick list of group account insurable classes defined for the group is displayed. The macro request contains (a comma-separated) list of selected group account insurable class IDs.
The user can start the macro from the user interface page or directly make the following request to the Macro Integration Point:
{
"parameters": [
{
"name": "termDate",
"value": "2022-01-01"
},
{
"name": "groupAccountInsurableClasses",
"value": "12323243, 2323232, 24434343"
}
],
"macroDefinitionCode": "TERM_GROUP",
"requestContext": "{ \"id\": \"26551\" }"
}
Alternatively, a selection floorplan can be attached to the macro definition to allow users to select the group account insurable classes from the UI.
- Floorplan Configuration
{
"floorplan_selection": {
"title": {
"label": "SELECT_RECORDS_TO_TERM"
},
"properties": [
{
"name": "code",
"sequence": 1
},
{
"name": "descr",
"sequence": 2
},
{
"name": "groupaccountinsurableclasses",
"sequence": 3,
"properties": [
{
"name": "insurableClass",
"sequence": 1,
"refType": {
"type": "insurableClass"
}
},
{
"name": "displayName",
"sequence": 2
}
]
}
]
}
}
In this case, the payload constructed from the UI to start the macro will be different from the parameter-based approach.
- Payload to start macro integration
{
"parameters": [
{
"name": "termDate",
"value": "2022-01-01"
}
],
"macroDefinitionCode": "TERM_GROUP",
"requestContext": {
"_comment": "For readablity purpose this is shown as JSON. The request expects this to be passed as string.",
"id": "26551",
"code": "ORACLE",
"descr": "Oracle Corp.",
"groupAccountInsurableClassList": [
{
"id": "12323243",
"insurableClass": {
"id": "18435",
"links": [
{
"href": "http:[requestContext:root]/generic/insurableclasses/18435",
"rel": "canonical"
}
]
},
"displayName": "Employee"
},
{
"id": "2323232"
},
{
"id": "24434343"
}
]
}
}
Similarly, Oracle Insurance Gateway integration gets the group account insurable class information either in the parameters or in the requestContext object, depending on the macro configuration.
This flexibility allows for a user interface design that is best suited for the use case at hand.