KIDS Distribution saved on Jul 17, 2018@11:20:23 VistA Imaging 3.0 - Patch 220 VistARAD Timestamp Issue **KIDS**:MAG*3.0*220^ **INSTALL NAME** MAG*3.0*220 "BLD",8385,0) MAG*3.0*220^IMAGING^0^3180717^y "BLD",8385,1,0) ^^8^8^3180714^ "BLD",8385,1,1,0) VistA Imaging V3.0 - Patch 220 VistARAD Timestamp Issue "BLD",8385,1,2,0) Routines: "BLD",8385,1,3,0) "BLD",8385,1,4,0) MAGIP220 "BLD",8385,1,5,0) MAGJUTL2 "BLD",8385,1,6,0) "BLD",8385,1,7,0) Please note that routine MAGIP220 is deleted after the KIDS build is "BLD",8385,1,8,0) installed. "BLD",8385,4,0) ^9.64PA^^ "BLD",8385,6.3) 2 "BLD",8385,"ABNS",0) ^9.66A^^ "BLD",8385,"ABPKG") n^n^G.IMAGING DEVELOPMENT TEAM@domain.ext "BLD",8385,"INID") ^y "BLD",8385,"INIT") POS^MAGIP220 "BLD",8385,"KRN",0) ^9.67PA^779.2^20 "BLD",8385,"KRN",.4,0) .4 "BLD",8385,"KRN",.401,0) .401 "BLD",8385,"KRN",.402,0) .402 "BLD",8385,"KRN",.403,0) .403 "BLD",8385,"KRN",.5,0) .5 "BLD",8385,"KRN",.84,0) .84 "BLD",8385,"KRN",3.6,0) 3.6 "BLD",8385,"KRN",3.8,0) 3.8 "BLD",8385,"KRN",9.2,0) 9.2 "BLD",8385,"KRN",9.8,0) 9.8 "BLD",8385,"KRN",9.8,"NM",0) ^9.68A^2^2 "BLD",8385,"KRN",9.8,"NM",1,0) MAGJUTL2^^0^B56711674 "BLD",8385,"KRN",9.8,"NM",2,0) MAGIP220^^0^B4110353 "BLD",8385,"KRN",9.8,"NM","B","MAGIP220",2) "BLD",8385,"KRN",9.8,"NM","B","MAGJUTL2",1) "BLD",8385,"KRN",19,0) 19 "BLD",8385,"KRN",19.1,0) 19.1 "BLD",8385,"KRN",101,0) 101 "BLD",8385,"KRN",409.61,0) 409.61 "BLD",8385,"KRN",771,0) 771 "BLD",8385,"KRN",779.2,0) 779.2 "BLD",8385,"KRN",870,0) 870 "BLD",8385,"KRN",8989.51,0) 8989.51 "BLD",8385,"KRN",8989.52,0) 8989.52 "BLD",8385,"KRN",8994,0) 8994 "BLD",8385,"KRN","B",.4,.4) "BLD",8385,"KRN","B",.401,.401) "BLD",8385,"KRN","B",.402,.402) "BLD",8385,"KRN","B",.403,.403) "BLD",8385,"KRN","B",.5,.5) "BLD",8385,"KRN","B",.84,.84) "BLD",8385,"KRN","B",3.6,3.6) "BLD",8385,"KRN","B",3.8,3.8) "BLD",8385,"KRN","B",9.2,9.2) "BLD",8385,"KRN","B",9.8,9.8) "BLD",8385,"KRN","B",19,19) "BLD",8385,"KRN","B",19.1,19.1) "BLD",8385,"KRN","B",101,101) "BLD",8385,"KRN","B",409.61,409.61) "BLD",8385,"KRN","B",771,771) "BLD",8385,"KRN","B",779.2,779.2) "BLD",8385,"KRN","B",870,870) "BLD",8385,"KRN","B",8989.51,8989.51) "BLD",8385,"KRN","B",8989.52,8989.52) "BLD",8385,"KRN","B",8994,8994) "BLD",8385,"QDEF") ^^^^NO^^^^NO^^NO "BLD",8385,"QUES",0) ^9.62^^ "BLD",8385,"REQB",0) ^9.611^1^1 "BLD",8385,"REQB",1,0) MAG*3.0*120^2 "BLD",8385,"REQB","B","MAG*3.0*120",1) "INIT") POS^MAGIP220 "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) 220^3180717^126 "PKG",454,22,1,"PAH",1,1,0) ^^8^8^3180717 "PKG",454,22,1,"PAH",1,1,1,0) VistA Imaging V3.0 - Patch 220 VistARAD Timestamp Issue "PKG",454,22,1,"PAH",1,1,2,0) Routines: "PKG",454,22,1,"PAH",1,1,3,0) "PKG",454,22,1,"PAH",1,1,4,0) MAGIP220 "PKG",454,22,1,"PAH",1,1,5,0) MAGJUTL2 "PKG",454,22,1,"PAH",1,1,6,0) "PKG",454,22,1,"PAH",1,1,7,0) Please note that routine MAGIP220 is deleted after the KIDS build is "PKG",454,22,1,"PAH",1,1,8,0) installed. "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") 2 "RTN","MAGIP220") 0^2^B4110353 "RTN","MAGIP220",1,0) MAGIP220 ;WOIFO/DAC - Install code for MAG*3.0*220 ; 13 Jul 2018 3:05 PM "RTN","MAGIP220",2,0) ;;3.0;IMAGING;**220**;Mar 19, 2002;Build 2 "RTN","MAGIP220",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGIP220",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGIP220",5,0) ;; | Property of the US Government. | "RTN","MAGIP220",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGIP220",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGIP220",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGIP220",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGIP220",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGIP220",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGIP220",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGIP220",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGIP220",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGIP220",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGIP220",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGIP220",17,0) ;; "RTN","MAGIP220",18,0) ; There are no environment checks here but the MAGIP220 has to be "RTN","MAGIP220",19,0) ; referenced by the "Environment Check Routine" field of the KIDS "RTN","MAGIP220",20,0) ; build so that entry points of the routine are available to the "RTN","MAGIP220",21,0) ; KIDS during all installation phases. "RTN","MAGIP220",22,0) Q "RTN","MAGIP220",23,0) ; "RTN","MAGIP220",24,0) ;+++++ INSTALLATION ERROR HANDLING "RTN","MAGIP220",25,0) ERROR ; "RTN","MAGIP220",26,0) S:$D(XPDNM) XPDABORT=1 "RTN","MAGIP220",27,0) ;--- Display the messages and store them to the INSTALL file "RTN","MAGIP220",28,0) D DUMP^MAGUERR1(),ABTMSG^MAGKIDS() "RTN","MAGIP220",29,0) Q "RTN","MAGIP220",30,0) ; "RTN","MAGIP220",31,0) ;***** POST-INSTALL CODE "RTN","MAGIP220",32,0) POS ; "RTN","MAGIP220",33,0) N CALLBACK "RTN","MAGIP220",34,0) D CLEAR^MAGUERR(1) "RTN","MAGIP220",35,0) ; "RTN","MAGIP220",36,0) ;--- Send the notification e-mail "RTN","MAGIP220",37,0) D BMES^XPDUTL("Post Install Mail Message: "_$$FMTE^XLFDT($$NOW^XLFDT)) "RTN","MAGIP220",38,0) D INS^MAGQBUT4(XPDNM,DUZ,$$NOW^XLFDT,XPDA) "RTN","MAGIP220",39,0) Q "RTN","MAGIP220",40,0) ; "RTN","MAGIP220",41,0) ;***** PRE-INSTALL CODE "RTN","MAGIP220",42,0) PRE ; "RTN","MAGIP220",43,0) Q "RTN","MAGJUTL2") 0^1^B56711674 "RTN","MAGJUTL2",1,0) MAGJUTL2 ;WIRMFO/JHC/DAC - VistRad subroutines for RPC calls ; 9 Jul 2018 4:05 PM "RTN","MAGJUTL2",2,0) ;;3.0;IMAGING;**18,65,76,104,120,220**;Mar 19, 2002;Build 2 "RTN","MAGJUTL2",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGJUTL2",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGJUTL2",5,0) ;; | Property of the US Government. | "RTN","MAGJUTL2",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGJUTL2",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGJUTL2",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGJUTL2",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGJUTL2",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGJUTL2",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGJUTL2",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGJUTL2",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGJUTL2",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGJUTL2",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGJUTL2",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGJUTL2",17,0) ;; "RTN","MAGJUTL2",18,0) Q "RTN","MAGJUTL2",19,0) IMGINFO(RARPT,RET) ; Fetch info from Image File for input RARPT: "RTN","MAGJUTL2",20,0) ; Input: RARPT: Rad Report pointer "RTN","MAGJUTL2",21,0) ; RET contents delimited by ^: "RTN","MAGJUTL2",22,0) ; CT = # of images for case "RTN","MAGJUTL2",23,0) ; ONL = Image Storage status (Y=On Magnetic disk, N=Jukebox "RTN","MAGJUTL2",24,0) ; "n/a" for not available, e.g., film only) "RTN","MAGJUTL2",25,0) ; note -- if last image in group is Online, considers ALL online "RTN","MAGJUTL2",26,0) ; MAGDT = Date/Time of Image Capture "RTN","MAGJUTL2",27,0) ; REMOTE = 1/0 to Indicate images were remotely cached "RTN","MAGJUTL2",28,0) ; MODALITY = Modality abbrev "RTN","MAGJUTL2",29,0) ; PLACE = Image storage PLace (ptr to 2006.1 entry) "RTN","MAGJUTL2",30,0) ; KEY = 1/0 ind. Key Images exist for this exam "RTN","MAGJUTL2",31,0) ; "RTN","MAGJUTL2",32,0) N IRPT,MAGIEN,MAGIEN2,ONLCHK,NETLOC,STIEN "RTN","MAGJUTL2",33,0) N CT,ONL,MAGDT,REMOTE,MODALITY,PLACE,REMCHK,KEY,TDT "RTN","MAGJUTL2",34,0) S CT="",ONL="",MAGDT="",RET="",REMOTE="",MODALITY="",PLACE="",KEY=0 ; init return vars "RTN","MAGJUTL2",35,0) G IMGINFQ:'RARPT G IMGINFQ:'$D(^RARPT(RARPT,2005,0)) "RTN","MAGJUTL2",36,0) S STIEN=$$STUDYID^MAGJUPD2("",RARPT,1) "RTN","MAGJUTL2",37,0) I STIEN S T=$O(^MAG(2005,STIEN,205,0)) I T S KEY=1 "RTN","MAGJUTL2",38,0) S IRPT=0 F S IRPT=$O(^RARPT(RARPT,2005,IRPT)) Q:'IRPT S MAGIEN=$P(^(IRPT,0),U) D "RTN","MAGJUTL2",39,0) . Q:'$D(^MAG(2005,MAGIEN,0)) "RTN","MAGJUTL2",40,0) . ; P220 DAC - Modified to return a date with a timestamp "RTN","MAGJUTL2",41,0) . S TDT=$P($G(^MAG(2005,MAGIEN,100)),U,6) S:(TDT="")!($L(TDT,".")=1) TDT=$P($G(^(2)),U) "RTN","MAGJUTL2",42,0) . I TDT S MAGDT=$S(MAGDT="":TDT,TDT1 D "RTN","MAGJUTL2",66,0) . N I,MD,ORD,STR,T,X "RTN","MAGJUTL2",67,0) . S STR="1^CT|1^MG|1^RF|1^XA|2^MR|3^CR|4^DX|4^BDUS|4^BI|4^BMD|4^DF|4^DS|4^EC|4^MA|4^NM|4^PT|4^RG|4^ST|4^US|4^XC|5^ECG|5^IO|5^IVUS|5^PX|6^DG|6^TG|6^SC|6^VL|7^ES|7^FID|7^GM|7^HD|7^LS|7^XRAY|8^DOC|8^HC|8^OT|8^REG|8^SC|9^KO|9^PR|9^SEG|9^SR|" "RTN","MAGJUTL2",68,0) . F I=1:1 S X=$P(STR,"|",I) Q:X="" S MD($P(X,U,2))=+X "RTN","MAGJUTL2",69,0) . F I=1:1:$L(MDLS,DLM) S T=$P(MDLS,DLM,I) S ORD=$S($D(MD(T)):MD(T),1:6) S MDLS(ORD,T)=T ; assign "6" to any undefined code "RTN","MAGJUTL2",70,0) . S MDLS="" S X="MDLS(0)" F I=1:1 S X=$Q(@X) Q:X="" S MDLS=MDLS_DLM_@X "RTN","MAGJUTL2",71,0) . S MDLS=$E(MDLS,2,99) "RTN","MAGJUTL2",72,0) Q MDLS "RTN","MAGJUTL2",73,0) ; "RTN","MAGJUTL2",74,0) ONLCHK(MAGIEN,USETGA) ; "RTN","MAGJUTL2",75,0) ; Input: MAGIEN: Image pointer "RTN","MAGJUTL2",76,0) ; USETGA: 1/0 -- if 1, forces return of TGA (not .big) file "RTN","MAGJUTL2",77,0) ;Return: ^-delimited pieces: "RTN","MAGJUTL2",78,0) ; 1 - 1/0 for Full-Res image on Mag. Disk that is Online "RTN","MAGJUTL2",79,0) ; 2 - File type (BIG/FULL) "RTN","MAGJUTL2",80,0) ; 3 - Modality "RTN","MAGJUTL2",81,0) ; 4 - Place "RTN","MAGJUTL2",82,0) ; 5 - DFN "RTN","MAGJUTL2",83,0) ; 6 - File Name IFF this image is stored Off-Line (else null) "RTN","MAGJUTL2",84,0) ; 7 - USETGA * as calculated in the logic below "RTN","MAGJUTL2",85,0) ; 8 - PROCDT = Img Processing DtTime "RTN","MAGJUTL2",86,0) ; 9 - ACQSITE = Acquisition site code "RTN","MAGJUTL2",87,0) ; 10 - STANUM = Station Number where Magnetic Network Loc'n exists "RTN","MAGJUTL2",88,0) ; * USETGA is set to False (0) if a low-resolution image (TGA) is "RTN","MAGJUTL2",89,0) ; requested, but none exists; calling routine would call by ref. "RTN","MAGJUTL2",90,0) ; "RTN","MAGJUTL2",91,0) N BIG,X,NOD,MAG0,MODALITY,RET,PLACE,DFN,FILNAM,MAG2,PROCDT,ACQSITE,MAG100,STANUM "RTN","MAGJUTL2",92,0) S USETGA=+$G(USETGA) ; Defaults to Full-Resolution image if not defined "RTN","MAGJUTL2",93,0) S RET="",MODALITY="",PLACE="",ACQSITE="",STANUM="" "RTN","MAGJUTL2",94,0) S MAG0=^MAG(2005,MAGIEN,0),BIG=$D(^("FBIG")),NOD=$S(BIG:^("FBIG"),1:MAG0) "RTN","MAGJUTL2",95,0) S MAG2=^MAG(2005,MAGIEN,2),PROCDT=$P(MAG2,U) "RTN","MAGJUTL2",96,0) S MAG100=$G(^MAG(2005,MAGIEN,100)),ACQSITE=$P(MAG100,U,3) "RTN","MAGJUTL2",97,0) I USETGA D "RTN","MAGJUTL2",98,0) . I 'BIG S USETGA=0 ; reply no low-res image available "RTN","MAGJUTL2",99,0) . I BIG S NOD=MAG0,BIG=0 ; enable correct logic inside this subroutine "RTN","MAGJUTL2",100,0) S MODALITY=$P(MAG0,U,8),DFN=$P(MAG0,U,7) "RTN","MAGJUTL2",101,0) I BIG S X=+$P(NOD,U) ; $p 1 is Magnetic Disk/Volume (.big) "RTN","MAGJUTL2",102,0) E S X=+$P(NOD,U,3) ; $p 3 is Magnetic Disk/Volume (.tga) "RTN","MAGJUTL2",103,0) I X D "RTN","MAGJUTL2",104,0) . I '$D(NETLOC(X)) S NETLOC(X)=+$P(^MAG(2005.2,X,0),U,6)_U_$P(^(0),U,10)_U_$$STANUM(X) "RTN","MAGJUTL2",105,0) . S RET=+NETLOC(X),PLACE=$P(NETLOC(X),U,2),STANUM=$P(NETLOC(X),U,3) ; NETLOC is global to this subrtn "RTN","MAGJUTL2",106,0) . S FILNAM="" "RTN","MAGJUTL2",107,0) E D "RTN","MAGJUTL2",108,0) . S RET=0,FILNAM=$P(MAG0,U,2) "RTN","MAGJUTL2",109,0) . S T=$S(BIG:$P(NOD,U,2),1:$P(NOD,U,5)) "RTN","MAGJUTL2",110,0) . I T S PLACE=$P(^MAG(2005.2,T,0),U,10) "RTN","MAGJUTL2",111,0) S RET=RET_U_$S(BIG:"BIG",1:"FULL")_U_MODALITY_U_PLACE_U_DFN_U_FILNAM_U_USETGA_U_PROCDT_U_ACQSITE_U_STANUM "RTN","MAGJUTL2",112,0) Q RET "RTN","MAGJUTL2",113,0) ; "RTN","MAGJUTL2",114,0) REMOTE(MAGIEN) ;Return list of remote Cache Locations "RTN","MAGJUTL2",115,0) ; else, return "" if none "RTN","MAGJUTL2",116,0) N RET,LOC "RTN","MAGJUTL2",117,0) S RET="" "RTN","MAGJUTL2",118,0) I $D(^MAG(2005,MAGIEN,4,"LOC")) S LOC=0 D "RTN","MAGJUTL2",119,0) . F S LOC=$O(^MAG(2005,MAGIEN,4,"LOC",LOC)) Q:'LOC S RET=RET_$S(RET="":"",1:",")_LOC "RTN","MAGJUTL2",120,0) Q RET "RTN","MAGJUTL2",121,0) ; "RTN","MAGJUTL2",122,0) STANUM(NETLOC) ; Return Station Number for input Network Location "RTN","MAGJUTL2",123,0) N X,STANUM "RTN","MAGJUTL2",124,0) S STANUM="" "RTN","MAGJUTL2",125,0) I +$G(NETLOC) D "RTN","MAGJUTL2",126,0) . S X=$P($G(^MAG(2005.2,NETLOC,0)),"^",10) "RTN","MAGJUTL2",127,0) . I X S STANUM=$$GETSNUM^MAGDQR21(X) "RTN","MAGJUTL2",128,0) Q STANUM "RTN","MAGJUTL2",129,0) ; "RTN","MAGJUTL2",130,0) IMGINF2(RARPT,RET,USETGA) ; Fetch info from Image File for input RARPT: "RTN","MAGJUTL2",131,0) ; Input: RARPT: Rad Report pointer "RTN","MAGJUTL2",132,0) ; RET: see below "RTN","MAGJUTL2",133,0) ; USETGA: 1/0 -- if 1, forces return of TGA (not .big) file "RTN","MAGJUTL2",134,0) ; RET holds array of return values: "RTN","MAGJUTL2",135,0) ; RET = # Images stored for the case "RTN","MAGJUTL2",136,0) ; RET(1:n) = ^-delimited pieces: "RTN","MAGJUTL2",137,0) ; 1 - 1/0 for Full-Res image on Mag. Disk that is Online "RTN","MAGJUTL2",138,0) ; 2 - FULL/BIG "RTN","MAGJUTL2",139,0) ; 3 - Modality "RTN","MAGJUTL2",140,0) ; 4 - Image IEN "RTN","MAGJUTL2",141,0) ; 5 - Station # "RTN","MAGJUTL2",142,0) ; 6 - Routed-to Locations (IENs) "RTN","MAGJUTL2",143,0) ; 7 - PLACE "RTN","MAGJUTL2",144,0) ; 8 - DFN "RTN","MAGJUTL2",145,0) ; 9 - FileName (if OffLine) "RTN","MAGJUTL2",146,0) ; 10 - PS_Indicator -- 1=Image is on Magnetic Disk "RTN","MAGJUTL2",147,0) ; "RTN","MAGJUTL2",148,0) ; * This subroutine may be called by other VistARad routines "RTN","MAGJUTL2",149,0) ; "RTN","MAGJUTL2",150,0) N BIG,IMG,MAGIEN,MAGIEN2,MAGPTR,NETLOC "RTN","MAGJUTL2",151,0) K RET S RET=0 "RTN","MAGJUTL2",152,0) S USETGA=+$G(USETGA) ; Defaults to Full-Resolution image if not defined "RTN","MAGJUTL2",153,0) G IMGINF2Q:'RARPT S IMG=0 "RTN","MAGJUTL2",154,0) F S IMG=$O(^RARPT(RARPT,2005,IMG)) Q:'IMG S MAGIEN=$P(^(IMG,0),U) D "RTN","MAGJUTL2",155,0) . ; use group multiple structure when present "RTN","MAGJUTL2",156,0) . Q:'$D(^MAG(2005,MAGIEN,0)) S MAGPTR=0 "RTN","MAGJUTL2",157,0) . I '$O(^MAG(2005,MAGIEN,1,MAGPTR)) D Q "RTN","MAGJUTL2",158,0) . . S T=$$ONLCHK(MAGIEN,USETGA) "RTN","MAGJUTL2",159,0) . . S RET=RET+1,RET(RET)=$P(T,U,1,3)_U_MAGIEN_U_$P(T,U,10)_U_$$REMOTE(MAGIEN)_U_$P(T,U,4,7)_U_$$PSIND(MAGIEN)_U_$P(T,U,8)_U_$P(T,U,9) "RTN","MAGJUTL2",160,0) . E F S MAGPTR=$O(^MAG(2005,MAGIEN,1,MAGPTR)) Q:'MAGPTR S MAGIEN2=$P(^(MAGPTR,0),U) D "RTN","MAGJUTL2",161,0) . . S T=$$ONLCHK(MAGIEN2,USETGA) "RTN","MAGJUTL2",162,0) . . S RET=RET+1,RET(RET)=$P(T,U,1,3)_U_MAGIEN2_U_$P(T,U,10)_U_$$REMOTE(MAGIEN2)_U_$P(T,U,4,7)_U_$$PSIND(MAGIEN2)_U_$P(T,U,8)_U_$P(T,U,9) "RTN","MAGJUTL2",163,0) IMGINF2Q ; "RTN","MAGJUTL2",164,0) Q "RTN","MAGJUTL2",165,0) ; "RTN","MAGJUTL2",166,0) PSIND(MAGIEN) ; return Presentation State Indicator(s) for image "RTN","MAGJUTL2",167,0) ; K=Key Image PStype; I=Interpretation PStyp; U=User PStyp "RTN","MAGJUTL2",168,0) N RSL,IEN,X "RTN","MAGJUTL2",169,0) S RSL="",IEN=0 "RTN","MAGJUTL2",170,0) I $D(^MAG(2005,MAGIEN,210,IEN)) F S IEN=$O(^MAG(2005,MAGIEN,210,IEN)) Q:'IEN S X=$P(^(IEN,0),U,2) Q:RSL[X S RSL=RSL_$S(RSL="":"",1:",")_X "RTN","MAGJUTL2",171,0) Q:$Q RSL Q "RTN","MAGJUTL2",172,0) ; "RTN","MAGJUTL2",173,0) JBFETCH(RARPT,MAGS,USETGA,NOFETCH) ; fetch this case's images from Jukebox, if necessary "RTN","MAGJUTL2",174,0) ; Input: RARPT: Rad Report pointer "RTN","MAGJUTL2",175,0) ; MAGS: see below "RTN","MAGJUTL2",176,0) ; USETGA: 1/0 -- if 1, forces return of TGA (not .big) file "RTN","MAGJUTL2",177,0) ; NOFETCH: 1/0 -- if 1, metadata get only so do NOT issue Jukebox retrieve "RTN","MAGJUTL2",178,0) ; This is a function that returns a string containing: "RTN","MAGJUTL2",179,0) ; # Images fetched from JB ^ Total # Images for Case ^ # Low Res Imgs "RTN","MAGJUTL2",180,0) ; The MAGS array will be returned to the calling "RTN","MAGJUTL2",181,0) ; routine if MAGS is provided as an input parameter "RTN","MAGJUTL2",182,0) ; MAGS is populated by call to IMGINF2. "RTN","MAGJUTL2",183,0) ; IF any images are stored OffLine, then this node is set here: "RTN","MAGJUTL2",184,0) ; MAGS("OFFLN",JBOFFLN)="" JBOFFLN = Platter ID from file 2006.033 "RTN","MAGJUTL2",185,0) ; "RTN","MAGJUTL2",186,0) ; * This function may be called by other VistARad routines "RTN","MAGJUTL2",187,0) ; "RTN","MAGJUTL2",188,0) N MAGIEN,FETCH,IMAG,FILNAM,JBOFFLN,LORESCT "RTN","MAGJUTL2",189,0) S USETGA=+$G(USETGA) ; Defaults to Full-Resolution image if not defined "RTN","MAGJUTL2",190,0) S NOFETCH=+$G(NOFETCH) "RTN","MAGJUTL2",191,0) S FETCH=0,LORESCT=0 "RTN","MAGJUTL2",192,0) D IMGINF2(RARPT,.MAGS,USETGA) "RTN","MAGJUTL2",193,0) I MAGS F IMAG=1:1:MAGS S X=MAGS(IMAG) D "RTN","MAGJUTL2",194,0) . I USETGA S LORESCT=LORESCT+$P(X,U,10) "RTN","MAGJUTL2",195,0) . I '+X D ; Call params below depend on Consolidated Site status "RTN","MAGJUTL2",196,0) . . S FETCH=FETCH+1 "RTN","MAGJUTL2",197,0) . . Q:NOFETCH ; need the count of images on JB, but not retrieving them "RTN","MAGJUTL2",198,0) . . S FILNAM=$P(X,U,9) "RTN","MAGJUTL2",199,0) . . I FILNAM]"",$D(^MAGQUEUE(2006.033,"B",FILNAM)) S T=$O(^(FILNAM,"")) S JBOFFLN=$P($G(^MAGQUEUE(2006.033,T,0)),U,2),MAGS("OFFLN",JBOFFLN)="" Q ; OffLine Image "RTN","MAGJUTL2",200,0) . . I '$G(MAGJOB("CONSOLIDATED")) S X=$$JBTOHD^MAGBAPI($P(X,U,4)_"^"_$P(X,U,2)) ; pre-consolidation vs "RTN","MAGJUTL2",201,0) . . E S X=$$JBTOHD^MAGBAPI($P(X,U,4)_"^"_$P(X,U,2),$P(X,U,7)) "RTN","MAGJUTL2",202,0) JBFETCHQ Q FETCH_U_MAGS_U_LORESCT "RTN","MAGJUTL2",203,0) ; "RTN","MAGJUTL2",204,0) END Q ; "VER") 8.0^22.2 **END** **END**