Ignore:
Timestamp:
Dec 4, 2009, 12:11:15 AM (14 years ago)
Author:
George Lilly
Message:

revised back to 6/30/08 version

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     ;
     1MAGJUTL5 ;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
     21GETVER(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 ;
     31CHKVER(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 ;
     97VERSTAT(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       ;
     113END ;
Note: See TracChangeset for help on using the changeset viewer.