| 1 | OOPSEMP1 ;HINES/WAA,GTD-E/E Employee data Routines ;3/25/98
 | 
|---|
| 2 |  ;;2.0;ASISTS;;Jun 03, 2002
 | 
|---|
| 3 |  ;;
 | 
|---|
| 4 |  ; Employee/Person Address is now only stored in the 2162A node
 | 
|---|
| 5 |  ; of file 2260.  Prior to patch 3 it was stored in the CA1A and
 | 
|---|
| 6 |  ; CA2A nodes depending on which form was entered.  The address
 | 
|---|
| 7 |  ; is only 'pulled' from this location when printing either form.
 | 
|---|
| 8 |  ;
 | 
|---|
| 9 | EN1(CALLER) ;  Main Entry Point
 | 
|---|
| 10 |  ;INPUT:
 | 
|---|
| 11 |  ;     CALLER = "E" FOR EMPLOYEE
 | 
|---|
| 12 |  ;            = "S" FOR SUPERVISOR
 | 
|---|
| 13 |  ;            = "O" FOR SAFETY OFFICER
 | 
|---|
| 14 |  ;            = "W" FOR WORKERS COMP
 | 
|---|
| 15 |  ;
 | 
|---|
| 16 |  N SSN,IEN,FLD,ODESC,CAT,PAYP,OUT
 | 
|---|
| 17 |  S IEN=0,MAX1=528
 | 
|---|
| 18 |  Q:DUZ<1
 | 
|---|
| 19 |  Q:$G(^VA(200,DUZ,1))=""
 | 
|---|
| 20 |  I CALLER="E" D  Q:$G(SSN)=""  Q:$D(^OOPS(2260,"SSN",SSN))<1
 | 
|---|
| 21 |  .S SSN=$P(^VA(200,DUZ,1),U,9)
 | 
|---|
| 22 |  .I '$G(SSN) W !!,"No SSN on file for this Employee" Q
 | 
|---|
| 23 |  .I $D(^OOPS(2260,"SSN",SSN))<1 D
 | 
|---|
| 24 |  ..W !!,"An Accident Report has not been created for this Employee"
 | 
|---|
| 25 |  D  Q:IEN<1
 | 
|---|
| 26 |  .N DIC,X,INT
 | 
|---|
| 27 |  .S DIC="^OOPS(2260,"
 | 
|---|
| 28 |  .I CALLER="E" S DIC("S")="I $$EMP^OOPSUTL1(Y,SSN)"
 | 
|---|
| 29 |  .I CALLER="S" S DIC("S")="I $$SUP^OOPSEMP1(DUZ,Y)"
 | 
|---|
| 30 |  .I CALLER="O" S DIC("S")="I $$SAFE^OOPSEMP1(Y)"
 | 
|---|
| 31 |  .; PATCH 10
 | 
|---|
| 32 |  .I CALLER="W" S DIC("S")="I $$SCR^OOPSWCSE(Y)"
 | 
|---|
| 33 |  . ; Patch 5 - new Personnel status logic, make sure it's an employee
 | 
|---|
| 34 |  .S DIC("S")=DIC("S")_",$$ISEMP^OOPSUTL4(Y)"
 | 
|---|
| 35 |  .S DIC(0)="AEMNZ",DIC("A")="   Select Case: "
 | 
|---|
| 36 |  .D ^DIC
 | 
|---|
| 37 |  .Q:Y<1
 | 
|---|
| 38 |  .Q:$D(DTOUT)!($D(DUOUT))
 | 
|---|
| 39 |  .S IEN=$P(Y,U)
 | 
|---|
| 40 |  .Q
 | 
|---|
| 41 | FORM S FORM=$$GET1^DIQ(2260,IEN,52,"I")
 | 
|---|
| 42 |  S FORM=$S(FORM=1:"CA1",FORM=2:"CA2",1:"")
 | 
|---|
| 43 |  Q:FORM=""
 | 
|---|
| 44 |  ; Patch 8 - changed call from local subroutine, only Signature that
 | 
|---|
| 45 |  ; can be cleared is Employee.
 | 
|---|
| 46 |  I CALLER="E" D CLRES^OOPSUTL1(IEN,CALLER,FORM)
 | 
|---|
| 47 |  ; Patch 8 - Get Occupation Desc from paid, only call if employee
 | 
|---|
| 48 |  S FLD=16,ODESC=""
 | 
|---|
| 49 |  I $$GET1^DIQ(2260,IEN,2,"I")=1 S ODESC=$$PAID^OOPSUTL1(IEN,FLD)
 | 
|---|
| 50 |  ; Get Pay Plan from PAID, if Per Status (CAT) = 2 Set PAYP = "VO"
 | 
|---|
| 51 |  S PAYP="",CAT=""
 | 
|---|
| 52 |  S CAT=$$GET1^DIQ(2260,IEN,2,"I")
 | 
|---|
| 53 |  I CAT<3 D
 | 
|---|
| 54 |  . I CAT=1 S PAYP=$$PAID^OOPSUTL1(IEN,20) I $G(PAYP)'="" S PAYP=$$PAYP^OOPSUTL1(PAYP)
 | 
|---|
| 55 |  . I CAT=2 S PAYP="VO"
 | 
|---|
| 56 |  ; patch 10 - Bill of Rights enhancement
 | 
|---|
| 57 |  I CALLER="E" S OUT="" D  I OUT G EXIT      ; if OUT, ^'d out of option
 | 
|---|
| 58 |  . I $$GET1^DIQ(2260,IEN,71,"I")'="Y" D BOR
 | 
|---|
| 59 |  . I $$GET1^DIQ(2260,IEN,71,"I")'="Y" D WCPBOR^OOPSMBUL(IEN)
 | 
|---|
| 60 |  . Q:OUT
 | 
|---|
| 61 |  N DR,DIE,SIGN2,OOPS
 | 
|---|
| 62 |  ; Patch 8 - had to split routine due to size
 | 
|---|
| 63 |  I FORM="CA1" D ^OOPSEMPB
 | 
|---|
| 64 |  I FORM="CA2" D ^OOPSEMP2
 | 
|---|
| 65 |  S DIE="^OOPS(2260,",DA=IEN
 | 
|---|
| 66 |  D ^DIE
 | 
|---|
| 67 |  I $D(Y)'=0 G EXIT
 | 
|---|
| 68 |  I CALLER="E" D
 | 
|---|
| 69 |  . N SIGN
 | 
|---|
| 70 |  . ; patch 10 - bill of rights enhancement
 | 
|---|
| 71 |  . I $$GET1^DIQ(2260,IEN,71,"I")'="Y" D  Q
 | 
|---|
| 72 |  .. W !?5,"Claim cannot be signed until the Bill of Rights Statement is understood."
 | 
|---|
| 73 |  . D SIGN(FORM)
 | 
|---|
| 74 |  . Q:$G(SIGN)=""
 | 
|---|
| 75 |  . I $P(SIGN,U) D EMP^OOPSVAL1          ; new call patch 8
 | 
|---|
| 76 |  I CALLER="W" D
 | 
|---|
| 77 |  . W !!,"Checking for Safety and Emp Health Ok to sign for Employee."
 | 
|---|
| 78 |  . D WCPS4E^OOPSWCSE
 | 
|---|
| 79 | EXIT ; quit the routine
 | 
|---|
| 80 |  K HSA,CIT,MAX,MAX1,STA,ZIP
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 | SAFE(IEN) ; Safety Officer Screen
 | 
|---|
| 83 |  N VIEW,FORM,TYPE
 | 
|---|
| 84 |  S VIEW=1
 | 
|---|
| 85 |  S (TYPE,FORM)=$$GET1^DIQ(2260,IEN,52,"I"),FORM=$S(FORM=1:"CA1",FORM=2:"CA2",1:"")
 | 
|---|
| 86 |  ; Patch 8 - if ok to send to DOL cant edit
 | 
|---|
| 87 |  I $$GET1^DIQ(2260,IEN,67)'="" S VIEW=0
 | 
|---|
| 88 |  I $P($$EDSTA^OOPSUTL1(IEN,"E"),U,TYPE) S VIEW=0   ;Emp Signed
 | 
|---|
| 89 |  I $P($$EDSTA^OOPSUTL1(IEN,"S"),U,TYPE) S VIEW=0           ;Super Signed
 | 
|---|
| 90 |  I $$GET1^DIQ(2260,IEN,51,"I")'=0 S VIEW=0                 ;Case not open
 | 
|---|
| 91 |  Q VIEW
 | 
|---|
| 92 | SUP(DUZ,IEN) ; Supervisor Screen
 | 
|---|
| 93 |  N VIEW,FORM,SIGN,FORMS
 | 
|---|
| 94 |  S VIEW=1
 | 
|---|
| 95 |  S (FORMS,FORM)=$$GET1^DIQ(2260,IEN,52,"I"),FORM=$S(FORM=1:"CA1",FORM=2:"CA2",1:"")
 | 
|---|
| 96 |  I $P($$EDSTA^OOPSUTL1(IEN,"E"),U,FORMS) S VIEW=0 ; Employee Signed
 | 
|---|
| 97 |  I $P($$EDSTA^OOPSUTL1(IEN,"S"),U,FORMS) S VIEW=0 ; Super Signed
 | 
|---|
| 98 |  I $$GET1^DIQ(2260,IEN,51,"I")'=0 S VIEW=0 ; Case is not open
 | 
|---|
| 99 |  ; Patch 8 - if ok to send to DOL cant edit
 | 
|---|
| 100 |  I $$GET1^DIQ(2260,IEN,67)'="" S VIEW=0
 | 
|---|
| 101 |  I $$GET1^DIQ(2260,IEN,53,"I")'=DUZ,$$GET1^DIQ(2260,IEN,53.1,"I")'=DUZ S VIEW=0 ; Not Supervisor for case
 | 
|---|
| 102 |  Q VIEW
 | 
|---|
| 103 | SIGN(FORM) ; Sign/validate Document
 | 
|---|
| 104 |  N EMP,INC,VALID
 | 
|---|
| 105 |  S VALID=0,SIGN=""
 | 
|---|
| 106 |  S INC=$$GET1^DIQ(2260,IEN,52,"I")
 | 
|---|
| 107 |  W ! D VALIDATE^OOPSUTL4(IEN,FORM,"E",.VALID)
 | 
|---|
| 108 |  I 'VALID Q
 | 
|---|
| 109 |  I CALLER="E" D
 | 
|---|
| 110 |  . I $$GET1^DIQ(200,DUZ,20.4)="" D
 | 
|---|
| 111 |  .. W !!,"Please enter a Signature Code.",!
 | 
|---|
| 112 |  .. D ^XUSESIG
 | 
|---|
| 113 |  . S SIGN=$$SIG^OOPSESIG(DUZ,IEN)
 | 
|---|
| 114 |  Q
 | 
|---|
| 115 | BOR ; patch 10 - does employee understand Bill of Rights
 | 
|---|
| 116 |  N DIE,DA,DR
 | 
|---|
| 117 |  S DA=IEN,DIE="^OOPS(2260,",DR=""
 | 
|---|
| 118 |  W !
 | 
|---|
| 119 |  S DR(1,2260,1)="71I have read and understood the Employee Bill of Rights:"
 | 
|---|
| 120 |  D ^DIE I $D(Y) S OUT=1
 | 
|---|
| 121 |  Q
 | 
|---|