KIDS Distribution saved on Jul 15, 2011@11:16:47 VistA Imaging V3.0 - Patch 117 - 07/15/2011 11:16AM **KIDS**:MAG*3.0*117^ **INSTALL NAME** MAG*3.0*117 "BLD",3463,0) MAG*3.0*117^IMAGING^0^3110715^y "BLD",3463,1,0) ^^34^34^3110715^ "BLD",3463,1,1,0) Version 3.0 Patch 117 - Deleted Image Placeholder "BLD",3463,1,2,0) "BLD",3463,1,3,0) "BLD",3463,1,4,0) Routines: "BLD",3463,1,5,0) MAGGA02 new value = 61650938 "BLD",3463,1,6,0) MAGGA02A new value = 46417366 "BLD",3463,1,7,0) MAGGA03Q new value = 73673627 "BLD",3463,1,8,0) MAGGA03U new value = 13661023 "BLD",3463,1,9,0) MAGGI13 new value = 43871753 "BLD",3463,1,10,0) MAGGROI new value = 12411084 "BLD",3463,1,11,0) MAGGSIA1 new value = 42690778 "BLD",3463,1,12,0) MAGGTIA new value = 48548549 "BLD",3463,1,13,0) MAGGTIG new value = 59987290 "BLD",3463,1,14,0) MAGGTPT1 new value = 43431536 "BLD",3463,1,15,0) MAGGTRA new value = 12029388 "BLD",3463,1,16,0) MAGGTSY2 new value = 6386006 "BLD",3463,1,17,0) MAGGTSYS new value = 12933916 "BLD",3463,1,18,0) MAGGTU3 new value = 33436210 "BLD",3463,1,19,0) MAGGTU31 new value = 50418193 "BLD",3463,1,20,0) MAGGTU4C new value = 4896018 "BLD",3463,1,21,0) MAGGTU4D new value = 4901823 "BLD",3463,1,22,0) MAGGTU4L new value = 4896099 "BLD",3463,1,23,0) MAGGTU4T new value = 4896171 "BLD",3463,1,24,0) MAGGTU6 new value = 51349836 "BLD",3463,1,25,0) MAGGTUP new value = 24946997 "BLD",3463,1,26,0) MAGGTUX4 new value = 10042466 "BLD",3463,1,27,0) MAGGUJB new value = 14550887 "BLD",3463,1,28,0) MAGIP117 new value = 13359033 "BLD",3463,1,29,0) MAGSIXG1 new value = 37750042 "BLD",3463,1,30,0) MAGSIXG3 new value = 80973956 "BLD",3463,1,31,0) MAGUXDPS new value = 18227402 "BLD",3463,1,32,0) "BLD",3463,1,33,0) Please note that routine MAGIP117 is deleted after the KIDS Build is "BLD",3463,1,34,0) installed. "BLD",3463,4,0) ^9.64PA^2006.961^4 "BLD",3463,6.3) V3.0p117Build2238_T8 "BLD",3463,4,2005,0) 2005 "BLD",3463,4,2005,2,0) ^9.641^2005^1 "BLD",3463,4,2005,2,2005,0) IMAGE (File-top level) "BLD",3463,4,2005,2,2005,1,0) ^9.6411^8.1^4 "BLD",3463,4,2005,2,2005,1,.05,0) ACQUISITION SITE "BLD",3463,4,2005,2,2005,1,7,0) DATE/TIME IMAGE SAVED "BLD",3463,4,2005,2,2005,1,8,0) IMAGE SAVE BY "BLD",3463,4,2005,2,2005,1,8.1,0) CAPTURE APPLICATION "BLD",3463,4,2005,222) y^y^p^^^^n^^n "BLD",3463,4,2005,224) "BLD",3463,4,2005.1,0) 2005.1 "BLD",3463,4,2005.1,2,0) ^9.641^2005.1^1 "BLD",3463,4,2005.1,2,2005.1,0) IMAGE AUDIT (File-top level) "BLD",3463,4,2005.1,2,2005.1,1,0) ^9.6411^8.1^5 "BLD",3463,4,2005.1,2,2005.1,1,.01,0) OBJECT NAME "BLD",3463,4,2005.1,2,2005.1,1,.05,0) ACQUISITION SITE "BLD",3463,4,2005.1,2,2005.1,1,7,0) DATE/TIME IMAGE SAVED "BLD",3463,4,2005.1,2,2005.1,1,8,0) IMAGE SAVE BY "BLD",3463,4,2005.1,2,2005.1,1,8.1,0) CAPTURE APPLICATION "BLD",3463,4,2005.1,222) y^y^p^^^^n^^n "BLD",3463,4,2005.1,224) "BLD",3463,4,2006.18,0) 2006.18 "BLD",3463,4,2006.18,2,0) ^9.641^2006.18^1 "BLD",3463,4,2006.18,2,2006.18,0) IMAGING USER PREFERENCE (File-top level) "BLD",3463,4,2006.18,2,2006.18,1,0) ^9.6411^79^3 "BLD",3463,4,2006.18,2,2006.18,1,78,0) SHOW DELETED IMAGE PLACEHOLDER "BLD",3463,4,2006.18,2,2006.18,1,79,0) SUPPRESS PRINT SUMMARY "BLD",3463,4,2006.18,2,2006.18,1,304,0) RIVER AUTO CONNECT DOD "BLD",3463,4,2006.18,222) y^y^p^^^^n^^n "BLD",3463,4,2006.18,224) "BLD",3463,4,2006.961,0) 2006.961 "BLD",3463,4,2006.961,222) y^y^f^^^^n "BLD",3463,4,"APDD",2006.18,2006.18) "BLD",3463,4,"APDD",2005,2005) "BLD",3463,4,"APDD",2005,2005,.05) "BLD",3463,4,"APDD",2005,2005,7) "BLD",3463,4,"APDD",2005,2005,8) "BLD",3463,4,"APDD",2005,2005,8.1) "BLD",3463,4,"APDD",2005.1,2005.1) "BLD",3463,4,"APDD",2005.1,2005.1,.01) "BLD",3463,4,"APDD",2005.1,2005.1,.05) "BLD",3463,4,"APDD",2005.1,2005.1,7) "BLD",3463,4,"APDD",2005.1,2005.1,8) "BLD",3463,4,"APDD",2005.1,2005.1,8.1) "BLD",3463,4,"APDD",2006.18,2006.18) "BLD",3463,4,"APDD",2006.18,2006.18,304) "BLD",3463,4,"APDD",2006.18,2006.18,78) "BLD",3463,4,"APDD",2006.18,2006.18,79) "BLD",3463,4,"B",2005,2005) "BLD",3463,4,"B",2005.1,2005.1) "BLD",3463,4,"B",2006.18,2006.18) "BLD",3463,4,"B",2006.961,2006.961) "BLD",3463,"ABNS",0) ^9.66A^^ "BLD",3463,"ABPKG") n^n^G.IMAGING DEVELOPMENT TEAM@DOMAIN.EXT "BLD",3463,"INI") PRE^MAGIP117 "BLD",3463,"INID") n^y^y "BLD",3463,"INIT") POS^MAGIP117 "BLD",3463,"KRN",0) ^9.67PA^8994^19 "BLD",3463,"KRN",.4,0) .4 "BLD",3463,"KRN",.4,"NM",0) ^9.68A^^ "BLD",3463,"KRN",.401,0) .401 "BLD",3463,"KRN",.401,"NM",0) ^9.68A^^ "BLD",3463,"KRN",.402,0) .402 "BLD",3463,"KRN",.402,"NM",0) ^9.68A^^ "BLD",3463,"KRN",.403,0) .403 "BLD",3463,"KRN",.5,0) .5 "BLD",3463,"KRN",.84,0) .84 "BLD",3463,"KRN",.84,"NM",0) ^9.68A^^ "BLD",3463,"KRN",3.6,0) 3.6 "BLD",3463,"KRN",3.8,0) 3.8 "BLD",3463,"KRN",9.2,0) 9.2 "BLD",3463,"KRN",9.8,0) 9.8 "BLD",3463,"KRN",9.8,"NM",0) ^9.68A^26^26 "BLD",3463,"KRN",9.8,"NM",1,0) MAGGA02^^0^B61650938 "BLD",3463,"KRN",9.8,"NM",2,0) MAGGA02A^^0^B46417366 "BLD",3463,"KRN",9.8,"NM",3,0) MAGGA03Q^^0^B73673627 "BLD",3463,"KRN",9.8,"NM",4,0) MAGGA03U^^0^B13661023 "BLD",3463,"KRN",9.8,"NM",5,0) MAGGI13^^0^B43871753 "BLD",3463,"KRN",9.8,"NM",6,0) MAGGROI^^0^B12411084 "BLD",3463,"KRN",9.8,"NM",7,0) MAGGSIA1^^0^B42690778 "BLD",3463,"KRN",9.8,"NM",8,0) MAGGTIA^^0^B48548549 "BLD",3463,"KRN",9.8,"NM",9,0) MAGGTIG^^0^B59987290 "BLD",3463,"KRN",9.8,"NM",10,0) MAGGTPT1^^0^B43431536 "BLD",3463,"KRN",9.8,"NM",11,0) MAGGTRA^^0^B12029388 "BLD",3463,"KRN",9.8,"NM",12,0) MAGGTSY2^^0^B6386006 "BLD",3463,"KRN",9.8,"NM",13,0) MAGGTSYS^^0^B12933916 "BLD",3463,"KRN",9.8,"NM",14,0) MAGGTU3^^0^B33436210 "BLD",3463,"KRN",9.8,"NM",15,0) MAGGTU31^^0^B50418193 "BLD",3463,"KRN",9.8,"NM",16,0) MAGGTU4C^^0^B4896018 "BLD",3463,"KRN",9.8,"NM",17,0) MAGGTU4D^^0^B4901823 "BLD",3463,"KRN",9.8,"NM",18,0) MAGGTU4L^^0^B4896099 "BLD",3463,"KRN",9.8,"NM",19,0) MAGGTU4T^^0^B4896171 "BLD",3463,"KRN",9.8,"NM",20,0) MAGGTU6^^0^B51349836 "BLD",3463,"KRN",9.8,"NM",21,0) MAGGTUP^^0^B24946997 "BLD",3463,"KRN",9.8,"NM",22,0) MAGGTUX4^^0^B10042466 "BLD",3463,"KRN",9.8,"NM",23,0) MAGGUJB^^0^B14550887 "BLD",3463,"KRN",9.8,"NM",24,0) MAGSIXG1^^0^B37750042 "BLD",3463,"KRN",9.8,"NM",25,0) MAGSIXG3^^0^B80973956 "BLD",3463,"KRN",9.8,"NM",26,0) MAGUXDPS^^0^B18227402 "BLD",3463,"KRN",9.8,"NM","B","MAGGA02",1) "BLD",3463,"KRN",9.8,"NM","B","MAGGA02A",2) "BLD",3463,"KRN",9.8,"NM","B","MAGGA03Q",3) "BLD",3463,"KRN",9.8,"NM","B","MAGGA03U",4) "BLD",3463,"KRN",9.8,"NM","B","MAGGI13",5) "BLD",3463,"KRN",9.8,"NM","B","MAGGROI",6) "BLD",3463,"KRN",9.8,"NM","B","MAGGSIA1",7) "BLD",3463,"KRN",9.8,"NM","B","MAGGTIA",8) "BLD",3463,"KRN",9.8,"NM","B","MAGGTIG",9) "BLD",3463,"KRN",9.8,"NM","B","MAGGTPT1",10) "BLD",3463,"KRN",9.8,"NM","B","MAGGTRA",11) "BLD",3463,"KRN",9.8,"NM","B","MAGGTSY2",12) "BLD",3463,"KRN",9.8,"NM","B","MAGGTSYS",13) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU3",14) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU31",15) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU4C",16) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU4D",17) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU4L",18) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU4T",19) "BLD",3463,"KRN",9.8,"NM","B","MAGGTU6",20) "BLD",3463,"KRN",9.8,"NM","B","MAGGTUP",21) "BLD",3463,"KRN",9.8,"NM","B","MAGGTUX4",22) "BLD",3463,"KRN",9.8,"NM","B","MAGGUJB",23) "BLD",3463,"KRN",9.8,"NM","B","MAGSIXG1",24) "BLD",3463,"KRN",9.8,"NM","B","MAGSIXG3",25) "BLD",3463,"KRN",9.8,"NM","B","MAGUXDPS",26) "BLD",3463,"KRN",19,0) 19 "BLD",3463,"KRN",19,"NM",0) ^9.68A^1^1 "BLD",3463,"KRN",19,"NM",1,0) MAG REBUILD DATE-USER INDICES^^0 "BLD",3463,"KRN",19,"NM","B","MAG REBUILD DATE-USER INDICES",1) "BLD",3463,"KRN",19.1,0) 19.1 "BLD",3463,"KRN",19.1,"NM",0) ^9.68A^2^2 "BLD",3463,"KRN",19.1,"NM",1,0) MAG QA REVIEW^^0 "BLD",3463,"KRN",19.1,"NM",2,0) MAG REVIEW NCAT^^0 "BLD",3463,"KRN",19.1,"NM","B","MAG QA REVIEW",1) "BLD",3463,"KRN",19.1,"NM","B","MAG REVIEW NCAT",2) "BLD",3463,"KRN",101,0) 101 "BLD",3463,"KRN",101,"NM",0) ^9.68A^^ "BLD",3463,"KRN",409.61,0) 409.61 "BLD",3463,"KRN",771,0) 771 "BLD",3463,"KRN",771,"NM",0) ^9.68A^^ "BLD",3463,"KRN",870,0) 870 "BLD",3463,"KRN",870,"NM",0) ^9.68A^^ "BLD",3463,"KRN",8989.51,0) 8989.51 "BLD",3463,"KRN",8989.51,"NM",0) ^9.68A^^ "BLD",3463,"KRN",8989.52,0) 8989.52 "BLD",3463,"KRN",8994,0) 8994 "BLD",3463,"KRN",8994,"NM",0) ^9.68A^8^8 "BLD",3463,"KRN",8994,"NM",1,0) MAG4 GET IMAGE INFO^^0 "BLD",3463,"KRN",8994,"NM",2,0) MAG4 IMAGE LIST^^0 "BLD",3463,"KRN",8994,"NM",3,0) MAGG GROUP IMAGES^^0 "BLD",3463,"KRN",8994,"NM",4,0) MAGG IMAGE STATISTICS BY USER^^0 "BLD",3463,"KRN",8994,"NM",5,0) MAGG IMAGE STATISTICS QUE^^0 "BLD",3463,"KRN",8994,"NM",6,0) MAGG JUKE BOX PATH^^0 "BLD",3463,"KRN",8994,"NM",7,0) MAGG MULTI IMAGE PRINT^^0 "BLD",3463,"KRN",8994,"NM",8,0) MAGG PAT INFO^^0 "BLD",3463,"KRN",8994,"NM","B","MAG4 GET IMAGE INFO",1) "BLD",3463,"KRN",8994,"NM","B","MAG4 IMAGE LIST",2) "BLD",3463,"KRN",8994,"NM","B","MAGG GROUP IMAGES",3) "BLD",3463,"KRN",8994,"NM","B","MAGG IMAGE STATISTICS BY USER",4) "BLD",3463,"KRN",8994,"NM","B","MAGG IMAGE STATISTICS QUE",5) "BLD",3463,"KRN",8994,"NM","B","MAGG JUKE BOX PATH",6) "BLD",3463,"KRN",8994,"NM","B","MAGG MULTI IMAGE PRINT",7) "BLD",3463,"KRN",8994,"NM","B","MAGG PAT INFO",8) "BLD",3463,"KRN","B",.4,.4) "BLD",3463,"KRN","B",.401,.401) "BLD",3463,"KRN","B",.402,.402) "BLD",3463,"KRN","B",.403,.403) "BLD",3463,"KRN","B",.5,.5) "BLD",3463,"KRN","B",.84,.84) "BLD",3463,"KRN","B",3.6,3.6) "BLD",3463,"KRN","B",3.8,3.8) "BLD",3463,"KRN","B",9.2,9.2) "BLD",3463,"KRN","B",9.8,9.8) "BLD",3463,"KRN","B",19,19) "BLD",3463,"KRN","B",19.1,19.1) "BLD",3463,"KRN","B",101,101) "BLD",3463,"KRN","B",409.61,409.61) "BLD",3463,"KRN","B",771,771) "BLD",3463,"KRN","B",870,870) "BLD",3463,"KRN","B",8989.51,8989.51) "BLD",3463,"KRN","B",8989.52,8989.52) "BLD",3463,"KRN","B",8994,8994) "BLD",3463,"REQB",0) ^9.611^1^1 "BLD",3463,"REQB",1,0) MAG*3.0*106^2 "BLD",3463,"REQB","B","MAG*3.0*106",1) "FIA",2005) IMAGE "FIA",2005,0) ^MAG(2005, "FIA",2005,0,0) 2005I "FIA",2005,0,1) y^y^p^^^^n^^n "FIA",2005,0,10) "FIA",2005,0,11) "FIA",2005,0,"RLRO") "FIA",2005,2005) 1 "FIA",2005,2005,.05) "FIA",2005,2005,7) "FIA",2005,2005,8) "FIA",2005,2005,8.1) "FIA",2005.1) IMAGE AUDIT "FIA",2005.1,0) ^MAG(2005.1, "FIA",2005.1,0,0) 2005.1I "FIA",2005.1,0,1) y^y^p^^^^n^^n "FIA",2005.1,0,10) "FIA",2005.1,0,11) "FIA",2005.1,0,"RLRO") "FIA",2005.1,2005.1) 1 "FIA",2005.1,2005.1,.01) "FIA",2005.1,2005.1,.05) "FIA",2005.1,2005.1,7) "FIA",2005.1,2005.1,8) "FIA",2005.1,2005.1,8.1) "FIA",2006.18) IMAGING USER PREFERENCE "FIA",2006.18,0) ^MAG(2006.18, "FIA",2006.18,0,0) 2006.18 "FIA",2006.18,0,1) y^y^p^^^^n^^n "FIA",2006.18,0,10) "FIA",2006.18,0,11) "FIA",2006.18,0,"RLRO") "FIA",2006.18,0,"VR") 3.0^MAG "FIA",2006.18,2006.18) 1 "FIA",2006.18,2006.18,78) "FIA",2006.18,2006.18,79) "FIA",2006.18,2006.18,304) "FIA",2006.961) MULTI IMAGE PRINT "FIA",2006.961,0) ^MAG(2006.961, "FIA",2006.961,0,0) 2006.961P "FIA",2006.961,0,1) y^y^f^^^^n "FIA",2006.961,0,10) "FIA",2006.961,0,11) "FIA",2006.961,0,"RLRO") "FIA",2006.961,0,"VR") 3.0^MAG "FIA",2006.961,2006.961) 0 "FIA",2006.961,2006.9613) 0 "INI") PRE^MAGIP117 "INIT") POS^MAGIP117 "IX",2005,2005,"AD",0) 2005^AD^Created by Patch 77^R^^F^IR^I^2005^^^^^S "IX",2005,2005,"AD",1) S ^MAG(2005,"AD",X,DA)="" "IX",2005,2005,"AD",2) K ^MAG(2005,"AD",X,DA) "IX",2005,2005,"AD",2.5) K ^MAG(2005,"AD") "IX",2005,2005,"AD",11.1,0) ^.114IA^1^1 "IX",2005,2005,"AD",11.1,1,0) 1^F^2005^7^^1^F "IX",2005,2005,"AD",11.1,1,2) S X=$P(X,".") "IX",2005,2005,"AD",11.1,1,3) "IX",2005,2005,"ADTDUZ",0) 2005^ADTDUZ^APP-DATE-USER-SITE^R^^R^IR^I^2005^^^^^S "IX",2005,2005,"ADTDUZ",.1,0) ^^5^5^3110615^^^ "IX",2005,2005,"ADTDUZ",.1,1,0) This cross reference optimizes the summation of counts of images captured "IX",2005,2005,"ADTDUZ",.1,2,0) by capture application, by date, by user, by site. "IX",2005,2005,"ADTDUZ",.1,3,0) "IX",2005,2005,"ADTDUZ",.1,4,0) The SET CONDITION and KILL CONDITION ensure that this cross reference is "IX",2005,2005,"ADTDUZ",.1,5,0) set only for standalone images and group parents, not for child images. "IX",2005,2005,"ADTDUZ",1) S ^MAG(2005,"ADTDUZ",$E(X(1),1,15),$E(X(2),1,30),$E(X(3),1,15),$E(X(4),1,15),DA)="" "IX",2005,2005,"ADTDUZ",1.4) S X=(X(5)="") "IX",2005,2005,"ADTDUZ",2) K ^MAG(2005,"ADTDUZ",$E(X(1),1,15),$E(X(2),1,30),$E(X(3),1,15),$E(X(4),1,15),DA) "IX",2005,2005,"ADTDUZ",2.4) S X=(X(5)="") "IX",2005,2005,"ADTDUZ",2.5) K ^MAG(2005,"ADTDUZ") "IX",2005,2005,"ADTDUZ",11.1,0) ^.114IA^5^5 "IX",2005,2005,"ADTDUZ",11.1,1,0) 2^F^2005^7^30^2^F "IX",2005,2005,"ADTDUZ",11.1,1,2) S X=X\1 "IX",2005,2005,"ADTDUZ",11.1,2,0) 3^F^2005^8^15^3^F "IX",2005,2005,"ADTDUZ",11.1,3,0) 4^F^2005^.05^15^4^F "IX",2005,2005,"ADTDUZ",11.1,4,0) 1^F^2005^8.1^15^1^F "IX",2005,2005,"ADTDUZ",11.1,5,0) 5^F^2005^14^^^F "IX",2005,2005,"ADTDUZ",11.1,5,3) "IX",2005,2005,"D",0) 2005^D^INSTUTION(AKA ACQUISITION SITE)^R^^F^IR^I^2005^^^^^LS "IX",2005,2005,"D",1) S ^MAG(2005,"D",X,DA)="" "IX",2005,2005,"D",2) K ^MAG(2005,"D",X,DA) "IX",2005,2005,"D",2.5) K ^MAG(2005,"D") "IX",2005,2005,"D",11.1,0) ^.114IA^1^1 "IX",2005,2005,"D",11.1,1,0) 1^F^2005^.05^^1^F "IX",2005,2005,"D",11.1,1,3) "IX",2005.1,2005.1,"AD",0) 2005.1^AD^Created by Patch 77^R^^F^IR^I^2005.1^^^^^S "IX",2005.1,2005.1,"AD",1) S ^MAG(2005.1,"AD",X,DA)="" "IX",2005.1,2005.1,"AD",2) K ^MAG(2005.1,"AD",X,DA) "IX",2005.1,2005.1,"AD",2.5) K ^MAG(2005.1,"AD") "IX",2005.1,2005.1,"AD",11.1,0) ^.114IA^1^1 "IX",2005.1,2005.1,"AD",11.1,1,0) 1^F^2005.1^7^^1^F "IX",2005.1,2005.1,"AD",11.1,1,2) S X=$P(X,".") "IX",2005.1,2005.1,"AD",11.1,1,3) "IX",2005.1,2005.1,"ADTDUZ",0) 2005.1^ADTDUZ^APP-DATE-USER-SITE^R^^R^IR^I^2005.1^^^^^S "IX",2005.1,2005.1,"ADTDUZ",.1,0) ^^5^5^3110615^ "IX",2005.1,2005.1,"ADTDUZ",.1,1,0) This cross reference optimizes the summation of counts of images captured "IX",2005.1,2005.1,"ADTDUZ",.1,2,0) by capture application, by date, by user, by site. "IX",2005.1,2005.1,"ADTDUZ",.1,3,0) "IX",2005.1,2005.1,"ADTDUZ",.1,4,0) The SET CONDITION and KILL CONDITION ensure that this cross reference is "IX",2005.1,2005.1,"ADTDUZ",.1,5,0) set only for standalone images and group parents, not for child images. "IX",2005.1,2005.1,"ADTDUZ",1) S ^MAG(2005.1,"ADTDUZ",$E(X(1),1,15),$E(X(2),1,30),$E(X(3),1,15),$E(X(4),1,15),DA)="" "IX",2005.1,2005.1,"ADTDUZ",1.4) S X=(X(5)="") "IX",2005.1,2005.1,"ADTDUZ",2) K ^MAG(2005.1,"ADTDUZ",$E(X(1),1,15),$E(X(2),1,30),$E(X(3),1,15),$E(X(4),1,15),DA) "IX",2005.1,2005.1,"ADTDUZ",2.4) S X=(X(5)="") "IX",2005.1,2005.1,"ADTDUZ",2.5) K ^MAG(2005.1,"ADTDUZ") "IX",2005.1,2005.1,"ADTDUZ",11.1,0) ^.114IA^5^5 "IX",2005.1,2005.1,"ADTDUZ",11.1,1,0) 2^F^2005.1^7^30^2^F "IX",2005.1,2005.1,"ADTDUZ",11.1,1,2) S X=X\1 "IX",2005.1,2005.1,"ADTDUZ",11.1,2,0) 3^F^2005.1^8^15^3^F "IX",2005.1,2005.1,"ADTDUZ",11.1,3,0) 4^F^2005.1^.05^15^4^F "IX",2005.1,2005.1,"ADTDUZ",11.1,4,0) 1^F^2005.1^8.1^15^1^F "IX",2005.1,2005.1,"ADTDUZ",11.1,4,3) "IX",2005.1,2005.1,"ADTDUZ",11.1,5,0) 5^F^2005.1^14^^^F "IX",2005.1,2005.1,"ADTDUZ",11.1,5,3) "IX",2005.1,2005.1,"AUDIT100",0) 2005.1^AUDIT100^Tracks changes of image fields^MU^^R^I^I^2005.1^^^^^A "IX",2005.1,2005.1,"AUDIT100",.1,0) ^^5^5^3080626^ "IX",2005.1,2005.1,"AUDIT100",.1,1,0) When values of the referenced fields are updated, "IX",2005.1,2005.1,"AUDIT100",.1,2,0) this "index" saves the old values to the AUDIT "IX",2005.1,2005.1,"AUDIT100",.1,3,0) multiple (99). "IX",2005.1,2005.1,"AUDIT100",.1,4,0) "IX",2005.1,2005.1,"AUDIT100",.1,5,0) Added by the patch MAG*3*93. "IX",2005.1,2005.1,"AUDIT100",1) D AUDIT^MAGUXRF(2005.1,DA_",",";110;112;113;113.3",2005.199,.X1,.X2) "IX",2005.1,2005.1,"AUDIT100",1.4) "IX",2005.1,2005.1,"AUDIT100",2) Q "IX",2005.1,2005.1,"AUDIT100",11.1,0) ^.114IA^5^5 "IX",2005.1,2005.1,"AUDIT100",11.1,1,0) 1^F^2005.1^.01^^^ "IX",2005.1,2005.1,"AUDIT100",11.1,1,3) "IX",2005.1,2005.1,"AUDIT100",11.1,2,0) 2^F^2005.1^110^^^ "IX",2005.1,2005.1,"AUDIT100",11.1,2,3) "IX",2005.1,2005.1,"AUDIT100",11.1,3,0) 3^F^2005.1^112^^^ "IX",2005.1,2005.1,"AUDIT100",11.1,3,3) "IX",2005.1,2005.1,"AUDIT100",11.1,4,0) 4^F^2005.1^113^^^ "IX",2005.1,2005.1,"AUDIT100",11.1,4,3) "IX",2005.1,2005.1,"AUDIT100",11.1,5,0) 5^F^2005.1^113.3^^^ "IX",2005.1,2005.1,"AUDIT100",11.1,5,3) "IX",2005.1,2005.1,"AUDIT2",0) 2005.1^AUDIT2^Tracks changes of image fields^MU^^R^I^I^2005.1^^^^^A "IX",2005.1,2005.1,"AUDIT2",.1,0) ^^5^5^3080626^ "IX",2005.1,2005.1,"AUDIT2",.1,1,0) When values of the referenced fields are updated, "IX",2005.1,2005.1,"AUDIT2",.1,2,0) this "index" saves the old values to the AUDIT "IX",2005.1,2005.1,"AUDIT2",.1,3,0) multiple (99). "IX",2005.1,2005.1,"AUDIT2",.1,4,0) "IX",2005.1,2005.1,"AUDIT2",.1,5,0) Added by the patch MAG*3*93. "IX",2005.1,2005.1,"AUDIT2",1) D AUDIT^MAGUXRF(2005.1,DA_",",";10;6;15",2005.199,.X1,.X2) "IX",2005.1,2005.1,"AUDIT2",1.4) "IX",2005.1,2005.1,"AUDIT2",2) Q "IX",2005.1,2005.1,"AUDIT2",11.1,0) ^.114IA^4^4 "IX",2005.1,2005.1,"AUDIT2",11.1,1,0) 1^F^2005.1^.01^^^ "IX",2005.1,2005.1,"AUDIT2",11.1,1,3) "IX",2005.1,2005.1,"AUDIT2",11.1,2,0) 2^F^2005.1^10^^^ "IX",2005.1,2005.1,"AUDIT2",11.1,2,3) "IX",2005.1,2005.1,"AUDIT2",11.1,3,0) 3^F^2005.1^6^^^ "IX",2005.1,2005.1,"AUDIT2",11.1,3,3) "IX",2005.1,2005.1,"AUDIT2",11.1,4,0) 4^F^2005.1^15^^^ "IX",2005.1,2005.1,"AUDIT2",11.1,4,3) "IX",2005.1,2005.1,"AUDIT40",0) 2005.1^AUDIT40^Tracks changes of image fields^MU^^R^I^I^2005.1^^^^^A "IX",2005.1,2005.1,"AUDIT40",.1,0) ^^5^5^3080717^^ "IX",2005.1,2005.1,"AUDIT40",.1,1,0) When values of the referenced fields are updated, "IX",2005.1,2005.1,"AUDIT40",.1,2,0) this "index" saves the old values to the AUDIT "IX",2005.1,2005.1,"AUDIT40",.1,3,0) multiple (99). "IX",2005.1,2005.1,"AUDIT40",.1,4,0) "IX",2005.1,2005.1,"AUDIT40",.1,5,0) Added by the patch MAG*3*93. "IX",2005.1,2005.1,"AUDIT40",1) D AUDIT^MAGUXRF(2005.1,DA_",",";40;42;43;44;45",2005.199,.X1,.X2) "IX",2005.1,2005.1,"AUDIT40",1.4) "IX",2005.1,2005.1,"AUDIT40",2) Q "IX",2005.1,2005.1,"AUDIT40",11.1,0) ^.114IA^6^6 "IX",2005.1,2005.1,"AUDIT40",11.1,1,0) 1^F^2005.1^.01^^^ "IX",2005.1,2005.1,"AUDIT40",11.1,1,3) "IX",2005.1,2005.1,"AUDIT40",11.1,2,0) 2^F^2005.1^40^^^ "IX",2005.1,2005.1,"AUDIT40",11.1,2,3) "IX",2005.1,2005.1,"AUDIT40",11.1,3,0) 3^F^2005.1^42^^^ "IX",2005.1,2005.1,"AUDIT40",11.1,3,3) "IX",2005.1,2005.1,"AUDIT40",11.1,4,0) 4^F^2005.1^43^^^ "IX",2005.1,2005.1,"AUDIT40",11.1,4,3) "IX",2005.1,2005.1,"AUDIT40",11.1,5,0) 5^F^2005.1^44^^^ "IX",2005.1,2005.1,"AUDIT40",11.1,5,3) "IX",2005.1,2005.1,"AUDIT40",11.1,6,0) 6^F^2005.1^45^^^ "IX",2005.1,2005.1,"AUDIT40",11.1,6,3) "KRN",19,123457,-1) 0^1 "KRN",19,123457,0) MAG REBUILD DATE-USER INDICES^Rebuild DATE-USER-SITE indices^^R^^^^^^^^ "KRN",19,123457,1,0) ^^3^3^3110610^ "KRN",19,123457,1,1,0) This option rebuilds the 'ADTDUZ' cross references on the IMAGE "KRN",19,123457,1,2,0) (#2005) and IMAGE AUDIT (#2005.1) Files, optimizing the collection of "KRN",19,123457,1,3,0) statistics regarding users who have captured images over a date range. "KRN",19,123457,25) SETUP^MAGUXDPS "KRN",19,123457,"U") REBUILD DATE-USER-SITE INDICES "KRN",19.1,123458,-1) 0^1 "KRN",19.1,123458,0) MAG QA REVIEW "KRN",19.1,123458,1,0) ^19.11^2^2^3100902^^^ "KRN",19.1,123458,1,1,0) This Security Key controls access to the Imaging QA Review and QA Reports "KRN",19.1,123458,1,2,0) functions of Clinical Capture and Display. "KRN",19.1,123459,-1) 0^2 "KRN",19.1,123459,0) MAG REVIEW NCAT "KRN",19.1,123459,1,0) ^^1^1^3100902^ "KRN",19.1,123459,1,1,0) This security key controls access to NCAT images in Clinical Display "KRN",8994,123460,-1) 0^1 "KRN",8994,123460,0) MAG4 GET IMAGE INFO^GETINFO^MAGGTU31^2^R "KRN",8994,123460,1,0) ^8994.01^2^2^3100920^^^^ "KRN",8994,123460,1,1,0) Returns specific fields of an image entry, to be displayed "KRN",8994,123460,1,2,0) in the image information window. "KRN",8994,123460,2,0) ^8994.02A^2^2 "KRN",8994,123460,2,1,0) IEN^1^30^1^1 "KRN",8994,123460,2,1,1,0) ^8994.021^1^1^3100920^^^^ "KRN",8994,123460,2,1,1,1,0) Image File internal entry number. "KRN",8994,123460,2,2,0) FLAGS^1^^0^2 "KRN",8994,123460,2,2,1,0) ^8994.021^2^2^3100920^^^^ "KRN",8994,123460,2,2,1,1,0) Flags that control the execution (can be combined): "KRN",8994,123460,2,2,1,2,0) "D" Deleted Image Information is relevant "KRN",8994,123460,2,"B","IEN",1) "KRN",8994,123460,2,"B","FLAGS",2) "KRN",8994,123460,2,"PARAMSEQ",1,1) "KRN",8994,123460,2,"PARAMSEQ",2,2) "KRN",8994,123460,3,0) ^8994.03^1^1^3100920^^^^ "KRN",8994,123460,3,1,0) Array of information on a specific image "KRN",8994,123461,-1) 0^2 "KRN",8994,123461,0) MAG4 IMAGE LIST^GETIMGS^MAGSIXG1^2^R^^^1 "KRN",8994,123461,1,0) ^8994.01^2^2^3101022^^^^ "KRN",8994,123461,1,1,0) This remote procedure returns information about images that conform to "KRN",8994,123461,1,2,0) the provided criteria. "KRN",8994,123461,2,0) ^8994.02A^6^5 "KRN",8994,123461,2,2,0) FLAGS^1^^1^1 "KRN",8994,123461,2,2,1,0) ^8994.021^51^51^3101022^^ "KRN",8994,123461,2,2,1,1,0) Flags that control the execution (can be combined): "KRN",8994,123461,2,2,1,2,0) "KRN",8994,123461,2,2,1,3,0) C Capture date range. If this flag is provided, then the "KRN",8994,123461,2,2,1,4,0) remote procedure uses values of the FROMDATE and TODATE "KRN",8994,123461,2,2,1,5,0) parameters to select images that were captured in this "KRN",8994,123461,2,2,1,6,0) date range (see the DATE/TIME IMAGE SAVED field (7) and "KRN",8994,123461,2,2,1,7,0) the "AD" cross-reference). "KRN",8994,123461,2,2,1,8,0) "KRN",8994,123461,2,2,1,9,0) Otherwise, values of those parameters are treated as "KRN",8994,123461,2,2,1,10,0) the date range when procedures were performed (see the "KRN",8994,123461,2,2,1,11,0) PROCEDURE/EXAM DATE/TIME field (15) and cross-references "KRN",8994,123461,2,2,1,12,0) "APDTPX" and "APDT"). "KRN",8994,123461,2,2,1,13,0) "KRN",8994,123461,2,2,1,14,0) D Include only deleted images (file #2005.1) "KRN",8994,123461,2,2,1,15,0) E Include only existing images (file #2005) "KRN",8994,123461,2,2,1,16,0) "KRN",8994,123461,2,2,1,17,0) S Return the sparse subset of images captured by the user "KRN",8994,123461,2,2,1,18,0) defined by the miscellaneous "SAVEDBY" filter parameter "KRN",8994,123461,2,2,1,19,0) (see the MISCPRMS parameter). The "SAVEDBY" becomes a "KRN",8994,123461,2,2,1,20,0) required parameter in this case. "KRN",8994,123461,2,2,1,21,0) "KRN",8994,123461,2,2,1,22,0) Firstly, images are preselected according to the date "KRN",8994,123461,2,2,1,23,0) range and other criteria. Those of them that were captured "KRN",8994,123461,2,2,1,24,0) immediately before and after patient changes are stored to "KRN",8994,123461,2,2,1,25,0) the "priority" temporary buffer. The others are stored to "KRN",8994,123461,2,2,1,26,0) the regular temporary buffer. "KRN",8994,123461,2,2,1,27,0) "KRN",8994,123461,2,2,1,28,0) Then, the requested maximum number of images is calculated "KRN",8994,123461,2,2,1,29,0) according to the total number of preselected entries and "KRN",8994,123461,2,2,1,30,0) the percentage value defined by the MAXNUM parameter. "KRN",8994,123461,2,2,1,31,0) "KRN",8994,123461,2,2,1,32,0) If the number of entries in the "priority" buffer less "KRN",8994,123461,2,2,1,33,0) than the maximum number of images and the regular buffer "KRN",8994,123461,2,2,1,34,0) is not empty, then missing quantity of preselected images "KRN",8994,123461,2,2,1,35,0) is merged to the "priority" buffer from the regular one. "KRN",8994,123461,2,2,1,36,0) "KRN",8994,123461,2,2,1,37,0) Finally, no more than maximum number of entries is copied "KRN",8994,123461,2,2,1,38,0) from the "priority" buffer to the remote procedure's "KRN",8994,123461,2,2,1,39,0) result array. "KRN",8994,123461,2,2,1,40,0) "KRN",8994,123461,2,2,1,41,0) G Include Group Images in the list of images returned. "KRN",8994,123461,2,2,1,42,0) If any image in a group has an image that matches the "KRN",8994,123461,2,2,1,43,0) status provided in the search criteria then "KRN",8994,123461,2,2,1,44,0) the group will be returned. "KRN",8994,123461,2,2,1,45,0) "KRN",8994,123461,2,2,1,46,0) If the G flag is not set then only the status of the "KRN",8994,123461,2,2,1,47,0) Group entry will be checked and the group will be "KRN",8994,123461,2,2,1,48,0) returned if it passes. "KRN",8994,123461,2,2,1,49,0) "KRN",8994,123461,2,2,1,50,0) If neither 'E' nor 'D' flag is provided, then an error code (-6) is "KRN",8994,123461,2,2,1,51,0) returned. "KRN",8994,123461,2,3,0) FROMDATE^1^^^2 "KRN",8994,123461,2,3,1,0) ^^11^11^3081107^ "KRN",8994,123461,2,3,1,1,0) Beginning of the date range for image selection. Date can be in internal "KRN",8994,123461,2,3,1,2,0) or external FileMan format. If the parameter is not defined or empty, then "KRN",8994,123461,2,3,1,3,0) the date range remains open on this side. "KRN",8994,123461,2,3,1,4,0) "KRN",8994,123461,2,3,1,5,0) Depending on the value of the FLAGS parameter, the date range filter is "KRN",8994,123461,2,3,1,6,0) applied either to the exam/procedure dates (PROCEDURE/EXAM DATE/TIME field "KRN",8994,123461,2,3,1,7,0) (15)) or image capture dates (DATE/TIME IMAGE SAVED field (7)). "KRN",8994,123461,2,3,1,8,0) "KRN",8994,123461,2,3,1,9,0) Time parts of date range parameters are ignored and both ends of the date "KRN",8994,123461,2,3,1,10,0) range are included in the search. For example, in order to search images "KRN",8994,123461,2,3,1,11,0) for May 21, 2008, the internal value of both parameters should be 3080521. "KRN",8994,123461,2,4,0) TODATE^1^^^3 "KRN",8994,123461,2,4,1,0) ^^11^11^3081107^ "KRN",8994,123461,2,4,1,1,0) End of the date range for image selection. Dates can be in internal or "KRN",8994,123461,2,4,1,2,0) external FileMan format. If the parameter is not defined or empty, then "KRN",8994,123461,2,4,1,3,0) the date range remains open on this side. "KRN",8994,123461,2,4,1,4,0) "KRN",8994,123461,2,4,1,5,0) Depending on the value of the FLAGS parameter, the date range filter is "KRN",8994,123461,2,4,1,6,0) applied either to the exam/procedure dates (PROCEDURE/EXAM DATE/TIME field "KRN",8994,123461,2,4,1,7,0) (15)) or image capture dates (DATE/TIME IMAGE SAVED field (7)). "KRN",8994,123461,2,4,1,8,0) "KRN",8994,123461,2,4,1,9,0) Time parts of date range parameters are ignored and both ends of the date "KRN",8994,123461,2,4,1,10,0) range are included in the search. For example, in order to search images "KRN",8994,123461,2,4,1,11,0) for May 21, 2008, the internal value of both parameters should be 3080521. "KRN",8994,123461,2,5,0) MISCPRMS^2^^^5 "KRN",8994,123461,2,5,1,0) ^^78^78^3090126^ "KRN",8994,123461,2,5,1,1,0) Items of this list define various filter parameters. Each item has 3 or "KRN",8994,123461,2,5,1,2,0) more pieces separated by '^': "KRN",8994,123461,2,5,1,3,0) "KRN",8994,123461,2,5,1,4,0) ^01: Parameter name "KRN",8994,123461,2,5,1,5,0) ^02: Index (for multiples and word-processing values) "KRN",8994,123461,2,5,1,6,0) ^03: Value1 "KRN",8994,123461,2,5,1,7,0) ^04: Value2 "KRN",8994,123461,2,5,1,8,0) ... "KRN",8994,123461,2,5,1,9,0) "KRN",8994,123461,2,5,1,10,0) The following filter parameters are supported by this remote procedure: "KRN",8994,123461,2,5,1,11,0) "KRN",8994,123461,2,5,1,12,0) CAPTAPP^^{Name or Code}^{Name or Code}^... "KRN",8994,123461,2,5,1,13,0) Internal or external values of the CAPTURE APPLICATION "KRN",8994,123461,2,5,1,14,0) field (8.1) of the file #2005. "KRN",8994,123461,2,5,1,15,0) "KRN",8994,123461,2,5,1,16,0) GDESC^^{Text} "KRN",8994,123461,2,5,1,17,0) Text that should be present in the SHORT DESCRIPTION "KRN",8994,123461,2,5,1,18,0) field (10) of the IMAGE file (#2005). The comparison "KRN",8994,123461,2,5,1,19,0) is case-insensitive. "KRN",8994,123461,2,5,1,20,0) "KRN",8994,123461,2,5,1,21,0) IDFN^^{DFN} "KRN",8994,123461,2,5,1,22,0) Patient IEN (DFN). If this parameter is not defined, all "KRN",8994,123461,2,5,1,23,0) patients' images are considered. "KRN",8994,123461,2,5,1,24,0) "KRN",8994,123461,2,5,1,25,0) ISTAT^^{Name or Code}^{Name or Code}^... "KRN",8994,123461,2,5,1,26,0) Internal or external values of the STATUS field (113) "KRN",8994,123461,2,5,1,27,0) of the file #2005. 0 (zero) code selects image records "KRN",8994,123461,2,5,1,28,0) with empty STATUS field. "KRN",8994,123461,2,5,1,29,0) "KRN",8994,123461,2,5,1,30,0) IXCLASS^^{Name or IEN}^{Name or IEN}^... "KRN",8994,123461,2,5,1,31,0) Image class names or IENs (see the CLASS INDEX field (41) "KRN",8994,123461,2,5,1,32,0) of the file #2005 for details). "KRN",8994,123461,2,5,1,33,0) "KRN",8994,123461,2,5,1,34,0) IXORIGIN^^{Name or Code}^{Name or Code}^... "KRN",8994,123461,2,5,1,35,0) Internal or external values of the ORIGIN INDEX field (45) "KRN",8994,123461,2,5,1,36,0) of the file #2005. "KRN",8994,123461,2,5,1,37,0) "KRN",8994,123461,2,5,1,38,0) IXPKG^^{Name or Code}^{Name or Code}^... "KRN",8994,123461,2,5,1,39,0) Internal or external values of the PACKAGE INDEX field (40) "KRN",8994,123461,2,5,1,40,0) of the file #2005. "KRN",8994,123461,2,5,1,41,0) "KRN",8994,123461,2,5,1,42,0) IXPROC^^{Name or IEN}^{Name or IEN}^... "KRN",8994,123461,2,5,1,43,0) Procedure/Event names or IENs (see the PROC/EVENT INDEX "KRN",8994,123461,2,5,1,44,0) field (43) of the file #2005 for details). "KRN",8994,123461,2,5,1,45,0) "KRN",8994,123461,2,5,1,46,0) IXSPEC^^{Name or IEN}^{Name or IEN}^... "KRN",8994,123461,2,5,1,47,0) Specialty/SubSpecialty names or IENs (see the SPEC/SUBSPEC "KRN",8994,123461,2,5,1,48,0) INDEX field (44) of the file #2005 for details). "KRN",8994,123461,2,5,1,49,0) "KRN",8994,123461,2,5,1,50,0) IXTYPE^^{Name or IEN}^{Name or IEN}^... "KRN",8994,123461,2,5,1,51,0) Image type names or IENs (see the TYPE INDEX field (42) of "KRN",8994,123461,2,5,1,52,0) the file #2005 for details). "KRN",8994,123461,2,5,1,53,0) "KRN",8994,123461,2,5,1,54,0) SAVEDBY^^{DUZ} "KRN",8994,123461,2,5,1,55,0) If this parameter is defined, then only those images that were "KRN",8994,123461,2,5,1,56,0) captured by this user (see the IMAGE SAVE BY field (8) of the "KRN",8994,123461,2,5,1,57,0) file #2005 for details) are considered. "KRN",8994,123461,2,5,1,58,0) "KRN",8994,123461,2,5,1,59,0) SENSIMG^^{Name or Code}^{Name or Code}^... "KRN",8994,123461,2,5,1,60,0) Internal or external values of the CONTROLLED IMAGE field (112) "KRN",8994,123461,2,5,1,61,0) of the file #2005. "KRN",8994,123461,2,5,1,62,0) "KRN",8994,123461,2,5,1,63,0) For pointer type parameters, pure numeric values are always treated as "KRN",8994,123461,2,5,1,64,0) internal entry numbers (IEN). "KRN",8994,123461,2,5,1,65,0) "KRN",8994,123461,2,5,1,66,0) Parameters can be added to the list in any order. See comments preceding "KRN",8994,123461,2,5,1,67,0) the GETIMGS^MAGSIXG1 for more details. "KRN",8994,123461,2,5,1,68,0) "KRN",8994,123461,2,5,1,69,0) Example: "KRN",8994,123461,2,5,1,70,0) "KRN",8994,123461,2,5,1,71,0) with RPCBroker.Param[4] do "KRN",8994,123461,2,5,1,72,0) begin "KRN",8994,123461,2,5,1,73,0) PType := list; "KRN",8994,123461,2,5,1,74,0) Mult[1] := 'IXPKG^^RAD^LAB'; "KRN",8994,123461,2,5,1,75,0) Mult[2] := 'IXCLASS^^1^ADMIN'; "KRN",8994,123461,2,5,1,76,0) Mult[3] := 'IXORIGIN^^NON-VA^F'; "KRN",8994,123461,2,5,1,77,0) Mult[4] := 'IDFN^^2341'; "KRN",8994,123461,2,5,1,78,0) end; "KRN",8994,123461,2,6,0) MAXNUM^1^^^4 "KRN",8994,123461,2,6,1,0) ^8994.021^9^9^3101022^^^^ "KRN",8994,123461,2,6,1,1,0) If this parameter is defined and greater than 0, then it determines the "KRN",8994,123461,2,6,1,2,0) maximum number of images returned by the call. "KRN",8994,123461,2,6,1,3,0) "KRN",8994,123461,2,6,1,4,0) If the S flag is included in the value of the FLAGS parameter, then the "KRN",8994,123461,2,6,1,5,0) MAXNUM parameter must be defined and greater than 0. Its value determines "KRN",8994,123461,2,6,1,6,0) the percentage of preselected images to be returned in the result array. "KRN",8994,123461,2,6,1,7,0) For example, if the value of this parameter is 35 and 230 images are "KRN",8994,123461,2,6,1,8,0) preselected (according to the user, date range, and other selection "KRN",8994,123461,2,6,1,9,0) criteria), then 81 images will be returned. "KRN",8994,123461,2,"B","FLAGS",2) "KRN",8994,123461,2,"B","FROMDATE",3) "KRN",8994,123461,2,"B","MAXNUM",6) "KRN",8994,123461,2,"B","MISCPRMS",5) "KRN",8994,123461,2,"B","TODATE",4) "KRN",8994,123461,2,"PARAMSEQ",1,2) "KRN",8994,123461,2,"PARAMSEQ",2,3) "KRN",8994,123461,2,"PARAMSEQ",3,4) "KRN",8994,123461,2,"PARAMSEQ",4,6) "KRN",8994,123461,2,"PARAMSEQ",5,5) "KRN",8994,123461,3,0) ^8994.03^49^49^3101022^^ "KRN",8994,123461,3,1,0) Zero value of the first '^'-piece of the Results[0] indicates that an "KRN",8994,123461,3,2,0) error occurred during the execution of the procedure. In this case, the "KRN",8994,123461,3,3,0) errors are returned in the Results array as shown below: "KRN",8994,123461,3,4,0) "KRN",8994,123461,3,5,0) Results[0] Result descriptor "KRN",8994,123461,3,6,0) ^01: 0 "KRN",8994,123461,3,7,0) ^02: Message "KRN",8994,123461,3,8,0) "KRN",8994,123461,3,9,0) Results[i] Error descriptor "KRN",8994,123461,3,10,0) ^01: Error code "KRN",8994,123461,3,11,0) ^02: Message "KRN",8994,123461,3,12,0) ^03: Error location "KRN",8994,123461,3,13,0) ^04: Message type "KRN",8994,123461,3,14,0) "KRN",8994,123461,3,15,0) Results[j] Line of the additional info (optional) "KRN",8994,123461,3,16,0) ^01: "" "KRN",8994,123461,3,17,0) ^02: Text "KRN",8994,123461,3,18,0) "KRN",8994,123461,3,19,0) Otherwise, the Results array is formatted as follows: "KRN",8994,123461,3,20,0) "KRN",8994,123461,3,21,0) Results[0] Result descriptor "KRN",8994,123461,3,22,0) ^01: 1 "KRN",8994,123461,3,23,0) ^02: Description of the image selection "KRN",8994,123461,3,24,0) criteria (filter). "KRN",8994,123461,3,25,0) ^03: Non-zero if there are more records "KRN",8994,123461,3,26,0) available. This piece is populated "KRN",8994,123461,3,27,0) only if the MAXNUM parameter is "KRN",8994,123461,3,28,0) defined and greater than 0. "KRN",8994,123461,3,29,0) "KRN",8994,123461,3,30,0) If the S flag is included in the "KRN",8994,123461,3,31,0) value of the FLAGS parameter, then "KRN",8994,123461,3,32,0) a non-zero value of this piece "KRN",8994,123461,3,33,0) indicates that not all "priority" "KRN",8994,123461,3,34,0) entries are returned. See the "KRN",8994,123461,3,35,0) description of the FLAGS parameter "KRN",8994,123461,3,36,0) for more details. "KRN",8994,123461,3,37,0) "KRN",8994,123461,3,38,0) Results[1] '^'-delimited list of column headers used "KRN",8994,123461,3,39,0) in the cMagListView (see the BLDHDR1^MAGSIXG2 "KRN",8994,123461,3,40,0) for details). "KRN",8994,123461,3,41,0) "KRN",8994,123461,3,42,0) Results[i] Image descriptor "KRN",8994,123461,3,43,0) |01: Values to be displayed in the columns "KRN",8994,123461,3,44,0) separated by '^'. (see the "KRN",8994,123461,3,45,0) BLDHDR1^MAGSIXG2 for details). "KRN",8994,123461,3,46,0) "KRN",8994,123461,3,47,0) |02: Data that is used internally by the "KRN",8994,123461,3,48,0) application (see the $$INFO^MAGGAII "KRN",8994,123461,3,49,0) for details). "KRN",8994,123462,-1) 0^3 "KRN",8994,123462,0) MAGG GROUP IMAGES^GROUP^MAGGTIG^2^R "KRN",8994,123462,1,0) ^8994.01^1^1^3100902^^^^ "KRN",8994,123462,1,1,0) Returns array of images for an Image entry. "KRN",8994,123462,2,0) ^8994.02A^3^3 "KRN",8994,123462,2,1,0) MAGIEN^1^30^1^1 "KRN",8994,123462,2,1,1,0) ^8994.021^1^1^3041025^^ "KRN",8994,123462,2,1,1,1,0) Internal entry of Image entry in Image File ^MAG(2005, "KRN",8994,123462,2,2,0) NOCHK^1^4^0^2 "KRN",8994,123462,2,2,1,0) ^8994.021^6^6^3041025^^^^ "KRN",8994,123462,2,2,1,1,0) If this flag is sent with a value of 1, then the QA check will "KRN",8994,123462,2,2,1,2,0) not be run. Image Group Abs will be returned even if it is an "KRN",8994,123462,2,2,1,3,0) Image Group of Questionable Integrity. "KRN",8994,123462,2,2,1,4,0) This is used when deleting an Image, but the user needs to see "KRN",8994,123462,2,2,1,5,0) the abstracts that may have been blocked otherwise. "KRN",8994,123462,2,2,1,6,0) Defaults to 0 (false) "KRN",8994,123462,2,3,0) FLAGS^1^^0^3 "KRN",8994,123462,2,3,1,0) ^8994.021^2^2^3100902^^^^ "KRN",8994,123462,2,3,1,1,0) Supported FLAGS "KRN",8994,123462,2,3,1,2,0) "D" - Include deleted images "KRN",8994,123462,2,"B","FLAGS",3) "KRN",8994,123462,2,"B","MAGIEN",1) "KRN",8994,123462,2,"B","NOCHK",2) "KRN",8994,123462,2,"PARAMSEQ",1,1) "KRN",8994,123462,2,"PARAMSEQ",2,2) "KRN",8994,123462,2,"PARAMSEQ",3,3) "KRN",8994,123462,3,0) ^8994.03^1^1^3100902^^^^ "KRN",8994,123462,3,1,0) Array of Image information for each entry in the Image Group. "KRN",8994,123463,-1) 0^4 "KRN",8994,123463,0) MAGG IMAGE STATISTICS BY USER^GETUSRPT^MAGGA03Q^4^R^^^1 "KRN",8994,123463,1,0) ^8994.01^1^1^3100805^^ "KRN",8994,123463,1,1,0) Return all statistics reports previously tasked for a user "KRN",8994,123463,2,0) ^8994.02A^1^1 "KRN",8994,123463,2,1,0) MAGDUZ^1^^^1 "KRN",8994,123463,2,1,1,0) ^8994.021^3^3^3100805^^^ "KRN",8994,123463,2,1,1,1,0) Internal ID of a user that has previously queued an Image Statistics "KRN",8994,123463,2,1,1,2,0) Report. "KRN",8994,123463,2,1,1,3,0) The default value is the current user DUZ. "KRN",8994,123463,2,"B","MAGDUZ",1) "KRN",8994,123463,2,"PARAMSEQ",1,1) "KRN",8994,123463,3,0) ^8994.03^14^14^3100805^^^^ "KRN",8994,123463,3,1,0) MAGRY(0) - ^01: 1 Successful execution of the remote procedure "KRN",8994,123463,3,2,0) 0 An error occurred during the execution of the remote procedure "KRN",8994,123463,3,3,0) "KRN",8994,123463,3,4,0) ^02: The number of reports identified for the user "KRN",8994,123463,3,5,0) "KRN",8994,123463,3,6,0) MAGRY(1..n) ^01: report FLAGS parameter "KRN",8994,123463,3,7,0) ^02: report FROMDATE parameter "KRN",8994,123463,3,8,0) ^03: report TODATE parameter "KRN",8994,123463,3,9,0) ^04: report REPORT START DATE/TIME parameter "KRN",8994,123463,3,10,0) ^05: report REPORT COMPLETE DATE/TIEM parameter "KRN",8994,123463,3,11,0) "KRN",8994,123463,3,12,0) e.g. "KRN",8994,123463,3,13,0) 0)=1^5 Reports found for user IMAGING,USER "KRN",8994,123463,3,14,0) 1)=CDE^2900613^3100503^3100505.09053^3100505.09053 "KRN",8994,123464,-1) 0^5 "KRN",8994,123464,0) MAGG IMAGE STATISTICS QUE^STATS^MAGGA03Q^4^R^^^1 "KRN",8994,123464,1,0) ^8994.01^9^9^3100506^^ "KRN",8994,123464,1,1,0) The MAGG QUEUE IMAGE STATISTICS remote procedure queues a job through "KRN",8994,123464,1,2,0) TaskMan that queries the image file(s) and returns various "KRN",8994,123464,1,3,0) statistics/summary data. Currently, 2 queries are implemented: "KRN",8994,123464,1,4,0) "KRN",8994,123464,1,5,0) Counts of images captured in the provided date range grouped by the "KRN",8994,123464,1,6,0) image status codes. "KRN",8994,123464,1,7,0) "KRN",8994,123464,1,8,0) Counts of images captured in the provided date range grouped by users "KRN",8994,123464,1,9,0) and image status codes. "KRN",8994,123464,2,0) ^8994.02A^4^4 "KRN",8994,123464,2,1,0) FLAGS^1^^1^1 "KRN",8994,123464,2,1,1,0) ^^26^26^3100506^ "KRN",8994,123464,2,1,1,1,0) Flags that control the execution (can be combined): "KRN",8994,123464,2,1,1,2,0) "KRN",8994,123464,2,1,1,3,0) C Capture date range. If this flag is provided, "KRN",8994,123464,2,1,1,4,0) then the remote procedure uses values of the "KRN",8994,123464,2,1,1,5,0) FROMDATE and TODATE parameters to select images "KRN",8994,123464,2,1,1,6,0) that were captured in this date range (see the "KRN",8994,123464,2,1,1,7,0) DATE/TIME IMAGE SAVED field (7) and the "AD" "KRN",8994,123464,2,1,1,8,0) cross-reference). "KRN",8994,123464,2,1,1,9,0) "KRN",8994,123464,2,1,1,10,0) Otherwise, values of those parameters are "KRN",8994,123464,2,1,1,11,0) treated as the date range when procedures were "KRN",8994,123464,2,1,1,12,0) performed (see the PROCEDURE/EXAM DATE/TIME "KRN",8994,123464,2,1,1,13,0) field (15) and cross-references "APDTPX" and "KRN",8994,123464,2,1,1,14,0) "APDT"). "KRN",8994,123464,2,1,1,15,0) "KRN",8994,123464,2,1,1,16,0) D Include only deleted images (file #2005.1) "KRN",8994,123464,2,1,1,17,0) E Include only existing images (file #2005) "KRN",8994,123464,2,1,1,18,0) "KRN",8994,123464,2,1,1,19,0) S Return image counts grouped by status "KRN",8994,123464,2,1,1,20,0) U Return image counts grouped by users and status "KRN",8994,123464,2,1,1,21,0) "KRN",8994,123464,2,1,1,22,0) If neither 'E' nor 'D' flag is provided, then an error code (-6) is "KRN",8994,123464,2,1,1,23,0) returned. "KRN",8994,123464,2,1,1,24,0) "KRN",8994,123464,2,1,1,25,0) If neither 'S' nor 'U' flag is provided, then an error code (-6) is "KRN",8994,123464,2,1,1,26,0) returned. "KRN",8994,123464,2,2,0) FROMDATE^1^^^2 "KRN",8994,123464,2,2,1,0) ^8994.021^11^11^3100506^^ "KRN",8994,123464,2,2,1,1,0) Beginning of the date range for image selection. Dates can be in internal "KRN",8994,123464,2,2,1,2,0) or external FileMan format. If the parameter is not defined or empty, "KRN",8994,123464,2,2,1,3,0) then the date range remains open on this side. "KRN",8994,123464,2,2,1,4,0) "KRN",8994,123464,2,2,1,5,0) Depending on the value of the FLAGS parameter, the date range filter is "KRN",8994,123464,2,2,1,6,0) applied either to the exam/procedure dates (PROCEDURE/EXAM DATE/TIME "KRN",8994,123464,2,2,1,7,0) field (15)) or image capture dates (DATE/TIME IMAGE SAVED field (7)). "KRN",8994,123464,2,2,1,8,0) "KRN",8994,123464,2,2,1,9,0) Time parts of date range parameters are ignored and both ends of the date "KRN",8994,123464,2,2,1,10,0) range are included in the search. For example, in order to search images "KRN",8994,123464,2,2,1,11,0) for May 21, 2008, the internal value of both parameters should be 3080521. "KRN",8994,123464,2,3,0) TODATE^1^^^3 "KRN",8994,123464,2,3,1,0) ^^11^11^3100506^ "KRN",8994,123464,2,3,1,1,0) End of the date range for image selection. Dates can be in internal or "KRN",8994,123464,2,3,1,2,0) external FileMan format. If the parameter is not defined or empty, then "KRN",8994,123464,2,3,1,3,0) the date range remains open on this side. "KRN",8994,123464,2,3,1,4,0) "KRN",8994,123464,2,3,1,5,0) Depending on the value of the FLAGS parameter, the date range filter is "KRN",8994,123464,2,3,1,6,0) applied either to the exam/procedure dates (PROCEDURE/EXAM DATE/TIME "KRN",8994,123464,2,3,1,7,0) field (15)) or image capture dates (DATE/TIME IMAGE SAVED field (7)). "KRN",8994,123464,2,3,1,8,0) "KRN",8994,123464,2,3,1,9,0) Time parts of date range parameters are ignored and both ends of the date "KRN",8994,123464,2,3,1,10,0) range are included in the search. For example, in order to search images "KRN",8994,123464,2,3,1,11,0) for May 21, 2008, the internal value of both parameters should be 3080521. "KRN",8994,123464,2,4,0) MQUE^1^^^4 "KRN",8994,123464,2,4,1,0) ^^11^11^3100506^ "KRN",8994,123464,2,4,1,1,0) Flags for tasking reports and action on previously tasked reports. "KRN",8994,123464,2,4,1,2,0) "KRN",8994,123464,2,4,1,3,0) Q (Default) Queue a new report task or return the status of In "KRN",8994,123464,2,4,1,4,0) Progress for a running report. If previously ran task is complete, "KRN",8994,123464,2,4,1,5,0) then the report data is returned in the output of the RPC. "KRN",8994,123464,2,4,1,6,0) "KRN",8994,123464,2,4,1,7,0) R Stop and Re-queue a running report task with the same parameters. "KRN",8994,123464,2,4,1,8,0) Existing data collected is removed from temporary storage. "KRN",8994,123464,2,4,1,9,0) "KRN",8994,123464,2,4,1,10,0) D Stop a running or completed report task and delete all associated "KRN",8994,123464,2,4,1,11,0) data from temporary storage. "KRN",8994,123464,2,"B","FLAGS",1) "KRN",8994,123464,2,"B","FROMDATE",2) "KRN",8994,123464,2,"B","MQUE",4) "KRN",8994,123464,2,"B","TODATE",3) "KRN",8994,123464,2,"PARAMSEQ",1,1) "KRN",8994,123464,2,"PARAMSEQ",2,2) "KRN",8994,123464,2,"PARAMSEQ",3,3) "KRN",8994,123464,2,"PARAMSEQ",4,4) "KRN",8994,123464,3,0) ^^75^75^3100506^ "KRN",8994,123464,3,1,0) Zero value of the first '^'-piece of the Results[0] indicates that an "KRN",8994,123464,3,2,0) error occurred during the execution of the procedure. In this case, the "KRN",8994,123464,3,3,0) errors are returned in the Results array as shown below: "KRN",8994,123464,3,4,0) "KRN",8994,123464,3,5,0) Results[0] Result descriptor "KRN",8994,123464,3,6,0) ^01: 0 "KRN",8994,123464,3,7,0) ^02: Message "KRN",8994,123464,3,8,0) "KRN",8994,123464,3,9,0) Results[i] Error descriptor "KRN",8994,123464,3,10,0) ^01: Error code "KRN",8994,123464,3,11,0) ^02: Message "KRN",8994,123464,3,12,0) ^03: Error location "KRN",8994,123464,3,13,0) ^04: Message type "KRN",8994,123464,3,14,0) "KRN",8994,123464,3,15,0) Results[j] Line of the additional info (optional) "KRN",8994,123464,3,16,0) ^01: "" "KRN",8994,123464,3,17,0) ^02: Text "KRN",8994,123464,3,18,0) "KRN",8994,123464,3,19,0) Otherwise, '1^Ok' is returned in the Results[0] and subsequent nodes "KRN",8994,123464,3,20,0) contain requested data: "KRN",8994,123464,3,21,0) "KRN",8994,123464,3,22,0) Results[i] Header of the counts grouped by status "KRN",8994,123464,3,23,0) ^01: "S" "KRN",8994,123464,3,24,0) ^02: empty "KRN",8994,123464,3,25,0) ^03: Number of "S"-items "KRN",8994,123464,3,26,0) ^04: empty "KRN",8994,123464,3,27,0) ^05: "Totals" "KRN",8994,123464,3,28,0) ^06: Number of image entries "KRN",8994,123464,3,29,0) ^07: Number of images/pages "KRN",8994,123464,3,30,0) "KRN",8994,123464,3,31,0) Results[i+j] Image status record "KRN",8994,123464,3,32,0) ^01: "S" "KRN",8994,123464,3,33,0) ^02: Sequential number of the "S"-item "KRN",8994,123464,3,34,0) ^03: empty "KRN",8994,123464,3,35,0) ^04: Internal value of the STATUS field (113). "KRN",8994,123464,3,36,0) If this piece is empty or 0, then the "KRN",8994,123464,3,37,0) record contains counts of images with "KRN",8994,123464,3,38,0) empty STATUS field. "KRN",8994,123464,3,39,0) ^05: External value of the STATUS field (113) "KRN",8994,123464,3,40,0) ^06: Number of image entries "KRN",8994,123464,3,41,0) ^07: Number of images/pages "KRN",8994,123464,3,42,0) "KRN",8994,123464,3,43,0) Results[i] Header of the counts grouped by users and status "KRN",8994,123464,3,44,0) ^01: "U" "KRN",8994,123464,3,45,0) ^02: empty "KRN",8994,123464,3,46,0) ^03: Number of "U"-items "KRN",8994,123464,3,47,0) ^04: empty "KRN",8994,123464,3,48,0) ^05: "Totals" "KRN",8994,123464,3,49,0) ^06: Number of image entries "KRN",8994,123464,3,50,0) ^07: Number of images/pages "KRN",8994,123464,3,51,0) "KRN",8994,123464,3,52,0) Results[i+j] User record "KRN",8994,123464,3,53,0) ^01: "U" "KRN",8994,123464,3,54,0) ^02: Sequential number of the "U"-item "KRN",8994,123464,3,55,0) ^03: Number of "US"-items "KRN",8994,123464,3,56,0) ^04: User IEN (DUZ). "KRN",8994,123464,3,57,0) If this piece is empty or 0, then the "KRN",8994,123464,3,58,0) record contains counts of images that "KRN",8994,123464,3,59,0) are not associated with a user. "KRN",8994,123464,3,60,0) ^05: User name "KRN",8994,123464,3,61,0) ^06: Number of image entries "KRN",8994,123464,3,62,0) ^07: Number of images/pages "KRN",8994,123464,3,63,0) ^08: Percentage of verified images "KRN",8994,123464,3,64,0) "KRN",8994,123464,3,65,0) Results[i+j+k] User/status record "KRN",8994,123464,3,66,0) ^01: "US" "KRN",8994,123464,3,67,0) ^02: Sequential number of the "US"-item "KRN",8994,123464,3,68,0) ^03: empty "KRN",8994,123464,3,69,0) ^04: Internal value of the STATUS field (113). "KRN",8994,123464,3,70,0) If this piece is empty or 0, then the "KRN",8994,123464,3,71,0) record contains counts of images with "KRN",8994,123464,3,72,0) empty STATUS field. "KRN",8994,123464,3,73,0) ^05: External value of the STATUS field (113) "KRN",8994,123464,3,74,0) ^06: Number of image entries "KRN",8994,123464,3,75,0) ^07: Number of images/pages "KRN",8994,123465,-1) 0^6 "KRN",8994,123465,0) MAGG JUKE BOX PATH^JB^MAGGUJB^1^R "KRN",8994,123465,1,0) ^^1^1^3101201^ "KRN",8994,123465,1,1,0) Returns the Juke Box path to an image. "KRN",8994,123465,2,0) ^8994.02A^1^1 "KRN",8994,123465,2,1,0) MAGIEN^1^30^1^1 "KRN",8994,123465,2,1,1,0) ^^1^1^3101201^ "KRN",8994,123465,2,1,1,1,0) MAGIEN is IEN number in IMAGE file (#2005) or IMAGE AUDIT file (#2005.1) "KRN",8994,123465,2,"B","MAGIEN",1) "KRN",8994,123465,2,"PARAMSEQ",1,1) "KRN",8994,123465,3,0) ^^2^2^3101201^ "KRN",8994,123465,3,1,0) if error MAGRY = 0^error message "KRN",8994,123465,3,2,0) if success MAGRY = 1^full juke box path "KRN",8994,123466,-1) 0^7 "KRN",8994,123466,0) MAGG MULTI IMAGE PRINT^LOGPRNT^MAGGROI^1^R "KRN",8994,123466,1,0) ^8994.01^2^2^3100608^^^^ "KRN",8994,123466,1,1,0) Log multiple images printed for a patient in the "KRN",8994,123466,1,2,0) MULTI IMAGE PRINT file ^MAG(2006.961 "KRN",8994,123466,2,0) ^8994.02A^2^2 "KRN",8994,123466,2,1,0) DATA^1^245^1^1 "KRN",8994,123466,2,1,1,0) ^^6^6^3100608^ "KRN",8994,123466,2,1,1,1,0) "^" delimited string containing data inserted "KRN",8994,123466,2,1,1,2,0) into the MULTI IMAGE PRINT file #2006.961. "KRN",8994,123466,2,1,1,3,0) "KRN",8994,123466,2,1,1,4,0) ^01: PATIENT DFN "KRN",8994,123466,2,1,1,5,0) ^02: REASON FOR PRINT "KRN",8994,123466,2,1,1,6,0) "KRN",8994,123466,2,1,1,7,0) e.g.: 123456^Authorized release of medical records or health information (ROI) "KRN",8994,123466,2,2,0) IMGARR^2^^1^2 "KRN",8994,123466,2,2,1,0) ^^11^11^3100608^ "KRN",8994,123466,2,2,1,1,0) An array of "^" delimited string of values for each image printed "KRN",8994,123466,2,2,1,2,0) "KRN",8994,123466,2,2,1,3,0) ^01: IEN for the image (Note: This may be a url for a remote image) "KRN",8994,123466,2,2,1,4,0) ^02: Local/remote indicator (0=local, 1=remote) "KRN",8994,123466,2,2,1,5,0) ^03: IMAGE PRINT STATUS "KRN",8994,123466,2,2,1,6,0) (Note: The image information displayed to the user "KRN",8994,123466,2,2,1,7,0) in the client application.) "KRN",8994,123466,2,2,1,8,0) "KRN",8994,123466,2,2,1,9,0) e.g.: IMGARR(0)=^1^SLC-DIABETIC TELERETINAL IMAGING CONSULT REPORT "KRN",8994,123466,2,2,1,10,0) -NOTE-04/13/2009 11:31: Image type not printable "KRN",8994,123466,2,2,1,11,0) IMGARR(1)=123456^0^SLC-AU 01 2-LAB-08/21/2001: Image printed "KRN",8994,123466,2,"B","DATA",1) "KRN",8994,123466,2,"B","IMGARR",2) "KRN",8994,123466,2,"PARAMSEQ",1,1) "KRN",8994,123466,2,"PARAMSEQ",2,2) "KRN",8994,123466,3,0) ^8994.03^2^2^3100608^^ "KRN",8994,123466,3,1,0) if error "0^Error message" "KRN",8994,123466,3,2,0) if success "1^Printed Images Logged" "KRN",8994,123467,-1) 0^8 "KRN",8994,123467,0) MAGG PAT INFO^INFO^MAGGTPT1^1^R "KRN",8994,123467,1,0) ^8994.01^2^2^3061107^^^^ "KRN",8994,123467,1,1,0) Returns a string of '^' delimited pieces of patient information. "KRN",8994,123467,1,2,0) "KRN",8994,123467,2,0) ^8994.02A^1^1 "KRN",8994,123467,2,1,0) DATA^1^90^1^1 "KRN",8994,123467,2,1,1,0) ^8994.021^6^6^3101005^^^^ "KRN",8994,123467,2,1,1,1,0) DATA: MAGDFN ^ NOLOG ^ ISICN "KRN",8994,123467,2,1,1,2,0) MAGDFN -- Patient DFN "KRN",8994,123467,2,1,1,3,0) NOLOG -- 0/1; if 1, then do NOT update the Session log "KRN",8994,123467,2,1,1,4,0) ISICN -- 0/1 if 1, then this is an ICN, "KRN",8994,123467,2,1,1,5,0) FLAGS -- "D" Include Deleted images "KRN",8994,123467,2,1,1,6,0) if 0 (default) this is a DFN ; Patch 41 "KRN",8994,123467,2,"B","DATA",1) "KRN",8994,123467,2,"B","MAGDFN",1) "KRN",8994,123467,2,"PARAMSEQ",1,1) "KRN",8994,123467,3,0) ^8994.03^9^9^3051005^^^^ "KRN",8994,123467,3,1,0) The result String returns the following. "KRN",8994,123467,3,2,0) 1 2 3 4 5 6 7 "KRN",8994,123467,3,3,0) status ^ DFN ^ name ^ sex ^ DOB ^ SSN ^ S/C "KRN",8994,123467,3,4,0) "KRN",8994,123467,3,5,0) 8 9 10 "KRN",8994,123467,3,6,0) TYPE ^ Veteran(y/n) ^ Patient Image Count "KRN",8994,123467,3,7,0) "KRN",8994,123467,3,8,0) 11 12 13 "KRN",8994,123467,3,9,0) ICN SITE Number ^ Production Account 1/0 "MBREQ") 0 "ORD",3,19.1) 19.1;3;1;;KEY^XPDTA1;;;KEYF2^XPDIA1;;KEYDEL^XPDIA1 "ORD",3,19.1,0) SECURITY KEY "ORD",16,8994) 8994;16;1;;;;;;;RPCDEL^XPDIA1 "ORD",16,8994,0) REMOTE PROCEDURE "ORD",18,19) 19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA "ORD",18,19,0) OPTION "PKG",454,-1) 1^1 "PKG",454,0) IMAGING^MAG^Imaging Release History "PKG",454,22,0) ^9.49I^1^1 "PKG",454,22,1,0) 3.0^3020328^3020328^.5 "PKG",454,22,1,"PAH",1,0) 117^3110715^.5 "PKG",454,22,1,"PAH",1,1,0) ^9.49011^33^33^3110715 "PKG",454,22,1,"PAH",1,1,1,0) Routines for Patch 117, Test Build 8. "PKG",454,22,1,"PAH",1,1,2,0) "PKG",454,22,1,"PAH",1,1,3,0) Routines: "PKG",454,22,1,"PAH",1,1,4,0) MAGGA02 value = 10126913 "PKG",454,22,1,"PAH",1,1,5,0) MAGGA02A value = 13686263 "PKG",454,22,1,"PAH",1,1,6,0) MAGGA03Q value = 10905306 "PKG",454,22,1,"PAH",1,1,7,0) MAGGA03U value = 4998553 "PKG",454,22,1,"PAH",1,1,8,0) MAGGI13 value = 7845276 "PKG",454,22,1,"PAH",1,1,9,0) MAGGROI value = 4826920 "PKG",454,22,1,"PAH",1,1,10,0) MAGGSIA1 value = 14320770 "PKG",454,22,1,"PAH",1,1,11,0) MAGGTIA value = 12826247 "PKG",454,22,1,"PAH",1,1,12,0) MAGGTIG value = 11417887 "PKG",454,22,1,"PAH",1,1,13,0) MAGGTPT1 value = 10179062 "PKG",454,22,1,"PAH",1,1,14,0) MAGGTRA value = 6187130 "PKG",454,22,1,"PAH",1,1,15,0) MAGGTSY2 value = 3755850 "PKG",454,22,1,"PAH",1,1,16,0) MAGGTSYS value = 6588238 "PKG",454,22,1,"PAH",1,1,17,0) MAGGTU3 value = 8835971 "PKG",454,22,1,"PAH",1,1,18,0) MAGGTU31 value = 13894838 "PKG",454,22,1,"PAH",1,1,19,0) MAGGTU4C value = 3412178 "PKG",454,22,1,"PAH",1,1,20,0) MAGGTU4D value = 3412186 "PKG",454,22,1,"PAH",1,1,21,0) MAGGTU4L value = 3412250 "PKG",454,22,1,"PAH",1,1,22,0) MAGGTU4T value = 3412314 "PKG",454,22,1,"PAH",1,1,23,0) MAGGTU6 value = 11375864 "PKG",454,22,1,"PAH",1,1,24,0) MAGGTUP value = 8164993 "PKG",454,22,1,"PAH",1,1,25,0) MAGGTUX4 value = 5440465 "PKG",454,22,1,"PAH",1,1,26,0) MAGGUJB value = 6496246 "PKG",454,22,1,"PAH",1,1,27,0) MAGIP117 value = 5023042 "PKG",454,22,1,"PAH",1,1,28,0) MAGSIXG1 value = 7218955 "PKG",454,22,1,"PAH",1,1,29,0) MAGSIXG3 value = 13563632 "PKG",454,22,1,"PAH",1,1,30,0) MAGUXDPS value = 7753193 "PKG",454,22,1,"PAH",1,1,31,0) "PKG",454,22,1,"PAH",1,1,32,0) Please note that routine MAGIP117 is deleted after the KIDS Build is "PKG",454,22,1,"PAH",1,1,33,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") 27 "RTN","MAGGA02") 0^1^B61650938 "RTN","MAGGA02",1,0) MAGGA02 ;WOIFO/SG/NST - REMOTE PROCEDURES FOR IMAGE PROPERTIES ; 23 Sep 2010 9:22 AM "RTN","MAGGA02",2,0) ;;3.0;IMAGING;**93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGA02",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGA02",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGA02",5,0) ;; | Property of the US Government. | "RTN","MAGGA02",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGA02",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGA02",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGA02",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGA02",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGA02",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGA02",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGA02",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGA02",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGA02",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGA02",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGA02",17,0) ;; "RTN","MAGGA02",18,0) Q "RTN","MAGGA02",19,0) ; "RTN","MAGGA02",20,0) ;***** GETS THE IMAGE PROPERTIES (FIELDS IN FILE #2005 OR #2005.1) "RTN","MAGGA02",21,0) ; RPC: MAGG IMAGE GET PROPERTIES "RTN","MAGGA02",22,0) ; "RTN","MAGGA02",23,0) ; .RESULTS Reference to a local variable where the results "RTN","MAGGA02",24,0) ; are returned to. "RTN","MAGGA02",25,0) ; "RTN","MAGGA02",26,0) ; IMGIEN IEN of the image record in the IMAGE file (#2005) "RTN","MAGGA02",27,0) ; "RTN","MAGGA02",28,0) ; PROPLST Property names separated by semicolons or one of "RTN","MAGGA02",29,0) ; the following special characters: "RTN","MAGGA02",30,0) ; "RTN","MAGGA02",31,0) ; * All supported properties "RTN","MAGGA02",32,0) ; "RTN","MAGGA02",33,0) ; # Image indexes (IXCLASS, IXORIGIN, IXPKG, "RTN","MAGGA02",34,0) ; IXPROC, IXSPEC, and ISTYPE) "RTN","MAGGA02",35,0) ; "RTN","MAGGA02",36,0) ; See the IPDEFS^MAGGA02A and IPDEFS1^MAGGA02A for "RTN","MAGGA02",37,0) ; the lists of supported properties. "RTN","MAGGA02",38,0) ; "RTN","MAGGA02",39,0) ; [FLAGS] Flags that control the execution (can be combined): "RTN","MAGGA02",40,0) ; "RTN","MAGGA02",41,0) ; E Return external values (default) "RTN","MAGGA02",42,0) ; "RTN","MAGGA02",43,0) ; I Return internal values "RTN","MAGGA02",44,0) ; "RTN","MAGGA02",45,0) ; [ADT] Date/time (internal FileMan value) for retrieving "RTN","MAGGA02",46,0) ; previous values. By default ($G(ADT)'>0), audit "RTN","MAGGA02",47,0) ; checks are not performed and current values are "RTN","MAGGA02",48,0) ; returned. "RTN","MAGGA02",49,0) ; "RTN","MAGGA02",50,0) ; Return Values "RTN","MAGGA02",51,0) ; ============= "RTN","MAGGA02",52,0) ; "RTN","MAGGA02",53,0) ; Zero value of the first '^'-piece of the RESULTS(0) indicates "RTN","MAGGA02",54,0) ; that an error occurred during the execution of the procedure. "RTN","MAGGA02",55,0) ; In this case, the RESULTS array is formatted as described in the "RTN","MAGGA02",56,0) ; comments to the RPCERRS^MAGUERR1 procedure. "RTN","MAGGA02",57,0) ; "RTN","MAGGA02",58,0) ; Otherwise, '1^Ok' is returned in the RESULTS(0) and subsequent "RTN","MAGGA02",59,0) ; nodes contain property values: "RTN","MAGGA02",60,0) ; "RTN","MAGGA02",61,0) ; RESULTS(0) Result descriptor "RTN","MAGGA02",62,0) ; ^01: 1 "RTN","MAGGA02",63,0) ; ^02: Ok "RTN","MAGGA02",64,0) ; "RTN","MAGGA02",65,0) ; RESULTS(i) Property value "RTN","MAGGA02",66,0) ; ^01: Property name "RTN","MAGGA02",67,0) ; ^02: "" (empty) "RTN","MAGGA02",68,0) ; ^03: Internal property value if the 'I' "RTN","MAGGA02",69,0) ; flag is provided. Otherwise - empty. "RTN","MAGGA02",70,0) ; ^04: External property value if the 'E' "RTN","MAGGA02",71,0) ; flag is provided. Otherwise - empty. "RTN","MAGGA02",72,0) ; "RTN","MAGGA02",73,0) ; RESULTS(j) Line of word-processing property value "RTN","MAGGA02",74,0) ; ^01: Property name "RTN","MAGGA02",75,0) ; ^02: Sequential number "RTN","MAGGA02",76,0) ; ^03: Line of text "RTN","MAGGA02",77,0) ; "RTN","MAGGA02",78,0) GETPROPS(RESULTS,IMGIEN,PROPLST,FLAGS,ADT) ;RPC [MAGG IMAGE GET PROPERTIES] "RTN","MAGGA02",79,0) N MAGRC,RESCNT "RTN","MAGGA02",80,0) D CLEAR^MAGUERR(1) "RTN","MAGGA02",81,0) K RESULTS S RESULTS(0)="1^Ok",RESCNT=0 "RTN","MAGGA02",82,0) S FLAGS=$G(FLAGS),MAGRC=0 "RTN","MAGGA02",83,0) ; "RTN","MAGGA02",84,0) D "RTN","MAGGA02",85,0) . N FIELD,FLDLST,I,IENS,IMGFILE,MAGBUF,MAGMSG,NAME,PROPDEFS,TMP "RTN","MAGGA02",86,0) . S IMGFILE=2005,PROPDEFS="IPDEFS^MAGGA02A" "RTN","MAGGA02",87,0) . ;=== Check the record IEN "RTN","MAGGA02",88,0) . I '$$ISVALID^MAGGI11(IMGIEN,.MAGRC) D STORE^MAGUERR(MAGRC) Q "RTN","MAGGA02",89,0) . S IENS=IMGIEN_"," "RTN","MAGGA02",90,0) . ;~~~ Delete this comment and the following lines of code when "RTN","MAGGA02",91,0) . ;~~~ the IMAGE AUDIT file (#2005.1) is completely eliminated. "RTN","MAGGA02",92,0) . I $$ISDEL^MAGGI11(IMGIEN,.MAGRC) D "RTN","MAGGA02",93,0) . . S IMGFILE=2005.1,PROPDEFS="IPDEFS1^MAGGA02A" "RTN","MAGGA02",94,0) . . Q "RTN","MAGGA02",95,0) . ; "RTN","MAGGA02",96,0) . ;=== Load definitions of the properties "RTN","MAGGA02",97,0) . S MAGRC=$$LDMPDEFS^MAGUTL01(.PROPDEFS,PROPDEFS,"R") "RTN","MAGGA02",98,0) . Q:MAGRC<0 "RTN","MAGGA02",99,0) . ; "RTN","MAGGA02",100,0) . ;=== Compile the list of fields "RTN","MAGGA02",101,0) . S FLDLST="" "RTN","MAGGA02",102,0) . I PROPLST="*" D "RTN","MAGGA02",103,0) . . S NAME="" "RTN","MAGGA02",104,0) . . F S NAME=$O(PROPDEFS("N",NAME)) Q:NAME="" D "RTN","MAGGA02",105,0) . . . S TMP=$G(PROPDEFS("N",NAME)),FIELD=$P(TMP,U,2) "RTN","MAGGA02",106,0) . . . Q:($P(TMP,U)'=IMGFILE)!(FIELD'>0) "RTN","MAGGA02",107,0) . . . S FLDLST=FLDLST_";"_FIELD,FLDLST(FIELD)=NAME "RTN","MAGGA02",108,0) . . . Q "RTN","MAGGA02",109,0) . . Q "RTN","MAGGA02",110,0) . E D "RTN","MAGGA02",111,0) . . S:PROPLST="#" PROPLST="IXCLASS;IXORIGIN;IXPKG;IXPROC;IXSPEC;IXTYPE" "RTN","MAGGA02",112,0) . . F I=1:1 S NAME=$P(PROPLST,";",I) Q:NAME="" D "RTN","MAGGA02",113,0) . . . S TMP=$G(PROPDEFS("N",NAME)),FIELD=$P(TMP,U,2) "RTN","MAGGA02",114,0) . . . Q:($P(TMP,U)'=IMGFILE)!(FIELD'>0) "RTN","MAGGA02",115,0) . . . S FLDLST=FLDLST_";"_FIELD,FLDLST(FIELD)=NAME "RTN","MAGGA02",116,0) . . . Q "RTN","MAGGA02",117,0) . . Q "RTN","MAGGA02",118,0) . S FLDLST=$P(FLDLST,";",2,999999) Q:FLDLST="" "RTN","MAGGA02",119,0) . ; "RTN","MAGGA02",120,0) . ;=== Load the field values "RTN","MAGGA02",121,0) . S TMP=$$TRFLAGS^MAGUTL05(FLAGS,"EI") "RTN","MAGGA02",122,0) . S:TMP="" TMP="E",FLAGS=FLAGS_"E" "RTN","MAGGA02",123,0) . D GETS^MAGUTL04(IMGFILE,IENS,FLDLST,TMP,"MAGBUF","MAGMSG",$G(ADT)) "RTN","MAGGA02",124,0) . I $G(DIERR) S MAGRC=$$DBS^MAGUERR("MAGMSG",IMGFILE,IENS) Q "RTN","MAGGA02",125,0) . ; "RTN","MAGGA02",126,0) . ;=== Store property values to the result array "RTN","MAGGA02",127,0) . S FIELD=0 "RTN","MAGGA02",128,0) . F S FIELD=$O(MAGBUF(IMGFILE,IENS,FIELD)) Q:FIELD'>0 D "RTN","MAGGA02",129,0) . . S NAME=$P(FLDLST(FIELD),U) "RTN","MAGGA02",130,0) . . ;--- Word-processing field "RTN","MAGGA02",131,0) . . I $P(PROPDEFS("N",NAME),U,3)["W" D Q "RTN","MAGGA02",132,0) . . . S I=0 "RTN","MAGGA02",133,0) . . . F S I=$O(MAGBUF(IMGFILE,IENS,FIELD,I)) Q:I'>0 D "RTN","MAGGA02",134,0) . . . . S RESCNT=RESCNT+1 "RTN","MAGGA02",135,0) . . . . S RESULTS(RESCNT)=NAME_U_I_U_MAGBUF(IMGFILE,IENS,FIELD,I) "RTN","MAGGA02",136,0) . . . . Q "RTN","MAGGA02",137,0) . . . Q "RTN","MAGGA02",138,0) . . ;--- Other types "RTN","MAGGA02",139,0) . . S TMP=NAME "RTN","MAGGA02",140,0) . . S:FLAGS["I" $P(TMP,U,3)=MAGBUF(IMGFILE,IENS,FIELD,"I") "RTN","MAGGA02",141,0) . . S:FLAGS["E" $P(TMP,U,4)=MAGBUF(IMGFILE,IENS,FIELD,"E") "RTN","MAGGA02",142,0) . . S RESCNT=RESCNT+1,RESULTS(RESCNT)=TMP "RTN","MAGGA02",143,0) . . Q "RTN","MAGGA02",144,0) . ; "RTN","MAGGA02",145,0) . ;=== Compute the value of the Image Class property "RTN","MAGGA02",146,0) . I (PROPLST="*")!((";"_PROPLST_";")[";IXCLASS;") D Q:MAGRC<0 "RTN","MAGGA02",147,0) . . S TMP=$G(MAGBUF(IMGFILE,IENS,42,"I")) "RTN","MAGGA02",148,0) . . S TMP=$$IXCLASS^MAGGA02A(IMGFILE,IENS,TMP,FLAGS) "RTN","MAGGA02",149,0) . . I TMP<0 S MAGRC=TMP Q "RTN","MAGGA02",150,0) . . S:TMP'=0 RESCNT=RESCNT+1,RESULTS(RESCNT)=TMP "RTN","MAGGA02",151,0) . . Q "RTN","MAGGA02",152,0) . Q "RTN","MAGGA02",153,0) ; "RTN","MAGGA02",154,0) ;=== Error handling and cleanup "RTN","MAGGA02",155,0) D:MAGRC<0 RPCERRS^MAGUERR1(.RESULTS,MAGRC) "RTN","MAGGA02",156,0) Q "RTN","MAGGA02",157,0) ; "RTN","MAGGA02",158,0) ;***** SETS THE IMAGE PROPERTIES (FIELDS IN THE FILE #2005) "RTN","MAGGA02",159,0) ; RPC: MAGG IMAGE SET PROPERTIES "RTN","MAGGA02",160,0) ; "RTN","MAGGA02",161,0) ; .RESULTS Reference to a local variable where the results "RTN","MAGGA02",162,0) ; are returned to. "RTN","MAGGA02",163,0) ; "RTN","MAGGA02",164,0) ; IMGIEN IEN of the image record in the IMAGE file (#2005) "RTN","MAGGA02",165,0) ; "RTN","MAGGA02",166,0) ; [FLAGS] Reserved for future use "RTN","MAGGA02",167,0) ; "RTN","MAGGA02",168,0) ; .PROPVALS Reference to a local array that stores new values "RTN","MAGGA02",169,0) ; for image properties. See description of the MAGG "RTN","MAGGA02",170,0) ; IMAGE SET PROPERTIES remote procedure for details. "RTN","MAGGA02",171,0) ; "RTN","MAGGA02",172,0) ; See the IPDEFS^MAGGA02A for the list of supported "RTN","MAGGA02",173,0) ; properties. "RTN","MAGGA02",174,0) ; "RTN","MAGGA02",175,0) ; Return Values "RTN","MAGGA02",176,0) ; ============= "RTN","MAGGA02",177,0) ; "RTN","MAGGA02",178,0) ; Zero value of the first '^'-piece of the RESULTS(0) indicates "RTN","MAGGA02",179,0) ; that an error occurred during the execution of the procedure. "RTN","MAGGA02",180,0) ; In this case, the RESULTS array is formatted as described in the "RTN","MAGGA02",181,0) ; comments to the RPCERRS^MAGUERR1 procedure. "RTN","MAGGA02",182,0) ; "RTN","MAGGA02",183,0) ; Otherwise, the RESULTS(0) contains '1^OK'. "RTN","MAGGA02",184,0) ; "RTN","MAGGA02",185,0) ; Notes "RTN","MAGGA02",186,0) ; ===== "RTN","MAGGA02",187,0) ; "RTN","MAGGA02",188,0) ; Properties of images marked as deleted cannot be modified. This "RTN","MAGGA02",189,0) ; entry point returns an error (-41) if the IMGIEN parameter "RTN","MAGGA02",190,0) ; references a deleted image entry. "RTN","MAGGA02",191,0) ; "RTN","MAGGA02",192,0) ; If one of the following fields is updated in the parent or the "RTN","MAGGA02",193,0) ; child of a group that has only one image, then the changes are "RTN","MAGGA02",194,0) ; replicated to the child or parent respectively: "RTN","MAGGA02",195,0) ; "RTN","MAGGA02",196,0) ; SHORT DESCRIPTION (10), TYPE INDEX (42), PROC/EVENT INDEX (43), "RTN","MAGGA02",197,0) ; SPEC/SUBSPEC INDEX (44), ORIGIN INDEX (45), CREATION DATE (110), "RTN","MAGGA02",198,0) ; CONTROLLED IMAGE (112), STATUS (113), and STATUS REASON (113.3). "RTN","MAGGA02",199,0) ; "RTN","MAGGA02",200,0) SETPROPS(RESULTS,IMGIEN,FLAGS,PROPVALS) ;RPC [MAGG IMAGE SET PROPERTIES] "RTN","MAGGA02",201,0) N MAGNODE,MAGRC "RTN","MAGGA02",202,0) D CLEAR^MAGUERR(1) "RTN","MAGGA02",203,0) K RESULTS S RESULTS(0)="1^Ok" "RTN","MAGGA02",204,0) S MAGRC=0 "RTN","MAGGA02",205,0) ; "RTN","MAGGA02",206,0) D "RTN","MAGGA02",207,0) . N FLD,IENS,IMGIEN1,NAME,MAGFDA,MAGMSG,MISC,PROPDEFS "RTN","MAGGA02",208,0) . ;=== Set up the error handler "RTN","MAGGA02",209,0) . N $ESTACK,$ETRAP D SETDEFEH^MAGUERR("MAGRC") "RTN","MAGGA02",210,0) . ; "RTN","MAGGA02",211,0) . ;=== Check the record IEN "RTN","MAGGA02",212,0) . I '$$ISVALID^MAGGI11(IMGIEN,.MAGRC) D STORE^MAGUERR(MAGRC) Q "RTN","MAGGA02",213,0) . ; "RTN","MAGGA02",214,0) . ;=== Load definitions of parameters and properties "RTN","MAGGA02",215,0) . S MAGRC=$$LDMPDEFS^MAGUTL01(.PROPDEFS,"IPDEFS^MAGGA02A","W") "RTN","MAGGA02",216,0) . Q:MAGRC<0 "RTN","MAGGA02",217,0) . ; "RTN","MAGGA02",218,0) . ;=== Validate the new property values "RTN","MAGGA02",219,0) . S MAGRC=$$RPCMISC^MAGUTL02(.PROPVALS,.MISC,.PROPDEFS,"UV") "RTN","MAGGA02",220,0) . Q:MAGRC<0 "RTN","MAGGA02",221,0) . ; "RTN","MAGGA02",222,0) . ;=== Prepare the new data "RTN","MAGGA02",223,0) . S IENS=IMGIEN_"," "RTN","MAGGA02",224,0) . S NAME="" "RTN","MAGGA02",225,0) . F S NAME=$O(MISC(NAME)) Q:NAME="" D "RTN","MAGGA02",226,0) . . ;--- Check the file and field numbers and skip parameters "RTN","MAGGA02",227,0) . . ;--- that should not be stored in the IMAGE file (#2005) "RTN","MAGGA02",228,0) . . Q:$P($G(PROPDEFS("N",NAME)),U)'=2005 "RTN","MAGGA02",229,0) . . S FLD=$P(PROPDEFS("N",NAME),U,2) Q:FLD'>0 "RTN","MAGGA02",230,0) . . ;--- Store the value into the Fileman DBS buffer "RTN","MAGGA02",231,0) . . S MAGFDA(2005,IENS,FLD)=MISC(NAME,"I") "RTN","MAGGA02",232,0) . . Q "RTN","MAGGA02",233,0) . Q:$D(MAGFDA)<10 "RTN","MAGGA02",234,0) . ; "RTN","MAGGA02",235,0) . ;=== Check for the group of one and replicate the changes "RTN","MAGGA02",236,0) . S IMGIEN1=$$REPLIC^MAGGA02A(IMGIEN,.MAGFDA) "RTN","MAGGA02",237,0) . I IMGIEN1<0 S MAGRC=IMGIEN1 Q "RTN","MAGGA02",238,0) . ; "RTN","MAGGA02",239,0) . ;=== Patch 117 Check for the STATUS field in the group and set just "RTN","MAGGA02",240,0) . ;=== the first child instead - over protection "RTN","MAGGA02",241,0) . D STATUS1^MAGGA02A(IMGIEN,.MAGFDA) "RTN","MAGGA02",242,0) . I IMGIEN1<0 S MAGRC=IMGIEN1 Q "RTN","MAGGA02",243,0) . ; "RTN","MAGGA02",244,0) . ;=== Lock the image record(s) "RTN","MAGGA02",245,0) . S MAGNODE=$NA(^MAG(2005,IMGIEN)) "RTN","MAGGA02",246,0) . S:IMGIEN1>0 MAGNODE="("_MAGNODE_","_$NA(^MAG(2005,IMGIEN1))_")" "RTN","MAGGA02",247,0) . D LOCK^DILF(MAGNODE) E D K MAGNODE Q "RTN","MAGGA02",248,0) . . S MAGRC=$$ERROR^MAGUERR(-21,,"image (IEN="_IMGIEN_")") "RTN","MAGGA02",249,0) . . Q "RTN","MAGGA02",250,0) . ; "RTN","MAGGA02",251,0) . ;=== Check if the image record exists "RTN","MAGGA02",252,0) . I $$ISDEL^MAGGI11(IMGIEN,.MAGRC) D Q "RTN","MAGGA02",253,0) . . S MAGRC=$$ERROR^MAGUERR(-41,,IMGIEN) "RTN","MAGGA02",254,0) . . Q "RTN","MAGGA02",255,0) . I MAGRC<0 D STORE^MAGUERR(MAGRC) Q "RTN","MAGGA02",256,0) . ; "RTN","MAGGA02",257,0) . ;=== Update the image record "RTN","MAGGA02",258,0) . D FILE^DIE(,"MAGFDA","MAGMSG") "RTN","MAGGA02",259,0) . I $G(DIERR) S MAGRC=$$DBS^MAGUERR("MAGMSG",2005,IENS) Q "RTN","MAGGA02",260,0) ; "RTN","MAGGA02",261,0) ;=== Error handling and cleanup "RTN","MAGGA02",262,0) X:$G(MAGNODE)'="" "L -"_MAGNODE "RTN","MAGGA02",263,0) D:MAGRC<0 RPCERRS^MAGUERR1(.RESULTS,MAGRC) "RTN","MAGGA02",264,0) Q "RTN","MAGGA02A") 0^2^B46417366 "RTN","MAGGA02A",1,0) MAGGA02A ;WOIFO/SG/NST - REMOTE PROCEDURES FOR IMAGE PROPERTIES ; 24 Sep 2010 8:23 AM "RTN","MAGGA02A",2,0) ;;3.0;IMAGING;**93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGA02A",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGA02A",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGA02A",5,0) ;; | Property of the US Government. | "RTN","MAGGA02A",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGA02A",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGA02A",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGA02A",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGA02A",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGA02A",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGA02A",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGA02A",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGA02A",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGA02A",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGA02A",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGA02A",17,0) ;; "RTN","MAGGA02A",18,0) Q "RTN","MAGGA02A",19,0) ; "RTN","MAGGA02A",20,0) IPDEFS ;+++++ DEFINITIONS OF PROPERTIES FOR IMAGE FILE (#2005) "RTN","MAGGA02A",21,0) ;;================================================================== "RTN","MAGGA02A",22,0) ;;| Parameter | File |Field|Type |Flags| Comment | "RTN","MAGGA02A",23,0) ;;|------------+-------+-----+-----+-----+-------------------------| "RTN","MAGGA02A",24,0) ;;|CAPTAPP |2005 | 8.1 | S | R | CAPTURE APPLICATION | "RTN","MAGGA02A",25,0) ;;|CRTNDT |2005 | 110 | D | RW | CREATION DATE | "RTN","MAGGA02A",26,0) ;;|DTSAVED |2005 | 7 | D | R | DATE/TIME IMAGE SAVED | "RTN","MAGGA02A",27,0) ;;|GDESC |2005 | 10 | | RW | SHORT DESCRIPTION | "RTN","MAGGA02A",28,0) ;;|IDFN |2005 | 5 | P | R | PATIENT | "RTN","MAGGA02A",29,0) ;;|ISTAT |2005 |113 | S | RW | STATUS | "RTN","MAGGA02A",30,0) ;;|ISTATBY |2005 |113.2| P | R | STATUS BY | "RTN","MAGGA02A",31,0) ;;|ISTATDT |2005 |113.1| D | R | STATUS DATE | "RTN","MAGGA02A",32,0) ;;|ISTATRSN |2005 |113.3| P | RW | STATUS REASON | "RTN","MAGGA02A",33,0) ;;|IXCLASS | | | P | R | CLASS INDEX | "RTN","MAGGA02A",34,0) ;;|IXORIGIN |2005 | 45 | S | RW | ORIGIN INDEX | "RTN","MAGGA02A",35,0) ;;|IXPKG |2005 | 40 | S | RW | PACKAGE INDEX | "RTN","MAGGA02A",36,0) ;;|IXPROC |2005 | 43 | P | RW | PROC/EVENT INDEX | "RTN","MAGGA02A",37,0) ;;|IXSPEC |2005 | 44 | P | RW | SPEC/SUBSPEC INDEX | "RTN","MAGGA02A",38,0) ;;|IXTYPE |2005 | 42 | P | RW | TYPE INDEX | "RTN","MAGGA02A",39,0) ;;|LDESCR |2005 | 11 | W | R | LONG DESCRIPTION | "RTN","MAGGA02A",40,0) ;;|OBJNAME |2005 | .01 | | R | OBJECT NAME | "RTN","MAGGA02A",41,0) ;;|OBJTYPE |2005 | 3 | P | R | OBJECT TYPE | "RTN","MAGGA02A",42,0) ;;|PARDF |2005 | 16 | P | RW | PARENT DATA FILE# | "RTN","MAGGA02A",43,0) ;;|PARGRD0 |2005 | 17 | | RW | PARENT GLOBAL ROOT D0 | "RTN","MAGGA02A",44,0) ;;|PARGRD1 |2005 | 63 | | RW | PARENT GLOBAL ROOT D1 | "RTN","MAGGA02A",45,0) ;;|PARIPTR |2005 | 18 | | RW | PARENT...IMAGE POINTER | "RTN","MAGGA02A",46,0) ;;|PROC |2005 | 6 | | RW | PROCEDURE | "RTN","MAGGA02A",47,0) ;;|PROCDT |2005 | 15 | D | RW | PROCEDURE/EXAM DATE/TIME| "RTN","MAGGA02A",48,0) ;;|SAVEDBY |2005 | 8 | P | R | IMAGE SAVE BY | "RTN","MAGGA02A",49,0) ;;|SENSBY |2005 |112.2| P | R | CONTROLLED BY | "RTN","MAGGA02A",50,0) ;;|SENSDT |2005 |112.1| D | R | CONTROLLED DATE | "RTN","MAGGA02A",51,0) ;;|SENSIMG |2005 |112 | S | RW | CONTROLLED IMAGE | "RTN","MAGGA02A",52,0) ;;================================================================== "RTN","MAGGA02A",53,0) ; "RTN","MAGGA02A",54,0) ; Custom Flags: "RTN","MAGGA02A",55,0) ; R Image property can be read "RTN","MAGGA02A",56,0) ; W Image property can be modified "RTN","MAGGA02A",57,0) ; "RTN","MAGGA02A",58,0) Q "RTN","MAGGA02A",59,0) ; "RTN","MAGGA02A",60,0) IPDEFS1 ;+++++ DEFINITIONS OF PROPERTIES FOR IMAGE AUDIT FILE (#2005.1) "RTN","MAGGA02A",61,0) ;;================================================================== "RTN","MAGGA02A",62,0) ;;| Parameter | File |Field|Type |Flags| Comment | "RTN","MAGGA02A",63,0) ;;|------------+-------+-----+-----+-----+-------------------------| "RTN","MAGGA02A",64,0) ;;|CAPTAPP |2005.1 | 8.1 | S | R | CAPTURE APPLICATION | "RTN","MAGGA02A",65,0) ;;|CRTNDT |2005.1 | 110 | D | R | CREATION DATE | "RTN","MAGGA02A",66,0) ;;|DTSAVED |2005.1 | 7 | D | R | DATE/TIME IMAGE SAVED | "RTN","MAGGA02A",67,0) ;;|GDESC |2005.1 | 10 | | R | SHORT DESCRIPTION | "RTN","MAGGA02A",68,0) ;;|IDFN |2005.1 | 5 | P | R | PATIENT | "RTN","MAGGA02A",69,0) ;;|ISTAT |2005.1 |113 | S | R | STATUS | "RTN","MAGGA02A",70,0) ;;|ISTATBY |2005.1 |113.2| P | R | STATUS BY | "RTN","MAGGA02A",71,0) ;;|ISTATDT |2005.1 |113.1| D | R | STATUS DATE | "RTN","MAGGA02A",72,0) ;;|ISTATRSN |2005.1 |113.3| P | R | STATUS REASON | "RTN","MAGGA02A",73,0) ;;|IXCLASS | | | P | R | CLASS INDEX | "RTN","MAGGA02A",74,0) ;;|IXORIGIN |2005.1 | 45 | S | R | ORIGIN INDEX | "RTN","MAGGA02A",75,0) ;;|IXPKG |2005.1 | 40 | S | R | PACKAGE INDEX | "RTN","MAGGA02A",76,0) ;;|IXPROC |2005.1 | 43 | P | R | PROC/EVENT INDEX | "RTN","MAGGA02A",77,0) ;;|IXSPEC |2005.1 | 44 | P | R | SPEC/SUBSPEC INDEX | "RTN","MAGGA02A",78,0) ;;|IXTYPE |2005.1 | 42 | P | R | TYPE INDEX | "RTN","MAGGA02A",79,0) ;;|LDESCR |2005.1 | 11 | W | R | LONG DESCRIPTION | "RTN","MAGGA02A",80,0) ;;|OBJNAME |2005.1 | .01 | | R | OBJECT NAME | "RTN","MAGGA02A",81,0) ;;|OBJTYPE |2005.1 | 3 | P | R | OBJECT TYPE | "RTN","MAGGA02A",82,0) ;;|PARDF |2005.1 | 16 | P | R | PARENT DATA FILE# | "RTN","MAGGA02A",83,0) ;;|PARGRD0 |2005.1 | 17 | | R | PARENT GLOBAL ROOT D0 | "RTN","MAGGA02A",84,0) ;;|PARGRD1 |2005.1 | 63 | | R | PARENT GLOBAL ROOT D1 | "RTN","MAGGA02A",85,0) ;;|PARIPTR |2005.1 | 18 | | R | PARENT...IMAGE POINTER | "RTN","MAGGA02A",86,0) ;;|PROC |2005.1 | 6 | | R | PROCEDURE | "RTN","MAGGA02A",87,0) ;;|PROCDT |2005.1 | 15 | D | R | PROCEDURE/EXAM DATE/TIME| "RTN","MAGGA02A",88,0) ;;|SAVEDBY |2005.1 | 8 | P | R | IMAGE SAVE BY | "RTN","MAGGA02A",89,0) ;;|SENSBY |2005.1 |112.2| P | R | CONTROLLED BY | "RTN","MAGGA02A",90,0) ;;|SENSDT |2005.1 |112.1| D | R | CONTROLLED DATE | "RTN","MAGGA02A",91,0) ;;|SENSIMG |2005.1 |112 | S | R | CONTROLLED IMAGE | "RTN","MAGGA02A",92,0) ;;================================================================== "RTN","MAGGA02A",93,0) ; "RTN","MAGGA02A",94,0) ; Custom Flags: "RTN","MAGGA02A",95,0) ; R Image property can be read "RTN","MAGGA02A",96,0) ; W Image property can be modified "RTN","MAGGA02A",97,0) ; "RTN","MAGGA02A",98,0) Q "RTN","MAGGA02A",99,0) ; "RTN","MAGGA02A",100,0) ;+++++ COMPUTES THE VALUE OF THE IMAGE CLASS PROPERTY "RTN","MAGGA02A",101,0) ; "RTN","MAGGA02A",102,0) ; IMGFILE Image file number "RTN","MAGGA02A",103,0) ; "RTN","MAGGA02A",104,0) ; IENS IENS of the image record "RTN","MAGGA02A",105,0) ; "RTN","MAGGA02A",106,0) ; TPIENS IEN or IENS of the Image Type record in the "RTN","MAGGA02A",107,0) ; IMAGE INDEX FOR TYPES file (#2005.83). If this "RTN","MAGGA02A",108,0) ; parameter is not greater than 0, then the IEN is "RTN","MAGGA02A",109,0) ; loaded from the image record referenced by the "RTN","MAGGA02A",110,0) ; IMGFILE and IENS parameters. "RTN","MAGGA02A",111,0) ; "RTN","MAGGA02A",112,0) ; FLAGS Flags that control the execution (can be combined): "RTN","MAGGA02A",113,0) ; "RTN","MAGGA02A",114,0) ; E Return external value "RTN","MAGGA02A",115,0) ; "RTN","MAGGA02A",116,0) ; I Return internal value "RTN","MAGGA02A",117,0) ; "RTN","MAGGA02A",118,0) ; Return Values "RTN","MAGGA02A",119,0) ; ============= "RTN","MAGGA02A",120,0) ; <0 Error descriptor (see $$ERROR^MAGUERR) "RTN","MAGGA02A",121,0) ; 0 Class value is not available "RTN","MAGGA02A",122,0) ; ... Property record (for the result array) "RTN","MAGGA02A",123,0) ; "RTN","MAGGA02A",124,0) ; Notes "RTN","MAGGA02A",125,0) ; ===== "RTN","MAGGA02A",126,0) ; "RTN","MAGGA02A",127,0) ; This is an internal entry point. Do not call it from outside "RTN","MAGGA02A",128,0) ; of the MAGGA02* routines. "RTN","MAGGA02A",129,0) ; "RTN","MAGGA02A",130,0) IXCLASS(IMGFILE,IENS,TPIENS,FLAGS) ; "RTN","MAGGA02A",131,0) N MAGBUF1,MAGMSG,RC,TMP "RTN","MAGGA02A",132,0) S RC=0 "RTN","MAGGA02A",133,0) ;--- If the Type Index IEN is not provided, "RTN","MAGGA02A",134,0) ;--- then get it form the image record "RTN","MAGGA02A",135,0) I TPIENS'>0 D Q:(RC<0)!(TPIENS'>0) RC "RTN","MAGGA02A",136,0) . S TPIENS=$$GET1^DIQ(IMGFILE,IENS,42,"I",,"MAGMSG") "RTN","MAGGA02A",137,0) . S:$G(DIERR) RC=$$DBS^MAGUERR("MAGMSG",IMGFILE,IENS) "RTN","MAGGA02A",138,0) . Q "RTN","MAGGA02A",139,0) S TPIENS=(+TPIENS)_"," "RTN","MAGGA02A",140,0) ;--- Load the Image Class value(s) "RTN","MAGGA02A",141,0) S TMP=$$TRFLAGS^MAGUTL05(FLAGS,"EI") "RTN","MAGGA02A",142,0) D GETS^DIQ(2005.83,TPIENS,1,TMP,"MAGBUF1","MAGMSG") "RTN","MAGGA02A",143,0) Q:$G(DIERR) $$DBS^MAGUERR("MAGMSG",2005.83,TPIENS) "RTN","MAGGA02A",144,0) ;--- Store the property value(s) to the result array "RTN","MAGGA02A",145,0) S TMP="IXCLASS"_U "RTN","MAGGA02A",146,0) S:FLAGS["I" TMP=TMP_U_MAGBUF1(2005.83,TPIENS,1,"I") "RTN","MAGGA02A",147,0) S:FLAGS["E" TMP=TMP_U_MAGBUF1(2005.83,TPIENS,1,"E") "RTN","MAGGA02A",148,0) Q TMP "RTN","MAGGA02A",149,0) ; "RTN","MAGGA02A",150,0) ;+++++ REPLICATES THE CHANGES FOR A GROUP OF 1 IMAGE "RTN","MAGGA02A",151,0) ; "RTN","MAGGA02A",152,0) ; IMGIEN IEN of the image record in the IMAGE file (#2005) "RTN","MAGGA02A",153,0) ; "RTN","MAGGA02A",154,0) ; .MAGFDA FDA array with new data "RTN","MAGGA02A",155,0) ; "RTN","MAGGA02A",156,0) ; Return Values "RTN","MAGGA02A",157,0) ; ============= "RTN","MAGGA02A",158,0) ; <0 Error descriptor (see the $$ERROR^MAGUERR) "RTN","MAGGA02A",159,0) ; 0 Replication is not needed "RTN","MAGGA02A",160,0) ; >0 IEN of the destination record for replication "RTN","MAGGA02A",161,0) ; "RTN","MAGGA02A",162,0) REPLIC(IMGIEN,MAGFDA) ; "RTN","MAGGA02A",163,0) N CNT,FIELD,IENS,IENS1,IMGIEN1 "RTN","MAGGA02A",164,0) ; "RTN","MAGGA02A",165,0) ;=== Check if the data replication is needed "RTN","MAGGA02A",166,0) S IMGIEN1=$$GRPIEN^MAGGI12(IMGIEN) Q:IMGIEN1<0 IMGIEN1 "RTN","MAGGA02A",167,0) I IMGIEN1>0 D Q:CNT<0 CNT Q:+CNT'=1 0 "RTN","MAGGA02A",168,0) . ;--- Check if the IMGIEN references the only "child" of a group "RTN","MAGGA02A",169,0) . S CNT=$$GRPCT^MAGGI14(IMGIEN1) "RTN","MAGGA02A",170,0) . Q "RTN","MAGGA02A",171,0) E D Q:IMGIEN1'>0 IMGIEN1 "RTN","MAGGA02A",172,0) . ;--- Check if the IMGIEN references a group of 1 child "RTN","MAGGA02A",173,0) . S CNT=$$GRPCT^MAGGI14(IMGIEN) "RTN","MAGGA02A",174,0) . I CNT<0 S IMGIEN1=CNT Q "RTN","MAGGA02A",175,0) . S IMGIEN1=$S(+CNT=1:$$GRPCH1^MAGGI14(IMGIEN,"E"),1:0) "RTN","MAGGA02A",176,0) . Q "RTN","MAGGA02A",177,0) ; "RTN","MAGGA02A",178,0) ;=== Prepare the data for replication "RTN","MAGGA02A",179,0) S IENS=IMGIEN_",",IENS1=IMGIEN1_"," "RTN","MAGGA02A",180,0) F FIELD=10,42,43,44,45,110,112,113,113.3 D "RTN","MAGGA02A",181,0) . Q:'$D(MAGFDA(2005,IENS,FIELD)) "RTN","MAGGA02A",182,0) . S MAGFDA(2005,IENS1,FIELD)=MAGFDA(2005,IENS,FIELD) "RTN","MAGGA02A",183,0) . Q "RTN","MAGGA02A",184,0) ;--- "RTN","MAGGA02A",185,0) Q IMGIEN1 "RTN","MAGGA02A",186,0) ; "RTN","MAGGA02A",187,0) ;+++++ Change the STATUS of the first image in the Group "RTN","MAGGA02A",188,0) ; "RTN","MAGGA02A",189,0) ; IMGIEN IEN of the image record in the IMAGE file (#2005) "RTN","MAGGA02A",190,0) ; "RTN","MAGGA02A",191,0) ; .MAGFDA FDA array with new data "RTN","MAGGA02A",192,0) ; "RTN","MAGGA02A",193,0) ; Return Values "RTN","MAGGA02A",194,0) ; ============= "RTN","MAGGA02A",195,0) ; <0 Error descriptor (see the $$ERROR^MAGUERR) "RTN","MAGGA02A",196,0) ; 0 Modification is not needed "RTN","MAGGA02A",197,0) ; >0 IEN of the first child "RTN","MAGGA02A",198,0) ; "RTN","MAGGA02A",199,0) STATUS1(IMGIEN,MAGFDA) ; "RTN","MAGGA02A",200,0) N IMGIEN1,IENS,IENS1,FOUND,FIELD "RTN","MAGGA02A",201,0) S IENS=IMGIEN_"," "RTN","MAGGA02A",202,0) S FOUND=0 "RTN","MAGGA02A",203,0) ; 113 STATUS, 113.3 STATUS REASON "RTN","MAGGA02A",204,0) F FIELD=113,113.3 I $D(MAGFDA(2005,IENS,FIELD)) S FOUND=1 Q "RTN","MAGGA02A",205,0) Q:'FOUND 0 ; A field is not in the array "RTN","MAGGA02A",206,0) S IMGIEN1=$$GRPCH1^MAGGI14(IMGIEN,"E") ; First child in the group "RTN","MAGGA02A",207,0) I IMGIEN1'>0 Q IMGIEN1 "RTN","MAGGA02A",208,0) ; "RTN","MAGGA02A",209,0) ;=== Set STATUS on first child and delete the group from FDA array "RTN","MAGGA02A",210,0) S IENS1=IMGIEN1_"," "RTN","MAGGA02A",211,0) F FIELD=113,113.3 D "RTN","MAGGA02A",212,0) . Q:'$D(MAGFDA(2005,IENS,FIELD)) "RTN","MAGGA02A",213,0) . S MAGFDA(2005,IENS1,FIELD)=MAGFDA(2005,IENS,FIELD) "RTN","MAGGA02A",214,0) . K MAGFDA(2005,IENS,FIELD) "RTN","MAGGA02A",215,0) . Q "RTN","MAGGA02A",216,0) Q IMGIEN1 "RTN","MAGGA03Q") 0^3^B73673627 "RTN","MAGGA03Q",1,0) MAGGA03Q ;WOIFO/GEK/BNT/NST - TASK IMAGE STATISTICS ; 07 Oct 2010 9:48 PM "RTN","MAGGA03Q",2,0) ;;3.0;IMAGING;**117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGA03Q",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGA03Q",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGA03Q",5,0) ;; | Property of the US Government. | "RTN","MAGGA03Q",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGA03Q",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGA03Q",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGA03Q",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGA03Q",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGA03Q",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGA03Q",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGA03Q",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGA03Q",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGA03Q",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGA03Q",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGA03Q",17,0) ;; "RTN","MAGGA03Q",18,0) Q "RTN","MAGGA03Q",19,0) ; "RTN","MAGGA03Q",20,0) ;***** RETURNS VARIOUS IMAGE STATISTICS DATA "RTN","MAGGA03Q",21,0) ; RPC: MAGG IMAGE STATISTICS QUE "RTN","MAGGA03Q",22,0) ; "RTN","MAGGA03Q",23,0) ; .MAGRY Reference to a local variable where the results "RTN","MAGGA03Q",24,0) ; are returned to. "RTN","MAGGA03Q",25,0) ; "RTN","MAGGA03Q",26,0) ; FLAGS Flags that control the execution (can be combined): "RTN","MAGGA03Q",27,0) ; "RTN","MAGGA03Q",28,0) ; C Capture date range. If this flag is provided, "RTN","MAGGA03Q",29,0) ; then the remote procedure uses values of the "RTN","MAGGA03Q",30,0) ; FROMDATE and TODATE parameters to select images "RTN","MAGGA03Q",31,0) ; that were captured in this date range. "RTN","MAGGA03Q",32,0) ; "RTN","MAGGA03Q",33,0) ; Otherwise, values of those parameters are "RTN","MAGGA03Q",34,0) ; treated as the date range when procedures were "RTN","MAGGA03Q",35,0) ; performed. "RTN","MAGGA03Q",36,0) ; "RTN","MAGGA03Q",37,0) ; D Include only deleted images (file #2005.1) "RTN","MAGGA03Q",38,0) ; E Include only existing images (file #2005) "RTN","MAGGA03Q",39,0) ; "RTN","MAGGA03Q",40,0) ; S Return image counts grouped by status "RTN","MAGGA03Q",41,0) ; U Return image counts grouped by users and status "RTN","MAGGA03Q",42,0) ; "RTN","MAGGA03Q",43,0) ; If neither 'E' nor 'D' flag is provided, then an "RTN","MAGGA03Q",44,0) ; error (-6) is returned. "RTN","MAGGA03Q",45,0) ; "RTN","MAGGA03Q",46,0) ; If neither 'S' nor 'U' flag is provided, then an "RTN","MAGGA03Q",47,0) ; error (-6) is returned. "RTN","MAGGA03Q",48,0) ; "RTN","MAGGA03Q",49,0) ; [FROMDATE] Date range for image selection. Dates can be in "RTN","MAGGA03Q",50,0) ; [TODATE] internal or external FileMan format. If a date "RTN","MAGGA03Q",51,0) ; parameter is not defined or empty, then the date "RTN","MAGGA03Q",52,0) ; range remains open on the corresponding side. "RTN","MAGGA03Q",53,0) ; "RTN","MAGGA03Q",54,0) ; Time parts of parameter values are ignored and both "RTN","MAGGA03Q",55,0) ; ends of the date range are included in the search. "RTN","MAGGA03Q",56,0) ; For example, in order to search images for May 21, "RTN","MAGGA03Q",57,0) ; 2008, the inernal value of both parameters should "RTN","MAGGA03Q",58,0) ; be 3080521. "RTN","MAGGA03Q",59,0) ; "RTN","MAGGA03Q",60,0) ; If the FROMDATE is after the TODATE, then values of "RTN","MAGGA03Q",61,0) ; the parameters are swapped. "RTN","MAGGA03Q",62,0) ; "RTN","MAGGA03Q",63,0) ; [MQUE] Flags for tasking reports and action on previously "RTN","MAGGA03Q",64,0) ; tasked reports. "RTN","MAGGA03Q",65,0) ; Q (Default) Queue a new report task or return the status of "RTN","MAGGA03Q",66,0) ; In Progress for a running report. If previously "RTN","MAGGA03Q",67,0) ; ran task is complete, then return report data. "RTN","MAGGA03Q",68,0) ; R Stop and Requeue a running report with the "RTN","MAGGA03Q",69,0) ; same parameters. Existing data collected is removed "RTN","MAGGA03Q",70,0) ; from temporary storage. "RTN","MAGGA03Q",71,0) ; D Stop a running or completed report and delete the data. "RTN","MAGGA03Q",72,0) ; "RTN","MAGGA03Q",73,0) ; Return Values "RTN","MAGGA03Q",74,0) ; ============= "RTN","MAGGA03Q",75,0) ; "RTN","MAGGA03Q",76,0) ; Zero value of the 1st '^'-piece of the @MAGRESULTS@(0) indicates an "RTN","MAGGA03Q",77,0) ; error during execution of the procedure. In this case, the array "RTN","MAGGA03Q",78,0) ; is formatted as described in the comments to the RPCERRS^MAGUERR1. "RTN","MAGGA03Q",79,0) ; "RTN","MAGGA03Q",80,0) ; Otherwise, the array contains the requested data. See description "RTN","MAGGA03Q",81,0) ; of the MAGG QUE IMAGE STATISTICS remote procedure for details. "RTN","MAGGA03Q",82,0) ; "RTN","MAGGA03Q",83,0) ; Notes "RTN","MAGGA03Q",84,0) ; ===== "RTN","MAGGA03Q",85,0) ; "RTN","MAGGA03Q",86,0) ; Temporary global nodes ^TMP("MAGGA03Q",$J) and ^XTMP("MAGGA03Q,DUZ") "RTN","MAGGA03Q",87,0) ; are used by this procedure. "RTN","MAGGA03Q",88,0) ; "RTN","MAGGA03Q",89,0) STATS(MAGRY,FLAGS,FROMDATE,TODATE,MQUE) ; RPC [MAGG IMAGE STATISTICS QUE] "RTN","MAGGA03Q",90,0) N MOTH,MERR,MAGXTN,MAGRES,MTDESC,X,Y,RC "RTN","MAGGA03Q",91,0) S MAGRY=$NA(^TMP("MAGGA03Q",$J)) "RTN","MAGGA03Q",92,0) K @MAGRY "RTN","MAGGA03Q",93,0) S (RC,MERR)=0 "RTN","MAGGA03Q",94,0) D CLEAR^MAGUERR(1) "RTN","MAGGA03Q",95,0) ; "RTN","MAGGA03Q",96,0) ;--- Validate FLAGS Parameters "RTN","MAGGA03Q",97,0) S FLAGS=$G(FLAGS) I $TR(FLAGS,"CDESU")'="" D IPVE^MAGUERR("FLAGS") S MERR=1 "RTN","MAGGA03Q",98,0) ;--- Missing required flag(s) "RTN","MAGGA03Q",99,0) I $TR(FLAGS,"DE")=FLAGS D ERROR^MAGUERR(-6,,"D,E") S MERR=1 "RTN","MAGGA03Q",100,0) I $TR(FLAGS,"SU")=FLAGS D ERROR^MAGUERR(-6,,"S,U") S MERR=1 "RTN","MAGGA03Q",101,0) ; "RTN","MAGGA03Q",102,0) ;--- Validate Date Range "RTN","MAGGA03Q",103,0) S:$$DTRANGE^MAGUTL03(.FROMDATE,.TODATE)<0 MERR=1 "RTN","MAGGA03Q",104,0) ; "RTN","MAGGA03Q",105,0) ;--- Validate TaskMan Queing parameters "RTN","MAGGA03Q",106,0) S MQUE=$G(MQUE) I MQUE="" S MQUE="Q" "RTN","MAGGA03Q",107,0) I $TR(MQUE,"QRD")'="" D IPVE^MAGUERR("MQUE") S MERR=1 "RTN","MAGGA03Q",108,0) ; "RTN","MAGGA03Q",109,0) ;--- Check if error occurred and quit if so "RTN","MAGGA03Q",110,0) I MERR D ERROR^MAGUERR(-30) S RC=$$FIRSTERR^MAGUERR1() "RTN","MAGGA03Q",111,0) I RC<0 D RPCERRS^MAGUERR1(.MAGRY,RC) Q "RTN","MAGGA03Q",112,0) ; "RTN","MAGGA03Q",113,0) ;--- Create unique XTMP node "RTN","MAGGA03Q",114,0) S MAGXTN=$$TNODE(FLAGS,FROMDATE,TODATE) "RTN","MAGGA03Q",115,0) ; "RTN","MAGGA03Q",116,0) ;--- Resolve previously tasked report "RTN","MAGGA03Q",117,0) I $D(^XTMP(MAGXTN,0)) D RESOLVE(.RC,MAGXTN,MQUE) "RTN","MAGGA03Q",118,0) ;--- If 1 is returned then the report is in progress "RTN","MAGGA03Q",119,0) I +RC=1 M @MAGRY@(0)=RC Q "RTN","MAGGA03Q",120,0) ;--- If 2 is returned then the report is complete and is returned "RTN","MAGGA03Q",121,0) I +RC=2 M @MAGRY@(0)=^XTMP(MAGXTN,"R",0) Q "RTN","MAGGA03Q",122,0) ; "RTN","MAGGA03Q",123,0) ;--- Create the TaskMan parameters and queue the report "RTN","MAGGA03Q",124,0) S MTDESC="Imaging Statistics: "_FLAGS_" "_FROMDATE_" to "_TODATE "RTN","MAGGA03Q",125,0) S MOTH("ZTDTH")=$H "RTN","MAGGA03Q",126,0) ; p117 T5: To enable a complete list of reports to be displayed "RTN","MAGGA03Q",127,0) ; in the Client Report list. If this "I" node isn't set, the report "RTN","MAGGA03Q",128,0) ; will not show up in list until it is run. Could be minutes. "RTN","MAGGA03Q",129,0) ; Added a new status to the Delphi Window : 'Queuing'. "RTN","MAGGA03Q",130,0) ; 'Queuing' status will account for the time between the Task being "RTN","MAGGA03Q",131,0) ; created and the job being run. The Queuing below isn't used. It "RTN","MAGGA03Q",132,0) ; is replaced with the TaskMan Task number later. "RTN","MAGGA03Q",133,0) ; Delphi uses $p(3) = '' (start time) to determine 'Queuing', and not Running. "RTN","MAGGA03Q",134,0) S ^XTMP(MAGXTN,"I",0)="Queuing"_U_$G(DUZ)_U_U "RTN","MAGGA03Q",135,0) ; "RTN","MAGGA03Q",136,0) S MAGRES=$$NODEV^XUTMDEVQ("TASK^MAGGA03Q",MTDESC,"FLAGS;FROMDATE;TODATE;MAGXTN",.MOTH) "RTN","MAGGA03Q",137,0) ;--- Save thru date ^ create date ^ Task Number "RTN","MAGGA03Q",138,0) S ^XTMP(MAGXTN,0)=$$FMADD^XLFDT(DT,1)_U_DT_U_MAGRES "RTN","MAGGA03Q",139,0) ;--- Save user cross reference node for report lookup by user "RTN","MAGGA03Q",140,0) S ^XTMP("MAGGA03Q",DUZ,MAGXTN)="" "RTN","MAGGA03Q",141,0) ;--- Return successful queued report notification with Task ID "RTN","MAGGA03Q",142,0) S @MAGRY@(0)="1^Report Queued on Task ID: "_MAGRES "RTN","MAGGA03Q",143,0) Q "RTN","MAGGA03Q",144,0) ; "RTN","MAGGA03Q",145,0) TASK ; "RTN","MAGGA03Q",146,0) N MAGXTN,MAGRES "RTN","MAGGA03Q",147,0) S MAGXTN=$$TNODE(FLAGS,FROMDATE,TODATE) "RTN","MAGGA03Q",148,0) ;--- Save Internal Data as follows "RTN","MAGGA03Q",149,0) ;--- ^XTMP($$TNODE,"I",0)=Task Number^User ID^Start Date/Time^Complete Date/Time "RTN","MAGGA03Q",150,0) S ^XTMP(MAGXTN,"I",0)=$G(ZTSK)_U_$G(DUZ)_U_$$NOW^XLFDT_U "RTN","MAGGA03Q",151,0) ;--- Collect Report Data from Imaging API "RTN","MAGGA03Q",152,0) D IMGQUERY^MAGGA03(.MAGRES,FLAGS,FROMDATE,TODATE) "RTN","MAGGA03Q",153,0) ;--- Save Completed date/time of Report "RTN","MAGGA03Q",154,0) S $P(^XTMP(MAGXTN,"I",0),U,4)=$$NOW^XLFDT "RTN","MAGGA03Q",155,0) ;--- Update the Save Through date to midnight "RTN","MAGGA03Q",156,0) S $P(^XTMP(MAGXTN,0),U,1)=$$FMADD^XLFDT($$DT^XLFDT(),1) "RTN","MAGGA03Q",157,0) ;--- Save Report Data in temporary storage "RTN","MAGGA03Q",158,0) M ^XTMP(MAGXTN,"R")=@MAGRES "RTN","MAGGA03Q",159,0) Q "RTN","MAGGA03Q",160,0) ; "RTN","MAGGA03Q",161,0) ; Returns status of existing report based on MQUE flag "RTN","MAGGA03Q",162,0) RESOLVE(RY,MAGXTN,MQUE) ; "RTN","MAGGA03Q",163,0) ; if task is finished, then return the data. "RTN","MAGGA03Q",164,0) ; Q flag will return a completed report or an In Progress status if still running "RTN","MAGGA03Q",165,0) I MQUE="Q" D Q "RTN","MAGGA03Q",166,0) . S X=$P($G(^XTMP(MAGXTN,"I",0)),U,4) "RTN","MAGGA03Q",167,0) . ;/p117 T5 gek- add $G above to stop . "RTN","MAGGA03Q",168,0) . ; Occurred rarely (pre T5) when report is Re-Run. CodeCR731 "RTN","MAGGA03Q",169,0) . I X="" S RY="1^In Progress" Q "RTN","MAGGA03Q",170,0) . S RY="2^Report Complete" "RTN","MAGGA03Q",171,0) . M @MAGRY=^XTMP(MAGXTN,"R") "RTN","MAGGA03Q",172,0) . Q "RTN","MAGGA03Q",173,0) ; R flag will Stop and Requeue a running report with same parameters "RTN","MAGGA03Q",174,0) I MQUE="R" D Q "RTN","MAGGA03Q",175,0) . N MAGSTP,ZTSK "RTN","MAGGA03Q",176,0) . S ZTSK=$$GETTASK(MAGXTN) "RTN","MAGGA03Q",177,0) . ; Try to stop the task if it's currently running "RTN","MAGGA03Q",178,0) . S MAGSTP=$$ASKSTOP^%ZTLOAD(ZTSK) "RTN","MAGGA03Q",179,0) . I 'MAGSTP S RY="1^Report cannot be stopped. Try again later" Q "RTN","MAGGA03Q",180,0) . ; "RTN","MAGGA03Q",181,0) . D STAT^%ZTLOAD "RTN","MAGGA03Q",182,0) . I 'ZTSK(0) S RY="0^Task is undefined" D Q "RTN","MAGGA03Q",183,0) . . K ^XTMP(MAGXTN),^XTMP("MAGGA03Q",DUZ,MAGXTN) "RTN","MAGGA03Q",184,0) . . S RY="0^Okay to retask" "RTN","MAGGA03Q",185,0) . . Q "RTN","MAGGA03Q",186,0) . I ZTSK(1)<3 S RY="1^Task In Progress : "_ZTSK Q "RTN","MAGGA03Q",187,0) . ;I ZTSK(1) is either 4 or 5, both mean not a running task. Inactive. problem "RTN","MAGGA03Q",188,0) . K ^XTMP(MAGXTN),^XTMP("MAGGA03Q",DUZ,MAGXTN) "RTN","MAGGA03Q",189,0) . S RY="0^Okay to retask" "RTN","MAGGA03Q",190,0) . Q "RTN","MAGGA03Q",191,0) ; D flag will delete a previously ran report and stop a currently running task "RTN","MAGGA03Q",192,0) I MQUE="D" D Q "RTN","MAGGA03Q",193,0) . N MAGSTP,ZTSK "RTN","MAGGA03Q",194,0) . S ZTSK=$$GETTASK(MAGXTN) "RTN","MAGGA03Q",195,0) . S MAGSTP=$$ASKSTOP^%ZTLOAD(ZTSK) "RTN","MAGGA03Q",196,0) . I 'MAGSTP S RY="1^Report cannot be stopped. Try again later" Q "RTN","MAGGA03Q",197,0) . K ^XTMP(MAGXTN),^XTMP("MAGGA03Q",DUZ,MAGXTN) "RTN","MAGGA03Q",198,0) . S RY="1^Report data deleted" "RTN","MAGGA03Q",199,0) Q "RTN","MAGGA03Q",200,0) ; "RTN","MAGGA03Q",201,0) ;***** RETURNS VARIOUS IMAGE STATISTICS DATA "RTN","MAGGA03Q",202,0) ; RPC: MAGG IMAGE STATISTICS BY USER "RTN","MAGGA03Q",203,0) ; "RTN","MAGGA03Q",204,0) ; Return all statistics reports previously tasked for a user "RTN","MAGGA03Q",205,0) ; "RTN","MAGGA03Q",206,0) ; .MAGRY Reference to a local variable where the results "RTN","MAGGA03Q",207,0) ; are returned to. "RTN","MAGGA03Q",208,0) ; "RTN","MAGGA03Q",209,0) ; MAGDUZ Internal ID of a user that has previously queued an Image Statistics "RTN","MAGGA03Q",210,0) ; Report. "RTN","MAGGA03Q",211,0) ; The default value is the current user DUZ. "RTN","MAGGA03Q",212,0) ; "RTN","MAGGA03Q",213,0) ; Return Values "RTN","MAGGA03Q",214,0) ; ============= "RTN","MAGGA03Q",215,0) ; "RTN","MAGGA03Q",216,0) ; MAGRY(0) - ^01: 1 Successful execution of the remote procedure "RTN","MAGGA03Q",217,0) ; 0 An error occurred during the execution of the remote procedure "RTN","MAGGA03Q",218,0) ; "RTN","MAGGA03Q",219,0) ; ^02: The number of reports identified for the user "RTN","MAGGA03Q",220,0) ; "RTN","MAGGA03Q",221,0) ; MAGRY(1..n) ^01: report FLAGS parameter "RTN","MAGGA03Q",222,0) ; ^02: report FROMDATE parameter "RTN","MAGGA03Q",223,0) ; ^03: report TODATE parameter "RTN","MAGGA03Q",224,0) ; ^04: report REPORT START DATE/TIME parameter "RTN","MAGGA03Q",225,0) ; ^05: report REPORT COMPLETE DATE/TIEM parameter "RTN","MAGGA03Q",226,0) ; "RTN","MAGGA03Q",227,0) ; e.g. "RTN","MAGGA03Q",228,0) ; 0)=1^5 Reports found for user IMAGING,USER "RTN","MAGGA03Q",229,0) ; 1)=CDE^2900613^3100503^3100505.09053^3100505.09053 "RTN","MAGGA03Q",230,0) ; "RTN","MAGGA03Q",231,0) GETUSRPT(MAGRY,MAGDUZ) ; RPC [MAGG IMAGE STATISTICS BY USER] "RTN","MAGGA03Q",232,0) N MAGX,MAGCNT "RTN","MAGGA03Q",233,0) N MAGINF ; XTMP node information. "RTN","MAGGA03Q",234,0) I MAGDUZ="" S MAGDUZ=DUZ "RTN","MAGGA03Q",235,0) ;--- Delete yesterdays temp data in ^XTMP "RTN","MAGGA03Q",236,0) D CLEARTMP(MAGDUZ) "RTN","MAGGA03Q",237,0) ; "RTN","MAGGA03Q",238,0) S MAGRY=$NA(^TMP("MAGGUSRPT",$J)),(MAGX,MAGCNT)=0 "RTN","MAGGA03Q",239,0) K @MAGRY "RTN","MAGGA03Q",240,0) F S MAGX=$O(^XTMP("MAGGA03Q",MAGDUZ,MAGX)) Q:MAGX="" D "RTN","MAGGA03Q",241,0) . I '$D(^XTMP(MAGX,"I",0)) Q "RTN","MAGGA03Q",242,0) . S MAGCNT=MAGCNT+1 "RTN","MAGGA03Q",243,0) . S MAGINF=$G(^XTMP(MAGX,"I",0)) "RTN","MAGGA03Q",244,0) . ; Status of 'Queuing' is now set from the Delphi App, if the start time is '' (null). "RTN","MAGGA03Q",245,0) . ; Do not change next line. Any change causes list entries to not be displayed. "RTN","MAGGA03Q",246,0) . S @MAGRY@(MAGCNT)=$P(MAGX,"-",3)_U_$P(MAGX,"-",4)_U_$P(MAGX,"-",5)_U_$P(MAGINF,U,3)_U_$P(MAGINF,U,4) "RTN","MAGGA03Q",247,0) S @MAGRY@(0)="1^"_MAGCNT_$S(MAGCNT>1:" Reports ",1:" Report ")_"found for user "_$$GET1^DIQ(200,MAGDUZ_",",.01) "RTN","MAGGA03Q",248,0) Q "RTN","MAGGA03Q",249,0) ; "RTN","MAGGA03Q",250,0) ; Get unique XTMP node "RTN","MAGGA03Q",251,0) ; Namespace + User id + Flags + From Date + To Date "RTN","MAGGA03Q",252,0) TNODE(FLAG,FROMDT,TODT) ; "RTN","MAGGA03Q",253,0) ;/p117 T5 GEK THIS IS 'maggaO3q' (LETTER 'O') It should be 'magga03q' (Zero) "RTN","MAGGA03Q",254,0) ;Q "MAGGAO3Q"_"-"_DUZ_"-"_FLAG_"-"_FROMDT_"-"_TODT ; this had letter 'o' "RTN","MAGGA03Q",255,0) Q "MAGGA03Q"_"-"_DUZ_"-"_FLAG_"-"_FROMDT_"-"_TODT ; this is Zero "RTN","MAGGA03Q",256,0) ; "RTN","MAGGA03Q",257,0) ; Returns the Task Number from XTMP global "RTN","MAGGA03Q",258,0) ; TNODE = Value created in $$TNODE "RTN","MAGGA03Q",259,0) GETTASK(TNODE) ; "RTN","MAGGA03Q",260,0) Q $S('$D(^XTMP(TNODE,0)):0,1:+$P(^XTMP(TNODE,0),U,3)) "RTN","MAGGA03Q",261,0) ; "RTN","MAGGA03Q",262,0) ; Delete temp data from yesterday "RTN","MAGGA03Q",263,0) ; "RTN","MAGGA03Q",264,0) CLEARTMP(MAGDUZ) ; Delete temp data from yesterday "RTN","MAGGA03Q",265,0) N MAGDAT,MAGXTN "RTN","MAGGA03Q",266,0) S MAGXTN="" "RTN","MAGGA03Q",267,0) F S MAGXTN=$O(^XTMP("MAGGA03Q",MAGDUZ,MAGXTN)) Q:MAGXTN="" D "RTN","MAGGA03Q",268,0) . S MAGDAT=$P($G(^XTMP(MAGXTN,0)),U,2) "RTN","MAGGA03Q",269,0) . I MAGDAT
if error during execution "RTN","MAGGA03U",53,0) ; or 1^ "RTN","MAGGA03U",54,0) ; MAGRY(1..n) are in the format: Last First Middle ^ DUZ "RTN","MAGGA03U",55,0) ; Notes "RTN","MAGGA03U",56,0) ; ===== "RTN","MAGGA03U",57,0) ; "RTN","MAGGA03U",58,0) ; Temporary global nodes ^TMP("MAGGA03U",$J) and ^TMP($J,"MAGUSERS" "RTN","MAGGA03U",59,0) ; and ^TMP($J,"MAGDUZ" are used by this procedure. "RTN","MAGGA03U",60,0) ; "RTN","MAGGA03U",61,0) USERS(MAGRY,FROMDATE,TODATE,FLAGS) ; [RPC MAGG CAPTURE USERS] "RTN","MAGGA03U",62,0) N I,EDT,N0,N2,CT,TMP,MERR,CAPAPP,IDUZ,INM,MSG,X,Y "RTN","MAGGA03U",63,0) S MAGRY=$NA(^TMP("MAGGA03U",$J)) "RTN","MAGGA03U",64,0) K @MAGRY,^TMP($J,"MAGUSERS"),^TMP($J,"MAGDUZ") "RTN","MAGGA03U",65,0) ; "RTN","MAGGA03U",66,0) ; Validate parameters. "RTN","MAGGA03U",67,0) S MERR=0 "RTN","MAGGA03U",68,0) D "RTN","MAGGA03U",69,0) . S FLAGS=$G(FLAGS) I FLAGS="" S FLAGS="CI" "RTN","MAGGA03U",70,0) . I $TR(FLAGS,"CI")'="" S MERR=1,MSG="Invalid Flags: '"_FLAGS_"'. Only 'C' and/or 'I'" Q "RTN","MAGGA03U",71,0) . S X=$G(FROMDATE) D ^%DT I Y=-1 S MERR=1,MSG="Invalid date "_FROMDATE Q "RTN","MAGGA03U",72,0) . S FROMDATE=Y "RTN","MAGGA03U",73,0) . S X=$G(TODATE) D ^%DT I Y=-1 S MERR=1,MSG="Invalid date "_TODATE Q "RTN","MAGGA03U",74,0) . S TODATE=Y "RTN","MAGGA03U",75,0) I MERR S @MAGRY@(0)="0^"_MSG Q "RTN","MAGGA03U",76,0) ; "RTN","MAGGA03U",77,0) ; Swap the dates if necessary "RTN","MAGGA03U",78,0) K TMP I FROMDATE>TODATE S TMP=FROMDATE,FROMDATE=TODATE,TODATE=TMP "RTN","MAGGA03U",79,0) ; "RTN","MAGGA03U",80,0) ; Loop through ADTDUZ Cross ref and find users that have captured images. "RTN","MAGGA03U",81,0) ; "RTN","MAGGA03U",82,0) F I=1:1 S CAPAPP=$E(FLAGS,I) Q:CAPAPP="" D "RTN","MAGGA03U",83,0) . S EDT=$$FMADD^XLFDT(TODATE,1) "RTN","MAGGA03U",84,0) . F S EDT=$O(^MAG(2005,"ADTDUZ",CAPAPP,EDT),-1) Q:EDT0 Terminate the query (e.g. if maximum number of "RTN","MAGGI13",109,0) ; returned records has been reached) "RTN","MAGGI13",110,0) ; "RTN","MAGGI13",111,0) ; See the source code of the IMGQUERY^MAGGA03 and "RTN","MAGGI13",112,0) ; $$QRYCBK^MAGGA03 for an example. "RTN","MAGGI13",113,0) ; "RTN","MAGGI13",114,0) ; FLAGS Flags that control the execution (can be combined): "RTN","MAGGI13",115,0) ; "RTN","MAGGI13",116,0) ; C Capture date range. If this flag is provided, "RTN","MAGGI13",117,0) ; then the remote procedure uses values of the "RTN","MAGGI13",118,0) ; MAG8FROM and MAG8TO parameters to select images "RTN","MAGGI13",119,0) ; that were captured in this date range (see the "RTN","MAGGI13",120,0) ; DATE/TIME IMAGE SAVED field (7) and the "AD" "RTN","MAGGI13",121,0) ; cross-reference). "RTN","MAGGI13",122,0) ; "RTN","MAGGI13",123,0) ; Otherwise, values of those parameters are "RTN","MAGGI13",124,0) ; treated as the date range when procedures were "RTN","MAGGI13",125,0) ; performed (see the PROCEDURE/EXAM DATE/TIME "RTN","MAGGI13",126,0) ; field (15) and cross-references "APDTPX" and "RTN","MAGGI13",127,0) ; "APDT"). "RTN","MAGGI13",128,0) ; "RTN","MAGGI13",129,0) ; G Include Group Images in the list of images returned. "RTN","MAGGI13",130,0) ; If any image in a group has an image that matches the "RTN","MAGGI13",131,0) ; status provided in the search criteria then "RTN","MAGGI13",132,0) ; the group will be returned. "RTN","MAGGI13",133,0) ; "RTN","MAGGI13",134,0) ; If the G flag is not set then only the status of the "RTN","MAGGI13",135,0) ; Group entry will be checked and the group will be "RTN","MAGGI13",136,0) ; returned if it passes. "RTN","MAGGI13",137,0) ; "RTN","MAGGI13",138,0) ; D Include only deleted images (file #2005.1) "RTN","MAGGI13",139,0) ; "RTN","MAGGI13",140,0) ; E Include only existing images (file #2005) "RTN","MAGGI13",141,0) ; "RTN","MAGGI13",142,0) ; If neither 'E' nor 'D' flag is provided, then an "RTN","MAGGI13",143,0) ; error code is returned. "RTN","MAGGI13",144,0) ; "RTN","MAGGI13",145,0) ; [.MAG8DATA] Reference to a local array that is passed to the "RTN","MAGGI13",146,0) ; callback function (by reference) "as is" "RTN","MAGGI13",147,0) ; "RTN","MAGGI13",148,0) ; [MAG8FROM] Date/time range for image selection. Parameter "RTN","MAGGI13",149,0) ; [MAG8TO] values should be valid date/times in internal or "RTN","MAGGI13",150,0) ; external FileMan format. If a parameter is not "RTN","MAGGI13",151,0) ; defined or empty, then the range remains open on "RTN","MAGGI13",152,0) ; the corresponding side. "RTN","MAGGI13",153,0) ; "RTN","MAGGI13",154,0) ; The beginning of the date/time range is included "RTN","MAGGI13",155,0) ; the search but the end is not! For example, if you "RTN","MAGGI13",156,0) ; need images for October 15, 2007, the internal "RTN","MAGGI13",157,0) ; parameter values should be 3071015 and 3071016. "RTN","MAGGI13",158,0) ; "RTN","MAGGI13",159,0) ; If the MAG8FROM is after the MAG8TO, then values "RTN","MAGGI13",160,0) ; of the parameters are swapped. "RTN","MAGGI13",161,0) ; "RTN","MAGGI13",162,0) ; [DFN] Patient IEN (DFN). If this parameter is defined and "RTN","MAGGI13",163,0) ; greater than 0, then only images associated with this "RTN","MAGGI13",164,0) ; patient are processed. "RTN","MAGGI13",165,0) ; "RTN","MAGGI13",166,0) ; Return Values "RTN","MAGGI13",167,0) ; ============= "RTN","MAGGI13",168,0) ; <0 Error descriptor (see the $$ERROR^MAGUERR) "RTN","MAGGI13",169,0) ; 0 All appropriate image records have been processed "RTN","MAGGI13",170,0) ; >0 Value returned by the callback function when it "RTN","MAGGI13",171,0) ; terminated the query "RTN","MAGGI13",172,0) ; "RTN","MAGGI13",173,0) ; Notes "RTN","MAGGI13",174,0) ; ===== "RTN","MAGGI13",175,0) ; "RTN","MAGGI13",176,0) ; Temporary global node ^TMP($J,"MAGGI13") is used by this function. "RTN","MAGGI13",177,0) ; "RTN","MAGGI13",178,0) QUERY(CALLBACK,FLAGS,MAG8DATA,MAG8FROM,MAG8TO,DFN) ; "RTN","MAGGI13",179,0) N MAG8BOTH,MAG8CALL,MAG8DT,MAG8IEN,MAG8RC,MAG8ROOT,MAG8XREF,TMP "RTN","MAGGI13",180,0) S FLAGS=$G(FLAGS) "RTN","MAGGI13",181,0) ;=== Validate parameters "RTN","MAGGI13",182,0) Q:'(CALLBACK?2"$"1.8UN1"^MAG"1.5UN) $$IPVE^MAGUERR("CALLBACK") "RTN","MAGGI13",183,0) ;--- If a patient IEN is provided, it must be valid "RTN","MAGGI13",184,0) I $G(DFN)>0,'$$VALDFN^MAGUTL05(DFN,.TMP) D STORE^MAGUERR(TMP) Q TMP "RTN","MAGGI13",185,0) ;--- Unknown/Unsupported flag(s) "RTN","MAGGI13",186,0) Q:$TR(FLAGS,"CDEG")'="" $$IPVE^MAGUERR("FLAGS") "RTN","MAGGI13",187,0) ;--- Missing required flag "RTN","MAGGI13",188,0) Q:$TR(FLAGS,"DE")=FLAGS $$ERROR^MAGUERR(-6,,"D,E") "RTN","MAGGI13",189,0) ; "RTN","MAGGI13",190,0) ;=== The expression in the following line does not look like "RTN","MAGGI13",191,0) ; (FLAGS["E")&(FLAGS["D") because a group header that is "RTN","MAGGI13",192,0) ;=== not marked as deleted can reference deleted "children". "RTN","MAGGI13",193,0) S MAG8BOTH=(FLAGS["D") "RTN","MAGGI13",194,0) S TMP=$S(FLAGS["E":2005,1:2005.1),MAG8ROOT=$NA(^MAG(TMP)) "RTN","MAGGI13",195,0) S TMP=$$DDQ^MAGUTL05(FLAGS) "RTN","MAGGI13",196,0) S MAG8CALL="S MAG8RC="_CALLBACK_"(MAG8IEN,"_TMP_",.MAG8DATA)" "RTN","MAGGI13",197,0) S MAG8RC=0 "RTN","MAGGI13",198,0) ; "RTN","MAGGI13",199,0) ;=== Browse images in the capture date range "RTN","MAGGI13",200,0) I FLAGS["C" D Q MAG8RC "RTN","MAGGI13",201,0) . ;--- Modify the callback to check for patient "RTN","MAGGI13",202,0) . S:$G(DFN)>0 $E(MAG8CALL,1)="S:$$PTCHK(MAG8IEN,"_DFN_")" "RTN","MAGGI13",203,0) . ;--- "RTN","MAGGI13",204,0) . S MAG8XREF=$NA(@MAG8ROOT@("AD")) "RTN","MAGGI13",205,0) . S MAG8DT=MAG8TO "RTN","MAGGI13",206,0) . F S MAG8DT=$$MAGORD($NA(@MAG8XREF@(MAG8DT)),-1,MAG8BOTH) Q:(MAG8DT="")!(MAG8DT0 D Q MAG8RC "RTN","MAGGI13",217,0) . N MAG8DT1,MAG8DT2,MAG8PRX,MAG8TMP "RTN","MAGGI13",218,0) . S MAG8XREF=$NA(@MAG8ROOT@("APDTPX",+DFN)) "RTN","MAGGI13",219,0) . S MAG8TMP=$NA(^TMP("MAGGI13",$J)) "RTN","MAGGI13",220,0) . ;--- "Invert" the dates "RTN","MAGGI13",221,0) . S MAG8DT1=$$INVDT(MAG8TO),MAG8DT2=$$INVDT(MAG8FROM) "RTN","MAGGI13",222,0) . ;--- "RTN","MAGGI13",223,0) . S MAG8DT=MAG8DT1 "RTN","MAGGI13",224,0) . F S MAG8DT=$$MAGORD($NA(@MAG8XREF@(MAG8DT)),1,MAG8BOTH) Q:(MAG8DT="")!(MAG8DT>MAG8DT2) D Q:MAG8RC "RTN","MAGGI13",225,0) . . K @MAG8TMP "RTN","MAGGI13",226,0) . . I $D(ZTQUEUED),$$S^%ZTLOAD S MAG8RC="1^Task asked to stop",ZTSTOP=1 Q "RTN","MAGGI13",227,0) . . ;--- Merge IEN lists from both files "RTN","MAGGI13",228,0) . . S MAG8PRX="" "RTN","MAGGI13",229,0) . . F S MAG8PRX=$$MAGORD($NA(@MAG8XREF@(MAG8DT,MAG8PRX)),1,MAG8BOTH) Q:MAG8PRX="" D "RTN","MAGGI13",230,0) . . . S MAG8IEN="" "RTN","MAGGI13",231,0) . . . F S MAG8IEN=$$MAGORD($NA(@MAG8XREF@(MAG8DT,MAG8PRX,MAG8IEN)),1,MAG8BOTH) Q:MAG8IEN="" D "RTN","MAGGI13",232,0) . . . . S @MAG8TMP@(MAG8IEN)="" "RTN","MAGGI13",233,0) . . . . Q "RTN","MAGGI13",234,0) . . ;--- Browse the list and select the images "RTN","MAGGI13",235,0) . . S MAG8IEN="" "RTN","MAGGI13",236,0) . . F D Q:(MAG8IEN'>0)!MAG8RC X MAG8CALL Q:MAG8RC "RTN","MAGGI13",237,0) . . . S MAG8IEN=$O(@MAG8TMP@(MAG8IEN),-1) "RTN","MAGGI13",238,0) . . . I $D(ZTQUEUED),$$S^%ZTLOAD S MAG8RC="1^Task asked to stop",ZTSTOP=1 "RTN","MAGGI13",239,0) . . . Q "RTN","MAGGI13",240,0) . . Q "RTN","MAGGI13",241,0) . ;--- "RTN","MAGGI13",242,0) . K @MAG8TMP "RTN","MAGGI13",243,0) . Q "RTN","MAGGI13",244,0) ; "RTN","MAGGI13",245,0) ;=== Browse images in the procedure date range; all patients "RTN","MAGGI13",246,0) S MAG8XREF=$NA(@MAG8ROOT@("APDT")) "RTN","MAGGI13",247,0) S MAG8DT=MAG8TO "RTN","MAGGI13",248,0) F S MAG8DT=$$MAGORD($NA(@MAG8XREF@(MAG8DT)),-1,MAG8BOTH) Q:(MAG8DT="")!(MAG8DT100),'GBLRET D ARY2GLB "RTN","MAGGTIG",50,0) . . . S MAGFILE=$$INFO^MAGGAII(IEN,"E") "RTN","MAGGTIG",51,0) . . . S @MAGRY@(CT)="B2^"_MAGFILE "RTN","MAGGTIG",52,0) S @MAGRY@(0)="1^"_CT "RTN","MAGGTIG",53,0) Q "RTN","MAGGTIG",54,0) PHOTOS(MAGRY,MAGDFN) ;RPC [MAGG PAT PHOTOS] "RTN","MAGGTIG",55,0) ; Call to return list of all Photo ID's on file for a patient. "RTN","MAGGTIG",56,0) ; We are returning all Photo ID images for a patient. "RTN","MAGGTIG",57,0) ; The Images are returned in Rev Chronological Order, latest image "RTN","MAGGTIG",58,0) ; first, oldest image last. "RTN","MAGGTIG",59,0) K MAGRY "RTN","MAGGTIG",60,0) N Y,RDT,PRX,CT,IEN,IENS,GBLRET,MAGFILE "RTN","MAGGTIG",61,0) N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" "RTN","MAGGTIG",62,0) S MAGDFN=+MAGDFN "RTN","MAGGTIG",63,0) ; if no Photo ID Images for the patient, then quit. "RTN","MAGGTIG",64,0) I '$D(^MAG(2005,"APPXDT",MAGDFN,"PHOTO ID")) S MAGRY(0)="1^0" Q "RTN","MAGGTIG",65,0) ; the "APPXDT" cross reference is : "RTN","MAGGTIG",66,0) ; "APPXDT",DFN,Procedure,Rev Date,MAGIEN ) "RTN","MAGGTIG",67,0) ; "RTN","MAGGTIG",68,0) ; we'll use @ notation, this'll work if an Array or a Global Array is begin returned "RTN","MAGGTIG",69,0) S GBLRET=0 "RTN","MAGGTIG",70,0) S MAGRY="MAGRY" "RTN","MAGGTIG",71,0) S CT=0 "RTN","MAGGTIG",72,0) S RDT="" F S RDT=$O(^MAG(2005,"APPXDT",MAGDFN,"PHOTO ID",RDT)) Q:RDT="" D "RTN","MAGGTIG",73,0) . S IEN="" "RTN","MAGGTIG",74,0) . F S IEN=$O(^MAG(2005,"APPXDT",MAGDFN,"PHOTO ID",RDT,IEN)) Q:'IEN D "RTN","MAGGTIG",75,0) . . ;Q:$P($G(^MAG(2005,IEN,0)),"^",10) ; CHILD OF GROUP "RTN","MAGGTIG",76,0) . . Q:$$ISDEL^MAGGI11(IEN) ; Deleted image "RTN","MAGGTIG",77,0) . . S IENS(IEN)="" "RTN","MAGGTIG",78,0) . . Q "RTN","MAGGTIG",79,0) . Q "RTN","MAGGTIG",80,0) S IEN="" F S IEN=$O(IENS(IEN),-1) Q:'IEN D "RTN","MAGGTIG",81,0) . S CT=CT+1 "RTN","MAGGTIG",82,0) . S MAGFILE=$$INFO^MAGGAII(IEN,"E") "RTN","MAGGTIG",83,0) . S @MAGRY@(CT)="B2^"_MAGFILE "RTN","MAGGTIG",84,0) . Q "RTN","MAGGTIG",85,0) S @MAGRY@(0)="1^"_CT "RTN","MAGGTIG",86,0) Q "RTN","MAGGTIG",87,0) EACHIMG(MAGRY,MAGDFN,MAX) ;RPC [MAGG PAT EACH IMAGE] "RTN","MAGGTIG",88,0) ; Call Returns list of recent Patient images. "RTN","MAGGTIG",89,0) ; MAX = maximum number of images to return "RTN","MAGGTIG",90,0) ; MAGDFN = patient DFN "RTN","MAGGTIG",91,0) ; We are returning all images for a patient, and listing each image. "RTN","MAGGTIG",92,0) ; This is called from Capture Window where groups aren't listed. "RTN","MAGGTIG",93,0) ; The Images are returned in Rev Chronological Order, latest image "RTN","MAGGTIG",94,0) ; first, oldest image last. "RTN","MAGGTIG",95,0) ; User can decide how many of the most recent they want to list. "RTN","MAGGTIG",96,0) K MAGRY "RTN","MAGGTIG",97,0) N Y,RDT,PRX,CT,IEN,GBLRET "RTN","MAGGTIG",98,0) S MAX=$S($G(MAX)>0:MAX,1:50) ; 50 IS DEFAULT "RTN","MAGGTIG",99,0) N $ETRAP,$ESTACK S $ETRAP="D ERRG^MAGGTERR" "RTN","MAGGTIG",100,0) S MAGDFN=+MAGDFN "RTN","MAGGTIG",101,0) ; if no Images for the patient, then quit. "RTN","MAGGTIG",102,0) I '$D(^MAG(2005,"AC",MAGDFN)) S MAGRY(0)="1^0" Q "RTN","MAGGTIG",103,0) ; the "AC" cross reference is : "RTN","MAGGTIG",104,0) ; "AC",DFN,IEN ) "RTN","MAGGTIG",105,0) ; "RTN","MAGGTIG",106,0) ; we'll use @ notation, this'll work if an Array or a Global Array is begin returned "RTN","MAGGTIG",107,0) S GBLRET=0 "RTN","MAGGTIG",108,0) S MAGRY="MAGRY" "RTN","MAGGTIG",109,0) S CT=0,IEN="" "RTN","MAGGTIG",110,0) F S IEN=$O(^MAG(2005,"AC",MAGDFN,IEN),-1) Q:'IEN D Q:(CT>MAX) "RTN","MAGGTIG",111,0) . Q:$P($G(^MAG(2005,IEN,0)),U,6)=11 ; NOT LISTING GROUP ENTRIES "RTN","MAGGTIG",112,0) . Q:$$ISDEL^MAGGI11(IEN) ; Skip deleted images "RTN","MAGGTIG",113,0) . S CT=CT+1 "RTN","MAGGTIG",114,0) . I (CT>100),'GBLRET D ARY2GLB "RTN","MAGGTIG",115,0) . S @MAGRY@(CT)=$$CAPINFO(IEN) "RTN","MAGGTIG",116,0) S @MAGRY@(0)="1^"_CT "RTN","MAGGTIG",117,0) Q "RTN","MAGGTIG",118,0) CAPINFO(IEN) ; RETURN A STRING OF INFORMATION ABOUT THE IMAGE "RTN","MAGGTIG",119,0) ; This is for Capture App "RTN","MAGGTIG",120,0) N RETY,N2,X,MAGFILE "RTN","MAGGTIG",121,0) S MAGFILE=$$INFO^MAGGAII(IEN,"E") "RTN","MAGGTIG",122,0) S RETY=$P(MAGFILE,U,1,7)_U "RTN","MAGGTIG",123,0) S N2=$G(^MAG(2005,IEN,2)) "RTN","MAGGTIG",124,0) S RETY=RETY_$$FMTE^XLFDT($P(N2,U,1),"5P")_U "RTN","MAGGTIG",125,0) S X=$P(RETY,U,5),X=$$FMTE^XLFDT(X,"5"),X=$P(X,"@") "RTN","MAGGTIG",126,0) S $P(RETY,U,5)=X "RTN","MAGGTIG",127,0) Q RETY "RTN","MAGGTIG",128,0) Q "RTN","MAGGTIG",129,0) ARY2GLB ; Image count is getting big, switch from array to Global return type "RTN","MAGGTIG",130,0) S GBLRET=1 "RTN","MAGGTIG",131,0) K ^TMP("MAGGTIG",$J) "RTN","MAGGTIG",132,0) S MAGRY="" "RTN","MAGGTIG",133,0) M ^TMP("MAGGTIG",$J)=MAGRY "RTN","MAGGTIG",134,0) K MAGRY "RTN","MAGGTIG",135,0) S X=$$RTRNFMT^XWBLIB("GLOBAL ARRAY",1) "RTN","MAGGTIG",136,0) S MAGRY=$NA(^TMP("MAGGTIG",$J)) "RTN","MAGGTIG",137,0) Q "RTN","MAGGTIG",138,0) GROUP(MAGRY,MAGIEN,NOCHK,FLAGS) ;RPC [MAGG GROUP IMAGES] "RTN","MAGGTIG",139,0) ; CalL to Return image list of a Group. "RTN","MAGGTIG",140,0) ; MAGIEN = the entry in MAG(2005 we assume it is a group. "RTN","MAGGTIG",141,0) ; NOCHK = flag - Do (or) Not Do QI Check. "RTN","MAGGTIG",142,0) N Y,MAGDFN,I,MAGCHILD,MAGCT,MAGTMPAR,MSGX,MAGQI,MAGY,MAGFILE "RTN","MAGGTIG",143,0) N MAGNOCHK "RTN","MAGGTIG",144,0) S FLAGS=$G(FLAGS) "RTN","MAGGTIG",145,0) ; "RTN","MAGGTIG",146,0) ;Test BigGroup S BKG=+$G(BKG) "RTN","MAGGTIG",147,0) ;Test BigGroup K ^TMP("MAGBGRP") "RTN","MAGGTIG",148,0) S MAGIEN=+MAGIEN,MSGX="" "RTN","MAGGTIG",149,0) S NOCHK=+$G(NOCHK) "RTN","MAGGTIG",150,0) I '$D(^MAG(2005,MAGIEN,0)) S MAGRY(0)="0^ERROR: Image entry "_MAGIEN_" Doesn't exist" Q "RTN","MAGGTIG",151,0) I $O(^MAG(2005,MAGIEN,1,0))="" S MAGRY(0)="0^ERROR: There are NO Images defined for this Group" Q "RTN","MAGGTIG",152,0) ; "RTN","MAGGTIG",153,0) ; we'll use @ notation, this'll work if an Array or a Global Array is being returned "RTN","MAGGTIG",154,0) S MAGRY="MAGRY" "RTN","MAGGTIG",155,0) ; "RTN","MAGGTIG",156,0) ; if we are switching to a Global Array because too many images, "RTN","MAGGTIG",157,0) ; then set MAGRY and clean it up first "RTN","MAGGTIG",158,0) ;I +$P($G(^MAG(2005,MAGIEN,1,0)),U,4)>100 "RTN","MAGGTIG",159,0) D "RTN","MAGGTIG",160,0) . S X=$$RTRNFMT^XWBLIB("GLOBAL ARRAY",1) "RTN","MAGGTIG",161,0) . S MAGRY=$NA(^TMP("MAGGTIG",$J)) "RTN","MAGGTIG",162,0) . K @MAGRY "RTN","MAGGTIG",163,0) N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" "RTN","MAGGTIG",164,0) ; "RTN","MAGGTIG",165,0) ;Test BigGroup I $D(^TMP("MAGBGRP",MAGIEN)) D Q "RTN","MAGGTIG",166,0) ;Test BigGroup . M ^TMP("MAGGTIG",$J)=^TMP("MAGBGRP",MAGIEN) "RTN","MAGGTIG",167,0) ;Test BigGroup . Q "RTN","MAGGTIG",168,0) ; integrity check, stop if group entry is questionable "RTN","MAGGTIG",169,0) ; NOCHK is sent from Image Delete window (so user with DELETE and SYSTEM keys) "RTN","MAGGTIG",170,0) ; can see group abstracts before the group is deleted. "RTN","MAGGTIG",171,0) I 'NOCHK D CHK^MAGGSQI(.MAGQI,MAGIEN) I 'MAGQI(0) D Q "RTN","MAGGTIG",172,0) . S @MAGRY@(0)=MAGQI(0) "RTN","MAGGTIG",173,0) ; "RTN","MAGGTIG",174,0) S MAGNOCHK=1 "RTN","MAGGTIG",175,0) S I=0,MAGCT=0,MAGDFN=$P(^MAG(2005,MAGIEN,0),"^",7) "RTN","MAGGTIG",176,0) I $D(^MAG(2005,MAGIEN,1,"ADCM")) D "RTN","MAGGTIG",177,0) . N INUM,SNUM "RTN","MAGGTIG",178,0) . S INUM="" ; GEK 4/3/00 changed Q:'INUM to Q:INUM="" below "RTN","MAGGTIG",179,0) . F S INUM=$O(^MAG(2005,MAGIEN,1,"ADCM",INUM)) Q:INUM="" D "RTN","MAGGTIG",180,0) . . S SNUM="" "RTN","MAGGTIG",181,0) . . F S SNUM=$O(^MAG(2005,MAGIEN,1,"ADCM",INUM,SNUM)) Q:SNUM="" D "RTN","MAGGTIG",182,0) . . . S MAGCHILD="" "RTN","MAGGTIG",183,0) . . . F S MAGCHILD=$O(^MAG(2005,MAGIEN,1,"ADCM",INUM,SNUM,MAGCHILD)) Q:'MAGCHILD D "RTN","MAGGTIG",184,0) . . . . S MAGCT=MAGCT+1 "RTN","MAGGTIG",185,0) . . . . I '$D(^MAG(2005,MAGCHILD)) D INVALID(MAGCHILD,.MSGX) S @MAGRY@(MAGCT)=MSGX Q "RTN","MAGGTIG",186,0) . . . . ; Added for MAGQI integrity check "RTN","MAGGTIG",187,0) . . . . K MAGY "RTN","MAGGTIG",188,0) . . . . D CHKGRPCH^MAGGSQI(.MAGY,MAGIEN,MAGDFN,MAGCHILD) I 'MAGY D INVCH(.MAGY,MAGCHILD) S @MAGRY@(MAGCT)=MAGY Q "RTN","MAGGTIG",189,0) . . . . S MAGTMPAR(MAGCHILD)="" "RTN","MAGGTIG",190,0) . . . . S MAGFILE=$$INFO^MAGGAII(MAGCHILD,"E") "RTN","MAGGTIG",191,0) . . . . S $P(MAGFILE,U,12,13)=INUM_U_SNUM "RTN","MAGGTIG",192,0) . . . . S @MAGRY@(MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",193,0) . . . . ;Test BigGroup I 'BKG S @MAGRY@(MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",194,0) . . . . ;Test BigGroup E S ^TMP("MAGBGRP",MAGIEN,MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",195,0) ;GEK 4/8/99 MODIFIED, because now we have groups, that some entries "RTN","MAGGTIG",196,0) ; have dicom numbers and some don't. So we have to go through the group again. "RTN","MAGGTIG",197,0) ;Test BigGroup - Need a Pre/Post init, that fixes Groups where some entries have Dicom values, and some "RTN","MAGGTIG",198,0) ; don't. In such a group, we will make Dicom values for the images that don't have them. "RTN","MAGGTIG",199,0) ; Testing in Washington - this will take hours. "RTN","MAGGTIG",200,0) ; "RTN","MAGGTIG",201,0) S I=0 "RTN","MAGGTIG",202,0) F S I=$O(^MAG(2005,MAGIEN,1,I)) Q:'I D "RTN","MAGGTIG",203,0) . S MAGCHILD=+^MAG(2005,MAGIEN,1,I,0) "RTN","MAGGTIG",204,0) . I $D(MAGTMPAR(MAGCHILD)) Q "RTN","MAGGTIG",205,0) . S MAGCT=MAGCT+1 "RTN","MAGGTIG",206,0) . I '$D(^MAG(2005,MAGCHILD)) D INVALID(MAGCHILD,.MSGX) S @MAGRY@(MAGCT)=MSGX Q "RTN","MAGGTIG",207,0) . ;Added for MAGQI integrity check "RTN","MAGGTIG",208,0) . K MAGY "RTN","MAGGTIG",209,0) . D CHKGRPCH^MAGGSQI(.MAGY,MAGIEN,MAGDFN,MAGCHILD) I 'MAGY D INVCH(.MAGY,MAGCHILD) S @MAGRY@(MAGCT)=MAGY Q "RTN","MAGGTIG",210,0) . S MAGFILE=$$INFO^MAGGAII(MAGCHILD,"E") "RTN","MAGGTIG",211,0) . S @MAGRY@(MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",212,0) . ;Test BigGroup I 'BKG S @MAGRY@(MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",213,0) . ;Test BigGroup E S ^TMP("MAGBGRP",MAGIEN,MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",214,0) I FLAGS["D" D ; Patch 117 "RTN","MAGGTIG",215,0) . ; Get Deleted images "RTN","MAGGTIG",216,0) . S MAGCHILD=0 "RTN","MAGGTIG",217,0) . F S MAGCHILD=$O(^MAG(2005.1,"AGP",MAGIEN,MAGCHILD)) Q:'MAGCHILD D "RTN","MAGGTIG",218,0) . . S MAGCT=MAGCT+1 "RTN","MAGGTIG",219,0) . . S MAGFILE=$$INFO^MAGGAII(MAGCHILD,"D") "RTN","MAGGTIG",220,0) . . S @MAGRY@(MAGCT)="B2^"_MAGFILE "RTN","MAGGTIG",221,0) . . Q "RTN","MAGGTIG",222,0) S @MAGRY@(0)="1^"_MAGCT "RTN","MAGGTIG",223,0) Q "RTN","MAGGTIG",224,0) INVALID(MAGX,MAGZ) ; "RTN","MAGGTIG",225,0) ; "RTN","MAGGTIG",226,0) I $$ISDEL^MAGGI11(MAGX) S MAGZ="B2^"_MAGX_"^^^INVALID Reference to Deleted Image^^66^^^^^^^^" "RTN","MAGGTIG",227,0) E S MAGZ="B2^"_MAGX_"^^^INVALID Image ID (IEN)^^67^^^^^^^^" "RTN","MAGGTIG",228,0) ;Added with MAGQI integrity check, "RTN","MAGGTIG",229,0) S MAGTMPAR(MAGX)="" "RTN","MAGGTIG",230,0) Q "RTN","MAGGTIG",231,0) INVCH(MSG,CHILD) ;Added for MAGQI integrity check "RTN","MAGGTIG",232,0) ; MSG is passed by reference, we create a MAGFILE equivalent and pass it back. "RTN","MAGGTIG",233,0) N EMSG "RTN","MAGGTIG",234,0) S EMSG=$P(MSG,U,2) "RTN","MAGGTIG",235,0) K MSG "RTN","MAGGTIG",236,0) S $P(MSG,U)=CHILD "RTN","MAGGTIG",237,0) ; remove dependency on c:\program files. with .\bmp\ "RTN","MAGGTIG",238,0) S $P(MSG,U,2,3)="-1~Questionable Data Integrity^.\bmp\imageQA.bmp" "RTN","MAGGTIG",239,0) S $P(MSG,U,4)=$P($G(^MAG(2005,CHILD,2)),U,4) "RTN","MAGGTIG",240,0) S $P(MSG,U,6)=$S(($P(MSG,U,6)'=11):"99",1:11) "RTN","MAGGTIG",241,0) ;this stops Delphi App from changing Abstract BMP to OFFLINE IMAGE "RTN","MAGGTIG",242,0) S $P(MSG,U,10)="M" "RTN","MAGGTIG",243,0) ;Send the error message "RTN","MAGGTIG",244,0) S $P(MSG,U,17)=EMSG "RTN","MAGGTIG",245,0) S MSG="B2^"_MSG "RTN","MAGGTIG",246,0) S MAGTMPAR(CHILD)="" "RTN","MAGGTIG",247,0) Q "RTN","MAGGTPT1") 0^10^B43431536 "RTN","MAGGTPT1",1,0) MAGGTPT1 ;WOIFO/GEK/SG/NST - Delphi-Broker calls for patient lookup and information ; 05 Oct 2010 9:15 AM "RTN","MAGGTPT1",2,0) ;;3.0;IMAGING;**16,8,92,46,59,93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTPT1",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTPT1",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTPT1",5,0) ;; | Property of the US Government. | "RTN","MAGGTPT1",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTPT1",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTPT1",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTPT1",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTPT1",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTPT1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTPT1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTPT1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTPT1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTPT1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTPT1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTPT1",17,0) ;; "RTN","MAGGTPT1",18,0) Q "RTN","MAGGTPT1",19,0) ; "RTN","MAGGTPT1",20,0) FIND(MAGRY,ZY) ;RPC [MAGG PAT FIND] "RTN","MAGGTPT1",21,0) ; Call to Do a lookup using FIND^DIC "RTN","MAGGTPT1",22,0) ; MAGRY is the Array to return. "RTN","MAGGTPT1",23,0) ; ZY is parameter sent by calling app (Delphi) "RTN","MAGGTPT1",24,0) ; NUM TO RETURN ^ TEXT TO MATCH ^ TYPE OF OUPUT FORMAT ^ SCREEN ($P 5-99) "RTN","MAGGTPT1",25,0) ; MAGRY(0)="0^Error message" "RTN","MAGGTPT1",26,0) ; or "RTN","MAGGTPT1",27,0) ; MAGRY(0)=Found 100 entries matching "" there are more "RTN","MAGGTPT1",28,0) ; "RTN","MAGGTPT1",29,0) ; if $P(ZY,"^",4)'=2 then "RTN","MAGGTPT1",30,0) ; MAGRY(1..n) = Patient Name _" " _ Date Of Birth _" "_ Male/Female _ " "_ Ward ^ DFN^ICN "RTN","MAGGTPT1",31,0) ; if $P(ZY,"^",4)=2 then "RTN","MAGGTPT1",32,0) ; MAGRY(1) = "Patient Name^DOB~S1^Sex^Ward" "RTN","MAGGTPT1",33,0) ; MAGRY(2..n) = Patient Name^Date Of Birth^Male/Female^Ward | DFN^ICN "RTN","MAGGTPT1",34,0) N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" "RTN","MAGGTPT1",35,0) ; "RTN","MAGGTPT1",36,0) N X,Y,I,Z,MAGDFN,WARD "RTN","MAGGTPT1",37,0) N FILE,IENS,FLDS,FLAGS,VAL,NUM,INDEX,SCR,IDENT,TROOT "RTN","MAGGTPT1",38,0) N RTYPE,SEX,ICN,PNAME "RTN","MAGGTPT1",39,0) S (FILE,IENS,FLDS,FLAGS,VAL,NUM,INDEX,SCR,IDENT,TROOT)="" "RTN","MAGGTPT1",40,0) ; "RTN","MAGGTPT1",41,0) S FILE=2 ; Patient File "RTN","MAGGTPT1",42,0) ; Number of entries to return, If 0 we'll stop at 100 "RTN","MAGGTPT1",43,0) S NUM=$S(+$P(ZY,U,1):+$P(ZY,U,1),1:100) "RTN","MAGGTPT1",44,0) S VAL=$P(ZY,U,2) ; this is the starting value i.e. 'Smi' "RTN","MAGGTPT1",45,0) S SCR=$P(ZY,U,5,99) "RTN","MAGGTPT1",46,0) S FLDS=$P(ZY,U,3) "RTN","MAGGTPT1",47,0) S RTYPE=$P(ZY,U,4) "RTN","MAGGTPT1",48,0) ; If specific fields aren't requested, "RTN","MAGGTPT1",49,0) ; Get Identifiers, and ward as FLDS "RTN","MAGGTPT1",50,0) ;I '$L(FLDS) S FLDS=FLDS_";.1;.03;.09;.301;391" "RTN","MAGGTPT1",51,0) I '$L(FLDS) S FLDS=FLDS_";.1;.02;.301;391" "RTN","MAGGTPT1",52,0) ; we'll add ACN to the index to search, for ward "RTN","MAGGTPT1",53,0) ; for speed we'll decide which xref to use "RTN","MAGGTPT1",54,0) S INDEX=$S(VAL?9N:"SSN^ACN",VAL?1U1.N:"BS5^ACN",1:"B^ACN") "RTN","MAGGTPT1",55,0) ; "RTN","MAGGTPT1",56,0) K ^TMP("DILIST",$J) "RTN","MAGGTPT1",57,0) K ^TMP("DIERR",$J) "RTN","MAGGTPT1",58,0) ; VAL is the initial value to search for. i.e. the user input. "RTN","MAGGTPT1",59,0) ; Next line is to stop the FM Infinite Error Trap problem. "RTN","MAGGTPT1",60,0) I $L(VAL)>30 S MAGRY(0)="0^Invalid: Input '"_$E(VAL,1,40)_"...' is too long. "_$L(VAL)_" characters." Q "RTN","MAGGTPT1",61,0) D FIND^DIC(FILE,IENS,FLDS,FLAGS,VAL,NUM,INDEX,SCR,IDENT,TROOT) "RTN","MAGGTPT1",62,0) ; "RTN","MAGGTPT1",63,0) ; if no Match or ERROR we return 0 as 1st '^' piece. "RTN","MAGGTPT1",64,0) ; "RTN","MAGGTPT1",65,0) I '$D(^TMP("DILIST",$J,1)) S I=1 D Q "RTN","MAGGTPT1",66,0) . I $D(^TMP("DIERR",$J)) D FINDERR(I) Q "RTN","MAGGTPT1",67,0) . S MAGRY(I)="NO MATCH for lookup on """_$P(ZY,"^",2)_"""" "RTN","MAGGTPT1",68,0) ; "RTN","MAGGTPT1",69,0) ; so we have some matches, (BUT we could still have an error) "RTN","MAGGTPT1",70,0) ; so first list all matches, then the Errors, if any. "RTN","MAGGTPT1",71,0) S I="" F S I=$O(^TMP("DILIST",$J,1,I)) Q:I="" D "RTN","MAGGTPT1",72,0) . S PNAME=^TMP("DILIST",$J,1,I) ; Name "RTN","MAGGTPT1",73,0) . S MAGDFN=+^TMP("DILIST",$J,2,I) ; DFN "RTN","MAGGTPT1",74,0) . S SEX=^TMP("DILIST",$J,"ID",I,.02) "RTN","MAGGTPT1",75,0) . S WARD=^TMP("DILIST",$J,"ID",I,.1) "RTN","MAGGTPT1",76,0) . K ^TMP("DILIST",$J,"ID",I,.1) "RTN","MAGGTPT1",77,0) . S ICN=$$GETICN^MPIF001(MAGDFN) "RTN","MAGGTPT1",78,0) . S ICN=$S(ICN'<0:ICN,1:"") "RTN","MAGGTPT1",79,0) . I RTYPE=2 D "RTN","MAGGTPT1",80,0) . . S MAGRY(I+1)=PNAME_U_$$DOB^DPTLK1(MAGDFN)_U_SEX_U_WARD_"|"_MAGDFN_U_ICN "RTN","MAGGTPT1",81,0) . I RTYPE'=2 D "RTN","MAGGTPT1",82,0) . . S X=PNAME "RTN","MAGGTPT1",83,0) . . I $E(WARD,1,$L(VAL))=VAL S X=WARD_" "_PNAME "RTN","MAGGTPT1",84,0) . . S X=X_" "_$$DOB^DPTLK1(MAGDFN)_" "_$$SSN^DPTLK1(MAGDFN) "RTN","MAGGTPT1",85,0) . . S Z=0 "RTN","MAGGTPT1",86,0) . . ; We are displaying other identifiers with each patient. "RTN","MAGGTPT1",87,0) . . F S Z=$O(^TMP("DILIST",$J,"ID",I,Z)) Q:Z="" S X=X_" "_^(Z) "RTN","MAGGTPT1",88,0) . . S MAGRY(I)=X_"^"_(+MAGDFN)_"^"_ICN ;SG "RTN","MAGGTPT1",89,0) I RTYPE=2 S MAGRY(1)="Patient Name^DOB~S1^Sex^Ward" "RTN","MAGGTPT1",90,0) ; "RTN","MAGGTPT1",91,0) I $D(^TMP("DIERR",$J)) D FINDERR() Q "RTN","MAGGTPT1",92,0) I '$D(^TMP("DILIST",$J,0)) Q "RTN","MAGGTPT1",93,0) S X=^TMP("DILIST",$J,0) "RTN","MAGGTPT1",94,0) S I=$O(MAGRY(""),-1)+1 "RTN","MAGGTPT1",95,0) S MAGRY(0)="Found "_$P(X,"^")_" entr"_$S((+X=1):"y",1:"ies")_" matching """_$P(ZY,"^",3)_"""" "RTN","MAGGTPT1",96,0) I $P(X,"^",3)>0 S MAGRY(0)=MAGRY(0)_" there are more" "RTN","MAGGTPT1",97,0) Q "RTN","MAGGTPT1",98,0) FINDERR(XI) ; "RTN","MAGGTPT1",99,0) I '+$G(XI) S XI=$O(MAGRY(""),-1)+1 "RTN","MAGGTPT1",100,0) S MAGRY(XI)="ERROR^"_^TMP("DIERR",$J,1,"TEXT",1) "RTN","MAGGTPT1",101,0) Q "RTN","MAGGTPT1",102,0) INFO(MAGRY,DATA) ;RPC [MAGG PAT INFO] Call to Return patient info. "RTN","MAGGTPT1",103,0) ; Input parameters "RTN","MAGGTPT1",104,0) ; DATA: MAGDFN ^ NOLOG ^ ISICN "RTN","MAGGTPT1",105,0) ; MAGDFN -- Patient DFN "RTN","MAGGTPT1",106,0) ; NOLOG -- 0/1; if 1, then do NOT update the Session log "RTN","MAGGTPT1",107,0) ; ISICN -- 0/1 if 1, then this is an ICN, if 0 (default) this is a DFN ; Patch 41 "RTN","MAGGTPT1",108,0) ; FLAGS -- "D" Include Deleted images "RTN","MAGGTPT1",109,0) ; MAGRY is a string, we return the following : "RTN","MAGGTPT1",110,0) ; //$P 1 2 3 4 5 6 7 8 9 10 "RTN","MAGGTPT1",111,0) ; // status ^ DFN ^ name ^ sex ^ DOB ^ SSN ^ S/C ^ TYPE ^ Veteran(y/n) ^ Patient Image Count "RTN","MAGGTPT1",112,0) ; //$P 11 12 13 "RTN","MAGGTPT1",113,0) ; ICN SITE Number ^ Production Account 1/0 "RTN","MAGGTPT1",114,0) ; VADM(1)=Patient's name "RTN","MAGGTPT1",115,0) ; VADM(5)=Patient's sex (M^MALE) "RTN","MAGGTPT1",116,0) ; VADM(3)=Patient's DOB (internal^external) "RTN","MAGGTPT1",117,0) ; VADM(2)=Patient's SSN (internal^external) "RTN","MAGGTPT1",118,0) ; VAEL(3)=Patient's Service Connected? (#.301) (1=yes) "RTN","MAGGTPT1",119,0) ; VAEL(4)=Patient's Veteran Y/N (#1901) (1=yes) "RTN","MAGGTPT1",120,0) ; VAEL(6)=Patient's Type (#391) (internal^external) "RTN","MAGGTPT1",121,0) ; "RTN","MAGGTPT1",122,0) N MAGDFN,DFN,X,NOLOG,VADM,VAEL,VAERR,ISICN,FLAGS "RTN","MAGGTPT1",123,0) S MAGDFN=$P(DATA,U),NOLOG=+$P(DATA,U,2),ISICN=+$P(DATA,U,3),FLAGS=$P(DATA,U,4) "RTN","MAGGTPT1",124,0) I ISICN D GETDFN^VAFCTFU1(.DFN,MAGDFN) "RTN","MAGGTPT1",125,0) E S DFN=+MAGDFN "RTN","MAGGTPT1",126,0) D DEM^VADPT,ELIG^VADPT "RTN","MAGGTPT1",127,0) I VAERR S MAGRY="0^"_"Entry not found in Patient file." Q "RTN","MAGGTPT1",128,0) S X=$TR($$FMTE^XLFDT($P(VADM(3),"^"),"2FD")," ",0) "RTN","MAGGTPT1",129,0) ; // status ^ DFN ^ name ^ sex ^ DOB ^ SSN ^ S/C ^ TYPE ^ Veteran(y/n) ^ Patient Image Count "RTN","MAGGTPT1",130,0) S $P(MAGRY,"^",1,2)="1^"_DFN "RTN","MAGGTPT1",131,0) ; Fields: NAME, SEX, DATE OF BIRTH, SSN "RTN","MAGGTPT1",132,0) S $P(MAGRY,"^",3,6)=$G(VADM(1))_"^"_$P(VADM(5),"^",2)_"^"_X_"^"_$P(VADM(2),"^") "RTN","MAGGTPT1",133,0) ; Fields: Service Connected?, Type, Veteran Y/N? "RTN","MAGGTPT1",134,0) S $P(MAGRY,"^",7,9)=$S(+VAEL(3):"YES",1:"")_"^"_$P(VAEL(6),"^",2)_"^"_$S(+VAEL(4):"YES",1:"") "RTN","MAGGTPT1",135,0) ; Fields: Patient Image Count "RTN","MAGGTPT1",136,0) S $P(MAGRY,"^",10)=$$IMGCT(DFN,FLAGS)_"^" "RTN","MAGGTPT1",137,0) ; Additions. for Patch 41 "RTN","MAGGTPT1",138,0) ; Fields : Patient ICN "RTN","MAGGTPT1",139,0) S $P(MAGRY,"^",11)=$$GETICN^MPIF001(DFN) "RTN","MAGGTPT1",140,0) S X=$$SITE^VASITE "RTN","MAGGTPT1",141,0) ; Fields: Site Number Prod Acct "RTN","MAGGTPT1",142,0) S $P(MAGRY,"^",12)=$P($G(X),"^",3)_"^"_"1" ; We'll default to Production Account = Yes. "RTN","MAGGTPT1",143,0) ; NEED KERNEL PATCH XU*8.0*284 FOR PROD^XUPROD "RTN","MAGGTPT1",144,0) ; Fields : the Actual value for Prod Acct "RTN","MAGGTPT1",145,0) I $L($T(PROD^XUPROD)) S $P(MAGRY,"^",13)=+$$PROD^XUPROD "RTN","MAGGTPT1",146,0) S $P(MAGRY,"^",14)="^" "RTN","MAGGTPT1",147,0) ; AGE "RTN","MAGGTPT1",148,0) S $P(MAGRY,"^",15)=VADM(4)_"^" "RTN","MAGGTPT1",149,0) D KVAR^VADPT,KVA^VADPT "RTN","MAGGTPT1",150,0) I NOLOG ; Don't update session log "RTN","MAGGTPT1",151,0) ; We'll track DFN:ICN "RTN","MAGGTPT1",152,0) E D ACTION^MAGGTAU("PAT^"_DFN_$S(ISICN:"-"_MAGDFN,1:"")) "RTN","MAGGTPT1",153,0) Q "RTN","MAGGTPT1",154,0) IMGCT(DFN,FLAGS) ; RETURN TOTAL NUMBER OF IMAGES FOR A PATIENT; "RTN","MAGGTPT1",155,0) ; FLAGS D Include deleted images (file #2005.1) "RTN","MAGGTPT1",156,0) ; "RTN","MAGGTPT1",157,0) N MAG8BOTH,MAG8ROOT,MAG8XREF,CNT "RTN","MAGGTPT1",158,0) N MAG8DT,MAG8PRX,MAG8IEN "RTN","MAGGTPT1",159,0) ; "RTN","MAGGTPT1",160,0) S CNT=0 "RTN","MAGGTPT1",161,0) S MAG8BOTH=(FLAGS["D") "RTN","MAGGTPT1",162,0) S MAG8ROOT=$NA(^MAG(2005)) "RTN","MAGGTPT1",163,0) I DFN>0 D "RTN","MAGGTPT1",164,0) . S MAG8XREF=$NA(@MAG8ROOT@("APDTPX",+DFN)) "RTN","MAGGTPT1",165,0) . ;--- "RTN","MAGGTPT1",166,0) . S (MAG8DT,MAG8PRX,MAG8IEN)="" "RTN","MAGGTPT1",167,0) . F S MAG8DT=$$MAGORD^MAGGI13($NA(@MAG8XREF@(MAG8DT)),1,MAG8BOTH) Q:MAG8DT="" D "RTN","MAGGTPT1",168,0) . . F S MAG8PRX=$$MAGORD^MAGGI13($NA(@MAG8XREF@(MAG8DT,MAG8PRX)),1,MAG8BOTH) Q:MAG8PRX="" D "RTN","MAGGTPT1",169,0) . . . F S MAG8IEN=$$MAGORD^MAGGI13($NA(@MAG8XREF@(MAG8DT,MAG8PRX,MAG8IEN)),1,MAG8BOTH) Q:MAG8IEN="" D "RTN","MAGGTPT1",170,0) . . . . I $$ISDEL^MAGGI11(MAG8IEN) S:MAG8BOTH CNT=CNT+1 Q ; Include deleted images "RTN","MAGGTPT1",171,0) . . . . S CNT=CNT+1 "RTN","MAGGTPT1",172,0) . . . . Q "RTN","MAGGTPT1",173,0) . . . Q "RTN","MAGGTPT1",174,0) . . Q "RTN","MAGGTPT1",175,0) . Q "RTN","MAGGTPT1",176,0) Q CNT "RTN","MAGGTPT1",177,0) BS5CHK(MAGRY,MAGDFN) ;RPC [MAGG PAT BS5 CHECK] "RTN","MAGGTPT1",178,0) ; Call to check the BS5 cross ref "RTN","MAGGTPT1",179,0) ; and see if any similar patients exist. "RTN","MAGGTPT1",180,0) ; If yes, all matching patients will be listed and shown to the user. "RTN","MAGGTPT1",181,0) ; "RTN","MAGGTPT1",182,0) N MAGX,MAGDPT,XDFN,XSSN,CT,LNTH "RTN","MAGGTPT1",183,0) S LNTH=0 "RTN","MAGGTPT1",184,0) S MAGRY(1)="-1^Error checking cross reference" "RTN","MAGGTPT1",185,0) D GUIBS5A^DPTLK6(.MAGRY,MAGDFN) "RTN","MAGGTPT1",186,0) I MAGRY(1)=0 Q "RTN","MAGGTPT1",187,0) S CT=$O(MAGRY(""),-1)+1 "RTN","MAGGTPT1",188,0) S MAGRY(CT)=MAGRY(CT-1),MAGRY(CT-1)="0^ " "RTN","MAGGTPT1",189,0) S I="" F S I=$O(MAGRY(I)) Q:'I D "RTN","MAGGTPT1",190,0) . I $P(MAGRY(I),U)=0 Q "RTN","MAGGTPT1",191,0) . I $L($P(MAGRY(I),U,3))>LNTH S LNTH=$L($P(MAGRY(I),U,3)) "RTN","MAGGTPT1",192,0) S LNTH=LNTH+1 "RTN","MAGGTPT1",193,0) S I=1 F S I=$O(MAGRY(I)) Q:'I D "RTN","MAGGTPT1",194,0) . I $P(MAGRY(I),U)="0" S MAGRY(I)=$P(MAGRY(I),U,2) Q "RTN","MAGGTPT1",195,0) . S XDFN=$P(MAGRY(I),U,2) "RTN","MAGGTPT1",196,0) . I +XDFN=+MAGDFN S MAGX=" >>>>>> " "RTN","MAGGTPT1",197,0) . E S MAGX=" " "RTN","MAGGTPT1",198,0) . S XSSN=$$SSN^DPTLK1(XDFN) I XSSN?9N S XSSN=$E(XSSN,1,3)_"-"_$E(XSSN,4,5)_"-"_$E(XSSN,6,9) "RTN","MAGGTPT1",199,0) . S MAGDPT=$P(MAGRY(I),U,3),$E(MAGDPT,LNTH)=" " "RTN","MAGGTPT1",200,0) . S MAGX=MAGX_MAGDPT_" "_$$DOB^DPTLK1(XDFN)_" "_XSSN "RTN","MAGGTPT1",201,0) . S MAGRY(I)=MAGX "RTN","MAGGTPT1",202,0) Q "RTN","MAGGTRA") 0^11^B12029388 "RTN","MAGGTRA",1,0) MAGGTRA ;WOIFO/GEK - RPC Call to list Patient's Rad/Nuc Exams, Reports ; [ 06/20/2001 08:57 ] "RTN","MAGGTRA",2,0) ;;3.0;IMAGING;**59,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTRA",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTRA",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTRA",5,0) ;; | Property of the US Government. | "RTN","MAGGTRA",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTRA",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTRA",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTRA",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTRA",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTRA",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTRA",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTRA",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTRA",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTRA",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTRA",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTRA",17,0) ;; "RTN","MAGGTRA",18,0) Q "RTN","MAGGTRA",19,0) LIST(MAGRY,DATA) ; "RTN","MAGGTRA",20,0) ; SOME OLD IMAGING EXECUTABLES (IMGVWP10) STILL CALL HERE "RTN","MAGGTRA",21,0) ; THIS HAS BEEN SWITCHED TO LIST^MAGGTRA1 "RTN","MAGGTRA",22,0) ; "RTN","MAGGTRA",23,0) ;MAGRY - return array of patient's exams. "RTN","MAGGTRA",24,0) ;DATA - RADFN - Radiology Patient's DFN ^RADPT( "RTN","MAGGTRA",25,0) ; "RTN","MAGGTRA",26,0) D LIST^MAGGTRA1(.MAGRY,.DATA) "RTN","MAGGTRA",27,0) Q "RTN","MAGGTRA",28,0) MAGPTR(MAGRY,XDUZ,MAGIEN,DATA) ;RPC Call to file Image pointer into Radiology "RTN","MAGGTRA",29,0) ; File and Radiology pointer into Image File. "RTN","MAGGTRA",30,0) ; "RTN","MAGGTRA",31,0) ; MAGRY is the return string = 1^success if things work okay. "RTN","MAGGTRA",32,0) ; 0^message if things not okay. "RTN","MAGGTRA",33,0) ; DATA is The data that was sent in LIST^MAGGTRA "RTN","MAGGTRA",34,0) ; it is the display data _ to ^TMP($J,"RAEX",RACNT "RTN","MAGGTRA",35,0) ; the ^TMP is setup by RAPTLU, (and MAGGTRA) in the lookup "RTN","MAGGTRA",36,0) ; of patient exams, we keep it, and send it back in case "RTN","MAGGTRA",37,0) ; we need to create a new report. "RTN","MAGGTRA",38,0) ; "RTN","MAGGTRA",39,0) ; XDUZ is not used from parameter list anymore. "RTN","MAGGTRA",40,0) ; MAGIEN is Image File IEN ^MAG(2005,IEN "RTN","MAGGTRA",41,0) ; "RTN","MAGGTRA",42,0) N Y,I,CT,MAGERR,DIQUIET "RTN","MAGGTRA",43,0) N RADFN,RADTI,RACNI,RANME,RASSN,RADATE,RADTE,RACN,RAPRC,RARPT,RAST,MAGGP "RTN","MAGGTRA",44,0) IF $$NEWERR^%ZTER N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGGTERR" "RTN","MAGGTRA",45,0) E S X="ERR^MAGGTERR",@^%ZOSF("TRAP") "RTN","MAGGTRA",46,0) S DIQUIET=1,MAGERR=0,CT=0 "RTN","MAGGTRA",47,0) D DT^DICRW "RTN","MAGGTRA",48,0) ; The list entry selected has the following data associated with it "RTN","MAGGTRA",49,0) ; it was created using parts of RAPTLU routine to list rad exams "RTN","MAGGTRA",50,0) ;^TMP($J,"RAEX",RACNT)=RADFN_"^"_RADTI_"^"_RACNI_"^"_RANME_"^"_RASSN_"^"_RADATE_"^"_RADTE_"^"_RACN_"^"_RAPRC_"^"_RARPT_"^"_RAST "RTN","MAGGTRA",51,0) ; "RTN","MAGGTRA",52,0) S DATA=$P(DATA,"^",7,99) "RTN","MAGGTRA",53,0) F I="RADFN","RADTI","RACNI","RANME","RASSN","RADATE","RADTE","RACN","RAPRC","RARPT","RAST" S CT=CT+1,@I=$P(DATA,"^",CT) "RTN","MAGGTRA",54,0) ; "RTN","MAGGTRA",55,0) ; let us check a few things first "RTN","MAGGTRA",56,0) ; Do we have a valid IMAGE IEN ^MAG(2005, "RTN","MAGGTRA",57,0) I '$D(^MAG(2005,MAGIEN,0)) S MAGRY="0^OPERATION CANCEDED: INVALID Imaging (2005) entry" Q "RTN","MAGGTRA",58,0) ; Does this Imaging entry already point to a Report. "RTN","MAGGTRA",59,0) I $D(^MAG(2005,MAGIEN,2)) S Z=^(2) D "RTN","MAGGTRA",60,0) . F I=6,7,8 S X=$P(Z,U,I) I $L(X) S MAGERR=1 Q "RTN","MAGGTRA",61,0) I MAGERR S MAGRY="0^OPERATION CANCELED: Imaging File entry already has an associated Report" Q "RTN","MAGGTRA",62,0) ; Does the Imaging entry patient, match the Rad Exam entry patient "RTN","MAGGTRA",63,0) I $P(^MAG(2005,MAGIEN,0),U,7)'=RADFN S MAGRY="0^OPERATION CANCELED: Imaging Patient doesn't match Radiology Patient" Q "RTN","MAGGTRA",64,0) I RARPT,'$D(^RARPT(RARPT,0)) S MAGRY="0^OPERATION CANCELED: INVALID Radiology Report Number" Q "RTN","MAGGTRA",65,0) ; pre 117 only accounted for RARPT="" ...CREATE^RARIC I '$G(RARPT) S MAGRY=... "RTN","MAGGTRA",66,0) ; patch 117 account for a possible negative RARPT after call to CREATE. Radiology routine changed "RTN","MAGGTRA",67,0) I '$G(RARPT) D CREATE^RARIC I +$G(RARPT)<1 S MAGRY="0^OPERATION FAILED creating new Radiology Report entry" Q "RTN","MAGGTRA",68,0) ; Now lets file the Image pointer in the ^RARPT( file. "RTN","MAGGTRA",69,0) S MAGGP=MAGIEN "RTN","MAGGTRA",70,0) D PTR^RARIC "RTN","MAGGTRA",71,0) I Y<1 S MAGRY="0^OPERATION FAILED Creating Image pointer in Report File" Q "RTN","MAGGTRA",72,0) ; Now SET the Parent fields in the Image File "RTN","MAGGTRA",73,0) S $P(^MAG(2005,MAGIEN,2),U,6,8)=74_U_RARPT_U_+Y "RTN","MAGGTRA",74,0) ; DONE. "RTN","MAGGTRA",75,0) S MAGRY="1^Image pointer filed successfully" "RTN","MAGGTRA",76,0) D LINKDT^MAGGTU6(.X,MAGIEN) "RTN","MAGGTRA",77,0) Q "RTN","MAGGTSY2") 0^12^B6386006 "RTN","MAGGTSY2",1,0) MAGGTSY2 ;WOIFO/GEK/NST - Calls from Imaging windows for System Manager ; 22 Dec 2010 10:50 AM "RTN","MAGGTSY2",2,0) ;;3.0;IMAGING;**59,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTSY2",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTSY2",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTSY2",5,0) ;; | Property of the US Government. | "RTN","MAGGTSY2",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTSY2",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTSY2",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTSY2",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTSY2",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTSY2",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTSY2",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTSY2",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTSY2",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTSY2",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTSY2",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTSY2",17,0) ;; "RTN","MAGGTSY2",18,0) Q "RTN","MAGGTSY2",19,0) MAG(MAGRY,NODE) ;RPC Call to show node of Image File "RTN","MAGGTSY2",20,0) ; NODE is the IEN of Image File : ^MAG(2005,NODE "RTN","MAGGTSY2",21,0) N I,CT,X,TNODE,MAGFILE "RTN","MAGGTSY2",22,0) S MAGRY=$NA(^TMP("MAGNODE",$J)) "RTN","MAGGTSY2",23,0) S NODE=$G(NODE) "RTN","MAGGTSY2",24,0) K @MAGRY "RTN","MAGGTSY2",25,0) S @MAGRY@(0)="Display NODE: "_$S($L(NODE):NODE,1:"LAST") "RTN","MAGGTSY2",26,0) S I=0,CT=0 "RTN","MAGGTSY2",27,0) I $E(NODE)="^" G OTH "RTN","MAGGTSY2",28,0) I 'NODE S NODE=$P(^MAG(2005,0),U,3) "RTN","MAGGTSY2",29,0) S MAGFILE=$$FILE^MAGGI11(NODE) "RTN","MAGGTSY2",30,0) I MAGFILE'>0 Q ; problem getting file number "RTN","MAGGTSY2",31,0) S I="^MAG(MAGFILE,"_NODE_","""")" "RTN","MAGGTSY2",32,0) F S X=$Q(@I) S I=X Q:$P(X,",",2)'=NODE D "RTN","MAGGTSY2",33,0) . S CT=CT+1,@MAGRY@(CT)=X_" "_@X "RTN","MAGGTSY2",34,0) . Q "RTN","MAGGTSY2",35,0) I $P($G(^MAG(MAGFILE,NODE,2)),"^",6)="8925" D "RTN","MAGGTSY2",36,0) . S CT=CT+1,@MAGRY@(CT)=" ******* TIU ******* " "RTN","MAGGTSY2",37,0) . S TNODE=$P(^MAG(MAGFILE,NODE,2),"^",7) "RTN","MAGGTSY2",38,0) . S I="^TIU(8925,"_TNODE_","""")" "RTN","MAGGTSY2",39,0) . F S X=$Q(@I) S I=X Q:$P(X,",",2)'=TNODE D "RTN","MAGGTSY2",40,0) . . S CT=CT+1,@MAGRY@(CT)=X_" "_@X "RTN","MAGGTSY2",41,0) . . Q "RTN","MAGGTSY2",42,0) Q "RTN","MAGGTSY2",43,0) OTH ; "RTN","MAGGTSY2",44,0) N OTHDA "RTN","MAGGTSY2",45,0) S OTHDA=$P(NODE,",",2) "RTN","MAGGTSY2",46,0) I OTHDA=0 S NODE=NODE_")" Q:'$D(@NODE) S CT=$O(@MAGRY@(""),-1)+1,@MAGRY@(CT)=$G(@(NODE)) Q "RTN","MAGGTSY2",47,0) S I=NODE_","""")" "RTN","MAGGTSY2",48,0) F S X=$Q(@I) S I=X Q:$P(X,",",2)'=OTHDA D "RTN","MAGGTSY2",49,0) . S CT=$O(@MAGRY@(""),-1)+1,@MAGRY@(CT)=X_" "_@X "RTN","MAGGTSY2",50,0) . Q "RTN","MAGGTSY2",51,0) Q "RTN","MAGGTSYS") 0^13^B12933916 "RTN","MAGGTSYS",1,0) MAGGTSYS ;WOIFO/GEK/NST - Calls from Imaging windows for System Manager ; 22 Dec 2010 10:51 AM "RTN","MAGGTSYS",2,0) ;;3.0;IMAGING;**59,93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTSYS",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTSYS",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTSYS",5,0) ;; | Property of the US Government. | "RTN","MAGGTSYS",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTSYS",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTSYS",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTSYS",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTSYS",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTSYS",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTSYS",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTSYS",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTSYS",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTSYS",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTSYS",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTSYS",17,0) ;; "RTN","MAGGTSYS",18,0) Q "RTN","MAGGTSYS",19,0) GETS(MAGRY,NODE,FLAGS) ; USE GETS^DIQ TO GET FIELD VALUES. "RTN","MAGGTSYS",20,0) N MAGWIN,I,CT,Y,NC,MAGOUT,MAGERR,TNC,ZZ,MAGIEN,MAGFILE "RTN","MAGGTSYS",21,0) S MAGRY=$NA(^TMP("MAGNODE",$J)) "RTN","MAGGTSYS",22,0) S NODE=+$G(NODE) "RTN","MAGGTSYS",23,0) I 'NODE S NODE=$P(^MAG(2005,0),U,3) "RTN","MAGGTSYS",24,0) S MAGIEN=NODE "RTN","MAGGTSYS",25,0) S MAGWIN=$$BROKER^XWBLIB "RTN","MAGGTSYS",26,0) I 'MAGWIN W !,"MAGIEN"," ",MAGIEN "RTN","MAGGTSYS",27,0) S MAGFILE=$$FILE^MAGGI11(NODE) "RTN","MAGGTSYS",28,0) K @MAGRY "RTN","MAGGTSYS",29,0) S @MAGRY@(0)="****** Fields for "_$S(MAGFILE=2005.1:"DELETED ",1:"")_"Image IEN: "_MAGIEN_" ******" "RTN","MAGGTSYS",30,0) S I=0,CT=0 "RTN","MAGGTSYS",31,0) S FLAGS=$S($L($G(FLAGS)):FLAGS,1:"IERN") "RTN","MAGGTSYS",32,0) I MAGFILE'>0 Q ; problem getting file number "RTN","MAGGTSYS",33,0) D GETS^DIQ(MAGFILE,MAGIEN,"*",FLAGS,"MAGOUT","MAGERR") "RTN","MAGGTSYS",34,0) ;D GETS^DIQ(MAGFILE,MAGIEN,".01;1;2;2.1;2.2;3;5;6;12","R","MAGOUT","MAGERR") "RTN","MAGGTSYS",35,0) S NC=MAGIEN_"," "RTN","MAGGTSYS",36,0) S I="" F S I=$O(MAGOUT(MAGFILE,NC,I)) Q:I="" D "RTN","MAGGTSYS",37,0) . S CT=CT+1 "RTN","MAGGTSYS",38,0) . I $G(MAGOUT(MAGFILE,NC,I,"I"))=$G(MAGOUT(MAGFILE,NC,I,"E")) D Q "RTN","MAGGTSYS",39,0) . . S ZZ=I,$E(ZZ,45,999)=" = "_$G(MAGOUT(MAGFILE,NC,I,"E")) "RTN","MAGGTSYS",40,0) . . S @MAGRY@(CT)=ZZ "RTN","MAGGTSYS",41,0) . . ;S @MAGRY@(CT)=I_" = "_MAGOUT(MAGFILE,NC,I,"E") Q "RTN","MAGGTSYS",42,0) . . Q "RTN","MAGGTSYS",43,0) . ; "RTN","MAGGTSYS",44,0) . S ZZ=I,$E(ZZ,25,999)=" = ("_$G(MAGOUT(MAGFILE,NC,I,"I"))_") " "RTN","MAGGTSYS",45,0) . I ($L(ZZ)>44) S ZZ=ZZ_" = "_$G(MAGOUT(MAGFILE,NC,I,"E")) S @MAGRY@(CT)=ZZ Q "RTN","MAGGTSYS",46,0) . I ($L(ZZ)<45) S $E(ZZ,45,999)=" = "_$G(MAGOUT(MAGFILE,NC,I,"E")) S @MAGRY@(CT)=ZZ Q "RTN","MAGGTSYS",47,0) . ;S @MAGRY@(CT)=I_" = ("_$G(MAGOUT(MAGFILE,NC,I,"I"))_") = "_$G(MAGOUT(MAGFILE,NC,I,"E")) "RTN","MAGGTSYS",48,0) . Q "RTN","MAGGTSYS",49,0) I $P($G(^MAG(MAGFILE,MAGIEN,2)),"^",6)=8925 D "RTN","MAGGTSYS",50,0) . K MAGOUT,MAGERR "RTN","MAGGTSYS",51,0) . S CT=CT+1,@MAGRY@(CT)=" *************** TIU *************** " "RTN","MAGGTSYS",52,0) . S CT=CT+1,@MAGRY@(CT)=" **** Field Values for TIUDA: "_$P(^MAG(MAGFILE,MAGIEN,2),"^",7)_" ****" "RTN","MAGGTSYS",53,0) . D GETS^DIQ(8925,$P(^MAG(MAGFILE,MAGIEN,2),"^",7),"*",FLAGS,"MAGOUT","MAGERR") "RTN","MAGGTSYS",54,0) . S NC=$P(^MAG(MAGFILE,MAGIEN,2),"^",7)_"," "RTN","MAGGTSYS",55,0) . S I="" F S I=$O(MAGOUT(8925,NC,I)) Q:I="" D "RTN","MAGGTSYS",56,0) . . S CT=CT+1 "RTN","MAGGTSYS",57,0) . . I $G(MAGOUT(8925,NC,I,"I"))=$G(MAGOUT(8925,NC,I,"E")) D Q "RTN","MAGGTSYS",58,0) . . . S ZZ=I,$E(ZZ,45,999)=" = "_$G(MAGOUT(8925,NC,I,"E")) "RTN","MAGGTSYS",59,0) . . . S @MAGRY@(CT)=ZZ "RTN","MAGGTSYS",60,0) . . . ;S @MAGRY@(CT)=I_" = "_MAGOUT(MAGFILE,NC,I,"E") Q "RTN","MAGGTSYS",61,0) . . . Q "RTN","MAGGTSYS",62,0) . . ; "RTN","MAGGTSYS",63,0) . . S ZZ=I,$E(ZZ,25,999)=" = ("_$G(MAGOUT(8925,NC,I,"I"))_") " "RTN","MAGGTSYS",64,0) . . I ($L(ZZ)>44) S ZZ=ZZ_" = "_$G(MAGOUT(8925,NC,I,"E")) S @MAGRY@(CT)=ZZ Q "RTN","MAGGTSYS",65,0) . . I ($L(ZZ)<45) S $E(ZZ,45,999)=" = "_$G(MAGOUT(8925,NC,I,"E")) S @MAGRY@(CT)=ZZ Q "RTN","MAGGTSYS",66,0) . . ;S @MAGRY@(CT)=I_" = ("_$G(MAGOUT(MAGFILE,NC,I,"I"))_") = "_$G(MAGOUT(MAGFILE,NC,I,"E")) "RTN","MAGGTSYS",67,0) . . Q "RTN","MAGGTSYS",68,0) . Q "RTN","MAGGTSYS",69,0) Q "RTN","MAGGTU3") 0^14^B33436210 "RTN","MAGGTU3",1,0) MAGGTU3 ;WOIFO/GEK/SG/NST - Silent calls for Imaging ; 21 Sep 2010 8:56 AM "RTN","MAGGTU3",2,0) ;;3.0;IMAGING;**7,8,48,45,20,46,59,93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU3",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU3",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU3",5,0) ;; | Property of the US Government. | "RTN","MAGGTU3",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU3",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU3",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU3",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU3",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU3",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU3",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU3",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU3",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU3",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU3",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU3",17,0) ;; "RTN","MAGGTU3",18,0) Q "RTN","MAGGTU3",19,0) IMAGEINF(MAGRY,IEN,NOCHK) ;RPC [MAGG IMAGE INFO] Call to return information for 1 image; "RTN","MAGGTU3",20,0) ; IEN = Image IEN ^MAG(2005,IEN "RTN","MAGGTU3",21,0) ; NOCHK = 1|"" if 1 then do not run QA check on this image. "RTN","MAGGTU3",22,0) ; "RTN","MAGGTU3",23,0) N ERR,MAGFILE,Y,Z,MAGNOCHK "RTN","MAGGTU3",24,0) ;--- Check if the image is deleted "RTN","MAGGTU3",25,0) I $$ISDEL^MAGGI11(IEN,.ERR) D Q "RTN","MAGGTU3",26,0) . S Y=$$NODE^MAGGI11(IEN) S:Y'="" Y=$G(@Y@(2)) "RTN","MAGGTU3",27,0) . S MAGRY(0)="0^Image : """_$P(Y,U,4)_""" has been deleted." "RTN","MAGGTU3",28,0) . Q "RTN","MAGGTU3",29,0) ;--- Check for errors. Ignore the problem if there are 2 records "RTN","MAGGTU3",30,0) ; with the same IEN in files #2005 and #2005.1. After the file "RTN","MAGGTU3",31,0) ;--- #2005.1 is completeley eliminated, ",+ERR'=-43" can be deleted. "RTN","MAGGTU3",32,0) I ERR<0,+ERR'=-43 S MAGRY(0)="0^INVALID Image number "_IEN Q "RTN","MAGGTU3",33,0) ;--- MAGGTII queries the variable MAGNOCHK to run QA check or not. "RTN","MAGGTU3",34,0) S MAGNOCHK=+$G(NOCHK) "RTN","MAGGTU3",35,0) S MAGFILE=$$INFO^MAGGAII(IEN,"E") "RTN","MAGGTU3",36,0) S Z=$P(^MAG(2005,IEN,0),U,7) "RTN","MAGGTU3",37,0) I '$D(^DPT(Z)) S Z="1^Invalid patient pointer" "RTN","MAGGTU3",38,0) E S Z=Z_U_$P(^DPT(Z,0),U) "RTN","MAGGTU3",39,0) S MAGRY(0)="1^"_MAGFILE "RTN","MAGGTU3",40,0) S MAGRY(1)=Z ; dfn^name "RTN","MAGGTU3",41,0) Q "RTN","MAGGTU3",42,0) USERINF2(MAGRY,MAGWRKID) ;RPC [MAGGUSER2] Return user info. "RTN","MAGGTU3",43,0) ; MAGRY(1) = DUZ ^ FULL NAME ^ INITIALS "RTN","MAGGTU3",44,0) ; MAGRY(2) = Network UserName ^ PassWord. "RTN","MAGGTU3",45,0) ; MAGRY(3) = MUSE Site number. ( default = 1) "RTN","MAGGTU3",46,0) ; Node 4 is data from IMAGING SITE PARAMATERS File #2006.1 and INSTITUTION File #4 "RTN","MAGGTU3",47,0) ; MAGRY(4)= PLACE IEN ^ SITE CODE ^ DUZ(2) ^ INSTITUTION NAME (.01) ^ $$CONSOLID ^ User's local STATION NUMBER (99) "RTN","MAGGTU3",48,0) ; MAGRY(5) = +|0 ^ Version of CP installed on Server "RTN","MAGGTU3",49,0) ; MAGRY(6) = Warning message if we can't resolve which Site Parameter entry to use. "RTN","MAGGTU3",50,0) ; MAGRY(7) = Warning message "RTN","MAGGTU3",51,0) ; MAGRY(8) = 1|0 1 = Production account 0 = Test Account (or couldn't determine) ;Patch 41 "RTN","MAGGTU3",52,0) ; MAGRY(9) = Vista Site Service PHYSICAL REFERENCE from Network Location File. "RTN","MAGGTU3",53,0) ; MAGRY(10)=Domain Name "RTN","MAGGTU3",54,0) ; MAGRY(11)=Primary Division IEN "RTN","MAGGTU3",55,0) ; MAGRY(12)=Primary Division STATION NUMBER "RTN","MAGGTU3",56,0) ; "RTN","MAGGTU3",57,0) N J,K,Y,MAGPLC,MAGWARN,MAGWARN1,VSRV,PHYREF,X ; DBI - SEB 9/20/2002 "RTN","MAGGTU3",58,0) S MAGPLC=0 "RTN","MAGGTU3",59,0) I $D(DUZ(2)) S MAGPLC=+$$PLACE^MAGBAPI(DUZ(2)) ; DBI - SEB 9/20/2002 "RTN","MAGGTU3",60,0) ; "RTN","MAGGTU3",61,0) ; SET THE PARTITION VARIABLE MAGSYS i.e.'IGK_Garrett's Desk' "RTN","MAGGTU3",62,0) S MAGSYS=$G(MAGWRKID,"") "RTN","MAGGTU3",63,0) I +$G(DUZ)=0 S MAGRY(0)="0^DUZ Undefined, Null or Zero" Q "RTN","MAGGTU3",64,0) I 'MAGPLC D "RTN","MAGGTU3",65,0) . S MAGWARN="Can't resolve Site Param, DUZ(2): "_$S($D(DUZ(2)):DUZ(2),1:"NULL")_" DUZ: "_DUZ "RTN","MAGGTU3",66,0) . S MAGPLC=$$DUZ2PLC^MAGBAPIP(.MAGWARN1) ; DBI - SEB 9/20/2002 "RTN","MAGGTU3",67,0) . Q "RTN","MAGGTU3",68,0) S MAGRY(0)="1^" "RTN","MAGGTU3",69,0) ; DUZ FULL NAME INITIALS "RTN","MAGGTU3",70,0) S MAGRY(1)=DUZ_U_$$GET1^DIQ(200,DUZ_",",.01)_U_$$GET1^DIQ(200,DUZ_",",1) "RTN","MAGGTU3",71,0) ; NOW NET STUFF "RTN","MAGGTU3",72,0) I 'MAGPLC Q "RTN","MAGGTU3",73,0) ; From IMAGING SITE PARAMETERS File "RTN","MAGGTU3",74,0) ; get the Network UserName and PassWord. "RTN","MAGGTU3",75,0) S MAGRY(2)=$P($G(^MAG(2006.1,MAGPLC,"NET")),U,1,2) "RTN","MAGGTU3",76,0) ; get the default MUSE Site number. "RTN","MAGGTU3",77,0) S MAGRY(3)=+$P($G(^MAG(2006.1,MAGPLC,"USERPREF")),U,2) "RTN","MAGGTU3",78,0) ; default to 1 if nothing is entered in Site Parameters File "RTN","MAGGTU3",79,0) I MAGRY(3)=0 S MAGRY(3)=1 "RTN","MAGGTU3",80,0) ; This SITEIEN^SITECODE^USER INSTITUTION IEN^INSTITUTION NAME^CONSOLIDATED^User's local STATION NUMBER "RTN","MAGGTU3",81,0) ; is used by Display to determine location of Workstation "RTN","MAGGTU3",82,0) ; and used by Capture to determine the Write Location. "RTN","MAGGTU3",83,0) S MAGRY(4)=MAGPLC_U_$$GET1^DIQ(2006.1,MAGPLC,.09)_U_$G(DUZ(2))_U_$$GET1^DIQ(2006.1,MAGPLC,.01,"E") "RTN","MAGGTU3",84,0) S MAGJOB("PLC")=MAGPLC "RTN","MAGGTU3",85,0) S MAGJOB("PLCODE")=$$GET1^DIQ(2006.1,MAGPLC,.09) "RTN","MAGGTU3",86,0) S MAGRY(4)=MAGRY(4)_U_$$CONSOLID^MAGBAPI_U_$$GET1^DIQ(4,DUZ(2),99,"E") "RTN","MAGGTU3",87,0) ; is CP not installed at this site, the Client will hide options "RTN","MAGGTU3",88,0) ; related to CP. "RTN","MAGGTU3",89,0) S X=$$VERSION^XPDUTL("CLINICAL PROCEDURES") "RTN","MAGGTU3",90,0) S MAGRY(5)=+X_U_X "RTN","MAGGTU3",91,0) S MAGRY(6)=$G(MAGWARN) "RTN","MAGGTU3",92,0) S MAGRY(7)=$G(MAGWARN1) "RTN","MAGGTU3",93,0) S MAGRY(8)=$S($L($T(PROD^XUPROD)):+$$PROD^XUPROD,1:0) "RTN","MAGGTU3",94,0) S VSRV=$P($G(^MAG(2006.1,MAGPLC,"NET")),"^",5) "RTN","MAGGTU3",95,0) I VSRV I +$P($G(^MAG(2005.2,VSRV,0)),"^",6) S PHYREF=$P($G(^MAG(2005.2,VSRV,0)),"^",2) "RTN","MAGGTU3",96,0) S MAGRY(9)=$G(PHYREF) "RTN","MAGGTU3",97,0) S MAGRY(10)=$$KSP^XUPARAM("WHERE") "RTN","MAGGTU3",98,0) S MAGRY(11)=$P($$SITE^VASITE(),"^") "RTN","MAGGTU3",99,0) S MAGRY(12)=$P($$SITE^VASITE(),"^",3) "RTN","MAGGTU3",100,0) Q "RTN","MAGGTU3",101,0) ; "RTN","MAGGTU3",102,0) CATEGORY(MAGRY) ; RPC [MAGGDESCCAT] Call to return Mag Descriptive Categories in array "RTN","MAGGTU3",103,0) ; for listing in a list box. "RTN","MAGGTU3",104,0) N I,K,CT,Y "RTN","MAGGTU3",105,0) S I=0,CT=0 "RTN","MAGGTU3",106,0) I '$D(^MAG(2005.81)) D Q "RTN","MAGGTU3",107,0) . S MAGRY(0)="0^ERROR Mag Descriptive Category File doesn't exist" "RTN","MAGGTU3",108,0) F S I=$O(^MAG(2005.81,"B",I)) Q:I="" D "RTN","MAGGTU3",109,0) . ;Next line adds ADMIN, CLIN 3rd piece of the data returned "RTN","MAGGTU3",110,0) . S K=$O(^MAG(2005.81,"B",I,"")),CT=CT+1 "RTN","MAGGTU3",111,0) . S MAGRY(CT)=I_U_K_U_$P(^MAG(2005.81,K,0),U,2) "RTN","MAGGTU3",112,0) S MAGRY(0)=CT_"^Categories on file" "RTN","MAGGTU3",113,0) Q "RTN","MAGGTU3",114,0) USERKEYS(MAGKEY) ; RPC [MAGGUSERKEYS] "RTN","MAGGTU3",115,0) ; Call to return an array of IMAGING Security Keys "RTN","MAGGTU3",116,0) D USERKEYS^MAGGTU31(.MAGKEY) "RTN","MAGGTU3",117,0) Q "RTN","MAGGTU3",118,0) MAIL(MAGRY,MAGFILE,MAGIEN) ;RPC [MAGG OFFLINE IMAGE ACCESSED] "RTN","MAGGTU3",119,0) ; Called to log an Offline Image accessed. "RTN","MAGGTU3",120,0) ; ^MAGQUEUE(2006.033,0) = OFFLINE IMAGES "RTN","MAGGTU3",121,0) ; User must edit 2006.033 by hand to mark images as OFFLINE. "RTN","MAGGTU3",122,0) ; "RTN","MAGGTU3",123,0) N FILEREF,PLATTER,A "RTN","MAGGTU3",124,0) S MAGRY="0^Error : logging access to Off-Line Image" "RTN","MAGGTU3",125,0) N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGGTERR" "RTN","MAGGTU3",126,0) S FILEREF=$$UP^XLFSTR($P(MAGFILE,"\",$L(MAGFILE,"\"))) "RTN","MAGGTU3",127,0) S PLATTER=$O(^MAGQUEUE(2006.033,"B",FILEREF,"")) "RTN","MAGGTU3",128,0) S PLATTER=$P(^MAGQUEUE(2006.033,PLATTER,0),U,2) "RTN","MAGGTU3",129,0) I MAGFILE[".ABS" Q "RTN","MAGGTU3",130,0) N XMDUZ,XMSUB,XMTEXT,XMY "RTN","MAGGTU3",131,0) S XMDUZ=$S($D(DUZ):DUZ,1:.5) "RTN","MAGGTU3",132,0) S XMSUB="Offline Image Request" "RTN","MAGGTU3",133,0) S XMTEXT="A(" "RTN","MAGGTU3",134,0) S A(1)="Patient : "_$P(^DPT($P($G(^MAG(2005,+MAGIEN,0)),U,7),0),U,1) "RTN","MAGGTU3",135,0) S A(2)="FileName : "_MAGFILE_" "_MAGIEN "RTN","MAGGTU3",136,0) S A(3)="Desc : "_$P($G(^MAG(2005,MAGIEN,2)),U,4) "RTN","MAGGTU3",137,0) S A(4)="Procedure : "_$P($G(^MAG(2005,MAGIEN,0)),U,8) "RTN","MAGGTU3",138,0) S A(5)="Platter : "_PLATTER "RTN","MAGGTU3",139,0) S A(6)="User : "_$$GET1^DIQ(200,DUZ_",",.01)_"("_$G(DUZ)_")" "RTN","MAGGTU3",140,0) S XMY("G.OFFLINE IMAGE TRACKERS")="" D ^XMD "RTN","MAGGTU3",141,0) S MAGRY="1^Message sent : Offline Image Accessed" "RTN","MAGGTU3",142,0) Q "RTN","MAGGTU3",143,0) LOGERROR(MAGRY,TEXT) ;RPC [MAGG LOG ERROR TEXT] "RTN","MAGGTU3",144,0) ; Call to stuff error information from Delphi app into the Session file. "RTN","MAGGTU3",145,0) Q:($P($G(MAGJOB("VERSION")),".",1,2))<"3.0" "RTN","MAGGTU3",146,0) D LOGERR^MAGGTERR("---- New Error ----") "RTN","MAGGTU3",147,0) S I="" F S I=$O(TEXT(I)) Q:I="" D LOGERR^MAGGTERR(TEXT(I)) "RTN","MAGGTU3",148,0) S MAGRY="1^Error text saved to Session file" "RTN","MAGGTU3",149,0) Q "RTN","MAGGTU3",150,0) RSLVABS(MAGIEN,FILENAME) ;Resolve Abstract into the Default Bitmap "RTN","MAGGTU3",151,0) ; Return the default bitmap, If the image file extension resolves into a default bitmap "RTN","MAGGTU3",152,0) ; MAGIEN : Image internal entry number "RTN","MAGGTU3",153,0) ; FILENAME : "" or Relative Path and Default Bitmap. ie ('.\BMP\magavi.bmp') "RTN","MAGGTU3",154,0) N FTIEN,EXT ; "RTN","MAGGTU3",155,0) S FILENAME="" "RTN","MAGGTU3",156,0) I '$D(^MAG(2005.021)) Q ; IMAGE FILE TYPES doesn't exist on this system. "RTN","MAGGTU3",157,0) S EXT=$P($P(^MAG(2005,MAGIEN,0),"^",2),".",2) ; image file extension JPG, TGA, etc. "RTN","MAGGTU3",158,0) Q:EXT="" ; "RTN","MAGGTU3",159,0) S FTIEN=$O(^MAG(2005.021,"B",EXT,"")) "RTN","MAGGTU3",160,0) Q:'FTIEN ; No extension in IMAGE FILE TYPES file. "RTN","MAGGTU3",161,0) ; stop dependency on "c:\program files" "RTN","MAGGTU3",162,0) I '+$P(^MAG(2005.021,FTIEN,0),"^",5) S FILENAME=".\BMP\"_$P(^MAG(2005.021,FTIEN,0),"^",4) "RTN","MAGGTU3",163,0) Q "RTN","MAGGTU31") 0^15^B50418193 "RTN","MAGGTU31",1,0) MAGGTU31 ;WOIFO/GEK/SG/NST - Silent calls for Imaging ; 04 Nov 2010 10:55 AM "RTN","MAGGTU31",2,0) ;;3.0;IMAGING;**46,59,93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU31",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU31",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU31",5,0) ;; | Property of the US Government. | "RTN","MAGGTU31",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU31",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU31",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU31",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU31",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU31",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU31",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU31",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU31",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU31",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU31",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU31",17,0) ;; "RTN","MAGGTU31",18,0) Q "RTN","MAGGTU31",19,0) ATTSTAT(IEN) ; Return a sentence saying if the Image was attached "RTN","MAGGTU31",20,0) ; to the TIU NOte before or after the Note was signed. "RTN","MAGGTU31",21,0) ; was signed. "RTN","MAGGTU31",22,0) N SIGNDT,NOTE,MARR,AMMEND,N2,MAGDT,NC,CLOSDT,X "RTN","MAGGTU31",23,0) S N2=$G(^MAG(2005,IEN,2)) "RTN","MAGGTU31",24,0) I $P(N2,"^",6)'=8925 Q "" "RTN","MAGGTU31",25,0) S MAGDT=$S($P(N2,"^",11):$P(N2,"^",11),1:$P(N2,"^",1)) "RTN","MAGGTU31",26,0) S NOTE=$P(N2,"^",7) "RTN","MAGGTU31",27,0) S NC=NOTE_"," "RTN","MAGGTU31",28,0) D GETS^DIQ(8925,NOTE,".01;.06;1501;1606","I","MARR") "RTN","MAGGTU31",29,0) I $D(DIERR) Q "Error: Note-"_NOTE_" : "_$G(^TMP("DIERR",$J,1,"TEXT",1)) "RTN","MAGGTU31",30,0) I (MARR(8925,NC,".01","I")=81)!(MARR(8925,NC,".06","I")>0) Q "Image is attached to an Addendum" "RTN","MAGGTU31",31,0) S SIGNDT=MARR(8925,NC,"1501","I") "RTN","MAGGTU31",32,0) S CLOSDT=MARR(8925,NC,"1606","I") "RTN","MAGGTU31",33,0) I CLOSDT]"" D Q X "RTN","MAGGTU31",34,0) . I $P(CLOSDT,".",2)="" S MAGDT=$P(MAGDT,".",1) I MAGDT=CLOSDT S X="Image was attached Same Day as Note was Electronically Filed." Q "RTN","MAGGTU31",35,0) . I MAGDT>CLOSDT S X="Image was attached After Note was Electronically Filed." Q "RTN","MAGGTU31",36,0) . S X="Image was attached Before Note was Electronically Filed." Q "RTN","MAGGTU31",37,0) . Q "RTN","MAGGTU31",38,0) I SIGNDT="" Q "Image is attached to an UnSigned Note." "RTN","MAGGTU31",39,0) I $P(SIGNDT,".",2)="" S MAGDT=$P(MAGDT,".",1) I MAGDT=SIGNDT Q "Image was attached Same Day as Note was Signed." "RTN","MAGGTU31",40,0) I MAGDT>SIGNDT Q "Image was attached After the Note was Signed." "RTN","MAGGTU31",41,0) Q "Image was attached Before the Note was Signed." "RTN","MAGGTU31",42,0) USERKEYS(MAGK) ; RPC [MAGGUSERKEYS] (called from MAGGTU3) "RTN","MAGGTU31",43,0) N Y "RTN","MAGGTU31",44,0) N MAGKS ; list of keys to send to XUS KEY CHECK "RTN","MAGGTU31",45,0) N MAGKG ; list returned from XUS KEY CHECK "RTN","MAGGTU31",46,0) N I,J,MAGMED,MAGKEY,MAGPLC "RTN","MAGGTU31",47,0) K MAGK "RTN","MAGGTU31",48,0) S MAGPLC=+$$PLACE^MAGBAPI(DUZ(2)) ; DBI - SEB 9/20/2002 "RTN","MAGGTU31",49,0) S MAGKEY=+$P($G(^MAG(2006.1,MAGPLC,"KEYS")),U) "RTN","MAGGTU31",50,0) I 'MAGKEY S MAGK(0)="CAPTURE KEYS OFF" "RTN","MAGGTU31",51,0) E S MAGK(0)="CAPTURE KEYS ON" "RTN","MAGGTU31",52,0) N X S X="MAG",I=0 "RTN","MAGGTU31",53,0) F S X=$O(^XUSEC(X)) Q:$E(X,1,3)'="MAG" D "RTN","MAGGTU31",54,0) . S I=I+1,MAGKS(I)=X "RTN","MAGGTU31",55,0) D OWNSKEY^XUSRB(.MAGKG,.MAGKS) "RTN","MAGGTU31",56,0) S I=0,J=0,MAGMED=0 "RTN","MAGGTU31",57,0) F S I=$O(MAGKG(I)) Q:I="" D "RTN","MAGGTU31",58,0) . Q:MAGKG(I)=0 "RTN","MAGGTU31",59,0) . S J=J+1,MAGK(J)=MAGKS(I) "RTN","MAGGTU31",60,0) . I MAGKS(I)["MAGCAP MED" S MAGMED=1 "RTN","MAGGTU31",61,0) I MAGMED S J=J+1,MAGK(J)="MAGCAP MED" "RTN","MAGGTU31",62,0) Q "RTN","MAGGTU31",63,0) GETINFO(MAGRY,IEN,MAGFLAGS) ; RPC [MAG4 GET IMAGE INFO] "RTN","MAGGTU31",64,0) ; MAGFLAGS Flags that control the execution (can be combined): "RTN","MAGGTU31",65,0) ; D Deleted Image Information is relevant "RTN","MAGGTU31",66,0) ; "RTN","MAGGTU31",67,0) ; Call (3.0p8) to get information on 1 image "RTN","MAGGTU31",68,0) ; and Display in the Image Information Window "RTN","MAGGTU31",69,0) N Y,J,JI,I,CT,IENC,FLAGS,SNGRP,Z,M40,T,QACHK,OBJTYP,VAL,LBL,MAGFILE,MAGISDEL "RTN","MAGGTU31",70,0) S MAGFLAGS=$G(MAGFLAGS) "RTN","MAGGTU31",71,0) S I=0,CT=0 "RTN","MAGGTU31",72,0) S MAGRY(CT)=$S($$ISGRP^MAGGI11(IEN):"Group ID#: "_IEN,1:"Image ID#: "_IEN) "RTN","MAGGTU31",73,0) S MAGFILE=2005 "RTN","MAGGTU31",74,0) S MAGISDEL=$$ISDEL^MAGGI11(IEN) "RTN","MAGGTU31",75,0) I MAGISDEL D "RTN","MAGGTU31",76,0) . S MAGFILE=$$FILE^MAGGI11(IEN) S:MAGFILE'>0 MAGFILE=2005 "RTN","MAGGTU31",77,0) . S CT=CT+1,MAGRY(CT)="Deleted By: "_$$GET1^DIQ(MAGFILE,IEN,30,"E") "RTN","MAGGTU31",78,0) . S CT=CT+1,MAGRY(CT)="Deleted Reason:"_$$GET1^DIQ(MAGFILE,IEN,30.2,"E") "RTN","MAGGTU31",79,0) . S CT=CT+1,MAGRY(CT)="Deleted Date: "_$$GET1^DIQ(MAGFILE,IEN,30.1,"E") "RTN","MAGGTU31",80,0) . Q "RTN","MAGGTU31",81,0) S M40=$G(^MAG(MAGFILE,IEN,40)),T=$P(M40,"^",3) "RTN","MAGGTU31",82,0) S Z=$P($G(^MAG(MAGFILE,IEN,0)),"^",10) ; Get the parent IEN "RTN","MAGGTU31",83,0) I Z D "RTN","MAGGTU31",84,0) . S CT=CT+1,MAGRY(CT)=" is in Group#: "_Z_" ("_$$CNTIMGS(Z,MAGFLAGS)_" images)" "RTN","MAGGTU31",85,0) . I '$$ISDEL^MAGGI11(Z) D "RTN","MAGGTU31",86,0) . . D CHK^MAGGSQI(.QACHK,Z) Q:QACHK(0) "RTN","MAGGTU31",87,0) . . S CT=CT+1,MAGRY(CT)=" QA Warning - Group#: "_Z_" "_$P(QACHK(0),"^",2) "RTN","MAGGTU31",88,0) . . Q "RTN","MAGGTU31",89,0) . Q "RTN","MAGGTU31",90,0) S OBJTYP=$P(^MAG(MAGFILE,IEN,0),"^",6) "RTN","MAGGTU31",91,0) S SNGRP="FLDS" "RTN","MAGGTU31",92,0) I (+$O(^MAG(MAGFILE,IEN,1,0)))!(OBJTYP=11)!(OBJTYP=16) D "RTN","MAGGTU31",93,0) . S CT=CT+1,MAGRY(CT)=$P($G(^MAG(MAGFILE,IEN,40)),"^",1)_" Group of "_+$$CNTIMGS(IEN,MAGFLAGS) "RTN","MAGGTU31",94,0) . S SNGRP="FLDG" "RTN","MAGGTU31",95,0) . Q "RTN","MAGGTU31",96,0) I 'MAGISDEL D "RTN","MAGGTU31",97,0) . K QACHK "RTN","MAGGTU31",98,0) . D CHK^MAGGSQI(.QACHK,IEN) I 'QACHK(0) D "RTN","MAGGTU31",99,0) . . S CT=CT+1,MAGRY(CT)=" QA Warning - Image#: "_IEN_" "_$P(QACHK(0),"^",2) "RTN","MAGGTU31",100,0) N MAGOUT,MAGERR,MAGVAL,PKG "RTN","MAGGTU31",101,0) S IENC=IEN_"," "RTN","MAGGTU31",102,0) S FLAGS="EN" "RTN","MAGGTU31",103,0) S I=-1 "RTN","MAGGTU31",104,0) S PKG="" "RTN","MAGGTU31",105,0) F S I=I+1,Z=$T(@SNGRP+I) Q:$P(Z,";",3)="end" D "RTN","MAGGTU31",106,0) . S J=$P(Z,";",4),JI=J_";" "RTN","MAGGTU31",107,0) . K MAGOUT "RTN","MAGGTU31",108,0) . S CT=CT+1,MAGRY(CT)=$P(Z,";",3) "RTN","MAGGTU31",109,0) . I J=41 D Q ; Need to compute the Class. Class field in Image File is wrong. "RTN","MAGGTU31",110,0) . . S MAGVAL=$S('T:"",'$D(^MAG(2005.83,T,0)):"",1:$P(^MAG(2005.82,$P(^MAG(2005.83,T,0),"^",2),0),"^",1)) "RTN","MAGGTU31",111,0) . . S MAGRY(CT)=MAGRY(CT)_" "_MAGVAL "RTN","MAGGTU31",112,0) . . Q "RTN","MAGGTU31",113,0) . D GETS^DIQ(MAGFILE,IEN,JI,FLAGS,"MAGOUT","MAGERR") "RTN","MAGGTU31",114,0) . ; Get Extension from FileRef "RTN","MAGGTU31",115,0) . I J=1 S MAGVAL=$P($G(MAGOUT(MAGFILE,IENC,J,"E")),".",2) "RTN","MAGGTU31",116,0) . E S MAGVAL=$G(MAGOUT(MAGFILE,IENC,J,"E")) "RTN","MAGGTU31",117,0) . S MAGVAL=$TR(MAGVAL,"&","+") "RTN","MAGGTU31",118,0) . I J=40 S PKG=MAGVAL "RTN","MAGGTU31",119,0) . I ((J>=50)&(J<=54)) D Q "RTN","MAGGTU31",120,0) . . I PKG'="LAB" K MAGRY(CT) Q "RTN","MAGGTU31",121,0) . . S MAGRY(CT)=MAGRY(CT)_" "_MAGVAL "RTN","MAGGTU31",122,0) . . Q "RTN","MAGGTU31",123,0) . S MAGRY(CT)=MAGRY(CT)_" "_MAGVAL "RTN","MAGGTU31",124,0) ; Compare Parent Association Date with Date/Time Note Signed. "RTN","MAGGTU31",125,0) I $P(^MAG(MAGFILE,IEN,0),"^",10) S IEN=$P(^MAG(MAGFILE,IEN,0),"^",10),MAGFILE=$$FILE^MAGGI11(IEN) S:MAGFILE'>0 MAGFILE=2005 "RTN","MAGGTU31",126,0) I $P(^MAG(MAGFILE,IEN,2),"^",6)=8925 S CT=CT+1,MAGRY(CT)=$$ATTSTAT^MAGGTU31(IEN) "RTN","MAGGTU31",127,0) ; "RTN","MAGGTU31",128,0) I (OBJTYP=11),($P($G(^MAG(MAGFILE,IEN,100)),"^",6)="") D "RTN","MAGGTU31",129,0) . I MAGFILE=2005.1 S IEN=+$O(^MAG(MAGFILE,"AGP",IEN,"")) Q ; Get IEN of child from AGP index for deleted image "RTN","MAGGTU31",130,0) . S X=$O(^MAG(MAGFILE,IEN,1,0)) "RTN","MAGGTU31",131,0) . S IEN=+$G(^MAG(MAGFILE,IEN,1,X,0)) "RTN","MAGGTU31",132,0) . Q "RTN","MAGGTU31",133,0) I $P($G(^MAG(MAGFILE,IEN,100)),"^",6)]"" D "RTN","MAGGTU31",134,0) . I OBJTYP=11 D ; If a Group, get Object Type of First Child "RTN","MAGGTU31",135,0) . . S Z=$O(^MAG(MAGFILE,IEN,1,0)) "RTN","MAGGTU31",136,0) . . I 'Z Q "RTN","MAGGTU31",137,0) . . S Z=+$G(^MAG(MAGFILE,IEN,1,Z,0)) "RTN","MAGGTU31",138,0) . . S OBJTYP=+$P($G(^MAG(MAGFILE,Z,0)),"^",6) ; Object of First Child "RTN","MAGGTU31",139,0) . . Q "RTN","MAGGTU31",140,0) . S OBJTYP=","_OBJTYP_"," "RTN","MAGGTU31",141,0) . S LBL="",VAL="" "RTN","MAGGTU31",142,0) . I ",3,9,10,12,100,"[OBJTYP S LBL="Image Creation Date: " ; "Acquisition Date"; "RTN","MAGGTU31",143,0) . I ",15,101,102,103,104,105,"[OBJTYP S LBL="Document Creation Date: " "RTN","MAGGTU31",144,0) . I LBL="" S LBL="Image Creation Date: " "RTN","MAGGTU31",145,0) . S VAL=$$GET1^DIQ(MAGFILE,IEN,110,"E") S:(VAL="") VAL="N/A" "RTN","MAGGTU31",146,0) . S CT=CT+1,MAGRY(CT)=LBL_VAL "RTN","MAGGTU31",147,0) . Q "RTN","MAGGTU31",148,0) I $$GET1^DIQ(MAGFILE,IEN,112,"I") D Q "RTN","MAGGTU31",149,0) . S CT=CT+1,MAGRY(CT)="Controlled Image : "_$$GET1^DIQ(MAGFILE,IEN,112,"E") "RTN","MAGGTU31",150,0) . ;S CT=CT+1,MAGRY(CT)="Controlled By : "_$$GET1^DIQ(MAGFILE,IEN,112.2,"E") "RTN","MAGGTU31",151,0) . ;S CT=CT+1,MAGRY(CT)="Controlled Date : "_$$GET1^DIQ(MAGFILE,IEN,112.1,"E") "RTN","MAGGTU31",152,0) . Q "RTN","MAGGTU31",153,0) Q "RTN","MAGGTU31",154,0) ; "RTN","MAGGTU31",155,0) CNTIMGS(GRPIEN,FLAGS) ; Return number of images in a group "RTN","MAGGTU31",156,0) ; GRPIEN = IEN of the group "RTN","MAGGTU31",157,0) ; FLAGS = If "D" is included then count the deleted images as well "RTN","MAGGTU31",158,0) N CNT,IEN "RTN","MAGGTU31",159,0) S CNT=0 "RTN","MAGGTU31",160,0) I FLAGS["D" D ; Get deleted images count "RTN","MAGGTU31",161,0) . S IEN=0 "RTN","MAGGTU31",162,0) . F S IEN=$O(^MAG(2005.1,"AGP",GRPIEN,IEN)) Q:'IEN S CNT=CNT+1 "RTN","MAGGTU31",163,0) . Q "RTN","MAGGTU31",164,0) S CNT=CNT+$P($G(^MAG(2005,GRPIEN,1,0)),"^",4) "RTN","MAGGTU31",165,0) Q CNT "RTN","MAGGTU31",166,0) ; "RTN","MAGGTU31",167,0) FLDS ;;Format: ;3;; "RTN","MAGGTU31",168,0) ;;Extension: ;1;; "RTN","MAGGTU31",169,0) FLDG ;;Patient: ;5;; "RTN","MAGGTU31",170,0) ;;Desc: ;10;; "RTN","MAGGTU31",171,0) ;;Procedure: ;6;; "RTN","MAGGTU31",172,0) ;; Date: ;15;; "RTN","MAGGTU31",173,0) ;;Class: ;41;; "RTN","MAGGTU31",174,0) ;;Package: ;40;; "RTN","MAGGTU31",175,0) ;;Type: ;42;; "RTN","MAGGTU31",176,0) ;;Proc/Event: ;43;; "RTN","MAGGTU31",177,0) ;;Spec/SubSpec: ;44;; "RTN","MAGGTU31",178,0) ;;Origin: ;45;; "RTN","MAGGTU31",179,0) ;;Accession # ;50;; "RTN","MAGGTU31",180,0) ;;Specimen Desc ;51;; "RTN","MAGGTU31",181,0) ;;Specimen# ;52;; "RTN","MAGGTU31",182,0) ;;Stain ;53;; "RTN","MAGGTU31",183,0) ;;Objective ;54;; "RTN","MAGGTU31",184,0) ;;Captured on: ;7;; "RTN","MAGGTU31",185,0) ;; by: ;8;; "RTN","MAGGTU31",186,0) ;;Status: ;113;; "RTN","MAGGTU31",187,0) ;;Reason: ;113.3;; "RTN","MAGGTU31",188,0) ;;end;; "RTN","MAGGTU4C") 0^16^B4896018 "RTN","MAGGTU4C",1,0) MAGGTU4C ;WOIFO/SG/NST - VERSION CONTROL (CLINICAL CAPTURE) ; 08 Mar 2011 2:52 PM "RTN","MAGGTU4C",2,0) ;;3.0;IMAGING;**93,94,106,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU4C",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU4C",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4C",5,0) ;; | Property of the US Government. | "RTN","MAGGTU4C",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU4C",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU4C",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU4C",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU4C",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU4C",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU4C",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU4C",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU4C",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU4C",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU4C",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4C",17,0) ;; "RTN","MAGGTU4C",18,0) ; This routine contains the version control code and data specific "RTN","MAGGTU4C",19,0) ; to the Clinical Capture application. DO NOT ADD ANYTHING ELSE! "RTN","MAGGTU4C",20,0) Q "RTN","MAGGTU4C",21,0) ; "RTN","MAGGTU4C",22,0) CLVERCT ;***** VERSION CONTROL TABLE FOR THE CLINICAL CAPTURE CLIENTS "RTN","MAGGTU4C",23,0) ;;================================================================== "RTN","MAGGTU4C",24,0) ;;| Version |Build|Seq #| Comment | "RTN","MAGGTU4C",25,0) ;;|---------+-----+------------------------------------------------| "RTN","MAGGTU4C",26,0) ;;| 3.0.117 | 8 | 45 | Jul 2011 | "RTN","MAGGTU4C",27,0) ;;| 3.0.106 | 13 | 40 | Feb 2011 | "RTN","MAGGTU4C",28,0) ;;| 3.0.94 | 12 | 35 | May 2010 | "RTN","MAGGTU4C",29,0) ;;================================================================== "RTN","MAGGTU4C",30,0) ; "RTN","MAGGTU4C",31,0) ; Each row of the version control table contains the version and "RTN","MAGGTU4C",32,0) ; build number of a supported client. Released patches must also "RTN","MAGGTU4C",33,0) ; indicate the sequential numbers. "RTN","MAGGTU4C",34,0) ; "RTN","MAGGTU4C",35,0) ; Sort order of the rows does not matter. However, the reversed "RTN","MAGGTU4C",36,0) ; order of patch sequential numbers is recommended. "RTN","MAGGTU4C",37,0) ; "RTN","MAGGTU4C",38,0) Q "RTN","MAGGTU4C",39,0) ; "RTN","MAGGTU4C",40,0) ;***** ADDS A CLIENT-SPECIFIC WARNING (IF NECESSARY) "RTN","MAGGTU4C",41,0) ; "RTN","MAGGTU4C",42,0) ; .MAGBUF Reference to a local array that the warning text "RTN","MAGGTU4C",43,0) ; is returned to. It is appended to the RPC result "RTN","MAGGTU4C",44,0) ; array by the caller (WARNING^MAGGTU41). "RTN","MAGGTU4C",45,0) ; "RTN","MAGGTU4C",46,0) ; CLVER Client application version (Major.Minor.Patch.Build) "RTN","MAGGTU4C",47,0) ; "RTN","MAGGTU4C",48,0) ; CVRC Version check code returned by the $$CHKVER1^MAGGTU41 "RTN","MAGGTU4C",49,0) ; "RTN","MAGGTU4C",50,0) ; Notes "RTN","MAGGTU4C",51,0) ; ===== "RTN","MAGGTU4C",52,0) ; "RTN","MAGGTU4C",53,0) ; If the RPC result array already contains an error message that "RTN","MAGGTU4C",54,0) ; will terminate the client, application, this procedure is not "RTN","MAGGTU4C",55,0) ; called. "RTN","MAGGTU4C",56,0) ; "RTN","MAGGTU4C",57,0) WARNING(MAGBUF,CLVER,CVRC) ; "RTN","MAGGTU4C",58,0) Q "RTN","MAGGTU4D") 0^17^B4901823 "RTN","MAGGTU4D",1,0) MAGGTU4D ;WOIFO/SG/NST - VERSION CONTROL (CLINICAL DISPLAY) ; 08 Mar 2011 2:52 PM "RTN","MAGGTU4D",2,0) ;;3.0;IMAGING;**93,94,106,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU4D",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU4D",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4D",5,0) ;; | Property of the US Government. | "RTN","MAGGTU4D",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU4D",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU4D",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU4D",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU4D",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU4D",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU4D",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU4D",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU4D",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU4D",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU4D",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4D",17,0) ;; "RTN","MAGGTU4D",18,0) ; This routine contains the version control code and data specific "RTN","MAGGTU4D",19,0) ; to the Clinical Display application. DO NOT ADD ANYTHING ELSE! "RTN","MAGGTU4D",20,0) Q "RTN","MAGGTU4D",21,0) ; "RTN","MAGGTU4D",22,0) CLVERCT ;***** VERSION CONTROL TABLE FOR THE CLINICAL DISPLAY CLIENTS "RTN","MAGGTU4D",23,0) ;;================================================================== "RTN","MAGGTU4D",24,0) ;;| Version |Build|Seq #| Comment | "RTN","MAGGTU4D",25,0) ;;|---------+-----+------------------------------------------------| "RTN","MAGGTU4D",26,0) ;;| 3.0.117 | 8 | 45 | Jul 2011 | "RTN","MAGGTU4D",27,0) ;;| 3.0.106 | 13 | 40 | Feb 2011 | "RTN","MAGGTU4D",28,0) ;;| 3.0.94 | 12 | 35 | May 2010 | "RTN","MAGGTU4D",29,0) ;;================================================================== "RTN","MAGGTU4D",30,0) ; "RTN","MAGGTU4D",31,0) ; Each row of the version control table contains the version and "RTN","MAGGTU4D",32,0) ; build number of a supported client. Released patches must also "RTN","MAGGTU4D",33,0) ; indicate the sequential numbers. "RTN","MAGGTU4D",34,0) ; "RTN","MAGGTU4D",35,0) ; Sort order of the rows does not matter. However, the reversed "RTN","MAGGTU4D",36,0) ; order of patch sequential numbers is recommended. "RTN","MAGGTU4D",37,0) ; "RTN","MAGGTU4D",38,0) Q "RTN","MAGGTU4D",39,0) ; "RTN","MAGGTU4D",40,0) ;***** ADDS A CLIENT-SPECIFIC WARNING (IF NECESSARY) "RTN","MAGGTU4D",41,0) ; "RTN","MAGGTU4D",42,0) ; .MAGBUF Reference to a local array that the warning text "RTN","MAGGTU4D",43,0) ; is returned to. It is appended to the RPC result "RTN","MAGGTU4D",44,0) ; array by the caller (WARNING^MAGGTU41). "RTN","MAGGTU4D",45,0) ; "RTN","MAGGTU4D",46,0) ; Text must be stored at nodes with positive numbers "RTN","MAGGTU4D",47,0) ; or at the 0-node descendent from those nodes. "RTN","MAGGTU4D",48,0) ; "RTN","MAGGTU4D",49,0) ; CLVER Client application version (Major.Minor.Patch.Build) "RTN","MAGGTU4D",50,0) ; "RTN","MAGGTU4D",51,0) ; CVRC Version check code returned by the $$CHKVER1^MAGGTU41 "RTN","MAGGTU4D",52,0) ; "RTN","MAGGTU4D",53,0) ; Notes "RTN","MAGGTU4D",54,0) ; ===== "RTN","MAGGTU4D",55,0) ; "RTN","MAGGTU4D",56,0) ; If the RPC result array already contains an error message that "RTN","MAGGTU4D",57,0) ; will terminate the client, application, this procedure is not "RTN","MAGGTU4D",58,0) ; called. "RTN","MAGGTU4D",59,0) ; "RTN","MAGGTU4D",60,0) WARNING(MAGBUF,CLVER,CVRC) ; "RTN","MAGGTU4D",61,0) Q "RTN","MAGGTU4L") 0^18^B4896099 "RTN","MAGGTU4L",1,0) MAGGTU4L ;WOIFO/SG/NST - VERSION CONTROL (CLINICAL UTILITIES) ; 08 Mar 2011 2:52 PM "RTN","MAGGTU4L",2,0) ;;3.0;IMAGING;**93,94,106,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU4L",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU4L",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4L",5,0) ;; | Property of the US Government. | "RTN","MAGGTU4L",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU4L",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU4L",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU4L",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU4L",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU4L",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU4L",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU4L",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU4L",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU4L",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU4L",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4L",17,0) ;; "RTN","MAGGTU4L",18,0) ; This routine contains the version control code and data specific "RTN","MAGGTU4L",19,0) ; to the Clinical Utilities application. DO NOT ADD ANYTHING ELSE! "RTN","MAGGTU4L",20,0) Q "RTN","MAGGTU4L",21,0) ; "RTN","MAGGTU4L",22,0) CLVERCT ;***** VERSION CONTROL TABLE FOR THE CLINICAL UTILITIES "RTN","MAGGTU4L",23,0) ;;================================================================== "RTN","MAGGTU4L",24,0) ;;| Version |Build|Seq #| Comment | "RTN","MAGGTU4L",25,0) ;;|---------+-----+------------------------------------------------| "RTN","MAGGTU4L",26,0) ;;| 3.0.117 | 8 | 45 | Jul 2011 | "RTN","MAGGTU4L",27,0) ;;| 3.0.106 | 13 | 40 | Feb 2011 | "RTN","MAGGTU4L",28,0) ;;| 3.0.94 | 12 | 35 | May 2010 | "RTN","MAGGTU4L",29,0) ;;================================================================== "RTN","MAGGTU4L",30,0) ; "RTN","MAGGTU4L",31,0) ; Each row of the version control table contains the version and "RTN","MAGGTU4L",32,0) ; build number of a supported client. Released patches must also "RTN","MAGGTU4L",33,0) ; indicate the sequential numbers. "RTN","MAGGTU4L",34,0) ; "RTN","MAGGTU4L",35,0) ; Sort order of the rows does not matter. However, the reversed "RTN","MAGGTU4L",36,0) ; order of patch sequential numbers is recommended. "RTN","MAGGTU4L",37,0) ; "RTN","MAGGTU4L",38,0) Q "RTN","MAGGTU4L",39,0) ; "RTN","MAGGTU4L",40,0) ;***** ADDS A CLIENT-SPECIFIC WARNING (IF NECESSARY) "RTN","MAGGTU4L",41,0) ; "RTN","MAGGTU4L",42,0) ; .MAGBUF Reference to a local array that the warning text "RTN","MAGGTU4L",43,0) ; is returned to. It is appended to the RPC result "RTN","MAGGTU4L",44,0) ; array by the caller (WARNING^MAGGTU41). "RTN","MAGGTU4L",45,0) ; "RTN","MAGGTU4L",46,0) ; CLVER Client application version (Major.Minor.Patch.Build) "RTN","MAGGTU4L",47,0) ; "RTN","MAGGTU4L",48,0) ; CVRC Version check code returned by the $$CHKVER1^MAGGTU41 "RTN","MAGGTU4L",49,0) ; "RTN","MAGGTU4L",50,0) ; Notes "RTN","MAGGTU4L",51,0) ; ===== "RTN","MAGGTU4L",52,0) ; "RTN","MAGGTU4L",53,0) ; If the RPC result array already contains an error message that "RTN","MAGGTU4L",54,0) ; will terminate the client, application, this procedure is not "RTN","MAGGTU4L",55,0) ; called. "RTN","MAGGTU4L",56,0) ; "RTN","MAGGTU4L",57,0) WARNING(MAGBUF,CLVER,CVRC) ; "RTN","MAGGTU4L",58,0) Q "RTN","MAGGTU4T") 0^19^B4896171 "RTN","MAGGTU4T",1,0) MAGGTU4T ;WOIFO/SG/NST - VERSION CONTROL (TELEREADER) ; 08 Mar 2011 2:52 PM "RTN","MAGGTU4T",2,0) ;;3.0;IMAGING;**93,94,106,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU4T",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU4T",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4T",5,0) ;; | Property of the US Government. | "RTN","MAGGTU4T",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU4T",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU4T",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU4T",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU4T",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU4T",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU4T",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU4T",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU4T",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU4T",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU4T",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU4T",17,0) ;; "RTN","MAGGTU4T",18,0) ; This routine contains the version control code and data specific "RTN","MAGGTU4T",19,0) ; to the TeleReader application. DO NOT ADD ANYTHING ELSE! "RTN","MAGGTU4T",20,0) Q "RTN","MAGGTU4T",21,0) ; "RTN","MAGGTU4T",22,0) CLVERCT ;***** VERSION CONTROL TABLE FOR THE TELEREADER CLIENTS "RTN","MAGGTU4T",23,0) ;;================================================================== "RTN","MAGGTU4T",24,0) ;;| Version |Build|Seq #| Comment | "RTN","MAGGTU4T",25,0) ;;|---------+-----+------------------------------------------------| "RTN","MAGGTU4T",26,0) ;;| 3.0.117 | 8 | 45 | Jul 2011 | "RTN","MAGGTU4T",27,0) ;;| 3.0.106 | 13 | 40 | Feb 2011 | "RTN","MAGGTU4T",28,0) ;;| 3.0.94 | 12 | 35 | May 2010 | "RTN","MAGGTU4T",29,0) ;;================================================================== "RTN","MAGGTU4T",30,0) ; "RTN","MAGGTU4T",31,0) ; Each row of the version control table contains the version and "RTN","MAGGTU4T",32,0) ; build number of a supported client. Released patches must also "RTN","MAGGTU4T",33,0) ; indicate the sequential numbers. "RTN","MAGGTU4T",34,0) ; "RTN","MAGGTU4T",35,0) ; Sort order of the rows does not matter. However, the reversed "RTN","MAGGTU4T",36,0) ; order of patch sequential numbers is recommended. "RTN","MAGGTU4T",37,0) ; "RTN","MAGGTU4T",38,0) Q "RTN","MAGGTU4T",39,0) ; "RTN","MAGGTU4T",40,0) ;***** ADDS A CLIENT-SPECIFIC WARNING (IF NECESSARY) "RTN","MAGGTU4T",41,0) ; "RTN","MAGGTU4T",42,0) ; .MAGBUF Reference to a local array that the warning text "RTN","MAGGTU4T",43,0) ; is returned to. It is appended to the RPC result "RTN","MAGGTU4T",44,0) ; array by the caller (WARNING^MAGGTU41). "RTN","MAGGTU4T",45,0) ; "RTN","MAGGTU4T",46,0) ; CLVER Client application version (Major.Minor.Patch.Build) "RTN","MAGGTU4T",47,0) ; "RTN","MAGGTU4T",48,0) ; CVRC Version check code returned by the $$CHKVER1^MAGGTU41 "RTN","MAGGTU4T",49,0) ; "RTN","MAGGTU4T",50,0) ; Notes "RTN","MAGGTU4T",51,0) ; ===== "RTN","MAGGTU4T",52,0) ; "RTN","MAGGTU4T",53,0) ; If the RPC result array already contains an error message that "RTN","MAGGTU4T",54,0) ; will terminate the client, application, this procedure is not "RTN","MAGGTU4T",55,0) ; called. "RTN","MAGGTU4T",56,0) ; "RTN","MAGGTU4T",57,0) WARNING(MAGBUF,CLVER,CVRC) ; "RTN","MAGGTU4T",58,0) Q "RTN","MAGGTU6") 0^20^B51349836 "RTN","MAGGTU6",1,0) MAGGTU6 ;WOIFO/GEK,MLH - Silent Utilities ; 6/3/11 3:20 PM "RTN","MAGGTU6",2,0) ;;3.0;IMAGING;**24,8,48,45,20,46,59,72,93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTU6",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTU6",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU6",5,0) ;; | Property of the US Government. | "RTN","MAGGTU6",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTU6",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTU6",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTU6",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTU6",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTU6",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTU6",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTU6",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTU6",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTU6",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTU6",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTU6",17,0) ;; "RTN","MAGGTU6",18,0) Q "RTN","MAGGTU6",19,0) ; "RTN","MAGGTU6",20,0) LOGACT(MAGRY,DATA) ;RPC [MAGGACTION LOG] "RTN","MAGGTU6",21,0) ; Call to LogAction from Delphi Window "RTN","MAGGTU6",22,0) ; "RTN","MAGGTU6",23,0) ; DATA is input variable it is '^' delimited string "RTN","MAGGTU6",24,0) ; 'A|B|C|D|E' ^^ MAGIEN ^ 'Copy/Download' ^ DFN ^ '1'; "RTN","MAGGTU6",25,0) ; DUZ is inserted as 2nd piece below. "RTN","MAGGTU6",26,0) ; I.E. DATA = "C^^103660^Copy To Clipboard^1033^1" "RTN","MAGGTU6",27,0) N Y "RTN","MAGGTU6",28,0) S MAGRY="0^Logging access..." "RTN","MAGGTU6",29,0) ; "RTN","MAGGTU6",30,0) N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGGTERR" "RTN","MAGGTU6",31,0) ; C DUZ MAGIEN ACTION DFN 1 Additional Data "RTN","MAGGTU6",32,0) D ENTRY^MAGLOG($P(DATA,U),+$G(DUZ),$P(DATA,U,3),$P(DATA,U,4),$P(DATA,U,5),$P(DATA,U,6),$P(DATA,U,7)) "RTN","MAGGTU6",33,0) S MAGRY="1^Action was Logged." "RTN","MAGGTU6",34,0) Q "RTN","MAGGTU6",35,0) ; "RTN","MAGGTU6",36,0) LINKDT(MAGRY,MAGDA,DTTM) ; This is called when an Image is successfully "RTN","MAGGTU6",37,0) ; linked (Associated) with a Report/Procedure/Note etc. "RTN","MAGGTU6",38,0) ; MAGDA = Image IEN "RTN","MAGGTU6",39,0) ; DTTM = "" No date sent, so use NOW "RTN","MAGGTU6",40,0) ; DTTM = 1 No Date Sent, but use Image capture Date. "RTN","MAGGTU6",41,0) ; DTTM = Valid FM Date/Time , Use it. "RTN","MAGGTU6",42,0) N MSG "RTN","MAGGTU6",43,0) S DTTM=$G(DTTM) "RTN","MAGGTU6",44,0) I 'DTTM S DTTM=$$NOW^XLFDT ; Using NOW "RTN","MAGGTU6",45,0) I '$D(^MAG(2005,MAGDA)) Q "RTN","MAGGTU6",46,0) I DTTM=1 S DTTM=$P(^MAG(2005,MAGDA,2),"^",1) ; Using Date Image Captured. "RTN","MAGGTU6",47,0) I '$$VALID^MAGGSIV1(2005,64,.DTTM,.MSG) S MAGRY="0^"_MSG Q "RTN","MAGGTU6",48,0) S $P(^MAG(2005,MAGDA,2),"^",11)=DTTM "RTN","MAGGTU6",49,0) S MAGRY="1^Okay" "RTN","MAGGTU6",50,0) Q "RTN","MAGGTU6",51,0) ; "RTN","MAGGTU6",52,0) TIMEOUT(MAGRY,APP) ;RPC [MAGG GET TIMEOUT] "RTN","MAGGTU6",53,0) ; Call Returns the timeout for the APP from IMAGING SITE PARAMETERS File "RTN","MAGGTU6",54,0) ; APP is either 'DISPLAY' 'CAPTURE' or 'VISTARAD' "RTN","MAGGTU6",55,0) N I,MAGTIMES,MAGPLC "RTN","MAGGTU6",56,0) S MAGRY="" "RTN","MAGGTU6",57,0) S MAGPLC=$$PLACE^MAGBAPI(DUZ(2)) I 'MAGPLC Q ; DBI - SEB 9/20/2002 "RTN","MAGGTU6",58,0) S MAGTIMES=$G(^MAG(2006.1,MAGPLC,"KEYS")) "RTN","MAGGTU6",59,0) I APP="DISPLAY" S MAGRY=$P(MAGTIMES,U,2) "RTN","MAGGTU6",60,0) I APP="CAPTURE" S MAGRY=$P(MAGTIMES,U,3) "RTN","MAGGTU6",61,0) I APP="VISTARAD" S MAGRY=$P(MAGTIMES,U,4) "RTN","MAGGTU6",62,0) I APP="TELEREADER" S MAGRY=$P(MAGTIMES,U,6) ; MJK - 2006.01.25 - TeleReader "RTN","MAGGTU6",63,0) Q "RTN","MAGGTU6",64,0) ; "RTN","MAGGTU6",65,0) EXIST(EKGPLACE) ;Does an ekg server exist in 2005.2 "RTN","MAGGTU6",66,0) I $$CONSOLID^MAGBAPI()=0 Q $O(^MAG(2005.2,"E","EKG","")) ; DBI - SEB 9/20/2002 "RTN","MAGGTU6",67,0) Q $O(^MAG(2005.2,"F",EKGPLACE,"EKG","")) "RTN","MAGGTU6",68,0) ; "RTN","MAGGTU6",69,0) ONLINE(MAGR) ;RPC [MAG EKG ONLINE] EKG network location status "RTN","MAGGTU6",70,0) ;returns the status of the first EKG network location type "RTN","MAGGTU6",71,0) ;0 if offline or a network location doesn't exist "RTN","MAGGTU6",72,0) ;1 if online "RTN","MAGGTU6",73,0) ; "RTN","MAGGTU6",74,0) N EKG1,EKGPLACE "RTN","MAGGTU6",75,0) S EKGPLACE=$$PLACE^MAGBAPI(DUZ(2)) ; DBI - SEB 9/20/2002 "RTN","MAGGTU6",76,0) I EKGPLACE=0 S EKGPLACE=$$PLACE^MAGBAPI(DUZ(2)) ;Convert to extrinsic /gek 8/2003 "RTN","MAGGTU6",77,0) I $$EXIST(EKGPLACE) D "RTN","MAGGTU6",78,0) . I $$CONSOLID^MAGBAPI() S EKG1=$O(^MAG(2005.2,"F",EKGPLACE,"EKG","")) ; DBI - SEB 9/20/2002 "RTN","MAGGTU6",79,0) . E S EKG1=$O(^MAG(2005.2,"E","EKG","")) "RTN","MAGGTU6",80,0) . S MAGR=$P(^MAG(2005.2,+EKG1,0),U,6) "RTN","MAGGTU6",81,0) . Q "RTN","MAGGTU6",82,0) E S MAGR=0 "RTN","MAGGTU6",83,0) Q "RTN","MAGGTU6",84,0) SHARE(MAGRY,TYPE) ;RPC [MAG GET NETLOC] "RTN","MAGGTU6",85,0) ; Get list of image shares "RTN","MAGGTU6",86,0) ;TYPE = One of the STORAGE TYPE codes : MAG, EKG, WORM, URL or ALL "RTN","MAGGTU6",87,0) N TMP,I,DATA0,DATA2,DATA3,DATA6,INFO,VALUE,STYP,PHYREF "RTN","MAGGTU6",88,0) N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" "RTN","MAGGTU6",89,0) S:TYPE="" TYPE="ALL" "RTN","MAGGTU6",90,0) S MAGRY(0)="1^SUCCESS" "RTN","MAGGTU6",91,0) S I=0 F S I=$O(^MAG(2005.2,I)) Q:'I D "RTN","MAGGTU6",92,0) . Q:$$LOCDRIVE(I) "RTN","MAGGTU6",93,0) . S DATA0=$G(^MAG(2005.2,I,0)) "RTN","MAGGTU6",94,0) . S DATA2=$G(^MAG(2005.2,I,2)) "RTN","MAGGTU6",95,0) . S DATA3=$G(^MAG(2005.2,I,3)) "RTN","MAGGTU6",96,0) . S DATA6=$G(^MAG(2005.2,I,6)) "RTN","MAGGTU6",97,0) . ; "RTN","MAGGTU6",98,0) . S PHYREF=$P(DATA0,"^",2) ; PHYSICAL REFERENCE "RTN","MAGGTU6",99,0) . S STYP=$P(DATA0,"^",7) ; STORAGE TYPE "RTN","MAGGTU6",100,0) . ; "RTN","MAGGTU6",101,0) . I TYPE'="ALL" Q:STYP'[TYPE "RTN","MAGGTU6",102,0) . Q:$P(DATA0,"^",6)=0 ; Share is offline (don't return offline shares) "RTN","MAGGTU6",103,0) . I STYP'="URL" Q:($E(PHYREF,1,2)'="\\") ; pre 45 "RTN","MAGGTU6",104,0) . ; "RTN","MAGGTU6",105,0) . S INFO=$S($E(PHYREF,$L(PHYREF))="\":$E(PHYREF,1,$L(PHYREF)-1),1:PHYREF) "RTN","MAGGTU6",106,0) . S $P(INFO,"^",2)=$P(DATA0,"^",7) ; Physical reference (path) "RTN","MAGGTU6",107,0) . S $P(INFO,"^",3)=$P(DATA0,"^",6) ; Operational Status 0=OFFLINE 1=ONLINE "RTN","MAGGTU6",108,0) . S $P(INFO,"^",4)=$P(DATA2,"^",1) ; Username "RTN","MAGGTU6",109,0) . S $P(INFO,"^",5)=$P(DATA2,"^",2) ; Password "RTN","MAGGTU6",110,0) . S $P(INFO,"^",6)=$P(DATA6,"^",1) ; MUSE Site # "RTN","MAGGTU6",111,0) . S $P(INFO,"^",7)=$P($G(^MAG(2006.17,+$P(DATA6,"^",2),0)),"^",1) ; MUSE version # "RTN","MAGGTU6",112,0) . S $P(INFO,"^",8)=$P(DATA3,"^",5) ; Network location SITE "RTN","MAGGTU6",113,0) . S $P(INFO,"^",9)=$P(DATA0,"^",10) ; Place "RTN","MAGGTU6",114,0) . S:'$D(TMP(INFO)) TMP(INFO)=I "RTN","MAGGTU6",115,0) . Q "RTN","MAGGTU6",116,0) S INFO="" F S INFO=$O(TMP(INFO)) Q:INFO="" D "RTN","MAGGTU6",117,0) . S MAGRY($O(MAGRY(""),-1)+1)=TMP(INFO)_"^"_INFO "RTN","MAGGTU6",118,0) . Q "RTN","MAGGTU6",119,0) Q "RTN","MAGGTU6",120,0) ; "RTN","MAGGTU6",121,0) LOCDRIVE(I) ; Returns 1 if this is a local drive, else 0 "RTN","MAGGTU6",122,0) ; Local Drive is determined by the DIR not being Type : URL and having a ":" "RTN","MAGGTU6",123,0) I $P(^MAG(2005.2,I,0),"^",7)'="URL" I $P(^MAG(2005.2,I,0),"^",2)[":" Q 1 "RTN","MAGGTU6",124,0) Q 0 "RTN","MAGGTU6",125,0) ; "RTN","MAGGTU6",126,0) GETENV(MAGRY) ;RPC [MAG GET ENV] "RTN","MAGGTU6",127,0) ; Get some environment variables (used by annotation control) "RTN","MAGGTU6",128,0) S MAGRY=DUZ(2)_"^"_$$NOW^XLFDT "RTN","MAGGTU6",129,0) Q "RTN","MAGGTU6",130,0) ; "RTN","MAGGTU6",131,0) ANNCB(STATARR) ;Status Callback (called by the import API) "RTN","MAGGTU6",132,0) ; "RTN","MAGGTU6",133,0) N I,CDUZ,QINDEX,MAGA,COUNT "RTN","MAGGTU6",134,0) N XMDUZ,XMSUB,XMTEXT,XMY "RTN","MAGGTU6",135,0) ; 0 = error, all others are success. "RTN","MAGGTU6",136,0) I $P(STATARR(0),"^",1)'=0 D "RTN","MAGGTU6",137,0) . ; Import was successful "RTN","MAGGTU6",138,0) E D "RTN","MAGGTU6",139,0) . ; Import failed - send mail to MAG SERVER group and person who queued the import "RTN","MAGGTU6",140,0) . S XMDUZ=DUZ "RTN","MAGGTU6",141,0) . S XMSUB="Import Error Report" "RTN","MAGGTU6",142,0) . ; get text of message from status array "RTN","MAGGTU6",143,0) . S XMTEXT="MAGA(" "RTN","MAGGTU6",144,0) . ; XMD needs array to start with 1, not 0 "RTN","MAGGTU6",145,0) . S COUNT=1,I="" "RTN","MAGGTU6",146,0) . F S I=$O(STATARR(I)) Q:I="" D "RTN","MAGGTU6",147,0) . . S MAGA(COUNT)=I_") "_STATARR(I) "RTN","MAGGTU6",148,0) . . S COUNT=COUNT+1 "RTN","MAGGTU6",149,0) . . Q "RTN","MAGGTU6",150,0) . S MAGA(COUNT+1)=" " "RTN","MAGGTU6",151,0) . S MAGA(COUNT+2)=" " "RTN","MAGGTU6",152,0) . S MAGA(COUNT+3)=" The errors listed above were generated by" "RTN","MAGGTU6",153,0) . S MAGA(COUNT+4)=" the VistA Imaging Annotation Editor while" "RTN","MAGGTU6",154,0) . S MAGA(COUNT+5)=" trying to import your diagram. Please" "RTN","MAGGTU6",155,0) . S MAGA(COUNT+6)=" report these errors to your VistA Imaging" "RTN","MAGGTU6",156,0) . S MAGA(COUNT+7)=" support personnel." "RTN","MAGGTU6",157,0) . ;Get person who did the import "RTN","MAGGTU6",158,0) . S QINDEX=STATARR(2) "RTN","MAGGTU6",159,0) . S I=-1 F S I=$O(^MAG(2006.034,QINDEX,1,I)) Q:I="" D "RTN","MAGGTU6",160,0) . . I $P($G(^MAG(2006.034,QINDEX,1,I,0)),"^",1)=8 S CDUZ=$P(^MAG(2006.034,QINDEX,1,I,0),"^",2) "RTN","MAGGTU6",161,0) . ;Set recipients of message "RTN","MAGGTU6",162,0) . S XMY("G.MAG SERVER")="" "RTN","MAGGTU6",163,0) . I $G(CDUZ) S XMY(CDUZ)="" "RTN","MAGGTU6",164,0) . D ^XMD "RTN","MAGGTU6",165,0) . Q "RTN","MAGGTU6",166,0) Q "RTN","MAGGTU6",167,0) ; "RTN","MAGGTU6",168,0) GETCTP(MAGRY,DATA) ;RPC [MAG4 CT PRESETS GET] "RTN","MAGGTU6",169,0) ; INPUT "RTN","MAGGTU6",170,0) ; DATA = set of flags to determine which set of CT PRESETS "RTN","MAGGTU6",171,0) ; to return to client. if $P(DATA,^,1)=2 then the second "RTN","MAGGTU6",172,0) ; set of CT PRESETS will be returned. "RTN","MAGGTU6",173,0) ; OUTPUT "RTN","MAGGTU6",174,0) ; MAGRY = the set of presets from Imaging Site Paramters File "RTN","MAGGTU6",175,0) S DATA=$G(DATA) "RTN","MAGGTU6",176,0) N MAGPLC "RTN","MAGGTU6",177,0) S MAGPLC=$$PLACE^MAGBAPI(DUZ(2)) "RTN","MAGGTU6",178,0) I 'MAGPLC S MAGRY="0^Error resolving Users Division" Q "RTN","MAGGTU6",179,0) I $P(DATA,"^",1)=2 S MAGRY=$G(^MAG(2006.1,MAGPLC,"CT2")) "RTN","MAGGTU6",180,0) E S MAGRY=$G(^MAG(2006.1,MAGPLC,"CT")) "RTN","MAGGTU6",181,0) I MAGRY="" S MAGRY="0^Site doesn't have CT Presets defined." Q "RTN","MAGGTU6",182,0) S MAGRY="1^"_MAGRY "RTN","MAGGTU6",183,0) Q "RTN","MAGGTU6",184,0) ; "RTN","MAGGTU6",185,0) SAVECTP(MAGRY,VALUE,DATA) ;RPC [MAG4 CT PRESETS SAVE] "RTN","MAGGTU6",186,0) ; DATA = set of flags to determine which set of CT PRESETS "RTN","MAGGTU6",187,0) ; are being saved. if $P(DATA,^,1)=2 then VALUE will be saved "RTN","MAGGTU6",188,0) ; as CT PRESETS 2 "RTN","MAGGTU6",189,0) S DATA=$G(DATA) "RTN","MAGGTU6",190,0) N MAGPLC "RTN","MAGGTU6",191,0) S MAGPLC=$$PLACE^MAGBAPI(DUZ(2)) "RTN","MAGGTU6",192,0) I 'MAGPLC S MAGRY="0^Error resolving Users Division" Q "RTN","MAGGTU6",193,0) I $P(DATA,"^",1)=2 S ^MAG(2006.1,MAGPLC,"CT2")=VALUE "RTN","MAGGTU6",194,0) E S ^MAG(2006.1,MAGPLC,"CT")=VALUE "RTN","MAGGTU6",195,0) S MAGRY="1^CT Presets saved." "RTN","MAGGTU6",196,0) Q "RTN","MAGGTU6",197,0) ; "RTN","MAGGTU6",198,0) NETPLCS ; Create an array of Place, SiteCodes for all entries of "RTN","MAGGTU6",199,0) ; Network Location entries. "RTN","MAGGTU6",200,0) N I,PLC,PLCODE,CONS "RTN","MAGGTU6",201,0) S CONS=$$CONSOLID^MAGBAPI "RTN","MAGGTU6",202,0) I 'CONS S PLC=$O(^MAG(2006.1,0)),PLCODE=$P(^MAG(2006.1,PLC,0),"^",9) "RTN","MAGGTU6",203,0) ; "RTN","MAGGTU6",204,0) K MAGJOB("NETPLC") "RTN","MAGGTU6",205,0) S I=0 F S I=$O(^MAG(2005.2,I)) Q:'I D "RTN","MAGGTU6",206,0) . I 'CONS S MAGJOB("NETPLC",I)=PLC_"^"_PLCODE Q "RTN","MAGGTU6",207,0) . ; Here, for consolidated sites we get the real Site IEN, and Site Code. "RTN","MAGGTU6",208,0) . I CONS S PLC=$P($G(^MAG(2005.2,I,0)),"^",10),PLCODE=$S(PLC:$P($G(^MAG(2006.1,PLC,0)),"^",9),1:"n/a") "RTN","MAGGTU6",209,0) . S MAGJOB("NETPLC",I)=PLC_"^"_PLCODE "RTN","MAGGTU6",210,0) . Q "RTN","MAGGTU6",211,0) Q "RTN","MAGGTUP") 0^21^B24946997 "RTN","MAGGTUP",1,0) MAGGTUP ;WOIFO/GEK/SG/NST - Imaging System User preferences ; 07 Mar 2011 2:14 PM "RTN","MAGGTUP",2,0) ;;3.0;IMAGING;**7,8,48,45,59,93,94,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTUP",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTUP",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTUP",5,0) ;; | Property of the US Government. | "RTN","MAGGTUP",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTUP",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTUP",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTUP",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTUP",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTUP",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTUP",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTUP",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTUP",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTUP",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTUP",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTUP",17,0) ;; "RTN","MAGGTUP",18,0) Q "RTN","MAGGTUP",19,0) GET(MAGRY,CODE) ;RPC [MAGGUPREFGET] Call to Get user preferences. "RTN","MAGGTUP",20,0) ; "RTN","MAGGTUP",21,0) N Y,PRFIEN,J,X,Z,NODE,MAGPREF "RTN","MAGGTUP",22,0) N $ETRAP,$ESTACK S $ETRAP="D ERRA^MAGGTERR" "RTN","MAGGTUP",23,0) K MAGRY "RTN","MAGGTUP",24,0) S MAGRY(0)="0^Error: Attempting to access user preference" "RTN","MAGGTUP",25,0) S PRFIEN=$O(^MAG(2006.18,"AC",DUZ,"")) "RTN","MAGGTUP",26,0) ; if first time user "RTN","MAGGTUP",27,0) I 'PRFIEN S PRFIEN=$$NEWUSER(DUZ) Q:PRFIEN=-1 "RTN","MAGGTUP",28,0) ; merge default settings into User's Preferences "RTN","MAGGTUP",29,0) D MERGE(PRFIEN) "RTN","MAGGTUP",30,0) ; This returns the users default Filter, and creates filters if needed. "RTN","MAGGTUP",31,0) S $P(^MAG(2006.18,PRFIEN,"LISTWIN1"),"^",3)=$$DFTFLT^MAGGSFLT(DUZ) "RTN","MAGGTUP",32,0) S MAGRY(0)="1^User Preferences returned." "RTN","MAGGTUP",33,0) ; "RTN","MAGGTUP",34,0) ; At This point. Then entry in 2006.18 for User DUZ in complete "RTN","MAGGTUP",35,0) ; it has been merged with defaults, and has a valid Default Filter. "RTN","MAGGTUP",36,0) ; "RTN","MAGGTUP",37,0) ; if caller only wants one node, get it then quit. "RTN","MAGGTUP",38,0) I $L($G(CODE)) S MAGRY($O(MAGRY(""),-1)+1)=CODE_"^"_$G(^MAG(2006.18,PRFIEN,CODE)) Q "RTN","MAGGTUP",39,0) ; "RTN","MAGGTUP",40,0) ; loop through User Pref file, returning all nodes. "RTN","MAGGTUP",41,0) ; Next line was Un-Commented out. BUT Clients before Patch 8 need it. "RTN","MAGGTUP",42,0) S MAGRY($O(MAGRY(""),-1)+1)="SYS^"_^MAG(2006.18,PRFIEN,0) "RTN","MAGGTUP",43,0) S NODE="" "RTN","MAGGTUP",44,0) F S NODE=$O(^MAG(2006.18,PRFIEN,NODE)) Q:(NODE="") D "RTN","MAGGTUP",45,0) . S MAGRY($O(MAGRY(""),-1)+1)=NODE_"^"_^MAG(2006.18,PRFIEN,NODE) "RTN","MAGGTUP",46,0) Q "RTN","MAGGTUP",47,0) MERGE(PRFIEN) ; Merge default settings into User Prefs returned. "RTN","MAGGTUP",48,0) ; This will assure the User Prefs returned have values for New fields. "RTN","MAGGTUP",49,0) ; PRFIEN = IEN in IMAGING USER PREFERENCES File. "RTN","MAGGTUP",50,0) N NODE,DARR,MN,YN "RTN","MAGGTUP",51,0) D DFLTARR(.DARR) "RTN","MAGGTUP",52,0) S NODE="" F S NODE=$O(DARR($J,NODE)) Q:(NODE="") D "RTN","MAGGTUP",53,0) . S YN=DARR($J,NODE) "RTN","MAGGTUP",54,0) . S MN=$G(^MAG(2006.18,PRFIEN,NODE)) "RTN","MAGGTUP",55,0) . F J=1:1:$L(YN,"^") I ($P(YN,"^",J)'=""),($P(MN,"^",J)="") S $P(MN,"^",J)=$P(YN,"^",J) "RTN","MAGGTUP",56,0) . S ^MAG(2006.18,PRFIEN,NODE)=MN "RTN","MAGGTUP",57,0) ; "RTN","MAGGTUP",58,0) Q "RTN","MAGGTUP",59,0) SAVE(MAGRY,DATA) ;RPC [MAGGUPREFSAVE] Call to save User Preferences "RTN","MAGGTUP",60,0) ; "RTN","MAGGTUP",61,0) S MAGRY="0^Error: Saving user preferences." "RTN","MAGGTUP",62,0) N X,Y,NODE,PRFIEN,J "RTN","MAGGTUP",63,0) N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGGTERR" "RTN","MAGGTUP",64,0) S PRFIEN=$O(^MAG(2006.18,"AC",DUZ,"")) I 'PRFIEN S PRFIEN=$$NEWUSER(DUZ) Q:PRFIEN=-1 "RTN","MAGGTUP",65,0) S NODE="" F S NODE=$O(DATA(NODE)) Q:NODE="" D "RTN","MAGGTUP",66,0) . S X=$G(^MAG(2006.18,PRFIEN,NODE)) "RTN","MAGGTUP",67,0) . S Y=DATA(NODE) "RTN","MAGGTUP",68,0) . F J=1:1:$L(Y,"^") I $L($P(Y,"^",J)) S $P(X,"^",J)=$P(Y,"^",J) "RTN","MAGGTUP",69,0) . S ^MAG(2006.18,PRFIEN,NODE)=X "RTN","MAGGTUP",70,0) S MAGRY="1^User Preferences saved." "RTN","MAGGTUP",71,0) Q "RTN","MAGGTUP",72,0) NEWUSER(USER) ;Returns IEN of New entry in IMAGING USER PREFERENCES File. "RTN","MAGGTUP",73,0) K DD,DO "RTN","MAGGTUP",74,0) N DIC "RTN","MAGGTUP",75,0) S X=$E($$GET1^DIQ(200,USER_",",.01),1,15)_" (SETTING 1)" "RTN","MAGGTUP",76,0) S DIC="^MAG(2006.18,",DIC(0)="L" "RTN","MAGGTUP",77,0) S DIC("DR")="1////"_USER_";2////12;3////12;" D FILE^DICN "RTN","MAGGTUP",78,0) I Y=-1 Q Y "RTN","MAGGTUP",79,0) D DEFAULT(+Y) "RTN","MAGGTUP",80,0) Q +Y "RTN","MAGGTUP",81,0) DEFAULT(NEWPREF) ;Setup a new IMAGING USER PREFERENCES entry, with System defaults. "RTN","MAGGTUP",82,0) ; NEWPREF = IEN in IMAGING USER PREFERENCES File "RTN","MAGGTUP",83,0) N DFTPREF,N0,DFTSET "RTN","MAGGTUP",84,0) S DFTPREF=+$$GET1^DIQ(2006.1,$$PLACE^MAGBAPI(DUZ(2)),100,"I") ; DBI - SEB 9/20/2002 "RTN","MAGGTUP",85,0) I DFTPREF,$D(^MAG(2006.18,DFTPREF)) D DEFUSER(NEWPREF,DFTPREF) Q "RTN","MAGGTUP",86,0) ; save the User name, Setting Name "RTN","MAGGTUP",87,0) S N0=$P(^MAG(2006.18,NEWPREF,0),U,1,4) "RTN","MAGGTUP",88,0) D DFLTARR(.DFTSET) "RTN","MAGGTUP",89,0) M ^MAG(2006.18,NEWPREF)=DFTSET($J) "RTN","MAGGTUP",90,0) ; reset User name, Setting name. "RTN","MAGGTUP",91,0) S $P(^MAG(2006.18,NEWPREF,0),U,1,4)=N0 "RTN","MAGGTUP",92,0) Q "RTN","MAGGTUP",93,0) DEFUSER(NEWPREF,DFTPREF) ;Merge New User preference with the Default User as defined "RTN","MAGGTUP",94,0) ; in the Imaging Site Parameters file "RTN","MAGGTUP",95,0) ; NEWPREF = new IMAGING USER PREFERENCE (IEN) "RTN","MAGGTUP",96,0) ; DFLTPREF = DEFAULT USER PREFERENCE in the IMAGING SITE PARAMETERS File "RTN","MAGGTUP",97,0) ; "RTN","MAGGTUP",98,0) N X0 "RTN","MAGGTUP",99,0) S X0=$P(^MAG(2006.18,NEWPREF,0),"^",1,4) "RTN","MAGGTUP",100,0) M ^MAG(2006.18,NEWPREF)=^MAG(2006.18,DFTPREF) "RTN","MAGGTUP",101,0) S $P(^MAG(2006.18,NEWPREF,0),"^",1,4)=X0 "RTN","MAGGTUP",102,0) ; remove default user's default Filter from new user's preferences. "RTN","MAGGTUP",103,0) S $P(^MAG(2006.18,NEWPREF,"LISTWIN1"),"^",3)="" "RTN","MAGGTUP",104,0) Q "RTN","MAGGTUP",105,0) DFLTARR(ARR) ; Return an Array of All Default settings "RTN","MAGGTUP",106,0) K ARR($J) "RTN","MAGGTUP",107,0) S ARR($J,0)="^^^^0^1^1^" "RTN","MAGGTUP",108,0) S ARR($J,"DICOMWIN")="2^320^292^724^487" "RTN","MAGGTUP",109,0) S ARR($J,"IMAGEGRID")="2^487^2^786^426^1^35,73,67,34,110,46,69,96,76,79,25,0,0^1^" "RTN","MAGGTUP",110,0) S ARR($J,"REPORT")="2^2^333^722^437^Courier^^10" "RTN","MAGGTUP",111,0) S ARR($J,"RADLISTWIN")="2^487^10^433^172^0" "RTN","MAGGTUP",112,0) S ARR($J,"MAIN")="2^1^1^487^172^1" "RTN","MAGGTUP",113,0) S ARR($J,"ABS")="2^1^160^486^326^134^113^1^1^3^24^2^1^0" "RTN","MAGGTUP",114,0) S ARR($J,"FULL")="2^310^282^714^487^674^447^^1^1^4^1^0^1" "RTN","MAGGTUP",115,0) S ARR($J,"GROUP")="2^24^231^427^457^110^70^^1^2^24^2^1^0" "RTN","MAGGTUP",116,0) S ARR($J,"DOC")="2^298^24^729^429^0^0^3^1^2^4^2^0" "RTN","MAGGTUP",117,0) S ARR($J,"CAPCONFIG")="1^1^1^0^0^0^0^1^0^1^0^0^1^1^0^0^1^1^1^1^1^1^200^400^300^100^500^0^0^1^0^1" "RTN","MAGGTUP",118,0) ; 1 2 3 4 5 6 7 8 9 0 1 2 3 456 7 8 "RTN","MAGGTUP",119,0) S ARR($J,"CAPTIU")="261^414^455^654^66^67^280^1^1^~^1^100^-12^^^1^1^^" "RTN","MAGGTUP",120,0) S ARR($J,"RIVER")="1^0^0^0^0" "RTN","MAGGTUP",121,0) S ARR($J,"APPMSG")="0^0^" "RTN","MAGGTUP",122,0) S ARR($J,"APPPREFS")="1^7^7^10^^0^0^0^1^0" ; SET $P 9 =1 for Deleted Image Placeholder default "RTN","MAGGTUP",123,0) S ARR($J,"LISTWIN1")="0^0^^1^0" "RTN","MAGGTUP",124,0) ;--- MAG*3*93 "RTN","MAGGTUP",125,0) S ARR($J,"IEDIT")="2^445^295^710^433" "RTN","MAGGTUP",126,0) S ARR($J,"ISTYLE")="0^0^1^1^1^3^1^1^0^1^1^1^,101,460,288,2,2,288,298,259,160," "RTN","MAGGTUP",127,0) S ARR($J,"IVERIFY")="2^184^56^1201^871^1^0^1^1^44,139,0,0,0,42,0,0,0,0,0,0,0,0,0,58,0,," "RTN","MAGGTUP",128,0) ; "RTN","MAGGTUP",129,0) ; MAG*3.0*94 "RTN","MAGGTUP",130,0) S ARR($J,"EKG")="2^1^1^600^400^0" "RTN","MAGGTUP",131,0) Q "RTN","MAGGTUX4") 0^22^B10042466 "RTN","MAGGTUX4",1,0) MAGGTUX4 ;WIOFO/NST - Imaging utility to run in post install ; 06 Dec 2010 9:27 AM "RTN","MAGGTUX4",2,0) ;;3.0;IMAGING;**117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGTUX4",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGTUX4",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTUX4",5,0) ;; | Property of the US Government. | "RTN","MAGGTUX4",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGTUX4",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGTUX4",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGTUX4",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGTUX4",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGTUX4",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGTUX4",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGTUX4",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGTUX4",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGTUX4",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGTUX4",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGTUX4",17,0) ;; "RTN","MAGGTUX4",18,0) Q "RTN","MAGGTUX4",19,0) UPD20051() ; Updates IMAGE AUDIT file (#2005.1) "RTN","MAGGTUX4",20,0) ; Returns 0 for success "RTN","MAGGTUX4",21,0) ; and -39^Taskman has not scheduled the task for failure "RTN","MAGGTUX4",22,0) N MAGDESC,MOTH,MAGRES,MSG,MAGRC "RTN","MAGGTUX4",23,0) S MAGDESC="Patch 117: Update of STATUS field (#113) in IMAGE AUDIT file (#2005.1)" "RTN","MAGGTUX4",24,0) S MOTH("ZTDTH")=$H "RTN","MAGGTUX4",25,0) S MAGRES=$$NODEV^XUTMDEVQ("UPD11312^MAGGTUX4",MAGDESC,"MAGDESC",.MOTH) "RTN","MAGGTUX4",26,0) I MAGRES<0 S MAGRC=$$ERROR^MAGUERR(-39) Q MAGRC ; return "RTN","MAGGTUX4",27,0) ;--- Display the confirmation message "RTN","MAGGTUX4",28,0) K MSG "RTN","MAGGTUX4",29,0) S MSG(1)="It will update STATUS field (#113) in IMAGE AUDIT file (#2005.1)." "RTN","MAGGTUX4",30,0) D BMES^MAGKIDS("Task #"_MAGRES_" has been executed.",.MSG) "RTN","MAGGTUX4",31,0) Q 0 "RTN","MAGGTUX4",32,0) ; "RTN","MAGGTUX4",33,0) UPD2005() ; Updates IMAGE file (#2005) "RTN","MAGGTUX4",34,0) ; Returns 0 for success "RTN","MAGGTUX4",35,0) ; and -39^Taskman has not scheduled the task for failure "RTN","MAGGTUX4",36,0) N MAGDESC,MOTH,MAGRES,MSG,MAGRC "RTN","MAGGTUX4",37,0) S MAGDESC="Patch 117: Update of STATUS field (#113) in IMAGE file (#2005)" "RTN","MAGGTUX4",38,0) S MOTH("ZTDTH")=$H "RTN","MAGGTUX4",39,0) S MAGRES=$$NODEV^XUTMDEVQ("UPD1131^MAGGTUX4",MAGDESC,"MAGDESC",.MOTH) "RTN","MAGGTUX4",40,0) I MAGRES<0 S MAGRC=$$ERROR^MAGUERR(-39) Q MAGRC "RTN","MAGGTUX4",41,0) ;--- Display the confirmation message "RTN","MAGGTUX4",42,0) K MSG "RTN","MAGGTUX4",43,0) S MSG(1)="It will update STATUS field (#113) in IMAGE file (#2005)." "RTN","MAGGTUX4",44,0) D BMES^MAGKIDS("Task #"_MAGRES_" has been executed.",.MSG) "RTN","MAGGTUX4",45,0) Q 0 "RTN","MAGGTUX4",46,0) ; "RTN","MAGGTUX4",47,0) UPD11312 ; Update STATUS field (#113) in IMAGE AUDIT file (#2005.1) to 12 (Deleted) "RTN","MAGGTUX4",48,0) N MAGIEN "RTN","MAGGTUX4",49,0) S MAGIEN=0 "RTN","MAGGTUX4",50,0) F S MAGIEN=$O(^MAG(2005.1,MAGIEN)) Q:'MAGIEN D "RTN","MAGGTUX4",51,0) . ; Fix STATUS field (#113) data in IMAGE AUDIT file (#2005.1) "RTN","MAGGTUX4",52,0) . S:$D(^MAG(2005.1,MAGIEN,100)) $P(^MAG(2005.1,MAGIEN,100),U,8)=12 "RTN","MAGGTUX4",53,0) . Q "RTN","MAGGTUX4",54,0) D PRD^MAGKIDS(2005.1,117,"A") ; It won't process 2005.1 with every KIDS build "RTN","MAGGTUX4",55,0) Q "RTN","MAGGTUX4",56,0) ; "RTN","MAGGTUX4",57,0) UPD1131 ; Update STATUS field (#113) in IMAGE file (#2005) to 1 (Viewable) "RTN","MAGGTUX4",58,0) ; when the value is blank "RTN","MAGGTUX4",59,0) N MAGIEN "RTN","MAGGTUX4",60,0) S MAGIEN=0 "RTN","MAGGTUX4",61,0) F S MAGIEN=$O(^MAG(2005,MAGIEN)) Q:'MAGIEN D "RTN","MAGGTUX4",62,0) . ; Set STATUS (113) to Viewable "RTN","MAGGTUX4",63,0) . I $D(^MAG(2005,MAGIEN,100)) S:$P(^MAG(2005,MAGIEN,100),U,8)="" $P(^MAG(2005,MAGIEN,100),U,8)=1 "RTN","MAGGTUX4",64,0) . Q "RTN","MAGGTUX4",65,0) D PRD^MAGKIDS(2005,117,"A") ; It won't process 2005 with every KIDS build "RTN","MAGGTUX4",66,0) ; "RTN","MAGGTUX4",67,0) Q "RTN","MAGGUJB") 0^23^B14550887 "RTN","MAGGUJB",1,0) MAGGUJB ;WOIFO/GEK - Create file reference ; 20 Jan 2011 1:14 PM "RTN","MAGGUJB",2,0) ;;3.0;IMAGING;**117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGGUJB",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGGUJB",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGGUJB",5,0) ;; | Property of the US Government. | "RTN","MAGGUJB",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGGUJB",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGGUJB",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGGUJB",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGGUJB",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGGUJB",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGGUJB",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGGUJB",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGGUJB",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGGUJB",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGGUJB",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGGUJB",17,0) ;; "RTN","MAGGUJB",18,0) Q "RTN","MAGGUJB",19,0) ;***** Returns the Juke Box path to an image "RTN","MAGGUJB",20,0) ; RPC: MAGG JUKE BOX PATH "RTN","MAGGUJB",21,0) ; "RTN","MAGGUJB",22,0) ; Input Parameters "RTN","MAGGUJB",23,0) ; ================ "RTN","MAGGUJB",24,0) ; MAGIEN is IEN number in IMAGE file (#2005) or IMAGE AUDIT file (#2005.1) "RTN","MAGGUJB",25,0) ; "RTN","MAGGUJB",26,0) ; Return Values "RTN","MAGGUJB",27,0) ; ============= "RTN","MAGGUJB",28,0) ; if error MAGRY = 0^error message "RTN","MAGGUJB",29,0) ; if success MAGRY = 1^full juke box path "RTN","MAGGUJB",30,0) ; "RTN","MAGGUJB",31,0) JB(MAGRY,MAGIEN) ; RPC [MAGG JUKE BOX PATH] "RTN","MAGGUJB",32,0) ; RETURN THE PATH TO THE JB OF THE IMAGE... DELETED OR NOT. "RTN","MAGGUJB",33,0) N MAGFILE,MAGPREF,MAGSUFF,MAGFILE1 "RTN","MAGGUJB",34,0) S MAGFILE=$$FILE^MAGGI11(MAGIEN) "RTN","MAGGUJB",35,0) I MAGFILE'>0 S MAGRY="0^Invalid IEN" Q ; problem getting file number "RTN","MAGGUJB",36,0) S (MAGPREF,MAGSUFF,MAGFILE1)="" "RTN","MAGGUJB",37,0) D FINDFILE "RTN","MAGGUJB",38,0) S MAGRY=MAGPREF_"^"_MAGFILE1 "RTN","MAGGUJB",39,0) I MAGSUFF]"" S MAGRY=MAGRY_"^"_MAGSUFF "RTN","MAGGUJB",40,0) S MAGRY="1^"_MAGIEN_"^"_MAGRY "RTN","MAGGUJB",41,0) Q "RTN","MAGGUJB",42,0) ; "RTN","MAGGUJB",43,0) FINDFILE ; "RTN","MAGGUJB",44,0) ;;; NOTE : in Clinical Display application, we sometimes use the JB Path. If the "RTN","MAGGUJB",45,0) ;;; Image Server is offline, or doesn't exist the JB path is returned. "RTN","MAGGUJB",46,0) ;;; Then a JB Copy Queue is created so that the JB Copy of the image "RTN","MAGGUJB",47,0) ;;; is put on RAID for quicker access next time. "RTN","MAGGUJB",48,0) ;;; in 117 we always want to return the JB path, but we still need the tests for "RTN","MAGGUJB",49,0) ;;; offline, invalid network location , etc. "RTN","MAGGUJB",50,0) N MAG0,MAGREF,MAGSTORE,MAGTYPE "RTN","MAGGUJB",51,0) S (MAGTYPE,MAGREF)="" "RTN","MAGGUJB",52,0) S MAG0=^MAG(MAGFILE,+MAGIEN,0) "RTN","MAGGUJB",53,0) S MAGFILE1=$P(MAG0,"^",2) "RTN","MAGGUJB",54,0) S MAGFILE1=$P(MAGFILE1,"\",$L(MAGFILE1,"\")) "RTN","MAGGUJB",55,0) ; "RTN","MAGGUJB",56,0) S MAGREF=$P(MAG0,"^",5) "RTN","MAGGUJB",57,0) I MAGREF="" S MAGFILE1="-1~NO JUKEBOX LOCATION DEFINED" Q "RTN","MAGGUJB",58,0) I '$D(^MAG(2005.2,MAGREF,0)) S MAGFILE1="-1~INVALID NETWORK LOCATION POINTER ->"_MAGREF Q "RTN","MAGGUJB",59,0) S MAGSTORE=^MAG(2005.2,MAGREF,0) "RTN","MAGGUJB",60,0) S MAGTYPE=$P(MAGSTORE,"^",7) "RTN","MAGGUJB",61,0) I MAGTYPE="" S MAGTYPE=$E(MAGSTORE,1,4) ; in case the type is null "RTN","MAGGUJB",62,0) ; "RTN","MAGGUJB",63,0) ;; In case the JB is defined to be OffLine, we still want to return the path. "RTN","MAGGUJB",64,0) I '$P(MAGSTORE,"^",6) D ;jbox cartridge offline "RTN","MAGGUJB",65,0) . S MAGSUFF="JB Location: "_MAGREF_" is OFFLINE" "RTN","MAGGUJB",66,0) . Q "RTN","MAGGUJB",67,0) ; "RTN","MAGGUJB",68,0) S MAGPREF="" "RTN","MAGGUJB",69,0) I MAGTYPE?1"WORM".E D ; code for Jukeboxes "RTN","MAGGUJB",70,0) . I MAGTYPE=("WORM-OTG") S MAGPREF=$P(MAGSTORE,"^",2) "RTN","MAGGUJB",71,0) . E I MAGTYPE="WORM-PDT" S MAGPREF=$P(MAGSTORE,"^",2) "RTN","MAGGUJB",72,0) . E I MAGTYPE["WORM-DG" D ; this code is for DG/SONY jukebox "RTN","MAGGUJB",73,0) . . N SUBDIR ; the subdirectory is the last two digits of the file name "RTN","MAGGUJB",74,0) . . S SUBDIR=$P(MAGFILE1,".") "RTN","MAGGUJB",75,0) . . S SUBDIR=$E(100+$E(SUBDIR,$L(SUBDIR)-1,999),2,3)_"\" "RTN","MAGGUJB",76,0) . . S MAGPREF=$P(MAGSTORE,"^",2)_SUBDIR "RTN","MAGGUJB",77,0) . . Q "RTN","MAGGUJB",78,0) . Q "RTN","MAGGUJB",79,0) S MAGPREF=MAGPREF_$$DIRHASH^MAGFILEB(MAGFILE1,MAGREF) "RTN","MAGGUJB",80,0) Q "RTN","MAGIP117") 0^^B13359033 "RTN","MAGIP117",1,0) MAGIP117 ;WOIFO/NST,MLH - INSTALL CODE FOR MAG*3.0*117 ; 08 Feb 2011 10:57 AM "RTN","MAGIP117",2,0) ;;3.0;IMAGING;**117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGIP117",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGIP117",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGIP117",5,0) ;; | Property of the US Government. | "RTN","MAGIP117",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGIP117",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGIP117",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGIP117",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGIP117",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGIP117",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGIP117",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGIP117",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGIP117",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGIP117",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGIP117",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGIP117",17,0) ;; "RTN","MAGIP117",18,0) ; There are no environment checks here but the MAGIP117 has to be "RTN","MAGIP117",19,0) ; referenced by the "Environment Check Routine" field of the KIDS "RTN","MAGIP117",20,0) ; build so that entry points of the routine are available to the "RTN","MAGIP117",21,0) ; KIDS during all installation phases. "RTN","MAGIP117",22,0) Q "RTN","MAGIP117",23,0) ; "RTN","MAGIP117",24,0) ;+++++ INSTALLATION ERROR HANDLING "RTN","MAGIP117",25,0) ERROR ; "RTN","MAGIP117",26,0) S:$D(XPDNM) XPDABORT=1 "RTN","MAGIP117",27,0) ;--- Display the messages and store them to the INSTALL file "RTN","MAGIP117",28,0) D DUMP^MAGUERR1(),ABTMSG^MAGKIDS() "RTN","MAGIP117",29,0) Q "RTN","MAGIP117",30,0) ; "RTN","MAGIP117",31,0) ;***** POST-INSTALL CODE "RTN","MAGIP117",32,0) POS ; "RTN","MAGIP117",33,0) N CALLBACK "RTN","MAGIP117",34,0) D CLEAR^MAGUERR(1) "RTN","MAGIP117",35,0) ; "RTN","MAGIP117",36,0) ;--- Link new remote procedures to the Broker context option "RTN","MAGIP117",37,0) S CALLBACK="$$ADDRPCS^"_$NA(MAGKIDS1("RPCLST^"_$T(+0),"MAG WINDOWS")) "RTN","MAGIP117",38,0) I $$CP^MAGKIDS("MAG ATTACH RPCS",CALLBACK)<0 D ERROR Q "RTN","MAGIP117",39,0) ; "RTN","MAGIP117",40,0) ;--- Restart the Imaging Utilization Report task "RTN","MAGIP117",41,0) I $$CP^MAGKIDS("MAG REPORT TASK","$$RPTSKCP^"_$T(+0))<0 D ERROR Q "RTN","MAGIP117",42,0) ; "RTN","MAGIP117",43,0) ;--- Misc Updates "RTN","MAGIP117",44,0) I $$CP^MAGKIDS("MAG 117 MISC UPDATES ","$$UPDATE^"_$T(+0))<0 D ERROR Q "RTN","MAGIP117",45,0) ; "RTN","MAGIP117",46,0) ;--- Send the notification e-mail "RTN","MAGIP117",47,0) I $$CP^MAGKIDS("MAG NOTIFICATION","$$NOTIFY^MAGKIDS1")<0 D ERROR Q "RTN","MAGIP117",48,0) ; "RTN","MAGIP117",49,0) ;--- Set default for existing users to Show Deleted Image Placeholder "RTN","MAGIP117",50,0) D BMES^MAGKIDS("Setting Delete Image Placeholder to True") "RTN","MAGIP117",51,0) D DFTON "RTN","MAGIP117",52,0) ;--- Clean invalid (orphaned QA Statistics Nodes) from XTMP Reports. "RTN","MAGIP117",53,0) D BMES^MAGKIDS("Clearing orphaned QA Statistics from XTMP") "RTN","MAGIP117",54,0) D CLNXTMP^MAGGA03Q "RTN","MAGIP117",55,0) Q "RTN","MAGIP117",56,0) ;***** DFTON "RTN","MAGIP117",57,0) ; This will loop through existing users, and set the showdeletedImagePlaceholder "RTN","MAGIP117",58,0) ; to 1 ON. "RTN","MAGIP117",59,0) DFTON ;Set default for existing users to Show Deleted Image Placeholder "RTN","MAGIP117",60,0) N I "RTN","MAGIP117",61,0) S I=0 "RTN","MAGIP117",62,0) F S I=$O(^MAG(2006.18,I)) Q:'I D "RTN","MAGIP117",63,0) . ; If the preference hasn't been set yet, set it to 1. "RTN","MAGIP117",64,0) . I $P($G(^MAG(2006.18,I,"APPPREFS")),"^",9)="" S $P(^MAG(2006.18,I,"APPPREFS"),"^",9)=1 "RTN","MAGIP117",65,0) . Q "RTN","MAGIP117",66,0) Q "RTN","MAGIP117",67,0) ; "RTN","MAGIP117",68,0) ;***** PRE-INSTALL CODE "RTN","MAGIP117",69,0) PRE ; "RTN","MAGIP117",70,0) ; "RTN","MAGIP117",71,0) Q "RTN","MAGIP117",72,0) ;+++++ LIST OF NEW REMOTE PROCEDURES "RTN","MAGIP117",73,0) ; have a list in format ;;MAG4 IMAGE LIST "RTN","MAGIP117",74,0) RPCLST ; "RTN","MAGIP117",75,0) ;;MAGG IMAGE STATISTICS BY USER "RTN","MAGIP117",76,0) ;;MAGG IMAGE STATISTICS QUE "RTN","MAGIP117",77,0) ;;MAGG MULTI IMAGE PRINT "RTN","MAGIP117",78,0) ;;MAGG JUKE BOX PATH "RTN","MAGIP117",79,0) Q 0 "RTN","MAGIP117",80,0) ; "RTN","MAGIP117",81,0) ;+++++ RESTARTS THE IMAGING UTILIZATION REPORT TASK "RTN","MAGIP117",82,0) RPTSKCP() ; "RTN","MAGIP117",83,0) D REMTASK^MAGQE4,STTASK^MAGQE4 "RTN","MAGIP117",84,0) Q 0 "RTN","MAGIP117",85,0) ; "RTN","MAGIP117",86,0) UPDATE() ; Misc Updates "RTN","MAGIP117",87,0) N MAGRC "RTN","MAGIP117",88,0) ;--- Check if the file has been processed already "RTN","MAGIP117",89,0) I '$$PRD^MAGKIDS(2005.1,117) D Q:MAGRC<0 MAGRC "RTN","MAGIP117",90,0) . S MAGRC=$$UPD20051^MAGGTUX4() "RTN","MAGIP117",91,0) . Q "RTN","MAGIP117",92,0) ;--- Check if the file has been processed already "RTN","MAGIP117",93,0) I '$$PRD^MAGKIDS(2005,117) D Q:MAGRC<0 MAGRC "RTN","MAGIP117",94,0) . S MAGRC=$$UPD2005^MAGGTUX4() "RTN","MAGIP117",95,0) . Q "RTN","MAGIP117",96,0) ; "RTN","MAGIP117",97,0) ; Add a new entry to OBJECT TYPE file (#2005.02) "RTN","MAGIP117",98,0) I $$ADDOBJ(501,"NCAT") Q -1 "RTN","MAGIP117",99,0) I $$ADDOBJ(502,"Unsupported Type From Non-VA Origin") Q -1 "RTN","MAGIP117",100,0) I $$ADDOBJ(503,"DoD JPG") Q -1 "RTN","MAGIP117",101,0) I $$ADDOBJ(504,"DoD Word") Q -1 "RTN","MAGIP117",102,0) I $$ADDOBJ(505,"DoD ASCII Text") Q -1 "RTN","MAGIP117",103,0) I $$ADDOBJ(506,"DoD PDF (non-NCAT)") Q -1 "RTN","MAGIP117",104,0) I $$ADDOBJ(507,"DoD RTF") Q -1 "RTN","MAGIP117",105,0) ; "RTN","MAGIP117",106,0) ;--- Allow installer to build ADTDUZ cross references if desired "RTN","MAGIP117",107,0) D SETUP^MAGUXDPS "RTN","MAGIP117",108,0) Q 0 "RTN","MAGIP117",109,0) ; "RTN","MAGIP117",110,0) ADDOBJ(IEN,NAME) ; Adds a record to OBJECT TYPE file (#2005.02) "RTN","MAGIP117",111,0) ; IEN - IEN in OBJECT TYPE file (#2005.02) "RTN","MAGIP117",112,0) ; NAME - value for field (#.01) in OBJECT TYPE file (#2005.02) "RTN","MAGIP117",113,0) N MAGNFDA,MAGNIEN,MAGNERR,IENS "RTN","MAGIP117",114,0) ; "RTN","MAGIP117",115,0) S IENS=$S('$D(^MAG(2005.02,IEN)):"+1,",1:IEN_",") "RTN","MAGIP117",116,0) S MAGNFDA(2005.02,IENS,.01)=NAME "RTN","MAGIP117",117,0) S MAGNIEN(1)=IEN "RTN","MAGIP117",118,0) D UPDATE^DIE("","MAGNFDA","MAGNIEN","MAGNERR") "RTN","MAGIP117",119,0) I $D(MAGNERR) Q -1 "RTN","MAGIP117",120,0) Q 0 "RTN","MAGSIXG1") 0^24^B37750042 "RTN","MAGSIXG1",1,0) MAGSIXG1 ;WOIFO/EdM/GEK/SEB/SG/NST - LIST OF IMAGES RPCS ; 22 Oct 2010 11:43 AM "RTN","MAGSIXG1",2,0) ;;3.0;IMAGING;**8,48,59,93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGSIXG1",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGSIXG1",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGSIXG1",5,0) ;; | Property of the US Government. | "RTN","MAGSIXG1",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGSIXG1",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGSIXG1",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGSIXG1",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGSIXG1",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGSIXG1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGSIXG1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGSIXG1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGSIXG1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGSIXG1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGSIXG1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGSIXG1",17,0) ;; "RTN","MAGSIXG1",18,0) Q "RTN","MAGSIXG1",19,0) ; "RTN","MAGSIXG1",20,0) ;+++++ FORMATS RPC ERRORS "RTN","MAGSIXG1",21,0) ERRORS(RESULTS,RC) ; "RTN","MAGSIXG1",22,0) S:$G(RC)'<0 RC=$$FIRSTERR^MAGUERR1() "RTN","MAGSIXG1",23,0) D RPCERRS^MAGUERR1(.RESULTS,RC) "RTN","MAGSIXG1",24,0) Q "RTN","MAGSIXG1",25,0) ; "RTN","MAGSIXG1",26,0) ;***** RETURNS THE LIST OF IMAGE DESCRIPTORS "RTN","MAGSIXG1",27,0) ; RPC: MAG4 IMAGE LIST "RTN","MAGSIXG1",28,0) ; "RTN","MAGSIXG1",29,0) ; .MAGOUT Reference to a local variable where the results "RTN","MAGSIXG1",30,0) ; are returned to. "RTN","MAGSIXG1",31,0) ; "RTN","MAGSIXG1",32,0) ; FLAGS Flags that control the execution (can be combined): "RTN","MAGSIXG1",33,0) ; "RTN","MAGSIXG1",34,0) ; C Capture date range. If this flag is provided, "RTN","MAGSIXG1",35,0) ; then the remote procedure uses values of the "RTN","MAGSIXG1",36,0) ; FROMDATE and TODATE parameters to select images "RTN","MAGSIXG1",37,0) ; that were captured in this date range. "RTN","MAGSIXG1",38,0) ; "RTN","MAGSIXG1",39,0) ; Otherwise, values of those parameters are "RTN","MAGSIXG1",40,0) ; treated as the date range when procedures were "RTN","MAGSIXG1",41,0) ; performed. "RTN","MAGSIXG1",42,0) ; "RTN","MAGSIXG1",43,0) ; D Include only deleted images (file #2005.1) "RTN","MAGSIXG1",44,0) ; E Include only existing images (file #2005) "RTN","MAGSIXG1",45,0) ; "RTN","MAGSIXG1",46,0) ; S Return the sparse subset of images captured by "RTN","MAGSIXG1",47,0) ; the user defined by the MISCPRMS("SAVEDBY"). "RTN","MAGSIXG1",48,0) ; The latter becomes required in this case. "RTN","MAGSIXG1",49,0) ; "RTN","MAGSIXG1",50,0) ; G Include Group Images in the list of images returned. "RTN","MAGSIXG1",51,0) ; If any image in a group has an image that matches the "RTN","MAGSIXG1",52,0) ; status provided in the search criteria then "RTN","MAGSIXG1",53,0) ; the group will be returned. "RTN","MAGSIXG1",54,0) ; "RTN","MAGSIXG1",55,0) ; If the G flag is not set then only the status of the "RTN","MAGSIXG1",56,0) ; Group entry will be checked and the group will be "RTN","MAGSIXG1",57,0) ; returned if it passes. "RTN","MAGSIXG1",58,0) ; "RTN","MAGSIXG1",59,0) ; See description of the MAG4 IMAGE LIST remote "RTN","MAGSIXG1",60,0) ; procedure for details. "RTN","MAGSIXG1",61,0) ; "RTN","MAGSIXG1",62,0) ; If neither 'E' nor 'D' flag is provided, then an "RTN","MAGSIXG1",63,0) ; error code is returned. "RTN","MAGSIXG1",64,0) ; "RTN","MAGSIXG1",65,0) ; [FROMDATE] Date range for image selection. Dates can be in "RTN","MAGSIXG1",66,0) ; [TODATE] internal or external FileMan format. If a date "RTN","MAGSIXG1",67,0) ; parameter is not defined or empty, then the date "RTN","MAGSIXG1",68,0) ; range remains open on the corresponding side. "RTN","MAGSIXG1",69,0) ; "RTN","MAGSIXG1",70,0) ; Time parts of parameter values are ignored and both "RTN","MAGSIXG1",71,0) ; ends of the date range are included in the search. "RTN","MAGSIXG1",72,0) ; For example, in order to search images for May 21, "RTN","MAGSIXG1",73,0) ; 2008, the internal value of both parameters should "RTN","MAGSIXG1",74,0) ; be 3080521. "RTN","MAGSIXG1",75,0) ; "RTN","MAGSIXG1",76,0) ; If the FROMDATE is after the TODATE, then values of "RTN","MAGSIXG1",77,0) ; the parameters are swapped. "RTN","MAGSIXG1",78,0) ; "RTN","MAGSIXG1",79,0) ; [MAXNUM] If this parameter is defined and greater than 0, "RTN","MAGSIXG1",80,0) ; then it determines the maximum number of images "RTN","MAGSIXG1",81,0) ; returned by the call. "RTN","MAGSIXG1",82,0) ; "RTN","MAGSIXG1",83,0) ; If the S flag is included in the value of the FLAGS "RTN","MAGSIXG1",84,0) ; parameter, then the MAXNUM parameter must be defined "RTN","MAGSIXG1",85,0) ; and greater than 0. Its value determines percentage "RTN","MAGSIXG1",86,0) ; of preselected images to be returned in the result "RTN","MAGSIXG1",87,0) ; array. "RTN","MAGSIXG1",88,0) ; "RTN","MAGSIXG1",89,0) ; See description of the MAG4 IMAGE LIST remote "RTN","MAGSIXG1",90,0) ; procedure for details. "RTN","MAGSIXG1",91,0) ; "RTN","MAGSIXG1",92,0) ; [.MISCPRMS] Reference to a local variable that stores misc. "RTN","MAGSIXG1",93,0) ; parameters that define the image selection criteria. "RTN","MAGSIXG1",94,0) ; See the description of the MAG4 IMAGE LIST remote "RTN","MAGSIXG1",95,0) ; procedure for details. "RTN","MAGSIXG1",96,0) ; "RTN","MAGSIXG1",97,0) ; Return Values "RTN","MAGSIXG1",98,0) ; ============= "RTN","MAGSIXG1",99,0) ; "RTN","MAGSIXG1",100,0) ; If MAGOUT(0) is defined and its 1st '^'-piece is 0, then an error "RTN","MAGSIXG1",101,0) ; occurred during execution of the procedure. In this case, the array "RTN","MAGSIXG1",102,0) ; is formatted as described in the comments to the RPCERRS^MAGUERR1. "RTN","MAGSIXG1",103,0) ; "RTN","MAGSIXG1",104,0) ; See description of the MAG4 IMAGE LIST remote procedure for more "RTN","MAGSIXG1",105,0) ; details. "RTN","MAGSIXG1",106,0) ; "RTN","MAGSIXG1",107,0) ; Notes "RTN","MAGSIXG1",108,0) ; ===== "RTN","MAGSIXG1",109,0) ; "RTN","MAGSIXG1",110,0) ; Temporary global nodes ^TMP("MAGSIX1",$J) and ^TMP("MAGSIXG3",$J) "RTN","MAGSIXG1",111,0) ; are used by this procedure. "RTN","MAGSIXG1",112,0) ; "RTN","MAGSIXG1",113,0) ; If the number of images conforming to the filter reaches 76, all "RTN","MAGSIXG1",114,0) ; results are stored in the ^TMP("MAGSIXG1",$J) global node, closed "RTN","MAGSIXG1",115,0) ; reference is assigned to the MAGOUT parameter, and the type of the "RTN","MAGSIXG1",116,0) ; RPC return parameter is changed to 'GLOBAL ARRAY'. "RTN","MAGSIXG1",117,0) ; "RTN","MAGSIXG1",118,0) GETIMGS(MAGOUT,FLAGS,FROMDATE,TODATE,MAXNUM,MISCPRMS) ;RPC [MAG4 IMAGE LIST] "RTN","MAGSIXG1",119,0) N MAGDATA ; Array for passing the data to the callback "RTN","MAGSIXG1",120,0) ; ; function of the image query (including the "RTN","MAGSIXG1",121,0) ; ; image selection criteria). "RTN","MAGSIXG1",122,0) ; "RTN","MAGSIXG1",123,0) N ERROR,MISC,QF,RC,TMP "RTN","MAGSIXG1",124,0) S (MAGDATA("RESCNT"),RC)=0,MAGDATA="MAGOUT" K MAGOUT "RTN","MAGSIXG1",125,0) D CLEAR^MAGUERR(1),NETPLCS^MAGGTU6 "RTN","MAGSIXG1",126,0) K ^TMP("MAGSIXG3",$J) "RTN","MAGSIXG1",127,0) ; "RTN","MAGSIXG1",128,0) ;=== Validate parameters "RTN","MAGSIXG1",129,0) S ERROR=0 "RTN","MAGSIXG1",130,0) D "RTN","MAGSIXG1",131,0) . N MISCDEFS "RTN","MAGSIXG1",132,0) . ;--- Control flags "RTN","MAGSIXG1",133,0) . S FLAGS=$G(FLAGS) "RTN","MAGSIXG1",134,0) . I $TR(FLAGS,"CDESG")'="" D S ERROR=1 "RTN","MAGSIXG1",135,0) . . D IPVE^MAGUERR("FLAGS") ; Unknown/Unsupported flag(s) "RTN","MAGSIXG1",136,0) . . Q "RTN","MAGSIXG1",137,0) . I $TR(FLAGS,"DE")=FLAGS D S ERROR=1 "RTN","MAGSIXG1",138,0) . . D ERROR^MAGUERR(-6,,"D,E") ; Missing required flag "RTN","MAGSIXG1",139,0) . . Q "RTN","MAGSIXG1",140,0) . ;--- Date range "RTN","MAGSIXG1",141,0) . S:$$DTRANGE^MAGUTL03(.FROMDATE,.TODATE)<0 ERROR=1 "RTN","MAGSIXG1",142,0) . ;--- Miscellaneous parameters "RTN","MAGSIXG1",143,0) . S RC=$$LDMPDEFS^MAGUTL01(.MISCDEFS,"MISCDEFS^MAGSIXG2") "RTN","MAGSIXG1",144,0) . I RC<0 S ERROR=1 Q "RTN","MAGSIXG1",145,0) . S RC=$$RPCMISC^MAGUTL02(.MISCPRMS,.MISC,.MISCDEFS,"UV") "RTN","MAGSIXG1",146,0) . I RC<0 S ERROR=1 Q "RTN","MAGSIXG1",147,0) . S:$$VALMISC^MAGSIXG2(.MISC,.MAGDATA)<0 ERROR=1 "RTN","MAGSIXG1",148,0) . ;--- Number/percentage of results "RTN","MAGSIXG1",149,0) . I $G(MAXNUM)<0 D "RTN","MAGSIXG1",150,0) . . D IPVE^MAGUERR("MAXNUM") S ERROR=1 "RTN","MAGSIXG1",151,0) . . Q "RTN","MAGSIXG1",152,0) . E I FLAGS["S" D "RTN","MAGSIXG1",153,0) . . ;--- Check the percentage "RTN","MAGSIXG1",154,0) . . S TMP=+$G(MAXNUM) "RTN","MAGSIXG1",155,0) . . I 'TMP!(TMP>100) D IPVE^MAGUERR("MAXNUM") S ERROR=1 Q "RTN","MAGSIXG1",156,0) . . S MAGDATA("SUBSET%")=TMP,MAXNUM=0 "RTN","MAGSIXG1",157,0) . . ;--- User filter is required for this query "RTN","MAGSIXG1",158,0) . . S TMP=$NA(MAGDATA("SAVEDBY")) "RTN","MAGSIXG1",159,0) . . I $G(@TMP)'>0 D ERROR^MAGUERR(-8,,TMP) S ERROR=1 Q "RTN","MAGSIXG1",160,0) . . Q "RTN","MAGSIXG1",161,0) . S MAXNUM=+$G(MAXNUM) "RTN","MAGSIXG1",162,0) . Q "RTN","MAGSIXG1",163,0) ;--- Check for errors "RTN","MAGSIXG1",164,0) I ERROR D ERROR^MAGUERR(-30),ERRORS(.MAGOUT) Q "RTN","MAGSIXG1",165,0) ; "RTN","MAGSIXG1",166,0) ;=== Query the image file(s) "RTN","MAGSIXG1",167,0) S MAGDATA("FLAGS")=FLAGS,MAGDATA("MAXNUM")=MAXNUM "RTN","MAGSIXG1",168,0) S TMP=$S(TODATE<9999999:$$FMADD^XLFDT(TODATE,1),1:TODATE) "RTN","MAGSIXG1",169,0) S QF=$$TRFLAGS^MAGUTL05(FLAGS,"CDEG") "RTN","MAGSIXG1",170,0) S RC=$$QUERY^MAGGI13("$$QRYCBK^MAGSIXG3",QF,.MAGDATA,FROMDATE,TMP,+$G(MAGDATA("IDFN"))) "RTN","MAGSIXG1",171,0) I RC<0 D ERRORS(.MAGOUT,RC) Q "RTN","MAGSIXG1",172,0) ; "RTN","MAGSIXG1",173,0) ;=== Post-processing for the sparse subset query "RTN","MAGSIXG1",174,0) I FLAGS["S" D I RC<0 D ERRORS(.MAGOUT,RC) Q "RTN","MAGSIXG1",175,0) . S RC=$$SUBSET^MAGSIXG4() "RTN","MAGSIXG1",176,0) . Q "RTN","MAGSIXG1",177,0) ; "RTN","MAGSIXG1",178,0) ;=== Cleanup "RTN","MAGSIXG1",179,0) K ^TMP("MAGSIXG3",$J) "RTN","MAGSIXG1",180,0) S TMP=$$FLTDESC^MAGSIXG2(.MAGDATA,FROMDATE(0),TODATE(0),FLAGS) "RTN","MAGSIXG1",181,0) I 'MAGDATA("RESCNT") D ERRORS(.MAGOUT,$$ERROR^MAGUERR(-19,,TMP)) Q "RTN","MAGSIXG1",182,0) S @MAGDATA@(0)="1^"_TMP_$S($G(MAGDATA("MAXNUM")):U_(RC>0),1:"") "RTN","MAGSIXG1",183,0) S @MAGDATA@(1)=$$BLDHDR^MAGSIXG2() "RTN","MAGSIXG1",184,0) Q "RTN","MAGSIXG1",185,0) ; "RTN","MAGSIXG1",186,0) ;***** GET IMAGES FOR THE PATIENT "RTN","MAGSIXG1",187,0) ; RPC: MAG4 PAT GET IMAGES "RTN","MAGSIXG1",188,0) ; "RTN","MAGSIXG1",189,0) ; .MAGOUT Reference to a local variable where the results "RTN","MAGSIXG1",190,0) ; are returned to. "RTN","MAGSIXG1",191,0) ; "RTN","MAGSIXG1",192,0) ; DFN Patient IEN (DFN) "RTN","MAGSIXG1",193,0) ; "RTN","MAGSIXG1",194,0) ; [PKG] Package index(es) "RTN","MAGSIXG1",195,0) ; [CLASS] Class index(es) "RTN","MAGSIXG1",196,0) ; [TYPE] Type index(es) "RTN","MAGSIXG1",197,0) ; [EVENT] Procedure/Event index(es) "RTN","MAGSIXG1",198,0) ; [SPEC] Speciality/SubSpecialty index(es) "RTN","MAGSIXG1",199,0) ; "RTN","MAGSIXG1",200,0) ; [FROMDATE] Date range for image selection. See description "RTN","MAGSIXG1",201,0) ; [TODATE] of the GETIMGS^MAGSIXG1 entry point for details. "RTN","MAGSIXG1",202,0) ; "RTN","MAGSIXG1",203,0) ; [ORIGIN] Origin index(es) "RTN","MAGSIXG1",204,0) ; "RTN","MAGSIXG1",205,0) ; [DATA] Reserved for future use. "RTN","MAGSIXG1",206,0) ; "RTN","MAGSIXG1",207,0) ; [FLAGS] Flags that control the execution (can be combined): "RTN","MAGSIXG1",208,0) ; "RTN","MAGSIXG1",209,0) ; D Include only deleted images (file #2005.1) "RTN","MAGSIXG1",210,0) ; E Include only existing images (file #2005) "RTN","MAGSIXG1",211,0) ; "RTN","MAGSIXG1",212,0) ; By default ($G(FLAGS)=""), the "E" value is assumed. "RTN","MAGSIXG1",213,0) ; "RTN","MAGSIXG1",214,0) ; Return Values "RTN","MAGSIXG1",215,0) ; ============= "RTN","MAGSIXG1",216,0) ; "RTN","MAGSIXG1",217,0) ; See description of the MAG4 PAT GET IMAGES remote procedure. "RTN","MAGSIXG1",218,0) ; "RTN","MAGSIXG1",219,0) PGI(MAGOUT,DFN,PKG,CLASS,TYPE,EVENT,SPEC,FROMDATE,TODATE,ORIGIN,DATA,FLAGS) ;RPC [MAG4 PAT GET IMAGES] "RTN","MAGSIXG1",220,0) N I,MISCPRMS "RTN","MAGSIXG1",221,0) K MAGOUT S I=0 "RTN","MAGSIXG1",222,0) ;--- Check the patient IEN (DFN) "RTN","MAGSIXG1",223,0) I $G(DFN)'>0 D ERRORS(.MAGOUT,$$IPVE^MAGUERR("DFN")) Q "RTN","MAGSIXG1",224,0) S I=I+1,MISCPRMS(I)="IDFN^^"_(+DFN) "RTN","MAGSIXG1",225,0) ;--- Check the flags "RTN","MAGSIXG1",226,0) S:$G(FLAGS)="" FLAGS="E" "RTN","MAGSIXG1",227,0) I $TR(FLAGS,"DE")'="" D ERRORS(.MAGOUT,$$IPVE^MAGUERR("FLAGS")) Q "RTN","MAGSIXG1",228,0) ;--- Pass the filter parameters through "RTN","MAGSIXG1",229,0) S:$G(PKG)'="" I=I+1,MISCPRMS(I)="IXPKG^^"_$TR(PKG,",","^") "RTN","MAGSIXG1",230,0) S:$G(CLASS)'="" I=I+1,MISCPRMS(I)="IXCLASS^^"_$TR(CLASS,",","^") "RTN","MAGSIXG1",231,0) S:$G(TYPE)'="" I=I+1,MISCPRMS(I)="IXTYPE^^"_$TR(TYPE,",","^") "RTN","MAGSIXG1",232,0) S:$G(EVENT)'="" I=I+1,MISCPRMS(I)="IXPROC^^"_$TR(EVENT,",","^") "RTN","MAGSIXG1",233,0) S:$G(SPEC)'="" I=I+1,MISCPRMS(I)="IXSPEC^^"_$TR(SPEC,",","^") "RTN","MAGSIXG1",234,0) S:$G(ORIGIN)'="" I=I+1,MISCPRMS(I)="IXORIGIN^^"_$TR(ORIGIN,",","^") "RTN","MAGSIXG1",235,0) ;--- Call the new remote procedure implementation "RTN","MAGSIXG1",236,0) D GETIMGS(.MAGOUT,FLAGS,.FROMDATE,.TODATE,,.MISCPRMS) "RTN","MAGSIXG1",237,0) Q "RTN","MAGSIXG3") 0^25^B80973956 "RTN","MAGSIXG3",1,0) MAGSIXG3 ;WOIFO/SG/NST - LIST OF IMAGES RPCS (CALLBACK) ; 15 Nov 2010 8:18 AM "RTN","MAGSIXG3",2,0) ;;3.0;IMAGING;**93,117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGSIXG3",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGSIXG3",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGSIXG3",5,0) ;; | Property of the US Government. | "RTN","MAGSIXG3",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGSIXG3",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGSIXG3",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGSIXG3",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGSIXG3",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGSIXG3",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGSIXG3",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGSIXG3",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGSIXG3",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGSIXG3",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGSIXG3",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGSIXG3",17,0) ;; "RTN","MAGSIXG3",18,0) ; "RTN","MAGSIXG3",19,0) ; This routine uses the following ICRs: "RTN","MAGSIXG3",20,0) ; "RTN","MAGSIXG3",21,0) ; #3268 Read file #8925 (controlled) "RTN","MAGSIXG3",22,0) ; #10060 Read file #200 (supported) "RTN","MAGSIXG3",23,0) ; #2321 Read file #8925.1 (controlled) "RTN","MAGSIXG3",24,0) ; #2937 Read file #8925 (controlled) "RTN","MAGSIXG3",25,0) ; "RTN","MAGSIXG3",26,0) ; LOCAL VARIABLE ------ DESCRIPTION "RTN","MAGSIXG3",27,0) ; "RTN","MAGSIXG3",28,0) ; MAGDATA See the ^MAGSIXG4. "RTN","MAGSIXG3",29,0) ; "RTN","MAGSIXG3",30,0) ; TEMPORARY GLOBAL ---- DESCRIPTION "RTN","MAGSIXG3",31,0) ; "RTN","MAGSIXG3",32,0) ; ^TMP("MAGSIXG3",$J) See the ^MAGSIXG4. "RTN","MAGSIXG3",33,0) ; "RTN","MAGSIXG3",34,0) Q "RTN","MAGSIXG3",35,0) ; "RTN","MAGSIXG3",36,0) ;+++++ APPENDS THE IMAGE ENTRY TO THE RPC RESULT ARRAY "RTN","MAGSIXG3",37,0) ; "RTN","MAGSIXG3",38,0) ; IMGIEN IEN of the image record in file #2005 or #2005.1 "RTN","MAGSIXG3",39,0) ; "RTN","MAGSIXG3",40,0) ; DATA First half ("|"-piece) of the result item "RTN","MAGSIXG3",41,0) ; "RTN","MAGSIXG3",42,0) ; GRPCNTS Group counts (result of the $$GRPCT^MAGGI14) "RTN","MAGSIXG3",43,0) ; "RTN","MAGSIXG3",44,0) ; FLAGS Control flags for the $$INFO^MAGGAII "RTN","MAGSIXG3",45,0) ; "RTN","MAGSIXG3",46,0) ; Input Variables "RTN","MAGSIXG3",47,0) ; =============== "RTN","MAGSIXG3",48,0) ; MAGDATA "RTN","MAGSIXG3",49,0) ; "RTN","MAGSIXG3",50,0) ; Output Variables "RTN","MAGSIXG3",51,0) ; ================ "RTN","MAGSIXG3",52,0) ; MAGDATA, MAGOUT "RTN","MAGSIXG3",53,0) ; "RTN","MAGSIXG3",54,0) ; Return Values "RTN","MAGSIXG3",55,0) ; ============= "RTN","MAGSIXG3",56,0) ; <0 Error descriptor (see the $$ERROR^MAGUERR) "RTN","MAGSIXG3",57,0) ; 0 Success "RTN","MAGSIXG3",58,0) ; "RTN","MAGSIXG3",59,0) APPEND(IMGIEN,DATA,GRPCNTS,FLAGS) ; "RTN","MAGSIXG3",60,0) N IMGINFO,X "RTN","MAGSIXG3",61,0) ; "RTN","MAGSIXG3",62,0) ;--- Get the internal image data "RTN","MAGSIXG3",63,0) S IMGINFO=$$INFO^MAGGAII(IMGIEN,FLAGS,GRPCNTS) "RTN","MAGSIXG3",64,0) Q:IMGINFO<0 IMGINFO "RTN","MAGSIXG3",65,0) S $P(DATA,U,2)=$P(IMGINFO,U,16) ; Site Code "RTN","MAGSIXG3",66,0) S $P(DATA,U,6)=$P(IMGINFO,U,14) ; Number of images in the group "RTN","MAGSIXG3",67,0) S $P(DATA,U,16)=$P(IMGINFO,U) ; Image ID (IEN) "RTN","MAGSIXG3",68,0) ; "RTN","MAGSIXG3",69,0) ;--- Append the image data to the result array "RTN","MAGSIXG3",70,0) S MAGDATA("RESCNT")=$G(MAGDATA("RESCNT"))+1 "RTN","MAGSIXG3",71,0) S $P(DATA,U)=MAGDATA("RESCNT") "RTN","MAGSIXG3",72,0) S @MAGDATA@(MAGDATA("RESCNT")+1)=DATA_U_"|"_IMGINFO "RTN","MAGSIXG3",73,0) Q:MAGDATA("RESCNT")<76 0 Q:MAGDATA["^" 0 "RTN","MAGSIXG3",74,0) ; "RTN","MAGSIXG3",75,0) ;--- Image count is getting big, switch from "RTN","MAGSIXG3",76,0) ;--- a local array to a global node "RTN","MAGSIXG3",77,0) S MAGDATA=$NA(^TMP("MAGSIXG1",$J)) "RTN","MAGSIXG3",78,0) K @MAGDATA M @MAGDATA=MAGOUT "RTN","MAGSIXG3",79,0) S X=$$RTRNFMT^XWBLIB("GLOBAL ARRAY",1) "RTN","MAGSIXG3",80,0) K MAGOUT S MAGOUT=MAGDATA "RTN","MAGSIXG3",81,0) Q 0 "RTN","MAGSIXG3",82,0) ; "RTN","MAGSIXG3",83,0) ;+++++ PERFORMS SPECIAL CONVERSION OF THE DATE/TIME "RTN","MAGSIXG3",84,0) DTE(DTI) ; "RTN","MAGSIXG3",85,0) N X S X=$$FMTE^XLFDT(DTI,"5Z") "RTN","MAGSIXG3",86,0) Q $P(X,"@")_" "_$S($P(X,"@",2)'="":$P(X,"@",2),1:"00:01") "RTN","MAGSIXG3",87,0) ; "RTN","MAGSIXG3",88,0) ;+++++ CALLBACK FUNCTION FOR IMAGE QUERY "RTN","MAGSIXG3",89,0) ; "RTN","MAGSIXG3",90,0) ; IMGIEN IEN of the image record (file #2005 or #2005.1) "RTN","MAGSIXG3",91,0) ; "RTN","MAGSIXG3",92,0) ; FLAGS Parameters passed into the image query API "RTN","MAGSIXG3",93,0) ; .MAGDATA ($$QUERY^MAGGI13). See the GETIMGS^MAGSIXG1 "RTN","MAGSIXG3",94,0) ; for details. "RTN","MAGSIXG3",95,0) ; "RTN","MAGSIXG3",96,0) ; Input Variables "RTN","MAGSIXG3",97,0) ; =============== "RTN","MAGSIXG3",98,0) ; MAGJOB, MAGOUT "RTN","MAGSIXG3",99,0) ; "RTN","MAGSIXG3",100,0) ; Output Variables "RTN","MAGSIXG3",101,0) ; ================ "RTN","MAGSIXG3",102,0) ; MAGJOB, MAGOUT, ^TMP("MAGSIXG3",$J,...) "RTN","MAGSIXG3",103,0) ; "RTN","MAGSIXG3",104,0) ; Return Values "RTN","MAGSIXG3",105,0) ; ============= "RTN","MAGSIXG3",106,0) ; <0 Error descriptor (see the $$ERROR^MAGUERR) "RTN","MAGSIXG3",107,0) ; 0 Continue "RTN","MAGSIXG3",108,0) ; >0 Terminate the query "RTN","MAGSIXG3",109,0) ; "RTN","MAGSIXG3",110,0) QRYCBK(IMGIEN,FLAGS,MAGDATA) ; "RTN","MAGSIXG3",111,0) N CAPTAPP,CLASS,EVT,FLTX,GROUP,GRPCNTS,IIFLAGS,IMGNODE "RTN","MAGSIXG3",112,0) N ORIG,PKG,PTIEN,RC,SENSIMG,SKIP,SPEC,STATUS,TYPE "RTN","MAGSIXG3",113,0) N X,X0,X01,X100,X2,X40 "RTN","MAGSIXG3",114,0) N MAGFOUND ; temp loop flag "RTN","MAGSIXG3",115,0) S IMGNODE=$$NODE^MAGGI11(IMGIEN) Q:IMGNODE="" 0 "RTN","MAGSIXG3",116,0) ;=== Terminate the query when maximum number of records is reached "RTN","MAGSIXG3",117,0) I MAGDATA("MAXNUM"),MAGDATA("RESCNT")'0 S GROUP=1 Q:FLAGS["E" ; Existing "children" "RTN","MAGSIXG3",136,0) . I $P(GRPCNTS,U,2)>0 S GROUP=1 Q:FLAGS["D" ; Deleted "children" "RTN","MAGSIXG3",137,0) . ;--- Skip group headers that do not reference "RTN","MAGSIXG3",138,0) . ;--- any "child" images of requested kind(s) "RTN","MAGSIXG3",139,0) . I GROUP S SKIP=1 Q "RTN","MAGSIXG3",140,0) . ;--- If existing images are not requested, then "RTN","MAGSIXG3",141,0) . ;--- skip existing standalone image entries "RTN","MAGSIXG3",142,0) . I FLAGS'["E",'$$ISDEL^MAGGI11(IMGIEN) S SKIP=1 Q "RTN","MAGSIXG3",143,0) . Q "RTN","MAGSIXG3",144,0) ; "RTN","MAGSIXG3",145,0) ;=== Load other data associated with the image "RTN","MAGSIXG3",146,0) S X40=$G(@IMGNODE@(40)),X100=$G(@IMGNODE@(100)) "RTN","MAGSIXG3",147,0) S PTIEN=+$P(X0,U,7) ; PATIENT (5) "RTN","MAGSIXG3",148,0) S PKG=$P(X40,U) ; PACKAGE INDEX (40) "RTN","MAGSIXG3",149,0) S TYPE=$P(X40,U,3) ; TYPE INDEX (42) "RTN","MAGSIXG3",150,0) S EVT=$P(X40,U,4) ; PROC/EVENT INDEX (43) "RTN","MAGSIXG3",151,0) S SPEC=$P(X40,U,5) ; SPEC/SUBSPEC INDEX (44) "RTN","MAGSIXG3",152,0) S ORIG=$P(X40,U,6) ; ORIGIN INDEX (45) "RTN","MAGSIXG3",153,0) S:ORIG="" ORIG="V" ; Show VA by default "RTN","MAGSIXG3",154,0) S SENSIMG=+$P(X100,U,7) ; CONTROLLED IMAGE (112) "RTN","MAGSIXG3",155,0) S STATUS=$P(X100,U,8) ; STATUS(113) "RTN","MAGSIXG3",156,0) S CAPTAPP=$P(X2,U,12) ; CAPTURE APPLICATION (8.1) "RTN","MAGSIXG3",157,0) ; "RTN","MAGSIXG3",158,0) ;=== Patch 59. Treat Class as a computed field. "RTN","MAGSIXG3",159,0) ;=== Arrange with Mike to change DB. "RTN","MAGSIXG3",160,0) S CLASS=$S(TYPE:$P($G(^MAG(2005.83,+TYPE,0)),U,2),1:"") "RTN","MAGSIXG3",161,0) I $D(MAGDATA("PKG")),PKG'="" Q:'$D(MAGDATA("PKG",PKG)) 0 "RTN","MAGSIXG3",162,0) I $D(MAGDATA("ORIG")),ORIG'="" Q:'$D(MAGDATA("ORIG",ORIG)) 0 "RTN","MAGSIXG3",163,0) I $D(MAGDATA("CLS")),CLASS'="" Q:'$D(MAGDATA("CLS",CLASS)) 0 "RTN","MAGSIXG3",164,0) I $D(MAGDATA("TYPE")),TYPE Q:'$D(MAGDATA("TYPE",TYPE)) 0 "RTN","MAGSIXG3",165,0) ; "RTN","MAGSIXG3",166,0) I '(FLAGS["G") D Q:'MAGFOUND 0 ; doesn't meet the criteria. One strike and you have to quit "RTN","MAGSIXG3",167,0) . S MAGFOUND=1 "RTN","MAGSIXG3",168,0) . I $D(MAGDATA("ISTAT")),'$D(MAGDATA("ISTAT",+STATUS)) S MAGFOUND=0 Q "RTN","MAGSIXG3",169,0) . Q "RTN","MAGSIXG3",170,0) ; "RTN","MAGSIXG3",171,0) I FLAGS["G" D Q:'MAGFOUND 0 ; Quit. It doesn't meet the criteria "RTN","MAGSIXG3",172,0) . S MAGFOUND=0 "RTN","MAGSIXG3",173,0) . I '$D(MAGDATA("ISTAT")) S MAGFOUND=1 Q ;nothing to check. It means it is found "RTN","MAGSIXG3",174,0) . ; Check for single images first "RTN","MAGSIXG3",175,0) . I 'GROUP D Q "RTN","MAGSIXG3",176,0) . . I $D(MAGDATA("ISTAT",+STATUS)) S MAGFOUND=1 ; need this image "RTN","MAGSIXG3",177,0) . . Q "RTN","MAGSIXG3",178,0) . ;-- check all children in the group "RTN","MAGSIXG3",179,0) . N CHI,CHIEN,CHNODE,CH100,CHSTATUS "RTN","MAGSIXG3",180,0) . S CHI=0 "RTN","MAGSIXG3",181,0) . F S CHI=$O(@IMGNODE@(1,CHI)) Q:CHI'>0 D Q:MAGFOUND "RTN","MAGSIXG3",182,0) . . S CHIEN=+$G(@IMGNODE@(1,CHI,0)) "RTN","MAGSIXG3",183,0) . . Q:CHIEN'>0 "RTN","MAGSIXG3",184,0) . . S CHNODE=$$NODE^MAGGI11(CHIEN) Q:CHNODE="" "RTN","MAGSIXG3",185,0) . . S CH100=$G(@CHNODE@(100)) "RTN","MAGSIXG3",186,0) . . S CHSTATUS=$P(CH100,U,8) ; STATUS(113) "RTN","MAGSIXG3",187,0) . . I $D(MAGDATA("ISTAT",+CHSTATUS)) S MAGFOUND=1 "RTN","MAGSIXG3",188,0) . . Q "RTN","MAGSIXG3",189,0) . Q "RTN","MAGSIXG3",190,0) ; "RTN","MAGSIXG3",191,0) ;=== Skip list entries with no event if event is in "RTN","MAGSIXG3",192,0) ;=== the selection criteria (MAG*3*8) "RTN","MAGSIXG3",193,0) I $D(MAGDATA("EVT")) Q:EVT="" 0 Q:'$D(MAGDATA("EVT",EVT)) 0 "RTN","MAGSIXG3",194,0) ; "RTN","MAGSIXG3",195,0) ;=== Skip list entries with no specialty if specialty is in "RTN","MAGSIXG3",196,0) ;=== the selection criteria (MAG*3*8) "RTN","MAGSIXG3",197,0) I $D(MAGDATA("SPEC")) Q:SPEC="" 0 Q:'$D(MAGDATA("SPEC",SPEC)) 0 "RTN","MAGSIXG3",198,0) ; "RTN","MAGSIXG3",199,0) ;=== Skip list entries with no capture application if "RTN","MAGSIXG3",200,0) ;=== application is in the selection criteria "RTN","MAGSIXG3",201,0) I $D(MAGDATA("CAPTAPP")) Q:CAPTAPP="" 0 Q:'$D(MAGDATA("CAPTAPP",CAPTAPP)) 0 "RTN","MAGSIXG3",202,0) ; "RTN","MAGSIXG3",203,0) ;=== Check the short description "RTN","MAGSIXG3",204,0) I $D(MAGDATA("GDESC")) Q:$$UP^XLFSTR($P(X2,U,4))'[MAGDATA("GDESC") 0 "RTN","MAGSIXG3",205,0) ; "RTN","MAGSIXG3",206,0) ;=== Build the result item "RTN","MAGSIXG3",207,0) S $P(FLTX,U,3)=$$RPTITLE($P(X2,U,6),$P(X2,U,7)) ; Report title "RTN","MAGSIXG3",208,0) S $P(FLTX,U,4)=$$DTE($P(X2,U,5)) ; Procedure date "RTN","MAGSIXG3",209,0) S $P(FLTX,U,5)=$P(X0,U,8) ; Procedure "RTN","MAGSIXG3",210,0) S $P(FLTX,U,7)=$P(X2,U,4) ; Short descr. "RTN","MAGSIXG3",211,0) S $P(FLTX,U,8)=PKG ; Package "RTN","MAGSIXG3",212,0) S $P(FLTX,U,9)=$P($G(^MAG(2005.82,+CLASS,0)),U) ; Class "RTN","MAGSIXG3",213,0) S $P(FLTX,U,10)=$P($G(^MAG(2005.83,+TYPE,0)),U) ; Type "RTN","MAGSIXG3",214,0) S $P(FLTX,U,11)=$P($G(^MAG(2005.84,+SPEC,0)),U) ; (Sub)Specialty "RTN","MAGSIXG3",215,0) S $P(FLTX,U,12)=$P($G(^MAG(2005.85,+EVT,0)),U) ; Proc/Event "RTN","MAGSIXG3",216,0) S $P(FLTX,U,13)=$$EXTERNAL^DILFD(2005,45,,ORIG) ; Origin "RTN","MAGSIXG3",217,0) S $P(FLTX,U,14)=$$DTE($P(X2,U)) ; Capture date "RTN","MAGSIXG3",218,0) S $P(FLTX,U,15)=$$GET1^DIQ(200,+$P(X2,U,2)_",",.01) ; Captured by "RTN","MAGSIXG3",219,0) ; "RTN","MAGSIXG3",220,0) ;=== Flags for $$INFO^MAGGAII "RTN","MAGSIXG3",221,0) S IIFLAGS=$$TRFLAGS^MAGUTL05(FLAGS,"DE") "RTN","MAGSIXG3",222,0) ; "RTN","MAGSIXG3",223,0) ;=== Sparse subset query does not append image entries to the result "RTN","MAGSIXG3",224,0) ; array right away. It saves them to the temporary buffers in the "RTN","MAGSIXG3",225,0) ; ^TMP("MAGSIXG3",$J) global node instead. After all images are "RTN","MAGSIXG3",226,0) ; preselected, the $$SUBSET^MAGSIXG4 processes those buffers and "RTN","MAGSIXG3",227,0) ;=== appends required number of image entries to the result array. "RTN","MAGSIXG3",228,0) I MAGDATA("FLAGS")["S" S RC=0 D Q $S(RC<0:RC,1:0) "RTN","MAGSIXG3",229,0) . N I,TCNT "RTN","MAGSIXG3",230,0) . S (MAGDATA("TCNT"),TCNT)=$G(MAGDATA("TCNT"))+1 "RTN","MAGSIXG3",231,0) . ;--- If the image is associated with the same patient as the "RTN","MAGSIXG3",232,0) . ;--- previous one, save it in the regular temporary buffer. "RTN","MAGSIXG3",233,0) . I PTIEN=$G(MAGDATA("PREVPT")) D Q "RTN","MAGSIXG3",234,0) . . S I=$O(^TMP("MAGSIXG3",$J,"R",""),-1)+1 "RTN","MAGSIXG3",235,0) . . S ^TMP("MAGSIXG3",$J,"R",I)=TCNT_"|"_IMGIEN_"|"_GRPCNTS "RTN","MAGSIXG3",236,0) . . S ^TMP("MAGSIXG3",$J,"R",I,0)=FLTX "RTN","MAGSIXG3",237,0) . . Q "RTN","MAGSIXG3",238,0) . ;--- If the image is associated with a different patient, remember "RTN","MAGSIXG3",239,0) . ;--- the new DFN and store the image into the "priority" buffer. "RTN","MAGSIXG3",240,0) . S MAGDATA("PREVPT")=PTIEN "RTN","MAGSIXG3",241,0) . S ^TMP("MAGSIXG3",$J,"P",TCNT)=TCNT_"|"_IMGIEN_"|"_GRPCNTS "RTN","MAGSIXG3",242,0) . S ^TMP("MAGSIXG3",$J,"P",TCNT,0)=FLTX "RTN","MAGSIXG3",243,0) . ;--- If the image that precedes the patient change is not in the "RTN","MAGSIXG3",244,0) . ;--- "priority" buffer yet, move it there from the regular buffer. "RTN","MAGSIXG3",245,0) . S X=TCNT-1 Q:$D(^TMP("MAGSIXG3",$J,"P",X)) "RTN","MAGSIXG3",246,0) . S I=$O(^TMP("MAGSIXG3",$J,"R",""),-1) Q:I="" "RTN","MAGSIXG3",247,0) . I $P(^TMP("MAGSIXG3",$J,"R",I),"|")'=X D Q "RTN","MAGSIXG3",248,0) . . S RC=$$ERROR^MAGUERR(-47) ; This should never happen! "RTN","MAGSIXG3",249,0) . . Q "RTN","MAGSIXG3",250,0) . M ^TMP("MAGSIXG3",$J,"P",X)=^TMP("MAGSIXG3",$J,"R",I) "RTN","MAGSIXG3",251,0) . K ^TMP("MAGSIXG3",$J,"R",I) "RTN","MAGSIXG3",252,0) . Q "RTN","MAGSIXG3",253,0) ; "RTN","MAGSIXG3",254,0) ;=== Append the image item to the result array "RTN","MAGSIXG3",255,0) S RC=$$APPEND(IMGIEN,FLTX,GRPCNTS,IIFLAGS) Q:RC<0 RC "RTN","MAGSIXG3",256,0) ; "RTN","MAGSIXG3",257,0) ;=== Success "RTN","MAGSIXG3",258,0) Q 0 "RTN","MAGSIXG3",259,0) ; "RTN","MAGSIXG3",260,0) ;+++++ RETURNS THE NOTE TITLE "RTN","MAGSIXG3",261,0) RPTITLE(FILE,IEN) ; "RTN","MAGSIXG3",262,0) N TITLE,TMP "RTN","MAGSIXG3",263,0) I FILE=8925,IEN>0 D S TITLE=$P($G(^TIU(8925.1,TMP,0)),U) ; IA #2321 "RTN","MAGSIXG3",264,0) . S TMP=+$P($G(^TIU(8925,+IEN,0)),U) ; IA #2937 "RTN","MAGSIXG3",265,0) . Q "RTN","MAGSIXG3",266,0) Q $S($G(TITLE)'="":TITLE,1:" ") "RTN","MAGUXDPS") 0^26^B18227402 "RTN","MAGUXDPS",1,0) MAGUXDPS ;WOIFO/MLH - Imaging utility - rebuild ADTDUZ indices ; 6 Jun 2011 5:10 PM "RTN","MAGUXDPS",2,0) ;;3.0;IMAGING;**117**;Mar 19, 2002;Build 2238;Jul 15, 2011 "RTN","MAGUXDPS",3,0) ;; Per VHA Directive 2004-038, this routine should not be modified. "RTN","MAGUXDPS",4,0) ;; +---------------------------------------------------------------+ "RTN","MAGUXDPS",5,0) ;; | Property of the US Government. | "RTN","MAGUXDPS",6,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGUXDPS",7,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGUXDPS",8,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGUXDPS",9,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGUXDPS",10,0) ;; | telephone (301) 734-0100. | "RTN","MAGUXDPS",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGUXDPS",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGUXDPS",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGUXDPS",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGUXDPS",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGUXDPS",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGUXDPS",17,0) ;; "RTN","MAGUXDPS",18,0) Q "RTN","MAGUXDPS",19,0) ; "RTN","MAGUXDPS",20,0) SETUP ; Foreground setup "RTN","MAGUXDPS",21,0) W !,"Imaging DATE-USER-SITE index rebuild",!! "RTN","MAGUXDPS",22,0) W "This option builds the ADTDUZ cross reference on Files 2005 and 2005.1",! "RTN","MAGUXDPS",23,0) W "to optimize the gathering of user capture statistics.",! "RTN","MAGUXDPS",24,0) L +^MAG("ADT INDEX REBUILD"):0 "RTN","MAGUXDPS",25,0) E W !,"This option is in use by another process. Try again later.",! Q "RTN","MAGUXDPS",26,0) N HIT,IEN,PARENT,SAVINFO,SAVDAT,SITE,CAPAPP "RTN","MAGUXDPS",27,0) N DIR,ZTRTN,ZTDESC,ZTDTH,ZTSAVE,ZTIO,ZTSK,Y,DIRUT "RTN","MAGUXDPS",28,0) ; Find whether this has been run to completion previously "RTN","MAGUXDPS",29,0) S HIT=0,IEN=0 "RTN","MAGUXDPS",30,0) F S IEN=$O(^MAG(2005.1,IEN)) Q:'IEN D Q:HIT "RTN","MAGUXDPS",31,0) . ; don't count children, just standalones and group parents "RTN","MAGUXDPS",32,0) . S PARENT=$P($G(^MAG(2005.1,IEN,0)),"^",10) "RTN","MAGUXDPS",33,0) . S SAVINFO=$G(^MAG(2005.1,IEN,2)) "RTN","MAGUXDPS",34,0) . S SAVDAT=$P(SAVINFO,"^",1)\1,SAVUSER=$P(SAVINFO,"^",2),CAPAPP=$P(SAVINFO,"^",12) "RTN","MAGUXDPS",35,0) . S SITE=$P($G(^MAG(2005.1,IEN,100)),"^",3) "RTN","MAGUXDPS",36,0) . I PARENT="",SAVDAT'="",SAVUSER'="",CAPAPP'="",SITE'="" D "RTN","MAGUXDPS",37,0) . . S HIT=$S($D(^MAG(2005.1,"ADTDUZ",CAPAPP,SAVDAT,SAVUSER,SITE,IEN)):1,1:-1) "RTN","MAGUXDPS",38,0) . . Q "RTN","MAGUXDPS",39,0) . Q "RTN","MAGUXDPS",40,0) I 'HIT D G SETUPX "RTN","MAGUXDPS",41,0) . W !,"No entries qualify for indexing.",! "RTN","MAGUXDPS",42,0) . Q "RTN","MAGUXDPS",43,0) D:HIT=-1 "RTN","MAGUXDPS",44,0) . W !,"This option has not yet been run to completion." "RTN","MAGUXDPS",45,0) . Q "RTN","MAGUXDPS",46,0) D:HIT=1 "RTN","MAGUXDPS",47,0) . W !,"This option has previously been run to completion.",! "RTN","MAGUXDPS",48,0) . W "Enter F or B to re-run, or up-arrow (^) to exit.",! "RTN","MAGUXDPS",49,0) . Q "RTN","MAGUXDPS",50,0) S DIR(0)="S^F:Execute in the foreground;B:Execute in the background" "RTN","MAGUXDPS",51,0) S DIR("A")="Enter F or B" "RTN","MAGUXDPS",52,0) D ^DIR G:$D(DIRUT) SETUPX "RTN","MAGUXDPS",53,0) I Y="F" D REBUILD G SETUPX "RTN","MAGUXDPS",54,0) I Y="B" D G SETUPX "RTN","MAGUXDPS",55,0) . S ZTRTN="REBUILD^MAGUXDPS" "RTN","MAGUXDPS",56,0) . S ZTDESC="Rebuild DATE-USER-SITE indices" "RTN","MAGUXDPS",57,0) . S ZTDTH=$H "RTN","MAGUXDPS",58,0) . S ZTSAVE("SILENT")=1 ; no I/O for background process "RTN","MAGUXDPS",59,0) . S ZTIO="" ; no interactive I/O device "RTN","MAGUXDPS",60,0) . D ^%ZTLOAD,HOME^%ZIS "RTN","MAGUXDPS",61,0) . W:'$G(ZTSK) !,"TaskMan did not accept request",! "RTN","MAGUXDPS",62,0) . W:$G(ZTSK) !,"Queued as task number ",ZTSK,! "RTN","MAGUXDPS",63,0) . Q "RTN","MAGUXDPS",64,0) SETUPX ; "RTN","MAGUXDPS",65,0) L -^MAG("ADT INDEX REBUILD") "RTN","MAGUXDPS",66,0) Q "RTN","MAGUXDPS",67,0) REBUILD ; Foreground / background rebuild "RTN","MAGUXDPS",68,0) N FILENO,FILE,INTERVAL,I,IEN,PARENT,SAVINFO,SAVDAT,SAVUSER,CAPAPP,SITE "RTN","MAGUXDPS",69,0) L +^MAG("ADT INDEX REBUILD"):1E9 ; wait for foreground user exit "RTN","MAGUXDPS",70,0) F FILENO=2005,2005.1 D "RTN","MAGUXDPS",71,0) . S FILE=$NA(^MAG(FILENO)) "RTN","MAGUXDPS",72,0) . K @FILE@("ADTDUZ") "RTN","MAGUXDPS",73,0) . S INTERVAL=$O(@FILE@(" "),-1)\500 ; interval for meter if foreground "RTN","MAGUXDPS",74,0) . ; work backwards so we can tell whether we're done by testing the "RTN","MAGUXDPS",75,0) . ; existence of a cross reference for the 1st record on file "RTN","MAGUXDPS",76,0) . S IEN=" " "RTN","MAGUXDPS",77,0) . F I=1:1 S IEN=$O(@FILE@(IEN),-1) Q:'IEN D "RTN","MAGUXDPS",78,0) . . ; don't count children, just standalones and group parents "RTN","MAGUXDPS",79,0) . . S PARENT=$P($G(@FILE@(IEN,0)),"^",10) "RTN","MAGUXDPS",80,0) . . S SAVINFO=$G(@FILE@(IEN,2)) "RTN","MAGUXDPS",81,0) . . S SAVDAT=$P(SAVINFO,"^",1)\1,SAVUSER=$P(SAVINFO,"^",2),CAPAPP=$P(SAVINFO,"^",12) "RTN","MAGUXDPS",82,0) . . S SITE=$P($G(@FILE@(IEN,100)),"^",3) "RTN","MAGUXDPS",83,0) . . I PARENT="",SAVDAT'="",SAVUSER'="",CAPAPP'="",SITE'="" D "RTN","MAGUXDPS",84,0) . . . S @FILE@("ADTDUZ",CAPAPP,SAVDAT,SAVUSER,SITE,IEN)="" "RTN","MAGUXDPS",85,0) . . . I '$D(SILENT),I#INTERVAL=0 W "." "RTN","MAGUXDPS",86,0) . . . Q "RTN","MAGUXDPS",87,0) . . Q "RTN","MAGUXDPS",88,0) . Q "RTN","MAGUXDPS",89,0) K SILENT "RTN","MAGUXDPS",90,0) L -^MAG("ADT INDEX REBUILD") "RTN","MAGUXDPS",91,0) Q "SEC","^DIC",2006.961,2006.961,0,"AUDIT") @ "SEC","^DIC",2006.961,2006.961,0,"DD") @ "SEC","^DIC",2006.961,2006.961,0,"DEL") @ "SEC","^DIC",2006.961,2006.961,0,"LAYGO") @ "SEC","^DIC",2006.961,2006.961,0,"RD") @ "SEC","^DIC",2006.961,2006.961,0,"WR") @ "VER") 8.0^22.0 "^DD",2005,2005,.05,0) ACQUISITION SITE^RP4^DIC(4,^100;3^Q "^DD",2005,2005,.05,.1) Name of Site where Image was Created "^DD",2005,2005,.05,3) Enter the name of the site where the image was created. "^DD",2005,2005,.05,21,0) ^^7^7^2981013^^^^ "^DD",2005,2005,.05,21,1,0) The 'origin' location is the location where an image is created. "^DD",2005,2005,.05,21,2,0) For instance, a site like 'St. Louis' may process images for several "^DD",2005,2005,.05,21,3,0) other locations, such as Topeka, Wichita and Leavenworth. "^DD",2005,2005,.05,21,4,0) Any reference to a site identifier will return the name of the "^DD",2005,2005,.05,21,5,0) primary location. For the purpose of finding the 'origin' of images, "^DD",2005,2005,.05,21,6,0) the more specific sub-site is needed. "^DD",2005,2005,.05,21,7,0) This field contains the name of this 'sub-site'. "^DD",2005,2005,.05,"DT") 3110615 "^DD",2005,2005,7,0) DATE/TIME IMAGE SAVED^D^^2;1^S %DT="ETX" D ^%DT S X=Y K:Y<1 X "^DD",2005,2005,7,1,0) ^.1^^0 "^DD",2005,2005,7,3) This is the date and time of image capture. "^DD",2005,2005,7,21,0) ^.001^4^4^3060619^^^^ "^DD",2005,2005,7,21,1,0) This field is the date and time the image was captured. It is "^DD",2005,2005,7,21,2,0) automatically stuffed into the file as "NOW". It is not the same as the "^DD",2005,2005,7,21,3,0) date and time of the procedure or exam. This field is set automatically "^DD",2005,2005,7,21,4,0) by the Imaging software. "^DD",2005,2005,7,"DT") 3110615 "^DD",2005,2005,8,0) IMAGE SAVE BY^P200'^VA(200,^2;2^Q "^DD",2005,2005,8,1,0) ^.1^^0 "^DD",2005,2005,8,21,0) ^^5^5^2970721^ "^DD",2005,2005,8,21,1,0) This field is a pointer to the New Person file and thus equal to the DUZ "^DD",2005,2005,8,21,2,0) of the person who logged in to capture the image. It identifies who "^DD",2005,2005,8,21,3,0) captured or saved the image and is automatically stuffed into the Image "^DD",2005,2005,8,21,4,0) file. An image received via a Multimedia Mail message will not have data "^DD",2005,2005,8,21,5,0) in this field. "^DD",2005,2005,8,"DT") 3110615 "^DD",2005,2005,8.1,0) CAPTURE APPLICATION^S^C:Capture Workstation;D:DICOM Gateway;I:Import API;^2;12^Q "^DD",2005,2005,8.1,1,0) ^.1^^0 "^DD",2005,2005,8.1,3) Select code of the application that captured the image. "^DD",2005,2005,8.1,8.5) @ "^DD",2005,2005,8.1,9) ^ "^DD",2005,2005,8.1,20,0) ^.3LA^1^1 "^DD",2005,2005,8.1,20,1,0) MAG*3*93 "^DD",2005,2005,8.1,21,0) ^^6^6^3090407^ "^DD",2005,2005,8.1,21,1,0) Code stored in this field indicates the "^DD",2005,2005,8.1,21,2,0) application that captured this image and created "^DD",2005,2005,8.1,21,3,0) the image entry. "^DD",2005,2005,8.1,21,4,0) "^DD",2005,2005,8.1,21,5,0) This field cannot be edited; it is auto-populated "^DD",2005,2005,8.1,21,6,0) by the "ACA" action index. "^DD",2005,2005,8.1,23,0) ^.001^1^1^3090407^^^^ "^DD",2005,2005,8.1,23,1,0) Added by the patch MAG*3*93. "^DD",2005,2005,8.1,"DT") 3110615 "^DD",2005.1,2005.1,.01,0) OBJECT NAME^RF^^0;1^K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>70!($L(X)<3)!'(X'?1P.E) X "^DD",2005.1,2005.1,.01,1,0) ^.1 "^DD",2005.1,2005.1,.01,1,1,0) 2005.1^B "^DD",2005.1,2005.1,.01,1,1,1) S ^MAG(2005.1,"B",$E(X,1,30),DA)="" "^DD",2005.1,2005.1,.01,1,1,2) K ^MAG(2005.1,"B",$E(X,1,30),DA) "^DD",2005.1,2005.1,.01,1,2,0) ^^TRIGGER^2005.1^113 "^DD",2005.1,2005.1,.01,1,2,1) K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^MAG(2005.1,D0,100)):^(100),1:"") S X=$P(Y(1),U,8),X=X S DIU=X K Y S X=DIV S X="12" S DIH=$G(^MAG(2005.1,DIV(0),100)),DIV=X S $P(^(100),U,8)=DIV,DIH=2005.1,DIG=113 D ^DICR "^DD",2005.1,2005.1,.01,1,2,2) Q "^DD",2005.1,2005.1,.01,1,2,3) Do not delete! "^DD",2005.1,2005.1,.01,1,2,"%D",0) ^.101^4^4^3100826^^^^ "^DD",2005.1,2005.1,.01,1,2,"%D",1,0) This trigger populates the STATUS field (113) when "^DD",2005.1,2005.1,.01,1,2,"%D",2,0) a new record is added to the file. Since this file "^DD",2005.1,2005.1,.01,1,2,"%D",3,0) can store only deleted images, the image status is "^DD",2005.1,2005.1,.01,1,2,"%D",4,0) always set to 12 ("Deleted"). "^DD",2005.1,2005.1,.01,1,2,"CREATE VALUE") "12" "^DD",2005.1,2005.1,.01,1,2,"DELETE VALUE") NO EFFECT "^DD",2005.1,2005.1,.01,1,2,"DT") 3100826 "^DD",2005.1,2005.1,.01,1,2,"FIELD") STATUS "^DD",2005.1,2005.1,.01,3) Answer must be 3-70 characters in length. "^DD",2005.1,2005.1,.01,21,0) ^^3^3^2940523^ "^DD",2005.1,2005.1,.01,21,1,0) Each object has a natural language name; this usually consists of the "^DD",2005.1,2005.1,.01,21,2,0) patient name, social security number, and object description. This field "^DD",2005.1,2005.1,.01,21,3,0) is automatically defined by the Imaging software. "^DD",2005.1,2005.1,.01,"DT") 3100826 "^DD",2005.1,2005.1,.05,0) ACQUISITION SITE^RP4'^DIC(4,^100;3^Q "^DD",2005.1,2005.1,.05,3) Enter the name of the site where the image was created. "^DD",2005.1,2005.1,.05,21,0) ^.001^7^7^3030226^^^^ "^DD",2005.1,2005.1,.05,21,1,0) The 'origin' location is the location where an image is created. "^DD",2005.1,2005.1,.05,21,2,0) For instance, a site like 'St. Louis' may process images for several "^DD",2005.1,2005.1,.05,21,3,0) other locations, such as Topeka, Wichita and Leavenworth. "^DD",2005.1,2005.1,.05,21,4,0) Any reference to a site identifier will return the name of the "^DD",2005.1,2005.1,.05,21,5,0) primary location. For the purpose of finding the 'origin' of images, "^DD",2005.1,2005.1,.05,21,6,0) the more specific sub-site is needed. "^DD",2005.1,2005.1,.05,21,7,0) This field contains the name of this 'sub-site'. "^DD",2005.1,2005.1,.05,"DT") 3110615 "^DD",2005.1,2005.1,7,0) DATE/TIME IMAGE SAVED^D^^2;1^S %DT="ETX" D ^%DT S X=Y K:Y<1 X "^DD",2005.1,2005.1,7,1,0) ^.1^^0 "^DD",2005.1,2005.1,7,3) This is the date and time of image capture. "^DD",2005.1,2005.1,7,21,0) ^^4^4^2940523^ "^DD",2005.1,2005.1,7,21,1,0) This field is the date and time the image was captured. It is "^DD",2005.1,2005.1,7,21,2,0) automatically stuffed into the file as 'NOW'. It is not the same as the "^DD",2005.1,2005.1,7,21,3,0) date and time of the procedure or exam. This field is set automatically "^DD",2005.1,2005.1,7,21,4,0) by the Imaging software. "^DD",2005.1,2005.1,7,"DT") 3110615 "^DD",2005.1,2005.1,8,0) IMAGE SAVE BY^P200'^VA(200,^2;2^Q "^DD",2005.1,2005.1,8,1,0) ^.1^^0 "^DD",2005.1,2005.1,8,21,0) ^^5^5^2950426^^ "^DD",2005.1,2005.1,8,21,1,0) This field is a pointer to the New Person file and thus equal to the DUZ "^DD",2005.1,2005.1,8,21,2,0) of the person who logged in to capture the image. It identifies who "^DD",2005.1,2005.1,8,21,3,0) captured or saved the image and is automatically stuffed into the image "^DD",2005.1,2005.1,8,21,4,0) file. An image received via a Multimedia Mail message will not have data "^DD",2005.1,2005.1,8,21,5,0) in this field. "^DD",2005.1,2005.1,8,"DT") 3110615 "^DD",2005.1,2005.1,8.1,0) CAPTURE APPLICATION^S^C:Capture Workstation;D:DICOM Gateway;I:Import API;^2;12^Q "^DD",2005.1,2005.1,8.1,3) Select code of the application that captured the image. "^DD",2005.1,2005.1,8.1,8.5) @ "^DD",2005.1,2005.1,8.1,9) ^ "^DD",2005.1,2005.1,8.1,20,0) ^.3LA^1^1 "^DD",2005.1,2005.1,8.1,20,1,0) MAG*3*93 "^DD",2005.1,2005.1,8.1,21,0) ^^6^6^3090407^ "^DD",2005.1,2005.1,8.1,21,1,0) Code stored in this field indicates the "^DD",2005.1,2005.1,8.1,21,2,0) application that captured this image and created "^DD",2005.1,2005.1,8.1,21,3,0) the image entry. "^DD",2005.1,2005.1,8.1,21,4,0) "^DD",2005.1,2005.1,8.1,21,5,0) This field cannot be edited; it is auto-populated "^DD",2005.1,2005.1,8.1,21,6,0) by the "ACA" action index. "^DD",2005.1,2005.1,8.1,23,0) ^.001^1^1^3090407^^^^ "^DD",2005.1,2005.1,8.1,23,1,0) Added by the patch MAG*3*93. "^DD",2005.1,2005.1,8.1,"DT") 3110615 "^DD",2006.18,2006.18,78,0) SHOW DELETED IMAGE PLACEHOLDER^S^0:NO;1:YES;^APPPREFS;9^Q "^DD",2006.18,2006.18,78,3) Enter 'YES' if you want to see the deleted image placeholder. "^DD",2006.18,2006.18,78,21,0) ^^2^2^3101214^ "^DD",2006.18,2006.18,78,21,1,0) The value of this field controls the visibility of the "^DD",2006.18,2006.18,78,21,2,0) deleted image placeholder in VistA Imaging Display. "^DD",2006.18,2006.18,78,23,0) ^^1^1^3101214^ "^DD",2006.18,2006.18,78,23,1,0) Added in patch MAG*3.0*117 "^DD",2006.18,2006.18,78,"DT") 3101214 "^DD",2006.18,2006.18,79,0) SUPPRESS PRINT SUMMARY^S^0:NO;1:YES;^APPPREFS;10^Q "^DD",2006.18,2006.18,79,3) Enter 'YES' to stop the Print Summary from being printed at the end. "^DD",2006.18,2006.18,79,21,0) ^.001^4^4^3110304^^^ "^DD",2006.18,2006.18,79,21,1,0) This field is enabled so that the user can suppress the printing of the "^DD",2006.18,2006.18,79,21,2,0) 'Print Summary' at the end of a Multi-Image print. The Print Summary is a "^DD",2006.18,2006.18,79,21,3,0) list of all images in the filtered image list and the print status of "^DD",2006.18,2006.18,79,21,4,0) each image. "^DD",2006.18,2006.18,79,23,0) ^.001^1^1^3110304^^ "^DD",2006.18,2006.18,79,23,1,0) Added in patch MAG*3.0*117. "^DD",2006.18,2006.18,79,"DT") 3110304 "^DD",2006.18,2006.18,304,0) RIVER AUTO CONNECT DOD^S^0:NO;1:YES;^RIVER;5^Q "^DD",2006.18,2006.18,304,3) Enter 'YES' if you want to auto connect to DoD sites. "^DD",2006.18,2006.18,304,21,0) ^^2^2^3101221^ "^DD",2006.18,2006.18,304,21,1,0) Determines if the display client should automatically connect to "^DD",2006.18,2006.18,304,21,2,0) DoD sites for the selected patient. "^DD",2006.18,2006.18,304,23,0) ^.001^1^1^3101214^^^ "^DD",2006.18,2006.18,304,23,1,0) Added in patch MAG*3.0*117. "^DD",2006.18,2006.18,304,"DT") 3101221 "^DD",2006.961,2006.961,0) FIELD^^3^5 "^DD",2006.961,2006.961,0,"DDA") N "^DD",2006.961,2006.961,0,"DT") 3100604 "^DD",2006.961,2006.961,0,"IX","B",2006.961,.01) "^DD",2006.961,2006.961,0,"IX","C",2006.961,1) "^DD",2006.961,2006.961,0,"NM","MULTI IMAGE PRINT") "^DD",2006.961,2006.961,0,"VRPK") MAG "^DD",2006.961,2006.961,.01,0) PATIENT^RP2'^DPT(^0;1^Q "^DD",2006.961,2006.961,.01,1,0) ^.1 "^DD",2006.961,2006.961,.01,1,1,0) 2006.961^B "^DD",2006.961,2006.961,.01,1,1,1) S ^MAG(2006.961,"B",$E(X,1,30),DA)="" "^DD",2006.961,2006.961,.01,1,1,2) K ^MAG(2006.961,"B",$E(X,1,30),DA) "^DD",2006.961,2006.961,.01,3) Enter the patient associated with multiple images printed. "^DD",2006.961,2006.961,.01,21,0) ^^1^1^3100927^^ "^DD",2006.961,2006.961,.01,21,1,0) This is the patient whose images were printed. "^DD",2006.961,2006.961,.01,"DT") 3100927 "^DD",2006.961,2006.961,1,0) PRINT DATE^D^^0;2^S %DT="ESTXR" D ^%DT S X=Y K:X<1 X "^DD",2006.961,2006.961,1,1,0) ^.1 "^DD",2006.961,2006.961,1,1,1,0) 2006.961^C "^DD",2006.961,2006.961,1,1,1,1) S ^MAG(2006.961,"C",$E(X,1,30),DA)="" "^DD",2006.961,2006.961,1,1,1,2) K ^MAG(2006.961,"C",$E(X,1,30),DA) "^DD",2006.961,2006.961,1,1,1,"%D",0) ^^1^1^3100421^ "^DD",2006.961,2006.961,1,1,1,"%D",1,0) This cross reference is used to lookup entries based on the Print Date. "^DD",2006.961,2006.961,1,1,1,"DT") 3100421 "^DD",2006.961,2006.961,1,3) Enter date and time of images print. "^DD",2006.961,2006.961,1,21,0) ^^1^1^3100819^ "^DD",2006.961,2006.961,1,21,1,0) This field is the date and time the images were printed. "^DD",2006.961,2006.961,1,"DT") 3100819 "^DD",2006.961,2006.961,2,0) USER^P200'^VA(200,^0;3^Q "^DD",2006.961,2006.961,2,3) Enter the user who printed the images for the patient. "^DD",2006.961,2006.961,2,21,0) ^^1^1^3100927^^ "^DD",2006.961,2006.961,2,21,1,0) This is the person who printed the images. "^DD",2006.961,2006.961,2,"DT") 3100927 "^DD",2006.961,2006.961,3,0) REASON FOR PRINT^F^^RFP;1^K:$L(X)>70!($L(X)<1) X "^DD",2006.961,2006.961,3,3) Answer must be 1-70 characters in length. "^DD",2006.961,2006.961,3,21,0) ^^3^3^3101013^^ "^DD",2006.961,2006.961,3,21,1,0) This field indicates the reason the images were printed. The reason is "^DD",2006.961,2006.961,3,21,2,0) copied from the REASON field (#.01) of the MAG REASON file (#2005.88), as "^DD",2006.961,2006.961,3,21,3,0) selected by the user. "^DD",2006.961,2006.961,3,"DT") 3101013 "^DD",2006.961,2006.961,10,0) IMAGES PRINTED^2006.9613A^^IMG;0 "^DD",2006.961,2006.961,10,21,0) ^^1^1^3100927^ "^DD",2006.961,2006.961,10,21,1,0) This multiple contains the images which were printed. "^DD",2006.961,2006.9613,0) IMAGES PRINTED SUB-FIELD^^3^4 "^DD",2006.961,2006.9613,0,"DT") 3100603 "^DD",2006.961,2006.9613,0,"IX","B",2006.9613,.01) "^DD",2006.961,2006.9613,0,"NM","IMAGES PRINTED") "^DD",2006.961,2006.9613,0,"UP") 2006.961 "^DD",2006.961,2006.9613,.01,0) IMAGE ID^MNJ4,0^^0;1^K:+X'=X!(X>9999)!(X<1)!(X?.E1"."1.N) X "^DD",2006.961,2006.9613,.01,1,0) ^.1 "^DD",2006.961,2006.9613,.01,1,1,0) 2006.9613^B "^DD",2006.961,2006.9613,.01,1,1,1) S ^MAG(2006.961,DA(1),"IMG","B",$E(X,1,30),DA)="" "^DD",2006.961,2006.9613,.01,1,1,2) K ^MAG(2006.961,DA(1),"IMG","B",$E(X,1,30),DA) "^DD",2006.961,2006.9613,.01,3) Type a number between 1 and 9999, 0 decimal digits. "^DD",2006.961,2006.9613,.01,21,0) ^^1^1^3100819^ "^DD",2006.961,2006.9613,.01,21,1,0) This field identifies the image sequence in the printing process. "^DD",2006.961,2006.9613,.01,"DT") 3100603 "^DD",2006.961,2006.9613,1,0) IMAGE^P2005'^MAG(2005,^0;2^Q "^DD",2006.961,2006.9613,1,3) Select the image that was printed. "^DD",2006.961,2006.9613,1,21,0) ^^1^1^3100927^ "^DD",2006.961,2006.9613,1,21,1,0) This is the image that was printed. "^DD",2006.961,2006.9613,1,"DT") 3100927 "^DD",2006.961,2006.9613,2,0) IMAGE PRINT INFORMATION^F^^0;3^K:$L(X)>100!($L(X)<1) X "^DD",2006.961,2006.9613,2,3) Answer must be 1-100 characters in length. "^DD",2006.961,2006.9613,2,21,0) ^^5^5^3100928^^ "^DD",2006.961,2006.9613,2,21,1,0) This field identifies the image text displayed to the user in the VistA Imaging "^DD",2006.961,2006.9613,2,21,2,0) Clinical Capture and Display application and the print status of the "^DD",2006.961,2006.9613,2,21,3,0) image. "^DD",2006.961,2006.9613,2,21,4,0) "^DD",2006.961,2006.9613,2,21,5,0) e.g. SLC-DIAGRAM-CLIN-08/25/2010: Image printed. "^DD",2006.961,2006.9613,2,"DT") 3100928 "^DD",2006.961,2006.9613,3,0) REMOTE IMAGE^F^^REM;1^K:$L(X)>250!($L(X)<1) X "^DD",2006.961,2006.9613,3,3) Answer must be 1-250 characters in length. "^DD",2006.961,2006.9613,3,21,0) ^^2^2^3100603^ "^DD",2006.961,2006.9613,3,21,1,0) This field is used to identify a remote image location identifier. This "^DD",2006.961,2006.9613,3,21,2,0) field may be a URL or internal entry number on another system. "^DD",2006.961,2006.9613,3,"DT") 3100603 "^DIC",2006.961,2006.961,0) MULTI IMAGE PRINT^2006.961 "^DIC",2006.961,2006.961,0,"GL") ^MAG(2006.961, "^DIC",2006.961,2006.961,"%",0) ^1.005^^0 "^DIC",2006.961,2006.961,"%D",0) ^^2^2^3100420^ "^DIC",2006.961,2006.961,"%D",1,0) This file contains a log of multiple images that have been queued for "^DIC",2006.961,2006.961,"%D",2,0) printing. "^DIC",2006.961,"B","MULTI IMAGE PRINT",2006.961) **END** **END** **** ****