| [885] | 1 | BSDX2E  ;IHS/OIT/MJL - ENVIRONMENT CHECK FOR WINDOWS SCHEDULING [7/18/10 4:30pm] | 
|---|
| [951] | 2 | ;;1.4;BSDX;;Sep 07, 2010 | 
|---|
| [614] | 3 | ; | 
|---|
|  | 4 | S LINE="",$P(LINE,"*",81)="" | 
|---|
|  | 5 | S XPDNOQUE="NO QUE"  ;NO QUEUING ALLOWED | 
|---|
|  | 6 | S XPDABORT=0 | 
|---|
|  | 7 | I '$G(DUZ) D SORRY("DUZ UNDEFINED OR 0") Q | 
|---|
|  | 8 | ; | 
|---|
|  | 9 | I '$L($G(DUZ(0))) D SORRY("DUZ(0) UNDEFINED OR NULL") Q | 
|---|
|  | 10 | ; | 
|---|
|  | 11 | D HOME^%ZIS,DT^DICRW | 
|---|
|  | 12 | S X=$P($G(^VA(200,DUZ,0)),U) | 
|---|
|  | 13 | I $G(X)="" W !,$$C^XBFUNC("Who are you????") D SORRY("Unknown User") Q | 
|---|
|  | 14 | ; | 
|---|
|  | 15 | VERSION ; | 
|---|
|  | 16 | W !,$$C^XBFUNC("Hello, "_$P(X,",",2)_" "_$P(X,",")) | 
|---|
|  | 17 | W !!,$$C^XBFUNC("Checking Environment for Install of Version "_$P($T(+2),";",3)_" of "_$P($T(+2),";",4)_".") | 
|---|
|  | 18 | ; | 
|---|
|  | 19 | Q:'$$VERCHK("VA FILEMAN",22) | 
|---|
|  | 20 | Q:'$$VERCHK("KERNEL",8) | 
|---|
|  | 21 | Q:'$$VERCHK("XB",3) | 
|---|
|  | 22 | ;Is the PIMS requirement present? | 
|---|
|  | 23 | Q:'$$VERCHK("SD",5.3) | 
|---|
|  | 24 | ; Q:'$$PATCHCK("PIMS*5.3*1003") D | 
|---|
|  | 25 | Q:'$$VERCHK("BMX",2) | 
|---|
|  | 26 | ; | 
|---|
|  | 27 | OTHER   ; | 
|---|
|  | 28 | ;Other checks | 
|---|
|  | 29 | ; | 
|---|
|  | 30 | ENVOK   ; If this is just an environ check, end here. | 
|---|
|  | 31 | W !!,$$C^XBFUNC("ENVIRONMENT OK.") | 
|---|
|  | 32 | ; | 
|---|
|  | 33 | ; The following line prevents the "Disable Options..." and "Move | 
|---|
|  | 34 | ; Routines..." questions from being asked during the install. | 
|---|
|  | 35 | I $G(XPDENV)=1 S (XPDDIQ("XPZ1"),XPDDIQ("XPZ2"))=0 | 
|---|
|  | 36 | ; | 
|---|
|  | 37 | ; | 
|---|
|  | 38 | ;VERIFY BACKUPS HAVE BEEN DONE | 
|---|
|  | 39 | ;W !! | 
|---|
|  | 40 | ;S DIR(0)="Y" | 
|---|
|  | 41 | ;S DIR("B")="NO" | 
|---|
|  | 42 | ;S DIR("A")="Has a SUCCESSFUL system backup been performed??" | 
|---|
|  | 43 | ;D ^DIR | 
|---|
|  | 44 | ;I $D(DIRUT)!($G(Y)=0) S XPDABORT=1 S XPX="BACKUP" D SORRY Q | 
|---|
|  | 45 | ;S ^TMP("BPCPRE",$J,"BACKUPS CONFIRMED BY "_DUZ)=$H | 
|---|
|  | 46 | ; | 
|---|
|  | 47 | Q | 
|---|
|  | 48 | ; | 
|---|
|  | 49 | VERCHK(XPXPKG,XVRMIN)   ; | 
|---|
|  | 50 | S X=$$VERSION^XPDUTL(XPXPKG) | 
|---|
|  | 51 | W !!,$$C^XBFUNC("Need at least "_XPXPKG_" "_XVRMIN_"....."_XPXPKG_" "_$S(X'="":X,1:"Is Not")_" Present") | 
|---|
|  | 52 | I X<XVRMIN  D SORRY(XPXPKG_" "_XVRMIN_" Is Not Installed") Q 0 | 
|---|
|  | 53 | Q 1 | 
|---|
|  | 54 | ; | 
|---|
|  | 55 | PATCHCK(XPXPCH) ; | 
|---|
|  | 56 | S X=$$PATCH^XPDUTL(XPXPCH) | 
|---|
|  | 57 | W !!,$$C^XBFUNC("Need "_XPXPCH_"....."_XPXPCH_" "_$S(X:"Is",1:"Is Not")_" Present") | 
|---|
|  | 58 | Q X | 
|---|
|  | 59 | ; | 
|---|
| [885] | 60 | V0200   ;EP Version 1.3 PostInit | 
|---|
| [614] | 61 | ;Add Protocol items to SDAM APPOINTMENT EVENTS protocol | 
|---|
| [888] | 62 | ;Remove protocols known to cause problems from SDAM APPOINTMENT EVENTS | 
|---|
| [614] | 63 | ; | 
|---|
|  | 64 | N BSDXDA,BSDXFDA,BSDXDA1,BSDXSEQ,BSDXDAT,BSDXNOD,BSDXIEN,BSDXMSG | 
|---|
| [888] | 65 | ; | 
|---|
|  | 66 | ; 1st, add the BSDX event protocols | 
|---|
|  | 67 | ; Get SDAM APPOINTMENT EVENTS IEN in 101 | 
|---|
| [614] | 68 | S BSDXDA=$O(^ORD(101,"B","SDAM APPOINTMENT EVENTS",0)) | 
|---|
|  | 69 | Q:'+BSDXDA | 
|---|
| [888] | 70 | ; Add each of those protocols unless they already exist. | 
|---|
| [614] | 71 | S BSDXDAT="BSDX ADD APPOINTMENT;10.2^BSDX CANCEL APPOINTMENT;10.4^BSDX CHECKIN APPOINTMENT;10.6^BSDX NOSHOW APPOINTMENT;10.8" | 
|---|
| [888] | 72 | ; For each | 
|---|
|  | 73 | F J=1:1:$L(BSDXDAT,U) D | 
|---|
| [614] | 74 | . K BSDXIEN,BSDXMSG,BSDXFDA | 
|---|
| [888] | 75 | . ; Get Item | 
|---|
| [614] | 76 | . S BSDXNOD=$P(BSDXDAT,U,J) | 
|---|
| [885] | 77 | . ; Get Item Name (BSDX ADD APPOINTMENT) | 
|---|
| [888] | 78 | . S BSDXDA1=$P(BSDXNOD,";") | 
|---|
|  | 79 | . ; Get Item Sequence (10.2) | 
|---|
| [614] | 80 | . S BSDXSEQ=$P(BSDXNOD,";",2) | 
|---|
| [888] | 81 | . ; Get Item Reference (Item is already in the protocol file) | 
|---|
| [614] | 82 | . S BSDXDA1=$O(^ORD(101,"B",BSDXDA1,0)) | 
|---|
| [888] | 83 | . ; Quit if not found | 
|---|
| [614] | 84 | . Q:'+BSDXDA1 | 
|---|
| [888] | 85 | . ; Quit if already exists in the SDAM protocol | 
|---|
| [614] | 86 | . Q:$D(^ORD(101,BSDXDA,10,"B",BSDXDA1)) | 
|---|
| [888] | 87 | . ; Go ahead and save it. | 
|---|
| [614] | 88 | . S BSDXFDA(101.01,"+1,"_BSDXDA_",",".01")=BSDXDA1 | 
|---|
|  | 89 | . S BSDXFDA(101.01,"+1,"_BSDXDA_",","3")=BSDXSEQ | 
|---|
|  | 90 | . D UPDATE^DIE("","BSDXFDA","BSDXIEN","BSDXMSG") | 
|---|
| [888] | 91 | . ; Error message | 
|---|
|  | 92 | . I $D(BSDXMSG) W $C(7),"Error: ",BSDXMSG("DIERR",1,"TEXT",1) | 
|---|
|  | 93 | ; | 
|---|
|  | 94 | ; Remove nassssty protocols ORU PATIENT MOVMT and DVBA C&P SCHD EVENT | 
|---|
|  | 95 | ; SDAM APPOINTMENT EVENTS IENS for use in FIND1^DIC | 
|---|
|  | 96 | N SDEVTIENS S SDEVTIENS=","_BSDXDA_"," | 
|---|
|  | 97 | ; Subfile entry for ORU... | 
|---|
|  | 98 | N ORUIEN S ORUIEN=$$FIND1^DIC(101.01,SDEVTIENS,"","ORU PATIENT MOVMT") | 
|---|
|  | 99 | ; Subfile entry for DVBA... | 
|---|
|  | 100 | N DVBAIEN S DVBAIEN=$$FIND1^DIC(101.01,SDEVTIENS,"","DVBA C&P SCHD EVENT") | 
|---|
|  | 101 | ; Deletion code | 
|---|
|  | 102 | N BSDXFDA,BSDXMSG | 
|---|
|  | 103 | S:ORUIEN>0 BSDXFDA(101.01,ORUIEN_SDEVTIENS,.01)="@" | 
|---|
|  | 104 | S:DVBAIEN>0 BSDXFDA(101.01,DVBAIEN_SDEVTIENS,.01)="@" | 
|---|
|  | 105 | D:$D(BSDXFDA) FILE^DIE("","BSDXFDA","BSDXMSG") | 
|---|
|  | 106 | ; If error | 
|---|
|  | 107 | I $D(BSDXMSG) W $C(7),"Error: ",BSDXMSG("DIERR",1,"TEXT",1) | 
|---|
| [885] | 108 | QUIT | 
|---|
| [614] | 109 | ; | 
|---|
|  | 110 | SORRY(XPX)      ; | 
|---|
|  | 111 | K DIFQ | 
|---|
|  | 112 | S XPDABORT=1 | 
|---|
|  | 113 | W !,$$C^XBFUNC($P($T(+2),";",3)_" of "_$P($T(+2),";",4)_" Cannot Be Installed!") | 
|---|
|  | 114 | W !,$$C^XBFUNC("Reason: "_XPX_".") | 
|---|
|  | 115 | W *7,!!!,$$C^XBFUNC("Sorry....something is wrong with your environment") | 
|---|
|  | 116 | W !,$$C^XBFUNC("Aborting "_XPDNM_" install!") | 
|---|
|  | 117 | W !,$$C^XBFUNC("Correct error and reinstall otherwise") | 
|---|
|  | 118 | W !,$$C^XBFUNC("please print/capture this screen and notify") | 
|---|
|  | 119 | W !,$$C^XBFUNC("technical support") | 
|---|
|  | 120 | W !!,LINE | 
|---|
|  | 121 | D BMES^XPDUTL("Sorry....something is wrong with your environment") | 
|---|
|  | 122 | D BMES^XPDUTL("Enviroment ERROR "_$G(XPX)) | 
|---|
|  | 123 | D BMES^XPDUTL("Aborting "_XPDNM_" install!") | 
|---|
|  | 124 | D BMES^XPDUTL("Correct error and reinstall otherwise") | 
|---|
|  | 125 | D BMES^XPDUTL("please print/capture this screen and notify") | 
|---|
|  | 126 | D BMES^XPDUTL("technical support") | 
|---|
|  | 127 | Q | 
|---|
|  | 128 | ; | 
|---|