| 1 | PRSEUTL5 ;HISC/DAD-UPDATE MANDATORY CLASS MULT FROM MI REVIEW GROUP MULT ;3/23/94
 | 
|---|
| 2 |  ;;4.0;PAID;;Sep 21, 1995
 | 
|---|
| 3 | EN1(PRSED0) ; PRSED0 = IEN of an entry in file #450
 | 
|---|
| 4 |  ; Update MANDATORY CLASS multiple for an individual
 | 
|---|
| 5 |  N D0,D1,DA,DD,DIC,DIDEL,DIE,DIK,DINUM,DLAYGO,DO,DR
 | 
|---|
| 6 |  N PRSE,PRSECD0,PRSECLAS,PRSECNT,PRSED1,PRSEDTAS,PRSEGD0,PRSEGD1,X,Y
 | 
|---|
| 7 |  S PRSED1=0
 | 
|---|
| 8 |  F  S PRSED1=$O(^PRSPC(PRSED0,5,PRSED1)) Q:PRSED1'>0  D
 | 
|---|
| 9 |  . S PRSE=$G(^PRSPC(PRSED0,5,PRSED1,0))
 | 
|---|
| 10 |  . S PRSEGD0=+$P(PRSE,"^"),PRSEDTAS=$P(PRSE,"^",2) Q:PRSEGD0'>0
 | 
|---|
| 11 |  . S PRSEGD1=0
 | 
|---|
| 12 |  . F  S PRSEGD1=$O(^PRSE(452.3,PRSEGD0,1,PRSEGD1)) Q:PRSEGD1'>0  D
 | 
|---|
| 13 |  .. S PRSECD0=+$P($G(^PRSE(452.3,PRSEGD0,1,PRSEGD1,0)),"^") Q:PRSECD0'>0
 | 
|---|
| 14 |  .. S $P(PRSECLAS(PRSECD0),"^")=PRSEDTAS
 | 
|---|
| 15 |  .. S $P(PRSECLAS(PRSECD0),"^",2)=$P(PRSECLAS(PRSECD0),"^",2)+1
 | 
|---|
| 16 |  .. Q
 | 
|---|
| 17 |  . Q
 | 
|---|
| 18 |  D UPDATE
 | 
|---|
| 19 |  Q
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 | EN2(PRSEGD0) ; PRSEGD0 = IEN of an entry in file #452.3
 | 
|---|
| 22 |  ; Update MANDATORY CLASS multiple for ALL individuals
 | 
|---|
| 23 |  ; with a selected MI REVIEW GROUP (*** TASKED ***)
 | 
|---|
| 24 |  N ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE
 | 
|---|
| 25 |  S ZTRTN="EN21^PRSEUTL5",ZTSAVE("PRSEGD0")="",ZTDTH=$H,ZTIO=""
 | 
|---|
| 26 |  S ZTDESC="Education Tracking MANDATORY CLASS multiple update"
 | 
|---|
| 27 |  D ^%ZTLOAD
 | 
|---|
| 28 |  Q
 | 
|---|
| 29 | EN21 S PRSED0=0
 | 
|---|
| 30 |  F  S PRSED0=$O(^PRSPC("ARG",PRSEGD0,PRSED0)) Q:PRSED0'>0  D EN1(PRSED0)
 | 
|---|
| 31 |  K PRSED0,PRSEGD0 S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | UPDATE S PRSED1=0
 | 
|---|
| 35 |  F  S PRSED1=$O(^PRSPC(PRSED0,6,PRSED1)) Q:PRSED1'>0  D
 | 
|---|
| 36 |  . S PRSE=$G(^PRSPC(PRSED0,6,PRSED1,0))
 | 
|---|
| 37 |  . S PRSECD0=+$P(PRSE,"^"),PRSECNT=+$P(PRSE,"^",2) Q:PRSECD0'>0
 | 
|---|
| 38 |  . S PRSE=$G(PRSECLAS(PRSECD0))
 | 
|---|
| 39 |  . S PRSEDTAS=$P(PRSE,"^"),PRSECNT(0)=+$P(PRSE,"^",2)
 | 
|---|
| 40 |  . I PRSECNT=0,PRSECNT(0)=0 Q  ; *** One-shot class
 | 
|---|
| 41 |  . I PRSECNT(0) D  ; *** Update class count
 | 
|---|
| 42 |  .. K D0,D1,DA,DIE,DR S DIE="^PRSPC("_PRSED0_",6,"
 | 
|---|
| 43 |  .. S DR=".02///"_PRSECNT(0)_$S(PRSEDTAS:";.03///"_PRSEDTAS,1:"")
 | 
|---|
| 44 |  .. S (D0,DA(1))=PRSED0,(D1,DA)=PRSED1
 | 
|---|
| 45 |  .. I PRSECNT'=PRSECNT(0) D ^DIE
 | 
|---|
| 46 |  .. Q
 | 
|---|
| 47 |  . E  D  ; *** Delete class
 | 
|---|
| 48 |  .. K D0,D1,DA,DIK S DIK="^PRSPC("_PRSED0_",6,",DIDEL=450
 | 
|---|
| 49 |  .. S (D0,DA(1))=PRSED0,(D1,DA)=PRSED1 D ^DIK
 | 
|---|
| 50 |  .. Q
 | 
|---|
| 51 |  . K PRSECLAS(PRSECD0)
 | 
|---|
| 52 |  . Q
 | 
|---|
| 53 |  S PRSECD0=0 ; *** Add class
 | 
|---|
| 54 |  F  S PRSECD0=$O(PRSECLAS(PRSECD0)) Q:PRSECD0'>0  D
 | 
|---|
| 55 |  . S PRSE=$G(PRSECLAS(PRSECD0))
 | 
|---|
| 56 |  . S PRSEDTAS=$P(PRSE,"^"),PRSECNT(0)=+$P(PRSE,"^",2) Q:PRSECNT(0)'>0
 | 
|---|
| 57 |  . K DD,DIC,DINUM,DO
 | 
|---|
| 58 |  . S DIC="^PRSPC("_PRSED0_",6,",DIC(0)="L",DLAYGO=450,X=PRSECD0
 | 
|---|
| 59 |  . S DIC("P")=$P(^DD(450,633,0),"^",2),(D0,DA(1))=PRSED0
 | 
|---|
| 60 |  . D FILE^DICN S PRSED1=+Y
 | 
|---|
| 61 |  . K D0,D1,DA,DIE,DR
 | 
|---|
| 62 |  . S DIE="^PRSPC("_PRSED0_",6,"
 | 
|---|
| 63 |  . S DR=".02///"_PRSECNT(0)_$S(PRSEDTAS:";.03///"_PRSEDTAS,1:"")
 | 
|---|
| 64 |  . S (D0,DA(1))=PRSED0,(D1,DA)=PRSED1 D ^DIE
 | 
|---|
| 65 |  . Q
 | 
|---|
| 66 |  K PRSECLAS
 | 
|---|
| 67 |  Q
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 | EN3(PRSEGD0) ; PRSEGD0 = IEN in file 452.3
 | 
|---|
| 70 |  ; Used by ^DD(452.3,.01,"DEL",1,0) = "I $$EN3^PRSEUTL5(D0)"
 | 
|---|
| 71 |  I $O(^PRSPC("ARG",PRSEGD0,0)) D
 | 
|---|
| 72 |  . D EN^DDIOL("   This review group has employees assigned to it !!")
 | 
|---|
| 73 |  . Q
 | 
|---|
| 74 |  Q 0
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 | EN4(PRSEGD0)       ; PRSEGD0 = IEN in file #452.3
 | 
|---|
| 77 |  ; Used to delete review groups from individuals when the
 | 
|---|
| 78 |  ; review group itself is deleted. (*** TASKED ***)
 | 
|---|
| 79 |  S ZTRTN="EN41^PRSEUTL5",ZTSAVE("PRSEGD0")="",ZTDTH=$H,ZTIO=""
 | 
|---|
| 80 |  S ZTDESC="Education Tracking update MI REVIEW GROUP mult." D ^%ZTLOAD
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | EN41 S PRSED0=0
 | 
|---|
| 84 |  F  S PRSED0=$O(^PRSPC("ARG",PRSEGD0,PRSED0)) Q:PRSED0'>0  D
 | 
|---|
| 85 |  . S PRSED1=0
 | 
|---|
| 86 |  . F  S PRSED1=$O(^PRSPC("ARG",PRSEGD0,PRSED0,PRSED1)) Q:PRSED1'>0  D
 | 
|---|
| 87 |  .. I $P($G(^PRSPC(PRSED0,5,PRSED1,0)),"^")'=PRSEGD0 Q
 | 
|---|
| 88 |  .. S DIK="^PRSPC("_PRSED0_",5,",(D0,DA(1))=PRSED0,(D1,DA)=PRSED1
 | 
|---|
| 89 |  .. D ^DIK
 | 
|---|
| 90 |  .. Q
 | 
|---|
| 91 |  . Q
 | 
|---|
| 92 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 93 |  Q
 | 
|---|