198:
199: IF p_pa_request_rec.first_noa_code not in ('115','122','130','132','145', '147', '149', '171', '140', '141', '143') THEN
200: l_life_event := 'Initial Opportunity to Enroll' ;
201: ELSIF p_pa_request_rec.first_noa_code IN ('115', '122', '149', '171') THEN
202: if nvl(p_pa_request_rec.tenure,hr_api.g_varchar2) <> '0' Then
203: l_life_event := 'Continued Coverage';
204: end if;
205: ELSIF p_pa_request_rec.first_noa_code IN ('140', '141', '143') THEN
206: IF l_emp_exemp THEN
207: IF l_last_separation_date < (p_pa_request_rec.effective_date - 3) THEN
208: l_life_event := 'Initial Opportunity to Enroll' ;
209: ELSE
210: IF l_prior_duty_station = p_pa_request_rec.duty_station_code THEN
211: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
212: l_life_event := 'Continued Coverage';
213: ELSE
214: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
215: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
210: IF l_prior_duty_station = p_pa_request_rec.duty_station_code THEN
211: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
212: l_life_event := 'Continued Coverage';
213: ELSE
214: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
215: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
216: OR
217: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
218: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
211: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
212: l_life_event := 'Continued Coverage';
213: ELSE
214: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
215: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
216: OR
217: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
218: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
219: OR
213: ELSE
214: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
215: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
216: OR
217: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
218: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
219: OR
220: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
221: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
214: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
215: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
216: OR
217: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
218: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
219: OR
220: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
221: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
222:
216: OR
217: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
218: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
219: OR
220: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
221: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
222:
223: FOR current_enrollment_rec in c_get_current_enrollment LOOP
224: l_current_element := current_enrollment_rec.ben_type;
217: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
218: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
219: OR
220: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
221: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
222:
223: FOR current_enrollment_rec in c_get_current_enrollment LOOP
224: l_current_element := current_enrollment_rec.ben_type;
225: END LOOP;
254: ELSIF p_pa_request_rec.first_noa_code IN ('130', '132', '145', '147') THEN
255: IF l_emp_exemp THEN
256: IF l_prior_duty_station = p_pa_request_rec.duty_station_code THEN
257:
258: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
259: l_life_event := 'Continued Coverage';
260: ELSE
261: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
262: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
257:
258: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
259: l_life_event := 'Continued Coverage';
260: ELSE
261: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
262: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
263: OR
264: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
265: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
258: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
259: l_life_event := 'Continued Coverage';
260: ELSE
261: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
262: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
263: OR
264: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
265: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
266: OR
260: ELSE
261: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
262: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
263: OR
264: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
265: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
266: OR
267: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
268: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
261: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
262: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
263: OR
264: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
265: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
266: OR
267: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
268: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
269:
263: OR
264: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
265: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
266: OR
267: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
268: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
269:
270: FOR current_enrollment_rec in c_get_current_enrollment LOOP
271: l_current_element := current_enrollment_rec.ben_type;
264: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
265: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
266: OR
267: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
268: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
269:
270: FOR current_enrollment_rec in c_get_current_enrollment LOOP
271: l_current_element := current_enrollment_rec.ben_type;
272: END LOOP;
303: IF p_pa_request_rec.first_noa_code IN ('540', '541', '543') THEN
304: IF l_emp_exemp THEN
305: IF l_prior_duty_station = p_pa_request_rec.duty_station_code THEN
306:
307: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
308: l_life_event := 'Continued Coverage';
309: ELSE
310: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
311: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
306:
307: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
308: l_life_event := 'Continued Coverage';
309: ELSE
310: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
311: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
312: OR
313: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
314: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
307: IF NVL(l_prior_work_schedule,hr_api.g_varchar2) = NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
308: l_life_event := 'Continued Coverage';
309: ELSE
310: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
311: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
312: OR
313: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
314: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
315: OR
309: ELSE
310: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
311: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
312: OR
313: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
314: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
315: OR
316: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
317: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
310: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
311: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
312: OR
313: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
314: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
315: OR
316: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
317: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
318:
312: OR
313: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
314: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
315: OR
316: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
317: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
318:
319: FOR current_enrollment_rec in c_get_current_enrollment LOOP
320: l_current_element := current_enrollment_rec.ben_type;
313: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
314: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
315: OR
316: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
317: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
318:
319: FOR current_enrollment_rec in c_get_current_enrollment LOOP
320: l_current_element := current_enrollment_rec.ben_type;
321: END LOOP;
378: l_life_Event := 'Employee/Family Member Loses coverage under FEHB or Another Group Plan' ;
379:
380: END IF;
381:
382: ELSIF NVL(l_prior_work_schedule,hr_api.g_varchar2) <> NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
383:
384: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
385: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
386: OR
380: END IF;
381:
382: ELSIF NVL(l_prior_work_schedule,hr_api.g_varchar2) <> NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
383:
384: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
385: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
386: OR
387: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
388: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
381:
382: ELSIF NVL(l_prior_work_schedule,hr_api.g_varchar2) <> NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) THEN
383:
384: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
385: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
386: OR
387: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
388: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
389: OR
383:
384: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
385: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
386: OR
387: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
388: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
389: OR
390: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
391: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
384: IF (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('P', 'Q', 'S', 'T') AND
385: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('P', 'Q', 'S', 'T') )
386: OR
387: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
388: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
389: OR
390: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
391: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
392:
386: OR
387: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
388: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
389: OR
390: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
391: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
392:
393: FOR current_enrollment_rec in c_get_current_enrollment LOOP
394: l_current_element := current_enrollment_rec.ben_type;
387: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('F', 'G', 'B') AND
388: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('F', 'G', 'B') )
389: OR
390: (NVL(p_pa_request_rec.work_schedule,hr_api.g_varchar2) IN ('I', 'J') AND
391: NVL(l_prior_work_schedule,hr_api.g_varchar2) NOT IN ('I', 'J') ) THEN
392:
393: FOR current_enrollment_rec in c_get_current_enrollment LOOP
394: l_current_element := current_enrollment_rec.ben_type;
395: END LOOP;