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 ;
|
---|