- PRS8HRSV ;WCIOFO/JAH-HOLIDAY FLAG, TIME CHECKER, WK() SET; 04/05/07 ; 6/30/09 12:40pm
- ;;4.0;PAID;**29,52,102,108,112,119**;Sep 21, 1995;Build 4
- ;;Per VHA Directive 2004-038, this routine should not be modified.
- ; Set up variable for holiday worked or holiday excused
- ; Holiday worked coded 2 in DAY array
- ; Holiday excused coded 1 in DAY array
- ; A NON holiday is coded as all zero's in day array.
- ;
- ; HOLIDAY WORKED
- S HOLWKD=$E(DAY(DAY,"HOL"),M)=2
- ;
- ; HOLIDAY EXCUSED
- S HOLEX=$E(DAY(DAY,"HOL"),M)=1
- ;
- ; HOLIDAY EXCUSED OR HOLIDAY WORKED
- S HOLWKEX=$E(DAY(DAY,"HOL"),M)
- Q
- ;
- ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- ;
- CHK ; --- Check ENT for acceptable X value
- ; Pieces of Y have values in locations corresponding to premium
- ; times in value of X. Values in Y string are locations
- ; in entitlement string where associated time in X is
- ; located.
- ; --------------------------------------------------
- ; | Fixed | Premium
- ; Piece | Position in| Type Of Time
- ; Of Y-String | Entitlement|
- ; & **WK() | String |
- ; ----------- | -----------| --------------------
- ; 7 | 28 | comp earned
- ; 9 | 2 | unscheduled regular
- ; 16 | 19 | hrs excess 8-d
- ; 17 | 20 | hrs excess 8-d2
- ; 18 | 21 | hrs excess 8 d3
- ; 20 | 12 | OT total hrs d
- ; 21 | 13 | OT total hrs d2
- ; 22 | 14 | OT total hrs d3
- ; ---------------------------------------------------
- ;
- N ZZ,PRSHOLSET S Y="^^^^^^28^^2^^^^^^^19^20^21^^12^13^14^^^^3^4^^^^",PRSHOLSET=0
- ;
- ; Set Y to a premium time in Y string, based on X
- ; OR set Y to zero if X is a non premium time or parttime hours.
- ;
- I X'=32 S Y=+$P(Y,"^",X)
- ;
- ; IF Y is premium time & not Unscheduled regular but employee not
- ; ENTITLED to that type of time THEN set X to zero.
- ;
- I +Y,Y'=2,'$E(ENT,+Y) S X=0
- ;
- ; Overtime & Not entitled set X & Y to unscheduled regular
- ;
- I "^12^13^14^"[("^"_Y_"^"),'X S X=9,Y=2
- ;
- ; IF regular unscheduled (Y=2) & not hourly for regular unscheduled
- ; THEN set X=0, unless Baylor then X gets regular unscheduled.
- ;
- I X,Y=2,$E(ENT,+Y)'="H" S X=$S(TYP'["B":0,1:9)
- ;
- ; IF 36/40 AWS with WP determine eligibility for OT/CT
- ; Skip this check if time is HW (X=29) or OT on Hol (X=24)
- ;
- I "KM"[$E(AC,1),$E(AC,2)=1,$P(C0,U,16)=72,X'=32,X'=29,X'=24 D
- . I HT>32 S X=$S(VAL="O":TOUR+15,VAL="e":7,1:X) Q
- . I TH(W)>160 S X=$S(VAL="O":TOUR+19,VAL="e":7,1:X) Q
- . I HT'>32,TH(W)'>160 S X=9
- ;
- ; If X is hours in excess of 8/day & > 40/week & type of time
- ; is compensatory time X = 0
- ;
- I "^16^17^18^"[("^"_X_"^"),TH(WK)>160,"Ee"[VAL S X=0
- ;
- ; ** Significance of checking "X" now as opposed to Y.
- ;
- K Y Q:'X
- ;
- ; (Hours excess 8/day, OT hours, Reg hours @ OT rate, Holiday hours,
- ; part time hours) OR unscheduled regular & Nurse or Nurse Hybrid.
- ; ### DO WE NEED TO ADD !HYBRID TO THIS CHECK ???
- I "^16^17^18^20^21^22^29^30^31^32^"[("^"_X_"^")!(X=9&(TYP["N"!(TYP["H"))) D
- .;
- .; If today holiday or holiday benefit day for employee
- .;
- .I $$HOLIDAY^PRS8UT(PY,DFN,DAY) D Q:'X
- ..;
- ..; If part time hours & entitled to (Holiday [Shift day, 2 or 3])
- ..;
- ..I X=32,$E(ENT,TOUR+21),HOLWKD S ZZ=X,X=$S($G(DAY(DAY,"OFF"))'=1:TOUR+28,1:9) D SET S X=$S(TYP'["I":ZZ,1:9) Q
- ..;
- ..; IF not part time hours & intermittent employee & employee
- ..; entitled to holiday overtime & holiday worked THEN set TIME
- ..; to OT on Holiday and credit that TIME in SET.
- ..;
- ..I X'=32,TYP["I",$E(ENT,25),HOLWKD S ZZ=X,X=24 D SET S X=0
- ..;
- ..; IF conditions same as above except employee is NOT entitled
- ..; to Holiday OT THEN use X as coded to credit TIME.
- ..;
- ..I X'=32,TYP["I",'$E(ENT,25),HOLWKD S ZZ=0 D SET S X=9
- ..;
- ..; IF not part time hours & emp. is entitled to Holiday OT But
- ..; they did not work the holiday THEN if emp. is part time or
- ..; intermittent set type of time to Regular hrs @ OT rate 3
- ..; otherwise OT @ Holiday rate & IF the original coded TIME
- ..; NOT = reg hrs @ OT rate(shift D,2,3) THEN credit TIME at
- ..; OT on holiday or Reg hours @ OT rate. THEN also credit time
- ..; as unscheduled regular. ** why code time twice?
- ..;
- ..I X'=32,$E(ENT,25),'HOLWKD D
- ...S ZZ=X
- ...; for 36/40 AWS w/ WP or NP report OT on Holiday as (OK/OS)
- ...; For 9mo AWS w/ Recess report OT on Holiday as (OK/OS)
- ...I +NAWS,VAL["O",$E(DAY(DAY,"HOL"),M)=0 S X=24 D SET S X=0 Q
- ...;
- ...S X=$S(TYP["P"!(TYP["I"):TOUR+28,1:24) D SET
- ...I TYP["P"!(TYP["I") S X=9 D SET
- ...S X=0
- .;
- .; IF type of time is part time hours for intermittent employee
- .; THEN set TIME = unscheduled regular.
- .;
- .I X=32,TYP["I" S X=9
- .;
- .; Part time hours or unscheduled regular.
- .;
- .Q:X=32!(X=9)
- .;
- .; IF employee worked holiday THEN set TIME to zero & if original
- .; coded type of time is NOT regular hours @ OT rate DO
- .;
- .I HOLWKD S ZZ=X,X=0 D
- ..;
- ..; IF entitled to Holiday pay for this shift THEN set TIME
- ..; to Holiday HRS (shift d, 2 or 3)
- ..;
- ..I $E(ENT,TOUR+21) S X=TOUR+28
- ;
- ; IF employee is part time or a nurse or nurse hybrid
- ; & they worked the holiday
- ; ### SHOULD HYBRID BE ADDED TO THIS CHECK HOW SHOULD THESE HYBRIDS
- ; ### TREATED ON A HOLIDAY
- I TYP["P"!(TYP["N")!(TYP["H"),HOLWKD,X=32 D
- .;
- .; J gets start & stop times for employee's holiday tour.
- .; Start/stop times are represented w/ natural numbers
- .; from 0-96. Each 15 minute segment of the 24 hour period
- .; beginning & ending at midnight can be represented w/
- .; a positive integer. I.e. 1 = mid-12:15am,
- .; 2 = 12:15-12:30a ... 96 = 11:45pm-mid.
- .;
- .; Loop thru each set of start & stop times. IF the single
- .; 1/4 hr segment we're working w/ falls w/in any of the nurses
- .; start & stop times THEN set TIME to Holiday Hours Day.
- .;
- .N I,J S J=$G(^TMP($J,"PRS8",DAY,"HWK")),ZZ=X
- .;
- .F I=1:2 Q:$P(J,U,I)="" I M'<$P(J,U,I),M'>$P(J,U,I+1),'$G(PRSHOLSET) S X=29
- .;
- .; Holiday hrs-Day. reset X if 2 day tour. Otherwise X = 0.
- .;
- .I X=29 D SET S X=$S($P(^PRST(457.1,$P(DAY(DAY-1,0),U,2),0),U,5)="Y":ZZ,1:0)
- ;
- ;
- SET ; --- Set value into WK array
- ;
- ; Nurses on the 36/40 AWS are FT with Normal Hours of 72. Nurses on the 9 month
- ; AWS are PT with Normal Hours of 80. Neither will not have Part Time Hours
- ; counted in their 8B string.
- ;
- Q:$E(AC,2)=1&($P(C0,U,16)=72)&(X=32) ; 36/40 AWS
- Q:$E(AC,2)=2&(NH=320)&(X=32) ; 9month AWS before any Recess processed
- ;
- ; Full time employee & part time hours & normal hours WK1 + WK2
- ; = biweekly normal hours.
- ;
- I $P(C0,"^",10)=1,X=32,NH(1)+NH(2)=NH Q
- ;
- ; For all types of TIME, increment the WK array.
- ;
- I +X D Q
- . S $P(WK(W),"^",+X)=$P(WK(W),"^",+X)+1
- . I "^29^30^31^"[("^"_X_"^") S PRSHOLSET=1
- ;
- ; When X is zero, reset to originally coded time.
- ;
- I 'X S X=ZZ Q
- Q
- ;
- ;
- TH ; --- increment total hours & compensatory time hours.
- ; Posted RG/OT/CT that is >8/day but < 40/week and < 80/pp will not be
- ; counted in TH or TH(W)
- ;
- ; I $S(VAL=4:1,"osEe"[VAL!(VAL="O"&('HOLWKD)):1,1:0) S TH=TH+1,TH(W)=TH(W)+1
- ;
- I $S(VAL=4:1,"osEe"[VAL!(VAL="O"&('HOLWKD)):1,1:0) D
- . Q:(HT>32)&(TH(W)<160)&(NH<320)&($E(ENT,19)=1)
- . Q:(HT>32)&(TH(W)<160)&(NH=320)&($E(ENT,19)=1)&($E(AC,2)=2) ; 9month AWS
- . S TH=TH+1,TH(W)=TH(W)+1
- Q
- ;
- ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- ;
- G8 ; --- Check for greater than 8 hours in day
- ;
- Q:HTP'>32!(VAL="E")
- ;
- ; Checks for Hours Excess 8/day (DA/DE)
- S X=TOUR+15 D CHK^PRS8HRSV
- I X,NH<320,CYA2806>0 S CYA2806=CYA2806-1
- Q:X
- ;
- ; Checks for OT Total Hours (OA/OE)
- I TYP["I"!(TYP["P"),TYP'["B",TH(W)>160 S X=TOUR+19 D CHK^PRS8HRSV
- Q
- ;
- ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRS8HRSV 8224 printed Feb 18, 2025@23:49:15 Page 2
- PRS8HRSV ;WCIOFO/JAH-HOLIDAY FLAG, TIME CHECKER, WK() SET; 04/05/07 ; 6/30/09 12:40pm
- +1 ;;4.0;PAID;**29,52,102,108,112,119**;Sep 21, 1995;Build 4
- +2 ;;Per VHA Directive 2004-038, this routine should not be modified.
- +3 ; Set up variable for holiday worked or holiday excused
- +4 ; Holiday worked coded 2 in DAY array
- +5 ; Holiday excused coded 1 in DAY array
- +6 ; A NON holiday is coded as all zero's in day array.
- +7 ;
- +8 ; HOLIDAY WORKED
- +9 SET HOLWKD=$EXTRACT(DAY(DAY,"HOL"),M)=2
- +10 ;
- +11 ; HOLIDAY EXCUSED
- +12 SET HOLEX=$EXTRACT(DAY(DAY,"HOL"),M)=1
- +13 ;
- +14 ; HOLIDAY EXCUSED OR HOLIDAY WORKED
- +15 SET HOLWKEX=$EXTRACT(DAY(DAY,"HOL"),M)
- +16 QUIT
- +17 ;
- +18 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- +19 ;
- CHK ; --- Check ENT for acceptable X value
- +1 ; Pieces of Y have values in locations corresponding to premium
- +2 ; times in value of X. Values in Y string are locations
- +3 ; in entitlement string where associated time in X is
- +4 ; located.
- +5 ; --------------------------------------------------
- +6 ; | Fixed | Premium
- +7 ; Piece | Position in| Type Of Time
- +8 ; Of Y-String | Entitlement|
- +9 ; & **WK() | String |
- +10 ; ----------- | -----------| --------------------
- +11 ; 7 | 28 | comp earned
- +12 ; 9 | 2 | unscheduled regular
- +13 ; 16 | 19 | hrs excess 8-d
- +14 ; 17 | 20 | hrs excess 8-d2
- +15 ; 18 | 21 | hrs excess 8 d3
- +16 ; 20 | 12 | OT total hrs d
- +17 ; 21 | 13 | OT total hrs d2
- +18 ; 22 | 14 | OT total hrs d3
- +19 ; ---------------------------------------------------
- +20 ;
- +21 NEW ZZ,PRSHOLSET
- SET Y="^^^^^^28^^2^^^^^^^19^20^21^^12^13^14^^^^3^4^^^^"
- SET PRSHOLSET=0
- +22 ;
- +23 ; Set Y to a premium time in Y string, based on X
- +24 ; OR set Y to zero if X is a non premium time or parttime hours.
- +25 ;
- +26 IF X'=32
- SET Y=+$PIECE(Y,"^",X)
- +27 ;
- +28 ; IF Y is premium time & not Unscheduled regular but employee not
- +29 ; ENTITLED to that type of time THEN set X to zero.
- +30 ;
- +31 IF +Y
- IF Y'=2
- IF '$EXTRACT(ENT,+Y)
- SET X=0
- +32 ;
- +33 ; Overtime & Not entitled set X & Y to unscheduled regular
- +34 ;
- +35 IF "^12^13^14^"[("^"_Y_"^")
- IF 'X
- SET X=9
- SET Y=2
- +36 ;
- +37 ; IF regular unscheduled (Y=2) & not hourly for regular unscheduled
- +38 ; THEN set X=0, unless Baylor then X gets regular unscheduled.
- +39 ;
- +40 IF X
- IF Y=2
- IF $EXTRACT(ENT,+Y)'="H"
- SET X=$SELECT(TYP'["B":0,1:9)
- +41 ;
- +42 ; IF 36/40 AWS with WP determine eligibility for OT/CT
- +43 ; Skip this check if time is HW (X=29) or OT on Hol (X=24)
- +44 ;
- +45 IF "KM"[$EXTRACT(AC,1)
- IF $EXTRACT(AC,2)=1
- IF $PIECE(C0,U,16)=72
- IF X'=32
- IF X'=29
- IF X'=24
- Begin DoDot:1
- +46 IF HT>32
- SET X=$SELECT(VAL="O":TOUR+15,VAL="e":7,1:X)
- QUIT
- +47 IF TH(W)>160
- SET X=$SELECT(VAL="O":TOUR+19,VAL="e":7,1:X)
- QUIT
- +48 IF HT'>32
- IF TH(W)'>160
- SET X=9
- End DoDot:1
- +49 ;
- +50 ; If X is hours in excess of 8/day & > 40/week & type of time
- +51 ; is compensatory time X = 0
- +52 ;
- +53 IF "^16^17^18^"[("^"_X_"^")
- IF TH(WK)>160
- IF "Ee"[VAL
- SET X=0
- +54 ;
- +55 ; ** Significance of checking "X" now as opposed to Y.
- +56 ;
- +57 KILL Y
- if 'X
- QUIT
- +58 ;
- +59 ; (Hours excess 8/day, OT hours, Reg hours @ OT rate, Holiday hours,
- +60 ; part time hours) OR unscheduled regular & Nurse or Nurse Hybrid.
- +61 ; ### DO WE NEED TO ADD !HYBRID TO THIS CHECK ???
- +62 IF "^16^17^18^20^21^22^29^30^31^32^"[("^"_X_"^")!(X=9&(TYP["N"!(TYP["H")))
- Begin DoDot:1
- +63 ;
- +64 ; If today holiday or holiday benefit day for employee
- +65 ;
- +66 IF $$HOLIDAY^PRS8UT(PY,DFN,DAY)
- Begin DoDot:2
- +67 ;
- +68 ; If part time hours & entitled to (Holiday [Shift day, 2 or 3])
- +69 ;
- +70 IF X=32
- IF $EXTRACT(ENT,TOUR+21)
- IF HOLWKD
- SET ZZ=X
- SET X=$SELECT($GET(DAY(DAY,"OFF"))'=1:TOUR+28,1:9)
- DO SET
- SET X=$SELECT(TYP'["I":ZZ,1:9)
- QUIT
- +71 ;
- +72 ; IF not part time hours & intermittent employee & employee
- +73 ; entitled to holiday overtime & holiday worked THEN set TIME
- +74 ; to OT on Holiday and credit that TIME in SET.
- +75 ;
- +76 IF X'=32
- IF TYP["I"
- IF $EXTRACT(ENT,25)
- IF HOLWKD
- SET ZZ=X
- SET X=24
- DO SET
- SET X=0
- +77 ;
- +78 ; IF conditions same as above except employee is NOT entitled
- +79 ; to Holiday OT THEN use X as coded to credit TIME.
- +80 ;
- +81 IF X'=32
- IF TYP["I"
- IF '$EXTRACT(ENT,25)
- IF HOLWKD
- SET ZZ=0
- DO SET
- SET X=9
- +82 ;
- +83 ; IF not part time hours & emp. is entitled to Holiday OT But
- +84 ; they did not work the holiday THEN if emp. is part time or
- +85 ; intermittent set type of time to Regular hrs @ OT rate 3
- +86 ; otherwise OT @ Holiday rate & IF the original coded TIME
- +87 ; NOT = reg hrs @ OT rate(shift D,2,3) THEN credit TIME at
- +88 ; OT on holiday or Reg hours @ OT rate. THEN also credit time
- +89 ; as unscheduled regular. ** why code time twice?
- +90 ;
- +91 IF X'=32
- IF $EXTRACT(ENT,25)
- IF 'HOLWKD
- Begin DoDot:3
- +92 SET ZZ=X
- +93 ; for 36/40 AWS w/ WP or NP report OT on Holiday as (OK/OS)
- +94 ; For 9mo AWS w/ Recess report OT on Holiday as (OK/OS)
- +95 IF +NAWS
- IF VAL["O"
- IF $EXTRACT(DAY(DAY,"HOL"),M)=0
- SET X=24
- DO SET
- SET X=0
- QUIT
- +96 ;
- +97 SET X=$SELECT(TYP["P"!(TYP["I"):TOUR+28,1:24)
- DO SET
- +98 IF TYP["P"!(TYP["I")
- SET X=9
- DO SET
- +99 SET X=0
- End DoDot:3
- End DoDot:2
- if 'X
- QUIT
- +100 ;
- +101 ; IF type of time is part time hours for intermittent employee
- +102 ; THEN set TIME = unscheduled regular.
- +103 ;
- +104 IF X=32
- IF TYP["I"
- SET X=9
- +105 ;
- +106 ; Part time hours or unscheduled regular.
- +107 ;
- +108 if X=32!(X=9)
- QUIT
- +109 ;
- +110 ; IF employee worked holiday THEN set TIME to zero & if original
- +111 ; coded type of time is NOT regular hours @ OT rate DO
- +112 ;
- +113 IF HOLWKD
- SET ZZ=X
- SET X=0
- Begin DoDot:2
- +114 ;
- +115 ; IF entitled to Holiday pay for this shift THEN set TIME
- +116 ; to Holiday HRS (shift d, 2 or 3)
- +117 ;
- +118 IF $EXTRACT(ENT,TOUR+21)
- SET X=TOUR+28
- End DoDot:2
- End DoDot:1
- +119 ;
- +120 ; IF employee is part time or a nurse or nurse hybrid
- +121 ; & they worked the holiday
- +122 ; ### SHOULD HYBRID BE ADDED TO THIS CHECK HOW SHOULD THESE HYBRIDS
- +123 ; ### TREATED ON A HOLIDAY
- +124 IF TYP["P"!(TYP["N")!(TYP["H")
- IF HOLWKD
- IF X=32
- Begin DoDot:1
- +125 ;
- +126 ; J gets start & stop times for employee's holiday tour.
- +127 ; Start/stop times are represented w/ natural numbers
- +128 ; from 0-96. Each 15 minute segment of the 24 hour period
- +129 ; beginning & ending at midnight can be represented w/
- +130 ; a positive integer. I.e. 1 = mid-12:15am,
- +131 ; 2 = 12:15-12:30a ... 96 = 11:45pm-mid.
- +132 ;
- +133 ; Loop thru each set of start & stop times. IF the single
- +134 ; 1/4 hr segment we're working w/ falls w/in any of the nurses
- +135 ; start & stop times THEN set TIME to Holiday Hours Day.
- +136 ;
- +137 NEW I,J
- SET J=$GET(^TMP($JOB,"PRS8",DAY,"HWK"))
- SET ZZ=X
- +138 ;
- +139 FOR I=1:2
- if $PIECE(J,U,I)=""
- QUIT
- IF M'<$PIECE(J,U,I)
- IF M'>$PIECE(J,U,I+1)
- IF '$GET(PRSHOLSET)
- SET X=29
- +140 ;
- +141 ; Holiday hrs-Day. reset X if 2 day tour. Otherwise X = 0.
- +142 ;
- +143 IF X=29
- DO SET
- SET X=$SELECT($PIECE(^PRST(457.1,$PIECE(DAY(DAY-1,0),U,2),0),U,5)="Y":ZZ,1:0)
- End DoDot:1
- +144 ;
- +145 ;
- SET ; --- Set value into WK array
- +1 ;
- +2 ; Nurses on the 36/40 AWS are FT with Normal Hours of 72. Nurses on the 9 month
- +3 ; AWS are PT with Normal Hours of 80. Neither will not have Part Time Hours
- +4 ; counted in their 8B string.
- +5 ;
- +6 ; 36/40 AWS
- if $EXTRACT(AC,2)=1&($PIECE(C0,U,16)=72)&(X=32)
- QUIT
- +7 ; 9month AWS before any Recess processed
- if $EXTRACT(AC,2)=2&(NH=320)&(X=32)
- QUIT
- +8 ;
- +9 ; Full time employee & part time hours & normal hours WK1 + WK2
- +10 ; = biweekly normal hours.
- +11 ;
- +12 IF $PIECE(C0,"^",10)=1
- IF X=32
- IF NH(1)+NH(2)=NH
- QUIT
- +13 ;
- +14 ; For all types of TIME, increment the WK array.
- +15 ;
- +16 IF +X
- Begin DoDot:1
- +17 SET $PIECE(WK(W),"^",+X)=$PIECE(WK(W),"^",+X)+1
- +18 IF "^29^30^31^"[("^"_X_"^")
- SET PRSHOLSET=1
- End DoDot:1
- QUIT
- +19 ;
- +20 ; When X is zero, reset to originally coded time.
- +21 ;
- +22 IF 'X
- SET X=ZZ
- QUIT
- +23 QUIT
- +24 ;
- +25 ;
- TH ; --- increment total hours & compensatory time hours.
- +1 ; Posted RG/OT/CT that is >8/day but < 40/week and < 80/pp will not be
- +2 ; counted in TH or TH(W)
- +3 ;
- +4 ; I $S(VAL=4:1,"osEe"[VAL!(VAL="O"&('HOLWKD)):1,1:0) S TH=TH+1,TH(W)=TH(W)+1
- +5 ;
- +6 IF $SELECT(VAL=4:1,"osEe"[VAL!(VAL="O"&('HOLWKD)):1,1:0)
- Begin DoDot:1
- +7 if (HT>32)&(TH(W)<160)&(NH<320)&($EXTRACT(ENT,19)=1)
- QUIT
- +8 ; 9month AWS
- if (HT>32)&(TH(W)<160)&(NH=320)&($EXTRACT(ENT,19)=1)&($EXTRACT(AC,2)=2)
- QUIT
- +9 SET TH=TH+1
- SET TH(W)=TH(W)+1
- End DoDot:1
- +10 QUIT
- +11 ;
- +12 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
- +13 ;
- G8 ; --- Check for greater than 8 hours in day
- +1 ;
- +2 if HTP'>32!(VAL="E")
- QUIT
- +3 ;
- +4 ; Checks for Hours Excess 8/day (DA/DE)
- +5 SET X=TOUR+15
- DO CHK^PRS8HRSV
- +6 IF X
- IF NH<320
- IF CYA2806>0
- SET CYA2806=CYA2806-1
- +7 if X
- QUIT
- +8 ;
- +9 ; Checks for OT Total Hours (OA/OE)
- +10 IF TYP["I"!(TYP["P")
- IF TYP'["B"
- IF TH(W)>160
- SET X=TOUR+19
- DO CHK^PRS8HRSV
- +11 QUIT
- +12 ;
- +13 ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%