| [613] | 1 | LEXDD1 ; ISL Display Defaults                     ; 09-23-96 | 
|---|
|  | 2 | ;;2.0;LEXICON UTILITY;;Sep 23, 1996;Build 1 | 
|---|
|  | 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 | 
|---|