BSDX2E ;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [ 08/22/2007 12:17 PM ]
;;2.0;IHS WINDOWS SCHEDULING;;NOV 01, 2007
;
S LINE="",$P(LINE,"*",81)=""
S XPDNOQUE="NO QUE" ;NO QUEUING ALLOWED
S XPDABORT=0
I '$G(DUZ) D SORRY("DUZ UNDEFINED OR 0") Q
;
I '$L($G(DUZ(0))) D SORRY("DUZ(0) UNDEFINED OR NULL") Q
;
D HOME^%ZIS,DT^DICRW
S X=$P($G(^VA(200,DUZ,0)),U)
I $G(X)="" W !,$$C^XBFUNC("Who are you????") D SORRY("Unknown User") Q
;
VERSION ;
W !,$$C^XBFUNC("Hello, "_$P(X,",",2)_" "_$P(X,","))
W !!,$$C^XBFUNC("Checking Environment for Install of Version "_$P($T(+2),";",3)_" of "_$P($T(+2),";",4)_".")
;
Q:'$$VERCHK("VA FILEMAN",22)
Q:'$$VERCHK("KERNEL",8)
;Is the PIMS requirement present?
Q:'$$VERCHK("PIMS",5.3)
Q:'$$PATCHCK("PIMS*5.3*1003") D
Q:'$$VERCHK("BMX",2.0)
;
OTHER ;
;Other checks
;
ENVOK ; If this is just an environ check, end here.
W !!,$$C^XBFUNC("ENVIRONMENT OK.")
;
; The following line prevents the "Disable Options..." and "Move
; Routines..." questions from being asked during the install.
I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
;
;
;VERIFY BACKUPS HAVE BEEN DONE
;W !!
;S DIR(0)="Y"
;S DIR("B")="NO"
;S DIR("A")="Has a SUCCESSFUL system backup been performed??"
;D ^DIR
;I $D(DIRUT)!($G(Y)=0) S XPDABORT=1 S XPX="BACKUP" D SORRY Q
;S ^TMP("BPCPRE",$J,"BACKUPS CONFIRMED BY "_DUZ)=$H
;
Q
;
VERCHK(XPXPKG,XVRMIN) ;
S X=$$VERSION^XPDUTL(XPXPKG)
W !!,$$C^XBFUNC("Need at least "_XPXPKG_" "_XVRMIN_"....."_XPXPKG_" "_$S(X'="":X,1:"Is Not")_" Present")
I X<XVRMIN D SORRY(XPXPKG_" "_XVRMIN_" Is Not Installed") Q 0
Q 1
;
PATCHCK(XPXPCH) ;
S X=$$PATCH^XPDUTL(XPXPCH)
W !!,$$C^XBFUNC("Need "_XPXPCH_"....."_XPXPCH_" "_$S(X:"Is",1:"Is Not")_" Present")
Q X
;
V0200 ;EP Version 2.0 PostInit
;Add Protocol items to BSDAM APPOINTMENT EVENTS protocol
;
N BSDXDA,BSDXFDA,BSDXDA1,BSDXSEQ,BSDXDAT,BSDXNOD,BSDXIEN,BSDXMSG
S BSDXDA=$O(^ORD(101,"B","BSDAM APPOINTMENT EVENTS",0))
Q:'+BSDXDA
S BSDXDAT="BSDX ADD APPOINTMENT;10.2^BSDX CANCEL APPOINTMENT;10.4^BSDX CHECKIN APPOINTMENT;10.6^BSDX NOSHOW APPOINTMENT;10.8"
F J=1:1:$L(BSDXDAT,U) D
. K BSDXIEN,BSDXMSG,BSDXFDA
. S BSDXNOD=$P(BSDXDAT,U,J)
. S BSDXDA1=$P(BSDXNOD,";")
. S BSDXSEQ=$P(BSDXNOD,";",2)
. S BSDXDA1=$O(^ORD(101,"B",BSDXDA1,0))
. Q:'+BSDXDA1
. Q:$D(^ORD(101,BSDXDA,10,"B",BSDXDA1))
. S BSDXFDA(101.01,"+1,"_BSDXDA_",",".01")=BSDXDA1
. S BSDXFDA(101.01,"+1,"_BSDXDA_",","3")=BSDXSEQ
. D UPDATE^DIE("","BSDXFDA","BSDXIEN","BSDXMSG")
. Q
Q
;
SORRY(XPX) ;
K DIFQ
S XPDABORT=1,XPDBLD=$O(^XTMP("XPDI",XPDA,"BLD",0))
W !,$$C^XBFUNC($P(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,1)_" "_$P(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,2)_" Cannot Be Installed!")
W !,$$C^XBFUNC("Reason: "_XPX_".")
W *7,!!!,$$C^XBFUNC("Sorry....something is wrong with your environment")
W !,$$C^XBFUNC("Aborting "_XPDNM_" install!")
W !,$$C^XBFUNC("Correct error and reinstall otherwise")
W !,$$C^XBFUNC("please print/capture this screen and notify")
W !,$$C^XBFUNC("the Help Desk")
W !!,LINE
D BMES^XPDUTL("Sorry....something is wrong with your environment")
D BMES^XPDUTL("Enviroment ERROR "_$G(XPX))
D BMES^XPDUTL("Aborting "_XPDNM_" install!")
D BMES^XPDUTL("Correct error and reinstall otherwise")
D BMES^XPDUTL("please print/capture this screen and notify")
D BMES^XPDUTL("the Help Desk")
Q
;
BSDX2E ;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [ 08/22/2007 12:17 PM ]
+1 ;;2.0;IHS WINDOWS SCHEDULING;;NOV 01, 2007
+2 ;
+3 SET LINE=""
SET $PIECE(LINE,"*",81)=""
+4 ;NO QUEUING ALLOWED
SET XPDNOQUE="NO QUE"
+5 SET XPDABORT=0
+6 IF '$GET(DUZ)
DO SORRY("DUZ UNDEFINED OR 0")
QUIT
+7 ;
+8 IF '$LENGTH($GET(DUZ(0)))
DO SORRY("DUZ(0) UNDEFINED OR NULL")
QUIT
+9 ;
+10 DO HOME^%ZIS
DO DT^DICRW
+11 SET X=$PIECE($GET(^VA(200,DUZ,0)),U)
+12 IF $GET(X)=""
WRITE !,$$C^XBFUNC("Who are you????")
DO SORRY("Unknown User")
QUIT
+13 ;
VERSION ;
+1 WRITE !,$$C^XBFUNC("Hello, "_$PIECE(X,",",2)_" "_$PIECE(X,","))
+2 WRITE !!,$$C^XBFUNC("Checking Environment for Install of Version "_$PIECE($TEXT(+2),";",3)_" of "_$PIECE($TEXT(+2),";",4)_".")
+3 ;
+4 IF '$$VERCHK("VA FILEMAN",22)
QUIT
+5 IF '$$VERCHK("KERNEL",8)
QUIT
+6 ;Is the PIMS requirement present?
+7 IF '$$VERCHK("PIMS",5.3)
QUIT
+8 IF '$$PATCHCK("PIMS*5.3*1003")
QUIT D
+9 IF '$$VERCHK("BMX",2.0)
QUIT
+10 ;
OTHER ;
+1 ;Other checks
+2 ;
ENVOK ; If this is just an environ check, end here.
+1 WRITE !!,$$C^XBFUNC("ENVIRONMENT OK.")
+2 ;
+3 ; The following line prevents the "Disable Options..." and "Move
+4 ; Routines..." questions from being asked during the install.
+5 IF $GET(XPDENV)=1
SET (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0
+6 ;
+7 ;
+8 ;VERIFY BACKUPS HAVE BEEN DONE
+9 ;W !!
+10 ;S DIR(0)="Y"
+11 ;S DIR("B")="NO"
+12 ;S DIR("A")="Has a SUCCESSFUL system backup been performed??"
+13 ;D ^DIR
+14 ;I $D(DIRUT)!($G(Y)=0) S XPDABORT=1 S XPX="BACKUP" D SORRY Q
+15 ;S ^TMP("BPCPRE",$J,"BACKUPS CONFIRMED BY "_DUZ)=$H
+16 ;
+17 QUIT
+18 ;
VERCHK(XPXPKG,XVRMIN) ;
+1 SET X=$$VERSION^XPDUTL(XPXPKG)
+2 WRITE !!,$$C^XBFUNC("Need at least "_XPXPKG_" "_XVRMIN_"....."_XPXPKG_" "_$SELECT(X'="":X,1:"Is Not")_" Present")
+3 IF X<XVRMIN
DO SORRY(XPXPKG_" "_XVRMIN_" Is Not Installed")
QUIT 0
+4 QUIT 1
+5 ;
PATCHCK(XPXPCH) ;
+1 SET X=$$PATCH^XPDUTL(XPXPCH)
+2 WRITE !!,$$C^XBFUNC("Need "_XPXPCH_"....."_XPXPCH_" "_$SELECT(X:"Is",1:"Is Not")_" Present")
+3 QUIT X
+4 ;
V0200 ;EP Version 2.0 PostInit
+1 ;Add Protocol items to BSDAM APPOINTMENT EVENTS protocol
+2 ;
+3 NEW BSDXDA,BSDXFDA,BSDXDA1,BSDXSEQ,BSDXDAT,BSDXNOD,BSDXIEN,BSDXMSG
+4 SET BSDXDA=$ORDER(^ORD(101,"B","BSDAM APPOINTMENT EVENTS",0))
+5 IF '+BSDXDA
QUIT
+6 SET BSDXDAT="BSDX ADD APPOINTMENT;10.2^BSDX CANCEL APPOINTMENT;10.4^BSDX CHECKIN APPOINTMENT;10.6^BSDX NOSHOW APPOINTMENT;10.8"
+7 FOR J=1:1:$LENGTH(BSDXDAT,U)
Begin DoDot:1
+8 KILL BSDXIEN,BSDXMSG,BSDXFDA
+9 SET BSDXNOD=$PIECE(BSDXDAT,U,J)
+10 SET BSDXDA1=$PIECE(BSDXNOD,";")
+11 SET BSDXSEQ=$PIECE(BSDXNOD,";",2)
+12 SET BSDXDA1=$ORDER(^ORD(101,"B",BSDXDA1,0))
+13 IF '+BSDXDA1
QUIT
+14 IF $DATA(^ORD(101,BSDXDA,10,"B",BSDXDA1))
QUIT
+15 SET BSDXFDA(101.01,"+1,"_BSDXDA_",",".01")=BSDXDA1
+16 SET BSDXFDA(101.01,"+1,"_BSDXDA_",","3")=BSDXSEQ
+17 DO UPDATE^DIE("","BSDXFDA","BSDXIEN","BSDXMSG")
+18 QUIT
End DoDot:1
+19 QUIT
+20 ;
SORRY(XPX) ;
+1 KILL DIFQ
+2 SET XPDABORT=1
SET XPDBLD=$ORDER(^XTMP("XPDI",XPDA,"BLD",0))
+3 WRITE !,$$C^XBFUNC($PIECE(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,1)_" "_$PIECE(^XTMP("XPDI",XPDST,"BLD",XPDBLD,0),U,2)_" Cannot Be Installed!")
+4 WRITE !,$$C^XBFUNC("Reason: "_XPX_".")
+5 WRITE *7,!!!,$$C^XBFUNC("Sorry....something is wrong with your environment")
+6 WRITE !,$$C^XBFUNC("Aborting "_XPDNM_" install!")
+7 WRITE !,$$C^XBFUNC("Correct error and reinstall otherwise")
+8 WRITE !,$$C^XBFUNC("please print/capture this screen and notify")
+9 WRITE !,$$C^XBFUNC("the Help Desk")
+10 WRITE !!,LINE
+11 DO BMES^XPDUTL("Sorry....something is wrong with your environment")
+12 DO BMES^XPDUTL("Enviroment ERROR "_$GET(XPX))
+13 DO BMES^XPDUTL("Aborting "_XPDNM_" install!")
+14 DO BMES^XPDUTL("Correct error and reinstall otherwise")
+15 DO BMES^XPDUTL("please print/capture this screen and notify")
+16 DO BMES^XPDUTL("the Help Desk")
+17 QUIT
+18 ;