| 1 | PRSPDESR ; HISC/MGD - Display PT Phy ESR ;05/01/05
 | 
|---|
| 2 |  ;;4.0;PAID;**93**;Sep 21, 1995;Build 7
 | 
|---|
| 3 |  ;;Per VHA Directive 2004-038, this routine should not be modified.
 | 
|---|
| 4 | PAY ; Payroll Entry
 | 
|---|
| 5 |  S PRSTLV=7
 | 
|---|
| 6 |  D TOP ; print header
 | 
|---|
| 7 | P1 K DIC S DIC("A")="Select EMPLOYEE: ",DIC(0)="AEQM",DIC="^PRSPC("
 | 
|---|
| 8 |  W ! D ^DIC S PRSIEN=+Y K DIC G:PRSIEN<1 EX
 | 
|---|
| 9 |  S TLE=$P($G(^PRSPC(PRSIEN,0)),"^",8)
 | 
|---|
| 10 |  S DIC="^PRST(458,",DIC(0)="AEQM",DIC("A")="Select PAY PERIOD: "
 | 
|---|
| 11 |  W ! D ^DIC K DIC G:Y<1 EX
 | 
|---|
| 12 |  S PPI=+Y
 | 
|---|
| 13 |  S PPE=$P(Y,U,2)
 | 
|---|
| 14 |  D L1 ;ask device
 | 
|---|
| 15 |  G P1 ;ask for employee again
 | 
|---|
| 16 |  ;
 | 
|---|
| 17 | TK ; TimeKeeper Entry
 | 
|---|
| 18 |  S PRSTLV=2 G T0
 | 
|---|
| 19 |  ;
 | 
|---|
| 20 | SUP ; Supervisor Entry
 | 
|---|
| 21 |  S PRSTLV=3
 | 
|---|
| 22 | T0 D TOP ; print header
 | 
|---|
| 23 |  D ^PRSAUTL G:TLI<1 EX
 | 
|---|
| 24 | T1 K DIC S DIC("A")="Select EMPLOYEE: ",DIC(0)="AEQM",DIC="^PRSPC("
 | 
|---|
| 25 |  S DIC("S")="I $P(^(0),""^"",8)=TLE" S D="ATL"_TLE W ! D IX^DIC
 | 
|---|
| 26 |  S PRSIEN=+Y K DIC G:PRSIEN<1 EX
 | 
|---|
| 27 |  S %DT="AEPX",%DT("A")="Posting Date: ",%DT(0)=3041001 W ! D ^%DT
 | 
|---|
| 28 |  G:Y<1 EX
 | 
|---|
| 29 |  S D1=Y S Y=$G(^PRST(458,"AD",D1)),PPI=$P(Y,"^",1)
 | 
|---|
| 30 |  G EX:PPI<1
 | 
|---|
| 31 |  S PPE=$P($G(^PRST(458,PPI,0)),U,1)
 | 
|---|
| 32 |  D L1 ;ask device
 | 
|---|
| 33 |  G T1 ;ask for employee again
 | 
|---|
| 34 |  ;
 | 
|---|
| 35 | EMP ; Employee Entry
 | 
|---|
| 36 |  S PRSTLV=1 D TOP S PRSIEN="",SSN=$P($G(^VA(200,DUZ,1)),"^",9)
 | 
|---|
| 37 |  I SSN'="" S PRSIEN=$O(^PRSPC("SSN",SSN,0))
 | 
|---|
| 38 |  I 'PRSIEN W !!,*7,"Your SSN was not found in both the New Person & Employee File!" G EX
 | 
|---|
| 39 |  S PRSIEN=PRSIEN
 | 
|---|
| 40 |  S TLE=$P($G(^PRSPC(PRSIEN,0)),"^",8)
 | 
|---|
| 41 |  S %DT="AEPX",%DT("A")="Posting Date: ",%DT(0)=3040101 W ! D ^%DT
 | 
|---|
| 42 |  G:Y<1 EX
 | 
|---|
| 43 |  S D1=Y S Y=$G(^PRST(458,"AD",D1)),PPI=$P(Y,"^",1)
 | 
|---|
| 44 |  S MIEN=+$$MIEN^PRSPUT1(PRSIEN,D1)
 | 
|---|
| 45 |  G EX:PPI<1
 | 
|---|
| 46 |  S PPE=$P($G(^PRST(458,PPI,0)),U,1)
 | 
|---|
| 47 |  D L1 G EX
 | 
|---|
| 48 |  ;
 | 
|---|
| 49 | TOP W:$E(IOST,1,2)="C-" @IOF W !?26,"VA TIME & ATTENDANCE SYSTEM"
 | 
|---|
| 50 |  W !?27,"DISPLAY PT PHYSICIAN ESR" Q
 | 
|---|
| 51 | L1 W ! K IOP,%ZIS S %ZIS("A")="Select Device: ",%ZIS="MQ"
 | 
|---|
| 52 |  D ^%ZIS K %ZIS,IOP
 | 
|---|
| 53 |  Q:POP
 | 
|---|
| 54 |  I $D(IO("Q")) D  Q
 | 
|---|
| 55 |  . S PRSAPGM="DIS^PRSPDESR",PRSALST="PRSIEN^TLE^PPI^PPE^DATA7"
 | 
|---|
| 56 |  . D QUE^PRSAUTL
 | 
|---|
| 57 |  U IO D DIS
 | 
|---|
| 58 |  I $E(IOST,1,2)="C-",'QT D H1
 | 
|---|
| 59 |  D ^%ZISC K %ZIS,IOP Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | DIS ; Display 14 days
 | 
|---|
| 62 |  ;
 | 
|---|
| 63 |  S PDT=$G(^PRST(458,PPI,2)),STAT=$P($G(^PRST(458,PPI,"E",PRSIEN,0)),"^",2)
 | 
|---|
| 64 |  S QT=0,DASH="",$P(DASH,"_",80)="_"
 | 
|---|
| 65 |  S IDAYS=0
 | 
|---|
| 66 |  F DAY=1:1:14 D  Q:QT
 | 
|---|
| 67 |  . S DATA7=$G(^PRST(458,PPI,"E",PRSIEN,"D",DAY,7))
 | 
|---|
| 68 |  . S STAT=$P(DATA7,U,1)    ; ESR Daily Status
 | 
|---|
| 69 |  . I STAT<4 S IDAYS=IDAYS+1
 | 
|---|
| 70 |  D HDR1
 | 
|---|
| 71 |  ; Check to see if the PTP had a memorandum during this PP.
 | 
|---|
| 72 |  S DAY1=$P($G(^PRST(458,PPI,1)),U,1)
 | 
|---|
| 73 |  I +$$MIEN^PRSPUT1(PRSIEN,DAY1)=0 D  Q:QT
 | 
|---|
| 74 |  . W !!,"This employee did not have an active Memorandum during this Pay Period."
 | 
|---|
| 75 |  . S QT=1
 | 
|---|
| 76 |  F DAY=1:1:14 D  Q:QT
 | 
|---|
| 77 |  . S DATA0=$G(^PRST(458,PPI,"E",PRSIEN,"D",DAY,0))
 | 
|---|
| 78 |  . S DATA5=$G(^PRST(458,PPI,"E",PRSIEN,"D",DAY,5))
 | 
|---|
| 79 |  . S DATA6=$G(^PRST(458,PPI,"E",PRSIEN,"D",DAY,6))
 | 
|---|
| 80 |  . S DATA7=$G(^PRST(458,PPI,"E",PRSIEN,"D",DAY,7))
 | 
|---|
| 81 |  . S T1=$P(DATA0,U,2)      ; Tour #1
 | 
|---|
| 82 |  . S T1EX=$S(T1:$P($G(^PRST(457.1,T1,0)),U,1),1:"") ; Tour #1 External
 | 
|---|
| 83 |  . S STAT=$P(DATA7,U,1)    ; ESR Daily Status
 | 
|---|
| 84 |  . S STATEX=$$EXTERNAL^DILFD(458.02,146,"",STAT)
 | 
|---|
| 85 |  . W !,$P(PDT,U,DAY),?14,$J(T1,4)," ",T1EX,?68," ",STATEX
 | 
|---|
| 86 |  . S T2=$P(DATA0,U,13)  ; Tour #2
 | 
|---|
| 87 |  . I T2 D
 | 
|---|
| 88 |  . . S T2EX=$S(T2:$P($G(^PRST(457.1,T2,0)),U,1),1:"") ; Tour #2 External
 | 
|---|
| 89 |  . . W !?14,$J(T2,4)," ",T2EX
 | 
|---|
| 90 |  . S EDLSM=$P(DATA7,U,3)   ; ESR DAY LAST SIGN METHOD
 | 
|---|
| 91 |  . I EDLSM=2 S STATEX=STATEX_" - EA" ; Posted by Extended Absence
 | 
|---|
| 92 |  . S QUIT=0
 | 
|---|
| 93 |  . F SEG=1:5:31 D:$Y>(IOSL-3) HDR Q:QT!(QUIT)  D  Q:QT!(QUIT)
 | 
|---|
| 94 |  . . S START=$P(DATA5,U,SEG)
 | 
|---|
| 95 |  . . I START="",SEG>1 S QUIT=1
 | 
|---|
| 96 |  . . Q:START=""
 | 
|---|
| 97 |  . . S STOP=$P(DATA5,U,SEG+1),TOT=$P(DATA5,U,SEG+2)
 | 
|---|
| 98 |  . . S TOTEX=""
 | 
|---|
| 99 |  . . I TOT'="" D
 | 
|---|
| 100 |  . . . S TOTEX=$O(^PRST(457.3,"B",TOT,0))
 | 
|---|
| 101 |  . . . S TOTEX=$E($P($G(^PRST(457.3,TOTEX,0)),U,2),1,14)
 | 
|---|
| 102 |  . . . S TOTEX=TOT_" "_TOTEX
 | 
|---|
| 103 |  . . S RC=$P(DATA5,U,SEG+3),MT=$P(DATA5,U,SEG+4)
 | 
|---|
| 104 |  . . S HRS=$$ELAPSE^PRSPESR2(MT,START,STOP)
 | 
|---|
| 105 |  . . W !?21,START,"-",STOP,?36,TOTEX,?56,$J(MT,2),"   ",$J(HRS,5)
 | 
|---|
| 106 |  . . D:$Y>(IOSL-3) HDR
 | 
|---|
| 107 |  . . Q:QT!(QUIT)
 | 
|---|
| 108 |  . . I RC'="" D  Q:QT!(QUIT)
 | 
|---|
| 109 |  . . . S RCEX=$P($G(^PRST(457.4,RC,0)),U,4)
 | 
|---|
| 110 |  . . . W !?38,RCEX
 | 
|---|
| 111 |  . . . D:$Y>(IOSL-3) HDR
 | 
|---|
| 112 |  . . Q:QT!(QUIT)
 | 
|---|
| 113 |  . Q:QT
 | 
|---|
| 114 |  . ;
 | 
|---|
| 115 |  . ; Display any PTP or Supervisor Remarks
 | 
|---|
| 116 |  . S PTPRMKS=$P(DATA6,U,1) ; PTP Remarks
 | 
|---|
| 117 |  . I PTPRMKS'="" D  Q:QT!(QUIT)
 | 
|---|
| 118 |  . . W !,"  PTP Remarks: ",PTPRMKS
 | 
|---|
| 119 |  . . D:$Y>(IOSL-3) HDR
 | 
|---|
| 120 |  . S SUPRMKS=$P(DATA6,U,2) ; Supervisor Remarks
 | 
|---|
| 121 |  . I SUPRMKS'="" D  Q:QT!(QUIT)
 | 
|---|
| 122 |  . . W !,"  Sup Remarks: ",SUPRMKS
 | 
|---|
| 123 |  . . D:$Y>(IOSL-3) HDR
 | 
|---|
| 124 |  Q
 | 
|---|
| 125 |  ;====================================================================
 | 
|---|
| 126 | HDR ; Display Header
 | 
|---|
| 127 |  D H1 Q:QT  W @IOF
 | 
|---|
| 128 | HDR1 S SCRTTL="PT PHYSICIAN ESR FOR PP "_PPE
 | 
|---|
| 129 |  D HDR^PRSPUT1(PRSIEN,SCRTTL,,,PPI)
 | 
|---|
| 130 |  W !?30,"Incomplete Days: "_$J(IDAYS,2)
 | 
|---|
| 131 |  W !,"Day",?14,"Tour Description",?69,"Status"
 | 
|---|
| 132 |  W !?21,"Postings",?36,"Time Code",?55,"Meal  Hours"
 | 
|---|
| 133 |  W !?38,"Remarks Code"
 | 
|---|
| 134 |  W !,DASH
 | 
|---|
| 135 |  Q
 | 
|---|
| 136 |  ;
 | 
|---|
| 137 | H1 I $E(IOST,1,2)="C-" D
 | 
|---|
| 138 |  . W !
 | 
|---|
| 139 |  . S DIR(0)="E",DIR("A")="Press RETURN to continue"
 | 
|---|
| 140 |  . D ^DIR K DIR
 | 
|---|
| 141 |  . I $D(DIRUT) S QT=1
 | 
|---|
| 142 |  Q
 | 
|---|
| 143 | EX ; Clean up variables
 | 
|---|
| 144 |  K D,D1,DASH,DATA0,DATA5,DATA6,DATA7,DAY,DAY1,DIRUT,EDLSM,HRS,IDAYS
 | 
|---|
| 145 |  K MIEN,MT,PDT,POP,PPE,PPI,PRSALST,PRSAPGM,PRSIEN,PRSTLV,PTPRMKS,QUIT
 | 
|---|
| 146 |  K QT,RC,RCEX,SCRTTL,SEG,SSN,START,STAT,STATEX,SUPRMKS,STOP,T1,T1EX
 | 
|---|
| 147 |  K T2,T2EX,TLE,TLI,TLSCREEN,TOT,TOTEX,X,Y,%DT,%ZIS
 | 
|---|
| 148 |  Q
 | 
|---|