LEXXII2 ;ISL/KER - Lexicon Status (Data Status) ;05/23/2017
;;2.0;LEXICON UTILITY;**59,80,103**;Sep 23, 1996;Build 2
;
; Global Variables
; ^LEXM( N/A
; ^LEXM(0) N/A
; ^TMP("LEXVER") SACC 2.3.2.5.1
;
; External References
; ^DIM ICR 10016
;
; Variables NEWed or KILLed Elsewhere
; LEXSUB NEWed by LEXXII and LEXXFI sending message
;
Q
RESULTS(X) ; Get Results of Install
D SETUP^LEXXII2 N LEXR S LEXR=$$CHK S X="" S:$L($P(LEXR,"^",2)) X=$P(LEXR,"^",2) K ^TMP("LEXVER",$J)
Q X
SETUP ; Last Set/Kills (Negation)
Q:'$D(^LEXM) Q:+($O(^LEXM(0)))'>0 K ^TMP("LEXVER",$J) N LEXC1,LEXC2,LEXCK,LEXCS,LEXCT,LEXEC,LEXFI,LEXIEN,LEXKK,LEXLK,LEXLS,LEXOK,LEXSAB,LEXSK,LEXSS,LEXT,LEXTT,X
S LEXFI=9999.999 F S LEXFI=$O(^LEXM(LEXFI),-1) Q:+LEXFI=0 D LLF(LEXFI)
S LEXFI=0 F S LEXFI=$O(^LEXM(LEXFI)) Q:+LEXFI'>0 D FIR(LEXFI) Q:$L($G(LEXSK("FIR","SK")))
D VERC
Q
LLF(X) ; Last Set/Last Kill for File X
N LEXFI,LEXIEN,LEXLK,LEXLS,LEXSAB S LEXFI=$G(X),(LEXLS,LEXLK)="" Q:$O(^LEXM(LEXFI,0))'>0
S LEXSAB=$S(+($G(LEXFI))=80:"ICD",+($G(LEXFI))=80.1:"ICP",+($G(LEXFI))=81:"CPT",+($G(LEXFI))=81.3:"CPM",$E(+($G(LEXFI)),1,3)="757"&($E(+($G(LEXFI)),1,5)'="757.9"):"LEX",1:"")
Q:'$L(LEXSAB) Q:$L($G(LEXSK(LEXSAB,"LS")))&($L($G(LEXSK(LEXSAB,"LK")))) S LEXIEN=+($O(^LEXM(LEXFI," "),-1))+1
F S LEXIEN=$O(^LEXM(LEXFI,LEXIEN),-1) Q:+LEXIEN=0 D Q:$L(LEXLS)&($L(LEXLK))
. Q:$G(^LEXM(LEXFI,LEXIEN))["^DD(" Q:+LEXIEN=0
. I $E($G(^LEXM(LEXFI,LEXIEN)),1,3)="S ^",'$L(LEXLS),'$L($G(LEXSK(LEXSAB,"LS"))) D
. . S LEXLS=$G(^LEXM(LEXFI,LEXIEN)) S:'$D(LEXSK(LEXSAB,"LS")) LEXSK(LEXSAB,"LS")=$G(^LEXM(LEXFI,LEXIEN))
. I $E($G(^LEXM(LEXFI,LEXIEN)),1,3)="K ^",'$L(LEXLK),'$L($G(LEXSK(LEXSAB,"LK"))) D
. . S LEXLK=$G(^LEXM(LEXFI,LEXIEN)) S:'$D(LEXSK(LEXSAB,"LK")) LEXSK(LEXSAB,"LK")=$G(^LEXM(LEXFI,LEXIEN))
Q
FIR(X) ; First Set/Kill
N LEXFI,LEXIEN,LEXLK,LEXLS,LEXSAB S LEXFI=$G(X),(LEXLS,LEXLK)="" Q:$O(^LEXM(LEXFI,0))'>0 S LEXSAB="FIR"
Q:$L($G(LEXSK(LEXSAB,"SK"))) S LEXIEN=0 F S LEXIEN=$O(^LEXM(LEXFI,LEXIEN)) Q:+LEXIEN'>0 D Q:$L($G(LEXSK(LEXSAB,"SK")))
. Q:$L($G(LEXSK(LEXSAB,"SK"))) Q:$G(^LEXM(LEXFI,LEXIEN))["^DD("
. I $E($G(^LEXM(LEXFI,LEXIEN)),1,3)="S ^" S:'$D(LEXSK(LEXSAB,"SK")) LEXSK(LEXSAB,"SK")=$G(^LEXM(LEXFI,LEXIEN)) Q
. I $E($G(^LEXM(LEXFI,LEXIEN)),1,3)="K ^" S:'$D(LEXSK(LEXSAB,"SK")) LEXSK(LEXSAB,"SK")=$G(^LEXM(LEXFI,LEXIEN)) Q
Q
VERC ; Verification Check for file
N LEXCK,LEXCS,LEXCT,LEXKK,LEXSS,LEXTT,LEXSAB
N LEXSAB F LEXSAB="LEX","ICD","CPT","CPM","FIR" D
. S (LEXCS,LEXCK,LEXCT)="" S LEXSS=$G(LEXSK(LEXSAB,"LS")),LEXCS=$P(LEXSS,"=",1),LEXCS=$P(LEXCS," ",2,4000)
. S LEXKK=$G(LEXSK(LEXSAB,"LK")),LEXCK=$P(LEXKK,"=",1),LEXCK=$P(LEXCK," ",2,4000)
. S LEXTT=$G(LEXSK(LEXSAB,"SK")),LEXCT=$P(LEXTT,"=",1),LEXCT=$P(LEXCT," ",2,4000)
. D:$L(LEXCS)!($L(LEXCK))!($L(LEXCT)) VERS
Q
VERS ; Verification Strings
Q:'$L(LEXSAB) I $G(LEXSAB)="FIR" D Q
. Q:'$L($G(LEXTT)) Q:'$L($G(LEXCT)) S (LEXC1,LEXC2)="" I $E(LEXTT,1,3)="S ^",LEXTT[LEXCT D
. . S LEXC1="S:"_"$D("_LEXCT_")"_" LEXOK(""FIR"",1)=1" S X=LEXC1 D ^DIM S:'$D(X) LEXC1=""
. . S LEXC2="S:"_"'$D("_LEXCT_")"_" LEXOK(""FIR"",1)=0" S X=LEXC2 D ^DIM S:'$D(X) LEXC2=""
. I $E(LEXTT,1,3)="K ^",LEXTT[LEXCT D
. . S LEXC1="S:"_"'$D("_LEXCT_")"_" LEXOK(""FIR"",1)=1" S X=LEXC1 D ^DIM S:'$D(X) LEXC1=""
. . S LEXC2="S:"_"$D("_LEXCT_")"_" LEXOK(""FIR"")1)=0" S X=LEXC2 D ^DIM S:'$D(X) LEXC2=""
. S:$L(LEXSAB)&($L(LEXC1)) ^TMP("LEXVER",$J,LEXSAB,1)=LEXC1 S:$L(LEXSAB)&($L(LEXC2)) ^TMP("LEXVER",$J,LEXSAB,2)=LEXC2
N LEXC1,LEXC2 S (LEXC1,LEXC2)="" S:$L(LEXCS) LEXC1="$D("_LEXCS_")" S:$L(LEXCK) LEXC2="'$D("_LEXCK_")" Q:'$L(LEXC1)&('$L(LEXC2))
I $L(LEXCS)&($L(LEXCK)) D
. S LEXC1="S:"_"$D("_LEXCS_")"_"&("_"'$D("_LEXCK_")"_") LEXOK("""_LEXSAB_""",2)=1" S X=LEXC1 D ^DIM S:'$D(X) LEXC1=""
. S LEXC2="S:"_"'$D("_LEXCS_")"_"!("_"$D("_LEXCK_")"_") LEXOK("""_LEXSAB_""",3)=0" S X=LEXC2 D ^DIM S:'$D(X) LEXC2=""
I $L(LEXCS)&('$L(LEXCK)) D
. S LEXC1="S:"_"$D("_LEXCS_")"_" LEXOK("""_LEXSAB_""",2)=1" S X=LEXC1 D ^DIM S:'$D(X) LEXC1=""
. S LEXC2="S:"_"'$D("_LEXCS_")"_" LEXOK("""_LEXSAB_""",3)=0" S X=LEXC2 D ^DIM S:'$D(X) LEXC2=""
I '$L(LEXCS)&($L(LEXCK)) D
. S LEXC1="S:"_"'$D("_LEXCK_")"_" LEXOK("""_LEXSAB_""",2)=1" S X=LEXC1 D ^DIM S:'$D(X) LEXC1=""
. S LEXC2="S:"_"$D("_LEXCK_")"_" LEXOK("""_LEXSAB_""",3)=0" S X=LEXC2 D ^DIM S:'$D(X) LEXC2=""
S:$L(LEXSAB)&($L(LEXC1)) ^TMP("LEXVER",$J,LEXSAB,1)=LEXC1 S:$L(LEXSAB)&($L(LEXC2)) ^TMP("LEXVER",$J,LEXSAB,2)=LEXC2
Q
;
CHECK ; Check if Data is installed
N LEXC,LEXEC,LEXFN,LEXOK,LEXSAB,LEXST,LEXT,X S LEXC=$$CHK K ^TMP("LEXVER",$J) Q:'$L($P(LEXC,"^",2))
S LEXT=" Data: "_$P(LEXC,"^",2) D TL(LEXT)
Q
CHK(X) ; Check if Data is Fully Installed
Q:'$D(^TMP("LEXVER",$J)) "" N LEXEC,LEXFN,LEXOK,LEXSAB,LEXST,LEXT S LEXST=0,LEXFN=1,LEXOK("FIR",1)=0 F LEXSAB="LEX","ICD","CPT","CPM" D
. Q:'$D(^TMP("LEXVER",$J,LEXSAB)) S LEXOK(LEXSAB,2)=0,LEXOK(LEXSAB,3)=1
F LEXSAB="FIR","LEX","ICD","CPT","CPM" D
. Q:'$D(^TMP("LEXVER",$J,LEXSAB)) S (LEXEC,X)=$G(^TMP("LEXVER",$J,LEXSAB,1)) D ^DIM X:$D(X) LEXEC
. S (LEXEC,X)=$G(^TMP("LEXVER",$J,LEXSAB,2)) D ^DIM X:$D(X) LEXEC
. Q:LEXSAB="FIR" S:+($G(LEXOK(LEXSAB,2)))'>0 LEXFN=0
S:+($G(LEXOK("FIR",1)))>0 LEXST=1
S:+($G(LEXST))>0&(+($G(LEXFN))>0) X="1^Installation of data completed successfully"
S:+($G(LEXST))>0&(+($G(LEXFN))'>0) X="0^Installation of data started but did not finish (incomplete)"
S:+($G(LEXST))'>0 X="0^Installation of data not started (incomplete)"
S:'$D(^TMP("LEXVER",$J)) X=0
Q X
;
; Miscellaneous
BL ; Blank Line
D TL("") Q
TL(X) ; Text Line
W !,$G(X) Q
S LEXSUB=$G(LEXSUB) S:'$L(LEXSUB) LEXSUB="LEXXII"
I '$D(^TMP(LEXSUB,$J,1)) S ^TMP(LEXSUB,$J,1)=" ",^TMP(LEXSUB,$J,0)=1
N LEXNX S LEXNX=$O(^TMP(LEXSUB,$J," "),-1),LEXNX=LEXNX+1
S ^TMP(LEXSUB,$J,LEXNX)=" "_$G(X),^TMP(LEXSUB,$J,0)=LEXNX
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HLEXXII2 6075 printed Nov 22, 2024@17:20:28 Page 2
LEXXII2 ;ISL/KER - Lexicon Status (Data Status) ;05/23/2017
+1 ;;2.0;LEXICON UTILITY;**59,80,103**;Sep 23, 1996;Build 2
+2 ;
+3 ; Global Variables
+4 ; ^LEXM( N/A
+5 ; ^LEXM(0) N/A
+6 ; ^TMP("LEXVER") SACC 2.3.2.5.1
+7 ;
+8 ; External References
+9 ; ^DIM ICR 10016
+10 ;
+11 ; Variables NEWed or KILLed Elsewhere
+12 ; LEXSUB NEWed by LEXXII and LEXXFI sending message
+13 ;
+14 QUIT
RESULTS(X) ; Get Results of Install
+1 DO SETUP^LEXXII2
NEW LEXR
SET LEXR=$$CHK
SET X=""
if $LENGTH($PIECE(LEXR,"^",2))
SET X=$PIECE(LEXR,"^",2)
KILL ^TMP("LEXVER",$JOB)
+2 QUIT X
SETUP ; Last Set/Kills (Negation)
+1 if '$DATA(^LEXM)
QUIT
if +($ORDER(^LEXM(0)))'>0
QUIT
KILL ^TMP("LEXVER",$JOB)
NEW LEXC1,LEXC2,LEXCK,LEXCS,LEXCT,LEXEC,LEXFI,LEXIEN,LEXKK,LEXLK,LEXLS,LEXOK,LEXSAB,LEXSK,LEXSS,LEXT,LEXTT,X
+2 SET LEXFI=9999.999
FOR
SET LEXFI=$ORDER(^LEXM(LEXFI),-1)
if +LEXFI=0
QUIT
DO LLF(LEXFI)
+3 SET LEXFI=0
FOR
SET LEXFI=$ORDER(^LEXM(LEXFI))
if +LEXFI'>0
QUIT
DO FIR(LEXFI)
if $LENGTH($GET(LEXSK("FIR","SK")))
QUIT
+4 DO VERC
+5 QUIT
LLF(X) ; Last Set/Last Kill for File X
+1 NEW LEXFI,LEXIEN,LEXLK,LEXLS,LEXSAB
SET LEXFI=$GET(X)
SET (LEXLS,LEXLK)=""
if $ORDER(^LEXM(LEXFI,0))'>0
QUIT
+2 SET LEXSAB=$SELECT(+($GET(LEXFI))=80:"ICD",+($GET(LEXFI))=80.1:"ICP",+($GET(LEXFI))=81:"CPT",+($GET(LEXFI))=81.3:"CPM",$EXTRACT(+($GET(LEXFI)),1,3)="757"&($EXTRACT(+($GET(LEXFI)),1,5)'="757.9"):"LEX",1:"")
+3 if '$LENGTH(LEXSAB)
QUIT
if $LENGTH($GET(LEXSK(LEXSAB,"LS")))&($LENGTH($GET(LEXSK(LEXSAB,"LK"))))
QUIT
SET LEXIEN=+($ORDER(^LEXM(LEXFI," "),-1))+1
+4 FOR
SET LEXIEN=$ORDER(^LEXM(LEXFI,LEXIEN),-1)
if +LEXIEN=0
QUIT
Begin DoDot:1
+5 if $GET(^LEXM(LEXFI,LEXIEN))["^DD("
QUIT
if +LEXIEN=0
QUIT
+6 IF $EXTRACT($GET(^LEXM(LEXFI,LEXIEN)),1,3)="S ^"
IF '$LENGTH(LEXLS)
IF '$LENGTH($GET(LEXSK(LEXSAB,"LS")))
Begin DoDot:2
+7 SET LEXLS=$GET(^LEXM(LEXFI,LEXIEN))
if '$DATA(LEXSK(LEXSAB,"LS"))
SET LEXSK(LEXSAB,"LS")=$GET(^LEXM(LEXFI,LEXIEN))
End DoDot:2
+8 IF $EXTRACT($GET(^LEXM(LEXFI,LEXIEN)),1,3)="K ^"
IF '$LENGTH(LEXLK)
IF '$LENGTH($GET(LEXSK(LEXSAB,"LK")))
Begin DoDot:2
+9 SET LEXLK=$GET(^LEXM(LEXFI,LEXIEN))
if '$DATA(LEXSK(LEXSAB,"LK"))
SET LEXSK(LEXSAB,"LK")=$GET(^LEXM(LEXFI,LEXIEN))
End DoDot:2
End DoDot:1
if $LENGTH(LEXLS)&($LENGTH(LEXLK))
QUIT
+10 QUIT
FIR(X) ; First Set/Kill
+1 NEW LEXFI,LEXIEN,LEXLK,LEXLS,LEXSAB
SET LEXFI=$GET(X)
SET (LEXLS,LEXLK)=""
if $ORDER(^LEXM(LEXFI,0))'>0
QUIT
SET LEXSAB="FIR"
+2 if $LENGTH($GET(LEXSK(LEXSAB,"SK")))
QUIT
SET LEXIEN=0
FOR
SET LEXIEN=$ORDER(^LEXM(LEXFI,LEXIEN))
if +LEXIEN'>0
QUIT
Begin DoDot:1
+3 if $LENGTH($GET(LEXSK(LEXSAB,"SK")))
QUIT
if $GET(^LEXM(LEXFI,LEXIEN))["^DD("
QUIT
+4 IF $EXTRACT($GET(^LEXM(LEXFI,LEXIEN)),1,3)="S ^"
if '$DATA(LEXSK(LEXSAB,"SK"))
SET LEXSK(LEXSAB,"SK")=$GET(^LEXM(LEXFI,LEXIEN))
QUIT
+5 IF $EXTRACT($GET(^LEXM(LEXFI,LEXIEN)),1,3)="K ^"
if '$DATA(LEXSK(LEXSAB,"SK"))
SET LEXSK(LEXSAB,"SK")=$GET(^LEXM(LEXFI,LEXIEN))
QUIT
End DoDot:1
if $LENGTH($GET(LEXSK(LEXSAB,"SK")))
QUIT
+6 QUIT
VERC ; Verification Check for file
+1 NEW LEXCK,LEXCS,LEXCT,LEXKK,LEXSS,LEXTT,LEXSAB
+2 NEW LEXSAB
FOR LEXSAB="LEX","ICD","CPT","CPM","FIR"
Begin DoDot:1
+3 SET (LEXCS,LEXCK,LEXCT)=""
SET LEXSS=$GET(LEXSK(LEXSAB,"LS"))
SET LEXCS=$PIECE(LEXSS,"=",1)
SET LEXCS=$PIECE(LEXCS," ",2,4000)
+4 SET LEXKK=$GET(LEXSK(LEXSAB,"LK"))
SET LEXCK=$PIECE(LEXKK,"=",1)
SET LEXCK=$PIECE(LEXCK," ",2,4000)
+5 SET LEXTT=$GET(LEXSK(LEXSAB,"SK"))
SET LEXCT=$PIECE(LEXTT,"=",1)
SET LEXCT=$PIECE(LEXCT," ",2,4000)
+6 if $LENGTH(LEXCS)!($LENGTH(LEXCK))!($LENGTH(LEXCT))
DO VERS
End DoDot:1
+7 QUIT
VERS ; Verification Strings
+1 if '$LENGTH(LEXSAB)
QUIT
IF $GET(LEXSAB)="FIR"
Begin DoDot:1
+2 if '$LENGTH($GET(LEXTT))
QUIT
if '$LENGTH($GET(LEXCT))
QUIT
SET (LEXC1,LEXC2)=""
IF $EXTRACT(LEXTT,1,3)="S ^"
IF LEXTT[LEXCT
Begin DoDot:2
+3 SET LEXC1="S:"_"$D("_LEXCT_")"_" LEXOK(""FIR"",1)=1"
SET X=LEXC1
DO ^DIM
if '$DATA(X)
SET LEXC1=""
+4 SET LEXC2="S:"_"'$D("_LEXCT_")"_" LEXOK(""FIR"",1)=0"
SET X=LEXC2
DO ^DIM
if '$DATA(X)
SET LEXC2=""
End DoDot:2
+5 IF $EXTRACT(LEXTT,1,3)="K ^"
IF LEXTT[LEXCT
Begin DoDot:2
+6 SET LEXC1="S:"_"'$D("_LEXCT_")"_" LEXOK(""FIR"",1)=1"
SET X=LEXC1
DO ^DIM
if '$DATA(X)
SET LEXC1=""
+7 SET LEXC2="S:"_"$D("_LEXCT_")"_" LEXOK(""FIR"")1)=0"
SET X=LEXC2
DO ^DIM
if '$DATA(X)
SET LEXC2=""
End DoDot:2
+8 if $LENGTH(LEXSAB)&($LENGTH(LEXC1))
SET ^TMP("LEXVER",$JOB,LEXSAB,1)=LEXC1
if $LENGTH(LEXSAB)&($LENGTH(LEXC2))
SET ^TMP("LEXVER",$JOB,LEXSAB,2)=LEXC2
End DoDot:1
QUIT
+9 NEW LEXC1,LEXC2
SET (LEXC1,LEXC2)=""
if $LENGTH(LEXCS)
SET LEXC1="$D("_LEXCS_")"
if $LENGTH(LEXCK)
SET LEXC2="'$D("_LEXCK_")"
if '$LENGTH(LEXC1)&('$LENGTH(LEXC2))
QUIT
+10 IF $LENGTH(LEXCS)&($LENGTH(LEXCK))
Begin DoDot:1
+11 SET LEXC1="S:"_"$D("_LEXCS_")"_"&("_"'$D("_LEXCK_")"_") LEXOK("""_LEXSAB_""",2)=1"
SET X=LEXC1
DO ^DIM
if '$DATA(X)
SET LEXC1=""
+12 SET LEXC2="S:"_"'$D("_LEXCS_")"_"!("_"$D("_LEXCK_")"_") LEXOK("""_LEXSAB_""",3)=0"
SET X=LEXC2
DO ^DIM
if '$DATA(X)
SET LEXC2=""
End DoDot:1
+13 IF $LENGTH(LEXCS)&('$LENGTH(LEXCK))
Begin DoDot:1
+14 SET LEXC1="S:"_"$D("_LEXCS_")"_" LEXOK("""_LEXSAB_""",2)=1"
SET X=LEXC1
DO ^DIM
if '$DATA(X)
SET LEXC1=""
+15 SET LEXC2="S:"_"'$D("_LEXCS_")"_" LEXOK("""_LEXSAB_""",3)=0"
SET X=LEXC2
DO ^DIM
if '$DATA(X)
SET LEXC2=""
End DoDot:1
+16 IF '$LENGTH(LEXCS)&($LENGTH(LEXCK))
Begin DoDot:1
+17 SET LEXC1="S:"_"'$D("_LEXCK_")"_" LEXOK("""_LEXSAB_""",2)=1"
SET X=LEXC1
DO ^DIM
if '$DATA(X)
SET LEXC1=""
+18 SET LEXC2="S:"_"$D("_LEXCK_")"_" LEXOK("""_LEXSAB_""",3)=0"
SET X=LEXC2
DO ^DIM
if '$DATA(X)
SET LEXC2=""
End DoDot:1
+19 if $LENGTH(LEXSAB)&($LENGTH(LEXC1))
SET ^TMP("LEXVER",$JOB,LEXSAB,1)=LEXC1
if $LENGTH(LEXSAB)&($LENGTH(LEXC2))
SET ^TMP("LEXVER",$JOB,LEXSAB,2)=LEXC2
+20 QUIT
+21 ;
CHECK ; Check if Data is installed
+1 NEW LEXC,LEXEC,LEXFN,LEXOK,LEXSAB,LEXST,LEXT,X
SET LEXC=$$CHK
KILL ^TMP("LEXVER",$JOB)
if '$LENGTH($PIECE(LEXC,"^",2))
QUIT
+2 SET LEXT=" Data: "_$PIECE(LEXC,"^",2)
DO TL(LEXT)
+3 QUIT
CHK(X) ; Check if Data is Fully Installed
+1 if '$DATA(^TMP("LEXVER",$JOB))
QUIT ""
NEW LEXEC,LEXFN,LEXOK,LEXSAB,LEXST,LEXT
SET LEXST=0
SET LEXFN=1
SET LEXOK("FIR",1)=0
FOR LEXSAB="LEX","ICD","CPT","CPM"
Begin DoDot:1
+2 if '$DATA(^TMP("LEXVER",$JOB,LEXSAB))
QUIT
SET LEXOK(LEXSAB,2)=0
SET LEXOK(LEXSAB,3)=1
End DoDot:1
+3 FOR LEXSAB="FIR","LEX","ICD","CPT","CPM"
Begin DoDot:1
+4 if '$DATA(^TMP("LEXVER",$JOB,LEXSAB))
QUIT
SET (LEXEC,X)=$GET(^TMP("LEXVER",$JOB,LEXSAB,1))
DO ^DIM
if $DATA(X)
XECUTE LEXEC
+5 SET (LEXEC,X)=$GET(^TMP("LEXVER",$JOB,LEXSAB,2))
DO ^DIM
if $DATA(X)
XECUTE LEXEC
+6 if LEXSAB="FIR"
QUIT
if +($GET(LEXOK(LEXSAB,2)))'>0
SET LEXFN=0
End DoDot:1
+7 if +($GET(LEXOK("FIR",1)))>0
SET LEXST=1
+8 if +($GET(LEXST))>0&(+($GET(LEXFN))>0)
SET X="1^Installation of data completed successfully"
+9 if +($GET(LEXST))>0&(+($GET(LEXFN))'>0)
SET X="0^Installation of data started but did not finish (incomplete)"
+10 if +($GET(LEXST))'>0
SET X="0^Installation of data not started (incomplete)"
+11 if '$DATA(^TMP("LEXVER",$JOB))
SET X=0
+12 QUIT X
+13 ;
+14 ; Miscellaneous
BL ; Blank Line
+1 DO TL("")
QUIT
TL(X) ; Text Line
+1 WRITE !,$GET(X)
QUIT
+2 SET LEXSUB=$GET(LEXSUB)
if '$LENGTH(LEXSUB)
SET LEXSUB="LEXXII"
+3 IF '$DATA(^TMP(LEXSUB,$JOB,1))
SET ^TMP(LEXSUB,$JOB,1)=" "
SET ^TMP(LEXSUB,$JOB,0)=1
+4 NEW LEXNX
SET LEXNX=$ORDER(^TMP(LEXSUB,$JOB," "),-1)
SET LEXNX=LEXNX+1
+5 SET ^TMP(LEXSUB,$JOB,LEXNX)=" "_$GET(X)
SET ^TMP(LEXSUB,$JOB,0)=LEXNX
+6 QUIT