| 1 | LEXDD1 ; ISL Display Defaults                     ; 09-23-96
 | 
|---|
| 2 |  ;;2.0;LEXICON UTILITY;;Sep 23, 1996
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | SHOW ; Show user defaults
 | 
|---|
| 5 |  W @IOF
 | 
|---|
| 6 |  N LEXMODE,LEXUSER,LEXSERV
 | 
|---|
| 7 | SELUSR ; Select user/user group
 | 
|---|
| 8 |  K LEXD,LEXMODE
 | 
|---|
| 9 |  W !!,"Show User Defaults for"
 | 
|---|
| 10 |  W !!,"  1:  All users with defaults"
 | 
|---|
| 11 |  W !,"  2:  A Single User"
 | 
|---|
| 12 |  W !,"  3:  Users in a Service",!
 | 
|---|
| 13 | BYUSR ; Get response to user/user group
 | 
|---|
| 14 |  K ZTSAVE S LEXMODE=$$USR G:LEXMODE[U SHOWQ
 | 
|---|
| 15 |  I LEXMODE=1 D  G SELUSR
 | 
|---|
| 16 |  . S ZTRTN="ALL^LEXDD1" D DEV,HOME^%ZIS
 | 
|---|
| 17 |  I LEXMODE=2 D  G:+($G(LEXDUZ))'<1 SELUSR
 | 
|---|
| 18 |  . W ! S LEXDUZ=$$USER^LEXDM4,LEXDUZ=+LEXDUZ
 | 
|---|
| 19 |  . I +LEXDUZ'<1 D
 | 
|---|
| 20 |  . . S ZTRTN="ONE^LEXDD1"
 | 
|---|
| 21 |  . . S ZTSAVE("LEXDUZ")=""
 | 
|---|
| 22 |  . . D DEV,HOME^%ZIS
 | 
|---|
| 23 |  I LEXMODE=3 D  G SELUSR
 | 
|---|
| 24 |  . W ! S LEXSERV=$$SERV^LEXDM4
 | 
|---|
| 25 |  . I +LEXSERV>0 D
 | 
|---|
| 26 |  . . S ZTRTN="SERV^LEXDD1"
 | 
|---|
| 27 |  . . S ZTSAVE("LEXSERV")=""
 | 
|---|
| 28 |  . . D DEV,HOME^%ZIS
 | 
|---|
| 29 |  G SHOWQ
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | DEV ; Request a device
 | 
|---|
| 32 |  N LEXCNT,LEXLC,LEXC S (LEXCNT,LEXLC)=0,LEXC=""
 | 
|---|
| 33 |  S (ZTSAVE("LEXC"),ZTSAVE("LEXCNT"),ZTSAVE("LEXLC"))=""
 | 
|---|
| 34 |  N %ZIS,IOP S %ZIS="PQ" D ^%ZIS Q:POP  I $D(IO("Q")) D QUE Q
 | 
|---|
| 35 | NOQUE ; Local display
 | 
|---|
| 36 |  W @IOF D @ZTRTN,^%ZISC K ZTSAVE Q
 | 
|---|
| 37 | QUE ; Queue task to a selected device
 | 
|---|
| 38 |  N %,ZTDESC,ZTDTH,ZTIO,ZTSK Q:'$D(ZTRTN)  K IO("Q")
 | 
|---|
| 39 |  S ZTDESC="Lexicon Defaults",ZTIO=ION,ZTDTH=$H
 | 
|---|
| 40 |  D ^%ZTLOAD
 | 
|---|
| 41 |  W !,$S($D(ZTSK):"Request Queued",1:"Request Cancelled"),!
 | 
|---|
| 42 |  K ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN,ZTSAVE D ^%ZISC
 | 
|---|
| 43 |  Q
 | 
|---|
| 44 | ALL ; Display for all users
 | 
|---|
| 45 |  N LEXUSR,LEXDUZ,LEXITLE
 | 
|---|
| 46 |  S LEXUSR=""
 | 
|---|
| 47 |  S LEXITLE="Lexicon User Defaults (all users with defaults)"
 | 
|---|
| 48 |  W !,LEXITLE W:IOST["P-" !! S LEXLC=$S(IOST["P-":LEXLC+3,1:LEXLC+1)
 | 
|---|
| 49 |  F  S LEXUSR=$O(^LEXT(757.2,"AUD",LEXUSR)) Q:LEXUSR=""  D
 | 
|---|
| 50 |  . N LEXDUZ S LEXDUZ=0
 | 
|---|
| 51 |  . F  S LEXDUZ=$O(^LEXT(757.2,"AUD",LEXUSR,LEXDUZ)) Q:+LEXDUZ=0  D
 | 
|---|
| 52 |  . . I +LEXDUZ'<1 D
 | 
|---|
| 53 |  . . . S LEXOK=$$DEF I LEXOK D BUILD^LEXDD2 S LEXCNT=LEXCNT+1
 | 
|---|
| 54 |  I +LEXCNT=0 D
 | 
|---|
| 55 |  . W !!,"No users found with defaults set."
 | 
|---|
| 56 |  D ^%ZISC I $D(ZTQUEUED) S ZTREQ="@"
 | 
|---|
| 57 |  Q
 | 
|---|
| 58 | ONE ; Display for one user
 | 
|---|
| 59 |  Q:+($G(LEXDUZ))<1  N LEXITLE,LEXOK
 | 
|---|
| 60 |  S LEXITLE="Lexicon User Defaults (Single User)"
 | 
|---|
| 61 |  W !,LEXITLE W:IOST["P-" !! S LEXLC=$S(IOST["P-":LEXLC+3,1:LEXLC+1)
 | 
|---|
| 62 |  I LEXDUZ'<1,$D(^VA(200,+LEXDUZ)) D
 | 
|---|
| 63 |  . S LEXOK=$$DEF I LEXOK D BUILD^LEXDD2 S LEXCNT=LEXCNT+1
 | 
|---|
| 64 |  . I 'LEXOK D
 | 
|---|
| 65 |  . . I $P($G(^VA(200,LEXDUZ,0)),"^",1)'="" D
 | 
|---|
| 66 |  . . . N LEXNAME S LEXNAME=$P($G(^VA(200,LEXDUZ,0)),"^",1)
 | 
|---|
| 67 |  . . . S LEXNAME=$$FL^LEXDD4(LEXNAME)
 | 
|---|
| 68 |  . . . W !,LEXNAME," has no defaults set",!
 | 
|---|
| 69 |  . . I $P($G(^VA(200,LEXDUZ,0)),"^",1)="" D
 | 
|---|
| 70 |  . . . W !,"User has no defaults set",!
 | 
|---|
| 71 |  I LEXDUZ'<1,'$D(^VA(200,+LEXDUZ)) D
 | 
|---|
| 72 |  . W !,"User not found",!
 | 
|---|
| 73 |  D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" Q
 | 
|---|
| 74 | SERV ; Display for users in a Service
 | 
|---|
| 75 |  Q:'$D(LEXSERV)  N LEXITLE
 | 
|---|
| 76 |  S LEXSERV=+LEXSERV
 | 
|---|
| 77 |  S LEXITLE="Lexicon User Defaults in a Single Service ("_$P(^DIC(49,LEXSERV,0),U,1)_")"
 | 
|---|
| 78 |  W !,LEXITLE W:IOST["P-" !! S LEXLC=$S(IOST["P-":LEXLC+3,1:LEXLC+1)
 | 
|---|
| 79 |  S LEXUSR=""
 | 
|---|
| 80 |  F  S LEXUSR=$O(^LEXT(757.2,"AUD",LEXUSR)) Q:LEXUSR=""  D
 | 
|---|
| 81 |  . N LEXDUZ S LEXDUZ=0
 | 
|---|
| 82 |  . F  S LEXDUZ=$O(^LEXT(757.2,"AUD",LEXUSR,LEXDUZ)) Q:+LEXDUZ=0  D
 | 
|---|
| 83 |  . . I +LEXDUZ'<1 D
 | 
|---|
| 84 |  . . . I $P($G(^VA(200,LEXDUZ,5)),"^",1)=LEXSERV D
 | 
|---|
| 85 |  . . . . S LEXOK=$$DEF
 | 
|---|
| 86 |  . . . . I LEXOK D BUILD^LEXDD2 S LEXCNT=LEXCNT+1
 | 
|---|
| 87 |  I +LEXCNT=0 D
 | 
|---|
| 88 |  . W !!,"No users found with defaults set in the ",$P(^DIC(49,LEXSERV,0),U,1)," service."
 | 
|---|
| 89 |  D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@" Q
 | 
|---|
| 90 | SHOWQ ; Quit SHOW
 | 
|---|
| 91 |  I IOST["P-" D ^%ZISC
 | 
|---|
| 92 |  K ZTSAVE,ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTQUEUED,ZTREQ,ZTSK,X,Y
 | 
|---|
| 93 |  K DIR,DIC,DIC("S"),%,%ZIS,POP,IOP
 | 
|---|
| 94 |  K LEX,LEXA,LEXAP,LEXAPID,LEXC,LEXCNT,LEXCTR,LEXCTX,LEXD
 | 
|---|
| 95 |  K LEXDATA,LEXDICS,LEXDUZ,LEXFIL,LEXFN,LEXI,LEXIEN,LEXITL
 | 
|---|
| 96 |  K LEXITLE,LEXT,LEXLC,LEXLN,LEXMODE,LEXNAME,LEXOK,LEXSERV
 | 
|---|
| 97 |  K LEXSHOW,LEXSPC,LEXSTLN,LEXSTR,LEXSUB,LEXUSER,LEXUSR
 | 
|---|
| 98 |  Q
 | 
|---|
| 99 | DEF(X) ; Based on DUZ determines if there are defaults defined
 | 
|---|
| 100 |  S X=0 Q:+($G(LEXDUZ))=0 X N LEXAPID,LEXIEN S LEXAPID=0
 | 
|---|
| 101 |  ; Defaults by Application
 | 
|---|
| 102 |  F  S LEXAPID=$O(^LEXT(757.2,"ADEF",LEXAPID)) Q:+LEXAPID=0!(X)  D  Q:X
 | 
|---|
| 103 |  . S LEXIEN=0 F  S LEXIEN=$O(^LEXT(757.2,"ADEF",LEXAPID,LEXIEN)) Q:+LEXIEN=0!(X)  D  Q:X
 | 
|---|
| 104 |  . . S:$L($G(^LEXT(757.2,LEXIEN,200,LEXDUZ,1))) X=1 Q:X
 | 
|---|
| 105 |  . . S:$L($G(^LEXT(757.2,LEXIEN,200,LEXDUZ,2))) X=1 Q:X
 | 
|---|
| 106 |  . . S:$L($G(^LEXT(757.2,LEXIEN,200,LEXDUZ,3))) X=1 Q:X
 | 
|---|
| 107 |  . . S:$L($G(^LEXT(757.2,LEXIEN,200,LEXDUZ,4))) X=1 Q:X
 | 
|---|
| 108 |  Q X
 | 
|---|
| 109 | USR(X) ; Get response for user type/group
 | 
|---|
| 110 |  N Y,DTOUT,DUOUT,DIRUT,DIROUT
 | 
|---|
| 111 |  S DIR("A")="Select (1-3):  ",DIR("B")=2
 | 
|---|
| 112 |  S DIR("?")="Answer must be from 1 to 3"
 | 
|---|
| 113 |  S DIR(0)="NAO^1:3:0" D ^DIR
 | 
|---|
| 114 |  S X=$S($D(DTOUT)!(X[U)!(X=""):U,1:X) K DIR Q X
 | 
|---|