Changeset 623 for WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGJUTL5.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGJUTL5.m
r613 r623 1 MAGJUTL5 ;WOIFO/JHC - VistARad RPCs ; [ 07/3/2006 17:17 ] 2 ;;3.0;IMAGING;**65,76**;Jun 22, 2007;Build 19 3 ;;Per VHA Directive 2004-038, this routine should not be modified. 4 ;; +---------------------------------------------------------------+ 5 ;; | Property of the US Government. | 6 ;; | No permission to copy or redistribute this software is given. | 7 ;; | Use of unreleased versions of this software requires the user | 8 ;; | to execute a written test agreement with the VistA Imaging | 9 ;; | Development Office of the Department of Veterans Affairs, | 10 ;; | telephone (301) 734-0100. | 11 ;; | | 12 ;; | The Food and Drug Administration classifies this software as | 13 ;; | a medical device. As such, it may not be changed in any way. | 14 ;; | Modifications to this software may result in an adulterated | 15 ;; | medical device under 21CFR820, the use of which is considered | 16 ;; | to be a violation of US Federal Statutes. | 17 ;; +---------------------------------------------------------------+ 18 ;; 19 Q 20 ; adapted from MAGGTU4 21 GETVER(SVRVER,SVRTVER,ALLOWCL) ; 22 ; The Server Version SVRVER is hardcoded to match the Client 23 ; so this Routine must be edited/distributed with a new Client 24 ; released Client will have the T version that the server expects 25 ; 26 S SVRVER="3.0.76",SVRTVER=14 ; <*> Edit this line for each patch/T-version 27 ; 28 S ALLOWCL="|3.0.65|" ; 29 Q 30 ; 31 CHKVER(MAGRY,CLVER,PLC,SVERSION) ; 32 ; Input CLVER is the version of the Client 33 ; format: Major.Minor.Patch.Build# (Build #=T-ver) eg 3.0.18.132 34 ; Ver 3.0.65.n is first client Ver that makes this call 35 ; 3 possible return codes in MAGRY: 36 ; 2^n~msg : Client displays a message and continues 37 ; 1^1~msg : Client continues without displaying a message 38 ; 0^n~msg : Client displays a message then Aborts 39 ; PLC returns 2006.1 pointer 40 ; 41 S CLVER=$G(CLVER),PLC="",MAGRY="" 42 N SV,ST,CV,CT,CP,ALLOWV,TESTFLAG,SVSTAT 43 ; SVERSION = Full Server Version -> (3.0.18.132 or 3.0.18); test has 4, release has 3 parts 44 ; SV = Server Version -> (3.0.18); only 1st 3 parts 45 ; ST = Server T Version -> defined to always match client part-4 46 ; CV = Client Version, w/out build # 47 ; CT = Client T Version alone 48 ; CP = Client Patch alone 49 ; ALLOWV = Hard coded string of allowed clients for this KIDS. 50 ; TESTFLAG = 1/0 -- 1=Test vs of server code; 0=Release vs 51 ;Below is placeholder for future enhancement: 52 ;I $P(CLVER,"|",2)="RIV" D Q 53 ;. S MAGJOB("RIV")=1 54 ;. ; Allowing |RIV clients always 55 ;. S MAGRY="1^1~Allowing Remote Image Connection" 56 ; 57 I $G(DUZ(2)) S PLC=$$PLACE^MAGBAPI(DUZ(2)) 58 ; Quit if we don't have a valid DUZ(2) or valid PLACE: ^MAG(2006.1,PLC) 59 I 'PLC S MAGRY="0^4~Error verifying Imaging Site (Place) -- Contact Imaging support." Q 60 ; 61 D GETVER(.SV,.ST,.ALLOWV) 62 S CLVER=$P(CLVER,"|") 63 S CV=$P(CLVER,".",1,3),CT=+$P(CLVER,".",4),CP=+$P(CLVER,".",3) 64 ; 65 D VERSTAT(.SVSTAT,SV) 66 I 'SVSTAT S MAGRY(0)=SVSTAT Q ; KIDS status for this version indeterminate 67 S TESTFLAG=(+SVSTAT=1) 68 S SVERSION=SV 69 I TESTFLAG S SVERSION=SV_"."_ST 70 ; Check Version differences: 71 I (CV'=SV) D Q 72 . I '(ALLOWV[("|"_CV_"|")) D Q 73 . . S MAGRY="0^4~VistARad Workstation software version "_CLVER_" is not compatible with the VistA server version "_SVERSION_". Contact Imaging support. (CNA)" 74 . ; Warn the Client, allow to continue 75 . I TESTFLAG S MAGRY="2^3~VistARad Workstation software version "_CLVER_" is running with VistA server TEST Version "_SVERSION_" -- VistARad will Continue, but contact Imaging Support if problems occur. (Pdif)" 76 . E S MAGRY="2^3~VistARad Workstation software version "_CLVER_" is running with VistA server Version "_SVERSION_" -- VistARad will Continue, but contact Imaging Support to install Released Version. (RPdif)" 77 . Q 78 ; Versions are the Same: If T versions are not, warn the Client if needed. 79 ; Released Client (of any version) will have the T version that the server 80 ; expects, and no warning will be displayed. 81 I CT,(CT'=ST) D Q 82 . I TESTFLAG S MAGRY="2^3~VistARad Workstation software vs. "_CLVER_" is running with VistA server TEST vs. "_SVERSION_" -- VistARad will Continue, but contact Imaging Support " D 83 . . I CT<ST S MAGRY=MAGRY_"to install updated client software. (Tdif-1)" 84 . . E S MAGRY=MAGRY_"to update the Server software. (Tdif-2)" 85 . E S MAGRY="2^3~VistARad Workstation software vs. "_CLVER_" is running with VistA server vs. "_SVERSION_" -- VistARad will Continue, but contact Imaging Support to install Released Version. (RVdif)" 86 . Q 87 ; Client and Server Versions are the same 88 S MAGRY="1^1~Version Check OK. Server: "_SVERSION_" Client: "_CLVER Q 89 Q 90 ; 91 P32STOP(RET) ; logic to indicate P32 should no longer function, once the RELEASED P76 is installed 92 ; This is invoked from magjutl3, P76 version, if a P32 client is launched 93 ; RET=1/0 ^ text -- 0 = OK to run P32; 1 = Not OK 94 N SV,ST,ALLOWV,SVSTAT,RELEASED 95 S RET="0^P32 supported" ; init return to allow p32 to function 96 D GETVER(.SV,.ST,.ALLOWV) 97 D VERSTAT(.SVSTAT,SV) 98 I 'SVSTAT S RET="0^Error, but on side of caution, allow running." Q ; KIDS status for this version indeterminate 99 S RELEASED=(+SVSTAT=2) 100 I RELEASED!(SV'="3.0.76") S RET="1^P32 support over" ; don't allow P32 to function 101 Q 102 ; 103 VERSTAT(MAGRY,MAGVER) ; 104 ; Returns the status of an Imaging Version 105 ; Input: 106 ; MAGVER - Version number in format MAG*3.0*59 or 3.0.59 107 ; Return: MAGRY = 0/1/2 -- see below; 0: abort; else, OK to proceed 108 ; 109 N VERI,TVER,MAGERR 110 I +MAGVER S MAGVER="MAG*"_$P(MAGVER,".",1,2)_"*"_$P(MAGVER,".",3) 111 S VERI=$$FIND1^DIC(9.6,"","O",MAGVER,"","","MAGERR") 112 I 'VERI S MAGRY="0^4~There is No KIDs Install record." 113 E D 114 . S TVER=$$GET1^DIQ(9.6,VERI_",","ALPHA/BETA TESTING") 115 . I TVER="YES" S MAGRY="1^Alpha/Beta Version" 116 . E I TVER="NO" S MAGRY="2^Released Version" 117 . E S MAGRY="0^4~KIDs Install Status is unknown--contact Customer Support." 118 Q ; 119 END ; 1 MAGJUTL5 ;WOIFO/JHC - VistARad RPCs ; [ 07/3/2006 17:17 ] 2 ;;3.0;IMAGING;**65**;Jul 27, 2006;Build 28 3 ;;Per VHA Directive 2004-038, this routine should not be modified. 4 ;; +---------------------------------------------------------------+ 5 ;; | Property of the US Government. | 6 ;; | No permission to copy or redistribute this software is given. | 7 ;; | Use of unreleased versions of this software requires the user | 8 ;; | to execute a written test agreement with the VistA Imaging | 9 ;; | Development Office of the Department of Veterans Affairs, | 10 ;; | telephone (301) 734-0100. | 11 ;; | | 12 ;; | The Food and Drug Administration classifies this software as | 13 ;; | a medical device. As such, it may not be changed in any way. | 14 ;; | Modifications to this software may result in an adulterated | 15 ;; | medical device under 21CFR820, the use of which is considered | 16 ;; | to be a violation of US Federal Statutes. | 17 ;; +---------------------------------------------------------------+ 18 ;; 19 Q 20 ; adapted from MAGGTU4 21 GETVER(SVRVER,SVRTVER,ALLOWCL) ; 22 ; The Server Version SVRVER is hardcoded to match the Client 23 ; so this Routine must be edited/distributed with a new Client 24 ; released Client will have the T version that the server expects 25 ; 26 S SVRVER="3.0.65",SVRTVER=12 ; <*> Edit this line for each patch/T-version 27 ; 28 S ALLOWCL="|3.0.18|" ; note--patch 32 is numbered funny, so is hard-coded below 29 Q 30 ; 31 CHKVER(MAGRY,CLVER,PLC,SVERSION) ; 32 ; Input CLVER is the version of the Client 33 ; format: Major.Minor.Patch.Build# (Build #=T-ver) eg 3.0.18.132 34 ; Ver 3.0.65.n is first client Ver that makes this call 35 ; 3 possible return codes in MAGRY: 36 ; 2^n~msg : Client displays a message and continues 37 ; 1^1~msg : Client continues without displaying a message 38 ; 0^n~msg : Client displays a message then Aborts 39 ; PLC returns 2006.1 pointer 40 ; 41 S CLVER=$G(CLVER),PLC="",MAGRY="" 42 N SV,ST,CV,CT,CP,ALLOWV,TESTFLAG,SVSTAT 43 ; SVERSION = Full Server Version -> (3.0.18.132 or 3.0.18); test has 4, release has 3 parts 44 ; SV = Server Version -> (3.0.18); only 1st 3 parts 45 ; ST = Server T Version -> defined to always match client part-4 46 ; CV = Client Version, w/out build # 47 ; CT = Client T Version alone 48 ; CP = Client Patch alone 49 ; ALLOWV = Hard coded string of allowed clients for this KIDS. 50 ; TESTFLAG = 1/0 -- 1=Test vs of server code; 0=Release vs 51 ;Below is placeholder for future enhancement: 52 ;I $P(CLVER,"|",2)="RIV" D Q 53 ;. S MAGJOB("RIV")=1 54 ;. ; Allowing |RIV clients always 55 ;. S MAGRY="1^1~Allowing Remote Image Connection" 56 ; 57 I $G(DUZ(2)) S PLC=$$PLACE^MAGBAPI(DUZ(2)) 58 ; Quit if we don't have a valid DUZ(2) or valid PLACE: ^MAG(2006.1,PLC) 59 I 'PLC S MAGRY="0^4~Error verifying Imaging Site (Place) -- Contact Imaging support." Q 60 ; 61 D GETVER(.SV,.ST,.ALLOWV) 62 S CLVER=$P(CLVER,"|") 63 S CV=$P(CLVER,".",1,3),CT=+$P(CLVER,".",4),CP=+$P(CLVER,".",3) 64 ; 65 D VERSTAT(.SVSTAT,SV) 66 I 'SVSTAT S MAGRY(0)=SVSTAT Q ; KIDS status for this version indeterminate 67 S TESTFLAG=(+SVSTAT=1) 68 S SVERSION=SV 69 I TESTFLAG S SVERSION=SV_"."_ST 70 ; 71 ; Patch 32 client is OK: 72 I CLVER="3.0.41.17" S MAGRY="1^1~P32 Client Version Check OK. Server: "_SVERSION_" Client: "_CLVER Q 73 ; Other Version differences: 74 I (CV'=SV) D Q 75 . I '(ALLOWV[("|"_CV_"|")) D Q 76 . . S MAGRY="0^4~VistARad Workstation software version "_CLVER_" is not compatible with the VistA server version "_SVERSION_". Contact Imaging support. (CNA)" 77 . ; Don't allow Test versions of P18 78 . I CP=18,(CT'=132) D Q 79 . . S MAGRY="0^4~VistARad Workstation software version "_CLVER_" is not compatible with the VistA server version "_SVERSION_". Contact Imaging support. (C18T)" 80 . ; Warn the Client, allow to continue 81 . I TESTFLAG S MAGRY="2^3~VistARad Workstation software version "_CLVER_" is running with VistA server TEST Version "_SVERSION_" -- VistARad will Continue, but contact Imaging Support if problems occur. (Pdif)" 82 . E S MAGRY="2^3~VistARad Workstation software version "_CLVER_" is running with VistA server Version "_SVERSION_" -- VistARad will Continue, but contact Imaging Support to install Released Version. (RPdif)" 83 . Q 84 ; Versions are the Same: If T versions are not, warn the Client if needed. 85 ; Released Client (of any version) will have the T version that the server 86 ; expects, and no warning will be displayed. 87 I CT,(CT'=ST) D Q 88 . I TESTFLAG S MAGRY="2^3~VistARad Workstation software vs. "_CLVER_" is running with VistA server TEST vs. "_SVERSION_" -- VistARad will Continue, but contact Imaging Support " D 89 . . I CT<ST S MAGRY=MAGRY_"to install updated client software. (Tdif-1)" 90 . . E S MAGRY=MAGRY_"to update the Server software. (Tdif-2)" 91 . E S MAGRY="2^3~VistARad Workstation software vs. "_CLVER_" is running with VistA server vs. "_SVERSION_" -- VistARad will Continue, but contact Imaging Support to install Released Version. (RVdif)" 92 . Q 93 ; Client and Server Versions are the same 94 S MAGRY="1^1~Version Check OK. Server: "_SVERSION_" Client: "_CLVER Q 95 Q 96 ; 97 VERSTAT(MAGRY,MAGVER) ; 98 ; Returns the status of an Imaging Version 99 ; Input: 100 ; MAGVER - Version number in format MAG*3.0*59 or 3.0.59 101 ; Return: MAGRY = 0/1/2 -- see below; 0: abort; else, OK to proceed 102 ; 103 N VERI,TVER,MAGERR 104 I +MAGVER S MAGVER="MAG*"_$P(MAGVER,".",1,2)_"*"_$P(MAGVER,".",3) 105 S VERI=$$FIND1^DIC(9.6,"","",MAGVER,"","","MAGERR") 106 I 'VERI S MAGRY="0^4~There is No KIDs Install record." 107 E D 108 . S TVER=$$GET1^DIQ(9.6,VERI_",","ALPHA/BETA TESTING") 109 . I TVER="YES" S MAGRY="1^Alpha/Beta Version" 110 . E I TVER="NO" S MAGRY="2^Released Version" 111 . E S MAGRY="0^4~KIDs Install Status is unknown--contact Customer Support." 112 Q ; 113 END ;
Note:
See TracChangeset
for help on using the changeset viewer.