MAGJUTL5 ;WOIFO/JHC - VistARad RPCs ; [ 07/3/2006 17:17 ] ;;3.0;IMAGING;**65**;Jul 27, 2006;Build 28 ;;Per VHA Directive 2004-038, this routine should not be modified. ;; +---------------------------------------------------------------+ ;; | Property of the US Government. | ;; | No permission to copy or redistribute this software is given. | ;; | Use of unreleased versions of this software requires the user | ;; | to execute a written test agreement with the VistA Imaging | ;; | Development Office of the Department of Veterans Affairs, | ;; | telephone (301) 734-0100. | ;; | | ;; | The Food and Drug Administration classifies this software as | ;; | a medical device. As such, it may not be changed in any way. | ;; | Modifications to this software may result in an adulterated | ;; | medical device under 21CFR820, the use of which is considered | ;; | to be a violation of US Federal Statutes. | ;; +---------------------------------------------------------------+ ;; Q ; adapted from MAGGTU4 GETVER(SVRVER,SVRTVER,ALLOWCL) ; ; The Server Version SVRVER is hardcoded to match the Client ; so this Routine must be edited/distributed with a new Client ; released Client will have the T version that the server expects ; S SVRVER="3.0.65",SVRTVER=12 ; <*> Edit this line for each patch/T-version ; S ALLOWCL="|3.0.18|" ; note--patch 32 is numbered funny, so is hard-coded below Q ; CHKVER(MAGRY,CLVER,PLC,SVERSION) ; ; Input CLVER is the version of the Client ; format: Major.Minor.Patch.Build# (Build #=T-ver) eg 3.0.18.132 ; Ver 3.0.65.n is first client Ver that makes this call ; 3 possible return codes in MAGRY: ; 2^n~msg : Client displays a message and continues ; 1^1~msg : Client continues without displaying a message ; 0^n~msg : Client displays a message then Aborts ; PLC returns 2006.1 pointer ; S CLVER=$G(CLVER),PLC="",MAGRY="" N SV,ST,CV,CT,CP,ALLOWV,TESTFLAG,SVSTAT ; SVERSION = Full Server Version -> (3.0.18.132 or 3.0.18); test has 4, release has 3 parts ; SV = Server Version -> (3.0.18); only 1st 3 parts ; ST = Server T Version -> defined to always match client part-4 ; CV = Client Version, w/out build # ; CT = Client T Version alone ; CP = Client Patch alone ; ALLOWV = Hard coded string of allowed clients for this KIDS. ; TESTFLAG = 1/0 -- 1=Test vs of server code; 0=Release vs ;Below is placeholder for future enhancement: ;I $P(CLVER,"|",2)="RIV" D Q ;. S MAGJOB("RIV")=1 ;. ; Allowing |RIV clients always ;. S MAGRY="1^1~Allowing Remote Image Connection" ; I $G(DUZ(2)) S PLC=$$PLACE^MAGBAPI(DUZ(2)) ; Quit if we don't have a valid DUZ(2) or valid PLACE: ^MAG(2006.1,PLC) I 'PLC S MAGRY="0^4~Error verifying Imaging Site (Place) -- Contact Imaging support." Q ; D GETVER(.SV,.ST,.ALLOWV) S CLVER=$P(CLVER,"|") S CV=$P(CLVER,".",1,3),CT=+$P(CLVER,".",4),CP=+$P(CLVER,".",3) ; D VERSTAT(.SVSTAT,SV) I 'SVSTAT S MAGRY(0)=SVSTAT Q ; KIDS status for this version indeterminate S TESTFLAG=(+SVSTAT=1) S SVERSION=SV I TESTFLAG S SVERSION=SV_"."_ST ; ; Patch 32 client is OK: I CLVER="3.0.41.17" S MAGRY="1^1~P32 Client Version Check OK. Server: "_SVERSION_" Client: "_CLVER Q ; Other Version differences: I (CV'=SV) D Q . I '(ALLOWV[("|"_CV_"|")) D Q . . S MAGRY="0^4~VistARad Workstation software version "_CLVER_" is not compatible with the VistA server version "_SVERSION_". Contact Imaging support. (CNA)" . ; Don't allow Test versions of P18 . I CP=18,(CT'=132) D Q . . S MAGRY="0^4~VistARad Workstation software version "_CLVER_" is not compatible with the VistA server version "_SVERSION_". Contact Imaging support. (C18T)" . ; Warn the Client, allow to continue . 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)" . 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)" . Q ; Versions are the Same: If T versions are not, warn the Client if needed. ; Released Client (of any version) will have the T version that the server ; expects, and no warning will be displayed. I CT,(CT'=ST) D Q . 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 . . I CT