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
|
---|