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