| 1 | USRCLST ; SLC/JER - Review User Classes ;05/11/1998
 | 
|---|
| 2 |  ;;1.0;AUTHORIZATION/SUBSCRIPTION;**1,3,7**;Jun 20, 1997
 | 
|---|
| 3 | MAKELIST ; Build review screen list
 | 
|---|
| 4 |  N USRI,USRTMP,STATUS,FNAME,LNAME
 | 
|---|
| 5 |  S STATUS=$$SELSTAT("ACTIVE")
 | 
|---|
| 6 |  I +STATUS<0 S VALMQUIT=1 Q
 | 
|---|
| 7 |  S FNAME=$$RANGE("        Start With Class","FIRST")
 | 
|---|
| 8 |  I +FNAME=-1 S VALMQUIT=1 Q
 | 
|---|
| 9 |  S LNAME=$$RANGE("             Go To Class","LAST")
 | 
|---|
| 10 |  I +LNAME=-1 S VALMQUIT=1 Q 
 | 
|---|
| 11 |  W !,"Searching for the User Classes."
 | 
|---|
| 12 |  D BUILD(STATUS,FNAME,LNAME)
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 | SELSTAT(DEFLT) ; Select User Class status
 | 
|---|
| 15 |  N DIC,XQORM,X,Y
 | 
|---|
| 16 |  S DIC=101,DIC(0)="X",X="USR CLASS STATUS SELECT" D ^DIC
 | 
|---|
| 17 |  I +Y>0 D
 | 
|---|
| 18 |  . S XQORM=+Y_";ORD(101,",XQORM(0)="1A",XQORM("A")="Select User Class Status: "
 | 
|---|
| 19 |  . S XQORM("B")=DEFLT D ^XQORM
 | 
|---|
| 20 |  . I +Y,($D(Y)>9) S Y=$S($P(Y(1),U,3)="Inactive":0,$P(Y(1),U,3)="Active":1,1:2)
 | 
|---|
| 21 |  Q Y
 | 
|---|
| 22 | RANGE(PROMPT,DEFAULT) ; Get range of classes to browse
 | 
|---|
| 23 |  N Y
 | 
|---|
| 24 |  S Y=$$READ^USRU("F^1:20",PROMPT,DEFAULT)
 | 
|---|
| 25 |  S Y=$S(Y["FIRST":"",Y["LAST":"Zzzz",1:$$MIXED^USRLS(Y))
 | 
|---|
| 26 |  I Y="^" S Y=-1
 | 
|---|
| 27 |  Q Y
 | 
|---|
| 28 | BUILD(STATUS,USRDNM,USRLNM) ; Build List
 | 
|---|
| 29 |  N CLASSABB
 | 
|---|
| 30 |  N USRNM,USRCNT,USRI,USRJ,USRK,USRP,USRREC,USRSTAT,XREF,USRPICK
 | 
|---|
| 31 |  S VALMCNT=0
 | 
|---|
| 32 |  S USRPICK=+$O(^ORD(101,"B","USR ACTION SELECT LIST ELEMENT",0))
 | 
|---|
| 33 |  K ^TMP("USRCLASS",$J),^TMP("USRCLASSIDX",$J)
 | 
|---|
| 34 |  F STATUS=$S(STATUS=2:0,1:STATUS):1:STATUS D
 | 
|---|
| 35 |  . S USRDNM=$S($G(USRDNM)]"":$O(^USR(8930,"ADNM",STATUS,$P($G(USRDNM),U,1)),-1),1:"")
 | 
|---|
| 36 |  . S USRLNM=$P($G(USRLNM),U,1)_"z"
 | 
|---|
| 37 |  . S USRNM=USRDNM
 | 
|---|
| 38 |  . F  S USRNM=$O(^USR(8930,"ADNM",STATUS,USRNM)) Q:USRNM']""!(USRNM]USRLNM)  D
 | 
|---|
| 39 |  . . S USRI=+$O(^USR(8930,"ADNM",STATUS,USRNM,0)) Q:+USRI'>0
 | 
|---|
| 40 |  . . N DIC,DIQ,DA,DR,USRCLASS,CLASNM,ACTIVE
 | 
|---|
| 41 |  . . S DIQ="USRCLASS",DIC=8930,DA=USRI
 | 
|---|
| 42 |  . . S DR=".01:.04" D EN^DIQ1
 | 
|---|
| 43 |  . . S CLASSNM=$S($G(USRCLASS(8930,DA,.04))]"":USRCLASS(8930,DA,.04),1:$$MIXED^USRLS($G(USRCLASS(8930,DA,.01))))
 | 
|---|
| 44 |  . . I +$O(^USR(8930,+USRI,1,0)) S CLASSNM="+"_CLASSNM
 | 
|---|
| 45 |  . . E  S CLASSNM=" "_CLASSNM
 | 
|---|
| 46 |  . . S CLASSABB=$G(USRCLASS(8930,DA,.02))
 | 
|---|
| 47 |  . . S ACTIVE=$G(USRCLASS(8930,DA,.03))
 | 
|---|
| 48 |  . . S USRCNT=+$G(USRCNT)+1
 | 
|---|
| 49 |  . . S USRREC=$$SETFLD^VALM1(USRCNT,"","NUMBER")
 | 
|---|
| 50 |  . . S USRREC=$$SETFLD^VALM1(CLASSNM,USRREC,"CLASS NAME")
 | 
|---|
| 51 |  . . S USRREC=$$SETFLD^VALM1(CLASSABB,USRREC,"ABBREVIATION")
 | 
|---|
| 52 |  . . S USRREC=$$SETFLD^VALM1(ACTIVE,USRREC,"ACTIVE")
 | 
|---|
| 53 |  . . S VALMCNT=+$G(VALMCNT)+1
 | 
|---|
| 54 |  . . S ^TMP("USRCLASS",$J,VALMCNT,0)=USRREC
 | 
|---|
| 55 |  . . S ^TMP("USRCLASS",$J,"IDX",VALMCNT,USRCNT)=""
 | 
|---|
| 56 |  . . S ^TMP("USRCLASSIDX",$J,USRCNT)=VALMCNT_U_USRI_U W:VALMCNT#10'>0 "."
 | 
|---|
| 57 |  . .;Clear the video attributes so we start fresh.
 | 
|---|
| 58 |  . . D KILL^VALM10(VALMCNT)
 | 
|---|
| 59 |  S ^TMP("USRCLASS",$J,0)=+$G(USRCNT)_U_STATUS_U_USRDNM_U_USRLNM
 | 
|---|
| 60 |  S ^TMP("USRCLASS",$J,"#")=USRPICK_U_"1:"_+$G(USRCNT)
 | 
|---|
| 61 |  I $D(VALMHDR)>9 D HDR
 | 
|---|
| 62 |  I +$G(USRCNT)'>0 D
 | 
|---|
| 63 |  . S ^TMP("USRCLASS",$J,1,0)=""
 | 
|---|
| 64 |  . S ^TMP("USRCLASS",$J,2,0)="No "_$S(STATUS=0:"Inactive ",STATUS=1:"Active ",1:"")_"User Classes found"
 | 
|---|
| 65 |  Q
 | 
|---|
| 66 | HDR ; Initialize header for review screen
 | 
|---|
| 67 |  N BY,USRX,USRCNT,SCREEN,STATUS,TITLE
 | 
|---|
| 68 |  S USRX=$G(^TMP("USRCLASS",$J,0)),STATUS=$P("INACTIVE^ACTIVE^ALL",U,+$P(USRX,U,2)+1)
 | 
|---|
| 69 |  S TITLE=STATUS_" USER CLASSES"
 | 
|---|
| 70 |  S USRCNT=$J(+$G(^TMP("USRCLASS",$J,0)),4)
 | 
|---|
| 71 |  S USRCNT=USRCNT_" Class"_$S(+USRCNT=1:"",1:"es")
 | 
|---|
| 72 |  S VALMHDR(1)=$$CENTER^USRLS(TITLE)
 | 
|---|
| 73 |  S VALMHDR(1)=$$SETSTR^VALM1(USRCNT,VALMHDR(1),(IOM-$L(USRCNT)),$L(USRCNT))
 | 
|---|
| 74 |  Q
 | 
|---|
| 75 | CLEAN ; "Joel...Clean up your mess!"
 | 
|---|
| 76 |  K ^TMP("USRCLASS",$J),^TMP("USRCLASSIDX",$J)
 | 
|---|
| 77 |  Q
 | 
|---|