This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
OAB FASTFORMULA REFERENCE GUIDE
Prepared by
Authors: Prasad Bodla
Vikas Sethi
Nagaraj Hunur
Trevor Mathers
Ty Hayden
Creation Date: 21 - Feb - 2002
Last Updated: 22 - Aug - 2006
Status: ………
Version: 1.3
Copyright (C) 2005 Oracle Corporation All Rights Reserved
Change History of this Document
Date Section No. Author Remarks/Changes
25-NOV2003
Chapter 2 Prasad Bodla
Added entries for 2 new formula types: Person Change Causes Life Event and Rate Value Calculation
17-MAR-05
Prasad Bodla
Added entries for 3 new formula types for FP J: Range of Scheduled Hours, Manager Hierarchy, Rate Periodization
11-MAY-05
Prasad Bodla
Added entries for 2 new formulat types for FP K: Eligibility Access Calculation Rule and Election Value Range Rule
29- Nov- 05
Prasad Bodla
New list of product data base items added
10- Feb-06
Nagaraj Hunur
Corrected the sample code for the Fast Formula: BEN_AGE_CALC
10-Feb -06
Nagaraj Hunur
Updated the content for the Mandatory Determination Fast Formula
04 May 06
Nagaraj Hunur
Updated the default to assign pending action fast formula.
22-Aug_2006
Nagaraj Hunur
Added the Compensation Item rule formula type.
Chapter 1 : Introduction • FastFormula is a way to customize the existing functionality in Oracle Standard
and Advanced Benefits (OAB). Formulas in OAB are pieces of code which can receive information from calling program (packages), access database information and return values to the calling program. The calling program can use this information to modify the process functionality.
• Examples: An employee becomes eligible for a Stock Option plan if his or her performance rating is above 4. The normal rate for an Aetna Dental plan is $25 per month. If the person also enrolls in Aetna Medical, he or she receives a 10% discount.
• There are 100+ seeded formula types in OAB. • The FastFormula language is simple and hides the complexity of accessing the
tables and column. Formula Usage in Benefits Although there are 100+ formula types in OAB, there are certain types which
appear more frequently. • Person selection and Compensation object selection rules filter out persons or
compensation objects to be processed in batch processes. • Computation rules replace calculated values, these rules include value calculation
You select a formula you have written either on the list of values on the Submit Requests window or else on the applicable plan design window.
• Return statements for BEN formulas: A formula can return more than one value to a calling package. In Benefits, different packages which call the formula expect outputs to be returned differently. Based on the formula type, the number
and data types of values to be returned are predefined. Some packages expect the predefined names for output variables; the location of a variable in the return statement does not matter. Some packages expect the return variables to be returned by location, in this case the name of output variable does not matter.
• If predefined names are expected to be used and the formula does not use the expected names, the process will error out at run time.
See: Using Oracle FastFormula (A73295-04) for more information
Chapter 2 : OAB FastFormulas
This section provides information on each seeded formula type, database items, seeded contexts for a formula type, and available input values. A formula of a given formula type is expected to return values in a certain format and data type and with a predefined name in certain cases. A given formula type can be attached at different places in the product. For example, you can use the “Person Selection” formula type in several concurrent programs. All the above information is provided below for each formula type.
Formula Type: Eligibility Access Calculation Rule
1. Functional Usage: This rule will be used in setting up the user-defined criteria. It will be evaluated in the eligibility determination process.
2. Navigation Path: Total Compensation > Eligibility Profiles > Participant Eligibility > User
defined criteria : 3. Contexts: Business_Group_Id, Assignment Id, Date_Earned (life event occurred date or effective
date), Organization_Id, pgm_id, pl_id, opt_id, ler_id, pl_typ_id 4. Overloaded Contexts: No 5. Database items available: All columns except attribute columns from table’s ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
6. Input values available: No Input values are available. 7. Constraints using Database items: Database items other than the ones mentioned above cannot
be used. 8. Formula output or return values: Formula can return two values. First value is mandatory.
Values are returned in character format, but the process will convert returned values based on data types.
Out Variable name Data Type Value Remarks CRIT_COL1_VALUE (ANY NAME CAN BE USED)
Varchar2 Mandatory out variable. Value passed back will be converted based on date type specified in
CRIT_COL1_DATATYPE. IF RETURNED VALUE IS DATE THE DATA SHOULD BE RETURNED BACK IN CANONICAL FORM (YYYY/MM/DD HH24:MI:SS).
CRIT_COL2_VALUE (ANY NAME CAN BE USED)
Varchar2 Mandatory only if second criteria is added on generic criteria row. Value passed back will be converted based on date type specified in CRIT_COL2_DATATYPE. IF RETURNED VALUE IS DATE THE DATA SHOULD BE RETURNED BACK IN CANONICAL FORM (YYYY/MM/DD HH24:MI:SS).
1. Erroring: If any other output value is passed back then process errors out by raising BEN_91329_FORMULA_RETURN.
2. Remarks: None 3. Sample Formula:
4. Formula functions used in the sample formula: None 13. Unit test script: N.A
Formula Type: Election Value Range Rule
1. Functional Usage: This rule will be used if the user wants to return the min-max values for the standard rates when the rate is enterable at enrollment. This rule will currently be enabled only for Activity Type as ‘CWB Worksheet Amount’ and ‘CWB Recommended Amount.
2. Navigation Path: Total Compensation > Rate/Coverage Definitions > Standard Rates 3. Contexts: Business_Group_Id, Assignment Id, Date_Earned, Organization_Id, Jurisdiction_Code,
pgm_id, pl_id, opt_id, ler_id, pl_typ_id 4. Overloaded Contexts: No 5. Database items available: All columns except attribute columns from table’s ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
6. Input values available: PERSON_ID Input value is available. 7. Constraints using Database items: Database items other than the ones mentioned above cannot
be used. 8. Formula output or return values: Formula should use pre defined names for return variables
Out Variable name Data Type Value Remarks L_MN_ELCN_VAL Number mandatory out variable L_MX_ELCN_VAL Number mandatory out variable
L_INCRMT_VAL Number mandatory out variable
L_DFLT_VAL Number mandatory out variable
1. Erroring: If any other output value is passed back then process errors out by raising BEN_92311_FORMULA_VAL_PARAM.
2. Remarks: None 3. Sample Formula:
/********************************************************************** FORMULA NAME: BEN_CWB_MIN_MAX_RL FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Nagaraj Hunur 22-Jan-2004 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ASG_JOB is ',' /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_job = ASG_JOB if not ASG_JOB was defaulted then ( if l_job = 'Finance Manager' then (L_MN_ELCN_VAL = 100 L_MX_ELCN_VAL = 10000 L_INCRMT_VAL = 100 L_DFLT_VAL = 100) else (L_MN_ELCN_VAL = 150 L_MX_ELCN_VAL = 15000 L_INCRMT_VAL = 10 L_DFLT_VAL = 150) )
return L_MN_ELCN_VAL, L_MX_ELCN_VAL, L_INCRMT_VAL, L_DFLT_VAL /*================ FORMULA SECTION END =======================*/
4. Formula functions used in the sample formula: None 13. Unit test script: N.A
Formula Type: Range of scheduled Hours
1. Functional Usage: Range of scheduled hours eligibility criteria can be used created using a rule. If customer wants to use complex logic to decide on the number of scheduled hours, this formula can be used.
2. Navigation Path: Total Compensation > General Definitions > Eligibility Profiles > Participant > Employment Tab > Range of scheduled hours criterion.
4. Overloaded Contexts: No 5. Database items available: All columns except attribute columns from table’s ben_ler_f,
ben_pl_f, ben_pgm_f, ben_opt_f and database items based on person’s assignment_id. 6. Input values available:
Name Data Type Remarks BEN_IV_RT_STRT_DT Char Rate Start Date passed in format
YYYY/MM/DD HH24:MI:SS BEN_IV_CVG_STRT_DT Char Coverage Start Date passed in
format YYYY/MM/DD HH24:MI:SS
1. Constraints using Database items: Database items other than the ones mentioned
above can’t be used. 2. Formula output or return values:
Out Variable name Data Type Value Remarks MIN_HOURS (mandatory out variable, any name can be used)
Number Either MIN_HOURS or MAX_HOURS or both needs to be specified.
MAX_HOURS Number FREQUENCY Char Based on lookup FREQUENCY
1. Erroring: If wrong values are passed back from the formula does it gracefully exit or if errors what kind of error is raised. : If any other output value is passed back then process errors (BEN_91329_FORMULA_RETURN). If FREQUENCY is not returned then the following error will be returned 'BEN_92310_FORMULA_RET_PARAM_’.
2. Remarks: None 3. Sample Formula: /********************************************************************** FORMULA NAME: BEN_RNG_SCHED_HRS_RL
FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : Range of scheduled hours *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Nagaraj Hunur 22-Dec-2004 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for ASG_JOB is ' ' /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_job = ASG_JOB if l_job = 'Manager' then (MIN_HOURS = 25 MAX_HOURS = 40 FREQUENCY = ‘H’ ) else (MIN_HOURS = 20 MAX_HOURS = 35 FREQUENCY = ‘H’) return MIN_HOURS, MAX_HOURS, FREQUENCY /*================ FORMULA SECTION END =======================*/ 4. Formula functions used in the sample formula: None 5. Unit test script: N.A
Formula Type: Manager Hierarchy
1. Functional Usage: If customer wants to use complex logic to decide on which manager needs to be providing approvals in the organization hierarchy, this formula can be used.
2. Navigation Path: Total Compensation > Programs and Plans > Plan Enrollment Requirements.
5. Database items available: All columns except attribute columns from tables ben_ler_f, ben_pl_f and database items based on person’s assignment_id.
6. Input values available: Name Data Type Remarks BEN_IV_PERSON_ID Number Person ID BEN_IV_ACCESS_CD Char Plan Access code BEN_IV_END_DT Char End Date passed in format
YYYY/MM/DD HH24:MI:SS BEN_IV_AUTO_DISTR_FLAG Char Auto Distribute flag – ‘Y’/’N’ BEN_IV_WS_UPD_STRT_DT Char Worksheet update start date passed
in format YYYY/MM/DD HH24:MI:SS
BEN_IV_WS_UPD_END_DT Char Worksheet update end date passed in format YYYY/MM/DD HH24:MI:SS
BEN_IV_USES_BDGT_FLAG Char Uses budget flag. Values - ‘Y’/’N’ 1. Constraints using Database items: Database items other than the ones mentioned
above can’t be used. 2. Formula output or return values:
Out Variable name Data Type Value Remarks l_manager_id (mandatory out variable, any name can be used)
Number
1. Erroring: None 2. Remarks: Sample formula which returns a manager ID based on persons organization. 3. Sample Formula: /********************************************************************** FORMULA NAME: BEN_MGR_HRCHY_RL FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Nagaraj Hunur 22-Dec-2004 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ASG_ORG is ',' /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_org = ASG_ORG if not ASG_ORG was defaulted then ( if l_org = 'Finance Department' then ( l_manager_id = 100) else (l_manager_id = 101) ) return l_manager_id /*================ FORMULA SECTION END =======================*/ 4. Formula functions used in the sample formula: None 13. Unit test script: N.A
Formula Type: Rate Periodization
1. Functional Usage: This formula gives complete control to the users to periodize the rates. User can define their one rule using the contexts and input values available to distribute the rates among defined amount, annual amount and communicated amounts.
2. Navigation Path: Total Compensation > Rate /Coverage Definitions > Standard Rates.
4. Overloaded Contexts: No 5. Database items available: Database items based on person’s assignment_id. 6. Input values available:
Name Data Type Remarks BEN_IV_CONVERT_FROM Char Possible values are DEFINED, CMCD
and ANNUAL. If BEN_IV_CONVERT_FROM is DEFINED rules needs to compute the annual and communicated values using the input value BEN_IV_CONVERT_FROM_VAL. If BEN_IV_CONVERT_FROM is ANNUAL rules needs to compute the defined and communicated values using the input value BEN_IV_CONVERT_FROM_VAL.
If BEN_IV_CONVERT_FROM is CMCD rules needs to compute the defined and annual values using the input value BEN_IV_CONVERT_FROM_VAL.
BEN_IV_CONVERT_FROM_VAL Number Value passed in to the formula BEN_ABR_IV_ACTY_BASE_RT_ID Number Activity base rate ID BEN_EPE_IV_ELIG_PER_ELCTBL_CHC_ID
Number Electable choice ID
BEN_ECR_IV_ENRT_RT_ID Number This input value is NOT available as part of Participation process. But this will be available in the enrollment process.
1. Constraints using Database items: Database items other than the ones mentioned
above can’t be used. 2. Formula output or return values:
Out Variable name Data Type Value Remarks DFND_VAL Number mandatory out variable ANN_VAL Number mandatory out variable CMCD_VAL
Number mandatory out variable
1. Erroring: If all the three values are not returned by the formula, the process throws an
appropriate error message. 2. Remarks: 3. Sample Formula: /********************************************************************** FORMULA NAME: BEN_RT_PERIODIZE_RL FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Nagaraj Hunur 22-Dec-2004 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/
/*================ FORMULA SECTION END =======================*/ 4. Formula functions used in the sample formula: None 13. Unit test script: N.A
Formula Type: Person change causes Life event
Functional Usage: Life events are triggered based on person changes attached to the life event. If customers need to write code to decide whether data change happened or not even if column change occurs, a rule can be attached. Output of rule and column change must be satisfied to trigger life event. Navigation Path:
Person Changes > Define Person Change > "Person Changes Window" (Rule field) Person Changes > Define Related Person Change > "Related Person Changes Window" (Rule field)
Contexts: Business_Group_Id, DATE_EARNED (p_effective_date), Assignment Id
Note: For any formula types, under contexts selection, if p_effective_date is indicated then this context is same as DATE_EARNED
Overloaded Contexts: No Database items available:
Data base items based on person’s assignment_id. Input values available:
Based on the table on which Person changes are defined, different set of input values are available for use in a formula. Input values NEW_VAL, OLD_VAL, COLUMN, PK_ID are available irrespective of table on which data changes are defined. Below given example explains what values these input variables contain.
Ex., Assume data changes are defined on table PER_ALL_PEOPLE_F and Column MARITAL_STAUS A person's marital status is changed from S (single) to M (Married) COLUMN input value is set with column name i.e., MARITAL_SATUS. NEW_VAL input value is set with new value for column marital_status for the current person record. it's value is M. OLD_VAL input value is set with old value for column marital_status for the current person record. it's value is S. PK_VAL input value is set with person_id (Primary key of the row being modified.) Following table describes the input values available for each table.
Table on which person changes are defined Available input values
Naming convention for input values : Ex., BEN_PPF_IN_MARITAL_STATUS - First 3 letter stands for benefits, next 3 letters(PPF) stands for the table short name. I - stands for Input value N - Stands for New value; O – Stands for Old value. Remaining portion of the name stands for the column name. If this input value is used in the formula it will contain new value of marital status column of the person row which being currently updated.
Constraints using Database items: Database items other than the ones mentioned above cannot be used. Formula output or return values: No need to use predefined names for return variables.
Out Variable name Data Type
Value Remarks
L_RETURN (Any name can be used)
Varchar2 N Y
Do not create the potential If data changes are satisfied create the potential life event
Erroring: If wrong values are passed back from the formula value is assumed as Y. Remarks : In case the person changes causes is based on “PER_PERSON_ANALYSES” , the formula has to return 2 output variables as indicated below.
Out Variable name Data Type Value Remarks
RETURN_FLAG Varchar2 N Y
Do not create the potential If data changes are satisfied create the potential life event.
LE_OCCURED_DATE Varchar2 Life event occurred date, in canonical form. This variable is not mandatory.
Sample Formula : /***************************************************************** FORMULA NAME : FORMULA TYPE : Person Changes Causes DESCRIPTION : Formula to determine whether to trigger potential life event. ***************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 29-Aug-2003 Initial Version
****************************************************************** FORMULA TEXT: *****************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ inputs are NEW_VAL(text), OLD_VAL(text), COLUMN(text), PK_ID(text), BEN_PPF_IN_MARITAL_STATUS(text), BEN_PPF_IO_MARITAL_STATUS(text) default for BEN_PPF_IN_MARITAL_STATUS is 'AA' default for BEN_PPF_IO_MARITAL_STATUS is 'AA' /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_new_marital_status = BEN_PPF_IN_MARITAL_STATUS l_old_marital_status = BEN_PPF_IO_MARITAL_STATUS /* Create potential life event if person marital status is chaged from Single to married */ if l_new_marital_status = 'S' and l_old_marital_status = 'M' then l_create_ptnl = 'Y' else l_create_ptnl = 'N' return l_create_ptnl /*================ FORMULA SECTION END =======================*/
Formula functions used in the sample formula : None
Unit test script : Formula Type: Rate Value Calculation (When calculation method on standard rates form is – post enrollment calculation rule)
Functional Usage: When a rate needs to be computed based on several other rates at the time of participation process run and during the enrollments. Navigation Path: Total Compensation > Rate/Coverage Definitions:Standard Rates > Calculation Method : Post Enrollment Calculation Rule Total Compensation > Rate/Coverage Definitions: Coverages > Calculation Method : Post Enrollment Calculation Rule
Contexts: Business_Group_Id, DATE_EARNED (p_effective_date), Assignment Id
Note: For any formula types, under contexts selection, if p_effective_date is indicated then this context is same as DATE_EARNED
Overloaded Contexts: No Database items available:
Data base items based on person’s assignment_id. Input values available: Constraints using Database items: Database items other than the ones mentioned above cannot be used. Formula output or return values: No need to use predefined names for return variables.
Out Variable name Data Type Value Remarks
L_RETURN (Any name can be used)
Number N Y
Value of rate
Erroring:
If the value passed back is not a number, error is raised.. Remarks : Formula can’t use values of rates attached to same compensation object. If two rates are defined with post enrollment calculation rule, they can’t be referenced in each other. Sample Formula : /***************************************************************** FORMULA NAME : VALUE_RULE FORMULA TYPE : Rate Value Calculation DESCRIPTION : Formula to return a value for rate. ***************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 29-Aug-2003 Initial Version
****************************************************************** FORMULA TEXT: *****************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_val = ilo_enrt_rt() return l_val /*================ FORMULA SECTION END =======================*/
Formula functions used in the sample formula :
Ilo_enrt_rt : create or replace function get_enrt_rt_val( p_assignment_id in number, p_business_group_id in number, p_effective_date in date ) return number is -- l_ACTY_BASE_RT_ID number; cursor c_abr(cv_abr_name varchar2) is select ACTY_BASE_RT_ID from ben_acty_base_rt_f abr where name = cv_abr_name and abr.business_group_id = p_business_group_id; -- l_elig_per_elctbl_chc_id number; cursor c_epe is select epe.elig_per_elctbl_chc_id from ben_per_in_ler pil, per_all_assignments_f asg, ben_elig_per_elctbl_chc epe where epe.business_group_id = p_business_group_id and epe.pl_id = 22 and epe.oipl_id = 24 and asg.person_id = pil.person_id and pil.per_in_ler_stat_cd = 'STRTD' -- Also need to filter out the non ben life events. and pil.per_in_ler_id = epe.per_in_ler_id and asg.assignment_id = p_assignment_id and pil.lf_evt_ocrd_dt between asg.effective_start_date and asg.effective_end_date; -- cursor c_enrt_rt(cv_abr_name varchar2) is select ecr.val from ben_enrt_rt ecr, ben_per_in_ler pil, per_all_assignments_f asg, ben_acty_base_rt_f abr, ben_elig_per_elctbl_chc epe where abr.name = cv_abr_name and abr.business_group_id = p_business_group_id and abr.ACTY_BASE_RT_ID = ecr.ACTY_BASE_RT_ID and epe.elig_per_elctbl_chc_id = ecr.elig_per_elctbl_chc_id and epe.pl_id = 22 and epe.oipl_id = 24 and asg.person_id = pil.person_id and pil.per_in_ler_stat_cd = 'STRTD' -- Also need to filter out the non ben life events. and pil.per_in_ler_id = epe.per_in_ler_id and asg.assignment_id = p_assignment_id and pil.lf_evt_ocrd_dt between asg.effective_start_date and asg.effective_end_date and pil.lf_evt_ocrd_dt between abr.effective_start_date and abr.effective_end_date; -- --
l_val number := 0; l_val1 number := 0; l_val2 number := 0; -- begin --
-- Please note that this is sample code and it contains hard coded values. -- Some of the cursors defined are also used. -- If benefit amounts are defined for a comp objects then above cursors may not work.
-- open c_enrt_rt('OAB Stay Health HMO - EE Only ER Contrib'); fetch c_enrt_rt into l_val1; close c_enrt_rt; -- open c_enrt_rt('OAB Stay Health Detal – EE Only ERContrib'); fetch c_enrt_rt into l_val2; close c_enrt_rt; -- l_val := (l_val1 + l_val2)* 0.5; return l_val; -- end get_enrt_rt_val; /
Unit test script :
Formula Type : Evaluate Life Event 1. Functional Usage : A company may want to customize how a potential life event is to be
evaluated. For example “Return to Work Life event” is created by the customer and if the employee returns to the work, this life event is automatically created. Customer wants a logic to be executed when this potential life event is evaluated and based on that logic potential life events occured date have to be modified or this potential life event have to be voided.
2. Navigation Path : <<Forms/batch process where this fast formula is used. >> Total Compensation > General Definitions > Life Event Reasons : Evaluation Rule 3. Contexts : DATE_EARNED (p_effective_date), LER_ID, ASSIGNMENT_ID,
ORGANIZATION_ID, BUSINESS_GROUP_ID 4. Overloaded Contexts : No 5. Database items available : All columns from ben_ler_f and data base items based on person’s
assignment_id. 6. Input values available:
Name Data
Type Remarks
BEN_PPL_IV_PTNL_LER_FOR_PER_ID Char Primary key Potential Life Event.
BEN_PPL_IV_LF_EVT_OCRD_DT Char Life event Occured Date passed in format YYYY/MM/DD HH24:MI:SS
BEN_PPL_IV_PTNL_LER_FOR_PER_STAT_CD Char Potential Life event Status Code
BEN_PPL_IV_NTFN_DT Char Notified Date in format YYYY/MM/DD HH24:MI:SS
BEN_PPL_IV_DTCTD_DT Char Detected Date in format
YYYY/MM/DD HH24:MI:SS
6. Constraints using Database items : Data base items other than the ones mentioned can’t be used.
7. Formula output or return values : Formula should use pre defined names for return variables.
Out Variable name Data Type
Value Remarks
LIFE_EVENT_OCCURRED_DATE Char - Replaces the original life event occured date. Format of return value : YYYY/MM/DD HH24:MI:SS
LIFE_EVENT_HAPPENED (manadatory out variable)
Char Y/N If any other value is assigned to this variable process raises an error - BEN_92143_LIFE_EVENT_HAPPENED
8. Erroring : If wrong values are passed back from the formula does it gracefully exit or if errors what kind of error is raised. : If any other output variables are used then process errors(BEN_92310_FORMULA_RET_PARAM).
9. Remarks : 10. Sample Formula : /********************************************************************** FORMULA NAME: BEN_TEST_LE_EVAL_RL FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : Formula evaluates the potential life event. If a life event is notified after 30 days ignore this potential life event. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT : Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ default for BEN_PPL_IV_LF_EVT_OCRD_DT is ' '
default for BEN_PPL_IV_PTNL_LER_FOR_STAT_CD is ' ' default for BEN_PPL_IV_NTFN_DT is ' ' /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ Inputs are BEN_PPL_IV_LF_EVT_OCRD_DT (TEXT), BEN_PPL_IV_PTNL_LER_FOR_STAT_CD (TEXT), BEN_PPL_IV_NTFN_DT (TEXT) /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_lf_evt_dt = to_date(BEN_PPL_IV_LF_EVT_OCRD_DT, 'YYYY/MM/DD HH24:MI:SS') l_ntfd_dt = to_date(BEN_PPL_IV_NTFN_DT, 'YYYY/MM/DD HH24:MI:SS') l_lf_evt_dt_30 = add_days(l_lf_evt_dt, 30) if (l_ntfd_dt >l_lf_evt_dt_30) then life_event_happened = 'N' return life_event_happened 11. Formula functions used in the sample formula : None 12. Unit test script : Formula Type : Waiting Period Value and UOM 13. Functional Usage : Participant have to wait for certain time before getting the eligibility to a
compensation object. Sometimes employees have to wait for 6 months to get eligibility to a compensation object. A waiting period value rule have to be used if the waiting period varies from employee to employee based on their organization or varies for rehired employees.
14. Navigation Path : <<Forms/batch process where this fast formula is used. >> Total Compensation > Programs and Plans > Plans : Plan Eligibility : Waiting Period Rule 1. Contexts: DATE_EARNED (p_effective_date), LER_ID, ASSIGNMENT_ID,
ORGANIZATION_ID, BUSINESS_GROUP_ID, PGM_ID, PL_ID, PL_TYP_ID. 2. Overloaded Contexts: No 3. Database items available : All columns except attribute columns from tables ben_ler_f,
ben_pl_f, ben_pl_typ_f, ben_opt_f, and data base items based on person’s assignment_id. 4. Input values available : No Input values are available. 5. Constraints using Database items : Data base items other than the ones mentioned above can’t
be used.
6. Formula output or return values : Formula should use pre defined names for return variables.
Out Variable name Data Type
Value Remarks
WAIT_PERD_VAL(manadatory out variable)
Number -
WAIT_PERD_UOM (manadatory out Char One of the If this return value is not one of the
variable) codes : DY, WK, MO, QTR, YR
codes then WAIT_PERD_VAL will be used as it is.
1. Erroring : If wrong values are passed back from the formula does it gracefully exit or if errors what kind of error is raised. : If any other output variables are used then process errors(BEN_92310_FORMULA_RETURN).
2. Remarks : This rule will only get executed, if Waiting Period Value and Waiting Period UOM fields are null.
3. Sample Formula :
4. /********************************************************************** FORMULA NAME: BEN_TEST_WAIT_PERD_VAL_RL FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : Formula returns the waiting period value. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT : Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
WAIT_PERD_VAL = 1 WAIT_PERD_UOM = ‘YR’ return WAIT_PERD_VAL, WAIT_PERD_UOM 5. Formula functions used in the sample formula : None 6. Unit test script : Formula Type : Life Event Reason Timeliness (Timeliness Period Rule)
1. Functional Usage: Life events sometimes reported after certain number of days. In such
scenarios if customer wants to use complex logic to decide whether the potential life event happened or not, this formula can be used.
2. Navigation Path: <<Forms/batch process where this fast formula is used. >> Total Compensation > General Definitions > Additional Setup > Life Event Reasons > Timeliness Period Rule
4. Overloaded Contexts: No 5. Database items available: All columns except attribute columns from tables ben_ler_f and
database items based on person’s assignment_id. 6. Input values available: No Input values are available. 7. Constraints using Database items: Database items other than the ones mentioned above can’t
be used.
1. Formula output or return values: No need to use predefined names for return variables.
Out Variable name Data Type
Value Remarks
L_LIFEEVENT_VOIDED (manadatory out variable, any name can be used)
Varchar2 Y/N Y means the potential life event will be voided. N means potential life event will be evaluated further.
1. Erroring: If wrong values are passed back from the formula does it gracefully exit or if errors
what kind of error is raised. : If any other output value is passed back then process errors(BEN_91329_FORMULA_RETURN).
2. Remarks : None 3. Sample Formula : /********************************************************************** FORMULA NAME: BEN_TIMELINESS_PERD_RL FORMULA TYPE : Oracle Advanced Benefits DESCRIPTION : *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT : Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_life_event_voided = 'Y' return l_life_event_voided 4. Formula functions used in the sample formula : None 5. Unit test script :
Formula Type: Family Member Determination
8 Functional Usage: A company may want to customize how the family member determination rule works. For example a company might want that any employee having more than two children, should not be eligible for a certain plan. Customer may want this logic to be executed when eligibility profile is determined and based on the logic eligibility to the plan can be determined.
9 Navigation Path: Total Compensation -> Programs and Plans-> Plans: Family Member Rule: Option-> Family Member Rule
11 Overloaded Contexts: No 12 Data base items available: All columns except attribute columns from ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and data base items based on person’s assignment_id.
13 Input values available: No Input values are available. 14 Constraints using Data Base items: Database items other than the ones mentioned can’t be
used. 15 Formula output or return values: Formula should use pre-defined names for return
variables.
Out Variable Name Data Type
Value Remarks
L_FMLY_MMBR (Not a mandatory out variable)
Char Y/N If ‘N’ is passed exception BEN_92321_FMM_INELIG is raised
8 Erroring: None 9 Sample Formula
/********************************************************************** FORMULA NAME: BEN_TEST_FMLY_MMBR FORMULA TYPE: Family member Determination DESCRIPTION: *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikas Sethi 22-apr-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_fmly_mmbr = FN_FMLY_MMBR_DETERMINATION() return l_fmly_mmbr /*================ FORMULA SECTION ENDS =======================*/
10 Formula Functions used in the sample formula: Yes /********************************************************************** FUNCTION NAME: BEN_TEST_FMLY_MMBR DATA TYPE : Text CLASS : External Function ALIAS NAME : DESCRIPTION : DEFINITION : fn_fmly_mmbr_determination CONTEXT : ASSIGNMENT_ID BUSINESS_GROUP_ID DATE_EARNED PARAMTERS : **********************************************************************/ CREATE OR REPLACE FUNCTION FN_FMLY_MMBR_DETERMINATION
(p_asg_id IN number, p_business_group_id IN number,
p_date_earned IN varchar2) RETURN varchar2 as -- l_rel_count number(2):= 0; -- cursor c_relationship is select count(*) from per_all_assignments_f asg, per_contact_relationships con, hr_lookups hlk where asg.assignment_id = p_asg_id and asg.business_group_id = p_business_group_id and p_date_earned between asg.effective_start_date and asg.effective_end_date and con.person_id = asg.person_id and hlk.lookup_code = con.contact_type and hlk.lookup_type = 'CONTACT' and hlk.enabled_flag = 'Y' and p_date_earned between nvl(start_date_active, p_date_earned) and nvl(end_date_active, p_date_earned) and hlk.lookup_code in (
begin open c_relationship; fetch c_relationship into l_rel_count; close c_relationship; If l_rel_count < 2 then RETURN ‘Y’ ; Else RETURN ‘N’;
End if; End ;
11 Unit test script: ============================================================================
Formula Type: Maximum Waiting Period Date to Use Functional Usage: The Maximum Waiting Period Date to Use formula can be used to determine
the date from which maximum waiting period for a person is to be calculated. 12 Navigation Path: Total Compensation -> Programs and Plans-> Option-> Family Member
/********************************************************************** FORMULA NAME: BEN_MX_PER_TO_USE FORMULA TYPE : Maximum Waiting Period Date to Use DESCRIPTION : Formula evaluates the date from which the waiting period begins. For managers the waiting period start date is the date of joining for
Others it is one year after the date of joining. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for ACP_SERVICE_START_DATE is '01-JAN-0001' (date) Default for ASG_JOB is ' '
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_ser_start_dt = ACP_SERVICE_START_DATE l_job = ASG_JOB if l_job = 'Manager' then ( l_ret_dt = l_ser_start_dt ) else ( l_ret_dt = add_months(l_ser_start_dt,12) ) return l_ret_dt /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Participation Eligibility Start Date
13 Functional Usage: The Participation Eligibility Start Date formula can be used to determine the date from which a person becomes eligible to participate in particular option in a plan.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: Participation Start Date -> Option Eligibility, Life Eligibility: Participation Start Date
15 Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: Participation 16 Eligibility: Participation Start Date: Rule 17 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
18 Overloaded Contexts: No 19 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
20 Input values available: No Input values are available. 21 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
22 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_PRTN_START_DT (Not a mandatory out variable, any name can be used)
Date
8 Erroring: If any other output value is passed back then process errors out by raising BEN_91329_FORMULA_RETURN.
FORMULA NAME: BEN_PRTN_ELIG_START_DT FORMULA TYPE : Participation Eligibility Start Date DESCRIPTION : Formula to determine person’s eligibility start date in a particular plan option. It
returns the effective date as the eligibility start date *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_prtn_start_dt = fn_effective_date()
return l_prtn_start_dt /*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script: Formula Type: Participation Eligibility End Date
13 Functional Usage: The Participation Eligibility End Date formula can be used to determine the date on which a person loses eligibility to participate in particular option in a plan.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: Participation End Date -> Option Eligibility, Life Eligibility: Participation End Date
Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: Participation Eligibility: Participation End Date: Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_PRTN_END_DT (Not a mandatory out variable, any name can be used)
Date
8 Erroring: If any other output value is passed back then process errors out by raising
/****************************************************************************** FORMULA NAME: BEN_PRTN_ELIG_END_DT FORMULA TYPE : Participation Eligibility End Date DESCRIPTION : Formula to determine the participation eligibility end date for person in a
particular compensation object . It returns eligibility end date as two years from the effective date.
******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT:
/*================ FORMULA SECTION BEGIN =======================*/ l_date_earned = fn_effective_date() l_prtn_end_dt = add_months(l_date_earned,24) return l_prtn_end_dt
/*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit Test Script:
Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f,
ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id. Input values available: No Input values are available. Constraints using Database items: Database items other than the ones mentioned above can’t be
used. Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_CERT_REQD (Not a mandatory variable, any name can be used)
Char Y/N
8 Erroring: None 9 Remarks: None 10 Sample Formula: /****************************************************************************** FORMULA NAME: BEN_WAIV_CERT_REQD FORMULA TYPE : Waive Certification Required DESCRIPTION : Formula to evaluate if a certificate is to be produced when a person decides to waive a plan enrollment. In case the person is aged above 35 then certificate is not required ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================ FORMULA SECTION BEGIN =======================*/ l_dob = fn_date_of_birth() l_effective_date = fn_effective_Date() l_age = trunc(months_between(l_effective_date, l_dob)/12) if l_age > 35 then
Formula Type: Participation and Rate Eligibility Functional Usage: The Participation And Rate Eligibility formula can be used to determine whether a
person is eligible for an associated compensation object. Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: Eligibility:
Rule: Eligibility Profile Rule Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Participation Eligibility: Eligibility: Rule: Eligibility Profile Rule
14 Overloaded Contexts: No 15 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
16 Input values available: No Input values are available. 17 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 18 Formula output or return values: Formula should use pre defined names for return variables
Out Variable Name Data Type
Value Remarks
ELIGIBLE (Not a mandatory out variable)
Char Y/N
8 Erroring: If any other output value is passed back then process errors out by raising
BEN_91329_FORMULA_RETURN. 9 Remarks : None 10 Sample Formula: /****************************************************************************** FORMULA NAME: BEN_PRTN_AND_RT_ELIG FORMULA TYPE : Participation and Rate Eligibility DESCRIPTION : The formula checks the gender to evaluate the eligibility of a person to a particular compensation object. This rule makes only females eligible to a compensation object ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================ FORMULA SECTION BEGIN =======================*/ l_gender = fn_gender() if l_gender = 'M' then ( ELIGIBLE = 'N' ) else ( ELIGIBLE = 'Y') return ELIGIBLE
/*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: FN_GENDER 12 Unit test script:
============================================================================ Formula Type: Maximum Period of Enrollment Determination Date
Functional Usage: The Maximum Period of Enrollment Determination Date formula can be used to determine the low date to be used when determining whether the person has been enrolled in a plan or option in plan for the maximum period of time.
Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: Maximum Enrollment: Date Determination Rule Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: Participation Eligibility: Maximum Enrollment: Date Determination Rule
Overloaded Contexts: PER_PAY_METHOD_ID is overloaded with REGN_ID Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f
and database items based on person’s assignment_id. Input values available: No Input values are available. Constraints using Database items: Database items other than the ones mentioned above can’t be
used. Formulas output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L_POE_DET_DT (Not a mandatory out variable, any name can be used)
/********************************************************************** FORMULA NAME: BEN_MX_POE_DET_DT FORMULA TYPE : Maximum Period of Enrollment Determination Date
DESCRIPTION : The formula returns the effective date ***********************************************************************
Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_poe_det_dt = fn_effective_date()
return l_poe_det_dt /*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
13 Functional Usage: The Maximum Period of Enrollment formula is used to determine the maximum length of time for a person to be enrolled in a plan or in a option in plan.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan: Plan Eligibility: Maximum Enrollment: Rule Total Compensation -> Programs and Plan->Program-> Plan and Plan Types: Plans: Participation Eligibility: Maximum Enrollment: Rule
16 Overloaded Contexts: PER_PAY_METHOD_ID is overloaded with REGN_ID 17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pl_f,
ben_pgm_f and database items based on person’s assignment_id. 18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_MX_POE (Not a mandatory out variable, any name can be used)
Date
8 Erroring: If any other output value is passed back then process errors out by raising BEN_91329_FORMULA_RETURN.
9 Remarks: None 10 Sample Formula:
/****************************************************************************** FORMULA NAME: BEN_MX_POE FORMULA TYPE : Maximum Period of Enrollment DESCRIPTION : Formula to determine the maximum period of enrollment for person. It returns eligibility end date as two years from the effective date. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================ FORMULA SECTION BEGIN =======================*/ l_date_earned = fn_effective_date() l_mx_poe = add_months(l_date_earned,24) return l_mx_poe
/*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Enrollment Coverage Start Date
13 Functional Usage: The Enrollment Coverage Start Date formula can be used to determine the date from which the enrollment coverage starts for a compensation object.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Plan: Coverage: Enrollment Coverage Start Date Rule
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID, ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L _START_DT (Not a mandatory out variable, any name can be used)
/********************************************************************** FORMULA NAME: BEN_ENRT_COV_START_DT FORMULA TYPE : Enrollment Coverage Start Date
DESCRIPTION : Formula to determine person’s enrollment coverage start date. The coverage start date is calculated as the day on which the person turns 21.
*********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT:
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
return l_start_dt /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Enrollment End
13 Functional Usage: The Enrollment End formula can be used to determine the date on which a person loses coverage for a particular compensation object.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Plan: Coverage: Enrollment Coverage Start Date Rule
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID, ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_END_DT (Not a mandatory out variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_ENRT_END FORMULA TYPE : Enrollment End DESCRIPTION : Formula to determine the enrollment coverage end date for person in a Compensation object. It returns end date as the date on which the person turns 25. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID, PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L _START_DT (Not a mandatory out variable, any name can be used)
/********************************************************************** FORMULA NAME: BEN_RT_START_DT
FORMULA TYPE : Rate Start Date DESCRIPTION : Formula to determine participants rate start date for an enrollment result. The rate start date is calculated as the day on which the person turns 21.
*********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH (date) if not PER_DATE_OF_BIRTH was defaulted then (
l_min_age = 12*21 /* age in months */ l_start_dt = add_months(l_dob,l_min_age)
) else (
l_start_dt = '31-Dec-4712' (date) /* end of time */ )
return l_start_dt /*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Rate End Date 13 Functional Usage: The Rate End Date formula can be used to determine the date on which the
rate for enrollment result ends for a participant. 14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements:
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID, PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id, activity_base_rate_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_END_DT (Not a mandatory out variable, any name can be used)
Date
8 Erroring: None. 9 Remarks: 10 Sample Formula:
/****************************************************************************** FORMULA NAME: BEN_RT_END_DT FORMULA TYPE : Rate End Date DESCRIPTION : Formula to determine the enrollment coverage end date for person in a Compensation object. It returns end date as the date on which the person turns 25. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
return l_end_dt /*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Enrollment Period Start Date
13 Functional Usage: The Enrollment Period Start Date formula can be used to determine the date from which the enrollment period starts.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: Timing: Schedule: Coverage: Periods: Enrollment Period Start Date
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L _START_DT (Not a mandatory out variable, any name can be used)
Date
8 Erroring: If wrong values are passed back from the formula does it gracefully exit or if errors
what kind of error is raised.: None 9 Remarks: None 10 Sample Formula:
/********************************************************************** FORMULA NAME: BEN_PRD_START_DT FORMULA TYPE : Period Start Date
DESCRIPTION : Formula to determine enrollment period start date. The enrollment period start date is calculated as the day on which the participant turns 21.
*********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
return l_start_dt /*================ FORMULA SECTION END =======================*/ 11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Enrollment Period End Date 13 Functional Usage: The Enrollment Period End Date formula can be used to determine the date
from which the enrollment period ends. 14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements:
Timing: Schedule: Coverage: Periods: Enrollment Period End Date 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_END_DT (Not mandatory out variable, any name can be used)
Date
8 Erroring: If wrong values are passed back from the formula does it gracefully exit or if errors
what kind of error is raised.: None. 9 Remarks: None 10 Sample Formula:
/****************************************************************************** FORMULA NAME: BEN_ENRT_PRD_END_DT
FORMULA TYPE : Enrollment Period End Date DESCRIPTION : Formula to determine the enrollment period end date. It returns the end date as the date on which the person turns 25. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L _START_DT (Not a mandatory out variable, any name can be used)
/********************************************************************** FORMULA NAME: BEN_DPNT_COV _START_DT FORMULA TYPE : Dependant Coverage Start Date DESCRIPTION : Formula to determine a dependants enrollment coverage start date. If the birth is notified within 30 days of event, coverage starts Date is Date of birth. Otherwise, coverage start date is the date of notification *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT:
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for CON_DATE_OF_BIRTH is '01-jan-0001' (date) Default for CON_START_DATE is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_END_DT (Not a mandatory out variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_DPNT_COV_END_DT FORMULA TYPE : Dependant Coverage End Date DESCRIPTION : Formula to determine the date on which coverage ends for a dependant. The coverage end date is the day on which the dependant turns 18 ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================ FORMULA SECTION BEGIN =======================*/ l_dob = CON_DATE_OF_BIRTH (date) if not CON_DATE_OF_BIRTH was defaulted then (
l_max_age = 12*18 /* no of months in 18 years */ l_end_dt = add_months(l_dob,l_max_age) l_end_dt = add_days(l_end_dt, -1)
) else (
l_end_dt = l_dob ) return l_end_dt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Enrollment Opportunity
13 Functional Usage: The Enrollment Opportunity formula can be used to determine whether a compensation object should be an electable choice for the person.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: Life Event: Plan: Enrollment: Enrollment Rule Name
16 Overloaded Contexts: PER_PAY_METHOD_ID is overloaded with ELIG_PER_ID 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id and elig_per_id.
18 Input values available: Name Data
Type Remarks
ELIG_DPNT_ID1 Number 1st Eligible Dependant’s id ELIG_DPNT_ID2 Number 2nd Eligible Dependant’s id ELIG_DPNT_ID3 Number 3rd Eligible Dependant’s id ELIG_DPNT_ID4 Number 4th Eligible Dependant’s id ELIG_DPNT_ID5 Number 5th Eligible Dependant’s id ELIG_DPNT_ID6 Number 6th Eligible Dependant’s id ELIG_DPNT_ID7 Number 7th Eligible Dependant’s id ELIG_DPNT_ID8 Number 8th Eligible Dependant’s id ELIG_DPNT_ID9 Number 9th Eligible Dependant’s id
ELIG_DPNT_ID10 Number 10th Eligible Dependant’s id ELIG_DPNT_ID11 Number 11th Eligible Dependant’s id ELIG_DPNT_ID12 Number 12th Eligible Dependant’s id ELIG_DPNT_ID13 Number 13th Eligible Dependant’s id ELIG_DPNT_ID14 Number 14th Eligible Dependant’s id ELIG_DPNT_ID15 Number 15th Eligible Dependant’s id ELIG_DPNT_ID16 Number 16th Eligible Dependant’s id ELIG_DPNT_ID17 Number 17th Eligible Dependant’s id ELIG_DPNT_ID18 Number 18th Eligible Dependant’s id ELIG_DPNT_ID19 Number 19th Eligible Dependant’s id ELIG_DPNT_ID20 Number 20th Eligible Dependant’s id NUM_ELIG_DPNT Number No. of Eligible dependant’s
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_ENRT_OPP (Not a mandatory out variable, any name can be used)
Char Y,N,L,A Y – Yes A - Leave as choice and use elctbl_flag L – Loose only condition, if enrolled, will be de-enrolled N – No
/****************************************************************************** FORMULA NAME: BEN_ENRT_OPTY FORMULA TYPE : Enrollment Opportunity DESCRIPTION : Formula to determine whether a compensation object should be an electable choice for the person ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for ASG_JOB is ' ' /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_job = ASG_JOB if l_job = 'Board Member' or l_job = 'Director' then ( l_result_flag = 'Y' ) else if l_job = 'Manager' then ( l_result_flag = 'A' ) else if l_job = 'Sales Manager' or l_job = 'Accountant' then ( l_result_flag = 'L' ) else ( l_result_flag = 'N' ) return l_result_flag
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Default Enrollment
13 Functional Usage: The Default Enrollment formula can be used to determine whether an option in plan should be assigned to a person as part of the default enrollment process.
14 Navigation Path:: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: Life Event: Plan: Enrollment: Enrollment Rule Name
16 Overloaded Contexts: PER_PAY_METHOD_ID is overloaded with ELIG_PER_ID 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id and elig_per_id.
18 Input values available: Name Data
Type Remarks
ELIG_DPNT_ID1 Number 1st Eligible Dependant’s id ELIG_DPNT_ID2 Number 2nd Eligible Dependant’s id ELIG_DPNT_ID3 Number 3rd Eligible Dependant’s id ELIG_DPNT_ID4 Number 4th Eligible Dependant’s id ELIG_DPNT_ID5 Number 5th Eligible Dependant’s id ELIG_DPNT_ID6 Number 6th Eligible Dependant’s id ELIG_DPNT_ID7 Number 7th Eligible Dependant’s id ELIG_DPNT_ID8 Number 8th Eligible Dependant’s id ELIG_DPNT_ID9 Number 9th Eligible Dependant’s id ELIG_DPNT_ID10 Number 10th Eligible Dependant’s id ELIG_DPNT_ID11 Number 11th Eligible Dependant’s id ELIG_DPNT_ID12 Number 12th Eligible Dependant’s id ELIG_DPNT_ID13 Number 13th Eligible Dependant’s id ELIG_DPNT_ID14 Number 14th Eligible Dependant’s id
ELIG_DPNT_ID15 Number 15th Eligible Dependant’s id ELIG_DPNT_ID16 Number 16th Eligible Dependant’s id ELIG_DPNT_ID17 Number 17th Eligible Dependant’s id ELIG_DPNT_ID18 Number 18th Eligible Dependant’s id ELIG_DPNT_ID19 Number 19th Eligible Dependant’s id ELIG_DPNT_ID20 Number 20th Eligible Dependant’s id NUM_ELIG_DPNT Number No. of Eligible dependant’s
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: Mandatory values listed below have to be use.
Out Variable Name Data Type
Value Remarks
AUTO_DFLT_VAL Char Y/N CARRY_FORWARD_ELIG_DPNT
Char CFRRWP, CFWP
CFRRWP - Carry Forward or Reinstate Within Program CFWP - Carry Forward Within Program
PREV_ENROLLMENT_RESULT_ID
Number Previous Enrollment result ID
8 Erroring: None. 9 Remarks: None Sample Formula: /****************************************************************************** FORMULA NAME: BEN_DFLT_ENRT FORMULA TYPE : Default Enrollment DESCRIPTION : Formula to determine whether a compensation object should be an defaulted for the person ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version ***********************************************************************
FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for BEN_OPT_NAME is ' ' Default for BEN_PLN_NAME is ' ' Default for NUM_ELIG_DPNT is –1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ INPUTS are NUM_ELIG_DPNT /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_pln_name = BEN_PLN_NAME l_opt_name = BEN_OPT_NAME l_num_elig_dpnt = NUM_ELIG_DPNT IF l_pln_name = 'Stay Healthy HMO' then ( if l_opt_name = 'Employee Only' and l_num_elig_dpnt = 0 then ( AUTO_DFLT_VAL = 'Y' CARRY_FORWARD_ELIG_DPNT = 'CFWP' ) else if l_opt_name = 'Employee Plus One' and l_num_elig_dpnt = 1 then
( AUTO_DFLT_VAL = 'Y' CARRY_FORWARD_ELIG_DPNT = 'CFWP' ) else if l_opt_name = 'Employee Plus Family' and l_num_elig_dpnt > 1 then ( AUTO_DFLT_VAL = 'Y' CARRY_FORWARD_ELIG_DPNT = 'CFWP' ) else ( AUTO_DFLT_VAL = 'N' ) ) else ( AUTO_DFLT_VAL = 'N' ) return AUTO_DFLT_VAL, CARRY_FORWARD_ELIG_DPNT /*================ FORMULA SECTION END =======================*/
/***************************************************************************** FORMULA NAME: BEN_DFLT_ENRT FORMULA TYPE : Default Enrollment DESCRIPTION : Formula to determine whether a compensation object should be an electable choice for the person ****************************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Nagaraj Hunur 9-May-2006 To describe use of PREV_PRTT_ENRT_RSLT_ID *********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for BEN_PLN_PL_ID is 0 Default for BEN_OPT_OPT_ID is 0 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ IF BEN_PLN_PL_ID = 61 then ( if BEN_OPT_OPT_ID = 11 then ( auto_dflt_val = 'Y' carry_forward_elig_dpnt = 'CFRRWP' PREV_PRTT_ENRT_RSLT_ID = 34005 ) else ( auto_dflt_val = 'N' carry_forward_elig_dpnt = 'CFWP' PREV_PRTT_ENRT_RSLT_ID = 4500 ) return auto_dflt_val, carry_forward_elig_dpnt, PREV_PRTT_ENRT_RSLT_ID ) else ( auto_dflt_val = 'N' carry_forward_elig_dpnt = 'CFWP' return auto_dflt_val, carry_forward_elig_dpnt ) /*================ FORMULA SECTION END =======================*/
10 Formula functions used in the sample formula: 11 Unit test script:
Formula Type: Automatic Enrollment Method
12 Functional Usage: The Default Enrollment Method formula can be used to determine the condition under which a person should automatically get enrolled in a compensation object
13 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: Life Event: Plan: Enrollment: Enrollment Automatic Rule
15 Overloaded Contexts: PER_PAY_METHOD_ID is overloaded with ELIG_PER_ID
16 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id and elig_per_id.
17 Input values available: Name Data
Type Remarks
ELIG_DPNT_ID1 Number 1st Eligible Dependant’s id ELIG_DPNT_ID2 Number 2nd Eligible Dependant’s id ELIG_DPNT_ID3 Number 3rd Eligible Dependant’s id ELIG_DPNT_ID4 Number 4th Eligible Dependant’s id ELIG_DPNT_ID5 Number 5th Eligible Dependant’s id ELIG_DPNT_ID6 Number 6th Eligible Dependant’s id ELIG_DPNT_ID7 Number 7th Eligible Dependant’s id ELIG_DPNT_ID8 Number 8th Eligible Dependant’s id ELIG_DPNT_ID9 Number 9th Eligible Dependant’s id ELIG_DPNT_ID10 Number 10th Eligible Dependant’s id ELIG_DPNT_ID11 Number 11th Eligible Dependant’s id ELIG_DPNT_ID12 Number 12th Eligible Dependant’s id ELIG_DPNT_ID13 Number 13th Eligible Dependant’s id ELIG_DPNT_ID14 Number 14th Eligible Dependant’s id ELIG_DPNT_ID15 Number 15th Eligible Dependant’s id ELIG_DPNT_ID16 Number 16th Eligible Dependant’s id ELIG_DPNT_ID17 Number 17th Eligible Dependant’s id ELIG_DPNT_ID18 Number 18th Eligible Dependant’s id ELIG_DPNT_ID19 Number 19th Eligible Dependant’s id ELIG_DPNT_ID20 Number 20th Eligible Dependant’s id NUM_ELIG_DPNT Number No. of Eligible dependant’s
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: Mandatory values listed below have to be use.
Out Variable Name Data Type
Value Remarks
AUTO_DFLT_VAL Char Y/N CARRY_FORWARD_ELIG_DPNT
Char CFRRWP, CFWP CFRRWP - Carry Forward or Reinstate Within Program CFWP - Carry Forward Within Program
/****************************************************************************** FORMULA NAME: BEN_AUTO_ENRT_MTHD FORMULA TYPE : Auto Enrollment Method DESCRIPTION : Person get automatically enrolled in a plan and option based on the number of dependants. ******************************************************************************* Change History:
Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for BEN_OPT_NAME is ' ' Default for BEN_PLN_NAME is ' ' Default for NUM_ELIG_DPNT is –1
/*================ FORMULA SECTION BEGIN =======================*/ l_pln_name = BEN_PLN_NAME l_opt_name = BEN_OPT_NAME l_num_elig_dpnt = NUM_ELIG_DPNT IF l_pln_name = 'Stay Healthy HMO' then ( if l_opt_name = 'Employee Only' and l_num_elig_dpnt = 0 then ( AUTO_DFLT_VAL = 'Y' CARRY_FORWARD_ELIG_DPNT = 'CFWP' ) else if l_opt_name = 'Employee Plus One' and l_num_elig_dpnt = 1 then ( AUTO_DFLT_VAL = 'Y' CARRY_FORWARD_ELIG_DPNT = 'CFWP' ) else if l_opt_name = 'Employee Plus Family' and l_num_elig_dpnt > 1 then ( AUTO_DFLT_VAL = 'Y' CARRY_FORWARD_ELIG_DPNT = 'CFWP' ) else ( AUTO_DFLT_VAL = 'N' ) ) else ( AUTO_DFLT_VAL = 'N' ) return AUTO_DFLT_VAL, CARRY_FORWARD_ELIG_DPNT
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Enrollment Certification Required
13 Functional Usage: The Enrollment Certification Required formula can be used to determine the condition under which a person must provide certification to enroll or elect a particular plan or option in plan, or benefit.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Plan: Coverage: Certification Required When: Rule
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_enrt_ctfn and database items based on person’s assignment_id
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_CERT_REQD (Not a mandatory variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_ENRT_CERT_REQD FORMULA TYPE : Enrollment Certification Required DESCRIPTION : Formula to evaluate if a certificate is to be produced when a person decides to elect a option or option in plan or benefit. In case the person is aged above 35 then certificate is not required ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_MIN_COV_AMT (Not a mandatory variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_MIN_COV_AMT_CALC
FORMULA TYPE : Minimum Coverage Amount Calculation DESCRIPTION : Formula to evaluate the minimum coverage amount. The minimum coverage rate for a Director is $1000, whereas for all others it is $500. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_BENEFIT_GROUP_ID is -1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID if not PER_BENEFIT_GROUP_ID was defaulted then ( l_benefit_group = fn_benefit_group(l_ben_group_id) /* get the benefit group name*/ if l_benefit_group = 'Director Business Group' then ( l_min_cov_amt = 1000 ) else ( l_min_cov_amt = 500 ) ) else ( l_min_cov_amt = 500 ) return l_min_cov_amt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
============================================================================ Formula Type: Maximum Coverage Amount Calculation
13 Functional Usage: The Maximum Coverage Amount Calculation formula can be used to determine the maximum coverage or benefit amount for a person.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Plan: Coverage: Values: Max Rule
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_MAX_COV_AMT (Not a mandatory variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_MAX_COV_AMT_CALC FORMULA TYPE : Maximum Coverage Amount Calculation DESCRIPTION : Formula to evaluate the maximum coverage amount. The maximum coverage rate for a Director is $2000, whereas for all others it is $1000. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_BENEFIT_GROUP_ID is -1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID if not PER_BENEFIT_GROUP_ID was defaulted then ( l_benefit_group = fn_benefit_group(l_ben_group_id) /* get the benefit group name*/
if l_benefit_group = 'Director Business Group' then ( l_min_cov_amt = 2000 ) else ( l_min_cov_amt = 1000 ) ) else ( l_min_cov_amt = 1000 ) return l_min_cov_amt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
============================================================================ Formula Type: Default to Assign Pending Action
13 Functional Usage: The Default to Assign Pending Action formula can be used to determine the applicable default option or benefit to assign to the person when his or her choice is suspended. The formula can return a code, an electable choice ID, or an electable choice ID and amount.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Plan: Coverage: Interim Assign Rule
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id
18 Input values available: Input Value Name Data
Type Remarks
BEN_PEN_IV_PRTT_ENRT_RSLT_ID Number Suspended Enrollment Result BEN_PRTT_ENRT_RSLT_F.PRTT_ENRT_RSLT_ID
BEN_PER_IV_PERSON_ID Number PER_ALL_PEOPLE_F.PERSON_ID BEN_PIL_IV_PER_IN_LER_ID Number Person Life Event
BEN_PER_IN_LER.PER_IN_LER_ID 8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Formula should return one of the three following options in the table below.
Out Variable Name Data Type Value Remarks
1. Option 1 L_MAX_COV_AMT (Not a mandatory variable, any name can be used)
CASDFNDF: Current Always Same, Default; New, Default CASDFNNT: Current Always Same, Default; New, Nothing CASMNNMN: Current Always Same, Min; New, Min CASMNNNL: Current Always Same, Min; New, Next Lower CASMNNNT: Current Always Same, Min; New, Nothing CASDFNNL: Current Always Same, Default; New, Next Lower CASNLNNL: Current Always Same, Next Lower; New, Next Lower CASNLNMN: Current Always Same, Next Lower; New, Min CASNLNNT: Current Always Same, Next Lower; New, Nothing CASNTNNT: Current Always Same, Nothing; New, Nothing All the codes listed above means that the person should be enrolled in the same plan type All the codes listed above means that the person should be enrolled in the same plan CSEDFNDF: Current Same Elected, Default; New, Default CSENLNNL: Current Same Elected, Next Lower; New, Next Lower CSEDFNNL: Current Same Elected, Default; New, Next Lower CSEDFNNT: Current Same Elected, Default; New, Nothing CSEMNNMN: Current Same Elected, Min; New, Min CSEMNNNL: Current Same Elected, Min; New, Next Lower CSEMNNNT: Current Same Elected, Min; New, Nothing CSENLNMN: Current Same Elected, Next Lower; New, Min CSENLNNT: Current Same Elected, Next Lower; New, Nothing CSENTNNT: Current Same Elected, Nothing; New, Nothing
2. Option 2 L_ELIG_PER_ELCTBL_CHC_ID (Not a mandatory variable,
Number ELIG_PER_ELCTBL_CHC_ID
Return an electable choice Id of the expected interim enrollment.
any name can be used) 3. Option 2 L_ELIG_PER_ELCTBL_CHC_ID,L_AMT (Not a mandatory variable, any name can be used)
Number, Number
ELIG_PER_ELCTBL_CHC_ID, BNFT_AMOUNT
Return an electable choice Id and also benefit amount. This option is used when there are more than one benefit amount associated with the proposed interim electable choice id.
/****************************************************************************** FORMULA NAME: BEN_DFLT_TO_ASGN_PNDG_ACTN FORMULA TYPE : Default to Assign Pending Action DESCRIPTION : Formula to determine the applicable default option or benefit for a person, which his or her choice is suspended. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for ASG_JOB is ' '
/*================ FORMULA SECTION BEGIN =======================*/ l_job = ASG_JOB if l_job = 'Board Member' or l_job = 'Director' then ( l_pndg_actn = 'CSEDFNDF' /*Current Same Elected, Default; New, Default*/ ) else if l_job = 'Manager' then ( l_pndg_actn = 'CSENLNNL' /*Current Same Elected, Next Lower; New, Next Lower */ ) else ( l_pndg_actn = 'CASNLNNL' /*Current Always Same, Next Lower; New, Next Lower */ ) return l_pndg_actn
/*================ FORMULA SECTION END =======================*/ /****************************************************************************** FORMULA NAME: BEN_DFLT_TO_ASGN_PNDG_ACTN FORMULA TYPE : Default to Assign Pending Action DESCRIPTION : Formula to determine the applicable default option or benefit for a person, which his or her choice is suspended. Formula returns an electable choice ID ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 28-Apr-2006 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for ASG_JOB is ' '
/*================ FORMULA SECTION BEGIN =======================*/ default for elctbl_chc_id is 0 default for ben_amt is 0 /*========Electable choice ID can be calculated through a formula function also ===*/ default for elctbl_chc_id is '0' elctbl_chc_id='360603' return elctbl_chc_id
/*================ FORMULA SECTION END =======================*/ /****************************************************************************** FORMULA NAME: BEN_DFLT_TO_ASGN_PNDG_ACTN FORMULA TYPE : Default to Assign Pending Action DESCRIPTION : Formula to determine the applicable default option or benefit for a person, which his or her choice is suspended. Formula returns an electable choice ID and amount. *********s********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 28-Apr-2006 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for ASG_JOB is ' '
/*================ FORMULA SECTION BEGIN =======================*/ default for elctbl_chc_id is 0 default for ben_amt is 0 /*========Electable choice ID can be calculated through a formula function also ===*/ elctbl_chc_id=358704 ben_amt=1001 return elctbl_chc_id,ben_amt
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: 12 Unit test script:
=============================================================== Formula Type: Element Determination
13 Functional Usage: The Element Determination formula can be used to determine the currency and/or element type and input value for a standard rate.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions -> Standard Rates -> General -> Element Determination Rule
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pl_f,
ben_acty_base_rt_f and database items based on person’s assignment_id 18 Input values available: No input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: Formula should return one of the three following options in
the table below.
Out Variable Name Data Type Value Remarks
ELEMENT_TYPE_ID Number INPUT_VALUE_ID Number CURRENCY_CODE Varchar2
/****************************************************************************** FORMULA NAME: BEN_RATE_CURR FORMULA TYPE : Element Determination Rule
DESCRIPTION : Formula to determine currency for a standard rate. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Siok Tee 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for ASG_LOCATION is ' '
/*================ FORMULA SECTION BEGIN =======================*/ l_loc = ASG_LOCATION if l_loc = 'UK' then
currency_code = 'GBP' else currency_code = 'USD'
return currency_code /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Required Period of Enrollment
13 Functional Usage: The Required Period of Enrollment formula can be used to determine the earliest de-enrollment date for a person’s electable choice for compensation object.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Plan: Limitation: Required Period of Enrolment Rule
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L _DATE (Not a mandatory out variable, any name can be used)
/********************************************************************** FORMULA NAME: BEN_REQD_PERD_OF_ENRT FORMULA TYPE : Required Period of Enrollment
DESCRIPTION : Formula to determine the earliest de- enrollment date for a person. It is Calculated as the day on which the person turns 25.
*********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT:
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH (date) if PER_DATE_OF_BIRTH was defaulted then (
l_min_age = 12*25 /* no of months in 25 years */ l_date = add_months(l_dob,l_min_age)
) else (
l_date = '01-jan-3000' (date) )
return l_date /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None 12 Unit test script:
Formula Type: Mandatory Determination
13 Functional Usage: The Mandatory Determination formula is used to determine which option in plan should be compulsorily assigned to a person. Use this along with the required period of enrollment to ensure that a participant stays enrolled for a particular period of time. To ensure that the participant is assigned an option, use the automatic or default enrollment option along with the mandatory determination formula.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: General: Option: Limitation: Option is required
16 Overloaded Contexts: PER_PAY_METHOD_ID is overloaded with 17 ELIG_PER_ID 18 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id .
19 Input values available:
Name Data Type
Remarks
ELIG_DPNT_ID1 Number 1st Eligible Dependant’s id ELIG_DPNT_ID2 Number 2nd Eligible Dependant’s id ELIG_DPNT_ID3 Number 3rd Eligible Dependant’s id ELIG_DPNT_ID4 Number 4th Eligible Dependant’s id ELIG_DPNT_ID5 Number 5th Eligible Dependant’s id ELIG_DPNT_ID6 Number 6th Eligible Dependant’s id ELIG_DPNT_ID7 Number 7th Eligible Dependant’s id ELIG_DPNT_ID8 Number 8th Eligible Dependant’s id ELIG_DPNT_ID9 Number 9th Eligible Dependant’s id ELIG_DPNT_ID10 Number 10th Eligible Dependant’s id ELIG_DPNT_ID11 Number 11th Eligible Dependant’s id ELIG_DPNT_ID12 Number 12th Eligible Dependant’s id ELIG_DPNT_ID13 Number 13th Eligible Dependant’s id ELIG_DPNT_ID14 Number 14th Eligible Dependant’s id ELIG_DPNT_ID15 Number 15th Eligible Dependant’s id ELIG_DPNT_ID16 Number 16th Eligible Dependant’s id ELIG_DPNT_ID17 Number 17th Eligible Dependant’s id ELIG_DPNT_ID18 Number 18th Eligible Dependant’s id ELIG_DPNT_ID19 Number 19th Eligible Dependant’s id ELIG_DPNT_ID20 Number 20th Eligible Dependant’s id NUM_ELIG_DPNT Number No. of Eligible dependant’s
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_DFLT_ENRT FORMULA TYPE : Mandatory Determination DESCRIPTION : Formula to determine whether a person should compulsorily be enrolled in an option in plan. Anybody having Manager Salary Basis should compulsorily be enrolled. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for ASG_SALARY_BASIS_NAME is ' ' /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_Due_DT (Not a mandatory out variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_ACTN_TYP_DUE_END FORMULA TYPE : Action Type Due Date DESCRIPTION : Formula to determine the date by which the action should be completed. The due date is set as 30 days from the effective date. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE
12 Unit test script: Formula Type: Change Dependent Coverage
13 Functional Usage: The Change Dependent Coverage formula can be used to determine whether a dependant can be ‘Added Only, ‘Removed Only’, ‘Added and Removed’ or ‘Neither’.
14 Navigation Path: Total Compensation -> Programs and Plans-> Program Enrollment Requirements: Dependant Coverage: Plan type: Dependant Change of Life Event: Change Dependant Coverage Rule
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from tables ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type
Value Remarks
L_LER_CHG_DPNT_CVG_CD (Not a mandatory out variable, any name can be used)
Char MAD MEAORD MNANRD MRD
MAD May Add Dependents MEAORD May Either Add or Remove Dependents MNANRD May Neither Add Nor Remove Dependents MRD May Remove Dependents
/****************************************************************************** FORMULA NAME: BEN_CHNG_DPNT_COV FORMULA TYPE : Change Dependant Coverage DESCRIPTION : A person can change dependant Coverage only after two years from the date of joining. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ASG_START_DATE is '31-Dec-4712' (date)
/*================ FORMULA SECTION BEGIN =======================*/ l_start_date = ASG_START_DATE l_effective_date = fn_effective_date() l_period_of_service = months_between(l_effective_date,l_start_date) if l_period_of_service >= 24 then ( l_ler_chg_dpnt_cvg_cd = ‘MEAORD’ ) else ( l_ler_chg_dpnt_cvg_cd = ‘MNANRD’ ) return l_ler_chg_dpnt_cvg_cd /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Dependent Certification Required
13 Functional Usage: The Dependent Certification Required formula can be used to determine the conditions under which a person must provide certification for his or her designated dependants.
14 Navigation Path: Total Compensation -> Programs and Plans-> Program Enrollment Requirements: Dependent Coverage: Plan Type: Certification: Certification Required by
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: None 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
FORMULA TYPE : Dependent Certification Required DESCRIPTION : A person belonging to Manager Benefit Group need not provide certificates for dependents. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_BENEFIT_GROUP_ID is –1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID l_output = 'Y' if not PER_BENEFIT_GROUP_ID was defaulted then ( l_benefit_group = fn_benefit_group(l_ben_group_id) if l_benefit_group = 'Manager Business Group' then ( l_output = 'N' ) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
Formula Type: Beneficiary Certification Required
13 Functional Usage: The Beneficiary Certification Required formula can be used to determine the conditions under which a person must provide certification for his or her designated Beneficiaries.
14 Navigation Path: Total Compensation -> Programs and Plans-> Plan Enrollment Requirements: Designations: Beneficiary: Certification: Certification Required by Rule
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: None 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values
Out Variable Name Data
Type Value Remarks
L_OUTPUT TEXT Y/N
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_BNFCR_CERT_REQD FORMULA TYPE : Beneficiary Certification Required DESCRIPTION : A person belonging to Manager Benefit Group need not provide certificates for beneficiary. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_BENEFIT_GROUP_ID is –1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID l_output = 'Y' if not PER_BENEFIT_GROUP_ID was defaulted then ( l_benefit_group = fn_benefit_group(l_ben_group_id) if l_benefit_group = 'Manager Business Group' then ( l_output = 'N' ) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
Formula Type: Rounding
13 Functional Usage: The Rounding formula can be used to round a number to a specified place or decimal.
/****************************************************************************** FORMULA NAME: BEN_ROUNDING FORMULA TYPE : Rounding DESCRIPTION : ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT FOR VALUE IS 0 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/ INPUTS are VALUE /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_input_val = VALUE l_output = ROUNDUP(l_input_val,2)
return l_output /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Rate Value Calculations
13 Functional Usage: The Rate Value Calculations formula can be used to calculate a rate amount for a person. It can be used to calculate a base or variable rate
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Calculation Method: Rule: Value Calculation Rule
Total Compensation -> Rates/Coverage Definitions-> Standard Rates: Calculation Method: Value: Value Rule 15 Contexts: BUSINESS_GROUP_ID, PAYROLL_ACTION_ID, ASSIGNMENT_ID,
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID and ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks
L_RATE (Not a mandatory out variable, any name can be used)
/****************************************************************************** FORMULA NAME: BEN_RT_VAL_CALC FORMULA TYPE : Rate Value Calculations DESCRIPTION : For an person with period of service more than two years the rate is 100 for others it is 200 ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_CVG_AMT_CALC FORMULA TYPE : Coverage Amount Calculations DESCRIPTION : For an person with period of service more than two years the coverage amount is 1000 for others it is 500 ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ASG_START_DATE is '31-Dec-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_start_date = ASG_START_DATE l_effective_date = fn_effective_date() l_period_of_service = months_between(l_effective_date,l_start_date) if l_period_of_service >= 24 then ( l_rate = 1000 ) else ( l_rate = 500 ) return l_rate /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Premium Value Calculations
13 Functional Usage: The Premium Value Calculations formula can be used to calculate the premium amount for a person.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Calculation Method: Rule: Value Calculation Rule
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_PREM_VAL_CALC FORMULA TYPE : Premium Value Calculations DESCRIPTION : The premium amount is calculated as 25 multiplied by the age of the person ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH if not PER_DATE_OF_BIRTH was defaulted then (
l_rate = l_age * 25 ) else ( l_rate = 0 ) return l_rate /*================ FORMULA SECTION END =======================*
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Rate Lower Limit
13 Functional Usage: The Rate Lower Limit formula can be used to calculate the amount to be used to determine the lower limit value to which an activity rate or variable value is compared.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Limit: Low Limit Value Rule
Total Compensation -> Rates/Coverage Definitions-> Standard Rates: Calculation Method: Low Limit Value Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_RT_LW_LMT FORMULA TYPE : Rate Lower Limit DESCRIPTION : The rate lower limit is calculated based on the Benefit group a person is assigned ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_BENEFIT_GROUP_ID is 0
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID if not PER_BENEFIT_GROUP_ID was defaulted then ( l_benefit_group = fn_benefit_group(l_ben_group_id) if l_benefit_group = 'Manager Business Group' then ( l_low_limit = 1000 ) else if l_benefit_group = 'Sales Business Group' then ( l_low_limit = 500 ) else ( l_low_limit = 250 ) ) else ( l_low_limit= 250 ) return l_low_limit /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
Formula Type: Rate Upper Limit
13 Functional Usage: The Rate Upper Limit formula can be used to calculate the amount to be used to determine the upper limit value to which an activity rate or variable value is compared.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Limit: High Limit Value Rule
Total Compensation -> Rates/Coverage Definitions-> Standard Rates: Calculation Method: High Limit Value Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used.
20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_RT_UPR_LMT FORMULA TYPE : Rate Upper Limit DESCRIPTION : The rate higher limit is calculated based on the Benefit group a person is assigned ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_BENEFIT_GROUP_ID is 0 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID If not PER_BENEFIT_GROUP_ID was defaulted then ( l_benefit_group = fn_benefit_group(l_ben_group_id)
(
)
if l_benefit_group = 'Manager Business Group' then ( l_high_limit = 2000 ) Else if l_benefit_group = 'Sales Business Group' then ( l_high_limit = 1500 ) Else
l_high_limit = 1000 )
Else
( l_high_limit= 1000 ) Return l_high_limit
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
/*================ FORMULA SECTION END =======================*
Formula Type: Premium Lower Limit
13 Functional Usage: The Premium Lower Limit formula can be used to calculate the amount used to determine the lower limit for an activity or variable premium
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Limit: Low Limit Value Rule
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_PREM_LWR_LMT FORMULA TYPE : Premium Lower Limit DESCRIPTION : The premium lower limit is calculated as 20 multiplied by the age of the person ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH if not PER_DATE_OF_BIRTH was defaulted then (
else ( l_rate = 0 )
/*================ FORMULA SECTION END =======================*
Formula Type: Premium Upper Limit
13 Functional Usage: The Premium Upper Limit formula can be used to calculate the amount used to determine the upper limit for an activity or variable premium
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Limit: High Limit Value Rule
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks
L_RATE (Any name can be used)
NUMBER
8 Erroring: None.
9 Remarks: None 10 Sample Formula:
/****************************************************************************** FORMULA NAME: BEN_PREM_UPR_LMT FORMULA TYPE : Premium Upper Limit DESCRIPTION : The premium Upper limit is calculated as 30 multiplied by the age of the person ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
/*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ Default for PER_DATE_OF_BIRTH is '01-jan-0001' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
if not PER_DATE_OF_BIRTH was defaulted then
)
( l_rate = 0 ) return l_rate
Formula Type: Coverage Lower Limit
13 Functional Usage: The Coverage Lower Limit formula can be used to calculate the amount to be used to determine the lower limit for an activity or variable coverage or benefit.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Limit: Low Limit Value Rule
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_CVG_LW_LMT FORMULA TYPE : Coverage Lower Limit DESCRIPTION : The coverage lower limit is calculated based on the Benefit group a person is assigned ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_BENEFIT_GROUP_ID is 0 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID
( l_benefit_group = fn_benefit_group(l_ben_group_id) if l_benefit_group = 'Manager Business Group' then
l_low_limit = 10000
else if l_benefit_group = 'Sales Business Group' then (
l_low_limit = 7500
(
(
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
) else
l_low_limit = 5000 ) ) else
l_low_limit= 5000 ) return l_low_limit /*================ FORMULA SECTION END =======================*
Formula Type: Coverage Upper Limit
13 Functional Usage: The Coverage Upper Limit formula can be used to calculate the amount to be used to determine the upper limit for an activity or variable coverage or benefit.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Variable Rates Profiles: Limit: High Limit Value Rule
16 Overloaded Contexts: ORGANIZATION_ID is over loaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_COV_UPR_LMT FORMULA TYPE : Coverage Upper Limit DESCRIPTION : The coverage higher limit is calculated based on the Benefit group a person is assigned to ******************************************************************************* Change History:
Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
/*================ FORMULA SECTION BEGIN =======================*/ l_ben_group_id = PER_BENEFIT_GROUP_ID If not PER_BENEFIT_GROUP_ID was defaulted then (
if l_benefit_group = 'Manager Business Group' then ( l_high_limit = 30000 )
(
/*================ FORMULA SECTION END =======================*
Formula Type: Partial Month Pro-ration Method
13 Functional Usage: The Partial Month Pro-ration Method formula can be used to determine, which date to use when determining how many pay periods remain, and when the element entry should start.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Standard Rates: Partial Month Determination: Partial Month Determination Rule
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_PRL_MON_PRT_MTHD FORMULA TYPE : Partial month Pro-ration Method DESCRIPTION : The amount is pro-rated based on number of weeks in a month. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for BEN_EPE_ENRT_CVG_STRT_DT is '01-JAN-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_start_date = BEN_EPE_ENRT_CVG_STRT_DT l_days = to_number(to_char(l_start_date,'DD')) if l_days < 7 then ( l_output = 'ALL' )
else ( l_output = 'PRTVAL' ) return l_output /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Partial Month Effective Date Determination
13 Functional Usage: The Partial Month Effective Date Determination formula can be used to determine, which date to use when determining how many pay periods remain, and when the element entry should start.
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Standard Rates: Partial Month Determination: Effective Date Rule
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name
Data Type
Value Remarks
L_output
PPED (Any name can be used)
CHAR DTERND DTPD
DTERND Date Earned DTPD Date Paid PPED Pay Period End Date
/****************************************************************************** FORMULA NAME: BEN_PRTL_MON_EFF_DT_DET FORMULA TYPE : Partial Month Effective Date Determination DESCRIPTION : The amount is pro-rated based on number of day on which the enrollment starts ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RT_ID and ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID.
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
/****************************************************************************** FORMULA NAME: BEN_PRO_ANN_ELEC_VAL FORMULA TYPE : Prorate Annual Election Rule DESCRIPTION : The prorated value is derived from the enrollment coverage start date ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for BEN_EPE_ENRT_CVG_STRT_DT is '01-JAN-1951' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_enrollment_st_dt = BEN_EPE_ENRT_CVG_STRT_DT IF not BEN_EPE_ENRT_CVG_STRT_DT was defaulted then ( l_month = to_number(to_char(l_enrollment_st_dt,'MM')) if l_month < 4 then ( l_multiplier = 1 ) else if l_month > 3 and l_month < 7 then ( l_multiplier = .75 ) else if l_month > 6 and l_month < 10 then ( l_multiplier = .5 ) else if l_month > 9 then ( l_multiplier = .25 ) l_output = 1500*l_multiplier ) else ( l_output = 0 ) return l_output /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Partial Month Proration Rule
13 Functional Usage: The Partial Month Proration Rule formula can be used to determine the value for a partial month enrollment
14 Navigation Path: Total Compensation -> Rates/Coverage Definitions-> Actual premium: Partial Month: Proration: Partial Month Proration Rule
16 Overloaded Contexts: PAYROLL_ACTION_ID is overloaded with activity_base_rt_id 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name
Data Type Value Remarks
L_OUTPUT (Any name can be used)
NUMBER The formula should return a percentage amount
/****************************************************************************** FORMULA NAME: BEN_PART_MON_PRO_RL FORMULA TYPE : Partial Month Proration Rule DESCRIPTION : The percentage prorated value is calculated based on enrollment coverage start date. ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for BEN_EPE_ENRT_CVG_STRT_DT is '01-JAN-1951' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_enrollment_st_dt = BEN_EPE_ENRT_CVG_STRT_DT IF not BEN_EPE_ENRT_CVG_STRT_DT was defaulted then (
l_month = to_number(to_char(l_enrollment_st_dt,'DD')) if l_month < 11 then ( l_output = 100 ) else if l_month > 10 and l_month < 21 then ( l_output = 66 ) else if l_month > 20 then ( l_output = 33 ) ) else ( l_output = 0 ) return l_output /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: 12 Unit test script:
Formula Type: Default Excess Treatment
13 Functional Usage: The Default Excess Treatment formula can be used to determine how any excess credits are to be allocated
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with elig_per_elctbl_chc_id. 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with elig_per_elctbl_chc_id. 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables. 21
13 Functional Usage: The Participant Eligible to Rollover formula can be used to determine whether a person may roll over flex credits into a particular compensation object.
16 Overloaded Contexts: ORGANIZATION_ID is overloaded with ELIG_PER_ELCTBL_CHC_ID and PAYROLL_ACTION_ID is overloaded with ACTIVITY_BASE_RATE_ID.
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_RLVR_VAL FORMULA TYPE : Rollover Value DESCRIPTION : A person is eligible to rollover only if he is part of Director Benefit Group ******************************************************************************* Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 25-Apr-2002 Initial Version
*********************************************************************** /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_BENEFIT_GROUP_ID is -1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
return l_output /*================ FORMULA SECTION END =======================* 11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
Formula Type: Compensation Calculation
13 Functional Usage: The Compensation Calculation formula can be used to determine a total compensation amount to be used for Eligibility, Coverage or Benefit, Premium and Rate calculations.
14 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors-> Derived Factors -> Compensation: Calculation Rule
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Name
Data Type Remarks PERSON_ID NUMBER person_id is available for
evaluating compensation for person other than participants
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Not a mandatory out variable, any name can be used)
NUMBER
8 Erroring: If any other output value is passed back then process errors out by raising
BEN_92311_FORMULA_VAL_PARAM. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_COMP_CALC FORMULA TYPE : Compensation Calculation DESCRIPTION : The compensation amount is a fixed amount based on person’s benefit group. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version ***********************************************************************
FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_BENEFIT_GROUP_ID is -1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/
(
( l_output = 10000 )
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
l_ben_group_id = PER_BENEFIT_GROUP_ID l_output = 5000 if not PER_BENEFIT_GROUP_ID was defaulted then
l_benefit_group = fn_benefit_group(l_ben_group_id) /* get the benefit group name*/ if l_benefit_group = 'Manager Business Group' then
) return l_output /*================ FORMULA SECTION END =======================*/
Formula Type: Compensation Determination Date
13 Functional Usage: The Compensation Determination Date formula can be used to determine the high date from which, hours compensation will be calculated.
14 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors-> Derived Factors -> Compensation: Determination Rule
16 Overloaded Contexts: PAYROLL_ID is overloaded with P_BNFTS_BAL_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Value
Out Variable Name Data Type Remarks L_START_DATE (Any name can be used)
Date
8 Erroring: None. 9 Remarks: None
10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_COMP_DET_DT FORMULA TYPE : Compensation Determination Date DESCRIPTION : Compensation determination date is the enrollment start date. *********************************************************************** Change History:
----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for BEN_EPE_ENRT_CVG_STRT_DT is '01-JAN-4712' (date)
/*================ FORMULA SECTION BEGIN =======================*/ l_start_date = BEN_EPE_ENRT_CVG_STRT_DT return l_start_date /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: None 12 Unit test script:
Name Date Description
Formula Type: Hours Worked Calculation
13 Functional Usage: The Hours Worked Calculation formula can be used to determine an hour worked amount to be used for Eligibility, Coverage or Benefit, Premium and Rate calculations..
14 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors-> Derived Factors ->Hours Worked: Calculation Rule
16 Overloaded Contexts: PAYROLL_ID is overloaded with P_BNFTS_BAL_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Name
Data Type Remarks PERSON_ID NUMBER person_id is available for
evaluating compensation for person other than participants
8 Constraints using Database items: Database items other than the ones mentioned above can’t be used.
9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
NUMBER
8 Erroring: If any other output value is passed back then process errors out by raising
BEN_92311_FORMULA_VAL_PARAM. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_HRS_WRKD_CALC FORMULA TYPE : Hours Worked Calculation DESCRIPTION : The formula returns the total hours, a person has worked from the date of joining. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ASG_HOURS is 0 DEFAULT for ACP_SERVICE_START_DATE is '01-JAN-1951' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_output = 0 if not ( ASG_HOURS was defaulted and ACP_SERVICE_START_DATE was defaulted) then ( l_asg_hours = ASG_HOURS l_start_date = ACP_SERVICE_START_DATE l_effective_date = fn_effective_date() l_months_from_start = months_between(l_effective_date, l_start_date) l_output = l_months_from_start * 22 * l_asg_hours ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Hours Worked Determination Date
13 Functional Usage: The Hours Worked Determination Date formula can be used to determine the
date from which, hours worked will be calculated. 14 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors->
16 Overloaded Contexts: PAYROLL_ID is overloaded with P_BNFTS_BAL_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_START_DATE (Any name can be used)
Date
8 Erroring: None. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_HRS_WRKD_DT FORMULA TYPE : Hours Worked Determination Date DESCRIPTION : The hours worked determination date for a person is 6 months from the date he joined. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ACP_SERVICE_START_DATE is '01-JAN-1951' (date)
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_start_date = ACP_SERVICE_START_DATE
11 Formula functions used in the sample formula: None 12 Unit test script:
/*================ FORMULA SECTION END =======================*/
Formula Type: Length of Service Calculation
13 Functional Usage: The Length of Service Calculation formula can be used to determine a service to be used for Eligibility, Coverage or Benefit, Premium and Rate calculations..
14 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors-> Derived Factors -> Length Of Service: Calculation Rule
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Name Data Type Remarks PERSON_ID NUMBER person_id is available for
evaluating compensation for person other than participants
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
NUMBER
8 Erroring: If any other output value is passed back then process errors out by raising
BEN_92311_FORMULA_VAL_PARAM. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_LEN_OF_SERV_CALC FORMULA TYPE : Length of Service Calculation DESCRIPTION : The formula return the number of years the person has been working. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms.
**********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
16 Overloaded Contexts: No 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Name Data Type Remarks PERSON_ID NUMBER person_id is available for
evaluating compensation for person other than participants
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT DATE
(Any name can be used)
8 Erroring: If any other output value is passed back then process errors out by raising BEN_92311_FORMULA_VAL_PARAM.
9 Remarks: None 10 Sample Formula:
FORMULA NAME: BEN_LEN_OF_SERV_DT FORMULA TYPE : Length of Service Date to Use DESCRIPTION : The formula return the service start date of the person. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ACP_SERVICE_START_DATE is '01-JAN-1951' (date)
16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available.
19 Constraints using Database items: Database items other than the ones mentioned above can’t be used.
20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
Date
8 Erroring: None. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_LOS_DET_DT FORMULA TYPE : Length of Service Determination Date DESCRIPTION : The LOS determination date is the start date of next month. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
l_output = add_days(l_last_day,1) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
17 Database items available: All columns except attribute columns from table ben_ler_f, ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name
Data Type Value Remarks L_OUTPUT (Any name can be used)
Date
8 Erroring: None. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_AGE_DET_DT FORMULA TYPE : Age Determination Date DESCRIPTION : The Age determination date is the start date of next month. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_effective_date = fn_effective_date() l_last_day = last_day(l_effective_date) l_output = add_days(l_last_day,1) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Age Calculation
13 Functional Usage: The Age Calculation formula can be used to determine age to be used for Eligibility, Coverage or Benefit, Premium and Rate calculations.
14 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors-> Derived Factors -> Age: Calculation Rule
DESCRIPTION : The formula return the current age of the person.
Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/
/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for PER_DATE_OF_BIRTH is '01-JAN-1951' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ . /*================ FORMULA SECTION BEGIN =======================*/ l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then
FORMULA NAME: BEN_AGE_CALC FORMULA TYPE : Age Calculation
( l_start_date = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_age = months_between(l_effective_date, l_start_date) l_output = l_age/12 l_output = floor(l_output) ) return l_output Formula functions used in the sample formula: None Unit test
Formula Type: Age Determination Date
11 Functional Usage: The Age Determination Date formula can be used to determine the date from which age will be calculated.
12 Navigation Path: Total Compensation -> General Definitions-> Eligibility/Rate Factors-> Derived Factors ->Age: Determination Rule
14 Overloaded Contexts: None 15 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
16 Input values available: No Input values are available. 17 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 18 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name
Data Type Value Remarks L_OUTPUT (Any name can be used)
FORMULA NAME: BEN_AGE_DET_DT FORMULA TYPE : Age Determination Date DESCRIPTION : The Age determination date is the start date of next month. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/
FORMULA NAME: BEN_POP_UP FORMULA TYPE : Pop-Up Message DESCRIPTION : Display a message if a person belongs to Manager Benefit Group *********************************************************************** Change History: Name Date Description
----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_BENEFIT_GROUP_ID is -1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: No Input values are available. 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
FORMULA NAME: BEN_TO_BE_SENT_DT FORMULA TYPE : To Be Sent Date DESCRIPTION : The to be sent date is determined based on the organization a person is assigned to. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for ASG_ORG is ','
/*================ FORMULA SECTION BEGIN =======================*/ l_org = ASG_ORG l_effective_date = FN_EFFECTIVE_DATE() l_output = add_days(l_effective_date,7) if not ASG_ORG was defaulted then
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
( if l_org = 'Remote Location' then ( l_output = add_days(l_effective_date,14) ) ) return l_output /*================ FORMULA SECTION END =======================*/
Formula Type: Inspection Required
13 Functional Usage: The Inspection Required formulas can be used to determine whether inspection of communication is required. If so the “Inspection Required” is set to ‘Yes’ for this person.
14 Navigation Path: Total Compensation -> General Definitions-> Additional Setup-> Communication Types: Inspection Required Rule
16 Overloaded Contexts: ORG_PAY_METHIOD_ID is overloaded with P_PER_CM_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Data Type
Name Remarks PERSON_ID NUMBER person_id is for people without
assignment 8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Value
Out Variable Name Data Type Remarks L_OUTPUT (Any name can be used)
CHAR Y/N
8 Erroring: None. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_INSPCTN_REQD FORMULA TYPE : Inspection required DESCRIPTION : Inspection is not required if a person belongs to Manager Benefit Group *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version
DEFAULT for PER_BENEFIT_GROUP_ID is -1 /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
*********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DESCRIPTION : A communication is not required if a person is more 21 years of age ***********************************************************************
Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version
*********************************************************************** FORMULA TEXT: Logic in simple terms.
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date)
/*================ FORMULA SECTION BEGIN =======================*/
l_effective_date = fn_effective_date() l_output = 'Y' if not PER_DATE_OF_BIRTH was defaulted then ( l_age = trunc(months_between(l_effective_date,l_dob)/12) if l_age > 21 then ( l_output = 'N' ) ) return l_output /*================ FORMULA SECTION END =======================*/
Formula Type: Communication Appropriate
13 Functional Usage: The Communication Appropriate formulas can be used to determine whether, for this communication and trigger the communication should be sent.
14 Navigation Path: Total Compensation -> General Definitions-> Additional Setup-> Communication Types: Trigger: Rule
16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Name Data Type Remarks PERSON_ID NUMBER person_id is for people without
assignment 8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
CHAR Y/N
8 Erroring: None. 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_COM_APR FORMULA TYPE : Communication Appropriate DESCRIPTION : A communication is not required if a person is more 21 years of age *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*================ FORMULA SECTION BEGIN =======================*/
l_effective_date = fn_effective_date() l_output = 'Y' if not PER_DATE_OF_BIRTH was defaulted then (
if l_age > 21 then ( l_output = 'N' ) ) return l_output /*================ FORMULA SECTION END =======================*/
Formula Type: Communication Usage
13 Functional Usage: The Communication Usage formulas can be used to determine whether communication usage requirements have been satisfied, if so, then a communication should be triggered for this usage.
14 Navigation Path: Total Compensation -> General Definitions-> Additional Setup-> Communication Types: Usages: Usage Rule
16 Overloaded Contexts: ORG_PAY_METHOD_ID is overloaded with PER_CM_ID 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available: None 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
FORMULA TYPE : Communication Usage DESCRIPTION : A communication should be triggered when a person turns 21. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 'N' if not PER_DATE_OF_BIRTH was defaulted then ( l_age = floor(months_between(l_effective_date,l_dob)/12) if l_age > 21 then ( l_output = 'Y' ) ) return l_output /*================ FORMULA SECTION END =======================*/
FORMULA NAME: BEN_COM_USAGE
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-1951' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Collapse Life Event Evaluation
13 Functional Usage: The Collapse Life Event Evaluation formula can be used to determine whether the life event should be collapsed and deleted, collapsed and voided or neither.
14 Navigation Path: Total Compensation -> General Definitions-> Additional Setup-> Collapse Life Events: Collapsing Logic: Rule
15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, LER_ID 16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from tables ben_ler_f and
database items based on person’s assignment_id. 18 Input values available: None 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data Type Value Remarks L_OUTPUT (Any name can be used)
CHAR V/D V: Voided D: Deleted
8 Erroring: When the incorrect output value is passed, error BEN_91329_FORMULA_RETURN
is raised 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_CLPS_LE_EVAL FORMULA TYPE : Collapse Life Event Evaluation DESCRIPTION : Life events, Marriage and Address Change, are voided rest all are deleted. *********************************************************************** Change History: Name Date Description -----------------------------------------------------------------------
Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for BEN_LER_NAME is ','
/*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
l_output = 'D' if not BEN_LER_NAME was defaulted then ( if l_event_name = 'Marriage' or l_event_name = 'Address Changed' then ( l_output = 'V' )
11 Formula functions used in the sample formula: 12 Unit test script:
) return l_output
/*================ FORMULA SECTION END =======================*/
Formula Type: Collapse Life Event Resulting Occurred On Date
13 Functional Usage: The Collapse Life Event Resulting Occurred On Date formula can be used to determine the date to use for the resulting life event.
14 Navigation Path: Total Compensation -> General Definitions-> Additional Setup-> Collapse Life Events: Life Event Occurred Date: Rule
15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, LER_ID 16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from tables ben_ler_f and
database items based on person’s assignment_id. 18 Input values available: None 19 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 20 Formula output or return values:
Out Variable Name Data Type
Value Remarks
LIFE_EVENT_OCCURRED_DATE DATE
8 Erroring: When the incorrect output value is passed, error BEN_92310_FORMULA_RET_PARAM is raised
9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_CLPS_LE_RSLT_OCRD_DT FORMULA TYPE : Collapse Life Resulting Occurred On Date DESCRIPTION : Formula returns the life event occurred date as 6 days from the effective date *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_effective_date = FN_EFFECTIVE_DATE() LIFE_EVENT_OCCURRED_DATE = add_days(l_effective_date,6)
/*================ FORMULA SECTION END =======================*/
Formula Type: Dependent Eligibility
13 Functional Usage: The Dependent Eligibility formula can be used to determine whether a person is eligible to be covered by a participant in a compensation object.
14 Navigation Path: Total Compensation -> General Definitions-> Eligibility Profiles-> Dependent Coverage -> Rule
16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from table ben_ler_f,
ben_pgm_f, ben_pl_f, ben_pl_typ_f, ben_opt_f and database items based on person’s assignment_id.
18 Input values available:
Name Data Type Remarks
CON_PERSON_ID NUMBER Contact’s person_id 8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values
Out Variable Name Data
Type Value Remarks
L_OUTPUT TEXT Y/N
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_DPNT_ELIG FORMULA TYPE : Dependent Eligibility DESCRIPTION : A dependent is not eligible after the age of 25 *********************************************************************** Change History:
Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ DEFAULT for CON_PERSON_ID is -1
l_con_person_id = CON_PERSON_ID l_age = fn_age(l_con_person_id) if l_age < 26 then
( l_output = 'Y' ) else
( l_output = 'N' ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_AGE 12 Unit test script:
/*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ INPUTS are CON_PERSON_ID /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
Formula Type: Extract Person Data Element
13 Functional Usage: The Extract Person Data Element formula can be used to specify person or assignment information to be included as a data element item. This rule type can also return the results of a calculation performed on a persons or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
ORG_PAY_METHOD_ID, ORGANIZATION_ID, JURISDICTION_CODE 16 Overloaded Contexts: ORG_PAY_METHOD_ID is overloaded with PER_CM_ID 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_XTRT_PER_DTA_ELM FORMULA TYPE : Extract Person Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
Formula Type: Extract Enrollment Data Element
13 Functional Usage: The Extract Enrollment Data Element formula can be used to specify person’s enrollment information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, PL_ID, OPT_ID,
LER_ID 16 Overloaded Contexts: None 17 Database items available: All columns except attribute columns from tables ben_ler_f, ben_pl_f,
ben_opt_id and database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER PRTT_ENRT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_XTRT_ENRT_DTA_ELM FORMULA TYPE : Extract Enrollment Data Element DESCRIPTION : The formula returns the person age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
Formula Type: Extract Eligible Data Element
13 Functional Usage: The Extract Eligible Data Element formula can be used to specify person’s eligibility information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
ORGANIZATION_ID 16 Overloaded Contexts: ORGANIZATION_ID is overloaded with
ELIG_PER_ELCTBL_CHC_ID 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L_OUTPUT (Any name can be used)
TEXT
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_XTRT_ELIG_DTA_ELM FORMULA TYPE : Extract Eligible Data Element DESCRIPTION : The formula returns persons age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Extract Premium Data Element
13 Functional Usage: The Extract Premium Data Element formula can be used to specify person’s premium information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Remarks
Name Data Type PRTT_PREM_BY_MO_ID NUMBER ACTL_PREM_ID NUMBER EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_XTRT_PREM_DTA_ELM FORMULA TYPE : Extract Premium Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
Formula Type: Extract Dependent Data Element
13 Functional Usage: The Extract Dependent Data Element formula can be used to specify person’s dependent information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Remarks
Name Data Type ELIG_CVRD_DPNT_ID NUMBER Dependent ID EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L_OUTPUT (Any name can be used)
TEXT
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_XTRT_DPNT_DTA_ELM FORMULA TYPE : Extract Dependent Data Element DESCRIPTION : The formula returns person’s age in months
*********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date)
l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
/*================ FORMULA SECTION BEGIN =======================*/
Formula Type: Extract Action Item Data Element
13 Functional Usage: The Extract Action Item Data Element formula can be used to specify person’s action item information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
ORG_PAY_METHOD_ID 16 Overloaded Contexts: ORG_PAY_METHOD_ID is overloaded with PRTT_ENRT_ACTN_ID 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks
EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_XTRT_ACTN_ITM_DTA_ELM FORMULA TYPE : Extract Action Item Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
13 Functional Usage: The Extract Action Item Data Element formula can be used to specify
person’s beneficiary information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Formula Type: Extract Beneficiary Data Element
Name Data Type Remarks PL_BNF_ID NUMBER Beneficiary ID EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_XTRT_BNFCRY_DTA_ELM FORMULA TYPE : Extract Beneficiary Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
/*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
Formula Type: Extract Flex Credit Data Element
13 Functional Usage: The Extract Flex Credit Data Element formula can be used to specify person’s flex credit information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks
BNFT_PRVDR_POOL_ID NUMBER EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_XTRT_FLX_CRDT_DTA_ELM FORMULA TYPE : Extract Flex Credit Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then
( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Extract Payroll Data Element
13 Functional Usage: The Extract Flex Credit Data Element formula can be used to specify person’s payroll information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks
ELEMENT_ENTRY_VALUE_ID NUMBER EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L_OUTPUT (Any name can be used)
TEXT
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_PYRL_DTA_ELM FORMULA TYPE : Extract Payroll Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Extract Run Result Data Element
13 Functional Usage: The Extract Run Result Data Element formula can be used to specify person’s run result information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks RUN_RESULT_ID NUMBER EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER INPUT_VALUE_ID NUMBER RESULT_VALUE NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Data Type
Out Variable Name Value Remarks
L_OUTPUT (Any name can be used)
TEXT
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_RUN_RSLT _DTA_ELM FORMULA TYPE : Extract Run Result Data Element DESCRIPTION : The formula returns person’s age in months
*********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Extract Contact Data Element
13 Functional Usage: The Extract Contact Data Element formula can be used to specify person’s run contact information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Data Type
Name Remarks CONTACT_RELATIONSHIP_ID NUMBER EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_CNTCT _DTA_ELM FORMULA TYPE : Extract Contact Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date)
/*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_dob = PER_DATE_OF_BIRTH l_effective_date = fn_effective_date() l_output = 0 if not PER_DATE_OF_BIRTH was defaulted then ( l_output = months_between(l_effective_date,l_dob) ) return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Formula Type: Extract Dependent Eligibility Data Element
13 Functional Usage: The Extract Dependent Eligibility Element formula can be used to specify person’s run contact information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name
Data Type Remarks
ELIG_DPNT_ID NUMBER
EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name
Data Type
Value Remarks
L_OUTPUT (Any name can be used)
TEXT
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_DPNT_ELIG _DTA_ELM FORMULA TYPE : Extract Dependent Eligibility Data Element DESCRIPTION : The formula returns person’s age in months *********************************************************************** Change History: Name Date Description -----------------------------------------------------------------------
DEFAULT for PER_DATE_OF_BIRTH is '01-jan-4712' (date) /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/
if not PER_DATE_OF_BIRTH was defaulted then
/*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: FN_EFFECTIVE_DATE 12 Unit test script:
Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
13 Functional Usage: The Extract Dependent Eligibility Element formula can be used to specify person or assignment level inclusion or exclusion for system extract
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED,
ORGANIZATION_ID, JURISDICTION_CODE 16 Overloaded Contexts: None 17 Database items available: All database items based on person’s assignment_id. 18 Input values available:
Name Data Type Remarks EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
Out Variable Name Data
Type Value Remarks
L_OUTPUT (Any name can be used)
TEXT
8 Erroring: None 9 Remarks: None 10 Sample Formula: /********************************************************************** FORMULA NAME: BEN_PER_INCLSN FORMULA TYPE : Extract Person Inclusion DESCRIPTION : The formula excludes all person’s belonging to Manager Benefit Group. *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
( l_benefit_group = fn_benefit_group(l_ben_group_id) /* get the benefit group name*/ if l_benefit_group = 'Manager Business Group' then
11 Formula functions used in the sample formula: FN_BENEFIT_GROUP 12 Unit test script:
( l_output = 'N' ) ) return l_output /*================ FORMULA SECTION END =======================*/
Formula Type: Extract Header/Trailer Data Element
13 Functional Usage: The Extract Header/Trailer Data Element formula can be used to specify person’s run contact information to be included as a data element item. This rule type can also return the results of a calculation performed on person or assignment information.
14 Navigation Path: Mass Information Exchange -> Layout Definition -> Data Elements -> Rule 15 Contexts: None 16 Overloaded Contexts: None 17 Database items available: None 18 Input values available:
Name Data Type Remarks
EXT_DFN_ID NUMBER EXT_RSLT_ID NUMBER
8 Constraints using Database items: Database items other than the ones mentioned above can’t be
used. 9 Formula output or return values: No need to use predefined names for return variables.
FORMULA NAME: BEN_HDR_TRLR_DTA_ELM FORMULA TYPE : Extract Header/Trailer Data Element DESCRIPTION : The formula returns plain text *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Vikash Sethi 22-Feb-2002 Initial Version ***********************************************************************
FORMULA TEXT: Logic in simple terms. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/
l_output = 'Vision Corporation Person Date Extract System' return l_output /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula: 12 Unit test script:
/*============ INPUT VALUES DEFAULT BEGIN ======================*/
/*================= INPUTS SECTION BEGIN ========================*/
/*================ FORMULA SECTION BEGIN =======================*/
Formula Type: Person Selection Rule
13 Functional Usage: The person selection rule can be used by any concurrent program to
14 Navigation Path: Submit Processes and Reports > Submit Requests > Premium calculation process
15 Contexts: Business_Group_Id, DATE_EARNED (p_effective_date), Assignment Id Note: For any formula types, under contexts selection, if p_effective_date is indicated then this context is same as DATE_EARNED
16 Overloaded Contexts: No 17 Database items available: data base items based on person’s assignment_id and all columns from
6 Input values available: No Input values are available.
be used. 18 Formula output or return values: No need to use predefined names for return variables.
Out Variable name Data Type
Value Remarks
allow users restrict the persons who need to be selected for the process .
BEN_LER_F table
7 Constraints using Database items: Database items other than the ones mentioned above cannot
L_RETURN (Any name can be used)
Varchar2
8 Erroring: If wrong values are passed back from the formula does it gracefully exit or if errors
what kind of error is raised. : If any other output value is passed back then process errors (BEN_91329_FORMULA_RETURN).
9 Remarks : None 10 Sample Formula :
/****************************************************************************** FORMULA NAME : FORMULA TYPE : Person Selection DESCRIPTION : Formula to determine whether the list of national identifiers should be included in concurrent process like Premium Calculation Process. ******************************************************************************* Change History: Name Date Description -----------------------------------------------------------------------
Nagaraj Hunur 26-Apr-2002 Initial Version
*********************************************************************** FORMULA TEXT: **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_ret = PERSON_SELECTION_FUNCTION('123-22-2323','123-05-0961','232-33-5555', '232-44-3333','111-11-1112') return l_ret /*================ FORMULA SECTION END =======================*/
11 Formula functions used in the sample formula : PERSON_SELECTION_FUNCTION
12 Unit test script :
Formula Type: Post Election
1 Functional Usage: Business rules dictate that a person is allowed to enroll into Aetna
dental plan only if he is enrolled into Aetna Medical Plan. When ever users want to enforce enrollment dependency between multiple compensation objects then post election edit rule can be used to raise the error if dependency business rule fails.
2 Navigation Path: Total Compensation > Programs and Plans > Plan Enrollment Requirements : General: Plan :Enrollment > Post-Election Edit Rule ; Total Compensation > Programs and Plans > Plan Enrollment Requirements : General: Option :Enrollment > Post-Election Edit Rule; Total Compensation > Programs and Plans > Program Enrollment Requirements : General: Plan Type :Enrollment > Post Election Edit Rule ; Total Compensation > Programs and Plans > Program Enrollment Requirements : General: Plan :Enrollment > Post Election Edit Rule
3 Contexts: BUSINESS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED, ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, PL_TYP_ID, OPT_ID (opt_id is not available if the edit rule is attached at plan or plan type level and no options exists for corresponding compensation object)
4 Overloaded Contexts: No 5 Data base items available: All columns except attribute columns from ben_pgm_f,
ben_pl_f, ben_pl_typ_f, ben_opt_f and data base items based on person’s assignment_id. 6 Input values available: No Input values are available. 7 Constraints using Data Base items: Database items other than the ones mentioned can’t be
used. 8 Formula output or return values: Formula should use pre-defined names for return
variables.
Out Variable Name Data Value Remarks
Type SUCCESSFUL (mandatory out variable)
Y/N Char If a value other than ‘Y’ is passed exception BEN_92187_POST_ELCN_NOT_PASS is raised with error message equal to what is set to ERROR_MESSAGE formula return variable.
ERROR_MESSAGE
1 Erroring: Error BEN_92310_FORMULA_RET_PARAM is raised if any other out variable names are used.
2 Sample Formula /********************************************************************** FORMULA NAME: BEN_TEST_POST_ELECTION FORMULA TYPE: Post Election Edit Rule DESCRIPTION: *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 20-May-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. If a person tries to enroll into Dependent life without enrolling into Employee Life Insurance Plan then raise a error. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/ /*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ SUCCESSFUL = ‘Y’ ERROR_MESSAGE = ‘You need to enroll in Employee Life to Enroll in Dependent Life’ SUCCESSFUL = verify_post_election_edit() return SUCCESSFUL , ERROR_MESSAGE /*================ FORMULA SECTION ENDS =======================*/
3 Formula Functions used in the sample formula: Yes
DATA TYPE : Text – returns Y/N – Whether to allow person to allow enrollment or not
/*********************************************************** FUNCTION NAME: verify_post_election_edit
CLASS : External Function ALIAS NAME : DESCRIPTION :
p_assignment_id in number, p_business_group_id in number, p_effective_date in date ) return varchar2 is
cursor c_pen is select 'N' from ben_prtt_enrt_rslt_f pen, ben_per_in_ler pil,
where pen.pl_id = 3002 -- pl_id of Dependent life -- and pil.ler_id = p_ler_id and pil.per_in_ler_stat_cd = 'STRTD' and pil.per_in_ler_id = pen.per_in_ler_id
and (pen.enrt_cvg_thru_dt is null or pen.enrt_cvg_thru_dt = hr_api.g_eot) and pen.business_group_id = p_business_group_id and asg.person_id = pil.person_id
and asg.effective_end_date and not exists ( select null from ben_prtt_enrt_rslt_f pen1, ben_per_in_ler pil1
-- pl_id of Employee life -- and pil1.ler_id = p_ler_id and pil1.per_in_ler_stat_cd = 'STRTD' and pil1.per_in_ler_id = pen1.per_in_ler_id
and pen1.effective_end_date = hr_api.g_eot and (pen1.enrt_cvg_thru_dt is null or
pen1.enrt_cvg_thru_dt = hr_api.g_eot) and pen1.business_group_id = p_business_group_id);
--
return l_result;
1 Functional Usage: To allow multiple input values to be passed to element entry. Ex., Users want to store plan information or any other information as part of element attached to the compensation object. Up to 14 input values can be passed to element.
2 Navigation Path: Total Compensation > Rate/Coverage Definitions > Standard Rates : Extra Input Rule ; Sample Setup - Create a standard rate and attach it to a plan or option. Create a formula of type “Extra Input” and attach it to standard rate. Assume this formula returns short name of plan(l_short_name) to be stored as part of short_name input value. This input value is attached to the element attached to the above created standard rate. Navigate to the Extra Input values window by clicking on the Extra Inputs button. Select the Short_name input value in “Input Value” field and select the l_short_name in field “Formula return variable name” field. When element entry is created by the enrollment process, extra input rule is executed. Value associated with l_short_name field is stored in input named “short_name”.
ORGANIZATION_ID, JURISDICTION_CODE, PGM_ID, PL_ID, LER_ID, ACTY_BASE_RT_ID, PL_TYP_ID, OPT_ID (opt_id is not available if the extra input rule is attached at level higher than)
4 Overloaded Contexts: No 5 Data base items available: All columns except attribute columns from ben_pgm_f,
ben_pl_f, ben_pl_typ_f, ben_opt_f, ben_acty_base_rt_f, ben_ler_f and data base items based on person’s assignment_id.
6 Input values available: Input values available in case of “absence” type of plans (Data associated with absence record which triggered the absence life event will be available). Please refer to “HR absences” documentation for more information. For Standard and advanced benefits customers no input values are available.
-- l_result varchar2(100) := 'Y'; -- begin
open c_pen; fetch c_pen into l_result; close c_pen; hr_utility.set_location('post election edit rule l_result = '|| l_result , 98765);
-- end chk_emp_life_enrld; /
=========================================================================== Formula Type: Extra Input
7 Constraints using Data Base items: Database items other than the ones mentioned can’t be used.
8 Formula output or return values: Formula can use any names for out variables.
1 Erroring: Error BEN_92311_FORMULA_VAL_PARAM is raised if type casting of variables raises errors.
2 Sample Formula /********************************************************************** FORMULA NAME: BEN_TEST_EXTRA_INPUTS FORMULA TYPE: Post Election Edit Rule DESCRIPTION: *********************************************************************** Change History: Name Date Description ----------------------------------------------------------------------- Prasad Bodla 20-DEC-2002 Initial Version *********************************************************************** FORMULA TEXT: Logic in simple terms. If a person tries to enroll into Dependent life a element entry is created with extra inputs. **********************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN ============*/ /*=========== DATABASE ITEM DEFAULTS ENDS ============*/ /*============ INPUT VALUES DEFAULT BEGIN ============*/ /*============== INPUT VALUES DEFAUT ENDS =============*/ /*================= INPUTS SECTION BEGIN ===============*/ /*================== INPUTS SECTION ENDS ===============*/ /*================ FORMULA SECTION BEGIN ==============*/ L_SHORT_NAME = ‘DEP_LIFE’ return L_SHORT_NAME /*================ FORMULA SECTION ENDS =============*/
3 Formula Functions used in the sample formula: No
1 Functional Usage: Used to filter out the programs to be picked up by the concurrent process.
2 Navigation Path: Submit Processes and Reports > Submit Requests > Participation process : life Event, Participation Process : Scheduled, Participation Process : Selection, and Participation Process : Personal Action
3 Contexts: Business_Group_Id, Effective_Date, Program Id 4 Overloaded Contexts: No 5 Database items available: Data base items based on Program id. 6 Input values available: None
Formula Type: Compensation Object Selection
7 Constraints using Database items: Database items other than the ones mentioned above cannot be used.
8 Formula output or return values: No need to use predefined names for return variables.
Out Variable name
Data Type Value Remarks L_RETURN (Any name can be used)
Number N Y
N - Do not process compensation object. Y - Process compensation object.
1 Erroring: If the value passed back is other than Y or N, error is raised.. 2 Remarks : There are limitations on using this formula. If system determines to use the
cached compensation objects then formula will not be evaluated on concurrent process submission. Cached compensation objects will be used. Only evaluated at the program level. Currently formula can’t be evaluated at other levels like plan etc.,.
3 Sample Formula : /*****************************************************************
/*============ INPUT VALUES DEFAULT BEGIN ======================*/ /*============== INPUT VALUES DEFAUT ENDS ======================*/ /*================= INPUTS SECTION BEGIN ========================*/ /*================== INPUTS SECTION ENDS ========================*/ /*================ FORMULA SECTION BEGIN =======================*/ l_val = ‘Y’ return l_val /*================ FORMULA SECTION END =======================*/ 4 Formula functions used in the sample formula : None 5 Unit test script : None
1. Functional Usage: A Compensation Item Rule formula can be used to display values, along with the dates of those values, on Total Compensation Statements. To use a Compensation Item Rule formula, create a Compensation Item in the Total Compensation Statement Setup application that references the Formula. You can then include that Compensation Item within your statement. 2. Navigation Path: Total Compensation > Total Compensation Setup Wizard > Total
3. Contexts: Assignment Id, Date Earned 4. Overloaded Contexts: No 5. Database items available: Database items based on person’s assignment_id. 6. Input values available: PERIOD_START_DATE, PERIOD_END_DATE Input value
FORMULA NAME : Compensation_slection_rule FORMULA TYPE : Compensation object selection DESCRIPTION : Formula to return Y or N to either select or skip the program for processing ***************************************************************** ****************************************************************** FORMULA TEXT: *****************************************************************/ /*=========== DATABASE ITEM DEFAULTS BEGIN =====================*/ /*=========== DATABASE ITEM DEFAULTS ENDS======================*/
Formula Type: Compensation Item Rule
is available.
Out Variable name Data Type Remarks PERIOD_START_DATE Char Date String in canonical
format. Indicates Period Start Date
PERIOD_END_DATE Char
1. Constraints using Database items: Database items other than the ones mentioned above cannot be used.
2. Formula output or return values: Formula should use pre-defined names for return
Mandatory out variable
1. Erroring: If compensation_dates is not in proper date format is then process errors out by raising BEN_94671_TCS_RULE_DT_FORMAT
2. Remarks: If the number of entries in COMPENSATION_DATES does not match
the number of entries in VALUES then the extra entries are ignored. 3. Sample Formula:
INPUTS ARE ASSIGNMENT_ID , PERIOD_START_DATE (text),
1 4. Formula functions used in the sample formula: None
Date String in canonical format- Indicates the Interim End Date if present or Period End Date.
variables
Out Variable name Data Type Remarks COMPENSATION_DATES
String of Dates in yyyy/mm/dd format separated by semicolon
Mandatory out variable
VALUES String of numbers or text or date (in yyyy/mm/dd format) separated by semicolon. All the values , separated by semicolon ,within the string should be of the same type( number or text or date)
/*************************************************************** DESC : Calculate the rate as 10000 for 8th May 2006 and 20000 for 1st October 2006 ***************************************************************/
/********************************************************************** FUNCTION NAME: FN_EFFECTIVE_DATE DATA TYPE : Date CLASS : External Function ALIAS NAME : DESCRIPTION :
CONTEXT : DATE_EARNED PARAMTERS : None
CREATE OR REPLACE FUNCTION fn_effective_date (p_date_earned date) return date as begin
return p_date_earned ; end;
/********************************************************************** FUNCTION NAME: FN_ DATE_OF_BIRTH DATA TYPE : Date CLASS : External Function ALIAS NAME : DESCRIPTION : DEFINITION : FN_DATE_OF_BIRTH CONTEXT : BUSINESSS_GROUIP_ID, ASSIGNMENT_ID, DATE_EARNED PARAMTERS : None **********************************************************************/ Create or replace function fn_date_of_birth (p_business_group_id number, p_asg_id number, p_effective_date date) RETURN date is L_dob date; --
select date_of_birth from per_all_people_f per, per_all_assignments_f asg where asg.assignment_id = p_asg_id and asg.business_group_id = p_business_group_id and p_effective_date between asg.effective_start_date and asg.effective_end_date and per.person_id = asg.person_id and per.business_group_id = p_business_group_id and p_effective_date between per.effective_start_date and per.effective_end_date; -- BEGIN Open c_dob; Fetch c_dob into l_dob; Close c_dob; --
RETURN l_dob; END; FN_ GENDER
/********************************************************************** FUNCTION NAME: FN_ GENDER DATA TYPE : TEXT CLASS : External Function ALIAS NAME : DESCRIPTION : DEFINITION : FN_DATE_OF_BIRTH CONTEXT : BUSINESSS_GROUIP_ID, ASSIGNMENT_ID, DATE_EARNED PARAMTERS : None **********************************************************************/
Create or replace function fn_gender (p_business_group_id number, p_asg_id number, p_effective_date date) RETURN date is
per_all_assignments_f asg
and per.business_group_id = p_business_group_id
Open c_gender;
FN_ BENEFIT_GROUP
CLASS : External Function
-- l_gender varchar2(10); -- cursor c_gender is select sex from per_all_people_f per,
where asg.assignment_id = p_asg_id and asg.business_group_id = p_business_group_id and p_effective_date between asg.effective_start_date and asg.effective_end_date and per.person_id = asg.person_id
and p_effective_date between per.effective_start_date and per.effective_end_date; -- BEGIN --
Fetch c_gender into l_gender; Close c_gender; -- RETURN l_gender; END;
/********************************************************************** FUNCTION NAME: FN_ BENEFIT_GROUP DATA TYPE : TEXT
cursor c_ben_group is select grp.name from BEN_BENFTS_GRP grp where grp.benfts_grp_id = p_ben_group_id and grp.business_group_id = p_business_group_id; -- BEGIN -- Open c_ben_group;
Close c_ben_group; -- RETURN l_ben_grp_name; END; /********************************************************************** FUNCTION NAME: FN_AGE DATA TYPE : NUMBER CLASS : External Function ALIAS NAME : DESCRIPTION : DEFINITION : FN_BENEFIT_GROUP CONTEXT : BUSINESSS_GROUIP_ID PARAMTERS : P_BEN_GROUP_ID
**********************************************************************/ Create or replace function fn_age
p_person_id number, p_effective_date date)
-- l_age number; -- cursor c_age is
from per_all_people_f per
and per.business_group_id = p_business_group_id and p_effective_date between per.effective_start_date and per.effective_end_date; --
--
Open c_age; Fetch c_age into l_age;
--
Create Or Replace Function per_sel_rule
,p_param2 in varchar2
from per_all_people_f per where per.business_group_id = p_business_group_id
and exists ( select 1
fetch c1 into l_var ;
Close c_age;
RETURN l_age; END;
/********************************************************************** FUNCTION NAME : PERSON_SELECTION_FUNCTION DATA TYPE : TEXT CLASS : External Function ALIAS NAME : DESCRIPTION : DEFINITION : PERSON_SELECTION_FUNCTION CONTEXT : BUSINESSS_GROUP_ID, ASSIGNMENT_ID, DATE_EARNED PARAMTERS : P_PARAM1 , P_PARAM2, P_PARAM3, P_PARAM4, P_PARAM5 **********************************************************************/
( p_assignment_id in number ,p_effective_date in date ,p_business_group_id in number ,p_param1 in varchar2
,p_param3 in varchar2 ,p_param4 in varchar2 ,p_param5 in varchar2 ) return varchar2 as
cursor c1 is select ‘1’
and per.national_identifier in (p_param1,p_param2,p_param3,p_param4,p_param5 ) and p_effective_date between per.effective_start_date and per.effective_end_date
from per_all_assignments_f asg where assignment_id = p_assignment_id and business_group_id = p_business_group_id and primary_flag = ‘Y’ and p_effective_date between effective_start_date and effective_end_date ); -- l_var varchar2(1); begin -- open c1 ;
if c1%found then return 'Y' ; else return 'N'; end if ; close c1 ; end ;
APPENDIX 2: Sample Script to test Formula DECLARE -- l_outputs ff_exec.outputs_t; l_ssal varchar2(30); -- l_formula_id number; l_formula_name ff_formulas_f.formula_name%TYPE; l_business_group_id ff_formulas_f.business_group_id%TYPE; l_assignment_id per_all_assignments_f.assignment_id%TYPE; -- FORMULA_NOT_FOUND exception; cursor c_formula(p_formula_name ff_formulas_f.formula_name%type, p_business_group_id ff_formulas_f.business_group_id%type ) is select formula_id from ff_formulas_f where formula_name = p_formula_name -- Formula Name and business_group_id = p_business_group_id; BEGIN -- insert into fnd_sessions (session_id, effective_date) values(USERENV('SESSIONID'), trunc(sysdate)); l_formula_name := 'BEN_PRTN_ELIG_START_DT'; l_business_group_id := 2046 ; l_assignment_id := 16762 ; -- OPEN c_formula(l_formula_name,l_business_group_id ); FETCH c_formula into l_formula_id; -- IF c_formula%NOTFOUND THEN CLOSE c_formula; raise FORMULA_NOT_FOUND; END IF; -- CLOSE c_formula; -- l_outputs := benutils.formula ( p_formula_id => l_formula_id, p_effective_date => trunc(sysdate), p_business_group_id => l_business_group_id , p_assignment_id => l_assignment_id ); -- for l_loop in 1..l_outputs.count loop l_ssal := l_outputs(l_loop).value; dbms_output.put_line(l_loop|| ': value of ' || l_outputs(l_loop).name || ' is ' || l_ssal); end loop; -- ROLLBACK; EXCEPTION
when FORMULA_NOT_FOUND then dbms_output.put_line('Formula Could Not be found'); ROLLBACK; when others then dbms_output.put_line('Exception Encountered While Running the Test Script'); ROLLBACK; END;
Chapter 3 : Contexts, Database Items • Contexts available for benefits processes. To retrieve values for
database items available for a formula type, the formula engine uses the available contexts. These context values are passed by the package, which evaluates the formula or rule. The previous section describes the contexts available for each formula type.
• Context Name Paramter name in benutils.pkb
BUSINESS_GROUP_ID p_business_group_id PAYROLL_ID (p_bnfts_bal_id, nvl(p_rptg_grp_id, nvl(p_payroll_id,-1))); (if benefits package passes p_bnft_bal_id to benutils.formula call then only database items based on ben_per_bnfts_bal_f table are available, database items based on p_payroll_id, p_rptg_grp_id will not be available for that formula run. This is called formula overloading). PAYROLL_ACTION_ID (p_acty_base_rt_id, nvl(p_payroll_action_id, -1)); ASSIGNMENT_ID p_assignment_id ASSIGNMENT_ACTION_ID p_assignment_action_id ORG_PAY_METHOD_ID ( p_per_cm_id, nvl(p_prtt_enrt_actn_id, nvl(p_enrt_bnft_id, nvl(p_org_pay_method_id, -1) ))); PER_PAY_METHOD_ID (p_elig_per_id, nvl(p_regn_id, nvl(p_per_pay_method_id, -1))); ORGANIZATION_ID (p_elig_per_elctbl_chc_id, nvl(p_organization_id, -1)); JURISDICTION_CODE (p_cm_dlvry_mthd_cd, nvl(p_crt_ordr_typ_cd, nvl(l_jurisdiction_code, 'xx'))); SOURCE_TEXT (p_enrt_ctfn_typ_cd, 'xx'); ELEMENT_ENTRY_ID (p_element_entry_id, -1);
Description of changes made to BENEFITS FastFormula routes
• Modified route for entity BEN_PER_IN_LER such that all the DBI's associated with it will be used exclusively by ORACLE ADVANCED BENEFITS module.
• As multiple products are based on benefits data model, multiple “person life events” of different
type can coexist in started, processed status on a given day. So seeded one entity/route and DBI’s for each product for table/entity ben_per_in_ler. Details of which are available in the table below.
o BEN_PER_IN_LER_UNRESTRICTED – Entity to fetch unrestricted person life event data.
o BEN_PER_IN_LER_GSP – Entity to fetch Grade step progression person life event data.
o BEN_PER_IN_LER_CWB – Entity to fetch Compensation workbench person life event data.
o BEN_PER_IN_LER_ABS – Entity to fetch Absences person life event data. o BEN_PER_IN_LER_IREC – Entity to fetch iRecruitement life event data.
• Seeded BEN_PIL_ELCTBL_CHC_POPL_IREC route and associated dbi's for iRecruitement.
The existing dbis’ based on entity/route BEN_PIL_ELCTBL_CHC_POPL can be used for all other products.
Newly Seeded data base items.
NOTE
: Database items available as part of payroll run may not be available during the benefits processes like participation processes and enrollment processes.
• Things which need to be tested when customers migrate to newer Family pack (FP.K) from prior point releases: You should be able to use the new database items similar to the way the original BEN_PER_IN_LER based database items were used.
Assume rate calculation rule is attached to a compensation workbench plan. This formula references database item BEN_PIL_LER_ID prior to FP.K. After upgrade to fp.k use BEN_PIL_LER_ID_CWB. Test your formula returns the right value in appropriate mode of participation process.
The following is the list of available database items: