| 1 | LEXSET2 ; ISL Retrieve Appl/Sub/Mode/User Defaults ; 10-15-97 | 
|---|
| 2 | ;;2.0;LEXICON UTILITY;**6**;Sep 23, 1996;Build 1 | 
|---|
| 3 | ; | 
|---|
| 4 | APP(LEXA) ; Application | 
|---|
| 5 | K LEXD("AP") N LEXT,LEXI S LEXA=+($G(LEXA)) | 
|---|
| 6 | Q:LEXA=0  Q:'$D(^LEXT(757.2,LEXA))  Q:$P($G(^LEXT(757.2,LEXA,5)),"^",5)="" | 
|---|
| 7 | S LEXT="AP",LEXI=LEXA D COMMON | 
|---|
| 8 | S:$L($G(^LEXT(757.2,LEXI,7))) LEXD(LEXT,"DIS")=$G(^LEXT(757.2,LEXI,7)) | 
|---|
| 9 | S LEXD(LEXT,"UNR")=+($P($G(^LEXT(757.2,LEXI,5)),"^",6)) | 
|---|
| 10 | S LEXD(LEXT,"DEF")=+($P($G(^LEXT(757.2,LEXI,5)),"^",3)) | 
|---|
| 11 | S LEXD(LEXT,"SCT")=+($P($G(^LEXT(757.2,LEXI,5)),"^",8)) | 
|---|
| 12 | ; Modifiers   PCH 6 | 
|---|
| 13 | S LEXD(LEXT,"MOD")=+($P($G(^LEXT(757.2,LEXI,5)),"^",9)) | 
|---|
| 14 | K:+(LEXD(LEXT,"SCT"))=0 LEXD(LEXT,"SCT") | 
|---|
| 15 | S LEXD(LEXT,"FIL")=$G(^LEXT(757.2,LEXI,6)) | 
|---|
| 16 | S LEXD("DF","UNR")=+($P($G(^LEXT(757.2,LEXI,5)),"^",6)) | 
|---|
| 17 | S LEXD(LEXT,"SUB")=$P($G(^LEXT(757.2,LEXI,5)),"^",2) | 
|---|
| 18 | S:LEXD(LEXT,"SUB")="" LEXD(LEXT,"SUB")="WRD" | 
|---|
| 19 | S LEXD(LEXT,"IDX")="A"_LEXD(LEXT,"SUB") | 
|---|
| 20 | Q | 
|---|
| 21 | SUB(LEXS) ; Subset | 
|---|
| 22 | K LEXD("SS") N LEXT,LEXI S LEXS=+($G(LEXS)) | 
|---|
| 23 | Q:LEXS=0  Q:'$D(^LEXT(757.2,LEXS))  Q:$P($G(^LEXT(757.2,LEXS,0)),"^",2)="" | 
|---|
| 24 | S LEXT="SS",LEXI=LEXS D COMMON | 
|---|
| 25 | S:$L($G(^LEXT(757.2,LEXI,4))) LEXD(LEXT,"DIS")=$G(^LEXT(757.2,LEXI,4)) | 
|---|
| 26 | S LEXD(LEXT,"SCT")=+($P($G(^LEXT(757.2,LEXI,5)),"^",8)) | 
|---|
| 27 | K:+(LEXD(LEXT,"SCT"))=0 LEXD(LEXT,"SCT") | 
|---|
| 28 | ; Modifiers   PCH 6 | 
|---|
| 29 | S LEXD(LEXT,"MOD")=+($P($G(^LEXT(757.2,LEXI,5)),"^",9)) | 
|---|
| 30 | S LEXD(LEXT,"FIL")=$G(^LEXT(757.2,LEXI,6)) | 
|---|
| 31 | S LEXD(LEXT,"SUB")=$P($G(^LEXT(757.2,LEXI,0)),"^",2) | 
|---|
| 32 | S:LEXD(LEXT,"SUB")="" LEXD(LEXT,"SUB")="WRD" | 
|---|
| 33 | S LEXD(LEXT,"IDX")="A"_LEXD(LEXT,"SUB") | 
|---|
| 34 | Q | 
|---|
| 35 | GEN S LEXD("DF","OVR")=0 S:$G(LEXD("AP","OVR"))=1!($G(LEXD("SS","OVR"))=1) LEXD("DF","OVR")=1 | 
|---|
| 36 | Q | 
|---|
| 37 | MOD(LEXM) ; Mode | 
|---|
| 38 | K LEXD("SS") N LEXT,LEXI S LEXM=+($G(LEXM)) | 
|---|
| 39 | Q:LEXM=0  Q:'$D(^LEXT(757.2,LEXM,5))  Q:$P(^LEXT(757.2,LEXM,5),"^",1)=""  Q:$P(^LEXT(757.2,LEXM,5),"^",5)'=""  Q:$P($G(^LEXT(757.2,LEXM,5)),"^",1)=""  S LEXT="SS",LEXI=LEXM D COMMON | 
|---|
| 40 | S:$L($G(^LEXT(757.2,LEXI,7))) LEXD(LEXT,"DIS")=$G(^LEXT(757.2,LEXI,7)) | 
|---|
| 41 | S LEXD(LEXT,"FIL")=$G(^LEXT(757.2,LEXI,6)) | 
|---|
| 42 | S LEXD(LEXT,"SCT")=+($P($G(^LEXT(757.2,LEXI,5)),"^",8)) | 
|---|
| 43 | ; Modifiers   PCH 6 | 
|---|
| 44 | S LEXD(LEXT,"MOD")=+($P($G(^LEXT(757.2,LEXI,5)),"^",9)) | 
|---|
| 45 | K:+(LEXD(LEXT,"SCT"))=0 LEXD(LEXT,"SCT") | 
|---|
| 46 | S LEXD(LEXT,"SUB")=$P($G(^LEXT(757.2,LEXI,5)),"^",2) | 
|---|
| 47 | S:LEXD(LEXT,"SUB")="" LEXD(LEXT,"SUB")="WRD" | 
|---|
| 48 | S LEXD(LEXT,"IDX")="A"_LEXD(LEXT,"SUB") | 
|---|
| 49 | Q | 
|---|
| 50 | IND ; | 
|---|
| 51 | S LEXD("DF","XTLKSAY")=1 S:'$L($G(DIC(0))) DIC(0)="EQM" S:'$L($G(X))&(DIC(0)'["A") DIC(0)="A"_DIC(0) | 
|---|
| 52 | S:DIC(0)["L" DIC(0)=$P(DIC(0),"L",1)_$P(DIC(0),"L",2) S:DIC(0)["I" DIC(0)=$P(DIC(0),"I",1)_$P(DIC(0),"L",2) | 
|---|
| 53 | S LEXD("DF","DIC(0)")=DIC(0) K DIC(0) | 
|---|
| 54 | Q | 
|---|
| 55 | COMMON ; Common Values | 
|---|
| 56 | S LEXD(LEXT,"IEN")=LEXI S:LEXT="AP" LEXD("DF","LEXAP")=LEXI | 
|---|
| 57 | S LEXD(LEXT,"NAM")=$P($G(^LEXT(757.2,LEXI,0)),"^",1) | 
|---|
| 58 | S LEXD(LEXT,"GBL")=$G(^LEXT(757.2,LEXI,1)) | 
|---|
| 59 | S LEXD(LEXT,"OVR")=+($P($G(^LEXT(757.2,LEXI,5)),"^",7)) | 
|---|
| 60 | S:$G(^LEXT(757.2,LEXI,2))'="" LEXD(LEXT,"DSP")=$G(^LEXT(757.2,LEXI,3)) | 
|---|
| 61 | S:$G(^LEXT(757.2,LEXI,3))'="" LEXD(LEXT,"HLP")="D "_$G(^LEXT(757.2,LEXI,2)) | 
|---|
| 62 | Q | 
|---|
| 63 | USR(LEXI) ; User defaults | 
|---|
| 64 | Q:+($G(LEXI))=0  Q:+($G(DUZ))=0  Q:'$D(^LEXT(757.2,+LEXI,200,DUZ)) | 
|---|
| 65 | N LEXEMP S LEXEMP=$G(^LEXT(757.2,+LEXI,200,DUZ,1)) S:LEXEMP'="" LEXD("UD","FIL")=LEXEMP | 
|---|
| 66 | S LEXEMP=$G(^LEXT(757.2,+LEXI,200,DUZ,2)) S:LEXEMP'="" LEXD("UD","DIS")=LEXEMP | 
|---|
| 67 | S LEXEMP=$G(^LEXT(757.2,+LEXI,200,DUZ,3)) S:LEXEMP'="" LEXD("UD","SUB")=LEXEMP,LEXD("UD","IDX")="A"_LEXEMP | 
|---|
| 68 | S LEXEMP=$G(^LEXT(757.2,+LEXI,200,DUZ,4)) S:LEXEMP'="" LEXD("UD","SCT")=LEXEMP | 
|---|
| 69 | I $L($G(LEXD("UD","SUB"))) D | 
|---|
| 70 | . I $D(^LEXT(757.2,"AA",LEXD("UD","SUB"))) S LEXD("UD","IEN")=$O(^LEXT(757.2,"AA",LEXD("UD","SUB"),0)) | 
|---|
| 71 | . I $D(^LEXT(757.2,"AB",LEXD("UD","SUB"))) S LEXD("UD","IEN")=$O(^LEXT(757.2,"AB",LEXD("UD","SUB"),0)) | 
|---|
| 72 | . I +($G(LEXD("UD","IEN")))>0,$D(^LEXT(757.2,+($G(LEXD("UD","IEN"))))) D | 
|---|
| 73 | . . S:$L($G(^LEXT(757.2,+($G(LEXD("UD","IEN"))),1))) LEXD("UD","GBL")=$G(^LEXT(757.2,+($G(LEXD("UD","IEN"))),1)) | 
|---|
| 74 | . . S:$L($G(^LEXT(757.2,+($G(LEXD("UD","IEN"))),2))) LEXD("UD","DSP")=$G(^LEXT(757.2,+($G(LEXD("UD","IEN"))),2)) | 
|---|
| 75 | . . S:$L($G(^LEXT(757.2,+($G(LEXD("UD","IEN"))),3))) LEXD("UD","HLP")=$G(^LEXT(757.2,+($G(LEXD("UD","IEN"))),3)) | 
|---|
| 76 | . I '$L($G(LEXD("UD","GBL"))) K LEXD("UD","SUB"),LEXD("UD","IDX") | 
|---|
| 77 | Q | 
|---|