Search This Blog

Wednesday, February 13, 2013

Enrollment of dependents automatically to option based on Life event Detection in Oracle Advanced Benefits.

Business Requirement – As soon as employee gets promoted, if he has his dependents enrolled to options where he is paying for them from his pocket, then he should get enrolled to equivalent employer cost option with all the dependents carried forward.

Based on eligibility, employee will see options for selection and eligible dependents.
Following options will be set in the system:
1. Employee Only
2. Employee & Spouse
3. Employee & Child(ren)
4. Employee & Family
5. Employee & Spouse (Employee Charges)
6. Employee & Child(ren)(Employee Charges)
7. Employee & Family(Employee Charges)

Employees in grade 1 to 10 can see following options only
1. Employee Only
2. Employee & Spouse (Employee Charges)
3. Employee & Child(ren)(Employee Charges)
4. Employee & Family(Employee Charges)

Employee in grade 11 to 16 can see following options
1. Employee Only
2. Employee & Spouse
3. Employee & Child(ren)
4. Employee & Family

so when employee gets promoted, his options also needs to be changed.

Design – It will be scheduled CP. It will run every night. This CP will move old dependents from to new options.

Approach:1. Life event will get detected
2. Process the Promotion Life Event. Based on Life Event, Automatic Enrollment Fast Formula  
    will  be written. This fast formula will do automatic enrollment of Options. For Example if 
    employee is in Employee & Spouse (Employee charge), FF will enroll employee to Employee  
    &  Spouse which is employer charge
3. Now we need to add dependents to new option. Basically this is nothing but moving dependents
    from Employee & Spouse (Employee charge) option to Employee & Spouse.As of now I have not
    tested if same FF can be used to add dependents also. I feel that is possible.

Here one CP needs to be created.

Sample Script:

select * from BEN_ELIG_DPNT where ELIG_DPNT_ID = 34328

DECLARE
   l_out_elig_cvrd_dpnt_id      NUMBER;
   l_out_effective_start_date   DATE;
   l_out_effective_end_date     DATE;
   l_out_ovn                    NUMBER;
BEGIN
   ben_elig_dpnt_api.process_dependent_w
                       (p_validate                      => 'N',
                        p_elig_dpnt_id               => 34328,
                        p_business_group_id      => 82,
                        p_effective_date             => TRUNC(SYSDATE),
                        p_cvg_strt_dt                  => TRUNC(SYSDATE),
                        p_cvg_thru_dt                 => NULL,
                        p_datetrack_mode           => hr_api.g_insert,
                        p_elig_cvrd_dpnt_id       => l_out_elig_cvrd_dpnt_id,
                        p_effective_start_date     => l_out_effective_start_date,
                        p_effective_end_date        => l_out_effective_end_date,
                        p_object_version_number => l_out_ovn,
                        p_multi_row_actn             => 'Y'
                       );
END;

4. In the same program call "Close Action Items Process" seeded concurrent program to close the open action items.
5. Check the enrollment results.
6 .Cheersss...
 

No comments:

Post a Comment