Changeset 623 for WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGGTII.m
- Timestamp:
- Dec 4, 2009, 12:11:15 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
WorldVistAEHR/trunk/r/IMAGING-MAG-ZMAG/MAGGTII.m
r613 r623 1 MAGGTII ;WOIFO/GEK - RETURN IMAGE INFO ; [ 11/08/2001 17:18 ] 2 ;;3.0;IMAGING;**8,48,63,59**;Nov 27, 2007;Build 20 3 ;;Per VHA Directive 2004-038, this routine should not be modified. 4 ;; +---------------------------------------------------------------+ 5 ;; | Property of the US Government. | 6 ;; | No permission to copy or redistribute this software is given. | 7 ;; | Use of unreleased versions of this software requires the user | 8 ;; | to execute a written test agreement with the VistA Imaging | 9 ;; | Development Office of the Department of Veterans Affairs, | 10 ;; | telephone (301) 734-0100. | 11 ;; | The Food and Drug Administration classifies this software as | 12 ;; | a medical device. As such, it may not be changed in any way. | 13 ;; | Modifications to this software may result in an adulterated | 14 ;; | medical device under 21CFR820, the use of which is considered | 15 ;; | to be a violation of US Federal Statutes. | 16 ;; +---------------------------------------------------------------+ 17 ;; 18 ; CALL WITH MAGXX=IEN of IMAGE FILE (2005) 19 ; RETURNS MAGFILE='^' delimited string of Image information. 20 ; 21 ; 22 INFO ;Get info for an Image File entry 23 ; We assume that MAGXX exists and is the Image File entry 24 ; We return a '^' delimited string for the Image entry. 25 ; $P(1^2^3) IEN^Image FullPath and name^Abstract FullPath and Name 26 ; $P(4) SHORT DESCRIPTION field and desc of offline JukeBox 27 ; $P(5) PROCEDURE/ EXAM DATE/TIME field 28 ; $P(6) OBJECT TYPE 29 ; $P(7) PROCEDURE field 30 ; $P(8) display date 31 ; $P(9) to return the PARENT DATA FILE image pointer 32 ; $p(10) return the ABSTYPE 'M' magnetic 'W' worm 'O' offline 33 ; $p(11) is 'A' accessible 'O' offline 34 ; $p(12^13) Dicom Series Number $p(12) and Image Number $p(13) 35 ; $p(14) is count of images in group, 1 if single image. 36 ; VISN15 37 ; $p(15^16) SiteParameter IEN ^ SiteParameter CODE 38 ; $P(17) is err description of Integrity Check 39 ; $P(18) Image BIGPath and name //Patch 5 40 ; $P(19^20) Patient DFN ^ Patient Name; // Patch 3.8 41 ; $P(21) Image Class: Clin,Admin,Clin/Admin,Admin/Clin 42 ; $p(22) Date Time Image Saved(FLD 7) 43 ; $p(23) Document Date (FLD 110) 44 ; 45 N FILETYPE,MAGPREF,MAGJBCP,GRPTYPE,GRPIEN,ABSTYPE,MAGTYPE,MAGJBOL 46 N MAGOFFLN,FULLTYPE,MAGOBJT,MAGQI,X 47 N ABSFILE,FULLFILE,BIGFILE,PATCH,MDFN,FNL,PLC,PLCODE 48 N MAGN0,MAGN2,MAGN40,MAGN100 49 ; set the Variables for the Global Nodes of the Image Entry 50 S MAGN0=$G(^MAG(2005,MAGXX,0)) 51 S MDFN=$P(MAGN0,"^",7) 52 S MAGN2=$G(^MAG(2005,MAGXX,2)) 53 S MAGN40=$G(^MAG(2005,MAGXX,40)) 54 S MAGN100=$G(^MAG(2005,MAGXX,100)) 55 ; Set Name in Variable, Call $$GET 1 time not 2000 56 I MDFN I '$D(MAGJOB("PTNM",MDFN)) S MAGJOB("PTNM",MDFN)=$$GET1^DIQ(2,MDFN_",",.01) 57 I '$D(MAGJOB("NETPLC")) D NETPLCS^MAGGTU6 58 ; Object Type 59 S MAGOBJT=$P(MAGN0,"^",6) 60 ; if this is a group, change MAGXX to first image in group to get 61 ; that abstract to use for the group abstract 62 I MAGOBJT=11!(MAGOBJT=16) S GRPTYPE=MAGOBJT D 63 . S X=$O(^MAG(2005,MAGXX,1,0)) 64 . ; next line to account for group of NO images for whatever reason. 65 . ; we change Object Type to XRAY (3) or STILL IMAGE (1) 66 . I 'X S MAGOBJT=$S(MAGOBJT=11:3,MAGOBJT=16:1,1:1) K GRPTYPE Q 67 . S X=^MAG(2005,MAGXX,1,X,0) 68 . ; keep the Real IEN, so we can change back later 69 . S GRPIEN=MAGXX,MAGXX=+X 70 . Q 71 S MAGJBCP=0 ; Don't Queue a copy from JukeBox. 72 ; The call to FINDFILE returns: 73 ; MAGFILE1=LA100066.ABS filename 74 ; if no Network Location pointer or INVALID Pointer 75 ; then MAGFILE1=-1~NO NETWORK LOCATION POINTER 76 ; or -1~INVALID NETWORK LOCATION POINTER 77 ; MAGFILE1(.01)=ONE,PATIENT 111223333 image desc 78 ; MAGJBOL= desc of Offline server 79 ; MAGOFFLN= if JB is offline 80 ; MAGPREF=C:\TEMP\LA\10\00\ path 81 ; MAGTYPE=MAG MAG or WORM 82 ; 83 ; first get Full Path and File Name of the Abstract 84 S FILETYPE="ABSTRACT" K MAGFILE1("ERROR") 85 S MAGPREF="" D FINDFILE^MAGFILEB 86 S MAGFILE1=$TR(MAGFILE1,"^","~") ; MAGFILE1 has '^' in it if errors 87 I $D(MAGFILE1("ERROR")) S MAGFILE1=MAGFILE1("ERROR") 88 S ABSTYPE=$E(MAGTYPE,1) I MAGOFFLN S ABSTYPE="O" 89 ; Here we must test for +MAGFILE1 = -1 which means we don't have 90 ; any entry in the Image File for the Abstract Network Location 91 ; pointer. 92 S MAGPREF=$G(MAGPREF) 93 S ABSFILE=MAGPREF_MAGFILE1 94 ; 95 ; now lets get the Full Path and file name FULL RES image. 96 S FULLTYPE="A" ; Accessible 97 S FILETYPE="FULL" K MAGFILE1("ERROR") 98 S MAGPREF="" D FINDFILE^MAGFILEB 99 S MAGFILE1=$TR(MAGFILE1,"^","~") ; MAGFILE1 has '^' in it if errors 100 I $D(MAGFILE1("ERROR")) S MAGFILE1=MAGFILE1("ERROR") 101 I MAGOFFLN S FULLTYPE="O" ; Offline 102 ; here we have to do the same test as above. for bad data. 103 S MAGPREF=$G(MAGPREF) 104 S FULLFILE=MAGPREF_MAGFILE1 105 ; 106 ; now lets get the Full Path and file name for BIG image. 107 S FILETYPE="BIG" K MAGFILE1("ERROR") 108 S MAGPREF="" D FINDFILE^MAGFILEB 109 S MAGFILE1=$TR(MAGFILE1,"^","~") ; MAGFILE1 has '^' in it if errors 110 I $D(MAGFILE1("ERROR")) S MAGFILE1=MAGFILE1("ERROR") 111 S MAGPREF=$G(MAGPREF) 112 S BIGFILE=$S($E(MAGFILE1,1,2)="-1":"",1:MAGPREF_MAGFILE1) 113 ; 114 K MAGFILE1 ; Cleanup 115 ; Site and Site Code are in Entry of first Image in Group 116 ; so we need to set here, before MAGXX is changed back. 117 S X=$G(^MAG(2005,MAGXX,0)) 118 S FNL=$S(+$P(X,"^",3):$P(X,"^",3),1:+$P(X,"^",5)) 119 S PLC=$P($G(MAGJOB("NETPLC",FNL)),"^",1) 120 S PLCODE=$P($G(MAGJOB("NETPLC",FNL)),"^",2) 121 I PLC="" S PLC=$G(MAGJOB("PLC")),PLCODE=$G(MAGJOB("PLCODE")) ; Group of 0 need this. 122 ; if we were using first image of a group, reset the Real IEN 123 I $G(GRPIEN) S MAGXX=GRPIEN 124 ; 125 ; we have to change the OBJECT TYPE variable back to real value 126 ; MAGOBJT might have been changed if we had Group of no images. 127 ; but we need to keep it changed, because Delphi window checks this 128 ; entry to determine which window to open. 129 ; i.e. Group window, Single image window, 130 S MAGOBJT=$P(MAGN0,U,6) 131 ; 132 ; now start building the return string 133 ; 134 S PATCH=$P($G(MAGJOB("VERSION")),".",3) ; //'="3.0.8") 135 K MAGFILE 136 S $P(MAGFILE,U,25)="" ; We put extra '^^^' on end of String to stop error in Delphi. 137 ; Pieces 26 BrokerServer and 27 Broker Port are set if this is P59 Client. 138 ; Clients Prior to Patch 59, the String must only be 25 pieces. - Patch 45 snafu 139 ; 140 ; $P(1^2^3) IEN^Image FullPath and name^Abstract FullPath and Name 141 S $P(MAGFILE,U,1,3)=MAGXX_U_FULLFILE_U_ABSFILE 142 ; 143 ; now set $P(4) SHORT DESCRIPTION field and desc of offline JukeBox 144 S $P(MAGFILE,U,4)=$P(MAGN2,U,4)_$G(MAGJBOL) 145 ; 146 ; now set $P(5)PROCEDURE/ EXAM DATE/TIME field 147 S $P(MAGFILE,U,5)=$P(MAGN2,U,5) 148 ; 149 ; now set $P(6) OBJECT TYPE 150 S $P(MAGFILE,U,6)=MAGOBJT 151 ; 152 ; now set $P(7) PROCEDURE field 153 S $P(MAGFILE,U,7)=$P(MAGN0,U,8) 154 ; 155 ; now we're making a DATE to display and will use it for a sort in 156 ; the delphi TStringGrid so we display mm/dd/yyyy 157 ; now set $P(8) display date 158 S X=$$FMTE^XLFDT($P(MAGN2,U,5),"5Z") 159 S X=$TR(X,"@"," ") 160 S $P(MAGFILE,U,8)=X 161 ; 162 ; now return the PARENT DATA FILE image pointer 163 S $P(MAGFILE,U,9)=$P(MAGN2,U,8) 164 ; 165 ; now return the ABSTYPE ( this is 'M' or 'W' or 'O' ) 166 ; 'M' magnetic 'W' worm 'O' offline 167 S $P(MAGFILE,U,10)=ABSTYPE 168 ; 169 ; now return the code to show if full res image is offline 'A' or 'O' 170 ; 'A' accessible 'O' offline 171 S $P(MAGFILE,U,11)=FULLTYPE 172 ; 173 ; 2/1/99 Dicom Series number and Dicom Image Number 174 ; $p(12) and $p(13) 175 ; 176 ; 14 - count of images , if this is a group 177 S X=+$P($G(^MAG(2005,MAGXX,1,0)),U,4),$P(MAGFILE,U,14)=$S(X:X,1:1) 178 ; 179 ; $p(15^16 ) are SiteIEN and SiteCode Consolidation - DBI 180 ; We use SiteIEN and SiteCODE from above 181 S $P(MAGFILE,"^",15)=PLC 182 S $P(MAGFILE,"^",16)=PLCODE 183 ; 184 ; $p(17) 8/22/01 GEK Mod for integrity check. 185 I '$G(MAGNOCHK) D CHK^MAGGSQI(.MAGQI,MAGXX) I 'MAGQI(0) D 186 . ; remove the Abstract and Image File Names ; 2/14/03 remove c:\program files... with .\bmp\ 187 . S $P(MAGFILE,U,2,3)="-1~Questionable Data Integrity^.\bmp\imageQA.bmp" 188 . ;this stops Delphi App from changing Abstract BMP to OFFLINE IMAGE 189 . S $P(MAGFILE,U,6)=$S(($P(MAGFILE,U,6)'=11):"99",1:11) 190 . S $P(MAGFILE,U,10)="M" 191 . ;Send the error message 192 . S $P(MAGFILE,U,17)=$P(MAGQI(0),U,2) 193 ; $p(18) is BIGFile Full name and path. 194 S $P(MAGFILE,U,18)=BIGFILE 195 ; DFN 196 S $P(MAGFILE,U,19)=$P(MAGN0,U,7) 197 ; Patient Name 198 S $P(MAGFILE,U,20)=$S(MDFN:MAGJOB("PTNM",MDFN),1:MDFN) 199 S $P(MAGFILE,U,21)=$S(+$P(MAGN40,U,2):$P(^MAG(2005.82,$P(MAGN40,U,2),0),U),1:"") 200 S X=$$FMTE^XLFDT($P(MAGN2,U,1),"5Z") ; Date/Time Image Saved #7 201 S X=$TR(X,"@"," ") 202 S $P(MAGFILE,U,22)=X 203 S X=$$FMTE^XLFDT($P(MAGN100,U,6),"5Z") ; DocumentDate #110 204 S X=$TR(X,"@"," ") 205 S $P(MAGFILE,U,23)=X 206 ; If Patch 59 Client - we can set beyond 25 pieces. 207 I $D(MAGJOB("RPCSERVER"))&$D(MAGJOB("RPCPORT")) D 208 . S $P(MAGFILE,U,26)=MAGJOB("RPCSERVER") 209 . S $P(MAGFILE,U,27)=MAGJOB("RPCPORT") 210 . S $P(MAGFILE,U,28)="" ; "^" at end, stops problems in delphi 211 . Q 212 ; Stop displaying a Group of 1 as a Group, so here we'll change Object type 213 ; to that of the '1ST' image in the group of 1. 214 I $P($G(^MAG(2005,MAGXX,1,0)),U,4)=1 D 215 . S X=$O(^MAG(2005,MAGXX,1,0)) 216 . S X=+^MAG(2005,MAGXX,1,X,0) 217 . S $P(MAGFILE,U,6)=$P(^MAG(2005,X,0),U,6) ; OBJECT TYPE OF 1ST IMAGE IN GROUP 218 . S $P(MAGFILE,U,1)=X 219 . Q 220 Q 1 MAGGTII ;WOIFO/GEK - RETURN IMAGE INFO ; [ 11/08/2001 17:18 ] 2 ;;3.0;IMAGING;**8,48,63**;Apr 11, 2005 3 ;; +---------------------------------------------------------------+ 4 ;; | Property of the US Government. | 5 ;; | No permission to copy or redistribute this software is given. | 6 ;; | Use of unreleased versions of this software requires the user | 7 ;; | to execute a written test agreement with the VistA Imaging | 8 ;; | Development Office of the Department of Veterans Affairs, | 9 ;; | telephone (301) 734-0100. | 10 ;; | | 11 ;; | The Food and Drug Administration classifies this software as | 12 ;; | a medical device. As such, it may not be changed in any way. | 13 ;; | Modifications to this software may result in an adulterated | 14 ;; | medical device under 21CFR820, the use of which is considered | 15 ;; | to be a violation of US Federal Statutes. | 16 ;; +---------------------------------------------------------------+ 17 ;; 18 ; CALL WITH MAGXX=IEN of IMAGE FILE (2005) 19 ; RETURNS MAGFILE='^' delimited string of Image information. 20 ; 21 ; 22 INFO ;Get info for an Image File entry 23 ; We assume that MAGXX exists and is the Image File entry 24 ; We return a '^' delimited string for the Image entry. 25 ; $P(1^2^3) IEN^Image FullPath and name^Abstract FullPath and Name 26 ; $P(4) SHORT DESCRIPTION field and desc of offline JukeBox 27 ; $P(5) PROCEDURE/ EXAM DATE/TIME field 28 ; $P(6) OBJECT TYPE 29 ; $P(7) PROCEDURE field 30 ; $P(8) display date 31 ; $P(9) to return the PARENT DATA FILE image pointer 32 ; $p(10) return the ABSTYPE 'M' magnetic 'W' worm 'O' offline 33 ; $p(11) is 'A' accessible 'O' offline 34 ; $p(12^13) Dicom Series Number $p(12) and Image Number $p(13) 35 ; $p(14) is count of images in group, 1 if single image. 36 ; VISN15 37 ; $p(15^16) SiteParameter IEN ^ SiteParameter CODE 38 ; $P(17) is err description of Integrity Check 39 ; $P(18) Image BIGPath and name //Patch 5 40 ; $P(19^20) Patient DFN ^ Patient Name; // Patch 3.8 41 ; $P(21) Image Class: Clin,Admin,Clin/Admin,Admin/Clin 42 ; 43 N FILETYPE,MAGPREF,MAGJBCP,GRPTYPE,GRPIEN,ABSTYPE,MAGTYPE,MAGJBOL 44 N MAGOFFLN,FULLTYPE,MAGOBJT,MAGQI,X 45 N ABSFILE,FULLFILE,BIGFILE,PATCH,MDFN,FNL,PLC,PLCODE 46 N MAGN0,MAGN2,MAGN40 47 ; set the Variables for the Global Nodes of the Image Entry 48 S MAGN0=$G(^MAG(2005,MAGXX,0)),MDFN=$P(MAGN0,"^",7) ; P48T1 MDFN 49 S MAGN2=$G(^MAG(2005,MAGXX,2)) 50 S MAGN40=$G(^MAG(2005,MAGXX,40)) 51 ; P48T1 Set Name in Variable, Call $$GET 1 time not 2000 52 I '$D(MAGJOB("PTNM",MDFN)) S MAGJOB("PTNM",MDFN)=$$GET1^DIQ(2,MDFN_",",.01) 53 I '$D(MAGJOB("NETPLC")) D NETPLCS^MAGGTU6 54 ; Object Type 55 S MAGOBJT=$P(MAGN0,"^",6) 56 ; if this is a group, change MAGXX to first image in group to get 57 ; that abstract to use for the group abstract 58 I MAGOBJT=11!(MAGOBJT=16) S GRPTYPE=MAGOBJT D 59 . S X=$O(^MAG(2005,MAGXX,1,0)) 60 . ; next line to account for group of NO images for whatever reason. 61 . ; we change Object Type to XRAY (3) or STILL IMAGE (1) 62 . I 'X S MAGOBJT=$S(MAGOBJT=11:3,MAGOBJT=16:1,1:1) K GRPTYPE Q 63 . S X=^MAG(2005,MAGXX,1,X,0) 64 . ; keep the Real IEN, so we can change back later 65 . S GRPIEN=MAGXX,MAGXX=+X 66 . Q 67 S MAGJBCP=0 ; Don't Queue a copy from JukeBox. 68 ; The call to FINDFILE returns: 69 ; MAGFILE1=LA100066.ABS filename 70 ; if no Network Location pointer or INVALID Pointer 71 ; then MAGFILE1=-1~NO NETWORK LOCATION POINTER 72 ; or -1~INVALID NETWORK LOCATION POINTER 73 ; MAGFILE1(.01)=ONE,PATIENT 111223333 image desc 74 ; MAGJBOL= desc of Offline server 75 ; MAGOFFLN= if JB is offline 76 ; MAGPREF=C:\TEMP\LA\10\00\ path 77 ; MAGTYPE=MAG MAG or WORM 78 ; 79 ; first get Full Path and File Name of the Abstract 80 S FILETYPE="ABSTRACT" K MAGFILE1("ERROR") 81 S MAGPREF="" D FINDFILE^MAGFILEB 82 S MAGFILE1=$TR(MAGFILE1,"^","~") ; MAGFILE1 has '^' in it if errors 83 I $D(MAGFILE1("ERROR")) S MAGFILE1=MAGFILE1("ERROR") 84 S ABSTYPE=$E(MAGTYPE,1) I MAGOFFLN S ABSTYPE="O" 85 ; Here we must test for +MAGFILE1 = -1 which means we don't have 86 ; any entry in the Image File for the Abstract Network Location 87 ; pointer. 88 S MAGPREF=$G(MAGPREF) 89 S ABSFILE=MAGPREF_MAGFILE1 90 ; 91 ; now lets get the Full Path and file name FULL RES image. 92 S FULLTYPE="A" ; Accessible 93 S FILETYPE="FULL" K MAGFILE1("ERROR") 94 S MAGPREF="" D FINDFILE^MAGFILEB 95 S MAGFILE1=$TR(MAGFILE1,"^","~") ; MAGFILE1 has '^' in it if errors 96 I $D(MAGFILE1("ERROR")) S MAGFILE1=MAGFILE1("ERROR") 97 I MAGOFFLN S FULLTYPE="O" ; Offline 98 ; here we have to do the same test as above. for bad data. 99 S MAGPREF=$G(MAGPREF) 100 S FULLFILE=MAGPREF_MAGFILE1 101 ; 102 ; now lets get the Full Path and file name for BIG image. 103 S FILETYPE="BIG" K MAGFILE1("ERROR") 104 S MAGPREF="" D FINDFILE^MAGFILEB 105 S MAGFILE1=$TR(MAGFILE1,"^","~") ; MAGFILE1 has '^' in it if errors 106 I $D(MAGFILE1("ERROR")) S MAGFILE1=MAGFILE1("ERROR") 107 S MAGPREF=$G(MAGPREF) 108 S BIGFILE=$S($E(MAGFILE1,1,2)="-1":"",1:MAGPREF_MAGFILE1) 109 ; 110 K MAGFILE1 ; Cleanup 111 ; Site and Site Code are in Entry of first Image in Group 112 ; so we need to set here, before MAGXX is changed back. 113 S X=$G(^MAG(2005,MAGXX,0)) 114 S FNL=$S(+$P(X,"^",3):$P(X,"^",3),1:+$P(X,"^",5)) 115 S PLC=$P($G(MAGJOB("NETPLC",FNL)),"^",1) 116 S PLCODE=$P($G(MAGJOB("NETPLC",FNL)),"^",2) 117 ; if we were using first image of a group, reset the Real IEN 118 I $G(GRPIEN) S MAGXX=GRPIEN 119 ; 120 ; we have to change the OBJECT TYPE variable back to real value 121 ; MAGOBJT might have been changed if we had Group of no images. 122 ; but we need to keep it changed, because Delphi window checks this 123 ; entry to determine which window to open. 124 ; i.e. Group window, Single image window, 125 S MAGOBJT=$P(MAGN0,U,6) 126 ; 127 ; now start building the return string 128 ; 129 S PATCH=$P($G(MAGJOB("VERSION")),".",3) ; //'="3.0.8") 130 K MAGFILE 131 S $P(MAGFILE,U,25)="" ; We put extra '^^^' on end of String to stop error in Delphi. 132 ; 133 ; $P(1^2^3) IEN^Image FullPath and name^Abstract FullPath and Name 134 S $P(MAGFILE,U,1,3)=MAGXX_U_FULLFILE_U_ABSFILE 135 S $P(MAGFILE,U,18)=BIGFILE 136 ; 137 ; now set $P(4) SHORT DESCRIPTION field and desc of offline JukeBox 138 S $P(MAGFILE,U,4)=$P(MAGN2,U,4)_$G(MAGJBOL) 139 ; 140 ; now set $P(5)PROCEDURE/ EXAM DATE/TIME field 141 S $P(MAGFILE,U,5)=$P(MAGN2,U,5) 142 ; 143 ; now set $P(6) OBJECT TYPE 144 S $P(MAGFILE,U,6)=MAGOBJT 145 ; 146 ; now set $P(7) PROCEDURE field 147 S $P(MAGFILE,U,7)=$P(MAGN0,U,8) 148 ; 149 ; now we're making a DATE to display and will use it for a sort in 150 ; the delphi TStringGrid so we display mm/dd/yyyy 151 ; now set $P(8) display date 152 S X=$P($P(MAGN2,"^",5),".",1) 153 I X'="" S X=$E(X,4,5)_"/"_$E(X,6,7)_"/"_($E(X,1,3)+1700) 154 S $P(MAGFILE,U,8)=X 155 ; 156 ; now return the PARENT DATA FILE image pointer 157 S $P(MAGFILE,U,9)=$P(MAGN2,U,8) 158 ; 159 ; now return the ABSTYPE ( this is 'M' or 'W' or 'O' ) 160 ; 'M' magnetic 'W' worm 'O' offline 161 S $P(MAGFILE,U,10)=ABSTYPE 162 ; 163 ; now return the code to show if full res image is offline 'A' or 'O' 164 ; 'A' accessible 'O' offline 165 S $P(MAGFILE,U,11)=FULLTYPE 166 ; 167 ; 2/1/99 Dicom Series number and Dicom Image Number 168 ; $p(12) and $p(13) 169 ; 170 ; lets add the count of images , if this is a group 171 S X=+$P($G(^MAG(2005,MAGXX,1,0)),U,4),$P(MAGFILE,U,14)=$S(X:X,1:1) 172 ; 173 ; $p(15^16 ) are SiteIEN and SiteCode Consolidation - DBI 174 ; We use SiteIEN and SiteCODE from above 175 S $P(MAGFILE,"^",15)=PLC 176 S $P(MAGFILE,"^",16)=PLCODE 177 ; 178 ; $p(17) 8/22/01 GEK Mod for integrity check. 179 I '$G(MAGNOCHK) D CHK^MAGGSQI(.MAGQI,MAGXX) I 'MAGQI(0) D 180 . ; remove the Abstract and Image File Names ; 2/14/03 remove c:\program files... with .\bmp\ 181 . S $P(MAGFILE,U,2,3)="-1~Questionable Data Integrity^.\bmp\imageQA.bmp" 182 . ;this stops Delphi App from changing Abstract BMP to OFFLINE IMAGE 183 . S $P(MAGFILE,U,6)=$S(($P(MAGFILE,U,6)'=11):"99",1:11) 184 . S $P(MAGFILE,U,10)="M" 185 . ;Send the error message 186 . S $P(MAGFILE,U,17)=$P(MAGQI(0),U,2) 187 ; $p(18) is BIGFile Full name and path. ( set above) 188 ; Patches prior to 8, only had 17 pieces of data. this will speed up their listings. 189 ; Patch 8 had New M rtn MAGSIXG1, if it doesn't exist, this is PRE - 8. 190 I '$L($T(PGI^MAGSIXG1)) Q 191 S $P(MAGFILE,U,19)=$P(MAGN0,U,7) ; DFN 192 ; P48T1 The change to speed up access to large groups left out patient name. 193 ;S $P(MAGFILE,U,20)=$$GET1^DIQ(2,$P(MAGN0,U,7)_",",.01) ; Patient Name 194 S $P(MAGFILE,U,20)=MAGJOB("PTNM",MDFN) 195 S $P(MAGFILE,U,21)=$S(+$P(MAGN40,U,2):$P(^MAG(2005.82,$P(MAGN40,U,2),0),U),1:"") 196 ; Stop displaying a Group of 1 as a Group, so here we'll change Object type 197 ; to that of the '1ST' image in the group of 1. 198 I $P($G(^MAG(2005,MAGXX,1,0)),U,4)=1 D 199 . S X=$O(^MAG(2005,MAGXX,1,0)) 200 . S X=+^MAG(2005,MAGXX,1,X,0) 201 . S $P(MAGFILE,U,6)=$P(^MAG(2005,X,0),U,6) ; OBJECT TYPE OF 1ST IMAGE IN GROUP 202 . S $P(MAGFILE,U,1)=X 203 . ; Need Site and Site code of 204 Q
Note:
See TracChangeset
for help on using the changeset viewer.