PRSALVT ; HISC/REL-Leave Increment ;9/12/2006
;;4.0;PAID;**111**;Sep 21, 1995;Build 2
;;Per VHA Directive 2004-038, this routine should not be modified.
S AINC="",SINC=""
S C0=^PRSPC(DFN,0),LVG=$P(C0,"^",15),NH=+$P(C0,"^",16),DB=$P(C0,"^",10)
Q:LVG'?1N!("12345"'[LVG) G:NH>80 FF D @LVG G QT
1 ; Leave Group 1
S AINC=$S(DB=1:4,1:NH+AINC/20\1),SINC=$S(DB=1:4,1:NH+SINC/20\1) Q
2 ; Leave Group 2
S AINC=$S(DB=1:6,1:NH+AINC/13\1),SINC=$S(DB=1:4,1:NH+SINC/20\1) Q
3 ; Leave Group 3
S AINC=$S(DB=1:8,1:NH+AINC/10\1),SINC=$S(DB=1:4,1:NH+SINC/20\1) Q
4 ; Leave Group 4
S D1=$E(DT,1,3)_"1231" D PP^PRSAPPU S D1=$P(PPE,"-",2)
I D1=26 S AINC=1,SINC=.5 Q
S AINC=.963,SINC=.481 Q
5 ; Leave Group 5
S D1=$E(DT,1,3)_"1231" D PP^PRSAPPU S D1=$P(PPE,"-",2)
S SINC=$S(D1=26:.5,1:.481) Q
FF ; Firefighters
I LVG=1 S AINC=$S(NH=112:5,NH=120:6,1:7)
I LVG=2 S AINC=$S(NH=112:8,NH=120:9,1:11)
I LVG=3 S AINC=$S(NH=112:11,NH=120:12,1:14)
S SINC=$S(NH=112:5,NH=120:6,1:7)
QT ; Check Non-Accrual Flag
S:$P($G(^PRSPC(DFN,"ANNUAL")),"^",1)="Y" AINC="" Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRSALVT 1071 printed Dec 13, 2024@02:23:39 Page 2
PRSALVT ; HISC/REL-Leave Increment ;9/12/2006
+1 ;;4.0;PAID;**111**;Sep 21, 1995;Build 2
+2 ;;Per VHA Directive 2004-038, this routine should not be modified.
+3 SET AINC=""
SET SINC=""
+4 SET C0=^PRSPC(DFN,0)
SET LVG=$PIECE(C0,"^",15)
SET NH=+$PIECE(C0,"^",16)
SET DB=$PIECE(C0,"^",10)
+5 if LVG'?1N!("12345"'[LVG)
QUIT
if NH>80
GOTO FF
DO @LVG
GOTO QT
1 ; Leave Group 1
+1 SET AINC=$SELECT(DB=1:4,1:NH+AINC/20\1)
SET SINC=$SELECT(DB=1:4,1:NH+SINC/20\1)
QUIT
2 ; Leave Group 2
+1 SET AINC=$SELECT(DB=1:6,1:NH+AINC/13\1)
SET SINC=$SELECT(DB=1:4,1:NH+SINC/20\1)
QUIT
3 ; Leave Group 3
+1 SET AINC=$SELECT(DB=1:8,1:NH+AINC/10\1)
SET SINC=$SELECT(DB=1:4,1:NH+SINC/20\1)
QUIT
4 ; Leave Group 4
+1 SET D1=$EXTRACT(DT,1,3)_"1231"
DO PP^PRSAPPU
SET D1=$PIECE(PPE,"-",2)
+2 IF D1=26
SET AINC=1
SET SINC=.5
QUIT
+3 SET AINC=.963
SET SINC=.481
QUIT
5 ; Leave Group 5
+1 SET D1=$EXTRACT(DT,1,3)_"1231"
DO PP^PRSAPPU
SET D1=$PIECE(PPE,"-",2)
+2 SET SINC=$SELECT(D1=26:.5,1:.481)
QUIT
FF ; Firefighters
+1 IF LVG=1
SET AINC=$SELECT(NH=112:5,NH=120:6,1:7)
+2 IF LVG=2
SET AINC=$SELECT(NH=112:8,NH=120:9,1:11)
+3 IF LVG=3
SET AINC=$SELECT(NH=112:11,NH=120:12,1:14)
+4 SET SINC=$SELECT(NH=112:5,NH=120:6,1:7)
QT ; Check Non-Accrual Flag
+1 if $PIECE($GET(^PRSPC(DFN,"ANNUAL")),"^",1)="Y"
SET AINC=""
QUIT