| 1 | LEXLGM ; ISL Lexicon Survey (Post Inst/Oper)     ; 05/14/2003
 | 
|---|
| 2 |  ;;2.0;LEXICON UTILITY;**25**;Sep 23, 1996;Build 1
 | 
|---|
| 3 |  ;
 | 
|---|
| 4 | EN ; Operational Task
 | 
|---|
| 5 |  K ^TMP("LEXMSG")
 | 
|---|
| 6 |  S ZTRTN="OPR^LEXLGM",ZTDESC="Lexicon Terms in Problem List",ZTIO="",ZTDTH=$H
 | 
|---|
| 7 |  D ^%ZTLOAD,HOME^%ZIS K %X,%Y,Y,ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN Q
 | 
|---|
| 8 |  Q
 | 
|---|
| 9 | EN2 ; Post-Install Task
 | 
|---|
| 10 |  K ^TMP("LEXMSG")
 | 
|---|
| 11 |  S ZTRTN="POST^LEXLGM",ZTDESC="Lexicon Installation",ZTIO="",ZTDTH=$H
 | 
|---|
| 12 |  D ^%ZTLOAD,HOME^%ZIS K %X,%Y,Y,ZTSK,ZTDESC,ZTDTH,ZTIO,ZTRTN Q
 | 
|---|
| 13 |  Q
 | 
|---|
| 14 | OPR ; Operational Survey
 | 
|---|
| 15 |  K ^TMP("LEXMSG") N LEXTYPE S LEXTYPE="O"
 | 
|---|
| 16 |  N LEXQ,LEXVERS,LEXFI,LEXDT,LEXS
 | 
|---|
| 17 |  D DATE S:'$D(LEXDT) LEXDT="" S LEXVERS=$$VR
 | 
|---|
| 18 |  D PLT^LEXLGM3,ASOF^LEXLGM3,PLUR^LEXLGM3,SG,SEND
 | 
|---|
| 19 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 20 |  Q
 | 
|---|
| 21 | POST ; Post-Install Survey
 | 
|---|
| 22 |  K ^TMP("LEXMSG") N LEXTYPE,LEXQ,LEXVERS,LEXFI,LEXDT,LEXS
 | 
|---|
| 23 |  S LEXTYPE="P" D DATE S:'$D(LEXDT) LEXDT="" S LEXVERS=$$VR
 | 
|---|
| 24 |  D TITLE,INIT D:+LEXVERS>1 INST,ACCT,WHO D:+LEXVERS'>1 ATTPT,ACCT,WHO
 | 
|---|
| 25 |  D BL,POST^LEXLGM2,PLUR^LEXLGM3,VER,SG,SEND
 | 
|---|
| 26 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 27 |  Q
 | 
|---|
| 28 | SG ; Show TMP Global
 | 
|---|
| 29 |  N LEXI S LEXI=0 F  S LEXI=$O(^TMP("LEXMSG",LEXI)) Q:+LEXI=0  W:'$D(ZTQUEUED) !,^TMP("LEXMSG",LEXI)
 | 
|---|
| 30 |  Q
 | 
|---|
| 31 | SEND ; Create message to send to ISC-SLC
 | 
|---|
| 32 |  N LEXADR,DIFROM Q:'$D(ZTQUEUED)  Q:'$L($G(LEXTYPE))  S LEXADR=$$ADR^LEXU Q:'$L(LEXADR)
 | 
|---|
| 33 |  N LEXT S LEXT=$G(LEXTYPE) Q:"OP"'[LEXT
 | 
|---|
| 34 |  K XMZ S:LEXT="P" XMSUB="Lexicon Installation" S:LEXT="O" XMSUB="Lexicon/Problem List Survey"
 | 
|---|
| 35 |  S XMY(("G.LEXICON@"_LEXADR))=""
 | 
|---|
| 36 |  S XMTEXT="^TMP(""LEXMSG"",",XMDUZ=.5 D ^XMD
 | 
|---|
| 37 |  K ^TMP("LEXMSG"),XCNP,XMDUZ,XMY,XMZ,XMSUB,XMTEXT,XMDUZ,LEXT
 | 
|---|
| 38 |  S:$D(ZTQUEUED) ZTREQ="@"
 | 
|---|
| 39 |  Q
 | 
|---|
| 40 | TITLE N LEXS,LEXVERS S LEXS="Lexicon Installation"
 | 
|---|
| 41 |  S LEXVERS=$P($G(^DD(757.01,0,"VR")),"^",1)
 | 
|---|
| 42 |  S:+LEXVERS>1 LEXS=LEXS_" v"_LEXVERS D SET($G(LEXS)) Q
 | 
|---|
| 43 | VER ; Verify
 | 
|---|
| 44 |  I +($G(LEXQ))>0 D  Q
 | 
|---|
| 45 |  . D BL S LEXS="Lexicon v 2.0 not completely installed"
 | 
|---|
| 46 |  . S LEXQ=1 D SET($G(LEXS))
 | 
|---|
| 47 |  D BL S LEXS="Lexicon v 2.0 installed" D SET($G(LEXS))
 | 
|---|
| 48 |  Q
 | 
|---|
| 49 | VR(LEXX) ; Version
 | 
|---|
| 50 |  S LEXX=$P($G(^DD(757.01,0,"VR")),"^",1) Q LEXX
 | 
|---|
| 51 | INIT ; Init/Install
 | 
|---|
| 52 |  N LEXS,LEXR,LEX1,LEX2,LEX4 I $L($T(+2^LEXLGM))>2 D
 | 
|---|
| 53 |  . S LEX1=$T(+2^LEXLGM)
 | 
|---|
| 54 |  . S LEX1=$P(LEX1,";",3),LEXR="^DD(",LEX4=1
 | 
|---|
| 55 |  . S LEX2="Lexicon Utility"
 | 
|---|
| 56 |  . D BL S LEXS="    Installing Version:" D SET($G(LEXS))
 | 
|---|
| 57 |  . S LEXS="    "_LEX1 D SET2($G(LEXS))
 | 
|---|
| 58 |  Q
 | 
|---|
| 59 | INST ; Installed on
 | 
|---|
| 60 |  N LEXS
 | 
|---|
| 61 |  I LEXDT'="" D  Q
 | 
|---|
| 62 |  . S LEXS="    Installed on:" D SET($G(LEXS))
 | 
|---|
| 63 |  . S LEXS="    "_LEXDT D SET2($G(LEXS))
 | 
|---|
| 64 |  D:$L($G(LEXS)) SET($G(LEXS)) Q
 | 
|---|
| 65 | ATTPT ; Attempted install on
 | 
|---|
| 66 |  N LEXS I $G(LEXDT)'="" D
 | 
|---|
| 67 |  . S LEXS="    Installation Attempted on:" D SET($G(LEXS))
 | 
|---|
| 68 |  . S LEXS=LEXDT D SET2($G(LEXS))
 | 
|---|
| 69 |  Q
 | 
|---|
| 70 | ACCT ; Account
 | 
|---|
| 71 |  N LEXS,LEXA X ^%ZOSF("UCI") S LEXA=Y
 | 
|---|
| 72 |  S:Y=^%ZOSF("PROD") LEXA=LEXA_" (Production)"
 | 
|---|
| 73 |  S:Y'=^%ZOSF("PROD") LEXA=LEXA_" (Test)"
 | 
|---|
| 74 |  S LEXS="    Installation in account:" D SET($G(LEXS))
 | 
|---|
| 75 |  S LEXS="    "_LEXA D SET2($G(LEXS))
 | 
|---|
| 76 |  Q
 | 
|---|
| 77 | WHO ; Installed by
 | 
|---|
| 78 |  N LEXDUZ,LEXPH S LEXDUZ=+($G(DUZ)) I +LEXDUZ<1 S LEXDUZ="UNKNOWN",LEXPH="" G W2
 | 
|---|
| 79 |  I '$D(^VA(200,LEXDUZ)) S LEXDUZ="UNKNOWN",LEXPH="" G W2
 | 
|---|
| 80 |  S LEXPH=$P($G(^VA(200,LEXDUZ,.13)),"^",2)
 | 
|---|
| 81 |  S:LEXPH="" LEXPH=$P($G(^VA(200,LEXDUZ,.13)),"^",1)
 | 
|---|
| 82 |  S:LEXPH="" LEXPH=$P($G(^VA(200,LEXDUZ,.13)),"^",3)
 | 
|---|
| 83 |  S:LEXPH="" LEXPH=$P($G(^VA(200,LEXDUZ,.13)),"^",4)
 | 
|---|
| 84 |  S LEXDUZ=$P(^VA(200,LEXDUZ,0),"^",1) S:LEXDUZ="" LEXDUZ="UNKNOWN"
 | 
|---|
| 85 | W2 S LEXS="    Installation by (POC):" D SET($G(LEXS))
 | 
|---|
| 86 |  S LEXS="    "_LEXDUZ S:LEXPH'="" LEXS=LEXS_"  ("_LEXPH_")"
 | 
|---|
| 87 |  D SET2($G(LEXS))
 | 
|---|
| 88 |  Q
 | 
|---|
| 89 | BL ; Blank Line
 | 
|---|
| 90 |  D SET("") Q
 | 
|---|
| 91 | SET(X) ; Set text in ^TMP (col 1)
 | 
|---|
| 92 |  S X=$G(X) N LEXLC S LEXLC=+($G(^TMP("LEXMSG",0))),LEXLC=LEXLC+1
 | 
|---|
| 93 |  S ^TMP("LEXMSG",0)=LEXLC,^TMP("LEXMSG",LEXLC)=X
 | 
|---|
| 94 |  Q
 | 
|---|
| 95 | SET2(X) ; Set text in ^TMP (col 2)
 | 
|---|
| 96 |  S X=$G(X) N LEXL,LEXLC,LEX1 S LEXL=32
 | 
|---|
| 97 |  S LEXLC=+($G(^TMP("LEXMSG",0))),LEX1=$G(^TMP("LEXMSG",LEXLC))
 | 
|---|
| 98 |  F  Q:$L(LEX1)=LEXL!($L(LEX1)>LEXL)  S LEX1=LEX1_" "
 | 
|---|
| 99 |  S X=$$TRIM(X),^TMP("LEXMSG",LEXLC)=LEX1_"  "_X
 | 
|---|
| 100 |  Q
 | 
|---|
| 101 | TRIM(X) ; Remove spaces from text
 | 
|---|
| 102 |  S X=$G(X) F  Q:$E(X,1)'=" "  S X=$E(X,2,$L(X))
 | 
|---|
| 103 |  F  Q:$E(X,$L(X))'=" "  S X=$E(X,1,($L(X)-1))
 | 
|---|
| 104 |  Q X
 | 
|---|
| 105 | DATE ; Installation Date and Time
 | 
|---|
| 106 |  N %,%H,X,LEXP,LEXMO,LEXDA,LEXYR,LEXHR,LEXMN,LEXSC D NOW^%DTC Q:+($G(%))=0
 | 
|---|
| 107 |  N LEXP,LEXMO,LEXDA,LEXYR,LEXHR,LEXMN,LEXSC S LEXYR=1700+($E(%,1,3)),LEXP=+($E(%,4,5)),LEXDA=+($E(%,6,7)),LEXHR=$E($P(%,".",2),1,2),LEXMN=$E($P(%,".",2),3,4),LEXSC=$E($P(%,".",2),5,6)
 | 
|---|
| 108 |  S LEXMO=$S(+LEXP=1:"January",+LEXP=2:"February",+LEXP=3:"March",+LEXP=4:"April",+LEXP=5:"May",+LEXP=6:"June",+LEXP=7:"July",+LEXP=8:"August",+LEXP=9:"September",+LEXP=10:"October",+LEXP=11:"November",+LEXP=12:"December",1:"")
 | 
|---|
| 109 |  S:$L(LEXSC)=1 LEXSC=LEXSC_"0" I LEXMO'="" S LEXDT=LEXMO_" "_LEXDA_", "_LEXYR_" at "_LEXHR_":"_LEXMN_":"_LEXSC
 | 
|---|
| 110 |  Q
 | 
|---|