1 | OOPSWCSE ;WIOFO/LLH-Workers' Comp Sign for Employee ;01/20/01
|
---|
2 | ;;2.0;ASISTS;;Jun 03, 2002
|
---|
3 | ;
|
---|
4 | EN1(CALLER) ; Entry point for routine
|
---|
5 | ; Input: CALLER = "S" for Safety Officer
|
---|
6 | ; "H" for Employee Health
|
---|
7 | ; "W" for Workers' Comp
|
---|
8 | ;
|
---|
9 | N DIC,IEN,FORM,PRM1,PRM2,SIGN,VALID,Y
|
---|
10 | Q:DUZ<1
|
---|
11 | Q:$G(^VA(200,DUZ,1))=""
|
---|
12 | S IEN=0
|
---|
13 | S DIC="^OOPS(2260,"
|
---|
14 | S DIC("S")="I $$SCR^OOPSWCSE(Y)"_",'$$GET1^DIQ(2260,Y,51,""I"")"
|
---|
15 | S DIC(0)="AEMNZ",DIC("A")=" Select Case: "
|
---|
16 | D ^DIC
|
---|
17 | I (Y<1)!$D(DTOUT)!($D(DUOUT)) Q
|
---|
18 | S IEN=$P(Y,U)
|
---|
19 | S FORM=$$GET1^DIQ(2260,IEN,52,"I")
|
---|
20 | S FORM=$S(FORM=1:"CA1",FORM=2:"CA2",1:"")
|
---|
21 | I $G(FORM)="" Q
|
---|
22 | D ^OOPSDIS
|
---|
23 | S PRM1=$S(CALLER="S":"Safety Officer",CALLER="H":"Employee Health",1:0)
|
---|
24 | S PRM2=PRM1_" approves the WCP signing for the Employee: "
|
---|
25 | S SIGN=""
|
---|
26 | I CALLER="W" G WCPS4E
|
---|
27 | I $$VALID^OOPSWCSE() D
|
---|
28 | . W !,PRM2
|
---|
29 | . S SIGN=$$SIG^OOPSESIG(DUZ,IEN)
|
---|
30 | . Q:+SIGN=0 ; form not signed
|
---|
31 | . I CALLER="S" S $P(^OOPS(2260,IEN,"WCSE"),U,1,3)=SIGN
|
---|
32 | . I CALLER="H" S $P(^OOPS(2260,IEN,"WCSE"),U,4,6)=SIGN
|
---|
33 | G EXIT
|
---|
34 | WCPS4E ; allow WCP to sign for employee if all approvals given
|
---|
35 | N CONT,EHS,SIGN,SOS,VALID,VIEW
|
---|
36 | S SIGN=0,VALID=0,VIEW=1
|
---|
37 | S SOS=$$GET1^DIQ(2260,IEN,76,"I")
|
---|
38 | S EHS=$$GET1^DIQ(2260,IEN,79,"I")
|
---|
39 | S CONT=$S(DUZ=SOS:"S",DUZ=EHS:"H",1:"")
|
---|
40 | I (CONT="S")!(CONT="H") D
|
---|
41 | . W !,"You have approved as "_$S(CONT="S":"Safety Officer",CONT="H":"Emp Health Rep",1:"")
|
---|
42 | . W " and cannot sign as Employee."
|
---|
43 | . W !,"Three different individuals must be involved."
|
---|
44 | . S VIEW=0
|
---|
45 | I '$G(SOS) S VIEW=0 W !,"Safety Officer has not approved WCP signing for employee."
|
---|
46 | I '$G(EHS) S VIEW=0 W !,"Employee Health has not approved WCP signing for employee."
|
---|
47 | I VIEW D
|
---|
48 | . ; Allow clearing WCP signature, employee may be able to sign
|
---|
49 | . I $$GET1^DIQ(2260,IEN,119,"I") D CLRES^OOPSUTL1(IEN,"E",FORM)
|
---|
50 | . W ! D VALIDATE^OOPSUTL4(IEN,FORM,"E",.VALID)
|
---|
51 | . I 'VALID Q
|
---|
52 | . S SIGN=$$SIG^OOPSESIG(DUZ,IEN)
|
---|
53 | . Q:+SIGN=0
|
---|
54 | . D EMP^OOPSVAL1
|
---|
55 | EXIT ;
|
---|
56 | K DTOUT,DUOUT,SUP ; left over from OOPSDIS
|
---|
57 | Q
|
---|
58 | VALID() ; make sure same person is not signing for both safety and EH and if
|
---|
59 | ; signed from menu option being called not needed again - so quit
|
---|
60 | N CONT,EHAPP,ERR,SOAPP,VALID
|
---|
61 | S VALID=1,ERR=0
|
---|
62 | S SOAPP=$P($G(^OOPS(2260,IEN,"WCSE")),U)
|
---|
63 | S EHAPP=$P($G(^OOPS(2260,IEN,"WCSE")),U,4)
|
---|
64 | S CONT=$S(DUZ=SOAPP:"S",DUZ=EHAPP:"H",1:"")
|
---|
65 | I CALLER="S" D
|
---|
66 | . I CONT="S" S ERR=1
|
---|
67 | . I $G(EHAPP)=DUZ S ERR=2
|
---|
68 | . I $G(SOAPP)&($G(CONT)="") S ERR=3
|
---|
69 | I CALLER="H" D
|
---|
70 | . I CONT="H" S ERR=1
|
---|
71 | . I $G(SOAPP)=DUZ S ERR=2
|
---|
72 | . I $G(EHAPP)&($G(CONT)="") S ERR=3
|
---|
73 | I ERR=1 D
|
---|
74 | . W !,"You have signed as "_PRM1_" if you continue, your ES will be removed"
|
---|
75 | . N DIR,FLD,Y
|
---|
76 | . W !
|
---|
77 | . S DIR("A")="Continue",DIR(0)="SBM^Y:Yes;N:No"
|
---|
78 | . D ^DIR
|
---|
79 | . I Y="Y" D
|
---|
80 | .. S FLD=$S(CALLER="S":"1,3",CALLER="H":"4,6",1:"")
|
---|
81 | .. F I=$P(FLD,","):1:$P(FLD,",",2) S $P(^OOPS(2260,IEN,"WCSE"),U,I)=""
|
---|
82 | . I Y'="Y" S VALID=0
|
---|
83 | I ERR=2 D
|
---|
84 | . W !,"You have already signed as "
|
---|
85 | . W $S(CALLER="S":"Employee Health",CALLER="H":"Safety Officer",1:0)
|
---|
86 | . W ".",!,"Both signatures cannot be made by the same person."
|
---|
87 | . S VALID=0
|
---|
88 | I ERR=3 D
|
---|
89 | . W !,PRM1_" has already signed, re-signing is not required."
|
---|
90 | . S VALID=0
|
---|
91 | Q VALID
|
---|
92 | SCR(IEN) ; Screen to allow access to claims that have not been
|
---|
93 | ; signed by the Employee
|
---|
94 | ; Input: IEN = Internal record number of claim
|
---|
95 | N VIEW,EES,ESTAT,FORM,FLD
|
---|
96 | S VIEW=1
|
---|
97 | S FORM=$$GET1^DIQ(2260,IEN,52,"I")
|
---|
98 | I '$$ISEMP^OOPSUTL4(IEN) S VIEW=0 ; not emp, can't sign
|
---|
99 | S ESTAT=$$EDSTA^OOPSUTL1(IEN,"E") ; employee signed?
|
---|
100 | I CALLER'="W",$P(ESTAT,U,FORM) S VIEW=0 ; employee signed
|
---|
101 | I CALLER="W" D ; from WC menu
|
---|
102 | . S FLD=$S(FORM=1:119,FORM=2:221,1:"")
|
---|
103 | . I 'FLD S VIEW=0 Q
|
---|
104 | . S EES=$$GET1^DIQ(2260,IEN,FLD,"I")
|
---|
105 | . I 'EES Q ; not signed by emp
|
---|
106 | . I EES'=DUZ S VIEW=0 Q ; signer = user
|
---|
107 | . I $P($$EDSTA^OOPSUTL1(IEN,"S"),U,FORM) S VIEW=0 ; Super Signed
|
---|
108 | Q VIEW
|
---|