| [613] | 1 | OOPSCC ;HINES CIOFO/GWB-CREATE ASISTS CASE ;3/5/98
 | 
|---|
 | 2 |  ;;2.0;ASISTS;;Jun 03, 2002
 | 
|---|
 | 3 |  N CAT,DATE,SUP,FYEAR,GRP,I,IEN2260,OOPS,IEN450,EMP,IEN200,PAID,VIEW
 | 
|---|
 | 4 |  N DLAYGO
 | 
|---|
 | 5 |  S DIE("NO^")="BACKOUTOK",VIEW=0
 | 
|---|
 | 6 |  D NOW^%DTC
 | 
|---|
 | 7 |  S DATE=X,FYEAR="",FYEAR=$$FYEAR^OOPSCSN(X),NUM=$$NEWR^OOPSCSN(FYEAR)
 | 
|---|
 | 8 |  S (NAME,SEX,SSN,DOB,STN,CCT,OCC,GRD,STP,EDU,ANS,PAID)=""
 | 
|---|
 | 9 |  W @IOF
 | 
|---|
 | 10 |  W !!," Case number ",NUM," will be assigned to this incident.",!
 | 
|---|
 | 11 |  K DD,DO
 | 
|---|
 | 12 |  S DLAYGO=2260,DIC="^OOPS(2260,",DIC(0)="QLZ",X=NUM D FILE^DICN G:Y=-1 EXIT
 | 
|---|
 | 13 |  S IEN2260=+Y
 | 
|---|
 | 14 | PS K DR S DIE="^OOPS(2260,",DA=IEN2260,DR="2 PERSONNEL STATUS........."
 | 
|---|
 | 15 |  D ^DIE
 | 
|---|
 | 16 |  G:$D(Y)'=0 DELETE S CAT=X
 | 
|---|
 | 17 |  I CAT=1 D  G:Y=-1 DELETE               ; Employee in ^PRSPC (PAID)
 | 
|---|
 | 18 |  .S DIC="^PRSPC(",DIC("A")=" PERSON INVOLVED..........: ",DIC("B")=NAME
 | 
|---|
 | 19 |  .S DIC("W")="W ?30,$E($P(^(0),U,9),6,9)"
 | 
|---|
 | 20 |  .S DIC(0)="QEAMZ" D ^DIC Q:Y=-1
 | 
|---|
 | 21 |  .S IEN450=+Y,NAME=$P(Y,U,2)
 | 
|---|
 | 22 |  .N Y K DIQ S DIC="^PRSPC(",DR="6;8;10;13;16;31;32;38;458;604",DA=IEN450
 | 
|---|
 | 23 |  .S DIQ="OOPS",DIQ(0)="IE" D EN^DIQ1
 | 
|---|
 | 24 |  .S STN=OOPS(450,IEN450,6,"I")
 | 
|---|
 | 25 |  .S SSN=OOPS(450,IEN450,8,"I")
 | 
|---|
 | 26 |  .S EDU=OOPS(450,IEN450,10,"E"),EDU=$E(EDU,1)_$$LOW^XLFSTR($E(EDU,2,45))
 | 
|---|
 | 27 |  .S GRD=OOPS(450,IEN450,13,"I")
 | 
|---|
 | 28 |  .S OCC=OOPS(450,IEN450,16,"I")
 | 
|---|
 | 29 |  .S CCT=OOPS(450,IEN450,458,"I")
 | 
|---|
 | 30 |  .S SEX=OOPS(450,IEN450,31,"I")
 | 
|---|
 | 31 |  .S DOB=OOPS(450,IEN450,32,"I")
 | 
|---|
 | 32 |  .S STP=OOPS(450,IEN450,38,"I")
 | 
|---|
 | 33 |  ;
 | 
|---|
 | 34 |  ; New Personnel Status = Non-Paid Employee. Get fields from ^VA(200
 | 
|---|
 | 35 |  ; If Person in PAID file (PAID=1) don't allow adding as non-paid emp
 | 
|---|
 | 36 |  ; If no SSN in file 200, set PAID=1, prevent hard errors
 | 
|---|
 | 37 |  I CAT=6 D  G:(Y=-1!(PAID)) DELETE
 | 
|---|
 | 38 |  .S DIC="^VA(200,",DIC("A")=" PERSON INVOLVED..........: ",DIC("B")=NAME
 | 
|---|
 | 39 |  .S DIC("W")="W ?30,$E($P(^(1),U,9),6,9)"
 | 
|---|
 | 40 |  .S DIC(0)="QEAMZ" D ^DIC Q:Y=-1
 | 
|---|
 | 41 |  .S IEN200=+Y,NAME=$P(Y,U,2)
 | 
|---|
 | 42 |  .; Make sure the person is not a PAID Employee - Patch 3
 | 
|---|
 | 43 |  .S PAID=0
 | 
|---|
 | 44 |  .; If no SSN, Can't continue - Patch 3
 | 
|---|
 | 45 |  .I '$$GET1^DIQ(200,IEN200,9,"I") D  Q
 | 
|---|
 | 46 |  ..W !,"No SSN on file in the New Person file. Must enter to create case."
 | 
|---|
 | 47 |  ..S PAID=1
 | 
|---|
 | 48 |  .N Y K DIQ S DIC="^VA(200,",DR="4;5;9",DA=IEN200
 | 
|---|
 | 49 |  .S DIQ="OOPS",DIQ(0)="IE" D EN^DIQ1
 | 
|---|
 | 50 |  .S SEX=OOPS(200,IEN200,4,"I")
 | 
|---|
 | 51 |  .S DOB=OOPS(200,IEN200,5,"I")
 | 
|---|
 | 52 |  .S SSN=OOPS(200,IEN200,9,"I")
 | 
|---|
 | 53 |  .I $D(^PRSPC("SSN",SSN)) D
 | 
|---|
 | 54 |  ..W !,"This person (SSN) is a 'PAID' Employee, Please Re-enter"
 | 
|---|
 | 55 |  ..S PAID=1
 | 
|---|
 | 56 |  K DR S DIE="^OOPS(2260,",DA=IEN2260,DR=""
 | 
|---|
 | 57 |  I CAT=1 D                           ; Employee in ^PRSPC (PAID)
 | 
|---|
 | 58 |  .S DR(1,2260,1)="1///^S X=NAME"
 | 
|---|
 | 59 |  .S DR(1,2260,2)="5///^S X=SSN"
 | 
|---|
 | 60 |  .S DR(1,2260,3)="6///^S X=DOB"
 | 
|---|
 | 61 |  .S DR(1,2260,4)="7///^S X=SEX"
 | 
|---|
 | 62 |  .S DR(1,2260,5)="14///^S X=CCT"
 | 
|---|
 | 63 |  .S DR(1,2260,6)="15///^S X=$E(OCC,1,4)"
 | 
|---|
 | 64 |  .S DR(1,2260,7)="16///^S X=GRD"
 | 
|---|
 | 65 |  .S DR(1,2260,8)="17///^S X=STP"
 | 
|---|
 | 66 |  .S DR(1,2260,9)="18///^S X=EDU"
 | 
|---|
 | 67 |  I CAT=6 D                           ; Employee not in ^PRSPC (Non-PAID)
 | 
|---|
 | 68 |  .S DR(1,2260,1)="1///^S X=NAME"
 | 
|---|
 | 69 |  .S DR(1,2260,2)="5///^S X=SSN"
 | 
|---|
 | 70 |  .S DR(1,2260,3)="6///^S X=DOB"
 | 
|---|
 | 71 |  .S DR(1,2260,4)="7///^S X=SEX"
 | 
|---|
 | 72 |  I CAT'=1&(CAT'=6) D                 ; Everyone else
 | 
|---|
 | 73 |  .S DR(1,2260,1)="1 PERSON INVOLVED.........."
 | 
|---|
 | 74 |  .S DR(1,2260,2)="5 SSN......................"
 | 
|---|
 | 75 |  .; Patch 5 - get data for non-employee personnel
 | 
|---|
 | 76 |  . S DR(1,2260,3)="I X="""" W !,""Social Security Number is Required"" S Y=5"
 | 
|---|
 | 77 |  .S DR(1,2260,4)="6 DOB......................"
 | 
|---|
 | 78 |  .S DR(1,2260,5)="I X="""" W !,""Date of Birth is required"" S Y=6"
 | 
|---|
 | 79 |  .S DR(1,2260,6)="7 SEX......................"
 | 
|---|
 | 80 |  .S DR(1,2260,7)="I X="""" W !,""Sex is Required"" S Y=7"
 | 
|---|
 | 81 |  ;
 | 
|---|
 | 82 |  ; Patch 5 - Check for Duplicate Cases
 | 
|---|
 | 83 |  S DR(1,2260,10)="I $$DUP^OOPSCC() S Y=""@3"""
 | 
|---|
 | 84 |  S DR(1,2260,15)="8 HOME STREET ADDRESS......"
 | 
|---|
 | 85 |  S DR(1,2260,16)="I X'="""",'$$VCHAR^OOPSUTL4(X) W !,""Invalid character entered, (~,`,@,#,$,%,*,_,|,\,},{,[,],>, or <),"",!,""please edit."",! S Y=8"
 | 
|---|
 | 86 |  S DR(1,2260,20)="9 CITY....................."
 | 
|---|
 | 87 |  S DR(1,2260,21)="I X'="""",'$$VCHAR^OOPSUTL4(X) W !,""Invalid character entered, (~,`,@,#,$,%,*,_,|,\,},{,[,],>, or <),"",!,""please edit."",! S Y=9"
 | 
|---|
 | 88 |  S DR(1,2260,25)="10 STATE...................."
 | 
|---|
 | 89 |  S DR(1,2260,30)="11 ZIP CODE................."
 | 
|---|
 | 90 |  S DR(1,2260,35)="12 HOME PHONE NUMBER........"
 | 
|---|
 | 91 |  ; Patch 8 - add error checking on phone for DOL requirements
 | 
|---|
 | 92 |  S DR(1,2260,40)="I $TR(X,""/-*#"","""")'?10N W !?3,""Phone number must include area code and 7 digits only.  Example 703-123-8789"" S Y=12"
 | 
|---|
 | 93 |  ; Patch 5 - Collect Station Number for everyone, allow changing PAID
 | 
|---|
 | 94 |  S DR(1,2260,45)="13 STATION NUMBER...........//^S X=STN"
 | 
|---|
 | 95 |  S DR(1,2260,50)="52 INJURY/ILLNESS..........."
 | 
|---|
 | 96 |  S DR(1,2260,51)="S Y=$S(X=1:""@1"",1:""@2"")"
 | 
|---|
 | 97 |  S DR(1,2260,52)="@1"
 | 
|---|
 | 98 |  S DR(1,2260,55)="4 DATE/TIME INJURY OCCURRED"
 | 
|---|
 | 99 |  S DR(1,2260,56)="I $P(X,""."",2)="""" W !,""Time is REQUIRED in this response."" S Y=4"
 | 
|---|
 | 100 |  S DR(1,2260,57)="S Y=3"
 | 
|---|
 | 101 |  S DR(1,2260,58)="@2"
 | 
|---|
 | 102 |  S DR(1,2260,60)="4 DATE 1ST AWARE OF ILLNESS"
 | 
|---|
 | 103 |  S DR(1,2260,65)="3 TYPE OF INCIDENT........."
 | 
|---|
 | 104 |  ; patch 5 - changed for new category types
 | 
|---|
 | 105 |  S SUP=$S((CAT=1!(CAT>6)):" SUPERVISOR...............",CAT=2:" VOLUNTARY SVC SUPERVISOR.",CAT=3:" CONTRACT ADMINISTRATOR...",1:" SAFETY OFFICER...........")
 | 
|---|
 | 106 |  S DR(1,2260,70)="53"_SUP
 | 
|---|
 | 107 |  S DR(1,2260,75)="53.1 SECONDARY SUPERVISOR....."
 | 
|---|
 | 108 |  S DR(1,2260,76)="56////^S X=DUZ"
 | 
|---|
 | 109 |  ; Since the AAC is requiring an Occupation code for volunteers
 | 
|---|
 | 110 |  ; it will be hard coded if the CAT=2 (Volunteer) so claim will not
 | 
|---|
 | 111 |  ; reject at the AAC (WCMIS)
 | 
|---|
 | 112 |  I CAT=2 S DR(1,2260,80)="15////^S X=9999"
 | 
|---|
 | 113 |  S DR(1,2260,85)="@3"
 | 
|---|
 | 114 |  S DR(1,2260,90)="I VIEW W !!?4,""This Case will be DELETED!"""
 | 
|---|
 | 115 |  D ^DIE G:$D(Y)'=0!(VIEW) DELETE            ; VIEW = Duplicate Patch 5
 | 
|---|
 | 116 |  S DIR(0)="S^E:Edit;S:Save;D:Delete",DIR("A")=" Case action" D ^DIR K DIR
 | 
|---|
 | 117 |  I Y="E" S ANS="E" G PS
 | 
|---|
 | 118 |  I Y="S" D  D CASE^OOPSMBUL(IEN2260) D:((CAT=1)!(CAT=6))&(SSN'="") BOR^OOPSMBUL(IEN2260):$D(^VA(200,"SSN",SSN)) G EXIT
 | 
|---|
 | 119 |  .K DR S DIE="^OOPS(2260,",DA=IEN2260,DR="51///0" D ^DIE K DIE
 | 
|---|
 | 120 |  .W !!," Case number ",NUM," has been saved.",!
 | 
|---|
 | 121 |  I (Y="D")!($D(DIRUT)) G DELETE
 | 
|---|
 | 122 |  G EXIT
 | 
|---|
 | 123 | DUP() ; Patch 5 Finds Open Cases w/Matching names, Cases checked for
 | 
|---|
 | 124 |  ;   being a duplicate must have a Status of OPEN
 | 
|---|
 | 125 |  ;
 | 
|---|
 | 126 |  ; Input Variables:
 | 
|---|
 | 127 |  ;   IEN2260 - IEN of Current Case
 | 
|---|
 | 128 |  ;   SSN     - SSN of Current Case
 | 
|---|
 | 129 |  ; Output Variables
 | 
|---|
 | 130 |  ;   VIEW    - returns 1 if user indicates case is a duplicate
 | 
|---|
 | 131 |  ;             which triggers system to delete the case and exit
 | 
|---|
 | 132 |  ;           - returns 0 if user indicates case is not a duplicate
 | 
|---|
 | 133 |  ;             and system continues normal processing.
 | 
|---|
 | 134 |  ;
 | 
|---|
 | 135 |  N ARR,FILE,FLD,IX,SCR,SSN,STR,X,Y
 | 
|---|
 | 136 |  S FILE=2260,FLD=5
 | 
|---|
 | 137 |  S SSN=$$GET1^DIQ(2260,IEN2260,5,"I")
 | 
|---|
 | 138 |  S IX="SSN",ARR="OOPS",VIEW=0
 | 
|---|
 | 139 |  S SCR="I ($$GET1^DIQ(FILE,Y,51,""I"")<1)&(Y'=IEN2260)"
 | 
|---|
 | 140 |  S SCR=SCR_"&($$GET1^DIQ(FILE,Y,5,""I"")=SSN)"
 | 
|---|
 | 141 |  D LIST^DIC(FILE,,FLD,,,,,IX,SCR,,ARR)
 | 
|---|
 | 142 |  I $G(OOPS("DILIST",0)) D
 | 
|---|
 | 143 |  .W !!,"The following case(s) are Open with SSN: "_SSN,!
 | 
|---|
 | 144 |  .N DIC,DA,DR,OPID,Y
 | 
|---|
 | 145 |  .S DIC="^OOPS(2260,",(DA,DR,OPID)=0
 | 
|---|
 | 146 |  .F  S OPID=$O(OOPS("DILIST",2,OPID)) Q:OPID=""  D
 | 
|---|
 | 147 |  ..S DA=OOPS("DILIST",2,OPID),STR=^OOPS(2260,DA,0) D
 | 
|---|
 | 148 |  ...W !?2,"CASE NUMBER: ",$P(STR,U),?40,"PERSON INVOLVED: ",$E($P(STR,U,2),1,25)
 | 
|---|
 | 149 |  ...W !?2,"PERSONNEL STATUS:",$$GET1^DIQ(FILE,DA,2,"E"),?40,"PAY PLAN: ",$P(STR,U,13)
 | 
|---|
 | 150 |  ...W !?2,"TYPE OF INCIDENT: ",$$GET1^DIQ(FILE,DA,3,"E")
 | 
|---|
 | 151 |  ...W !?2,"DATE/TIME OF OCCURRENCE: ",$$GET1^DIQ(FILE,DA,4,"E")
 | 
|---|
 | 152 |  ...W !?2,"CASE STATUS: ",$$GET1^DIQ(FILE,DA,51,"E")
 | 
|---|
 | 153 |  ...W ?40,"INJURY/ILLNESS: ",$$GET1^DIQ(FILE,DA,52,"E")
 | 
|---|
 | 154 |  ...W !?2,"SUPERVISOR: ",$$GET1^DIQ(FILE,DA,53,"E")
 | 
|---|
 | 155 |  ...W !?2,"PERSON ENTERING STUB RECORD: ",$$GET1^DIQ(FILE,DA,56,"E"),!
 | 
|---|
 | 156 |  . K DIR S DIR(0)="Y"
 | 
|---|
 | 157 |  . S DIR("A")=" Is the Current entry a DUPLICATE Case: "
 | 
|---|
 | 158 |  . D ^DIR K DIR
 | 
|---|
 | 159 |  . I Y S VIEW=1
 | 
|---|
 | 160 |  Q VIEW
 | 
|---|
 | 161 | DELETE ;Delete incomplete case
 | 
|---|
 | 162 |  S DIK="^OOPS(2260,",DA=IEN2260 D ^DIK K DIK
 | 
|---|
 | 163 | END W !!," Case ",NUM," deleted"
 | 
|---|
 | 164 | EXIT K DA,DIC,DIE,DR,NUM,NAME,SEX,SSN,DOB,STN,CCT,OCC,GRD,STP,EDU,ANS
 | 
|---|
 | 165 |  Q
 | 
|---|