Ignore:
Timestamp:
Dec 4, 2009, 8:26:01 PM (14 years ago)
Author:
George Lilly
Message:

WorldVistAEHR overlayed on FOIAVistA

Location:
FOIAVistA/tag/r
Files:
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • FOIAVistA/tag/r/PAID-PRS/PRS8OC.m

    r628 r636  
    1 PRS8OC ;HISC/MGD-DECOMPOSITION, ON-CALL ;02/27/07
    2  ;;4.0;PAID;**63,92,112**;Sep 21, 1995;Build 54
    3  ;;Per VHA Directive 2004-038, this routine should not be modified.
     1PRS8OC ;HISC/MGD-DECOMPOSITION, ON-CALL ;02/17/04
     2 ;;4.0;PAID;**63,92**;Sep 21, 1995         
    43 ;
    54 ;The following MUMPS code is used to credit the appropriate
     
    3433OCS ; --- set On-Call minimum hours
    3534 ;set YA/YE for PPI="W" or "V" else set OT
    36  I +NAWS=0 S Y=$S(CC:7,'DOUB:TOUR+19,1:23)
    37  I +NAWS S Y=$S(CC:7,1:TOUR+19)
    38  ;
     35 S Y=$S(CC:7,'DOUB:TOUR+19,1:23)
    3936 N X,Z,DD,TT,CCCNT,NEXTT,OCCNT,TIMECNT
    4037 S TT=$S(T>96:T-96,1:T),TIMECNT=0
     
    8380 ..I OC+CNTR'>8 D
    8481 ...S Y(1)=$S(X=1:OC,1:8-CNTR)
    85  ...I +NAWS=0 D CHOL ; Process everyone but AWS nurses
    86  ...I +NAWS D CHOL1 ; Process AWS nurses
     82 ...D CHOL
    8783 ...S (OC,OC(D),CC,CC(D))=0,FG=1
    8884 ..Q
     
    9894 ..I OC+CNTR'>8 D
    9995 ...S Y(1)=$S(X=1:OC,1:8-CNTR)
    100  ...I +NAWS=0 D CHOL ; Process everyone but AWS nurses
    101  ...I +NAWS D CHOL1 ; Process AWS nurses
     96 ...D CHOL
    10297 ...S (OC,OC(D),CC,CC(D))=0,FG=1
    10398 ..Q
     
    118113 ...;
    119114 ..S Y(1)=$S(X=2:CC(I)+CCCNT,X:CC(I),OC(I)>7:CC(I),1:4),Y=7
    120  ..I +NAWS=0 D CHOL ; Process everyone but AWS nurses
    121  ..I +NAWS D CHOL1 ; Process AWS nurses
     115 ..D CHOL
    122116 ..S Y(1)=$S(X=2:OC(I)-CC(I)+OCCNT,X:OC(I)-CC(I),OC(I)>7:OC(I)-CC(I),1:4)
    123117 ..S Y=$S('DOUB:TOUR+19,1:23)
    124  ..I +NAWS=0 D CHOL ; Process everyone but AWS nurses
    125  ..I +NAWS D CHOL1 ; Process AWS nurses
     118 ..D CHOL
    126119 ..Q
    127120 .Q
     
    132125 ...I T=96,"ct"'[$E(DAY(DAY+1,"W"),1) S OC(I)=8-TIMECNT
    133126 ..S Y(1)=$S(X:OC(I),OC(I)>7:OC(I),1:8)
    134  ..I +NAWS=0 D CHOL ; Process everyone but AWS nurses
    135  ..I +NAWS D CHOL1 ; Process AWS nurses
     127 ..D CHOL
    136128 ..Q
    137129 .Q
     
    155147 E  S $P(WK(W),"^",Y)=$P(WK(W),"^",Y)+Y(1)
    156148 Q
    157  ;
    158 CHOL1 ; Checks for AWS nurses
    159  N HT,J,K,T2ADD
    160  S K=0,TMP=Y,Y=0
    161  S T2ADD=$S(CC:Y(1)-CC,1:Y(1)-OC-CC)
    162  ; Apply normal checks for OT on Hol and Hol Callback
    163  I TMP'=7,$E(ENT,25),$$HOLIDAY^PRS8UT(PY,DFN,+D) S Y=24 ;ot on actual hol
    164  I 'Y,$E($G(DAY(I,"HOL")),$S(T>96:(T-96),1:T)) S Y=TOUR+28 ;holiday callback
    165  I 'Y S Y=TMP
    166  I Y=24!(Y=(TOUR+28)) D SET Q
    167  ; If not OT on Hol or Hol Callback Determine if we are setting OT or CT
    168  S K=$S(Y=7:CC,1:OC)
    169  F J=1:1:K D AWSWK ; Update actual time worked
    170  F J=1:1:T2ADD D AWSWK ; Update time added to reach 2 hour min
    171  Q
    172  ;
    173 AWSWK ; Determine what type of time to add based on 8/day and 40/wk
    174  S HT=+$G(^TMP($J,"PRS8",D,"HT"))
    175  I HT'<32 S Y=$S(Y'=7:TOUR+15,1:Y) D SET1 Q
    176  I TH(W)'<160 S Y=$S(Y'=7:TOUR+19,1:Y) D SET1 Q
    177  I HT<32,TH(W)<160 S Y=9 D SET1
    178  Q
    179  ;
    180 SET1 ; Set WK array for AWS nurses
    181  S $P(WK(W),"^",Y)=$P(WK(W),"^",Y)+1
    182  Q:HT'<32
    183  S TH=TH+1,TH(WK)=TH(WK)+1
    184  S ^TMP($J,"PRS8",DAY,"HT")=HT+1
    185  Q
Note: See TracChangeset for help on using the changeset viewer.