KIDS Distribution saved on Jun 05, 2017@11:20:55 VistA Imaging V3 - P184 VistARAD 2FA SSOi **KIDS**:MAG*3.0*184^ **INSTALL NAME** MAG*3.0*184 "BLD",8354,0) MAG*3.0*184^IMAGING^0^3170605^y "BLD",8354,1,0) ^^7^7^3170315^ "BLD",8354,1,1,0) VistA Imaging V3.0 - Path 184 2FA/SSOi VistARAD "BLD",8354,1,2,0) "BLD",8354,1,3,0) "BLD",8354,1,4,0) Routines: "BLD",8354,1,5,0) "BLD",8354,1,6,0) MAGJTU4V Value = 5410256 "BLD",8354,1,7,0) MAGJUTL5 value = 38266240 "BLD",8354,4,0) ^9.64PA^^ "BLD",8354,6.3) 22 "BLD",8354,"ABNS",0) ^9.66A^^ "BLD",8354,"ABPKG") n^n^G.IMAGING DEVELOPMENT TEAM@AADOMAIN.EXT "BLD",8354,"INI") "BLD",8354,"INID") n^n^ "BLD",8354,"INIT") POSTINST^MAGJMN1 "BLD",8354,"KRN",0) ^9.67PA^779.2^20 "BLD",8354,"KRN",.4,0) .4 "BLD",8354,"KRN",.4,"NM",0) ^9.68A^^ "BLD",8354,"KRN",.401,0) .401 "BLD",8354,"KRN",.402,0) .402 "BLD",8354,"KRN",.402,"NM",0) ^9.68A^^ "BLD",8354,"KRN",.403,0) .403 "BLD",8354,"KRN",.5,0) .5 "BLD",8354,"KRN",.5,"NM",0) ^9.68A^^ "BLD",8354,"KRN",.84,0) .84 "BLD",8354,"KRN",.84,"NM",0) ^9.68A^^ "BLD",8354,"KRN",3.6,0) 3.6 "BLD",8354,"KRN",3.6,"NM",0) ^9.68A^^ "BLD",8354,"KRN",3.8,0) 3.8 "BLD",8354,"KRN",3.8,"NM",0) ^9.68A^^ "BLD",8354,"KRN",9.2,0) 9.2 "BLD",8354,"KRN",9.8,0) 9.8 "BLD",8354,"KRN",9.8,"NM",0) ^9.68A^3^2 "BLD",8354,"KRN",9.8,"NM",1,0) MAGJTU4V^^0^B5409615 "BLD",8354,"KRN",9.8,"NM",3,0) MAGJUTL5^^0^B38266296 "BLD",8354,"KRN",9.8,"NM","B","MAGJTU4V",1) "BLD",8354,"KRN",9.8,"NM","B","MAGJUTL5",3) "BLD",8354,"KRN",19,0) 19 "BLD",8354,"KRN",19,"NM",0) ^9.68A^^ "BLD",8354,"KRN",19.1,0) 19.1 "BLD",8354,"KRN",19.1,"NM",0) ^9.68A^^ "BLD",8354,"KRN",101,0) 101 "BLD",8354,"KRN",409.61,0) 409.61 "BLD",8354,"KRN",771,0) 771 "BLD",8354,"KRN",771,"NM",0) ^9.68A^^ "BLD",8354,"KRN",779.2,0) 779.2 "BLD",8354,"KRN",870,0) 870 "BLD",8354,"KRN",8989.51,0) 8989.51 "BLD",8354,"KRN",8989.51,"NM",0) ^9.68A^^ "BLD",8354,"KRN",8989.52,0) 8989.52 "BLD",8354,"KRN",8994,0) 8994 "BLD",8354,"KRN","B",.4,.4) "BLD",8354,"KRN","B",.401,.401) "BLD",8354,"KRN","B",.402,.402) "BLD",8354,"KRN","B",.403,.403) "BLD",8354,"KRN","B",.5,.5) "BLD",8354,"KRN","B",.84,.84) "BLD",8354,"KRN","B",3.6,3.6) "BLD",8354,"KRN","B",3.8,3.8) "BLD",8354,"KRN","B",9.2,9.2) "BLD",8354,"KRN","B",9.8,9.8) "BLD",8354,"KRN","B",19,19) "BLD",8354,"KRN","B",19.1,19.1) "BLD",8354,"KRN","B",101,101) "BLD",8354,"KRN","B",409.61,409.61) "BLD",8354,"KRN","B",771,771) "BLD",8354,"KRN","B",779.2,779.2) "BLD",8354,"KRN","B",870,870) "BLD",8354,"KRN","B",8989.51,8989.51) "BLD",8354,"KRN","B",8989.52,8989.52) "BLD",8354,"KRN","B",8994,8994) "BLD",8354,"PRE") MAGJMN1 "BLD",8354,"QDEF") ^^^^^^^^^^ "BLD",8354,"QUES",0) ^9.62^^ "BLD",8354,"REQB",0) ^9.611^1^1 "BLD",8354,"REQB",1,0) MAG*3.0*153^2 "BLD",8354,"REQB","B","MAG*3.0*153",1) "INIT") POSTINST^MAGJMN1 "MBREQ") 0 "PKG",454,-1) 1^1 "PKG",454,0) IMAGING^MAG^Imaging-V1 to release "PKG",454,20,0) ^9.402P^^ "PKG",454,22,0) ^9.49I^1^1 "PKG",454,22,1,0) 3.0^3020319^3020517^126 "PKG",454,22,1,"PAH",1,0) 184^3170605^126 "PKG",454,22,1,"PAH",1,1,0) ^^7^7^3170605 "PKG",454,22,1,"PAH",1,1,1,0) VistA Imaging V3.0 - Path 184 2FA/SSOi VistARAD "PKG",454,22,1,"PAH",1,1,2,0) "PKG",454,22,1,"PAH",1,1,3,0) "PKG",454,22,1,"PAH",1,1,4,0) Routines: "PKG",454,22,1,"PAH",1,1,5,0) "PKG",454,22,1,"PAH",1,1,6,0) MAGJTU4V Value = 5410256 "PKG",454,22,1,"PAH",1,1,7,0) MAGJUTL5 value = 38266240 "PRE") MAGJMN1 "QUES","XPF1",0) Y "QUES","XPF1","??") ^D REP^XPDH "QUES","XPF1","A") Shall I write over your |FLAG| File "QUES","XPF1","B") YES "QUES","XPF1","M") D XPF1^XPDIQ "QUES","XPF2",0) Y "QUES","XPF2","??") ^D DTA^XPDH "QUES","XPF2","A") Want my data |FLAG| yours "QUES","XPF2","B") YES "QUES","XPF2","M") D XPF2^XPDIQ "QUES","XPI1",0) YO "QUES","XPI1","??") ^D INHIBIT^XPDH "QUES","XPI1","A") Want KIDS to INHIBIT LOGONs during the install "QUES","XPI1","B") NO "QUES","XPI1","M") D XPI1^XPDIQ "QUES","XPM1",0) PO^VA(200,:EM "QUES","XPM1","??") ^D MG^XPDH "QUES","XPM1","A") Enter the Coordinator for Mail Group '|FLAG|' "QUES","XPM1","B") "QUES","XPM1","M") D XPM1^XPDIQ "QUES","XPO1",0) Y "QUES","XPO1","??") ^D MENU^XPDH "QUES","XPO1","A") Want KIDS to Rebuild Menu Trees Upon Completion of Install "QUES","XPO1","B") NO "QUES","XPO1","M") D XPO1^XPDIQ "QUES","XPZ1",0) Y "QUES","XPZ1","??") ^D OPT^XPDH "QUES","XPZ1","A") Want to DISABLE Scheduled Options, Menu Options, and Protocols "QUES","XPZ1","B") NO "QUES","XPZ1","M") D XPZ1^XPDIQ "QUES","XPZ2",0) Y "QUES","XPZ2","??") ^D RTN^XPDH "QUES","XPZ2","A") Want to MOVE routines to other CPUs "QUES","XPZ2","B") NO "QUES","XPZ2","M") D XPZ2^XPDIQ "RTN") 3 "RTN","MAGJMN1") 0^^B98640707 "RTN","MAGJMN1",1,0) MAGJMN1 ;WIRMFO/JHC/DAC - VRad Maint functions ; 6 Jun 2017 10:35 AM "RTN","MAGJMN1",2,0) ;;3.0;IMAGING;**16,9,22,18,65,76,101,90,115,120,133,152,153,184**;Mar 19, 2002;Build 22 "RTN","MAGJMN1",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGJMN1",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGJMN1",5,0) ;; | Property of the US Government. | "RTN","MAGJMN1",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGJMN1",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGJMN1",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGJMN1",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGJMN1",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGJMN1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGJMN1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGJMN1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGJMN1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGJMN1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGJMN1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGJMN1",17,0) ;; "RTN","MAGJMN1",18,0) ENVCHK ; "Environment Check" for KIDS Install "RTN","MAGJMN1",19,0) I 'XPDENV Q ; Proceed only if in Install phase "RTN","MAGJMN1",20,0) N MAGJKIDS S MAGJKIDS=1 "RTN","MAGJMN1",21,0) D BGCSTOP "RTN","MAGJMN1",22,0) Q "RTN","MAGJMN1",23,0) ; "RTN","MAGJMN1",24,0) SVRLIST ; "RTN","MAGJMN1",25,0) W @IOF,!!?10,"Enter/Edit VistARad Exams List Definition",!! "RTN","MAGJMN1",26,0) N MAGIEN "RTN","MAGJMN1",27,0) K DIC S (DIC,DLAYGO)=2006.631,DIC(0)="ALMEQ" "RTN","MAGJMN1",28,0) D ^DIC I Y=-1 K DIC,DA,DR,DIE,DLAYGO Q "RTN","MAGJMN1",29,0) S X=$P(@(DIC_+Y_",0)"),U,2) "RTN","MAGJMN1",30,0) I X>9000 W !!,$C(7),"You may not edit System-Supplied files!" H 3 G SVRLIST "RTN","MAGJMN1",31,0) S DIE=2006.631,DA=+Y,DR="[MAGJ LIST EDIT]" "RTN","MAGJMN1",32,0) S MAGIEN=DA "RTN","MAGJMN1",33,0) D ^DIE I '$D(DA) G SVRLIST "RTN","MAGJMN1",34,0) D ENSRCH "RTN","MAGJMN1",35,0) D BLDDEF(MAGIEN) "RTN","MAGJMN1",36,0) S $P(^MAG(2006.631,MAGIEN,0),U,5)=$$NOW^XLFDT() "RTN","MAGJMN1",37,0) W !!,"List Definition complete!" R X:2 "RTN","MAGJMN1",38,0) G SVRLIST "RTN","MAGJMN1",39,0) Q "RTN","MAGJMN1",40,0) ENSRCH ; Invoke Search for 2006.631 def'n "RTN","MAGJMN1",41,0) N GREF,GLIN,GO,CT,DIARI,DIC,FNOD,TNOD,NCOND,NODE0 "RTN","MAGJMN1",42,0) ; GREF holds indirect ref to store search logic data: "RTN","MAGJMN1",43,0) ; @GREF@(3, ff -- conditional elements (fields/logic) "RTN","MAGJMN1",44,0) ; @GREF@(4, ff -- composite elements (ANDed conditions) "RTN","MAGJMN1",45,0) ; @GREF@(5, ff -- Human-readable search text "RTN","MAGJMN1",46,0) ; GLIN holds indirect ref to retrieve search logic data from ^DIBT "RTN","MAGJMN1",47,0) ; @GLIN@("DC", ff -- conditional elements "RTN","MAGJMN1",48,0) ; @GLIN@("DL", ff -- composite elements "RTN","MAGJMN1",49,0) ; @GLIN@("O", ff -- readable text "RTN","MAGJMN1",50,0) S GREF=$NA(^MAG(2006.631,MAGIEN,"DEF")) "RTN","MAGJMN1",51,0) S GO=1 I $D(@GREF@(5,1)) D ; show current logic "RTN","MAGJMN1",52,0) . W ! D DISPSRCH(GREF) "RTN","MAGJMN1",53,0) . S X=$$YN("Do you want to delete or re-enter the search logic?","NO") "RTN","MAGJMN1",54,0) . I X'="Y" S GO=0 Q "RTN","MAGJMN1",55,0) . W !!?7,"Re-entering the search logic requires first deleting the current",!?7,"definition, then entering the new definition from scratch." "RTN","MAGJMN1",56,0) . S X=$$YN("Are you sure you want to continue?","NO") "RTN","MAGJMN1",57,0) . I X'="Y" S GO=0 Q "RTN","MAGJMN1",58,0) I 'GO Q "RTN","MAGJMN1",59,0) W !!?7,"Now enter search logic for this List. To do this, the program" "RTN","MAGJMN1",60,0) W !?7,"will prompt you just as if you were going to run a Fileman Search." "RTN","MAGJMN1",61,0) W !?7,"When prompted STORE RESULTS OF SEARCH IN TEMPLATE:, answer with 'TEMP'" "RTN","MAGJMN1",62,0) W !?7,"If prompted ... OK TO PURGE? NO// answer 'YES'; don't bother specifying" "RTN","MAGJMN1",63,0) W !?7,"output print fields, but just RETURN through all the prompts to" "RTN","MAGJMN1",64,0) W !?7,"complete the process. The search definition will be saved as part" "RTN","MAGJMN1",65,0) W !?7,"of this List definition; you will test it out by running it from " "RTN","MAGJMN1",66,0) W !?7,"the workstation. If you need to modify the search logic, you will" "RTN","MAGJMN1",67,0) W !?7,"have to re-enter it in its entirety." "RTN","MAGJMN1",68,0) W !!?7,"NOTES: EXAM LOCK INDICATOR will not work for search logic;" "RTN","MAGJMN1",69,0) W !?14,"REMOTE CACHE INDICATOR only works for Null/Not Null logic." "RTN","MAGJMN1",70,0) S DIC=2006.634 D EN^DIS ; call Fman Search Logic routine. It will store search logic in ^DIBT "RTN","MAGJMN1",71,0) ; 2006.634 is intentional--don't change this! "RTN","MAGJMN1",72,0) I '$G(DIARI) W !!," Search logic NOT updated" D Q "RTN","MAGJMN1",73,0) . Q:'$D(@GREF@(5,1)) ; if no logic had existed, quit "RTN","MAGJMN1",74,0) . S X=$$YN("Do you want to DELETE the search logic?","NO") "RTN","MAGJMN1",75,0) . I X="Y" K @GREF@(3) K ^(4),^(5) W " -- Deleted!" "RTN","MAGJMN1",76,0) K @GREF@(3) K ^(4),^(5) "RTN","MAGJMN1",77,0) S GLIN=$NA(^DIBT(DIARI)) ; Copy logic to 2006.631 DEF nodes "RTN","MAGJMN1",78,0) S FNOD="DC",TNOD=3,CT=0 ; "DC" data--straight copy "RTN","MAGJMN1",79,0) S T=0 F S T=$O(@GLIN@(FNOD,T)) Q:T="" S X=^(T),CT=CT+1,@GREF@(TNOD,T)=X "RTN","MAGJMN1",80,0) S @GREF@(TNOD,0)=CT "RTN","MAGJMN1",81,0) S FNOD="DL",TNOD=4,CT=0 ; "DL" data--copy depends on storage scheme in DIBT: "RTN","MAGJMN1",82,0) ;Zero node null -- straight copy "RTN","MAGJMN1",83,0) ; Else 1) either only one condition is defined; "RTN","MAGJMN1",84,0) ; or, 2) the zero-node condition is ANDed with all defined conditions "RTN","MAGJMN1",85,0) ; Case 2: Var A -- Pre-pend zero node, then dup zero node "RTN","MAGJMN1",86,0) ; Var B -- Pre-pend zero node "RTN","MAGJMN1",87,0) S NCOND=+$G(@GLIN@(FNOD)) "RTN","MAGJMN1",88,0) I $G(@GLIN@(FNOD,0))]"" S NODE0=^(0) D "RTN","MAGJMN1",89,0) . S T=0 F S T=$O(@GLIN@(FNOD,T)) Q:T="" S X=^(T) I X]"" S CT=CT+1,@GREF@(TNOD,CT)=NODE0_X "RTN","MAGJMN1",90,0) . I CT'=NCOND S CT=CT+1,@GREF@(TNOD,CT)=NODE0_$S(CT=1:"",1:"^") "RTN","MAGJMN1",91,0) E D "RTN","MAGJMN1",92,0) . S T=0 F S T=$O(@GLIN@(FNOD,T)) Q:T="" S X=^(T) I X]"" S CT=CT+1,@GREF@(TNOD,CT)=X "RTN","MAGJMN1",93,0) S @GREF@(TNOD,0)=CT "RTN","MAGJMN1",94,0) ; readable text--straight copy "RTN","MAGJMN1",95,0) S TNOD=5,T=0 F S T=$O(@GLIN@("O",T)) Q:T="" S @GREF@(TNOD,T)=^(T,0) "RTN","MAGJMN1",96,0) Q "RTN","MAGJMN1",97,0) ; "RTN","MAGJMN1",98,0) BLDDEF(LSTID) ; build DEF nodes for Column/Sort defs "RTN","MAGJMN1",99,0) N X,QX,SS,STR,LSTHDR,T,T0,T8,T6,HASCASE,XT,HASDATE,HASNIMG,HASPRIO,HASLOCK,LISTYPE "RTN","MAGJMN1",100,0) S SS=0,HASCASE=0,HASDATE=0,HASNIMG=0,HASPRIO=0,HASLOCK=0 "RTN","MAGJMN1",101,0) S LISTYPE=$P($G(^MAG(2006.631,LSTID,0)),U,3) "RTN","MAGJMN1",102,0) ; columns/hdrs: Order in T array by the Relative Column Order "RTN","MAGJMN1",103,0) F S SS=$O(^MAG(2006.631,LSTID,1,SS)) D Q:'SS "RTN","MAGJMN1",104,0) . I 'SS D Q "RTN","MAGJMN1",105,0) . . I 'HASCASE S X=1 D BLDDEF2(X) ; Force CASE# "RTN","MAGJMN1",106,0) . . I 'HASDATE S X=7 D BLDDEF2(X) ; DATE/TIME "RTN","MAGJMN1",107,0) . . I 'HASNIMG S X=9 D BLDDEF2(X) ; NUMBER IMAGES "RTN","MAGJMN1",108,0) . . Q:LISTYPE'="U" ; force below only if for an Unread list "RTN","MAGJMN1",109,0) . . I 'HASLOCK S X=2 D BLDDEF2(X) ; EXAM LOCK IND. "RTN","MAGJMN1",110,0) . . I 'HASPRIO S X=5 D BLDDEF2(X) ; PRIORITY "RTN","MAGJMN1",111,0) . E S X=^MAG(2006.631,LSTID,1,SS,0) "RTN","MAGJMN1",112,0) . D BLDDEF2(X) "RTN","MAGJMN1",113,0) ; go thru T to build ordered field sequence for output columns "RTN","MAGJMN1",114,0) S QX="T",STR="",LSTHDR="" "RTN","MAGJMN1",115,0) F S QX=$Q(@QX) Q:QX="" S X=@QX D "RTN","MAGJMN1",116,0) . S STR=STR_$S(STR="":"",1:U)_$P(X,U) "RTN","MAGJMN1",117,0) . S LSTHDR=LSTHDR_$S(LSTHDR="":"",1:U)_$P(X,U,2) "RTN","MAGJMN1",118,0) S ^MAG(2006.631,LSTID,"DEF",.5)=LSTHDR,^(1)=STR "RTN","MAGJMN1",119,0) ; Sort values: "RTN","MAGJMN1",120,0) S SS=0,STR="" "RTN","MAGJMN1",121,0) F S SS=$O(^MAG(2006.631,LSTID,2,SS)) Q:'SS S X=^(SS,0) D "RTN","MAGJMN1",122,0) . S X=+X_$S($P(X,U,2):"-",1:"") "RTN","MAGJMN1",123,0) . S STR=STR_$S(STR="":"",1:U)_X "RTN","MAGJMN1",124,0) S ^MAG(2006.631,LSTID,"DEF",2)=STR "RTN","MAGJMN1",125,0) S $P(^MAG(2006.631,LSTID,"DEF",0),U)=$$NOW^XLFDT() "RTN","MAGJMN1",126,0) Q "RTN","MAGJMN1",127,0) ; "RTN","MAGJMN1",128,0) BLDDEF2(X) ; "RTN","MAGJMN1",129,0) S X=+X_$S($P(X,U,2):";"_+$P(X,U,2),1:"") "RTN","MAGJMN1",130,0) I 'HASCASE S HASCASE=(+X=1) "RTN","MAGJMN1",131,0) I 'HASDATE S HASDATE=(+X=7) "RTN","MAGJMN1",132,0) I 'HASNIMG S HASNIMG=(+X=9) "RTN","MAGJMN1",133,0) I 'HASLOCK S HASLOCK=(+X=2) "RTN","MAGJMN1",134,0) I 'HASPRIO S HASPRIO=(+X=5) "RTN","MAGJMN1",135,0) S T0=^MAG(2006.63,+X,0),T6=+$P(T0,U,6) S:'T6 T6=99 "RTN","MAGJMN1",136,0) S T8=$P(T0,U,8) I T8]"" S T8="~"_T8 "RTN","MAGJMN1",137,0) S XT=$S($P(T0,U,3)]"":$P(T0,U,3),1:$P(T0,U,2))_T8 "RTN","MAGJMN1",138,0) S $P(XT,"~",3)=+X "RTN","MAGJMN1",139,0) S T(T6,+X)=X_U_XT "RTN","MAGJMN1",140,0) Q "RTN","MAGJMN1",141,0) ; "RTN","MAGJMN1",142,0) POSTINST ; Patch installation inits, etc. "RTN","MAGJMN1",143,0) ; D BLDALL ; update list definitions <*> Use any time fields are added "RTN","MAGJMN1",144,0) D BGCSTRT ; re-start background compile "RTN","MAGJMN1",145,0) D POST ; install message, etc. "RTN","MAGJMN1",146,0) Q "RTN","MAGJMN1",147,0) ; "RTN","MAGJMN1",148,0) BLDALL ; Create "DEF" nodes, Button labels List Def'ns "RTN","MAGJMN1",149,0) ; Updates all lists after s/w update list defs are installed "RTN","MAGJMN1",150,0) N SS,LSTDAT,LSTNUM,BUTTON,LSTTYP "RTN","MAGJMN1",151,0) S SS=0 "RTN","MAGJMN1",152,0) F S SS=$O(^MAG(2006.631,SS)) Q:'SS S LSTDAT=$G(^(SS,0)) I LSTDAT]"" D "RTN","MAGJMN1",153,0) . S LSTNUM=$P(LSTDAT,U,2),BUTTON=$P(LSTDAT,U,7),LSTTYP=$P(LSTDAT,U,3) "RTN","MAGJMN1",154,0) . I LSTNUM>9900!$P(LSTDAT,U,6) D BLDDEF(SS) ; build DEF nodes for System Lists & any Enabled lists "RTN","MAGJMN1",155,0) . I BUTTON="",(LSTTYP]"") D ; Create Button Labels if needed "RTN","MAGJMN1",156,0) . . S BUTTON=$S(LSTTYP="U":"Unread #",LSTTYP="R":"Recent #",LSTTYP="A":"All Active #",LSTTYP="P":"Pending #",1:"List #")_LSTNUM "RTN","MAGJMN1",157,0) . . S $P(^MAG(2006.631,SS,0),U,7)=BUTTON "RTN","MAGJMN1",158,0) Q "RTN","MAGJMN1",159,0) ; "RTN","MAGJMN1",160,0) POST ; Install msg "RTN","MAGJMN1",161,0) D INS^MAGQBUT4(XPDNM,DUZ,$$NOW^XLFDT,XPDA) "RTN","MAGJMN1",162,0) Q "RTN","MAGJMN1",163,0) ; "RTN","MAGJMN1",164,0) YN(MSG,DFLT) ; get Yes/No reply "RTN","MAGJMN1",165,0) N X I $G(DFLT)="" S DFLT="N" "RTN","MAGJMN1",166,0) W ! "RTN","MAGJMN1",167,0) S DFLT=$E(DFLT),DFLT=$S(DFLT="N":"NO",1:"YES") "RTN","MAGJMN1",168,0) YN1 W !,MSG_" "_DFLT_"// " "RTN","MAGJMN1",169,0) R X:DTIME S:X="" X=DFLT S X=$E(X),X=$TR(X,"ynYN","YNYN") "RTN","MAGJMN1",170,0) I "YN"'[X W " ??? Enter YES or NO",! G YN1 "RTN","MAGJMN1",171,0) Q X "RTN","MAGJMN1",172,0) ; "RTN","MAGJMN1",173,0) LSTINQ ; Inq/Disp list def'n "RTN","MAGJMN1",174,0) N GREF,MAGIEN "RTN","MAGJMN1",175,0) W !!?15,"Display VistARad Exams List Definition",!! "RTN","MAGJMN1",176,0) N MAGIEN "RTN","MAGJMN1",177,0) S DIC=2006.631,DIC(0)="AMEQ" "RTN","MAGJMN1",178,0) D ^DIC I Y=-1 K DIC,DA,DR Q "RTN","MAGJMN1",179,0) K DR S DA=+Y,MAGIEN=DA "RTN","MAGJMN1",180,0) S GREF=$NA(^MAG(2006.631,MAGIEN,"DEF")) "RTN","MAGJMN1",181,0) W ! D EN^DIQ "RTN","MAGJMN1",182,0) R !,"Enter RETURN to display the Search Logic: ",X:DTIME W ! "RTN","MAGJMN1",183,0) D DISPSRCH(GREF) "RTN","MAGJMN1",184,0) G LSTINQ "RTN","MAGJMN1",185,0) Q "RTN","MAGJMN1",186,0) ; "RTN","MAGJMN1",187,0) DISPSRCH(GREF) ; GREF holds indirect ref for global holding search logic data "RTN","MAGJMN1",188,0) I $D(@GREF@(5,1)) W !,"List Exams where:",! D "RTN","MAGJMN1",189,0) . F I=1:1 Q:'$D(@GREF@(5,I)) W !?3,^(I) "RTN","MAGJMN1",190,0) E W !?3,"NO Search Logic defined!" "RTN","MAGJMN1",191,0) Q "RTN","MAGJMN1",192,0) ; "RTN","MAGJMN1",193,0) VRSIT ; "RTN","MAGJMN1",194,0) W @IOF,!!?10,"Enter/Edit VistARad Site Parameters",!! "RTN","MAGJMN1",195,0) S DIC=2006.69,DIC(0)="ALMEQ" "RTN","MAGJMN1",196,0) I '$D(^MAG(DIC,1)) S DLAYGO=DIC "RTN","MAGJMN1",197,0) D ^DIC I Y=-1 K DIC,DA,DR,DIE,DLAYGO Q "RTN","MAGJMN1",198,0) S DIE=2006.69,DA=+Y,DR=".01:20" "RTN","MAGJMN1",199,0) D ^DIE "RTN","MAGJMN1",200,0) K DIC,DA,DR,DIE,DLAYGO "RTN","MAGJMN1",201,0) N PLACE S DA="" "RTN","MAGJMN1",202,0) S PLACE=$$PLACE^MAGBAPI(+$G(DUZ(2))) "RTN","MAGJMN1",203,0) S:PLACE DA=PLACE "RTN","MAGJMN1",204,0) I DA D "RTN","MAGJMN1",205,0) . W !!,"Editing VistARad Timeout for division #",DUZ(2),! "RTN","MAGJMN1",206,0) . S DIE=2006.1,DR="123" D ^DIE "RTN","MAGJMN1",207,0) K DA,DR,DIE "RTN","MAGJMN1",208,0) Q "RTN","MAGJMN1",209,0) ; "RTN","MAGJMN1",210,0) ;+++++ OPTION: MAGJ E/E DEFAULT USER PROFILES "RTN","MAGJMN1",211,0) ; "RTN","MAGJMN1",212,0) ; FileMan ^DIE call to enter/edit IMAGING SITE PARAMETERS File (#2006.1), "RTN","MAGJMN1",213,0) ; fields #202: DEFAULT VISTARAD USERPREF RAD and "RTN","MAGJMN1",214,0) ; #203: DEFAULT VISTARAD USERPREF NON. "RTN","MAGJMN1",215,0) ; "RTN","MAGJMN1",216,0) ; These fields point to entries in the MAGJ USER DATA File (#2006.68), and "RTN","MAGJMN1",217,0) ; allow the VistARad client to initialize new VistARad users to the settings "RTN","MAGJMN1",218,0) ; held by the appropriate default user type ("Radiologist", "Non-rad'ist"). "RTN","MAGJMN1",219,0) ; "RTN","MAGJMN1",220,0) EEPRO ; "RTN","MAGJMN1",221,0) ; "RTN","MAGJMN1",222,0) ;--- Get IEN of IMAGING SITE PARAMETERS File. "RTN","MAGJMN1",223,0) N FIELD,SITEPIEN S SITEPIEN=+$$IMGSIT^MAGJUTL1(DUZ(2),1) "RTN","MAGJMN1",224,0) F FIELD=202,203 D "RTN","MAGJMN1",225,0) . ; "RTN","MAGJMN1",226,0) . ;--- Report field being edited. "RTN","MAGJMN1",227,0) . N PROMPT S PROMPT=$S(FIELD=202:"RADIOLOGIST",FIELD=203:"NON-RADIOLOGIST") "RTN","MAGJMN1",228,0) . W !!,"Editing default "_PROMPT_" profile ...",! "RTN","MAGJMN1",229,0) . N DA,DIE,DR "RTN","MAGJMN1",230,0) . S DIE=2006.1,DR=FIELD,DA=SITEPIEN D ^DIE "RTN","MAGJMN1",231,0) . Q "RTN","MAGJMN1",232,0) Q "RTN","MAGJMN1",233,0) EEPREF ; "RTN","MAGJMN1",234,0) W @IOF,!!?10,"Enter/Edit VistARad Prefetch Logic",!! "RTN","MAGJMN1",235,0) N MAGIEN "RTN","MAGJMN1",236,0) K DIC S (DIC,DLAYGO)=2006.65,DIC(0)="ALMEQ" "RTN","MAGJMN1",237,0) D ^DIC I Y=-1 K DIC,DIE,DR,DLAYGO Q "RTN","MAGJMN1",238,0) S DIE=2006.65,DA=+Y,DR="[MAGJ PRIOR EDIT]" "RTN","MAGJMN1",239,0) S MAGIEN=DA "RTN","MAGJMN1",240,0) D ^DIE I '$D(DA) G EEPREF "RTN","MAGJMN1",241,0) G EEPREF "RTN","MAGJMN1",242,0) Q "RTN","MAGJMN1",243,0) INPREF ; Inquire VRad PreFetch "RTN","MAGJMN1",244,0) W @IOF,!!?10,"Inquire VistARad Prefetch Logic",!! "RTN","MAGJMN1",245,0) N MAGIEN,BY,FR,TO "RTN","MAGJMN1",246,0) S DIC=2006.65,DIC(0)="AMEQ" "RTN","MAGJMN1",247,0) D ^DIC I Y=-1 K DIC Q "RTN","MAGJMN1",248,0) S DA=+Y,(FR,TO)=$P(Y,U,2),MAGIEN=DA,L=0 "RTN","MAGJMN1",249,0) S BY="[MAGJ PRIOR SORT]",DIS(0)="I D0=MAGIEN" "RTN","MAGJMN1",250,0) D EN^DIP "RTN","MAGJMN1",251,0) R !,"Enter RETURN to continue: ",X:DTIME W ! "RTN","MAGJMN1",252,0) G INPREF "RTN","MAGJMN1",253,0) Q "RTN","MAGJMN1",254,0) PRPREF ;Print VRad Prefetch "RTN","MAGJMN1",255,0) N BY "RTN","MAGJMN1",256,0) W !! S DIC=2006.65,L=0,BY="[MAGJ PRIOR SORT]" "RTN","MAGJMN1",257,0) D EN1^DIP "RTN","MAGJMN1",258,0) R !,"Enter RETURN to continue: ",X:DTIME W ! "RTN","MAGJMN1",259,0) Q "RTN","MAGJMN1",260,0) ; "RTN","MAGJMN1",261,0) BGCSTOP ; Stop Background Compile program "RTN","MAGJMN1",262,0) N MAGCSTRT,GO,NTRY,RETRY,X "RTN","MAGJMN1",263,0) S MAGCSTRT=0,GO=1 "RTN","MAGJMN1",264,0) S X=$G(^MAG(2006.69,1,0)) "RTN","MAGJMN1",265,0) I X]"",+$P(X,U,8) D ; Background compile switch; skip if already false "RTN","MAGJMN1",266,0) . S ^MAG(2006.69,"BGSTOP")=X ; save current settings for restore later "RTN","MAGJMN1",267,0) . S MAGCSTRT=1 "RTN","MAGJMN1",268,0) . S $P(X,U,8)=0 "RTN","MAGJMN1",269,0) . S ^MAG(2006.69,1,0)=X ; disable compile "RTN","MAGJMN1",270,0) . W !!,*7,"Wait for Background Compile program to stop;" "RTN","MAGJMN1",271,0) . W !," this might take up to a few minutes." "RTN","MAGJMN1",272,0) . S NTRY=60 "RTN","MAGJMN1",273,0) . F I=1:1:NTRY W "." L +^XTMP("MAGJ2","BKGND2","RUN"):3 I Q ; process maintains lock while running "RTN","MAGJMN1",274,0) . I D "RTN","MAGJMN1",275,0) . . L -^XTMP("MAGJ2","BKGND2","RUN") "RTN","MAGJMN1",276,0) . . W !!,"Background Compile Stopped" "RTN","MAGJMN1",277,0) . . I +$G(MAGJKIDS) W "; proceeding with install.",! H 2 "RTN","MAGJMN1",278,0) . E D "RTN","MAGJMN1",279,0) . . S X=$$YN("Background Compile NOT Stopped -- Try again?","Y") "RTN","MAGJMN1",280,0) . . S RETRY=("Y"[X),GO=0 "RTN","MAGJMN1",281,0) . . S ^MAG(2006.69,1,0)=^MAG(2006.69,"BGSTOP") K ^MAG(2006.69,"BGSTOP") "RTN","MAGJMN1",282,0) I 'GO G BGCSTOP:RETRY "RTN","MAGJMN1",283,0) I 'GO,+$G(MAGJKIDS) W !!,*7," * * * Exiting out of patch installation * * * ",! H 3 S XPDQUIT=1 "RTN","MAGJMN1",284,0) Q "RTN","MAGJMN1",285,0) BGCSTRT ; re-enable Background Compile "RTN","MAGJMN1",286,0) I $D(^MAG(2006.69,"BGSTOP")) S X=^("BGSTOP") W " ... Enabling background compile ." "RTN","MAGJMN1",287,0) E Q "RTN","MAGJMN1",288,0) S ^MAG(2006.69,1,0)=X "RTN","MAGJMN1",289,0) K ^MAG(2006.69,"BGSTOP") "RTN","MAGJMN1",290,0) W !!,"Background Compile Enabled.",! H 3 "RTN","MAGJMN1",291,0) Q "RTN","MAGJMN1",292,0) ; "RTN","MAGJMN1",293,0) END ; "RTN","MAGJTU4V") 0^1^B5409615 "RTN","MAGJTU4V",1,0) MAGJTU4V ;WOIFO/MAT,DAC - VERSION CONTROL (VISTARAD) ; 06 Jun 2017 8:54 AM "RTN","MAGJTU4V",2,0) ;;3.0;IMAGING;**90,115,120,133,152,153,184**;Mar 19, 2002;Build 22 "RTN","MAGJTU4V",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGJTU4V",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGJTU4V",5,0) ;; | Property of the US Government. | "RTN","MAGJTU4V",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGJTU4V",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGJTU4V",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGJTU4V",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGJTU4V",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGJTU4V",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGJTU4V",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGJTU4V",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGJTU4V",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGJTU4V",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGJTU4V",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGJTU4V",17,0) ;; "RTN","MAGJTU4V",18,0) ; This routine contains the version control code and data specific "RTN","MAGJTU4V",19,0) ; to the VistARad application. DO NOT ADD ANYTHING ELSE! "RTN","MAGJTU4V",20,0) Q "RTN","MAGJTU4V",21,0) ; "RTN","MAGJTU4V",22,0) CLVERCT ;***** VERSION CONTROL TABLE FOR THE VistARad CLIENTS "RTN","MAGJTU4V",23,0) ;;================================================================== "RTN","MAGJTU4V",24,0) ;;| Version |Build|Seq #| Comment | "RTN","MAGJTU4V",25,0) ;;|---------+-----+------------------------------------------------| "RTN","MAGJTU4V",26,0) ;;| 3.0.184 | 2 | 115 | Jun 2017 <*> Projected Seq # & Release | "RTN","MAGJTU4V",27,0) ;;| 3.0.153 | 3 | 122 | Aug 2016 | "RTN","MAGJTU4V",28,0) ;;| 3.0.152 | 3 | 113 | May 2015 | "RTN","MAGJTU4V",29,0) ;;| 3.0.133 | 3 | 93 | Sep 2013 | "RTN","MAGJTU4V",30,0) ;;| 3.0.120 | 8 | 81 | Jul 2012 | "RTN","MAGJTU4V",31,0) ;;================================================================== "RTN","MAGJTU4V",32,0) ; "RTN","MAGJTU4V",33,0) ; Each row of the version control table contains the version and "RTN","MAGJTU4V",34,0) ; build number of a supported client. Released patches must also "RTN","MAGJTU4V",35,0) ; indicate the sequential numbers. "RTN","MAGJTU4V",36,0) ; "RTN","MAGJTU4V",37,0) ; Sort order of the rows does not matter. However, the reversed "RTN","MAGJTU4V",38,0) ; order of patch sequential numbers is recommended. "RTN","MAGJTU4V",39,0) ; "RTN","MAGJTU4V",40,0) Q "RTN","MAGJTU4V",41,0) ; "RTN","MAGJTU4V",42,0) ;***** ADDS A CLIENT-SPECIFIC WARNING (IF NECESSARY) "RTN","MAGJTU4V",43,0) ; "RTN","MAGJTU4V",44,0) ; .MAGBUF Reference to a local array that the warning text "RTN","MAGJTU4V",45,0) ; is returned to. It is appended to the RPC result "RTN","MAGJTU4V",46,0) ; array by the caller (WARNING^MAGGTU41). "RTN","MAGJTU4V",47,0) ; "RTN","MAGJTU4V",48,0) ; CLVER Client application version (Major.Minor.Patch.Build) "RTN","MAGJTU4V",49,0) ; "RTN","MAGJTU4V",50,0) ; CVRC Version check code returned by the $$CHKVER1^MAGGTU41 "RTN","MAGJTU4V",51,0) ; "RTN","MAGJTU4V",52,0) ; Notes "RTN","MAGJTU4V",53,0) ; ===== "RTN","MAGJTU4V",54,0) ; "RTN","MAGJTU4V",55,0) ; If the RPC result array already contains an error message that "RTN","MAGJTU4V",56,0) ; will terminate the client, application, this procedure is not "RTN","MAGJTU4V",57,0) ; called. "RTN","MAGJTU4V",58,0) ; "RTN","MAGJTU4V",59,0) WARNING(MAGBUF,CLVER,CVRC) ; "RTN","MAGJTU4V",60,0) Q "RTN","MAGJUTL5") 0^3^B38266296 "RTN","MAGJUTL5",1,0) MAGJUTL5 ;WOIFO/JHC,DAC - VistARad RPCs ; 03 Jun 2017 11:00 AM "RTN","MAGJUTL5",2,0) ;;3.0;IMAGING;**65,76,101,90,115,104,120,133,152,153,184**;Mar 19, 2002;Build 22 "RTN","MAGJUTL5",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGJUTL5",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGJUTL5",5,0) ;; | Property of the US Government. | "RTN","MAGJUTL5",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGJUTL5",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGJUTL5",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGJUTL5",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGJUTL5",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGJUTL5",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGJUTL5",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGJUTL5",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGJUTL5",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGJUTL5",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGJUTL5",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGJUTL5",17,0) ;; "RTN","MAGJUTL5",18,0) Q "RTN","MAGJUTL5",19,0) ; adapted from MAGGTU4 "RTN","MAGJUTL5",20,0) GETVER(SVRVER,SVRTVER,ALLOWCL,VIXVER) ; "RTN","MAGJUTL5",21,0) ; The Server Version SVRVER is hardcoded to match the Client "RTN","MAGJUTL5",22,0) ; so this Routine must be edited/distributed with a new Client "RTN","MAGJUTL5",23,0) ; released Client will have the T version that the server expects "RTN","MAGJUTL5",24,0) ; "RTN","MAGJUTL5",25,0) ;--- Synchronize the below information with that in MAGJTU4V. "RTN","MAGJUTL5",26,0) ; "RTN","MAGJUTL5",27,0) S SVRVER="3.0.184",SVRTVER=2 ; P184 DAC - <*> Edit this line for each patch/T-version "RTN","MAGJUTL5",28,0) ; "RTN","MAGJUTL5",29,0) S ALLOWCL="|3.0.153|3.0.152|3.0.133|3.0.120|" ; P184 DAC - back-compatible with prior client(s) "RTN","MAGJUTL5",30,0) S VIXVER="" "RTN","MAGJUTL5",31,0) ; VIX may present versions different from vrad Client/Server versions; this would "RTN","MAGJUTL5",32,0) ; happen if M-only changes are made to vrad Server code as part of a VIX patch "RTN","MAGJUTL5",33,0) ; to support updated VIX-related functionality. VIXVERS contains the version numbers "RTN","MAGJUTL5",34,0) ; that are to be supported in this fashion; related M changes need to be back-compatible "RTN","MAGJUTL5",35,0) ; with prior vrad versions' behavior in the interface "RTN","MAGJUTL5",36,0) N T,VIXVERS "RTN","MAGJUTL5",37,0) S VIXVERS="|3.0.104|" ; keep compatible with P115 & P90 <*> edit as needed for patches "RTN","MAGJUTL5",38,0) S T=$G(MAGJOB("VIX")) "RTN","MAGJUTL5",39,0) I T,VIXVERS[("|"_T_"|") S ALLOWCL=ALLOWCL_T_"|",VIXVER=T "RTN","MAGJUTL5",40,0) Q "RTN","MAGJUTL5",41,0) ; "RTN","MAGJUTL5",42,0) CHKVER(MAGRY,CLVER,PLC,SVERSION) ; "RTN","MAGJUTL5",43,0) ; Input CLVER is the version of the Client "RTN","MAGJUTL5",44,0) ; format: Major.Minor.Patch.Build# [|VIX] -- eg 3.0.115.4|VIX "RTN","MAGJUTL5",45,0) ; Build # = T-version; VIX string only appears if a VIX session "RTN","MAGJUTL5",46,0) ; 3 possible return codes in MAGRY: "RTN","MAGJUTL5",47,0) ; 2^n~msg : Client displays a message and continues "RTN","MAGJUTL5",48,0) ; 1^1~msg : Client continues without displaying a message "RTN","MAGJUTL5",49,0) ; 0^n~msg : Client displays a message then Aborts "RTN","MAGJUTL5",50,0) ; PLC returns 2006.1 pointer "RTN","MAGJUTL5",51,0) ; "RTN","MAGJUTL5",52,0) S CLVER=$G(CLVER),PLC="",MAGRY="" "RTN","MAGJUTL5",53,0) N SV,ST,CV,CT,CP,ALLOWV,TESTFLAG,SVSTAT,VIXVER "RTN","MAGJUTL5",54,0) ; SVERSION = Full Server Version -> (3.0.18.132 or 3.0.18); test has 4, release has 3 parts "RTN","MAGJUTL5",55,0) ; SV = Server Version -> (3.0.18); only 1st 3 parts "RTN","MAGJUTL5",56,0) ; ST = Server T Version -> defined to always match client part-4 "RTN","MAGJUTL5",57,0) ; CV = Client Version, w/out build # "RTN","MAGJUTL5",58,0) ; CT = Client T Version alone "RTN","MAGJUTL5",59,0) ; CP = Client Patch alone "RTN","MAGJUTL5",60,0) ; ALLOWV = Hard coded string of allowed clients for this KIDS. "RTN","MAGJUTL5",61,0) ; TESTFLAG = 1/0 -- 1=Test vs of server code; 0=Release vs "RTN","MAGJUTL5",62,0) ; get VIX version if a VIX session "RTN","MAGJUTL5",63,0) I $P(CLVER,"|",2)["VIX" S MAGJOB("VIX")=$P(CLVER,"|") ; VIX facade version "RTN","MAGJUTL5",64,0) ; "RTN","MAGJUTL5",65,0) I $G(DUZ(2)) S PLC=$$PLACE^MAGBAPI(DUZ(2)) "RTN","MAGJUTL5",66,0) ; Quit if we don't have a valid DUZ(2) or valid PLACE: ^MAG(2006.1,PLC) "RTN","MAGJUTL5",67,0) I 'PLC S MAGRY="0^4~Error verifying Imaging Site (Place) -- Contact Imaging support." Q "RTN","MAGJUTL5",68,0) ; "RTN","MAGJUTL5",69,0) D GETVER(.SV,.ST,.ALLOWV,.VIXVER) "RTN","MAGJUTL5",70,0) S CLVER=$P(CLVER,"|") "RTN","MAGJUTL5",71,0) S CV=$P(CLVER,".",1,3),CT=+$P(CLVER,".",4),CP=+$P(CLVER,".",3) "RTN","MAGJUTL5",72,0) ; "RTN","MAGJUTL5",73,0) D VERSTAT(.SVSTAT,SV) "RTN","MAGJUTL5",74,0) I 'SVSTAT S MAGRY=SVSTAT Q ; KIDS status for this version indeterminate "RTN","MAGJUTL5",75,0) S TESTFLAG=(+SVSTAT=1) "RTN","MAGJUTL5",76,0) S SVERSION=SV "RTN","MAGJUTL5",77,0) I TESTFLAG S SVERSION=SV_"."_ST "RTN","MAGJUTL5",78,0) ; Check Version differences: "RTN","MAGJUTL5",79,0) I (CV'=SV) D Q "RTN","MAGJUTL5",80,0) . I '(ALLOWV[("|"_CV_"|")) D Q "RTN","MAGJUTL5",81,0) . . S MAGRY="0^4~VistARad Workstation software version "_CLVER_" is not compatible with the VistA server version "_SVERSION_". Contact Imaging support. (CNA)" "RTN","MAGJUTL5",82,0) . ; Warn the Client (unless VIX), allow to continue "RTN","MAGJUTL5",83,0) . 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)" "RTN","MAGJUTL5",84,0) . E I VIXVER]"" S MAGRY="1^1~VIX software vs. "_CLVER_" is running with VistA server vs. "_SVERSION_". (VIXdif)" "RTN","MAGJUTL5",85,0) . 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)" "RTN","MAGJUTL5",86,0) . Q "RTN","MAGJUTL5",87,0) ; Versions are the Same: If T versions are not, warn the Client if needed. "RTN","MAGJUTL5",88,0) ; Released Client (of any version) will have the T version that the server "RTN","MAGJUTL5",89,0) ; expects, and no warning will be displayed. "RTN","MAGJUTL5",90,0) I CT,(CT'=ST) D Q "RTN","MAGJUTL5",91,0) . 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 "RTN","MAGJUTL5",92,0) . . I CT