KIDS Distribution saved on Apr 14, 2004@15:16:51 VistA Imaging V3.0 - Patch 11 - 04/14/2004 15:16PM **KIDS**:MAG*3.0*11^ **INSTALL NAME** MAG*3.0*11 "BLD",3463,0) MAG*3.0*11^IMAGING^0^3040414^y "BLD",3463,1,0) ^^220^220^3040414^ "BLD",3463,1,1,0) Version 3.0 Patch 11 - MUMPS to MUMPS Broker "BLD",3463,1,2,0) "BLD",3463,1,3,0) "BLD",3463,1,4,0) This build contains security key MAGDFIX ALL "BLD",3463,1,5,0) for Imaging V3.0 Patch 11. "BLD",3463,1,6,0) "BLD",3463,1,7,0) VistA Imaging Version 3.0 Patch 11 Security Key MAGJ DEMAND ROUTE DICOM "BLD",3463,1,8,0) "BLD",3463,1,9,0) Definition for Option "MAG DICOM GATEWAY FULL". "BLD",3463,1,10,0) "BLD",3463,1,11,0) Definition for Option "MAG DICOM GATEWAY VIEW". "BLD",3463,1,12,0) "BLD",3463,1,13,0) This build deletes Option MAGD FIX MEDICINE DICOM FILE for Imaging V3.0 "BLD",3463,1,14,0) Patch 11. "BLD",3463,1,15,0) "BLD",3463,1,16,0) RPC definition for "MAG DICOM AUDIT COUNT". "BLD",3463,1,17,0) "BLD",3463,1,18,0) RPC definition for "MAG DICOM AUDIT PURGE". "BLD",3463,1,19,0) "BLD",3463,1,20,0) RPC definition for "MAG DICOM AUDIT RANGE". "BLD",3463,1,21,0) "BLD",3463,1,22,0) RPC definition for "MAG DICOM ET PHONE HOME". "BLD",3463,1,23,0) "BLD",3463,1,24,0) RPC definition for "MAG DICOM FILEMAN GET". "BLD",3463,1,25,0) "BLD",3463,1,26,0) RPC definition for "MAG DICOM FIND LOCATION". "BLD",3463,1,27,0) "BLD",3463,1,28,0) RPC definition for "MAG DICOM GET BASIC IMAGE". "BLD",3463,1,29,0) "BLD",3463,1,30,0) RPC definition for "MAG DICOM GET DOMAIN". "BLD",3463,1,31,0) "BLD",3463,1,32,0) RPC definition for "MAG DICOM GET HIGHEST HL7". "BLD",3463,1,33,0) "BLD",3463,1,34,0) RPC definition for "MAG DICOM GET IMAGE GROUP". "BLD",3463,1,35,0) "BLD",3463,1,36,0) RPC definition for "MAG DICOM GET IMAGING TYPES". "BLD",3463,1,37,0) "BLD",3463,1,38,0) RPC definition for "MAG DICOM GET NEXT QUEUE ENTRY". "BLD",3463,1,39,0) "BLD",3463,1,40,0) RPC definition for "MAG DICOM GET PATIENT". "BLD",3463,1,41,0) "BLD",3463,1,42,0) RPC definition for "MAG DICOM GET PLACE". "BLD",3463,1,43,0) "BLD",3463,1,44,0) RPC definition for "MAG DICOM GET RAD RPT INFO". "BLD",3463,1,45,0) "BLD",3463,1,46,0) RPC definition for "MAG DICOM GET SERVICE INFO". "BLD",3463,1,47,0) "BLD",3463,1,48,0) RPC definition for "MAG DICOM GET VERSION". "BLD",3463,1,49,0) "BLD",3463,1,50,0) RPC definition for "MAG DICOM HL7 POINTER ACTION". "BLD",3463,1,51,0) "BLD",3463,1,52,0) RPC definition for "MAG DICOM IMAGE AUDIT GET". "BLD",3463,1,53,0) "BLD",3463,1,54,0) RPC definition for "MAG DICOM IMAGE PROCESSING". "BLD",3463,1,55,0) "BLD",3463,1,56,0) RPC definition for "MAG DICOM INCORRECT IMAGE CT". "BLD",3463,1,57,0) "BLD",3463,1,58,0) RPC definition for "MAG DICOM LIST GLOBAL VARIABLE". "BLD",3463,1,59,0) "BLD",3463,1,60,0) RPC definition for "MAG DICOM LOOKUP RAD STUDY". "BLD",3463,1,61,0) "BLD",3463,1,62,0) RPC definition for "MAG DICOM LOOKUP STUDY". "BLD",3463,1,63,0) "BLD",3463,1,64,0) RPC definition for "MAG DICOM NETWORK STATUS". "BLD",3463,1,65,0) "BLD",3463,1,66,0) RPC definition for "MAG DICOM PACS CUTOFF DATE". "BLD",3463,1,67,0) "BLD",3463,1,68,0) RPC definition for "MAG DICOM PACS MINIMUM SPACE". "BLD",3463,1,69,0) "BLD",3463,1,70,0) RPC definition for "MAG DICOM PURGE HL7". "BLD",3463,1,71,0) "BLD",3463,1,72,0) RPC definition for "MAG DICOM QUEUE IMAGE". "BLD",3463,1,73,0) "BLD",3463,1,74,0) RPC definition for "MAG DICOM QUEUE INIT". "BLD",3463,1,75,0) "BLD",3463,1,76,0) RPC definition for "MAG DICOM ROUTE EVAL LOG". "BLD",3463,1,77,0) "BLD",3463,1,78,0) RPC definition for "MAG DICOM ROUTE EVAL START". "BLD",3463,1,79,0) "BLD",3463,1,80,0) RPC definition for "MAG DICOM ROUTE EVAL STOP". "BLD",3463,1,81,0) "BLD",3463,1,82,0) RPC definition for "MAG DICOM ROUTE GET PURGE". "BLD",3463,1,83,0) "BLD",3463,1,84,0) RPC definition for "MAG DICOM ROUTE GET TRANS ID". "BLD",3463,1,85,0) "BLD",3463,1,86,0) RPC definition for "MAG DICOM ROUTE LIST DESTI". "BLD",3463,1,87,0) "BLD",3463,1,88,0) RPC definition for "MAG DICOM ROUTE LOCK TRANSMIT". "BLD",3463,1,89,0) "BLD",3463,1,90,0) RPC definition for "MAG DICOM ROUTE LOG XMIT". "BLD",3463,1,91,0) "BLD",3463,1,92,0) RPC definition for "MAG DICOM ROUTE NEXT FILE". "BLD",3463,1,93,0) "BLD",3463,1,94,0) RPC definition for "MAG DICOM ROUTE PURGE DONE". "BLD",3463,1,95,0) "BLD",3463,1,96,0) RPC definition for "MAG DICOM ROUTE REMOVE OBSO". "BLD",3463,1,97,0) "BLD",3463,1,98,0) RPC definition for "MAG DICOM ROUTE REQUEUE". "BLD",3463,1,99,0) "BLD",3463,1,100,0) RPC definition for "MAG DICOM ROUTE STATUS". "BLD",3463,1,101,0) "BLD",3463,1,102,0) RPC definition for "MAG DICOM ROUTE TRANSACT STS". "BLD",3463,1,103,0) "BLD",3463,1,104,0) RPC definition for "MAG DICOM ROUTE VALID DEST". "BLD",3463,1,105,0) "BLD",3463,1,106,0) RPC definition for "MAG DICOM SET PACS PARAMS". "BLD",3463,1,107,0) "BLD",3463,1,108,0) RPC definition for "MAG DICOM TEXT AUDIT GET". "BLD",3463,1,109,0) "BLD",3463,1,110,0) RPC definition for "MAG DICOM TEXT PROCESSING". "BLD",3463,1,111,0) "BLD",3463,1,112,0) RPC definition for "MAG DICOM UPDATE GATEWAY NAME". "BLD",3463,1,113,0) "BLD",3463,1,114,0) RPC definition for "MAG DICOM UPDATE SCU LIST". "BLD",3463,1,115,0) "BLD",3463,1,116,0) RPC definition for "MAG DICOM VALID LOCATIONS". "BLD",3463,1,117,0) "BLD",3463,1,118,0) RPC definition for "MAG DICOM WORKSTATION VERSION". "BLD",3463,1,119,0) "BLD",3463,1,120,0) This package contains a number of fields that "BLD",3463,1,121,0) are added to file # 2005.1 for Patch 11. "BLD",3463,1,122,0) "BLD",3463,1,123,0) This build contains the DICOM INDEX MAPPING File (#2005.872) for "BLD",3463,1,124,0) distribution in Patch 11. "BLD",3463,1,125,0) "BLD",3463,1,126,0) This KIDS file contains a number of new fields that are "BLD",3463,1,127,0) added to the Image File (#2005). "BLD",3463,1,128,0) "BLD",3463,1,129,0) The purpose of these new fields is to track locations to which "BLD",3463,1,130,0) image files are being copied (as required by HIPAA). "BLD",3463,1,131,0) "BLD",3463,1,132,0) KIDS package for file 2006.035 "BLD",3463,1,133,0) "BLD",3463,1,134,0) New fields for Image Site Parameter file (2006.1) "BLD",3463,1,135,0) Patch 11 adds 2 new fields: an access and a verify code that can "BLD",3463,1,136,0) be used by a DICOM Gateway to login into VistA. "BLD",3463,1,137,0) These codes will be stored encrypted. "BLD",3463,1,138,0) "BLD",3463,1,139,0) KIDS package for file #2006.563 "BLD",3463,1,140,0) "BLD",3463,1,141,0) KIDS package for file #2006.571 "BLD",3463,1,142,0) "BLD",3463,1,143,0) KIDS package for file #2006.5711 "BLD",3463,1,144,0) "BLD",3463,1,145,0) KIDS package for file #2006.5712 "BLD",3463,1,146,0) "BLD",3463,1,147,0) KIDS package for file #2006.5713 "BLD",3463,1,148,0) "BLD",3463,1,149,0) KIDS package for file #2006.5719 "BLD",3463,1,150,0) "BLD",3463,1,151,0) This build contains File #2006.575 (DICOM FAILED IMAGES) "BLD",3463,1,152,0) for Imaging V3.0 Patch 11. "BLD",3463,1,153,0) "BLD",3463,1,154,0) KIDS package for file #2006.587 "BLD",3463,1,155,0) "BLD",3463,1,156,0) KIDS package for file #2006.5906 "BLD",3463,1,157,0) "BLD",3463,1,158,0) Routines: "BLD",3463,1,159,0) MAG7RS value = 11923364 "BLD",3463,1,160,0) MAG7RSD value = 5995508 "BLD",3463,1,161,0) MAG7RSO value = 4178690 "BLD",3463,1,162,0) MAG7RSR value = 4411159 "BLD",3463,1,163,0) MAG7UDR value = 4129505 "BLD",3463,1,164,0) MAG7UFO value = 3674965 "BLD",3463,1,165,0) MAG7UM value = 8130703 "BLD",3463,1,166,0) MAG7UP value = 11171313 "BLD",3463,1,167,0) MAGBRTE3 value = 5833319 "BLD",3463,1,168,0) MAGBRTE4 value = 14663489 "BLD",3463,1,169,0) MAGBRTE5 value = 12248946 "BLD",3463,1,170,0) MAGBRTLD value = 6114349 "BLD",3463,1,171,0) MAGBRTUT value = 6312859 "BLD",3463,1,172,0) MAGDAUDR value = 6872220 "BLD",3463,1,173,0) MAGDCCS value = 14263908 "BLD",3463,1,174,0) MAGDCCS2 value = 6323959 "BLD",3463,1,175,0) MAGDCCS3 value = 4054715 "BLD",3463,1,176,0) MAGDCCSD value = 5138399 "BLD",3463,1,177,0) MAGDCCSS value = 7793439 "BLD",3463,1,178,0) MAGDFB value = 2768480 "BLD",3463,1,179,0) MAGDFCNV value = 4298417 "BLD",3463,1,180,0) MAGDGL value = 8693119 "BLD",3463,1,181,0) MAGDHL7 value = 7588848 "BLD",3463,1,182,0) MAGDHRS1 value = 4952354 "BLD",3463,1,183,0) MAGDHWS value = 8397303 "BLD",3463,1,184,0) MAGDIR8 value = 4729054 "BLD",3463,1,185,0) MAGDIR81 value = 13946127 "BLD",3463,1,186,0) MAGDIR82 value = 7689405 "BLD",3463,1,187,0) MAGDIR83 value = 7543877 "BLD",3463,1,188,0) MAGDIR84 value = 7164900 "BLD",3463,1,189,0) MAGDIR85 value = 2900846 "BLD",3463,1,190,0) MAGDIR8A value = 10602838 "BLD",3463,1,191,0) MAGDIR9A value = 10819306 "BLD",3463,1,192,0) MAGDIR9B value = 6837304 "BLD",3463,1,193,0) MAGDIR9E value = 15838144 "BLD",3463,1,194,0) MAGDIRVE value = 15724185 "BLD",3463,1,195,0) MAGDLB1 value = 12114206 "BLD",3463,1,196,0) MAGDLB12 value = 8451648 "BLD",3463,1,197,0) MAGDLB5 value = 4070169 "BLD",3463,1,198,0) MAGDLB6 value = 4138192 "BLD",3463,1,199,0) MAGDLB9 value = 4846825 "BLD",3463,1,200,0) MAGDLBAA value = 6781952 "BLD",3463,1,201,0) MAGDLBSR value = 7596015 "BLD",3463,1,202,0) MAGDRA1 value = 7837939 "BLD",3463,1,203,0) MAGDRA2 value = 7852272 "BLD",3463,1,204,0) MAGDRCU2 value = 9684070 "BLD",3463,1,205,0) MAGDRPC1 value = 8949355 "BLD",3463,1,206,0) MAGDRPC2 value = 5509304 "BLD",3463,1,207,0) MAGDRPC3 value = 11531835 "BLD",3463,1,208,0) MAGDRPC4 value = 15375596 "BLD",3463,1,209,0) MAGDRPC5 value = 15154889 "BLD",3463,1,210,0) MAGDRPC6 value = 9417357 "BLD",3463,1,211,0) MAGDRPC7 value = 8750764 "BLD",3463,1,212,0) MAGDRPC8 value = 10609976 "BLD",3463,1,213,0) MAGDRTIM value = 7583708 "BLD",3463,1,214,0) MAGENV11 value = 3658957 "BLD",3463,1,215,0) MAGIPS11 value = 4684033 "BLD",3463,1,216,0) MAGJRT value = 12927055 "BLD",3463,1,217,0) MAGXMA value = 3165496 "BLD",3463,1,218,0) "BLD",3463,1,219,0) Please note that routine MAGIPS11 is deleted after the KIDS Build is "BLD",3463,1,220,0) installed. "BLD",3463,4,0) ^9.64PA^2006.5906^14 "BLD",3463,4,2005,0) 2005 "BLD",3463,4,2005,2,0) ^9.641^2005.0111^2 "BLD",3463,4,2005,2,2005.0106,0) ROUTING TIMESTAMP (sub-file) "BLD",3463,4,2005,2,2005.0106,1,0) ^9.6411^7^3 "BLD",3463,4,2005,2,2005.0106,1,5,0) START TRANSMIT "BLD",3463,4,2005,2,2005.0106,1,6,0) TIMESTAMP QUEUE ENTRY "BLD",3463,4,2005,2,2005.0106,1,7,0) LOG ENTRY "BLD",3463,4,2005,2,2005.0111,0) ROUTING LOG (sub-file) "BLD",3463,4,2005,2,2005.0111,1,0) ^9.6411^^ "BLD",3463,4,2005,222) y^y^p^^^^n "BLD",3463,4,2005.1,0) 2005.1 "BLD",3463,4,2005.1,2,0) ^9.641^2005.1111^2 "BLD",3463,4,2005.1,2,2005.1106,0) ROUTING TIMESTAMP (sub-file) "BLD",3463,4,2005.1,2,2005.1106,1,0) ^9.6411^7^3 "BLD",3463,4,2005.1,2,2005.1106,1,5,0) START TRANSMIT "BLD",3463,4,2005.1,2,2005.1106,1,6,0) TIMESTAMP QUEUE ENTRY "BLD",3463,4,2005.1,2,2005.1106,1,7,0) LOG ENTRY "BLD",3463,4,2005.1,2,2005.1111,0) ROUTING LOG (sub-file) "BLD",3463,4,2005.1,2,2005.1111,1,0) ^9.6411^^ "BLD",3463,4,2005.1,222) y^y^p^^^^n "BLD",3463,4,2005.872,0) 2005.872 "BLD",3463,4,2005.872,222) y^y^f^^n^^y^o^n "BLD",3463,4,2006.035,0) 2006.035 "BLD",3463,4,2006.035,222) y^y^f^^^^n "BLD",3463,4,2006.1,0) 2006.1 "BLD",3463,4,2006.1,2,0) ^9.641^2006.1^1 "BLD",3463,4,2006.1,2,2006.1,0) IMAGING SITE PARAMETERS (File-top level) "BLD",3463,4,2006.1,2,2006.1,1,0) ^9.6411^125^2 "BLD",3463,4,2006.1,2,2006.1,1,124,0) DICOM GATEWAY ACCESS CODE "BLD",3463,4,2006.1,2,2006.1,1,125,0) DICOM GATEWAY VERIFY CODE "BLD",3463,4,2006.1,222) y^y^p^^^^n "BLD",3463,4,2006.563,0) 2006.563 "BLD",3463,4,2006.563,222) y^y^f^^^^n "BLD",3463,4,2006.571,0) 2006.571 "BLD",3463,4,2006.571,222) y^y^f^^^^n "BLD",3463,4,2006.5711,0) 2006.5711 "BLD",3463,4,2006.5711,222) y^y^f^^^^n "BLD",3463,4,2006.5712,0) 2006.5712 "BLD",3463,4,2006.5712,222) y^y^f^^^^n "BLD",3463,4,2006.5713,0) 2006.5713 "BLD",3463,4,2006.5713,222) y^y^f^^^^n "BLD",3463,4,2006.5719,0) 2006.5719 "BLD",3463,4,2006.5719,222) y^y^f^^^^n "BLD",3463,4,2006.575,0) 2006.575 "BLD",3463,4,2006.575,222) y^y^f^^^^n "BLD",3463,4,2006.587,0) 2006.587 "BLD",3463,4,2006.587,222) y^y^f^^^^n "BLD",3463,4,2006.5906,0) 2006.5906 "BLD",3463,4,2006.5906,222) y^y^f^^^^n "BLD",3463,4,"B",2005,2005) "BLD",3463,4,"B",2005.1,2005.1) "BLD",3463,4,"B",2005.872,2005.872) "BLD",3463,4,"B",2006.035,2006.035) "BLD",3463,4,"B",2006.1,2006.1) "BLD",3463,4,"B",2006.563,2006.563) "BLD",3463,4,"B",2006.571,2006.571) "BLD",3463,4,"B",2006.5711,2006.5711) "BLD",3463,4,"B",2006.5712,2006.5712) "BLD",3463,4,"B",2006.5713,2006.5713) "BLD",3463,4,"B",2006.5719,2006.5719) "BLD",3463,4,"B",2006.575,2006.575) "BLD",3463,4,"B",2006.587,2006.587) "BLD",3463,4,"B",2006.5906,2006.5906) "BLD",3463,"ABNS",0) ^9.66A^^ "BLD",3463,"ABPKG") n^y^G.IMAGING DEVELOPMENT TEAM@DOMAIN.EXT "BLD",3463,"INID") y^y^n "BLD",3463,"INIT") POST^MAGIPS11 "BLD",3463,"KRN",0) ^9.67PA^8994^19 "BLD",3463,"KRN",.4,0) .4 "BLD",3463,"KRN",.401,0) .401 "BLD",3463,"KRN",.402,0) .402 "BLD",3463,"KRN",.403,0) .403 "BLD",3463,"KRN",.5,0) .5 "BLD",3463,"KRN",.84,0) .84 "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^58^58 "BLD",3463,"KRN",9.8,"NM",1,0) MAG7RS^^0^B53064235 "BLD",3463,"KRN",9.8,"NM",2,0) MAG7RSD^^0^B12010159 "BLD",3463,"KRN",9.8,"NM",3,0) MAG7RSO^^0^B6903355 "BLD",3463,"KRN",9.8,"NM",4,0) MAG7RSR^^0^B7799977 "BLD",3463,"KRN",9.8,"NM",5,0) MAG7UDR^^0^B7350925 "BLD",3463,"KRN",9.8,"NM",6,0) MAG7UFO^^0^B6573900 "BLD",3463,"KRN",9.8,"NM",7,0) MAG7UM^^0^B23964940 "BLD",3463,"KRN",9.8,"NM",8,0) MAG7UP^^0^B35142908 "BLD",3463,"KRN",9.8,"NM",9,0) MAGBRTE3^^0^B17206043 "BLD",3463,"KRN",9.8,"NM",10,0) MAGBRTE4^^0^B77333155 "BLD",3463,"KRN",9.8,"NM",11,0) MAGBRTE5^^0^B55477871 "BLD",3463,"KRN",9.8,"NM",12,0) MAGBRTLD^^0^B12037982 "BLD",3463,"KRN",9.8,"NM",13,0) MAGBRTUT^^0^B16989413 "BLD",3463,"KRN",9.8,"NM",14,0) MAGDAUDR^^0^B19747360 "BLD",3463,"KRN",9.8,"NM",15,0) MAGDCCS^^0^B61562127 "BLD",3463,"KRN",9.8,"NM",16,0) MAGDCCS2^^0^B15396762 "BLD",3463,"KRN",9.8,"NM",17,0) MAGDCCS3^^0^B6452473 "BLD",3463,"KRN",9.8,"NM",18,0) MAGDCCSD^^0^B9827446 "BLD",3463,"KRN",9.8,"NM",19,0) MAGDCCSS^^0^B22529477 "BLD",3463,"KRN",9.8,"NM",20,0) MAGDFB^^0^B3920036 "BLD",3463,"KRN",9.8,"NM",21,0) MAGDFCNV^^0^B7869559 "BLD",3463,"KRN",9.8,"NM",22,0) MAGDGL^^0^B29958311 "BLD",3463,"KRN",9.8,"NM",23,0) MAGDHL7^^0^B23336498 "BLD",3463,"KRN",9.8,"NM",24,0) MAGDHRS1^^0^B9409128 "BLD",3463,"KRN",9.8,"NM",25,0) MAGDHWS^^0^B24251398 "BLD",3463,"KRN",9.8,"NM",26,0) MAGDIR8^^0^B10783849 "BLD",3463,"KRN",9.8,"NM",27,0) MAGDIR81^^0^B57992062 "BLD",3463,"KRN",9.8,"NM",28,0) MAGDIR82^^0^B28519711 "BLD",3463,"KRN",9.8,"NM",29,0) MAGDIR83^^0^B22290156 "BLD",3463,"KRN",9.8,"NM",30,0) MAGDIR84^^0^B18610621 "BLD",3463,"KRN",9.8,"NM",31,0) MAGDIR85^^0^B4122625 "BLD",3463,"KRN",9.8,"NM",32,0) MAGDIR8A^^0^B36963016 "BLD",3463,"KRN",9.8,"NM",33,0) MAGDIR9A^^0^B43246242 "BLD",3463,"KRN",9.8,"NM",34,0) MAGDIR9B^^0^B17252490 "BLD",3463,"KRN",9.8,"NM",35,0) MAGDIR9E^^0^B78297608 "BLD",3463,"KRN",9.8,"NM",36,0) MAGDIRVE^^0^B66391824 "BLD",3463,"KRN",9.8,"NM",37,0) MAGDLB1^^0^B50964987 "BLD",3463,"KRN",9.8,"NM",38,0) MAGDLB12^^0^B23355286 "BLD",3463,"KRN",9.8,"NM",39,0) MAGDLB5^^0^B7219612 "BLD",3463,"KRN",9.8,"NM",40,0) MAGDLB6^^0^B8156987 "BLD",3463,"KRN",9.8,"NM",41,0) MAGDLB9^^0^B9474795 "BLD",3463,"KRN",9.8,"NM",42,0) MAGDLBAA^^0^B13041895 "BLD",3463,"KRN",9.8,"NM",43,0) MAGDLBSR^^0^B22081306 "BLD",3463,"KRN",9.8,"NM",44,0) MAGDRA1^^0^B21165854 "BLD",3463,"KRN",9.8,"NM",45,0) MAGDRA2^^0^B24362463 "BLD",3463,"KRN",9.8,"NM",46,0) MAGDRCU2^^0^B38120521 "BLD",3463,"KRN",9.8,"NM",47,0) MAGDRPC1^^0^B40585132 "BLD",3463,"KRN",9.8,"NM",48,0) MAGDRPC2^^0^B13350843 "BLD",3463,"KRN",9.8,"NM",49,0) MAGDRPC3^^0^B42420638 "BLD",3463,"KRN",9.8,"NM",50,0) MAGDRPC4^^0^B69330482 "BLD",3463,"KRN",9.8,"NM",51,0) MAGDRPC5^^0^B79221665 "BLD",3463,"KRN",9.8,"NM",52,0) MAGDRPC6^^0^B26635956 "BLD",3463,"KRN",9.8,"NM",53,0) MAGDRPC7^^0^B33161764 "BLD",3463,"KRN",9.8,"NM",54,0) MAGDRPC8^^0^B49546824 "BLD",3463,"KRN",9.8,"NM",55,0) MAGDRTIM^^0^B19520801 "BLD",3463,"KRN",9.8,"NM",56,0) MAGENV11^^0^B5857595 "BLD",3463,"KRN",9.8,"NM",57,0) MAGJRT^^0^B54849426 "BLD",3463,"KRN",9.8,"NM",58,0) MAGXMA^^0^B4969848 "BLD",3463,"KRN",9.8,"NM","B","MAG7RS",1) "BLD",3463,"KRN",9.8,"NM","B","MAG7RSD",2) "BLD",3463,"KRN",9.8,"NM","B","MAG7RSO",3) "BLD",3463,"KRN",9.8,"NM","B","MAG7RSR",4) "BLD",3463,"KRN",9.8,"NM","B","MAG7UDR",5) "BLD",3463,"KRN",9.8,"NM","B","MAG7UFO",6) "BLD",3463,"KRN",9.8,"NM","B","MAG7UM",7) "BLD",3463,"KRN",9.8,"NM","B","MAG7UP",8) "BLD",3463,"KRN",9.8,"NM","B","MAGBRTE3",9) "BLD",3463,"KRN",9.8,"NM","B","MAGBRTE4",10) "BLD",3463,"KRN",9.8,"NM","B","MAGBRTE5",11) "BLD",3463,"KRN",9.8,"NM","B","MAGBRTLD",12) "BLD",3463,"KRN",9.8,"NM","B","MAGBRTUT",13) "BLD",3463,"KRN",9.8,"NM","B","MAGDAUDR",14) "BLD",3463,"KRN",9.8,"NM","B","MAGDCCS",15) "BLD",3463,"KRN",9.8,"NM","B","MAGDCCS2",16) "BLD",3463,"KRN",9.8,"NM","B","MAGDCCS3",17) "BLD",3463,"KRN",9.8,"NM","B","MAGDCCSD",18) "BLD",3463,"KRN",9.8,"NM","B","MAGDCCSS",19) "BLD",3463,"KRN",9.8,"NM","B","MAGDFB",20) "BLD",3463,"KRN",9.8,"NM","B","MAGDFCNV",21) "BLD",3463,"KRN",9.8,"NM","B","MAGDGL",22) "BLD",3463,"KRN",9.8,"NM","B","MAGDHL7",23) "BLD",3463,"KRN",9.8,"NM","B","MAGDHRS1",24) "BLD",3463,"KRN",9.8,"NM","B","MAGDHWS",25) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR8",26) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR81",27) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR82",28) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR83",29) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR84",30) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR85",31) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR8A",32) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR9A",33) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR9B",34) "BLD",3463,"KRN",9.8,"NM","B","MAGDIR9E",35) "BLD",3463,"KRN",9.8,"NM","B","MAGDIRVE",36) "BLD",3463,"KRN",9.8,"NM","B","MAGDLB1",37) "BLD",3463,"KRN",9.8,"NM","B","MAGDLB12",38) "BLD",3463,"KRN",9.8,"NM","B","MAGDLB5",39) "BLD",3463,"KRN",9.8,"NM","B","MAGDLB6",40) "BLD",3463,"KRN",9.8,"NM","B","MAGDLB9",41) "BLD",3463,"KRN",9.8,"NM","B","MAGDLBAA",42) "BLD",3463,"KRN",9.8,"NM","B","MAGDLBSR",43) "BLD",3463,"KRN",9.8,"NM","B","MAGDRA1",44) "BLD",3463,"KRN",9.8,"NM","B","MAGDRA2",45) "BLD",3463,"KRN",9.8,"NM","B","MAGDRCU2",46) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC1",47) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC2",48) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC3",49) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC4",50) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC5",51) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC6",52) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC7",53) "BLD",3463,"KRN",9.8,"NM","B","MAGDRPC8",54) "BLD",3463,"KRN",9.8,"NM","B","MAGDRTIM",55) "BLD",3463,"KRN",9.8,"NM","B","MAGENV11",56) "BLD",3463,"KRN",9.8,"NM","B","MAGJRT",57) "BLD",3463,"KRN",9.8,"NM","B","MAGXMA",58) "BLD",3463,"KRN",19,0) 19 "BLD",3463,"KRN",19,"NM",0) ^9.68A^3^3 "BLD",3463,"KRN",19,"NM",1,0) MAG DICOM GATEWAY FULL^^0 "BLD",3463,"KRN",19,"NM",2,0) MAG DICOM GATEWAY VIEW^^0 "BLD",3463,"KRN",19,"NM",3,0) MAGD FIX MEDICINE DICOM FILE^^1 "BLD",3463,"KRN",19,"NM","B","MAG DICOM GATEWAY FULL",1) "BLD",3463,"KRN",19,"NM","B","MAG DICOM GATEWAY VIEW",2) "BLD",3463,"KRN",19,"NM","B","MAGD FIX MEDICINE DICOM FILE",3) "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) MAGDFIX ALL^^0 "BLD",3463,"KRN",19.1,"NM",2,0) MAGJ DEMAND ROUTE DICOM^^0 "BLD",3463,"KRN",19.1,"NM","B","MAGDFIX ALL",1) "BLD",3463,"KRN",19.1,"NM","B","MAGJ DEMAND ROUTE DICOM",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",870,0) 870 "BLD",3463,"KRN",8989.51,0) 8989.51 "BLD",3463,"KRN",8989.52,0) 8989.52 "BLD",3463,"KRN",8994,0) 8994 "BLD",3463,"KRN",8994,"NM",0) ^9.68A^52^52 "BLD",3463,"KRN",8994,"NM",1,0) MAG DICOM AUDIT COUNT^^0 "BLD",3463,"KRN",8994,"NM",2,0) MAG DICOM AUDIT PURGE^^0 "BLD",3463,"KRN",8994,"NM",3,0) MAG DICOM AUDIT RANGE^^0 "BLD",3463,"KRN",8994,"NM",4,0) MAG DICOM ET PHONE HOME^^0 "BLD",3463,"KRN",8994,"NM",5,0) MAG DICOM FILEMAN GET^^0 "BLD",3463,"KRN",8994,"NM",6,0) MAG DICOM FIND LOCATION^^0 "BLD",3463,"KRN",8994,"NM",7,0) MAG DICOM GET BASIC IMAGE^^0 "BLD",3463,"KRN",8994,"NM",8,0) MAG DICOM GET DOMAIN^^0 "BLD",3463,"KRN",8994,"NM",9,0) MAG DICOM GET HIGHEST HL7^^0 "BLD",3463,"KRN",8994,"NM",10,0) MAG DICOM GET IMAGE GROUP^^0 "BLD",3463,"KRN",8994,"NM",11,0) MAG DICOM GET IMAGING TYPES^^0 "BLD",3463,"KRN",8994,"NM",12,0) MAG DICOM GET NEXT QUEUE ENTRY^^0 "BLD",3463,"KRN",8994,"NM",13,0) MAG DICOM GET PATIENT^^0 "BLD",3463,"KRN",8994,"NM",14,0) MAG DICOM GET PLACE^^0 "BLD",3463,"KRN",8994,"NM",15,0) MAG DICOM GET RAD RPT INFO^^0 "BLD",3463,"KRN",8994,"NM",16,0) MAG DICOM GET SERVICE INFO^^0 "BLD",3463,"KRN",8994,"NM",17,0) MAG DICOM GET VERSION^^0 "BLD",3463,"KRN",8994,"NM",18,0) MAG DICOM HL7 POINTER ACTION^^0 "BLD",3463,"KRN",8994,"NM",19,0) MAG DICOM IMAGE AUDIT GET^^0 "BLD",3463,"KRN",8994,"NM",20,0) MAG DICOM IMAGE PROCESSING^^0 "BLD",3463,"KRN",8994,"NM",21,0) MAG DICOM INCORRECT IMAGE CT^^0 "BLD",3463,"KRN",8994,"NM",22,0) MAG DICOM LIST GLOBAL VARIABLE^^0 "BLD",3463,"KRN",8994,"NM",23,0) MAG DICOM LOOKUP RAD STUDY^^0 "BLD",3463,"KRN",8994,"NM",24,0) MAG DICOM LOOKUP STUDY^^0 "BLD",3463,"KRN",8994,"NM",25,0) MAG DICOM NETWORK STATUS^^0 "BLD",3463,"KRN",8994,"NM",26,0) MAG DICOM PACS CUTOFF DATE^^0 "BLD",3463,"KRN",8994,"NM",27,0) MAG DICOM PACS MINIMUM SPACE^^0 "BLD",3463,"KRN",8994,"NM",28,0) MAG DICOM PURGE HL7^^0 "BLD",3463,"KRN",8994,"NM",29,0) MAG DICOM QUEUE IMAGE^^0 "BLD",3463,"KRN",8994,"NM",30,0) MAG DICOM QUEUE INIT^^0 "BLD",3463,"KRN",8994,"NM",31,0) MAG DICOM ROUTE EVAL LOG^^0 "BLD",3463,"KRN",8994,"NM",32,0) MAG DICOM ROUTE EVAL START^^0 "BLD",3463,"KRN",8994,"NM",33,0) MAG DICOM ROUTE EVAL STOP^^0 "BLD",3463,"KRN",8994,"NM",34,0) MAG DICOM ROUTE GET PURGE^^0 "BLD",3463,"KRN",8994,"NM",35,0) MAG DICOM ROUTE GET TRANS ID^^0 "BLD",3463,"KRN",8994,"NM",36,0) MAG DICOM ROUTE LIST DESTI^^0 "BLD",3463,"KRN",8994,"NM",37,0) MAG DICOM ROUTE LOCK TRANSMIT^^0 "BLD",3463,"KRN",8994,"NM",38,0) MAG DICOM ROUTE LOG XMIT^^0 "BLD",3463,"KRN",8994,"NM",39,0) MAG DICOM ROUTE NEXT FILE^^0 "BLD",3463,"KRN",8994,"NM",40,0) MAG DICOM ROUTE PURGE DONE^^0 "BLD",3463,"KRN",8994,"NM",41,0) MAG DICOM ROUTE REMOVE OBSO^^0 "BLD",3463,"KRN",8994,"NM",42,0) MAG DICOM ROUTE REQUEUE^^0 "BLD",3463,"KRN",8994,"NM",43,0) MAG DICOM ROUTE STATUS^^0 "BLD",3463,"KRN",8994,"NM",44,0) MAG DICOM ROUTE TRANSACT STS^^0 "BLD",3463,"KRN",8994,"NM",45,0) MAG DICOM ROUTE VALID DEST^^0 "BLD",3463,"KRN",8994,"NM",46,0) MAG DICOM SET PACS PARAMS^^0 "BLD",3463,"KRN",8994,"NM",47,0) MAG DICOM TEXT AUDIT GET^^0 "BLD",3463,"KRN",8994,"NM",48,0) MAG DICOM TEXT PROCESSING^^0 "BLD",3463,"KRN",8994,"NM",49,0) MAG DICOM UPDATE GATEWAY NAME^^0 "BLD",3463,"KRN",8994,"NM",50,0) MAG DICOM UPDATE SCU LIST^^0 "BLD",3463,"KRN",8994,"NM",51,0) MAG DICOM VALID LOCATIONS^^0 "BLD",3463,"KRN",8994,"NM",52,0) MAG DICOM WORKSTATION VERSION^^0 "BLD",3463,"KRN",8994,"NM","B","MAG DICOM AUDIT COUNT",1) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM AUDIT PURGE",2) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM AUDIT RANGE",3) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ET PHONE HOME",4) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM FILEMAN GET",5) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM FIND LOCATION",6) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET BASIC IMAGE",7) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET DOMAIN",8) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET HIGHEST HL7",9) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET IMAGE GROUP",10) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET IMAGING TYPES",11) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET NEXT QUEUE ENTRY",12) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET PATIENT",13) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET PLACE",14) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET RAD RPT INFO",15) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET SERVICE INFO",16) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM GET VERSION",17) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM HL7 POINTER ACTION",18) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM IMAGE AUDIT GET",19) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM IMAGE PROCESSING",20) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM INCORRECT IMAGE CT",21) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM LIST GLOBAL VARIABLE",22) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM LOOKUP RAD STUDY",23) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM LOOKUP STUDY",24) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM NETWORK STATUS",25) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM PACS CUTOFF DATE",26) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM PACS MINIMUM SPACE",27) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM PURGE HL7",28) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM QUEUE IMAGE",29) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM QUEUE INIT",30) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE EVAL LOG",31) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE EVAL START",32) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE EVAL STOP",33) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE GET PURGE",34) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE GET TRANS ID",35) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE LIST DESTI",36) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE LOCK TRANSMIT",37) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE LOG XMIT",38) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE NEXT FILE",39) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE PURGE DONE",40) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE REMOVE OBSO",41) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE REQUEUE",42) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE STATUS",43) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE TRANSACT STS",44) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM ROUTE VALID DEST",45) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM SET PACS PARAMS",46) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM TEXT AUDIT GET",47) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM TEXT PROCESSING",48) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM UPDATE GATEWAY NAME",49) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM UPDATE SCU LIST",50) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM VALID LOCATIONS",51) "BLD",3463,"KRN",8994,"NM","B","MAG DICOM WORKSTATION VERSION",52) "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,"PRE") MAGENV11 "BLD",3463,"REQB",0) ^9.611^2^2 "BLD",3463,"REQB",1,0) XWB*1.1*28^2 "BLD",3463,"REQB",2,0) XWB*1.1*41^2 "BLD",3463,"REQB","B","XWB*1.1*28",1) "BLD",3463,"REQB","B","XWB*1.1*41",2) "DATA",2005.872,1,0) CR "DATA",2005.872,1,1,0) ^2005.8722P^1^1 "DATA",2005.872,1,1,1,0) 29^111 "DATA",2005.872,2,0) CT "DATA",2005.872,2,1,0) ^2005.8722P^1^1 "DATA",2005.872,2,1,1,0) 29^111 "DATA",2005.872,3,0) MR "DATA",2005.872,3,1,0) ^2005.8722P^1^1 "DATA",2005.872,3,1,1,0) 29^106 "DATA",2005.872,4,0) NM "DATA",2005.872,4,1,0) ^2005.8722P^1^1 "DATA",2005.872,4,1,1,0) 28^81 "DATA",2005.872,5,0) US^ "DATA",2005.872,5,1,0) ^2005.8722P^1^1 "DATA",2005.872,5,1,1,0) 29^108 "DATA",2005.872,6,0) OT^38 "DATA",2005.872,7,0) BI "DATA",2005.872,8,0) CD "DATA",2005.872,9,0) DD "DATA",2005.872,10,0) DG "DATA",2005.872,11,0) ES^6 "DATA",2005.872,12,0) LS "DATA",2005.872,13,0) MA^109 "DATA",2005.872,14,0) MS "DATA",2005.872,15,0) PT "DATA",2005.872,16,0) RG^107 "DATA",2005.872,17,0) ST "DATA",2005.872,18,0) TG "DATA",2005.872,19,0) XA "DATA",2005.872,19,1,0) ^2005.8722P^1^1 "DATA",2005.872,19,1,1,0) 29^116 "DATA",2005.872,20,0) RF "DATA",2005.872,20,1,0) ^2005.8722P^1^1 "DATA",2005.872,20,1,1,0) 29 "DATA",2005.872,21,0) RTIMAGE "DATA",2005.872,22,0) RTDOSE "DATA",2005.872,23,0) RTSTRUCT "DATA",2005.872,24,0) RTPLAN "DATA",2005.872,25,0) RTRECORD "DATA",2005.872,26,0) HC "DATA",2005.872,27,0) DX^ "DATA",2005.872,27,1,0) ^2005.8722P^1^1 "DATA",2005.872,27,1,1,0) 29^114 "DATA",2005.872,28,0) MG "DATA",2005.872,28,1,0) ^2005.8722P^1^1 "DATA",2005.872,28,1,1,0) 29^130 "DATA",2005.872,29,0) IO "DATA",2005.872,29,1,0) ^2005.8722P^1^1 "DATA",2005.872,29,1,1,0) 53^54 "DATA",2005.872,30,0) PX "DATA",2005.872,30,1,0) ^2005.8722P^1^1 "DATA",2005.872,30,1,1,0) 53^60 "DATA",2005.872,31,0) GM^9 "DATA",2005.872,32,0) SM^9 "DATA",2005.872,33,0) XC^38 "DATA",2005.872,33,1,0) ^2005.8722P^3^3 "DATA",2005.872,33,1,1,0) 57^132 "DATA",2005.872,33,1,2,0) 17^132 "DATA",2005.872,33,1,3,0) 56^132 "DATA",2005.872,34,0) PR "DATA",2005.872,35,0) AU "DATA",2005.872,36,0) ECG^3 "DATA",2005.872,37,0) EPS^98 "DATA",2005.872,38,0) HD "DATA",2005.872,39,0) SR "DATA",2005.872,40,0) IVUS^117 "FIA",2005) IMAGE "FIA",2005,0) ^MAG(2005, "FIA",2005,0,0) 2005I "FIA",2005,0,1) y^y^p^^^^n "FIA",2005,0,10) "FIA",2005,0,11) "FIA",2005,0,"RLRO") "FIA",2005,2005) 1 "FIA",2005,2005,111) "FIA",2005,2005.0106) 1 "FIA",2005,2005.0106,5) "FIA",2005,2005.0106,6) "FIA",2005,2005.0106,7) "FIA",2005,2005.0111) 0 "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 "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,111) "FIA",2005.1,2005.1106) 1 "FIA",2005.1,2005.1106,5) "FIA",2005.1,2005.1106,6) "FIA",2005.1,2005.1106,7) "FIA",2005.1,2005.1111) 0 "FIA",2005.872) DICOM INDEX MAPPING "FIA",2005.872,0) ^MAG(2005.872, "FIA",2005.872,0,0) 2005.872 "FIA",2005.872,0,1) y^y^f^^n^^y^o^n "FIA",2005.872,0,10) "FIA",2005.872,0,11) "FIA",2005.872,0,"RLRO") "FIA",2005.872,2005.872) 0 "FIA",2005.872,2005.8722) 0 "FIA",2006.035) SEND QUEUE "FIA",2006.035,0) ^MAGQUEUE(2006.035, "FIA",2006.035,0,0) 2006.035 "FIA",2006.035,0,1) y^y^f^^^^n "FIA",2006.035,0,10) "FIA",2006.035,0,11) "FIA",2006.035,0,"RLRO") "FIA",2006.035,2006.035) 0 "FIA",2006.1) IMAGING SITE PARAMETERS "FIA",2006.1,0) ^MAG(2006.1, "FIA",2006.1,0,0) 2006.1I "FIA",2006.1,0,1) y^y^p^^^^n "FIA",2006.1,0,10) "FIA",2006.1,0,11) "FIA",2006.1,0,"RLRO") "FIA",2006.1,2006.1) 1 "FIA",2006.1,2006.1,124) "FIA",2006.1,2006.1,125) "FIA",2006.563) DICOM GATEWAY PARAMETER "FIA",2006.563,0) ^MAGDICOM(2006.563, "FIA",2006.563,0,0) 2006.563 "FIA",2006.563,0,1) y^y^f^^^^n "FIA",2006.563,0,10) "FIA",2006.563,0,11) "FIA",2006.563,0,"RLRO") "FIA",2006.563,2006.563) 0 "FIA",2006.563,2006.5631) 0 "FIA",2006.563,2006.5632) 0 "FIA",2006.563,2006.5633) 0 "FIA",2006.563,2006.5634) 0 "FIA",2006.571) DICOM RAW IMAGE "FIA",2006.571,0) ^MAGDINPT(2006.571, "FIA",2006.571,0,0) 2006.571 "FIA",2006.571,0,1) y^y^f^^^^n "FIA",2006.571,0,10) "FIA",2006.571,0,11) "FIA",2006.571,0,"RLRO") "FIA",2006.571,2006.571) 0 "FIA",2006.5711) DICOM M2MB RPC QUEUE "FIA",2006.5711,0) ^MAGDINPT(2006.5711, "FIA",2006.5711,0,0) 2006.5711 "FIA",2006.5711,0,1) y^y^f^^^^n "FIA",2006.5711,0,10) "FIA",2006.5711,0,11) "FIA",2006.5711,0,"RLRO") "FIA",2006.5711,2006.5711) 0 "FIA",2006.5712) DICOM FIXED QUEUE "FIA",2006.5712,0) ^MAGDINPT(2006.5712, "FIA",2006.5712,0,0) 2006.5712P "FIA",2006.5712,0,1) y^y^f^^^^n "FIA",2006.5712,0,10) "FIA",2006.5712,0,11) "FIA",2006.5712,0,"RLRO") "FIA",2006.5712,2006.5712) 0 "FIA",2006.5713) DICOM UNKNOWN MODALITY "FIA",2006.5713,0) ^MAGDINPT(2006.5713, "FIA",2006.5713,0,0) 2006.5713D "FIA",2006.5713,0,1) y^y^f^^^^n "FIA",2006.5713,0,10) "FIA",2006.5713,0,11) "FIA",2006.5713,0,"RLRO") "FIA",2006.5713,2006.5713) 0 "FIA",2006.5719) DICOM ERROR LOG "FIA",2006.5719,0) ^MAGDINPT(2006.5719, "FIA",2006.5719,0,0) 2006.5719 "FIA",2006.5719,0,1) y^y^f^^^^n "FIA",2006.5719,0,10) "FIA",2006.5719,0,11) "FIA",2006.5719,0,"RLRO") "FIA",2006.5719,2006.5719) 0 "FIA",2006.575) DICOM FAILED IMAGES "FIA",2006.575,0) ^MAGD(2006.575, "FIA",2006.575,0,0) 2006.575 "FIA",2006.575,0,1) y^y^f^^^^n "FIA",2006.575,0,10) "FIA",2006.575,0,11) "FIA",2006.575,0,"RLRO") "FIA",2006.575,2006.575) 0 "FIA",2006.575,2006.57526) 0 "FIA",2006.587) DICOM TRANSMIT DESTINATION "FIA",2006.587,0) ^MAG(2006.587, "FIA",2006.587,0,0) 2006.587 "FIA",2006.587,0,1) y^y^f^^^^n "FIA",2006.587,0,10) "FIA",2006.587,0,11) "FIA",2006.587,0,"RLRO") "FIA",2006.587,2006.587) 0 "FIA",2006.5906) ROUTE LOAD BALANCE "FIA",2006.5906,0) ^MAGRT(2006.5906, "FIA",2006.5906,0,0) 2006.5906P "FIA",2006.5906,0,1) y^y^f^^^^n "FIA",2006.5906,0,10) "FIA",2006.5906,0,11) "FIA",2006.5906,0,"RLRO") "FIA",2006.5906,2006.5906) 0 "FIA",2006.5906,2006.59061) 0 "INIT") POST^MAGIPS11 "IX",2006.035,2006.035,"DEST",0) 2006.035^DEST^Destination, status, and file type^R^^R^IR^I^2006.035^^^^^LS "IX",2006.035,2006.035,"DEST",.1,0) ^^2^2^3020312^ "IX",2006.035,2006.035,"DEST",.1,1,0) This cross reference keeps track of which images are "IX",2006.035,2006.035,"DEST",.1,2,0) slated to go where. "IX",2006.035,2006.035,"DEST",1) S ^MAGQUEUE(2006.035,"DEST",X(1),X(2),X(3),X(4),DA)="" "IX",2006.035,2006.035,"DEST",2) K ^MAGQUEUE(2006.035,"DEST",X(1),X(2),X(3),X(4),DA) "IX",2006.035,2006.035,"DEST",2.5) K ^MAGQUEUE(2006.035,"DEST") "IX",2006.035,2006.035,"DEST",11.1,0) ^.114IA^4^4 "IX",2006.035,2006.035,"DEST",11.1,1,0) 1^F^2006.035^1^^1^F "IX",2006.035,2006.035,"DEST",11.1,1,3) "IX",2006.035,2006.035,"DEST",11.1,2,0) 2^F^2006.035^3^^2^F "IX",2006.035,2006.035,"DEST",11.1,2,3) "IX",2006.035,2006.035,"DEST",11.1,3,0) 3^F^2006.035^.01^^3^F "IX",2006.035,2006.035,"DEST",11.1,3,3) "IX",2006.035,2006.035,"DEST",11.1,4,0) 4^F^2006.035^2^^4^F "IX",2006.035,2006.035,"DEST",11.1,4,3) "IX",2006.035,2006.035,"STS",0) 2006.035^STS^Status, priority and destination^R^^R^IR^I^2006.035^^^^^LS "IX",2006.035,2006.035,"STS",.1,0) ^^2^2^3020312^ "IX",2006.035,2006.035,"STS",.1,1,0) This cross reference keeps track of which files are to be sent where and "IX",2006.035,2006.035,"STS",.1,2,0) in which order. "IX",2006.035,2006.035,"STS",1) S ^MAGQUEUE(2006.035,"STS",X(1),X(2),X(3),X(4),DA)="" "IX",2006.035,2006.035,"STS",2) K ^MAGQUEUE(2006.035,"STS",X(1),X(2),X(3),X(4),DA) "IX",2006.035,2006.035,"STS",2.5) K ^MAGQUEUE(2006.035,"STS") "IX",2006.035,2006.035,"STS",11.1,0) ^.114IA^4^4 "IX",2006.035,2006.035,"STS",11.1,1,0) 1^F^2006.035^8^^1^F "IX",2006.035,2006.035,"STS",11.1,2,0) 2^F^2006.035^3^^2^F "IX",2006.035,2006.035,"STS",11.1,3,0) 3^F^2006.035^4^^3^F "IX",2006.035,2006.035,"STS",11.1,4,0) 4^F^2006.035^1^^4^F "IX",2006.5713,2006.5713,"C",0) 2006.5713^C^Manufacturer, Model and Modality^R^^R^IR^I^2006.5713^^^^^LS "IX",2006.5713,2006.5713,"C",.1,0) ^^4^4^3021121^ "IX",2006.5713,2006.5713,"C",.1,1,0) This cross reference keeps track of the various instruments by: "IX",2006.5713,2006.5713,"C",.1,2,0) - manufacturer "IX",2006.5713,2006.5713,"C",.1,3,0) - model (make, firmware-level) "IX",2006.5713,2006.5713,"C",.1,4,0) - modality code "IX",2006.5713,2006.5713,"C",1) S ^MAGDINPT(2006.5713,"C",X(1),X(2),X(3),DA)="" "IX",2006.5713,2006.5713,"C",2) K ^MAGDINPT(2006.5713,"C",X(1),X(2),X(3),DA) "IX",2006.5713,2006.5713,"C",2.5) K ^MAGDINPT(2006.5713,"C") "IX",2006.5713,2006.5713,"C",11.1,0) ^.114IA^3^3 "IX",2006.5713,2006.5713,"C",11.1,1,0) 1^F^2006.5713^2^^1^F "IX",2006.5713,2006.5713,"C",11.1,1,3) "IX",2006.5713,2006.5713,"C",11.1,2,0) 2^F^2006.5713^3^^2^F "IX",2006.5713,2006.5713,"C",11.1,2,3) "IX",2006.5713,2006.5713,"C",11.1,3,0) 3^F^2006.5713^4^^3^F "IX",2006.5713,2006.5713,"C",11.1,3,3) "IX",2006.587,2006.587,"C",0) 2006.587^C^Services per Gateway^R^^R^IR^I^2006.587^^^^^LS "IX",2006.587,2006.587,"C",.1,0) ^^6^6^3030514^ "IX",2006.587,2006.587,"C",.1,1,0) This cross-reference keeps track of which services are accessed "IX",2006.587,2006.587,"C",.1,2,0) from which DICOM Gateway: "IX",2006.587,2006.587,"C",.1,3,0) Service Name "IX",2006.587,2006.587,"C",.1,4,0) Gateway Location "IX",2006.587,2006.587,"C",.1,5,0) Gateway System Title "IX",2006.587,2006.587,"C",.1,6,0) e "IX",2006.587,2006.587,"C",1) S ^MAG(2006.587,"C",X(1),X(2),X(3),DA)="" "IX",2006.587,2006.587,"C",2) K ^MAG(2006.587,"C",X(1),X(2),X(3),DA) "IX",2006.587,2006.587,"C",2.5) K ^MAG(2006.587,"C") "IX",2006.587,2006.587,"C",11.1,0) ^.114IA^3^3 "IX",2006.587,2006.587,"C",11.1,1,0) 1^F^2006.587^.01^^1^F "IX",2006.587,2006.587,"C",11.1,1,3) "IX",2006.587,2006.587,"C",11.1,2,0) 2^F^2006.587^7^^2^F "IX",2006.587,2006.587,"C",11.1,2,3) "IX",2006.587,2006.587,"C",11.1,3,0) 3^F^2006.587^5^^3^F "IX",2006.587,2006.587,"C",11.1,3,3) "IX",2006.587,2006.587,"D",0) 2006.587^D^Gateway per location^R^^R^IR^I^2006.587^^^^^LS "IX",2006.587,2006.587,"D",.1,0) ^^4^4^3030514^ "IX",2006.587,2006.587,"D",.1,1,0) This cross reference keeps track of which DICOM Gateway is located "IX",2006.587,2006.587,"D",.1,2,0) at which location: "IX",2006.587,2006.587,"D",.1,3,0) Gateway System Title "IX",2006.587,2006.587,"D",.1,4,0) Gateway Location "IX",2006.587,2006.587,"D",1) S ^MAG(2006.587,"D",X(1),X(2),DA)="" "IX",2006.587,2006.587,"D",2) K ^MAG(2006.587,"D",X(1),X(2),DA) "IX",2006.587,2006.587,"D",2.5) K ^MAG(2006.587,"D") "IX",2006.587,2006.587,"D",11.1,0) ^.114IA^2^2 "IX",2006.587,2006.587,"D",11.1,1,0) 1^F^2006.587^5^^1^F "IX",2006.587,2006.587,"D",11.1,1,3) "IX",2006.587,2006.587,"D",11.1,2,0) 2^F^2006.587^7^^2^F "IX",2006.587,2006.587,"D",11.1,2,3) "IX",2006.5906,2006.5906,"D",0) 2006.5906^D^Daily track-record for load balancer^R^^R^IR^W^2006.59061^^^^^LS "IX",2006.5906,2006.5906,"D",.1,0) ^^12^12^3020405^ "IX",2006.5906,2006.5906,"D",.1,1,0) This cross reference keeps track of where studies have been slated "IX",2006.5906,2006.5906,"D",.1,2,0) for transmission. "IX",2006.5906,2006.5906,"D",.1,3,0) "IX",2006.5906,2006.5906,"D",.1,4,0) The subscripts in this cross-reference are: "IX",2006.5906,2006.5906,"D",.1,5,0) date, destination, routing-rule, image(parent) "IX",2006.5906,2006.5906,"D",.1,6,0) "IX",2006.5906,2006.5906,"D",.1,7,0) This cross-reference is used to clean up any records that are more "IX",2006.5906,2006.5906,"D",.1,8,0) than 1 day old. "IX",2006.5906,2006.5906,"D",.1,9,0) "IX",2006.5906,2006.5906,"D",.1,10,0) For entries that belong to the current day, this cross-reference "IX",2006.5906,2006.5906,"D",.1,11,0) is used to decide the selection of the next destination that "IX",2006.5906,2006.5906,"D",.1,12,0) the load-balancer chooses for the transmission of a new study. "IX",2006.5906,2006.5906,"D",1) S ^MAGRT(2006.5906,"D",X(1),X(2),DA(1),DA)="" "IX",2006.5906,2006.5906,"D",2) K ^MAGRT(2006.5906,"D",X(1),X(2),DA(1),DA) "IX",2006.5906,2006.5906,"D",2.5) K ^MAGRT(2006.5906,"D") "IX",2006.5906,2006.5906,"D",11.1,0) ^.114IA^2^2 "IX",2006.5906,2006.5906,"D",11.1,1,0) 1^F^2006.59061^1^^1^F "IX",2006.5906,2006.5906,"D",11.1,1,3) "IX",2006.5906,2006.5906,"D",11.1,2,0) 2^F^2006.59061^2^^2^F "IX",2006.5906,2006.5906,"D",11.1,2,3) "KRN",19,123457,-1) 0^1 "KRN",19,123457,0) MAG DICOM GATEWAY FULL^DICOM Gateway (Full Access)^^B^^^^^^^^ "KRN",19,123457,1,0) ^^3^3^3020906^ "KRN",19,123457,1,1,0) This menu option exists for the RPC Broker to establish "KRN",19,123457,1,2,0) an environment that grants a user full access to all "KRN",19,123457,1,3,0) DICOM Gateway functions. "KRN",19,123457,99.1) 59109,41633 "KRN",19,123457,"RPC",0) ^19.05P^67^67 "KRN",19,123457,"RPC",1,0) DDR DELETE ENTRY "KRN",19,123457,"RPC",2,0) DDR FILER "KRN",19,123457,"RPC",3,0) DDR FIND1 "KRN",19,123457,"RPC",4,0) DDR FINDER "KRN",19,123457,"RPC",5,0) DDR GET DD HELP "KRN",19,123457,"RPC",6,0) DDR GETS ENTRY DATA "KRN",19,123457,"RPC",8,0) MAG DICOM TEXT AUDIT GET "KRN",19,123457,"RPC",9,0) MAG DICOM AUDIT PURGE "KRN",19,123457,"RPC",10,0) MAG DICOM AUDIT RANGE "KRN",19,123457,"RPC",13,0) MAG DICOM NETWORK STATUS "KRN",19,123457,"RPC",14,0) MAG DICOM ROUTE EVAL START "KRN",19,123457,"RPC",15,0) MAG DICOM ROUTE EVAL STOP "KRN",19,123457,"RPC",16,0) MAG DICOM ROUTE NEXT FILE "KRN",19,123457,"RPC",17,0) MAG DICOM ROUTE GET PURGE "KRN",19,123457,"RPC",18,0) MAG DICOM ROUTE VALID DEST "KRN",19,123457,"RPC",19,0) MAG DICOM ROUTE STATUS "KRN",19,123457,"RPC",21,0) MAG DICOM ROUTE LOCK TRANSMIT "KRN",19,123457,"RPC",22,0) MAG DICOM ROUTE LOG XMIT "KRN",19,123457,"RPC",23,0) MAG DICOM ROUTE PURGE DONE "KRN",19,123457,"RPC",24,0) MAG DICOM ROUTE REQUEUE "KRN",19,123457,"RPC",26,0) MAG DICOM IMAGE AUDIT GET "KRN",19,123457,"RPC",27,0) MAG DICOM AUDIT COUNT "KRN",19,123457,"RPC",28,0) MAG DICOM TEXT PROCESSING "KRN",19,123457,"RPC",29,0) MAG DICOM IMAGE PROCESSING "KRN",19,123457,"RPC",30,0) MAG DICOM ET PHONE HOME "KRN",19,123457,"RPC",31,0) MAG DICOM WORKSTATION VERSION "KRN",19,123457,"RPC",32,0) MAG DICOM FILEMAN GET "KRN",19,123457,"RPC",34,0) MAG DICOM PACS CUTOFF DATE "KRN",19,123457,"RPC",35,0) MAG DICOM PACS MINIMUM SPACE "KRN",19,123457,"RPC",36,0) MAG DICOM GET PATIENT "KRN",19,123457,"RPC",37,0) MAG DICOM GET BASIC IMAGE "KRN",19,123457,"RPC",38,0) MAG DICOM LOOKUP RAD STUDY "KRN",19,123457,"RPC",39,0) MAG DICOM LOOKUP STUDY "KRN",19,123457,"RPC",40,0) MAG DICOM GET NEXT QUEUE ENTRY "KRN",19,123457,"RPC",41,0) MAG DICOM QUEUE IMAGE "KRN",19,123457,"RPC",42,0) MAG DICOM QUEUE INIT "KRN",19,123457,"RPC",43,0) MAG DICOM UPDATE SCU LIST "KRN",19,123457,"RPC",44,0) MAG DICOM UPDATE GATEWAY NAME "KRN",19,123457,"RPC",45,0) MAG DICOM VALID LOCATIONS "KRN",19,123457,"RPC",46,0) MAG DICOM GET PLACE "KRN",19,123457,"RPC",47,0) MAG DICOM SET PACS PARAMS "KRN",19,123457,"RPC",48,0) MAG DICOM GET HIGHEST HL7 "KRN",19,123457,"RPC",49,0) MAG DICOM FIND LOCATION "KRN",19,123457,"RPC",50,0) MAG DICOM GET IMAGING TYPES "KRN",19,123457,"RPC",54,0) MAG DICOM ROUTE LIST DESTI "KRN",19,123457,"RPC",55,0) MAG DICOM ROUTE REMOVE OBSO "KRN",19,123457,"RPC",57,0) MAG DICOM INCORRECT IMAGE CT "KRN",19,123457,"RPC",58,0) MAG DICOM ROUTE GET TRANS ID "KRN",19,123457,"RPC",59,0) MAG DICOM ROUTE TRANSACT STS "KRN",19,123457,"RPC",60,0) MAG DICOM ROUTE EVAL LOG "KRN",19,123457,"RPC",61,0) MAGQ DIK "KRN",19,123457,"RPC",62,0) MAG DICOM HL7 POINTER ACTION "KRN",19,123457,"RPC",63,0) MAG DICOM GET DOMAIN "KRN",19,123457,"RPC",64,0) MAG DICOM GET SERVICE INFO "KRN",19,123457,"RPC",65,0) MAG DICOM GET IMAGE GROUP "KRN",19,123457,"RPC",66,0) MAG DICOM GET RAD RPT INFO "KRN",19,123457,"RPC",67,0) MAG DICOM LIST GLOBAL VARIABLE "KRN",19,123457,"U") DICOM GATEWAY (FULL ACCESS) "KRN",19,123458,-1) 0^2 "KRN",19,123458,0) MAG DICOM GATEWAY VIEW^DICOM Gateway (View Only)^^B^^^^^^^^ "KRN",19,123458,1,0) ^19.06^3^3^3021008^^ "KRN",19,123458,1,1,0) This menu option exists for the RPC Broker to establish "KRN",19,123458,1,2,0) an environment that grants a user view only access to "KRN",19,123458,1,3,0) the functions on a DICOM Gateway. "KRN",19,123458,99.1) 59109,41633 "KRN",19,123458,"RPC",0) ^19.05P^37^38 "KRN",19,123458,"RPC",1,0) DDR GET DD HELP "KRN",19,123458,"RPC",2,0) DDR GETS ENTRY DATA "KRN",19,123458,"RPC",5,0) MAG DICOM AUDIT RANGE "KRN",19,123458,"RPC",9,0) MAG DICOM ROUTE STATUS "KRN",19,123458,"RPC",10,0) MAG DICOM ROUTE LOCK TRANSMIT "KRN",19,123458,"RPC",11,0) MAG DICOM IMAGE AUDIT GET "KRN",19,123458,"RPC",12,0) MAG DICOM AUDIT PURGE "KRN",19,123458,"RPC",13,0) MAG DICOM TEXT PROCESSING "KRN",19,123458,"RPC",14,0) MAG DICOM WORKSTATION VERSION "KRN",19,123458,"RPC",15,0) MAG DICOM FILEMAN GET "KRN",19,123458,"RPC",17,0) MAG DICOM PACS CUTOFF DATE "KRN",19,123458,"RPC",18,0) MAG DICOM PACS MINIMUM SPACE "KRN",19,123458,"RPC",19,0) MAG DICOM GET PATIENT "KRN",19,123458,"RPC",20,0) MAG DICOM GET BASIC IMAGE "KRN",19,123458,"RPC",21,0) MAG DICOM LOOKUP RAD STUDY "KRN",19,123458,"RPC",22,0) MAG DICOM LOOKUP STUDY "KRN",19,123458,"RPC",23,0) MAG DICOM GET NEXT QUEUE ENTRY "KRN",19,123458,"RPC",24,0) MAG DICOM GET PLACE "KRN",19,123458,"RPC",25,0) MAG DICOM SET PACS PARAMS "KRN",19,123458,"RPC",26,0) MAG DICOM FIND LOCATION "KRN",19,123458,"RPC",27,0) MAG DICOM GET IMAGING TYPES "KRN",19,123458,"RPC",31,0) MAG DICOM INCORRECT IMAGE CT "KRN",19,123458,"RPC",32,0) MAG DICOM ROUTE GET TRANS ID "KRN",19,123458,"RPC",33,0) MAG DICOM HL7 POINTER ACTION "KRN",19,123458,"RPC",34,0) MAG DICOM GET SERVICE INFO "KRN",19,123458,"RPC",35,0) MAG DICOM GET IMAGE GROUP "KRN",19,123458,"RPC",36,0) MAG DICOM GET RAD RPT INFO "KRN",19,123458,"RPC",37,0) MAG DICOM LIST GLOBAL VARIABLE "KRN",19,123458,"U") DICOM GATEWAY (VIEW ONLY) "KRN",19,123459,-1) 1^3 "KRN",19,123459,0) MAGD FIX MEDICINE DICOM FILE "KRN",19.1,123460,-1) 0^1 "KRN",19.1,123460,0) MAGDFIX ALL^Fix failed images at all sites^l^n "KRN",19.1,123460,1,0) ^^7^7^3040108^ "KRN",19.1,123460,1,1,0) This security key allows the holder to perform DICOM CORRECT functions on "KRN",19.1,123460,1,2,0) any entry in the DICOM FAILED IMAGE File (#2006.575), whether or not "KRN",19.1,123460,1,3,0) that entry "KRN",19.1,123460,1,4,0) was captured through the DICOM Gateway of the user's site. "KRN",19.1,123460,1,5,0) "KRN",19.1,123460,1,6,0) Users who do not hold this key will only be able to correct entries that "KRN",19.1,123460,1,7,0) were captured on their own site's gateway. "KRN",19.1,123461,-1) 0^2 "KRN",19.1,123461,0) MAGJ DEMAND ROUTE DICOM^Demand Routing of DICOM images "KRN",19.1,123461,1,0) ^^3^3^3031231^ "KRN",19.1,123461,1,1,0) Allow the user to queue DICOM images to be routed on demand. "KRN",19.1,123461,1,2,0) This functionality exists in the VistaRad Exam List, and only for "KRN",19.1,123461,1,3,0) sites that have been configured for routing of DICOM images. "KRN",8994,123462,-1) 0^1 "KRN",8994,123462,0) MAG DICOM AUDIT COUNT^COUNT^MAGDRPC7^1^R^0^0^1^3^0 "KRN",8994,123462,1,0) ^8994.01^16^16 "KRN",8994,123462,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123462,1,2,0) | Property of the US Government. | "KRN",8994,123462,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123462,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123462,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123462,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123462,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123462,1,8,0) | | "KRN",8994,123462,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123462,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123462,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123462,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123462,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123462,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123462,1,15,0) "KRN",8994,123462,1,16,0) This RPC call updates (increments) an audit count for a DICOM Gateway. "KRN",8994,123462,2,0) ^8994.02^2^2 "KRN",8994,123462,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123462,2,1,1,0) ^8994.021^2^2 "KRN",8994,123462,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123462,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123462,2,2,0) MESSAGE^1^30^1^2 "KRN",8994,123462,2,2,1,0) ^8994.021^3^3 "KRN",8994,123462,2,2,1,1,0) The value of this parameter is a text-string. "KRN",8994,123462,2,2,1,2,0) This text value identifies the rubric for which a count is "KRN",8994,123462,2,2,1,3,0) to be incremented. "KRN",8994,123462,2,"B","LOCATION",1) "KRN",8994,123462,2,"B","MESSAGE",2) "KRN",8994,123462,2,"PARAMSEQ",1,1) "KRN",8994,123462,2,"PARAMSEQ",2,2) "KRN",8994,123462,3,0) ^8994.03^5^5 "KRN",8994,123462,3,1,0) The return value from this RPC shows whether or not a "KRN",8994,123462,3,2,0) count was incremented. Possible values are: "KRN",8994,123462,3,3,0) "-1,No Location Specified" "KRN",8994,123462,3,4,0) "-2,No Message Specified" "KRN",8994,123462,3,5,0) >0: current value of the incremented counter "KRN",8994,123463,-1) 0^2 "KRN",8994,123463,0) MAG DICOM AUDIT PURGE^PURGE^MAGDRPC7^1^R^0^0^1^3^0 "KRN",8994,123463,1,0) ^8994.01^17^17 "KRN",8994,123463,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123463,1,2,0) | Property of the US Government. | "KRN",8994,123463,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123463,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123463,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123463,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123463,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123463,1,8,0) | | "KRN",8994,123463,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123463,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123463,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123463,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123463,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123463,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123463,1,15,0) "KRN",8994,123463,1,16,0) This RPC call will purge audit information that was gathered "KRN",8994,123463,1,17,0) by DICOM Gateways. "KRN",8994,123463,2,0) ^8994.02^2^2 "KRN",8994,123463,2,1,0) FILENUM^1^20^1^1 "KRN",8994,123463,2,1,1,0) ^8994.021^2^2 "KRN",8994,123463,2,1,1,1,0) The value of this parameter is a number. This number identifies "KRN",8994,123463,2,1,1,2,0) the FileMan table that is to be purged. "KRN",8994,123463,2,2,0) DATE^1^20^1^2 "KRN",8994,123463,2,2,1,0) ^8994.021^3^3 "KRN",8994,123463,2,2,1,1,0) The value of this parameter is a (FileMan formatted) date. "KRN",8994,123463,2,2,1,2,0) Data generated before this date will be purged from the current "KRN",8994,123463,2,2,1,3,0) FileMan table. "KRN",8994,123463,2,"B","DATE",2) "KRN",8994,123463,2,"B","FILENUM",1) "KRN",8994,123463,2,"PARAMSEQ",1,1) "KRN",8994,123463,2,"PARAMSEQ",2,2) "KRN",8994,123463,3,0) ^8994.03^3^3 "KRN",8994,123463,3,1,0) The return value from this RPC shows how much data has "KRN",8994,123463,3,2,0) been purged. The value looks like: "KRN",8994,123463,3,3,0) "nnn days purged." "KRN",8994,123464,-1) 0^3 "KRN",8994,123464,0) MAG DICOM AUDIT RANGE^RANGE^MAGDRPC7^2^R^0^0^1^3^0 "KRN",8994,123464,1,0) ^8994.01^19^19 "KRN",8994,123464,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123464,1,2,0) | Property of the US Government. | "KRN",8994,123464,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123464,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123464,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123464,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123464,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123464,1,8,0) | | "KRN",8994,123464,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123464,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123464,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123464,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123464,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123464,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123464,1,15,0) "KRN",8994,123464,1,16,0) This RPC call returns information about the date-ranges "KRN",8994,123464,1,17,0) for which audit information is available for the various "KRN",8994,123464,1,18,0) kinds DICOM Gateways and the instruments that send "KRN",8994,123464,1,19,0) images to them. "KRN",8994,123464,3,0) ^8994.03^6^6 "KRN",8994,123464,3,1,0) The output array contains information about the various "KRN",8994,123464,3,2,0) audit files. The information looks like (for each file): "KRN",8994,123464,3,3,0) "KRN",8994,123464,3,4,0) file number ^ first date ^ last date "KRN",8994,123464,3,5,0) "KRN",8994,123464,3,6,0) The final entry in the output array has the value "-END-". "KRN",8994,123465,-1) 0^4 "KRN",8994,123465,0) MAG DICOM ET PHONE HOME^INFO^MAGDRPC1^2^R^0^0^1^3^0 "KRN",8994,123465,1,0) ^8994.01^21^21 "KRN",8994,123465,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123465,1,2,0) | Property of the US Government. | "KRN",8994,123465,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123465,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123465,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123465,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123465,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123465,1,8,0) | | "KRN",8994,123465,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123465,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123465,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123465,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123465,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123465,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123465,1,15,0) "KRN",8994,123465,1,16,0) Each day, a DICOM Gateway reports a number of statistics "KRN",8994,123465,1,17,0) to the Imaging Team in Silver Spring (Maryland). "KRN",8994,123465,1,18,0) Part of that information that is transmitted needs to be fetched "KRN",8994,123465,1,19,0) from the VistA System. "KRN",8994,123465,1,20,0) "KRN",8994,123465,1,21,0) This RPC fetches all information to be reported from the VistA system. "KRN",8994,123465,2,0) ^8994.02^1^1 "KRN",8994,123465,2,1,0) LOCATION^1^20^1^1 "KRN",8994,123465,2,1,1,0) ^8994.021^3^3 "KRN",8994,123465,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123465,2,1,1,2,0) This pointer identifies the location at which this DICOM Gateway "KRN",8994,123465,2,1,1,3,0) is located. "KRN",8994,123465,2,"B","LOCATION",1) "KRN",8994,123465,2,"PARAMSEQ",1,1) "KRN",8994,123465,3,0) ^8994.03^7^7 "KRN",8994,123465,3,1,0) This RPC returns an array with information. "KRN",8994,123465,3,2,0) OUT(1) = number of returned information nodes "KRN",8994,123465,3,3,0) OUT(2) = Site ID "KRN",8994,123465,3,4,0) OUT(n1) = "Route" "KRN",8994,123465,3,5,0) OUT(n1+i) = routing statistics "KRN",8994,123465,3,6,0) OUT(n2) = "Audit" "KRN",8994,123465,3,7,0) OUT(n2+i) = Audit information "KRN",8994,123466,-1) 0^5 "KRN",8994,123466,0) MAG DICOM FILEMAN GET^FMGET^MAGDRPC1^1^R^0^0^1^3^0 "KRN",8994,123466,1,0) ^8994.01^18^18 "KRN",8994,123466,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123466,1,2,0) | Property of the US Government. | "KRN",8994,123466,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123466,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123466,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123466,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123466,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123466,1,8,0) | | "KRN",8994,123466,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123466,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123466,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123466,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123466,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123466,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123466,1,15,0) "KRN",8994,123466,1,16,0) On occasion it is needed to fetch a value from a database. "KRN",8994,123466,1,17,0) This RPC is a general-purpose one that fetches the value "KRN",8994,123466,1,18,0) of one specific field from a specific table. "KRN",8994,123466,2,0) ^8994.02^3^3 "KRN",8994,123466,2,1,0) FILE^1^30^1^1 "KRN",8994,123466,2,1,1,0) ^8994.021^2^2 "KRN",8994,123466,2,1,1,1,0) The value of this parameter is a number. This value is the "KRN",8994,123466,2,1,1,2,0) (FileMan) number of the table from which information is retrieved. "KRN",8994,123466,2,2,0) D0^1^30^1^2 "KRN",8994,123466,2,2,1,0) ^8994.021^2^2 "KRN",8994,123466,2,2,1,1,0) The value of this parameter is a number. This value is the "KRN",8994,123466,2,2,1,2,0) internal entry number in the table from which information is retrieved. "KRN",8994,123466,2,3,0) FIELD^1^30^1^3 "KRN",8994,123466,2,3,1,0) ^8994.021^2^2 "KRN",8994,123466,2,3,1,1,0) The value of this parameter is a number. This value is the "KRN",8994,123466,2,3,1,2,0) (FileMan) number of the field in the table from which information is retrieved. "KRN",8994,123466,2,"B","D0",2) "KRN",8994,123466,2,"B","FIELD",3) "KRN",8994,123466,2,"B","FILE",1) "KRN",8994,123466,2,"PARAMSEQ",1,1) "KRN",8994,123466,2,"PARAMSEQ",2,2) "KRN",8994,123466,2,"PARAMSEQ",3,3) "KRN",8994,123466,3,0) ^8994.03^3^3 "KRN",8994,123466,3,1,0) The value of this parameter is a string. "KRN",8994,123466,3,2,0) This string is either empty, or equal to the value of the retrieved "KRN",8994,123466,3,3,0) data field. "KRN",8994,123467,-1) 0^6 "KRN",8994,123467,0) MAG DICOM FIND LOCATION^FINDLOC^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123467,1,0) ^8994.01^18^18 "KRN",8994,123467,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123467,1,2,0) | Property of the US Government. | "KRN",8994,123467,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123467,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123467,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123467,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123467,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123467,1,8,0) | | "KRN",8994,123467,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123467,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123467,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123467,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123467,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123467,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123467,1,15,0) "KRN",8994,123467,1,16,0) This RPC returns the pointer value that identifies the "KRN",8994,123467,1,17,0) entry in the institution file (^DIC(4)) that has a name that "KRN",8994,123467,1,18,0) is equal to the value of the specified parameter. "KRN",8994,123467,2,0) ^8994.02^1^1 "KRN",8994,123467,2,1,0) NAME^1^30^1^1 "KRN",8994,123467,2,1,1,0) ^8994.021^2^2 "KRN",8994,123467,2,1,1,1,0) The value of this parameter is a string. "KRN",8994,123467,2,1,1,2,0) This parameter is assumed to be the name of a location or institution. "KRN",8994,123467,2,"B","NAME",1) "KRN",8994,123467,2,"PARAMSEQ",1,1) "KRN",8994,123467,3,0) ^8994.03^2^2 "KRN",8994,123467,3,1,0) The output value of this RPC is an integer number that "KRN",8994,123467,3,2,0) is a pointer to ^DIC(4). "KRN",8994,123468,-1) 0^7 "KRN",8994,123468,0) MAG DICOM GET BASIC IMAGE^IMAGE^MAGDRPC2^2^R^0^0^1^3^0 "KRN",8994,123468,1,0) ^8994.01^54^54 "KRN",8994,123468,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123468,1,2,0) | Property of the US Government. | "KRN",8994,123468,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123468,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123468,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123468,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123468,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123468,1,8,0) | | "KRN",8994,123468,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123468,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123468,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123468,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123468,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123468,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123468,1,15,0) "KRN",8994,123468,1,16,0) This RPC returns information about an image. "KRN",8994,123468,1,17,0) The information that is returned consists of any of "KRN",8994,123468,1,18,0) the fields listed below. Fields that do not have "KRN",8994,123468,1,19,0) a value (or that have an "empty" value) are not "KRN",8994,123468,1,20,0) returned. "KRN",8994,123468,1,21,0) "KRN",8994,123468,1,22,0) OBJECT NAME "KRN",8994,123468,1,23,0) FILEREF "KRN",8994,123468,1,24,0) DISK & VOLUME, MAGNETIC "KRN",8994,123468,1,25,0) DISK & VOLUME, ABSTRACT "KRN",8994,123468,1,26,0) DISK & VOLUME, WORM "KRN",8994,123468,1,27,0) OBJECT TYPE "KRN",8994,123468,1,28,0) PATIENT "KRN",8994,123468,1,29,0) PROCEDURE "KRN",8994,123468,1,30,0) LAST ACCESS DATE "KRN",8994,123468,1,31,0) IQ "KRN",8994,123468,1,32,0) GROUP PARENT "KRN",8994,123468,1,33,0) ACQUISITION SITE "KRN",8994,123468,1,34,0) DESCRIPTIVE CATEGORY "KRN",8994,123468,1,35,0) CLINIC "KRN",8994,123468,1,36,0) ACQUISITION DEVICE "KRN",8994,123468,1,37,0) TRACKING ID "KRN",8994,123468,1,38,0) DOCUMENT DATE "KRN",8994,123468,1,39,0) DATE/TIME IMAGE SAVED "KRN",8994,123468,1,40,0) IMAGE SAVE BY "KRN",8994,123468,1,41,0) SUMMARY OBJECT "KRN",8994,123468,1,42,0) SHORT DESCRIPTION "KRN",8994,123468,1,43,0) PROCEDURE/EXAM DATE/TIME "KRN",8994,123468,1,44,0) PARENT DATA FILE# "KRN",8994,123468,1,45,0) PARENT GLOBAL ROOT D0 "KRN",8994,123468,1,46,0) PARENT DATA FILE IMAGE POINTER "KRN",8994,123468,1,47,0) EXPORT REQUEST STATUS "KRN",8994,123468,1,48,0) PARENT GLOBAL ROOT D1 "KRN",8994,123468,1,49,0) Full FileName "KRN",8994,123468,1,50,0) Full Path+FileName "KRN",8994,123468,1,51,0) Big FileName "KRN",8994,123468,1,52,0) Big Path+FileName "KRN",8994,123468,1,53,0) Abstract FileName "KRN",8994,123468,1,54,0) Abstract Path+FileName "KRN",8994,123468,2,0) ^8994.02^1^1 "KRN",8994,123468,2,1,0) D0^1^30^1^1 "KRN",8994,123468,2,1,1,0) ^8994.021^3^3 "KRN",8994,123468,2,1,1,1,0) The value of this parameter is a pointer to ^MAG(2005). "KRN",8994,123468,2,1,1,2,0) This pointer identifies the image for which information "KRN",8994,123468,2,1,1,3,0) is being requested. "KRN",8994,123468,2,"B","D0",1) "KRN",8994,123468,2,"PARAMSEQ",1,1) "KRN",8994,123468,3,0) ^8994.03^8^8 "KRN",8994,123468,3,1,0) When an error occurs during the processing of this RPC, "KRN",8994,123468,3,2,0) the output array consists only one element: "KRN",8994,123468,3,3,0) OUT(1) = -1,Invalid IEN (xxx) "KRN",8994,123468,3,4,0) OUT(1) = -3,Image #nnn has been deleted. "KRN",8994,123468,3,5,0) OUT(1) = -2,No data for "nnn". "KRN",8994,123468,3,6,0) Otherwise, each element of the output array contains "KRN",8994,123468,3,7,0) three or more caret-separated pieces of data: "KRN",8994,123468,3,8,0) OUT(i) = field-name ^ data (internal) [ ^ data (external) ] "KRN",8994,123469,-1) 0^8 "KRN",8994,123469,0) MAG DICOM GET DOMAIN^DOMAIN^MAGDRPC1^1^R^0^0^1^3^0 "KRN",8994,123469,1,0) ^8994.01^17^17 "KRN",8994,123469,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123469,1,2,0) | Property of the US Government. | "KRN",8994,123469,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123469,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123469,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123469,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123469,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123469,1,8,0) | | "KRN",8994,123469,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123469,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123469,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123469,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123469,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123469,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123469,1,15,0) "KRN",8994,123469,1,16,0) This RPC retrieves the name of the MailMan Mail Domain "KRN",8994,123469,1,17,0) for the VistA site. "KRN",8994,123469,3,0) ^8994.03^3^3 "KRN",8994,123469,3,1,0) The value of this parameter is a string that looks like "KRN",8994,123469,3,2,0) xxxDOMAIN.EXT. In this string, the first part is the name "KRN",8994,123469,3,3,0) of the VistA MailMan domain. "KRN",8994,123470,-1) 0^9 "KRN",8994,123470,0) MAG DICOM GET HIGHEST HL7^HIGHHL7^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123470,1,0) ^8994.01^17^17 "KRN",8994,123470,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123470,1,2,0) | Property of the US Government. | "KRN",8994,123470,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123470,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123470,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123470,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123470,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123470,1,8,0) | | "KRN",8994,123470,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123470,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123470,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123470,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123470,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123470,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123470,1,15,0) "KRN",8994,123470,1,16,0) This RPC returns the pointer value that identifies the "KRN",8994,123470,1,17,0) highest-numbered HL7 message on the VistA system in ^MAGDHL7(2006.5). "KRN",8994,123470,3,0) ^8994.03^2^2 "KRN",8994,123470,3,1,0) The output value of this RPC is an integer number that "KRN",8994,123470,3,2,0) is a pointer to ^MAGDHL7(2006.5). "KRN",8994,123471,-1) 0^10 "KRN",8994,123471,0) MAG DICOM GET IMAGE GROUP^GRPIMG^MAGDRPC2^2^R^0^0^1^3^0 "KRN",8994,123471,1,0) ^8994.01^16^16 "KRN",8994,123471,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123471,1,2,0) | Property of the US Government. | "KRN",8994,123471,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123471,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123471,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123471,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123471,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123471,1,8,0) | | "KRN",8994,123471,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123471,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123471,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123471,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123471,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123471,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123471,1,15,0) "KRN",8994,123471,1,16,0) This RPC returns the list of images in a group (if any). "KRN",8994,123471,2,0) ^8994.02^1^1 "KRN",8994,123471,2,1,0) D0^1^30^1^1 "KRN",8994,123471,2,1,1,0) ^8994.021^3^3 "KRN",8994,123471,2,1,1,1,0) The value of this parameter is a pointer to ^MAG(2005). "KRN",8994,123471,2,1,1,2,0) This pointer identifies the image for which information "KRN",8994,123471,2,1,1,3,0) is being requested. "KRN",8994,123471,2,"B","D0",1) "KRN",8994,123471,2,"PARAMSEQ",1,1) "KRN",8994,123471,3,0) ^8994.03^5^5 "KRN",8994,123471,3,1,0) The output array contains the list of pointers to images "KRN",8994,123471,3,2,0) that are part of the specified image group. The value of "KRN",8994,123471,3,3,0) OUT(1) is equal to the number of images in the group "KRN",8994,123471,3,4,0) (0 if none). "KRN",8994,123471,3,5,0) ~~ "KRN",8994,123472,-1) 0^11 "KRN",8994,123472,0) MAG DICOM GET IMAGING TYPES^VALIMGT^MAGDRPC8^2^R^0^0^1^3^0 "KRN",8994,123472,1,0) ^8994.01^17^17 "KRN",8994,123472,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123472,1,2,0) | Property of the US Government. | "KRN",8994,123472,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123472,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123472,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123472,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123472,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123472,1,8,0) | | "KRN",8994,123472,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123472,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123472,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123472,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123472,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123472,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123472,1,15,0) "KRN",8994,123472,1,16,0) This RPC returns an array containing data about valid imaging "KRN",8994,123472,1,17,0) types. "KRN",8994,123472,3,0) ^8994.03^4^4 "KRN",8994,123472,3,1,0) The output array of this RPC contains information about valid "KRN",8994,123472,3,2,0) imaging types. OUT(1) has a integer value that represents the "KRN",8994,123472,3,3,0) number of returned values. Each other entry looks like: "KRN",8994,123472,3,4,0) Imaging Service ^ Imaging Type "KRN",8994,123473,-1) 0^12 "KRN",8994,123473,0) MAG DICOM GET NEXT QUEUE ENTRY^NEXTIMG^MAGDRPC4^2^R^0^0^1^3^0 "KRN",8994,123473,1,0) ^8994.01^18^18 "KRN",8994,123473,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123473,1,2,0) | Property of the US Government. | "KRN",8994,123473,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123473,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123473,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123473,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123473,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123473,1,8,0) | | "KRN",8994,123473,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123473,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123473,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123473,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123473,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123473,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123473,1,15,0) "KRN",8994,123473,1,16,0) This RPC will check if there are any new images to be transmitted, "KRN",8994,123473,1,17,0) and will return information about the first or next one (if any) "KRN",8994,123473,1,18,0) in the DICOM transmission queue. "KRN",8994,123473,2,0) ^8994.02^4^4 "KRN",8994,123473,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123473,2,1,1,0) ^8994.021^3^3 "KRN",8994,123473,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123473,2,1,1,2,0) This pointer identifies the location at which images were acquired, "KRN",8994,123473,2,1,1,3,0) i.e., from where they are being transmitted. "KRN",8994,123473,2,2,0) D0^1^20^0^2 "KRN",8994,123473,2,2,1,0) ^8994.021^6^6 "KRN",8994,123473,2,2,1,1,0) The value of this optional parameter is a pointer into the "KRN",8994,123473,2,2,1,2,0) DICOM IMAGE OUTPUT file (#2006.574). If this paramater is omitted, "KRN",8994,123473,2,2,1,3,0) this RPC will find the first (if any) study in this file to be "KRN",8994,123473,2,2,1,4,0) transmitted. If this parameter is specified, its value is intended "KRN",8994,123473,2,2,1,5,0) to be the "D0" value for the most recent image transmitted, and this "KRN",8994,123473,2,2,1,6,0) RPC will find the next (if any) image to be transmitted. "KRN",8994,123473,2,3,0) D1^1^20^0^3 "KRN",8994,123473,2,3,1,0) ^8994.021^8^8 "KRN",8994,123473,2,3,1,1,0) The value of this optional parameter is a pointer into the "KRN",8994,123473,2,3,1,2,0) IMAGE multiple of the "KRN",8994,123473,2,3,1,3,0) DICOM IMAGE OUTPUT file (#2006.574). If this paramater is omitted, "KRN",8994,123473,2,3,1,4,0) this RPC will find the first (if any) image in this file for the "KRN",8994,123473,2,3,1,5,0) current study to be "KRN",8994,123473,2,3,1,6,0) transmitted. If this parameter is specified, its value is intended "KRN",8994,123473,2,3,1,7,0) to be the "D1" value for the most recent image transmitted, and this "KRN",8994,123473,2,3,1,8,0) RPC will find the next (if any) image to be transmitted. "KRN",8994,123473,2,4,0) SENT^2^10000^0^4 "KRN",8994,123473,2,4,1,0) ^8994.021^5^5 "KRN",8994,123473,2,4,1,1,0) This parameter is an array. Each element of this array "KRN",8994,123473,2,4,1,2,0) contains internal entry numbers that identify an entry "KRN",8994,123473,2,4,1,3,0) in the send-queue that has been transmitted successfully. "KRN",8994,123473,2,4,1,4,0) The RPC will use the contents of this array to remove "KRN",8994,123473,2,4,1,5,0) entries from the queue that have been transmitted. "KRN",8994,123473,2,"B","D0",2) "KRN",8994,123473,2,"B","D1",3) "KRN",8994,123473,2,"B","LOCATION",1) "KRN",8994,123473,2,"B","SENT",4) "KRN",8994,123473,2,"PARAMSEQ",1,1) "KRN",8994,123473,2,"PARAMSEQ",2,2) "KRN",8994,123473,2,"PARAMSEQ",3,3) "KRN",8994,123473,2,"PARAMSEQ",4,4) "KRN",8994,123473,3,0) ^8994.03^18^18 "KRN",8994,123473,3,1,0) The first element of the output array indicates whether there "KRN",8994,123473,3,2,0) are any images to be transmitted. "KRN",8994,123473,3,3,0) If there are none, or if there is an error in one or more input parameters, "KRN",8994,123473,3,4,0) OUT(1) will reflect this. Otherwise: "KRN",8994,123473,3,5,0) OUT(1) = 1 "KRN",8994,123473,3,6,0) OUT(2) = New value for D0 "KRN",8994,123473,3,7,0) OUT(3) = New value for D1 "KRN",8994,123473,3,8,0) OUT(4) = Destination Application "KRN",8994,123473,3,9,0) OUT(5) = Group "KRN",8994,123473,3,10,0) OUT(6) = Accession number "KRN",8994,123473,3,11,0) OUT(7) = Image Number "KRN",8994,123473,3,12,0) OUT(8) = Object Type "KRN",8994,123473,3,13,0) OUT(9) = File Name (including directory path) "KRN",8994,123473,3,14,0) OUT(10) = File Name (file name only) "KRN",8994,123473,3,15,0) Possible error messages: "KRN",8994,123473,3,16,0) OUT(1)="-1,No Origin Specified" "KRN",8994,123473,3,17,0) OUT(1)="-2,No studies to be transmitted" "KRN",8994,123473,3,18,0) OUT(1)="-3,No files to be transmitted" "KRN",8994,123474,-1) 0^13 "KRN",8994,123474,0) MAG DICOM GET PATIENT^PAT^MAGDRPC1^2^R^0^0^1^3^0 "KRN",8994,123474,1,0) ^8994.01^21^21 "KRN",8994,123474,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123474,1,2,0) | Property of the US Government. | "KRN",8994,123474,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123474,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123474,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123474,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123474,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123474,1,8,0) | | "KRN",8994,123474,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123474,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123474,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123474,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123474,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123474,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123474,1,15,0) "KRN",8994,123474,1,16,0) This RPC returns patient info, reporting in one single "KRN",8994,123474,1,17,0) call the information from "KRN",8994,123474,1,18,0) DEM^VADPT -- Demographic Information "KRN",8994,123474,1,19,0) ADD^VADPT -- Address Information "KRN",8994,123474,1,20,0) INP^VADPT -- In-Patient Information "KRN",8994,123474,1,21,0) SDA^VADPT -- Appointment Information "KRN",8994,123474,2,0) ^8994.02^1^1 "KRN",8994,123474,2,1,0) DFN^1^30^1^1 "KRN",8994,123474,2,1,1,0) ^8994.021^3^3 "KRN",8994,123474,2,1,1,1,0) The value of this parameter is a pointer to ^DPT(). "KRN",8994,123474,2,1,1,2,0) This pointer identifies the patient for whom information "KRN",8994,123474,2,1,1,3,0) is being requested. "KRN",8994,123474,2,"B","DFN",1) "KRN",8994,123474,2,"PARAMSEQ",1,1) "KRN",8994,123474,3,0) ^8994.03^10^10 "KRN",8994,123474,3,1,0) When an error occurs during the processing of this RPC, "KRN",8994,123474,3,2,0) the output array consists only one element: "KRN",8994,123474,3,3,0) OUT(1)="-1,No Patient Identified" "KRN",8994,123474,3,4,0) Otherwise, each element of the output array contains "KRN",8994,123474,3,5,0) three or more caret-separated pieces of data: "KRN",8994,123474,3,6,0) OUT(i) = group ^ sequence ^ data [ ^ further data ... ] "KRN",8994,123474,3,7,0) The group identifies the source of the data ("DEM", "KRN",8994,123474,3,8,0) "ADD", "INP" or "SDA"), the sequence number is equal to "KRN",8994,123474,3,9,0) the subscript-number that ^VADPT would use in its output-arrays, "KRN",8994,123474,3,10,0) and the data parts are the data returned by ^VADPT. "KRN",8994,123475,-1) 0^14 "KRN",8994,123475,0) MAG DICOM GET PLACE^GETPLACE^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123475,1,0) ^8994.01^17^17 "KRN",8994,123475,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123475,1,2,0) | Property of the US Government. | "KRN",8994,123475,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123475,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123475,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123475,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123475,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123475,1,8,0) | | "KRN",8994,123475,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123475,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123475,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123475,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123475,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123475,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123475,1,15,0) "KRN",8994,123475,1,16,0) This RPC returns the internal entry number in ^MAG(2006.1) for the "KRN",8994,123475,1,17,0) "place" that corresponds to the specified "location". "KRN",8994,123475,2,0) ^8994.02^1^1 "KRN",8994,123475,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123475,2,1,1,0) ^8994.021^3^3 "KRN",8994,123475,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123475,2,1,1,2,0) This pointer identifies the location for which ther "place" "KRN",8994,123475,2,1,1,3,0) is to be returned. "KRN",8994,123475,2,"B","LOCATION",1) "KRN",8994,123475,2,"PARAMSEQ",1,1) "KRN",8994,123475,3,0) ^8994.03^4^4 "KRN",8994,123475,3,1,0) The output value of this RPC is either equal to "KRN",8994,123475,3,2,0) OUT = "-1,Location "xxx" not found." "KRN",8994,123475,3,3,0) or to the internal entry number of the "place" that corresponds "KRN",8994,123475,3,4,0) to the "location". "KRN",8994,123476,-1) 0^15 "KRN",8994,123476,0) MAG DICOM GET RAD RPT INFO^RARPTO^MAGDRPC1^1^R^0^0^1^3^0 "KRN",8994,123476,1,0) ^8994.01^18^18 "KRN",8994,123476,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123476,1,2,0) | Property of the US Government. | "KRN",8994,123476,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123476,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123476,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123476,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123476,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123476,1,8,0) | | "KRN",8994,123476,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123476,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123476,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123476,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123476,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123476,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123476,1,15,0) "KRN",8994,123476,1,16,0) This RPC returns information from the Radiology Report Table. "KRN",8994,123476,1,17,0) The type of information returned depends on the values of the "KRN",8994,123476,1,18,0) input parameters. "KRN",8994,123476,2,0) ^8994.02^1^1 "KRN",8994,123476,2,1,0) D0^1^30^1^1 "KRN",8994,123476,2,1,1,0) ^8994.021^6^6 "KRN",8994,123476,2,1,1,1,0) The value of this parameter is the second-level FileMan internal "KRN",8994,123476,2,1,1,2,0) entry number into the Radiology Report table. "KRN",8994,123476,2,1,1,3,0) the traversal direction through the table. "KRN",8994,123476,2,1,1,4,0) For the other values of the first input parameter, the value "KRN",8994,123476,2,1,1,5,0) is the fixed subscript between the highest level entry number "KRN",8994,123476,2,1,1,6,0) and the next level internal entry number. "KRN",8994,123476,2,"B","D0",1) "KRN",8994,123476,2,"PARAMSEQ",1,1) "KRN",8994,123476,3,0) ^8994.03^3^3 "KRN",8994,123476,3,1,0) The output value is a string that contains the requested information "KRN",8994,123476,3,2,0) (see input parameters). "KRN",8994,123476,3,3,0) ~~ "KRN",8994,123477,-1) 0^16 "KRN",8994,123477,0) MAG DICOM GET SERVICE INFO^SERVICE^MAGDRPC2^1^R^0^0^1^3^0 "KRN",8994,123477,1,0) ^8994.01^23^23 "KRN",8994,123477,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123477,1,2,0) | Property of the US Government. | "KRN",8994,123477,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123477,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123477,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123477,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123477,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123477,1,8,0) | | "KRN",8994,123477,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123477,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123477,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123477,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123477,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123477,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123477,1,15,0) "KRN",8994,123477,1,16,0) This RPC retrieves the credentials for the DICOM Gateway "KRN",8994,123477,1,17,0) Service account. "KRN",8994,123477,1,18,0) When an end-user changes an access or verify code while "KRN",8994,123477,1,19,0) a "long-running" process like "Process Text Messages" or "KRN",8994,123477,1,20,0) "Process DICOM Images" is running, the need my arise for "KRN",8994,123477,1,21,0) the DICOM Gateway to re-connect to its VistA system. "KRN",8994,123477,1,22,0) When the stored user's credentials fail, the DICOM Gateway "KRN",8994,123477,1,23,0) can temporarily continue to function using these credentials. "KRN",8994,123477,3,0) ^8994.03^2^2 "KRN",8994,123477,3,1,0) The value of this parameter is a string that contains "KRN",8994,123477,3,2,0) an access and a verify code, both encrypted. "KRN",8994,123478,-1) 0^17 "KRN",8994,123478,0) MAG DICOM GET VERSION^IMGVER^MAGDRPC2^1^R^0^0^1^3^0 "KRN",8994,123478,1,0) ^8994.01^17^17 "KRN",8994,123478,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123478,1,2,0) | Property of the US Government. | "KRN",8994,123478,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123478,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123478,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123478,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123478,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123478,1,8,0) | | "KRN",8994,123478,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123478,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123478,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123478,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123478,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123478,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123478,1,15,0) "KRN",8994,123478,1,16,0) This RPC returns information from about the Imaging Patches "KRN",8994,123478,1,17,0) that have been installed on the server system. "KRN",8994,123478,3,0) ^8994.03^5^5 "KRN",8994,123478,3,1,0) The output value is as string that contains a comma separated "KRN",8994,123478,3,2,0) list. The first elements in this list are the patch numbers "KRN",8994,123478,3,3,0) in the sequence that they were applied to the system. "KRN",8994,123478,3,4,0) The final element identifies the latest patch and its distribution date. "KRN",8994,123478,3,5,0) ~~ "KRN",8994,123479,-1) 0^18 "KRN",8994,123479,0) MAG DICOM HL7 POINTER ACTION^HL7PTR^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123479,1,0) ^8994.01^18^18 "KRN",8994,123479,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123479,1,2,0) | Property of the US Government. | "KRN",8994,123479,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123479,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123479,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123479,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123479,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123479,1,8,0) | | "KRN",8994,123479,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123479,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123479,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123479,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123479,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123479,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123479,1,15,0) "KRN",8994,123479,1,16,0) This RPC retrieves information about HL7 messages. "KRN",8994,123479,1,17,0) Depending on the values of the parameters, different types of "KRN",8994,123479,1,18,0) information can be returned. "KRN",8994,123479,2,0) ^8994.02^2^2 "KRN",8994,123479,2,1,0) ACTION^1^30^1^1 "KRN",8994,123479,2,1,1,0) ^8994.021^3^3 "KRN",8994,123479,2,1,1,1,0) The value of this parameter is a string that specifies the action "KRN",8994,123479,2,1,1,2,0) to be taken by the remote procedure. "KRN",8994,123479,2,1,1,3,0) Currently, valid actions are "GetDate" and "DatePtr". "KRN",8994,123479,2,2,0) VALUE^1^30^1^2 "KRN",8994,123479,2,2,1,0) ^8994.021^8^8 "KRN",8994,123479,2,2,1,1,0) The value of this parameter is a string. The meaning of this "KRN",8994,123479,2,2,1,2,0) string depends on the value of parameter ACTION. "KRN",8994,123479,2,2,1,3,0) When ACTION="GetDate", the value of this parameter is interpreted "KRN",8994,123479,2,2,1,4,0) as a pointer to the HL7 message for which the date is to be "KRN",8994,123479,2,2,1,5,0) retrieved. "KRN",8994,123479,2,2,1,6,0) When ACTION="DatePtr", the value of this parameter is interpreted "KRN",8994,123479,2,2,1,7,0) as the date for which a pointer to the first HL7 message that "KRN",8994,123479,2,2,1,8,0) occurred on or past that date is to be retrieved. "KRN",8994,123479,2,"B","ACTION",1) "KRN",8994,123479,2,"B","VALUE",2) "KRN",8994,123479,2,"PARAMSEQ",1,1) "KRN",8994,123479,2,"PARAMSEQ",2,2) "KRN",8994,123479,3,0) ^8994.03^6^6 "KRN",8994,123479,3,1,0) The value of this parameter is a string that either has "KRN",8994,123479,3,2,0) one of the values: "KRN",8994,123479,3,3,0) OUT = "-1,Invalid Pointer "xxx". "KRN",8994,123479,3,4,0) OUT = "-2,Invalid Request "xxx". "KRN",8994,123479,3,5,0) or a non-negative value that corresponds to a result, based on "KRN",8994,123479,3,6,0) the input parameters. "KRN",8994,123480,-1) 0^19 "KRN",8994,123480,0) MAG DICOM IMAGE AUDIT GET^GET2^MAGDRPC7^2^R^0^0^1^3^0 "KRN",8994,123480,1,0) ^8994.01^17^17 "KRN",8994,123480,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123480,1,2,0) | Property of the US Government. | "KRN",8994,123480,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123480,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123480,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123480,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123480,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123480,1,8,0) | | "KRN",8994,123480,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123480,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123480,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123480,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123480,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123480,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123480,1,15,0) "KRN",8994,123480,1,16,0) This RPC call fetches the statistical information "KRN",8994,123480,1,17,0) that is collected about the acquisition of images. "KRN",8994,123480,2,0) ^8994.02^3^3 "KRN",8994,123480,2,1,0) LOCATION^1^10^1^1 "KRN",8994,123480,2,1,1,0) ^8994.021^2^2 "KRN",8994,123480,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123480,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123480,2,2,0) START^1^10^0^2 "KRN",8994,123480,2,2,1,0) ^8994.021^3^3 "KRN",8994,123480,2,2,1,1,0) The value of this parameter is a (FileMan) date. "KRN",8994,123480,2,2,1,2,0) This date, if specified, indicates the first day for which statistics "KRN",8994,123480,2,2,1,3,0) are to be returned. "KRN",8994,123480,2,3,0) STOP^1^10^0^3 "KRN",8994,123480,2,3,1,0) ^8994.021^3^3 "KRN",8994,123480,2,3,1,1,0) The value of this parameter is a (FileMan) date. "KRN",8994,123480,2,3,1,2,0) This date, if specified, indicates the last day for which statistics "KRN",8994,123480,2,3,1,3,0) are to be returned. "KRN",8994,123480,2,"B","LOCATION",1) "KRN",8994,123480,2,"B","START",2) "KRN",8994,123480,2,"B","STOP",3) "KRN",8994,123480,2,"PARAMSEQ",1,1) "KRN",8994,123480,2,"PARAMSEQ",2,2) "KRN",8994,123480,2,"PARAMSEQ",3,3) "KRN",8994,123480,3,0) ^8994.03^10^10 "KRN",8994,123480,3,1,0) The output array contains a number of entries. "KRN",8994,123480,3,2,0) "KRN",8994,123480,3,3,0) Each entry has up to six pieces: "KRN",8994,123480,3,4,0) date ^ acquisition count ^ instrument ^ last acquisition ^ "KRN",8994,123480,3,5,0) processing count ^ last processing timestamp "KRN",8994,123480,3,6,0) "KRN",8994,123480,3,7,0) The first couple of entries have no values for date "KRN",8994,123480,3,8,0) and count; these entries are there to be able to first "KRN",8994,123480,3,9,0) establish a list of all relevant instruments, "KRN",8994,123480,3,10,0) and then present the counts for the various dates. "KRN",8994,123481,-1) 0^20 "KRN",8994,123481,0) MAG DICOM IMAGE PROCESSING^ENTRY^MAGDIR8^2^R^0^0^1^3^0 "KRN",8994,123481,1,0) ^8994.01^30^30 "KRN",8994,123481,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123481,1,2,0) | Property of the US Government. | "KRN",8994,123481,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123481,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123481,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123481,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123481,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123481,1,8,0) | | "KRN",8994,123481,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123481,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123481,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123481,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123481,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123481,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123481,1,15,0) "KRN",8994,123481,1,16,0) This Remote Procedure is used by a DICOM Gateway to interchange information "KRN",8994,123481,1,17,0) with the VistA Server. "KRN",8994,123481,1,18,0) "KRN",8994,123481,1,19,0) As images are acquired by the DICOM Gateway, information is "KRN",8994,123481,1,20,0) extracted from the image-file-headers, and attempts are made "KRN",8994,123481,1,21,0) to associate the image with a study for a patient. "KRN",8994,123481,1,22,0) "KRN",8994,123481,1,23,0) This procedure will take care of storing any information in "KRN",8994,123481,1,24,0) the VistA system, and will report any issues and problems "KRN",8994,123481,1,25,0) back to the DICOM Gateway. "KRN",8994,123481,1,26,0) "KRN",8994,123481,1,27,0) Information is exchanged about images that could not be processed, "KRN",8994,123481,1,28,0) and when such images have been corrected, this procedure will "KRN",8994,123481,1,29,0) notify the DICOM Gateway to make another attempt to process "KRN",8994,123481,1,30,0) the (now corrected) image. "KRN",8994,123481,2,0) ^8994.02^1^1 "KRN",8994,123481,2,1,0) REQUEST^2^32000^1^1 "KRN",8994,123481,2,1,1,0) ^8994.021^1^1 "KRN",8994,123481,2,1,1,1,0) ??? "KRN",8994,123481,2,"B","REQUEST",1) "KRN",8994,123481,2,"PARAMSEQ",1,1) "KRN",8994,123481,3,0) ^8994.03^5^5 "KRN",8994,123481,3,1,0) The array that is transmitted back to the DICOM Gateway through "KRN",8994,123481,3,2,0) the return parameter contains a list of results. "KRN",8994,123481,3,3,0) "KRN",8994,123481,3,4,0) Each result starts with a keyword (opcode), followed by the "KRN",8994,123481,3,5,0) parameters for that result. "KRN",8994,123482,-1) 0^21 "KRN",8994,123482,0) MAG DICOM INCORRECT IMAGE CT^CORRECT^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123482,1,0) ^8994.01^19^19 "KRN",8994,123482,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123482,1,2,0) | Property of the US Government. | "KRN",8994,123482,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123482,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123482,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123482,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123482,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123482,1,8,0) | | "KRN",8994,123482,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123482,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123482,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123482,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123482,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123482,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123482,1,15,0) "KRN",8994,123482,1,16,0) On occasion the software on the DICOM Gateway needs to know "KRN",8994,123482,1,17,0) the number of image files that need to be corrected. "KRN",8994,123482,1,18,0) This RPC is a general-purpose one that fetches this value from "KRN",8994,123482,1,19,0) the VistA system. "KRN",8994,123482,2,0) ^8994.02^2^2 "KRN",8994,123482,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123482,2,1,1,0) ^8994.021^2^2 "KRN",8994,123482,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123482,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123482,2,2,0) MACHID^1^30^1^2 "KRN",8994,123482,2,2,1,0) ^8994.021^3^3 "KRN",8994,123482,2,2,1,1,0) The value of this parameter is a string. "KRN",8994,123482,2,2,1,2,0) This string (usually only one character) identifies the DICOM "KRN",8994,123482,2,2,1,3,0) Gateway for which the request is being posted. "KRN",8994,123482,2,"B","LOCATION",1) "KRN",8994,123482,2,"B","MACHID",2) "KRN",8994,123482,2,"PARAMSEQ",1,1) "KRN",8994,123482,2,"PARAMSEQ",2,2) "KRN",8994,123482,3,0) ^8994.03^2^2 "KRN",8994,123482,3,1,0) The value of this parameter is an integer number. "KRN",8994,123482,3,2,0) This number is the current amount of incorrect image files. "KRN",8994,123483,-1) 0^22 "KRN",8994,123483,0) MAG DICOM LIST GLOBAL VARIABLE^LIST^MAGDGL^2^R^0^0^1^3^0 "KRN",8994,123483,1,0) ^8994.01^17^17 "KRN",8994,123483,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123483,1,2,0) | Property of the US Government. | "KRN",8994,123483,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123483,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123483,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123483,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123483,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123483,1,8,0) | | "KRN",8994,123483,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123483,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123483,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123483,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123483,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123483,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123483,1,15,0) "KRN",8994,123483,1,16,0) This RPC returns information from global variables on the "KRN",8994,123483,1,17,0) server system. "KRN",8994,123483,2,0) ^8994.02^3^3 "KRN",8994,123483,2,1,0) WILD^1^255^1^1 "KRN",8994,123483,2,1,1,0) ^8994.021^2^2 "KRN",8994,123483,2,1,1,1,0) The value of this parameter is a string that constitutes "KRN",8994,123483,2,1,1,2,0) a wild-card for traversing a global variable. "KRN",8994,123483,2,2,0) MAX^1^10^1^2 "KRN",8994,123483,2,2,1,0) ^8994.021^2^2 "KRN",8994,123483,2,2,1,1,0) The value of this parameter is an integer value that specifies "KRN",8994,123483,2,2,1,2,0) the maximum number of name/value pairs to be returned. "KRN",8994,123483,2,3,0) START^1^10^1^3 "KRN",8994,123483,2,3,1,0) ^8994.021^3^3 "KRN",8994,123483,2,3,1,1,0) The value of this parameter is an integer value that specifies "KRN",8994,123483,2,3,1,2,0) the the point in the global variable traversal where the "KRN",8994,123483,2,3,1,3,0) report is to be resumed. "KRN",8994,123483,2,"B","MAX",2) "KRN",8994,123483,2,"B","START",3) "KRN",8994,123483,2,"B","WILD",1) "KRN",8994,123483,2,"PARAMSEQ",1,1) "KRN",8994,123483,2,"PARAMSEQ",2,2) "KRN",8994,123483,2,"PARAMSEQ",3,3) "KRN",8994,123483,3,0) ^8994.03^5^5 "KRN",8994,123483,3,1,0) The output value is an array that contains information about "KRN",8994,123483,3,2,0) global variables on the server system. "KRN",8994,123483,3,3,0) The values in this array appear in pairs: each even-numbered element "KRN",8994,123483,3,4,0) is a name, and the subsequent odd-numbered element is the value "KRN",8994,123483,3,5,0) of the global variable with that name. "KRN",8994,123484,-1) 0^23 "KRN",8994,123484,0) MAG DICOM LOOKUP RAD STUDY^RADLKUP^MAGDRPC3^2^R^0^0^1^3^0 "KRN",8994,123484,1,0) ^8994.01^18^18 "KRN",8994,123484,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123484,1,2,0) | Property of the US Government. | "KRN",8994,123484,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123484,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123484,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123484,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123484,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123484,1,8,0) | | "KRN",8994,123484,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123484,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123484,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123484,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123484,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123484,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123484,1,15,0) "KRN",8994,123484,1,16,0) This RPC queries the VistA system for the details on a "KRN",8994,123484,1,17,0) Radiology Study, given the casenumber (either the date+number "KRN",8994,123484,1,18,0) or just the number) and the study date. "KRN",8994,123484,2,0) ^8994.02^2^2 "KRN",8994,123484,2,1,0) CASENUMB^1^30^1^1 "KRN",8994,123484,2,1,1,0) ^8994.021^4^4 "KRN",8994,123484,2,1,1,1,0) The value of this parameter is a string. This value identifies "KRN",8994,123484,2,1,1,2,0) the "case number" for the study. The case number may be specified "KRN",8994,123484,2,1,1,3,0) as a "date + case number" or as just an integer number. "KRN",8994,123484,2,1,1,4,0) In the former case, the date is formatted as "mmddyy". "KRN",8994,123484,2,2,0) STUDYDAT^1^20^1^2 "KRN",8994,123484,2,2,1,0) ^8994.021^2^2 "KRN",8994,123484,2,2,1,1,0) The value of this parameter is a (FileMan) date. "KRN",8994,123484,2,2,1,2,0) This value represents the date on which the study took place. "KRN",8994,123484,2,"B","CASENUMB",1) "KRN",8994,123484,2,"B","STUDYDAT",2) "KRN",8994,123484,2,"PARAMSEQ",1,1) "KRN",8994,123484,2,"PARAMSEQ",2,2) "KRN",8994,123484,3,0) ^8994.03^20^20 "KRN",8994,123484,3,1,0) When an error occurs during the processing of this RPC, "KRN",8994,123484,3,2,0) the output array consists only one element: "KRN",8994,123484,3,3,0) OUT(1) = -1,No Case Number Specified "KRN",8994,123484,3,4,0) Otherwise, the value of OUT(1) = 1, and there will "KRN",8994,123484,3,5,0) be 14 additional elements in the output array: "KRN",8994,123484,3,6,0) OUT(2) = RADPT1 "KRN",8994,123484,3,7,0) OUT(3) = RADPT2 "KRN",8994,123484,3,8,0) OUT(4) = RADPT3 "KRN",8994,123484,3,9,0) OUT(5) = PROCIEN "KRN",8994,123484,3,10,0) OUT(6) = CPTCODE "KRN",8994,123484,3,11,0) OUT(7) = CPTNAME "KRN",8994,123484,3,12,0) OUT(8) = ^RAMIS(71,d0,0) "KRN",8994,123484,3,13,0) OUT(9) = Exam Status "KRN",8994,123484,3,14,0) OUT(10) = DFN "KRN",8994,123484,3,15,0) OUT(11) = DATETIME "KRN",8994,123484,3,16,0) OUT(12) = Procedure Description "KRN",8994,123484,3,17,0) OUT(13) = Modality (2-letter abbreviation) "KRN",8994,123484,3,18,0) OUT(14) = Site "KRN",8994,123484,3,19,0) OUT(15) = Pregnancy Status "KRN",8994,123484,3,20,0) OUT(16) = Accession Number "KRN",8994,123485,-1) 0^24 "KRN",8994,123485,0) MAG DICOM LOOKUP STUDY^LOOKUP^MAGDRPC4^2^R^0^0^1^3^0 "KRN",8994,123485,1,0) ^8994.01^17^17 "KRN",8994,123485,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123485,1,2,0) | Property of the US Government. | "KRN",8994,123485,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123485,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123485,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123485,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123485,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123485,1,8,0) | | "KRN",8994,123485,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123485,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123485,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123485,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123485,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123485,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123485,1,15,0) "KRN",8994,123485,1,16,0) This RPC looks up a study that might be a Radiology Study "KRN",8994,123485,1,17,0) or a Clinical Specialty, based on the specified (case) number. "KRN",8994,123485,2,0) ^8994.02^1^1 "KRN",8994,123485,2,1,0) NUMBER^1^30^1^1 "KRN",8994,123485,2,1,1,0) ^8994.021^3^3 "KRN",8994,123485,2,1,1,1,0) The value of this parameter is a number that identifies a "KRN",8994,123485,2,1,1,2,0) study. Such a number would be a date-case number for a Radiology "KRN",8994,123485,2,1,1,3,0) study, or just a number for a Consult. "KRN",8994,123485,2,"B","NUMBER",1) "KRN",8994,123485,2,"PARAMSEQ",1,1) "KRN",8994,123485,3,0) ^8994.03^13^13 "KRN",8994,123485,3,1,0) The output array of this RPC is a list of all studies that "KRN",8994,123485,3,2,0) match the specified number. "KRN",8994,123485,3,3,0) The first element of the output array indicates the number "KRN",8994,123485,3,4,0) of studies that were found. The other elements of the "KRN",8994,123485,3,5,0) output array each contain the following pieces of information, "KRN",8994,123485,3,6,0) separated by carets: "KRN",8994,123485,3,7,0) 1. File number "KRN",8994,123485,3,8,0) 2. Internal entry number "KRN",8994,123485,3,9,0) 3. Image number "KRN",8994,123485,3,10,0) 4. Accession number "KRN",8994,123485,3,11,0) Possible error messages: "KRN",8994,123485,3,12,0) OUT(1)="-1,No Case or Consult Number Specified" "KRN",8994,123485,3,13,0) OUT(1)="-2,No Study Date Specified" "KRN",8994,123486,-1) 0^25 "KRN",8994,123486,0) MAG DICOM NETWORK STATUS^ONOFLINE^MAGDRPC5^1^R^0^0^1^3.0^0 "KRN",8994,123486,1,0) ^8994.01^16^16 "KRN",8994,123486,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123486,1,2,0) | Property of the US Government. | "KRN",8994,123486,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123486,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123486,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123486,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123486,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123486,1,8,0) | | "KRN",8994,123486,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123486,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123486,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123486,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123486,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123486,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123486,1,15,0) "KRN",8994,123486,1,16,0) Mark a Network Location as being either on-line or off-line. "KRN",8994,123486,2,0) ^8994.02^2^2 "KRN",8994,123486,2,1,0) DEST^1^30^1^1 "KRN",8994,123486,2,1,1,0) ^8994.021^3^3 "KRN",8994,123486,2,1,1,1,0) The value of this parameter is a pointer to ^MAG(2005.2). "KRN",8994,123486,2,1,1,2,0) This pointer identifies the network location for which the "KRN",8994,123486,2,1,1,3,0) operational status is being defined. "KRN",8994,123486,2,2,0) STATUS^1^10^1^2 "KRN",8994,123486,2,2,1,0) ^8994.021^4^4 "KRN",8994,123486,2,2,1,1,0) The value of this parameter is a Boolean value that indicates "KRN",8994,123486,2,2,1,2,0) the new operational status of the network location: "KRN",8994,123486,2,2,1,3,0) 0 = off-line "KRN",8994,123486,2,2,1,4,0) 1 = on-line "KRN",8994,123486,2,"B","DEST",1) "KRN",8994,123486,2,"B","STATUS",2) "KRN",8994,123486,2,"PARAMSEQ",1,1) "KRN",8994,123486,2,"PARAMSEQ",2,2) "KRN",8994,123486,3,0) ^8994.03^3^3 "KRN",8994,123486,3,1,0) The value of this parameter is one of: "KRN",8994,123486,3,2,0) 1: operation successful "KRN",8994,123486,3,3,0) "-1,No Network Location Specified" "KRN",8994,123487,-1) 0^26 "KRN",8994,123487,0) MAG DICOM PACS CUTOFF DATE^CUTOFF^MAGDRPC1^1^R^0^0^1^3^0 "KRN",8994,123487,1,0) ^8994.01^18^18 "KRN",8994,123487,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123487,1,2,0) | Property of the US Government. | "KRN",8994,123487,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123487,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123487,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123487,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123487,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123487,1,8,0) | | "KRN",8994,123487,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123487,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123487,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123487,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123487,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123487,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123487,1,15,0) "KRN",8994,123487,1,16,0) On occasion the software on the DICOM Gateway needs to know "KRN",8994,123487,1,17,0) the number of days that files are retained on Magnetic Storage "KRN",8994,123487,1,18,0) for files that are copied to a PACS. "KRN",8994,123487,2,0) ^8994.02^1^1 "KRN",8994,123487,2,1,0) D0^1^30^1^1 "KRN",8994,123487,2,1,1,0) ^8994.021^7^7 "KRN",8994,123487,2,1,1,1,0) The value of this parameter is a pointer to the Imaging "KRN",8994,123487,2,1,1,2,0) Site Parameter Table (#2006.1). "KRN",8994,123487,2,1,1,3,0) "KRN",8994,123487,2,1,1,4,0) For non-consolidated sites, this value is always equal to 1 . "KRN",8994,123487,2,1,1,5,0) "KRN",8994,123487,2,1,1,6,0) For consolidated sites, this pointer identifies the "place" "KRN",8994,123487,2,1,1,7,0) for which information is to be retrieved. "KRN",8994,123487,2,"B","D0",1) "KRN",8994,123487,2,"PARAMSEQ",1,1) "KRN",8994,123487,3,0) ^8994.03^3^3 "KRN",8994,123487,3,1,0) The value of this parameter is an integer number. "KRN",8994,123487,3,2,0) This number is the number of days that files are to be retained "KRN",8994,123487,3,3,0) at this location. "KRN",8994,123488,-1) 0^27 "KRN",8994,123488,0) MAG DICOM PACS MINIMUM SPACE^MINSPACE^MAGDRPC1^1^R^0^0^1^3^0 "KRN",8994,123488,1,0) ^8994.01^19^19 "KRN",8994,123488,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123488,1,2,0) | Property of the US Government. | "KRN",8994,123488,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123488,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123488,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123488,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123488,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123488,1,8,0) | | "KRN",8994,123488,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123488,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123488,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123488,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123488,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123488,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123488,1,15,0) "KRN",8994,123488,1,16,0) On occasion the software on the DICOM Gateway needs to know "KRN",8994,123488,1,17,0) the minimum percentage of disk space that needs to remain on "KRN",8994,123488,1,18,0) the Magnetic Disk Storage that is used for files that are "KRN",8994,123488,1,19,0) copied to a PACS. "KRN",8994,123488,2,0) ^8994.02^1^1 "KRN",8994,123488,2,1,0) D0^1^30^1^1 "KRN",8994,123488,2,1,1,0) ^8994.021^7^7 "KRN",8994,123488,2,1,1,1,0) The value of this parameter is a pointer to the Imaging "KRN",8994,123488,2,1,1,2,0) Site Parameter Table (#2006.1). "KRN",8994,123488,2,1,1,3,0) "KRN",8994,123488,2,1,1,4,0) For non-consolidated sites, this value is always equal to 1 . "KRN",8994,123488,2,1,1,5,0) "KRN",8994,123488,2,1,1,6,0) For consolidated sites, this pointer identifies the "place" "KRN",8994,123488,2,1,1,7,0) for which information is to be retrieved. "KRN",8994,123488,2,"B","D0",1) "KRN",8994,123488,2,"PARAMSEQ",1,1) "KRN",8994,123488,3,0) ^8994.03^3^3 "KRN",8994,123488,3,1,0) The value of this parameter is an integer number. "KRN",8994,123488,3,2,0) This number is the minimum percentage of disk space that "KRN",8994,123488,3,3,0) needs to remain free at this location. "KRN",8994,123489,-1) 0^28 "KRN",8994,123489,0) MAG DICOM PURGE HL7^HL7PURGE^MAGDRPC1^1^R^0^0^1^3.0^0 "KRN",8994,123489,1,0) ^8994.01^17^17 "KRN",8994,123489,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123489,1,2,0) | Property of the US Government. | "KRN",8994,123489,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123489,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123489,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123489,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123489,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123489,1,8,0) | | "KRN",8994,123489,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123489,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123489,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123489,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123489,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123489,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123489,1,15,0) "KRN",8994,123489,1,16,0) This RPC purges HL7 messages that were created before the "KRN",8994,123489,1,17,0) date specified. "KRN",8994,123489,2,0) ^8994.02^1^1 "KRN",8994,123489,2,1,0) CUTOFF^1^20^1^1 "KRN",8994,123489,2,1,1,0) ^8994.021^3^3 "KRN",8994,123489,2,1,1,1,0) The value of this parameter is a (FileMan) date. "KRN",8994,123489,2,1,1,2,0) This date indicates the cut-off date before which all messages "KRN",8994,123489,2,1,1,3,0) are to be purged. "KRN",8994,123489,2,"B","CUTOFF",1) "KRN",8994,123489,2,"PARAMSEQ",1,1) "KRN",8994,123489,3,0) ^8994.03^2^2 "KRN",8994,123489,3,1,0) The value of this parameter is an integer number. "KRN",8994,123489,3,2,0) This number is equal to the number of messages deleted. "KRN",8994,123490,-1) 0^29 "KRN",8994,123490,0) MAG DICOM QUEUE IMAGE^QUEUE^MAGDRPC3^1^R^0^0^1^3^0 "KRN",8994,123490,1,0) ^8994.01^22^22 "KRN",8994,123490,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123490,1,2,0) | Property of the US Government. | "KRN",8994,123490,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123490,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123490,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123490,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123490,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123490,1,8,0) | | "KRN",8994,123490,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123490,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123490,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123490,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123490,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123490,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123490,1,15,0) "KRN",8994,123490,1,16,0) This RPC enters a study into the DICOM Transmission queue. "KRN",8994,123490,1,17,0) In the simplest case, a study contains only one image. "KRN",8994,123490,1,18,0) More normally, a study consists of several images. "KRN",8994,123490,1,19,0) For object types 3 (X-RAY) and 100 (DICOM image), a single image is entered "KRN",8994,123490,1,20,0) into the transmission queue. "KRN",8994,123490,1,21,0) For object type 11 (X-RAY group) , all images for the study are "KRN",8994,123490,1,22,0) entered into the transmission queue. "KRN",8994,123490,2,0) ^8994.02^5^5 "KRN",8994,123490,2,1,0) IMAGE^1^30^1^1 "KRN",8994,123490,2,1,1,0) ^8994.021^2^2 "KRN",8994,123490,2,1,1,1,0) The value of this parameter is a pointer to ^MAG(2005). "KRN",8994,123490,2,1,1,2,0) This pointer identifies the image that is to be transmitted. "KRN",8994,123490,2,2,0) DESTINAT^1^20^1^2 "KRN",8994,123490,2,2,1,0) ^8994.021^3^3 "KRN",8994,123490,2,2,1,1,0) The value of this field is the name of the DICOM SOP Class Provider "KRN",8994,123490,2,2,1,2,0) to which the images are to be transmitted. This name must "KRN",8994,123490,2,2,1,3,0) occur in the User Application List file (#2006.585). "KRN",8994,123490,2,3,0) LOCATION^1^20^1^3 "KRN",8994,123490,2,3,1,0) ^8994.021^2^2 "KRN",8994,123490,2,3,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123490,2,3,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123490,2,4,0) ACCESSIO^1^20^0^4 "KRN",8994,123490,2,4,1,0) ^8994.021^2^2 "KRN",8994,123490,2,4,1,1,0) The value of this optional parameter is the accession number "KRN",8994,123490,2,4,1,2,0) for the study. "KRN",8994,123490,2,5,0) REASON^1^100^0^5 "KRN",8994,123490,2,5,1,0) ^8994.021^3^3 "KRN",8994,123490,2,5,1,1,0) The value of this optional parameter is a string that represents "KRN",8994,123490,2,5,1,2,0) the reason for the transmission of the image. "KRN",8994,123490,2,5,1,3,0) This reason will be stored in ^MAG(2006.95) (IMAGE ACCESS LOG). "KRN",8994,123490,2,"B","ACCESSIO",4) "KRN",8994,123490,2,"B","DESTINAT",2) "KRN",8994,123490,2,"B","IMAGE",1) "KRN",8994,123490,2,"B","LOCATION",3) "KRN",8994,123490,2,"B","REASON",5) "KRN",8994,123490,2,"PARAMSEQ",1,1) "KRN",8994,123490,2,"PARAMSEQ",2,2) "KRN",8994,123490,2,"PARAMSEQ",3,3) "KRN",8994,123490,2,"PARAMSEQ",4,4) "KRN",8994,123490,2,"PARAMSEQ",5,5) "KRN",8994,123490,3,0) ^8994.03^6^6 "KRN",8994,123490,3,1,0) The output value of this RPC indicates whether or not the "KRN",8994,123490,3,2,0) queuing of the image(s) was successful. If successful, the return "KRN",8994,123490,3,3,0) value is always equal to 1. Possible error messages: "KRN",8994,123490,3,4,0) OUT="-1,No Image specified" "KRN",8994,123490,3,5,0) OUT="-2,No Destination specified" "KRN",8994,123490,3,6,0) OUT="-3,No Origin specified" "KRN",8994,123491,-1) 0^30 "KRN",8994,123491,0) MAG DICOM QUEUE INIT^INIT^MAGDRPC4^1^R^0^0^1^3^0 "KRN",8994,123491,1,0) ^8994.01^17^17 "KRN",8994,123491,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123491,1,2,0) | Property of the US Government. | "KRN",8994,123491,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123491,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123491,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123491,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123491,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123491,1,8,0) | | "KRN",8994,123491,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123491,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123491,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123491,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123491,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123491,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123491,1,15,0) "KRN",8994,123491,1,16,0) This RPC (re)initializes the queue for DICOM transmission "KRN",8994,123491,1,17,0) of images to (remote) DICOM Storage Providers. "KRN",8994,123491,2,0) ^8994.02^1^1 "KRN",8994,123491,2,1,0) LOCATION^1^20^1^1 "KRN",8994,123491,2,1,1,0) ^8994.021^3^3 "KRN",8994,123491,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123491,2,1,1,2,0) This pointer identifies the location for which images are being "KRN",8994,123491,2,1,1,3,0) transmitted. "KRN",8994,123491,2,"B","LOCATION",1) "KRN",8994,123491,2,"PARAMSEQ",1,1) "KRN",8994,123491,3,0) ^8994.03^6^6 "KRN",8994,123491,3,1,0) The output value of this RPC indicates whether or not the "KRN",8994,123491,3,2,0) initialization of the queue was successful. If successful, the return "KRN",8994,123491,3,3,0) value is always equal to 1. Possible error messages: "KRN",8994,123491,3,4,0) OUT="-1,No entries at all in queue" "KRN",8994,123491,3,5,0) OUT="-2,No in queue for this location" "KRN",8994,123491,3,6,0) OUT="-3,No Origin specified" "KRN",8994,123492,-1) 0^31 "KRN",8994,123492,0) MAG DICOM ROUTE EVAL LOG^EVALLOG^MAGDRPC6^2^R^0^0^1^3.0^0 "KRN",8994,123492,1,0) ^8994.01^18^18 "KRN",8994,123492,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123492,1,2,0) | Property of the US Government. | "KRN",8994,123492,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123492,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123492,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123492,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123492,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123492,1,8,0) | | "KRN",8994,123492,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123492,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123492,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123492,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123492,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123492,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123492,1,15,0) "KRN",8994,123492,1,16,0) As a rule evaluator runs, it will produce an activity log. "KRN",8994,123492,1,17,0) This RPC can be called to return information from this log "KRN",8994,123492,1,18,0) from the VistA system to the DICOM Gateway. "KRN",8994,123492,2,0) ^8994.02^3^3 "KRN",8994,123492,2,1,0) TASK^1^30^1^1 "KRN",8994,123492,2,1,1,0) ^8994.021^2^2 "KRN",8994,123492,2,1,1,1,0) The value of this parameter is a pointer to a TaskMan task. "KRN",8994,123492,2,1,1,2,0) This RPC will return log-information for the specified task. "KRN",8994,123492,2,2,0) MSG^1^30^1^2 "KRN",8994,123492,2,2,1,0) ^8994.021^3^3 "KRN",8994,123492,2,2,1,1,0) The value of this parameter is an integer number. "KRN",8994,123492,2,2,1,2,0) This value is "one less than" the number of the first log-entry "KRN",8994,123492,2,2,1,3,0) to be returned. "KRN",8994,123492,2,3,0) MAX^1^30^1^3 "KRN",8994,123492,2,3,1,0) ^8994.021^3^3 "KRN",8994,123492,2,3,1,1,0) The value of this parameter is an integer number. "KRN",8994,123492,2,3,1,2,0) This value is the maximum number of log-entries "KRN",8994,123492,2,3,1,3,0) to be returned. "KRN",8994,123492,2,"B","MAX",3) "KRN",8994,123492,2,"B","MSG",2) "KRN",8994,123492,2,"B","TASK",1) "KRN",8994,123492,2,"PARAMSEQ",1,1) "KRN",8994,123492,2,"PARAMSEQ",2,2) "KRN",8994,123492,2,"PARAMSEQ",3,3) "KRN",8994,123492,3,0) ^8994.03^7^7 "KRN",8994,123492,3,1,0) This RPC returns an array. "KRN",8994,123492,3,2,0) OUT(1) = either a negative value, indicating an error condition "KRN",8994,123492,3,3,0) or a string consisting of two non-negative integer values, "KRN",8994,123492,3,4,0) separated by a space (" "). The first of these numbers "KRN",8994,123492,3,5,0) indicates the number of log-entries returned, the second "KRN",8994,123492,3,6,0) is the internal sequence number of the last message returned. "KRN",8994,123492,3,7,0) OUT(i) = a log entry text "KRN",8994,123493,-1) 0^32 "KRN",8994,123493,0) MAG DICOM ROUTE EVAL START^START^MAGDRPC5^1^R^0^0^1^3.0^0 "KRN",8994,123493,1,0) ^8994.01^20^20 "KRN",8994,123493,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123493,1,2,0) | Property of the US Government. | "KRN",8994,123493,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123493,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123493,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123493,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123493,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123493,1,8,0) | | "KRN",8994,123493,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123493,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123493,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123493,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123493,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123493,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123493,1,15,0) "KRN",8994,123493,1,16,0) Start one rule evaluator to evaluate the newly acquired "KRN",8994,123493,1,17,0) images for one specific location. "KRN",8994,123493,1,18,0) "KRN",8994,123493,1,19,0) The rule-evaluators will run on the VistA system. They will be "KRN",8994,123493,1,20,0) started and stopped, however, from the DICOM Gateways. "KRN",8994,123493,2,0) ^8994.02^2^2 "KRN",8994,123493,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123493,2,1,1,0) ^8994.021^2^2 "KRN",8994,123493,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123493,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123493,2,2,0) RULES^2^^1^2 "KRN",8994,123493,2,2,1,0) ^8994.021^39^39 "KRN",8994,123493,2,2,1,1,0) The value of this parameter is an array (one integer subscript). "KRN",8994,123493,2,2,1,2,0) This array contains the routing rules. Each element of this "KRN",8994,123493,2,2,1,3,0) array represents one part of a rule; the strings in these elements "KRN",8994,123493,2,2,1,4,0) each contain a number of fields, separated by carets ("^"). "KRN",8994,123493,2,2,1,5,0) "KRN",8994,123493,2,2,1,6,0) In all rule-elements, the first caret-piece is the rule-number. "KRN",8994,123493,2,2,1,7,0) "KRN",8994,123493,2,2,1,8,0) The second piece is equal to either "ACTION", "CONDITION" "KRN",8994,123493,2,2,1,9,0) or "PRIORITY". "KRN",8994,123493,2,2,1,10,0) "KRN",8994,123493,2,2,1,11,0) When the second piece is equal to "ACTION", there may be one or more "KRN",8994,123493,2,2,1,12,0) additional pieces. If there is only an additional third piece, "KRN",8994,123493,2,2,1,13,0) this piece represents the action-verb ("SEND" or "BALANCE" "KRN",8994,123493,2,2,1,14,0) currently). "KRN",8994,123493,2,2,1,15,0) When there are four or more pieces, the third piece represents "KRN",8994,123493,2,2,1,16,0) the sequence number of the command-parameter, and the additional "KRN",8994,123493,2,2,1,17,0) pieces represent the command-specific parameters. "KRN",8994,123493,2,2,1,18,0) "KRN",8994,123493,2,2,1,19,0) When the second piece is equal to "PRIORITY", the third piece "KRN",8994,123493,2,2,1,20,0) will indicate the relative priority. Typical values are "LOW", "KRN",8994,123493,2,2,1,21,0) "MEDIUM" and "HIGH". "KRN",8994,123493,2,2,1,22,0) "KRN",8994,123493,2,2,1,23,0) When the second piece is equal to "CONDITION", there are either "KRN",8994,123493,2,2,1,24,0) five or seven pieces in total. "KRN",8994,123493,2,2,1,25,0) In that case, the third piece always represents the sequence number "KRN",8994,123493,2,2,1,26,0) of the current condition for the current rule. "KRN",8994,123493,2,2,1,27,0) When there are five pieces, "KRN",8994,123493,2,2,1,28,0) the fourth and fifth are a keyword=value pair and describe "KRN",8994,123493,2,2,1,29,0) the nature of the condition. Valid keywords are "KW" (keyword), "KRN",8994,123493,2,2,1,30,0) "DT" (data-type), "OP" (operator) and "VA" (value). "KRN",8994,123493,2,2,1,31,0) A sequence of seven pieces only occurs when the data-type is "KRN",8994,123493,2,2,1,32,0) equal to DT (Date/Time). When there are seven pieces, the fourth "KRN",8994,123493,2,2,1,33,0) piece is always equal to "VA" (value) and the fifth through seventh "KRN",8994,123493,2,2,1,34,0) pieces indicate a possible date/time range that applies for the "KRN",8994,123493,2,2,1,35,0) condition. "KRN",8994,123493,2,2,1,36,0) "KRN",8994,123493,2,2,1,37,0) Note that conditions are always ANDed with one another, and "KRN",8994,123493,2,2,1,38,0) the multiple date/time ranges for a date/time value are always "KRN",8994,123493,2,2,1,39,0) ORed with one another. "KRN",8994,123493,2,"B","LOCATION",1) "KRN",8994,123493,2,"B","RULES",2) "KRN",8994,123493,2,"PARAMSEQ",1,1) "KRN",8994,123493,2,"PARAMSEQ",2,2) "KRN",8994,123493,3,0) ^8994.03^6^6 "KRN",8994,123493,3,1,0) The value of this parameter is one of: "KRN",8994,123493,3,2,0) "0,TaskMan task#=nnn" "KRN",8994,123493,3,3,0) "-1,No Location Specified" "KRN",8994,123493,3,4,0) "-2,No Routing Rules Specified" "KRN",8994,123493,3,5,0) "-3,A Rule Evaluator is Already Running for " "KRN",8994,123493,3,6,0) "-4,TaskMan did not Accept Request" "KRN",8994,123494,-1) 0^33 "KRN",8994,123494,0) MAG DICOM ROUTE EVAL STOP^STOP^MAGDRPC5^1^R^0^0^1^3.0^0 "KRN",8994,123494,1,0) ^8994.01^19^19 "KRN",8994,123494,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123494,1,2,0) | Property of the US Government. | "KRN",8994,123494,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123494,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123494,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123494,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123494,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123494,1,8,0) | | "KRN",8994,123494,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123494,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123494,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123494,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123494,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123494,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123494,1,15,0) "KRN",8994,123494,1,16,0) Stop all rule evaluators. "KRN",8994,123494,1,17,0) "KRN",8994,123494,1,18,0) The rule-evaluators will run on the VistA system. They will be "KRN",8994,123494,1,19,0) started and stopped, however, from the DICOM Gateways. "KRN",8994,123494,3,0) ^8994.03^1^1 "KRN",8994,123494,3,1,0) The value of this parameter is always equal to 1. "KRN",8994,123495,-1) 0^34 "KRN",8994,123495,0) MAG DICOM ROUTE GET PURGE^PURGE^MAGDRPC5^2^R^0^0^1^3.0^0 "KRN",8994,123495,1,0) ^8994.01^15^15 "KRN",8994,123495,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123495,1,2,0) | Property of the US Government. | "KRN",8994,123495,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123495,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123495,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123495,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123495,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123495,1,8,0) | | "KRN",8994,123495,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123495,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123495,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123495,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123495,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123495,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123495,1,15,0) "KRN",8994,123495,2,0) ^8994.02^4^4 "KRN",8994,123495,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123495,2,1,1,0) ^8994.021^2^2 "KRN",8994,123495,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123495,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123495,2,2,0) DEST^1^30^1^2 "KRN",8994,123495,2,2,1,0) ^8994.021^4^4 "KRN",8994,123495,2,2,1,1,0) The value of this parameter is a pointer to either ^MAG(2005.2) "KRN",8994,123495,2,2,1,2,0) or ^MAGDICOM(2006.585). "KRN",8994,123495,2,2,1,3,0) This pointer identifies the destination to which the images "KRN",8994,123495,2,2,1,4,0) were transmitted. "KRN",8994,123495,2,3,0) MAX^1^30^0^3 "KRN",8994,123495,2,3,1,0) ^8994.021^3^3 "KRN",8994,123495,2,3,1,1,0) The value of this parameter is an integer number. "KRN",8994,123495,2,3,1,2,0) This number specifies the maximum number of names of files that "KRN",8994,123495,2,3,1,3,0) is to be returned per call to this RPC. "KRN",8994,123495,2,4,0) DONE^2^^1^4 "KRN",8994,123495,2,4,1,0) ^8994.021^9^9 "KRN",8994,123495,2,4,1,1,0) This parameter is an array. The values in this array (if any) "KRN",8994,123495,2,4,1,2,0) are obtained in an earlier call to this same RPC. "KRN",8994,123495,2,4,1,3,0) Each call to this RPC returns a list of files to be purged "KRN",8994,123495,2,4,1,4,0) at the remote location, and each subsequent call to this RPC "KRN",8994,123495,2,4,1,5,0) should provide (through this parameter) the list of files that "KRN",8994,123495,2,4,1,6,0) have been successfully purged. In the VistA system, a cross-reference "KRN",8994,123495,2,4,1,7,0) is maintained that indicates which files are to be purged when, "KRN",8994,123495,2,4,1,8,0) and the information from this parameter array is used to clean out "KRN",8994,123495,2,4,1,9,0) this cross-reference. "KRN",8994,123495,2,"B","DEST",2) "KRN",8994,123495,2,"B","DONE",4) "KRN",8994,123495,2,"B","LOCATION",1) "KRN",8994,123495,2,"B","MAX",3) "KRN",8994,123495,2,"PARAMSEQ",1,1) "KRN",8994,123495,2,"PARAMSEQ",2,2) "KRN",8994,123495,2,"PARAMSEQ",3,3) "KRN",8994,123495,2,"PARAMSEQ",4,4) "KRN",8994,123495,3,0) ^8994.03^19^19 "KRN",8994,123495,3,1,0) This parameter is an array. "KRN",8994,123495,3,2,0) The value of OUT(1) is an integer number, describing the number "KRN",8994,123495,3,3,0) of file-names that is returned in the current call to this RPC. "KRN",8994,123495,3,4,0) The other values in the output array are strings that each "KRN",8994,123495,3,5,0) contain a number of data-fields, separated by carets ("^"): "KRN",8994,123495,3,6,0) OUT(i) = FileManFile# ^ d0 ^ d1 ^ timestamp ^ filename "KRN",8994,123495,3,7,0) where: "KRN",8994,123495,3,8,0) FileManFile# = either 2005 or 2005.1 "KRN",8994,123495,3,9,0) d0 = primary IEN in current FileMan table "KRN",8994,123495,3,10,0) d1 = secondary IEN in current FileMan table "KRN",8994,123495,3,11,0) timestamp = current timestamp in cross-reference being traversed "KRN",8994,123495,3,12,0) filename = name of file (at remote location) to be purged "KRN",8994,123495,3,13,0) The information from the first four fields is used after the "KRN",8994,123495,3,14,0) files have been purged at the remote location in a subsequent "KRN",8994,123495,3,15,0) call to this same RPC. "KRN",8994,123495,3,16,0) After the files have been purged at their remote locations, "KRN",8994,123495,3,17,0) the cross-references in the VistA system need to be cleaned up. "KRN",8994,123495,3,18,0) The values in these four fields indicate which entries "KRN",8994,123495,3,19,0) can be then be removed. "KRN",8994,123496,-1) 0^35 "KRN",8994,123496,0) MAG DICOM ROUTE GET TRANS ID^TRANSID^MAGDRTIM^1^R^0^0^1^3^0 "KRN",8994,123496,1,0) ^8994.01^18^18 "KRN",8994,123496,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123496,1,2,0) | Property of the US Government. | "KRN",8994,123496,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123496,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123496,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123496,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123496,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123496,1,8,0) | | "KRN",8994,123496,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123496,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123496,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123496,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123496,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123496,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123496,1,15,0) "KRN",8994,123496,1,16,0) This RPC generates a new Unique Transaction Identifier "KRN",8994,123496,1,17,0) for the location specified. If no location is specified, "KRN",8994,123496,1,18,0) the first "place" at the site will be used. "KRN",8994,123496,2,0) ^8994.02^1^1 "KRN",8994,123496,2,1,0) LOCATION^1^30^0^1 "KRN",8994,123496,2,1,1,0) ^8994.021^2^2 "KRN",8994,123496,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123496,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123496,2,"B","LOCATION",1) "KRN",8994,123496,2,"PARAMSEQ",1,1) "KRN",8994,123496,3,0) ^8994.03^5^5 "KRN",8994,123496,3,1,0) The value of this parameter is a string consisting of a "KRN",8994,123496,3,2,0) site-specific prefix (typically the 3-letter site code) "KRN",8994,123496,3,3,0) and an integer number. This value uniquely identifies "KRN",8994,123496,3,4,0) a group of files that were entered into a routing queue "KRN",8994,123496,3,5,0) together. "KRN",8994,123497,-1) 0^36 "KRN",8994,123497,0) MAG DICOM ROUTE LIST DESTI^LISTDEST^MAGDRPC5^2^R^0^0^1^3.0^0 "KRN",8994,123497,1,0) ^8994.01^24^24 "KRN",8994,123497,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123497,1,2,0) | Property of the US Government. | "KRN",8994,123497,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123497,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123497,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123497,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123497,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123497,1,8,0) | | "KRN",8994,123497,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123497,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123497,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123497,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123497,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123497,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123497,1,15,0) "KRN",8994,123497,1,16,0) A routing transmitter will send files to any one out of a list of "KRN",8994,123497,1,17,0) possible destinations. A site can decide to set up one "KRN",8994,123497,1,18,0) transmitter to transmit to all their destinations, or set up "KRN",8994,123497,1,19,0) multiple transmitters that each send to a (non-overlapping) "KRN",8994,123497,1,20,0) subset of these destinations. When a transmitter is started, it "KRN",8994,123497,1,21,0) will ask the end-user for the destination or list of destinations "KRN",8994,123497,1,22,0) to which it will transmit files. In order to be able to ask this "KRN",8994,123497,1,23,0) question, the transmitter will call this RPC "KRN",8994,123497,1,24,0) to obtain a list of valid destinations from the VistA system. "KRN",8994,123497,2,0) ^8994.02^1^1 "KRN",8994,123497,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123497,2,1,1,0) ^8994.021^2^2 "KRN",8994,123497,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123497,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123497,2,"B","LOCATION",1) "KRN",8994,123497,2,"PARAMSEQ",1,1) "KRN",8994,123497,3,0) ^8994.03^14^14 "KRN",8994,123497,3,1,0) The value of this parameter is an array that represents "KRN",8994,123497,3,2,0) a list of valid destinations to which a routing transmitter might "KRN",8994,123497,3,3,0) send files: "KRN",8994,123497,3,4,0) OUT(1) = number of valid destinations "KRN",8994,123497,3,5,0) OUT(2) = destination specification # 1 "KRN",8994,123497,3,6,0) ... "KRN",8994,123497,3,7,0) OUT(n) = destination specification # (OUT(1)) "KRN",8994,123497,3,8,0) "KRN",8994,123497,3,9,0) Each destination specification will look like: "KRN",8994,123497,3,10,0) D0 ^ Flag ^ Name. "KRN",8994,123497,3,11,0) The value of D0 is the internal entry number of the destination; "KRN",8994,123497,3,12,0) the flag indicates whether or not a transmitter is already "KRN",8994,123497,3,13,0) servicing this destination and the name is the name of the "KRN",8994,123497,3,14,0) destination. "KRN",8994,123498,-1) 0^37 "KRN",8994,123498,0) MAG DICOM ROUTE LOCK TRANSMIT^LOCK^MAGDRPC5^1^R^0^0^1^3.0^0 "KRN",8994,123498,1,0) ^8994.01^25^25 "KRN",8994,123498,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123498,1,2,0) | Property of the US Government. | "KRN",8994,123498,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123498,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123498,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123498,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123498,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123498,1,8,0) | | "KRN",8994,123498,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123498,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123498,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123498,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123498,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123498,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123498,1,15,0) "KRN",8994,123498,1,16,0) The various routing transmitters avoid that multiple transmitters "KRN",8994,123498,1,17,0) attempt to do the same task at the same time by LOCKing some "KRN",8994,123498,1,18,0) names of global variables. They will acquire and release these "KRN",8994,123498,1,19,0) LOCKs by calling this RPC. "KRN",8994,123498,1,20,0) "KRN",8994,123498,1,21,0) This RPC will either attempt to LOCK a name, or release its "KRN",8994,123498,1,22,0) current LOCK on the name, depending on the value of input "KRN",8994,123498,1,23,0) parameter PLUSMIN. The other input parameters identify a "KRN",8994,123498,1,24,0) destination to which files are to be sent (D0) and the location "KRN",8994,123498,1,25,0) from which the files are being sent (LOCATION). "KRN",8994,123498,2,0) ^8994.02^3^3 "KRN",8994,123498,2,1,0) D0^1^30^1^1 "KRN",8994,123498,2,1,1,0) ^8994.021^4^4 "KRN",8994,123498,2,1,1,1,0) The value of this parameter is a pointer to either ^MAG(2005.2) "KRN",8994,123498,2,1,1,2,0) or ^MAGDICOM(2006.585). "KRN",8994,123498,2,1,1,3,0) This pointer identifies the destination to which the images "KRN",8994,123498,2,1,1,4,0) are to be transmitted. "KRN",8994,123498,2,2,0) LOCATION^1^30^1^2 "KRN",8994,123498,2,2,1,0) ^8994.021^2^2 "KRN",8994,123498,2,2,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123498,2,2,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123498,2,3,0) PLUSMIN^1^10^1^3 "KRN",8994,123498,2,3,1,0) ^8994.021^4^4 "KRN",8994,123498,2,3,1,1,0) The value of this parameter is a number. When the value of this "KRN",8994,123498,2,3,1,2,0) number is zero, this RPC will perform one (decremental) unLOCK; "KRN",8994,123498,2,3,1,3,0) when the value of this number is nonzero, this RPC will attempt "KRN",8994,123498,2,3,1,4,0) to perform one (incremental) LOCK with a time-out of zero seconds. "KRN",8994,123498,2,"B","D0",1) "KRN",8994,123498,2,"B","LOCATION",2) "KRN",8994,123498,2,"B","PLUSMIN",3) "KRN",8994,123498,2,"PARAMSEQ",1,1) "KRN",8994,123498,2,"PARAMSEQ",2,2) "KRN",8994,123498,2,"PARAMSEQ",3,3) "KRN",8994,123498,3,0) ^8994.03^5^5 "KRN",8994,123498,3,1,0) The value of this parameter is an integer number. "KRN",8994,123498,3,2,0) Possible values are: "KRN",8994,123498,3,3,0) 0 = name could not be LOCKed "KRN",8994,123498,3,4,0) 1 = name was successfully LOCKed "KRN",8994,123498,3,5,0) 2 = name was successfully unLOCKed "KRN",8994,123499,-1) 0^38 "KRN",8994,123499,0) MAG DICOM ROUTE LOG XMIT^LOGXIMG^MAGDRPC7^1^R^0^0^1^3.0^0 "KRN",8994,123499,1,0) ^8994.01^30^30 "KRN",8994,123499,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123499,1,2,0) | Property of the US Government. | "KRN",8994,123499,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123499,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123499,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123499,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123499,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123499,1,8,0) | | "KRN",8994,123499,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123499,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123499,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123499,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123499,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123499,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123499,1,15,0) "KRN",8994,123499,1,16,0) When a file has been routed, information needs to be kept about "KRN",8994,123499,1,17,0) the fact that a copy has been made. In order to log this "KRN",8994,123499,1,18,0) information, the routing transmitter will call this RPC. "KRN",8994,123499,1,19,0) "KRN",8994,123499,1,20,0) This RPC will take care of all logging of statistics that is "KRN",8994,123499,1,21,0) needed after a file has been transmitted. There are six input "KRN",8994,123499,1,22,0) parameters: the internal entry number of the queue entry (D0), "KRN",8994,123499,1,23,0) the internal entry number of the destination to which it was "KRN",8994,123499,1,24,0) transmitted (DEST) and the internal entry number of the location "KRN",8994,123499,1,25,0) from which it was transmitted (LOCATION). The input parameter "KRN",8994,123499,1,26,0) (STATUS) is equal to either "SENT" or "FAILED", depending on the "KRN",8994,123499,1,27,0) outcome of the transmission. The value of the input-parameter TO "KRN",8994,123499,1,28,0) is the name of the file at its destination (later to be used for "KRN",8994,123499,1,29,0) purging the file). The value of the parameter XMIT is the "KRN",8994,123499,1,30,0) timestamp of the start of the transmission. "KRN",8994,123499,2,0) ^8994.02^7^7 "KRN",8994,123499,2,1,0) QUEUE^1^20^0^1 "KRN",8994,123499,2,1,1,0) ^8994.021^5^5 "KRN",8994,123499,2,1,1,1,0) The value of this parameter is a pointer to ^MAGQUEUE(2006.035). "KRN",8994,123499,2,1,1,2,0) This pointer identifies the queue-entry that caused the transmission. "KRN",8994,123499,2,1,1,3,0) The value of this pointer will be used to retrieve the time-stamp "KRN",8994,123499,2,1,1,4,0) when the entry was made into the queue and the internal entry number "KRN",8994,123499,2,1,1,5,0) of the image involved. "KRN",8994,123499,2,2,0) DEST^1^64^1^2 "KRN",8994,123499,2,2,1,0) ^8994.021^4^4 "KRN",8994,123499,2,2,1,1,0) The value of this parameter is a pointer to either ^MAG(2005.2) "KRN",8994,123499,2,2,1,2,0) or ^MAGDICOM(2006.585). "KRN",8994,123499,2,2,1,3,0) This pointer identifies the destination to which the images "KRN",8994,123499,2,2,1,4,0) were to be transmitted. "KRN",8994,123499,2,3,0) LOCATION^1^30^1^3 "KRN",8994,123499,2,3,1,0) ^8994.021^2^2 "KRN",8994,123499,2,3,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123499,2,3,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123499,2,4,0) STATUS^1^30^1^4 "KRN",8994,123499,2,4,1,0) ^8994.021^3^3 "KRN",8994,123499,2,4,1,1,0) The value of this parameter is a string that identifies the "KRN",8994,123499,2,4,1,2,0) new status of the current entry in the Transmission Queue. "KRN",8994,123499,2,4,1,3,0) Possible values are "SENDING", "SENT" and "FAILED". "KRN",8994,123499,2,5,0) FILNAM^1^200^1^5 "KRN",8994,123499,2,5,1,0) ^8994.021^3^3 "KRN",8994,123499,2,5,1,1,0) The value of this parameter is a string. "KRN",8994,123499,2,5,1,2,0) This string value represents the name of the image file at its "KRN",8994,123499,2,5,1,3,0) (remote) location. "KRN",8994,123499,2,6,0) XMIT^1^20^0^6 "KRN",8994,123499,2,6,1,0) ^8994.021^3^3 "KRN",8994,123499,2,6,1,1,0) The value of this parameter is a (FileMan-formatted) date/time value. "KRN",8994,123499,2,6,1,2,0) This value represents the time-stamp for the moment when the transmission "KRN",8994,123499,2,6,1,3,0) of the image file started. "KRN",8994,123499,2,7,0) MECH^1^10^0^7 "KRN",8994,123499,2,7,1,0) ^8994.021^5^5 "KRN",8994,123499,2,7,1,1,0) The value of this parameter is an integer value (1 or 2). "KRN",8994,123499,2,7,1,2,0) This number defines the mechanism that will be used to transmit "KRN",8994,123499,2,7,1,3,0) the images: "KRN",8994,123499,2,7,1,4,0) 1 = standard copy "KRN",8994,123499,2,7,1,5,0) 2 = DICOM copy "KRN",8994,123499,2,"B","DEST",2) "KRN",8994,123499,2,"B","FILNAM",5) "KRN",8994,123499,2,"B","LOCATION",3) "KRN",8994,123499,2,"B","MECH",7) "KRN",8994,123499,2,"B","QUEUE",1) "KRN",8994,123499,2,"B","STATUS",4) "KRN",8994,123499,2,"B","XMIT",6) "KRN",8994,123499,2,"PARAMSEQ",1,1) "KRN",8994,123499,2,"PARAMSEQ",2,2) "KRN",8994,123499,2,"PARAMSEQ",3,3) "KRN",8994,123499,2,"PARAMSEQ",4,4) "KRN",8994,123499,2,"PARAMSEQ",5,5) "KRN",8994,123499,2,"PARAMSEQ",6,6) "KRN",8994,123499,2,"PARAMSEQ",7,7) "KRN",8994,123499,3,0) ^8994.03^4^4 "KRN",8994,123499,3,1,0) The value of this parameter is an integer number. "KRN",8994,123499,3,2,0) Possible values: "KRN",8994,123499,3,3,0) <0 when a log-entry could not be made "KRN",8994,123499,3,4,0) 1 when all log entries are made successfully "KRN",8994,123500,-1) 0^39 "KRN",8994,123500,0) MAG DICOM ROUTE NEXT FILE^XMIT^MAGDRPC5^2^R^0^0^1^3.0^0 "KRN",8994,123500,1,0) ^8994.01^30^30 "KRN",8994,123500,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123500,1,2,0) | Property of the US Government. | "KRN",8994,123500,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123500,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123500,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123500,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123500,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123500,1,8,0) | | "KRN",8994,123500,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123500,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123500,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123500,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123500,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123500,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123500,1,15,0) "KRN",8994,123500,1,16,0) The Routing Transmitter will continuously ask the VistA system "KRN",8994,123500,1,17,0) for the next file to transmit. This RPC will be called to obtain "KRN",8994,123500,1,18,0) the name of the next file to be transmitted. "KRN",8994,123500,1,19,0) "KRN",8994,123500,1,20,0) This RPC returns information about the next image file to be "KRN",8994,123500,1,21,0) transmitted by a certain Routing Transmitter. "KRN",8994,123500,1,22,0) "KRN",8994,123500,1,23,0) The next file to be transmitted is either the next file for "KRN",8994,123500,1,24,0) the current destination, or the next file with the highest "KRN",8994,123500,1,25,0) priority in any of the queues for the destinations that are "KRN",8994,123500,1,26,0) being served by the current transmitter. "KRN",8994,123500,1,27,0) "KRN",8994,123500,1,28,0) If neither of the parameters DEST and PRIOR have a non-empty "KRN",8994,123500,1,29,0) value, information about the first file (if any) to be transmitted "KRN",8994,123500,1,30,0) will be returned. "KRN",8994,123500,2,0) ^8994.02^5^5 "KRN",8994,123500,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123500,2,1,1,0) ^8994.021^2^2 "KRN",8994,123500,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123500,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123500,2,2,0) DEST^1^30^0^2 "KRN",8994,123500,2,2,1,0) ^8994.021^4^4 "KRN",8994,123500,2,2,1,1,0) The value of this parameter is a pointer to either ^MAG(2005.2) "KRN",8994,123500,2,2,1,2,0) or ^MAGDICOM(2006.585). "KRN",8994,123500,2,2,1,3,0) This pointer identifies the destination to which the images "KRN",8994,123500,2,2,1,4,0) are to be transmitted. "KRN",8994,123500,2,3,0) PRIOR^1^30^0^3 "KRN",8994,123500,2,3,1,0) ^8994.021^2^2 "KRN",8994,123500,2,3,1,1,0) The value of this parameter is an integer number (> 0). "KRN",8994,123500,2,3,1,2,0) This number establishes the priority of the new entry in its queue. "KRN",8994,123500,2,4,0) MECH^1^10^0^4 "KRN",8994,123500,2,4,1,0) ^8994.021^5^5 "KRN",8994,123500,2,4,1,1,0) The value of this parameter is an integer value (1 or 2). "KRN",8994,123500,2,4,1,2,0) This number defines the mechanism that will be used to transmit "KRN",8994,123500,2,4,1,3,0) the images: "KRN",8994,123500,2,4,1,4,0) 1 = standard copy "KRN",8994,123500,2,4,1,5,0) 2 = DICOM copy "KRN",8994,123500,2,5,0) DESTS^2^^1^5 "KRN",8994,123500,2,5,1,0) ^8994.021^13^13 "KRN",8994,123500,2,5,1,1,0) This parameter is an array containing the list of destinations "KRN",8994,123500,2,5,1,2,0) that is being served by the current transmitter. "KRN",8994,123500,2,5,1,3,0) The values in this array each are string with two pieces of data, "KRN",8994,123500,2,5,1,4,0) separated by a caret ("^"). "KRN",8994,123500,2,5,1,5,0) "KRN",8994,123500,2,5,1,6,0) The first piece describes the transmission mechanism: "KRN",8994,123500,2,5,1,7,0) 1 = regular copy "KRN",8994,123500,2,5,1,8,0) 2 = DICOM copy "KRN",8994,123500,2,5,1,9,0) "KRN",8994,123500,2,5,1,10,0) The second piece is a pointer. When the first piece is equal "KRN",8994,123500,2,5,1,11,0) to 1, this pointer points to table # 2005.2 (Network Location); "KRN",8994,123500,2,5,1,12,0) when the first piece is equal to 2, this pointer points to "KRN",8994,123500,2,5,1,13,0) table # 2006.585 (User Application). "KRN",8994,123500,2,"B","DEST",2) "KRN",8994,123500,2,"B","DESTS",5) "KRN",8994,123500,2,"B","LOCATION",1) "KRN",8994,123500,2,"B","MECH",4) "KRN",8994,123500,2,"B","PRIOR",3) "KRN",8994,123500,2,"PARAMSEQ",1,1) "KRN",8994,123500,2,"PARAMSEQ",2,2) "KRN",8994,123500,2,"PARAMSEQ",3,3) "KRN",8994,123500,2,"PARAMSEQ",4,4) "KRN",8994,123500,2,"PARAMSEQ",5,5) "KRN",8994,123500,3,0) ^8994.03^16^16 "KRN",8994,123500,3,1,0) The output parameter is an array. "KRN",8994,123500,3,2,0) The meaning of the various elements is: "KRN",8994,123500,3,3,0) OUT(1) = 0: all OK "KRN",8994,123500,3,4,0) 2: no files to be transmitted for this image "KRN",8994,123500,3,5,0) 3: cannot yet transmit, purge first "KRN",8994,123500,3,6,0) -1: No Location Specified "KRN",8994,123500,3,7,0) -2: No Valid Destinations Specified "KRN",8994,123500,3,8,0) If OUT(1) is equal to 0, the other elements are defined as: "KRN",8994,123500,3,9,0) OUT(2)=DEST "KRN",8994,123500,3,10,0) OUT(3)=PRIOR "KRN",8994,123500,3,11,0) OUT(4)=MECH "KRN",8994,123500,3,12,0) OUT(5)=logical name for destination "KRN",8994,123500,3,13,0) OUT(6)=physical name for destination "KRN",8994,123500,3,14,0) OUT(7)='from' file name "KRN",8994,123500,3,15,0) OUT(8)='to' file name "KRN",8994,123500,3,16,0) OUT(9)=D0 (^MAGQUEUE(2006.035)) "KRN",8994,123501,-1) 0^40 "KRN",8994,123501,0) MAG DICOM ROUTE PURGE DONE^PURGDONE^MAGDRPC6^1^R^0^0^1^3.0^0 "KRN",8994,123501,1,0) ^8994.01^24^24 "KRN",8994,123501,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123501,1,2,0) | Property of the US Government. | "KRN",8994,123501,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123501,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123501,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123501,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123501,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123501,1,8,0) | | "KRN",8994,123501,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123501,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123501,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123501,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123501,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123501,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123501,1,15,0) "KRN",8994,123501,1,16,0) Periodic maintenance on the data in the Transmission Queue "KRN",8994,123501,1,17,0) involves removal of entries that have a state of "SENT" after the "KRN",8994,123501,1,18,0) image files would have been purged from their temporary "KRN",8994,123501,1,19,0) destinations. In order to perform this maintenance, the user of "KRN",8994,123501,1,20,0) the DICOM Gateway would invoke a menu option that calls this RPC. "KRN",8994,123501,1,21,0) "KRN",8994,123501,1,22,0) This RPC will remove all entries in the Transmission Queue that "KRN",8994,123501,1,23,0) were created for the specified LOCATION and have been in a state "KRN",8994,123501,1,24,0) of "SENT" or "FAILED" for more days than specified. "KRN",8994,123501,2,0) ^8994.02^2^2 "KRN",8994,123501,2,1,0) DAYS^1^10^0^1 "KRN",8994,123501,2,1,1,0) ^8994.021^7^7 "KRN",8994,123501,2,1,1,1,0) The value of this parameter is an integer number. "KRN",8994,123501,2,1,1,2,0) This value represents the number of days for which information "KRN",8994,123501,2,1,1,3,0) will be retained. "KRN",8994,123501,2,1,1,4,0) "KRN",8994,123501,2,1,1,5,0) When this parameter is omitted, or when its value is less than 1, "KRN",8994,123501,2,1,1,6,0) the retention periods for the destinations of the individual image files "KRN",8994,123501,2,1,1,7,0) in question will be used as default values. "KRN",8994,123501,2,2,0) LOCATION^1^30^1^2 "KRN",8994,123501,2,2,1,0) ^8994.021^2^2 "KRN",8994,123501,2,2,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123501,2,2,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123501,2,"B","DAYS",1) "KRN",8994,123501,2,"B","LOCATION",2) "KRN",8994,123501,2,"PARAMSEQ",1,1) "KRN",8994,123501,2,"PARAMSEQ",2,2) "KRN",8994,123501,3,0) ^8994.03^9^9 "KRN",8994,123501,3,1,0) The value of this parameter is an integer number. "KRN",8994,123501,3,2,0) "KRN",8994,123501,3,3,0) When the value of this number is negative, it indicates an error "KRN",8994,123501,3,4,0) condition. Currently, only one error code is defined: "KRN",8994,123501,3,5,0) -1: No Location Specified "KRN",8994,123501,3,6,0) "KRN",8994,123501,3,7,0) When the value of this number is greater than or equal to "KRN",8994,123501,3,8,0) zero, it represents the number of queue entries that "KRN",8994,123501,3,9,0) have been purged. "KRN",8994,123502,-1) 0^41 "KRN",8994,123502,0) MAG DICOM ROUTE REMOVE OBSO^REMOBSO^MAGDRPC6^1^R^0^0^1^3.0^0 "KRN",8994,123502,1,0) ^8994.01^27^27 "KRN",8994,123502,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123502,1,2,0) | Property of the US Government. | "KRN",8994,123502,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123502,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123502,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123502,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123502,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123502,1,8,0) | | "KRN",8994,123502,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123502,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123502,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123502,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123502,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123502,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123502,1,15,0) "KRN",8994,123502,1,16,0) When the connection between a transmitting and receiving site has "KRN",8994,123502,1,17,0) been down for an extended period of time, the user of the DICOM "KRN",8994,123502,1,18,0) Gateway may decide to forego transmission of any images that "KRN",8994,123502,1,19,0) would already have been purged at the destination if it would "KRN",8994,123502,1,20,0) have been possible to transmit them in the first place. In order "KRN",8994,123502,1,21,0) to perform this maintenance, the user of the DICOM Gateway would "KRN",8994,123502,1,22,0) invoke a menu option that calls this RPC. "KRN",8994,123502,1,23,0) "KRN",8994,123502,1,24,0) This RPC will remove any entries from the Transmission Queue that "KRN",8994,123502,1,25,0) were created for the specified location and that have a status of "KRN",8994,123502,1,26,0) either "WAITING", "SENDING" or "FAILED" and that are older than "KRN",8994,123502,1,27,0) the specified date. "KRN",8994,123502,2,0) ^8994.02^2^2 "KRN",8994,123502,2,1,0) UPTO^1^20^1^1 "KRN",8994,123502,2,1,1,0) ^8994.021^3^3 "KRN",8994,123502,2,1,1,1,0) The value of this parameter is a (FileMan-formatted) date/time value. "KRN",8994,123502,2,1,1,2,0) This value represents the date before which all entries are to be "KRN",8994,123502,2,1,1,3,0) purged from the Transmission Queue. "KRN",8994,123502,2,2,0) LOCATION^1^30^1^2 "KRN",8994,123502,2,2,1,0) ^8994.021^2^2 "KRN",8994,123502,2,2,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123502,2,2,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123502,2,"B","LOCATION",2) "KRN",8994,123502,2,"B","UPTO",1) "KRN",8994,123502,2,"PARAMSEQ",1,1) "KRN",8994,123502,2,"PARAMSEQ",2,2) "KRN",8994,123502,3,0) ^8994.03^9^9 "KRN",8994,123502,3,1,0) The value of this parameter is an integer number. "KRN",8994,123502,3,2,0) "KRN",8994,123502,3,3,0) When the value of this number is negative, it indicates an error "KRN",8994,123502,3,4,0) condition. Currently, only one error code is defined: "KRN",8994,123502,3,5,0) -1: No Location Specified "KRN",8994,123502,3,6,0) "KRN",8994,123502,3,7,0) When the value of this number is greater than or equal to "KRN",8994,123502,3,8,0) zero, it represents the number of queue entries that "KRN",8994,123502,3,9,0) have been purged. "KRN",8994,123503,-1) 0^42 "KRN",8994,123503,0) MAG DICOM ROUTE REQUEUE^REQUEUE^MAGDRPC6^1^R^0^0^1^3.0^0 "KRN",8994,123503,1,0) ^8994.01^24^24 "KRN",8994,123503,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123503,1,2,0) | Property of the US Government. | "KRN",8994,123503,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123503,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123503,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123503,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123503,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123503,1,8,0) | | "KRN",8994,123503,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123503,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123503,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123503,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123503,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123503,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123503,1,15,0) "KRN",8994,123503,1,16,0) A normal maintenance activity is to re-queue any images that may "KRN",8994,123503,1,17,0) not have been transmitted because the connection between the "KRN",8994,123503,1,18,0) transmitting and receiving sites was temporarily unavailable. In "KRN",8994,123503,1,19,0) order to perform this maintenance, the user of the DICOM Gateway "KRN",8994,123503,1,20,0) would invoke a menu option that calls this RPC. "KRN",8994,123503,1,21,0) "KRN",8994,123503,1,22,0) This RPC will requeue any entries in the Transmission Queue that "KRN",8994,123503,1,23,0) were created for the specified LOCATION and that are currently in "KRN",8994,123503,1,24,0) a state of "FAILED". "KRN",8994,123503,2,0) ^8994.02^1^1 "KRN",8994,123503,2,1,0) LOCATION^1^30^1^1 "KRN",8994,123503,2,1,1,0) ^8994.021^2^2 "KRN",8994,123503,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123503,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123503,2,"B","LOCATION",1) "KRN",8994,123503,2,"PARAMSEQ",1,1) "KRN",8994,123503,3,0) ^8994.03^9^9 "KRN",8994,123503,3,1,0) The value of this parameter is an integer number. "KRN",8994,123503,3,2,0) "KRN",8994,123503,3,3,0) When the value of this number is negative, it indicates an error "KRN",8994,123503,3,4,0) condition. Currently, only one error code is defined: "KRN",8994,123503,3,5,0) -1: No Location Specified "KRN",8994,123503,3,6,0) "KRN",8994,123503,3,7,0) When the value of this number is greater than or equal to "KRN",8994,123503,3,8,0) zero, it represents the number of queue entries that "KRN",8994,123503,3,9,0) have been re-queued. "KRN",8994,123504,-1) 0^43 "KRN",8994,123504,0) MAG DICOM ROUTE STATUS^STATUS^MAGDRPC5^1^R^0^0^1^3.0^0 "KRN",8994,123504,1,0) ^8994.01^22^22 "KRN",8994,123504,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123504,1,2,0) | Property of the US Government. | "KRN",8994,123504,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123504,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123504,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123504,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123504,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123504,1,8,0) | | "KRN",8994,123504,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123504,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123504,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123504,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123504,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123504,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123504,1,15,0) "KRN",8994,123504,1,16,0) When the Routing Gateway has made an attempt to transmit a file, "KRN",8994,123504,1,17,0) it will call this RPC to change the status of the "KRN",8994,123504,1,18,0) entry in the transmission queue to either "SENT" or "FAILED". "KRN",8994,123504,1,19,0) "KRN",8994,123504,1,20,0) This RPC will change the status of the entry in the transmission "KRN",8994,123504,1,21,0) queue (file # 2005.035) with entry-number D0 to the indicated "KRN",8994,123504,1,22,0) status. "KRN",8994,123504,2,0) ^8994.02^3^3 "KRN",8994,123504,2,1,0) D0^1^30^1^1 "KRN",8994,123504,2,1,1,0) ^8994.021^4^4 "KRN",8994,123504,2,1,1,1,0) The value of this parameter is a pointer to an entry in the "KRN",8994,123504,2,1,1,2,0) Transmission Queue (^MAGQUEUE(2006.035,D0)). "KRN",8994,123504,2,1,1,3,0) The status of this entry in the Transmission Queue will be "KRN",8994,123504,2,1,1,4,0) updated by this RPC. "KRN",8994,123504,2,2,0) STATUS^1^30^1^2 "KRN",8994,123504,2,2,1,0) ^8994.021^3^3 "KRN",8994,123504,2,2,1,1,0) The value of this parameter is a string that identifies the "KRN",8994,123504,2,2,1,2,0) new status of the current entry in the Transmission Queue. "KRN",8994,123504,2,2,1,3,0) Possible values are "SENDING", "SENT" and "FAILED". "KRN",8994,123504,2,3,0) LOCATION^1^30^1^3 "KRN",8994,123504,2,3,1,0) ^8994.021^2^2 "KRN",8994,123504,2,3,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123504,2,3,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123504,2,"B","D0",1) "KRN",8994,123504,2,"B","LOCATION",3) "KRN",8994,123504,2,"B","STATUS",2) "KRN",8994,123504,2,"PARAMSEQ",1,1) "KRN",8994,123504,2,"PARAMSEQ",2,2) "KRN",8994,123504,2,"PARAMSEQ",3,3) "KRN",8994,123504,3,0) ^8994.03^4^4 "KRN",8994,123504,3,1,0) The value of this parameter is an integer number. "KRN",8994,123504,3,2,0) Possible values: "KRN",8994,123504,3,3,0) 0: status not changed "KRN",8994,123504,3,4,0) 1: OK, status changed as requested "KRN",8994,123505,-1) 0^44 "KRN",8994,123505,0) MAG DICOM ROUTE TRANSACT STS^TRANSTS^MAGDRTIM^1^R^0^0^1^3^0 "KRN",8994,123505,1,0) ^8994.01^19^19 "KRN",8994,123505,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123505,1,2,0) | Property of the US Government. | "KRN",8994,123505,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123505,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123505,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123505,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123505,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123505,1,8,0) | | "KRN",8994,123505,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123505,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123505,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123505,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123505,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123505,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123505,1,15,0) "KRN",8994,123505,1,16,0) This RPC checks the status of all entries in the routing queue for "KRN",8994,123505,1,17,0) a specific transaction (group of files that was queued as a unit). "KRN",8994,123505,1,18,0) The return value indicates how many files are in each of the "KRN",8994,123505,1,19,0) possible statuses. "KRN",8994,123505,2,0) ^8994.02^1^1 "KRN",8994,123505,2,1,0) TRANSID^1^30^1^1 "KRN",8994,123505,2,1,1,0) ^8994.021^3^3 "KRN",8994,123505,2,1,1,1,0) The value of this parameter is a string that uniquely defines "KRN",8994,123505,2,1,1,2,0) a transaction in the routing queue. A transaction in this context "KRN",8994,123505,2,1,1,3,0) is a number of files that was queued up as a group. "KRN",8994,123505,2,"B","TRANSID",1) "KRN",8994,123505,2,"PARAMSEQ",1,1) "KRN",8994,123505,3,0) ^8994.03^8^8 "KRN",8994,123505,3,1,0) The value of this parameter is a string that either has "KRN",8994,123505,3,2,0) one of the values: "KRN",8994,123505,3,3,0) OUT = "-1,No Transaction ID Specified" "KRN",8994,123505,3,4,0) OUT = "-2,Invalid Transaction ID" "KRN",8994,123505,3,5,0) or a value that looks like "KRN",8994,123505,3,6,0) nnn=WAITING^nnn=SENDING^nnn=SENT^nnn=FAILED^nnn=?^ "KRN",8994,123505,3,7,0) where each "nnn" indicates the number of queue entries with "KRN",8994,123505,3,8,0) that status. "KRN",8994,123506,-1) 0^45 "KRN",8994,123506,0) MAG DICOM ROUTE VALID DEST^VALDEST^MAGDRPC1^1^R^0^0^1^3.0^0 "KRN",8994,123506,1,0) ^8994.01^17^17 "KRN",8994,123506,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123506,1,2,0) | Property of the US Government. | "KRN",8994,123506,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123506,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123506,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123506,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123506,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123506,1,8,0) | | "KRN",8994,123506,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123506,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123506,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123506,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123506,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123506,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123506,1,15,0) "KRN",8994,123506,1,16,0) A Routing Gateway needs to check the validity of names of "KRN",8994,123506,1,17,0) destinations at several occasions. This RPC performs this validation. "KRN",8994,123506,2,0) ^8994.02^1^1 "KRN",8994,123506,2,1,0) NAME^1^30^1^1 "KRN",8994,123506,2,1,1,0) ^8994.021^3^3 "KRN",8994,123506,2,1,1,1,0) The value of this parameter is a string. "KRN",8994,123506,2,1,1,2,0) This string identifies the destination to which one or more "KRN",8994,123506,2,1,1,3,0) images is or are to be transmitted. "KRN",8994,123506,2,"B","NAME",1) "KRN",8994,123506,2,"PARAMSEQ",1,1) "KRN",8994,123506,3,0) ^8994.03^5^5 "KRN",8994,123506,3,1,0) The value of this parameter is either integer number, or is "KRN",8994,123506,3,2,0) equal to "KRN",8994,123506,3,3,0) "-1,""xxx"" is not a valid name of a destination" "KRN",8994,123506,3,4,0) When the value of the return parameter is >0, this value is "KRN",8994,123506,3,5,0) an internal entry number in FileMan table #2005.2 (Network Location). "KRN",8994,123507,-1) 0^46 "KRN",8994,123507,0) MAG DICOM SET PACS PARAMS^SETPACS^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123507,1,0) ^8994.01^18^18 "KRN",8994,123507,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123507,1,2,0) | Property of the US Government. | "KRN",8994,123507,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123507,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123507,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123507,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123507,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123507,1,8,0) | | "KRN",8994,123507,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123507,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123507,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123507,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123507,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123507,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123507,1,15,0) "KRN",8994,123507,1,16,0) This RPC ensures that proper values are stored for a number "KRN",8994,123507,1,17,0) of Imaging Site Parameters for the current "place". "KRN",8994,123507,1,18,0) If proper values are already present, no change is made to the database. "KRN",8994,123507,2,0) ^8994.02^1^1 "KRN",8994,123507,2,1,0) PLACE^1^30^1^1 "KRN",8994,123507,2,1,1,0) ^8994.021^3^3 "KRN",8994,123507,2,1,1,1,0) The value of this parameter is a pointer to ^MAG(2006.1) "KRN",8994,123507,2,1,1,2,0) This pointer identifies the "place" for which parameters are "KRN",8994,123507,2,1,1,3,0) to be entered. "KRN",8994,123507,2,"B","PLACE",1) "KRN",8994,123507,2,"PARAMSEQ",1,1) "KRN",8994,123507,3,0) ^8994.03^4^4 "KRN",8994,123507,3,1,0) The output value of this RPC is either equal to "KRN",8994,123507,3,2,0) OUT = "-1,No Place Specified." "KRN",8994,123507,3,3,0) OUT = "-2,Invalid Place Specified." "KRN",8994,123507,3,4,0) or OUT = 1 to indicate successful completion. "KRN",8994,123508,-1) 0^47 "KRN",8994,123508,0) MAG DICOM TEXT AUDIT GET^GET1^MAGDRPC7^2^R^0^0^1^3^0 "KRN",8994,123508,1,0) ^8994.01^17^17 "KRN",8994,123508,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123508,1,2,0) | Property of the US Government. | "KRN",8994,123508,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123508,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123508,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123508,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123508,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123508,1,8,0) | | "KRN",8994,123508,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123508,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123508,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123508,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123508,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123508,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123508,1,15,0) "KRN",8994,123508,1,16,0) This RPC call fetches the statistical information "KRN",8994,123508,1,17,0) that is collected about the transmission of Text Messages. "KRN",8994,123508,2,0) ^8994.02^2^2 "KRN",8994,123508,2,1,0) LOCATION^1^10^1^1 "KRN",8994,123508,2,1,1,0) ^8994.021^2^2 "KRN",8994,123508,2,1,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123508,2,1,1,2,0) This pointer identifies the location at which images were acquired. "KRN",8994,123508,2,2,0) TODAY^1^10^0^2 "KRN",8994,123508,2,2,1,0) ^8994.021^4^4 "KRN",8994,123508,2,2,1,1,0) The value of this Boolean parameter, if present, indicates whether "KRN",8994,123508,2,2,1,2,0) information is to be retrieved for the current date only (value is true) "KRN",8994,123508,2,2,1,3,0) or for all dates on which information was logged (value is "KRN",8994,123508,2,2,1,4,0) absent or false). "KRN",8994,123508,2,"B","LOCATION",1) "KRN",8994,123508,2,"B","TODAY",2) "KRN",8994,123508,2,"PARAMSEQ",1,1) "KRN",8994,123508,2,"PARAMSEQ",2,2) "KRN",8994,123508,3,0) ^8994.03^9^9 "KRN",8994,123508,3,1,0) The output array contains a number of entries. "KRN",8994,123508,3,2,0) "KRN",8994,123508,3,3,0) Each entry has four pieces: "KRN",8994,123508,3,4,0) date ^ count ^ message class ^ latest timestamp "KRN",8994,123508,3,5,0) "KRN",8994,123508,3,6,0) The first couple of entries have no values for date "KRN",8994,123508,3,7,0) and count; these entries are there to be able to first "KRN",8994,123508,3,8,0) establish a list of all relevant message classes, "KRN",8994,123508,3,9,0) and then present the counts for the various dates. "KRN",8994,123509,-1) 0^48 "KRN",8994,123509,0) MAG DICOM TEXT PROCESSING^ENTRY^MAGDHRS1^2^R^0^0^1^3^0 "KRN",8994,123509,1,0) ^8994.01^19^19 "KRN",8994,123509,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123509,1,2,0) | Property of the US Government. | "KRN",8994,123509,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123509,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123509,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123509,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123509,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123509,1,8,0) | | "KRN",8994,123509,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123509,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123509,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123509,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123509,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123509,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123509,1,15,0) "KRN",8994,123509,1,16,0) This Remote Procedure is used by a DICOM Gateway to interchange information "KRN",8994,123509,1,17,0) with the VistA Server. "KRN",8994,123509,1,18,0) "KRN",8994,123509,1,19,0) ??? "KRN",8994,123509,2,0) ^8994.02^1^1 "KRN",8994,123509,2,1,0) REQUEST^2^32000^1^1 "KRN",8994,123509,2,1,1,0) ^8994.021^1^1 "KRN",8994,123509,2,1,1,1,0) ??? "KRN",8994,123509,2,"B","REQUEST",1) "KRN",8994,123509,2,"PARAMSEQ",1,1) "KRN",8994,123509,3,0) ^8994.03^5^5 "KRN",8994,123509,3,1,0) The array that is transmitted back to the DICOM Gateway through "KRN",8994,123509,3,2,0) the return parameter contains a list of results. "KRN",8994,123509,3,3,0) "KRN",8994,123509,3,4,0) Each result starts with a keyword (opcode), followed by the "KRN",8994,123509,3,5,0) parameters for that result. "KRN",8994,123510,-1) 0^49 "KRN",8994,123510,0) MAG DICOM UPDATE GATEWAY NAME^UPDTGW^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123510,1,0) ^8994.01^17^17 "KRN",8994,123510,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123510,1,2,0) | Property of the US Government. | "KRN",8994,123510,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123510,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123510,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123510,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123510,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123510,1,8,0) | | "KRN",8994,123510,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123510,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123510,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123510,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123510,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123510,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123510,1,15,0) "KRN",8994,123510,1,16,0) This RPC updates the name and location of a DICOM Gateway in the "KRN",8994,123510,1,17,0) database on the VistA system (table # 2006.587 in ^MAG(2006.587)). "KRN",8994,123510,2,0) ^8994.02^4^4 "KRN",8994,123510,2,1,0) OLDNAM^1^30^1^1 "KRN",8994,123510,2,1,1,0) ^8994.021^4^4 "KRN",8994,123510,2,1,1,1,0) The value of this parameter is a string that identifies "KRN",8994,123510,2,1,1,2,0) the current DICOM Gateway. "KRN",8994,123510,2,1,1,3,0) This value corresponds to the one that is expected "KRN",8994,123510,2,1,1,4,0) to be the one currently stored in the VistA database. "KRN",8994,123510,2,2,0) NEWNAM^1^20^1^2 "KRN",8994,123510,2,2,1,0) ^8994.021^4^4 "KRN",8994,123510,2,2,1,1,0) The value of this parameter is a string that identifies "KRN",8994,123510,2,2,1,2,0) the current DICOM Gateway. "KRN",8994,123510,2,2,1,3,0) This value corresponds to the one that is to be entered "KRN",8994,123510,2,2,1,4,0) in the VistA database. "KRN",8994,123510,2,3,0) OLDLOC^1^30^1^3 "KRN",8994,123510,2,3,1,0) ^8994.021^5^5 "KRN",8994,123510,2,3,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123510,2,3,1,2,0) This pointer identifies the location for which images are being "KRN",8994,123510,2,3,1,3,0) transmitted. "KRN",8994,123510,2,3,1,4,0) This value corresponds to the one that is expected "KRN",8994,123510,2,3,1,5,0) to be the one currently stored in the VistA database. "KRN",8994,123510,2,4,0) NEWLOC^1^20^1^4 "KRN",8994,123510,2,4,1,0) ^8994.021^5^5 "KRN",8994,123510,2,4,1,1,0) The value of this parameter is a pointer to ^DIC(4). "KRN",8994,123510,2,4,1,2,0) This pointer identifies the location for which images are being "KRN",8994,123510,2,4,1,3,0) transmitted. "KRN",8994,123510,2,4,1,4,0) This value corresponds to the one that is to be entered "KRN",8994,123510,2,4,1,5,0) in the VistA database. "KRN",8994,123510,2,"B","NEWLOC",4) "KRN",8994,123510,2,"B","NEWNAM",2) "KRN",8994,123510,2,"B","OLDLOC",3) "KRN",8994,123510,2,"B","OLDNAM",1) "KRN",8994,123510,2,"PARAMSEQ",1,1) "KRN",8994,123510,2,"PARAMSEQ",2,2) "KRN",8994,123510,2,"PARAMSEQ",3,3) "KRN",8994,123510,2,"PARAMSEQ",4,4) "KRN",8994,123510,3,0) ^8994.03^6^6 "KRN",8994,123510,3,1,0) The output value of this RPC indicates whether or not the "KRN",8994,123510,3,2,0) update was successful. "KRN",8994,123510,3,3,0) Possible return values are: "KRN",8994,123510,3,4,0) OUT = "-1,No Gateway Name specified" "KRN",8994,123510,3,5,0) OUT = "-2,No Gateway Location specified" "KRN",8994,123510,3,6,0) OUT >= 0: number of records updated in VistA database "KRN",8994,123511,-1) 0^50 "KRN",8994,123511,0) MAG DICOM UPDATE SCU LIST^UPDTAPP^MAGDRPC8^1^R^0^0^1^3^0 "KRN",8994,123511,1,0) ^8994.01^18^18 "KRN",8994,123511,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123511,1,2,0) | Property of the US Government. | "KRN",8994,123511,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123511,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123511,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123511,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123511,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123511,1,8,0) | | "KRN",8994,123511,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123511,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123511,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123511,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123511,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123511,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123511,1,15,0) "KRN",8994,123511,1,16,0) This RPC updates the information that is stored in VistA "KRN",8994,123511,1,17,0) as the list of accessible C-Store providers for the current "KRN",8994,123511,1,18,0) DICOM Gateway. "KRN",8994,123511,2,0) ^8994.02^1^1 "KRN",8994,123511,2,1,0) APP^2^10000^1^1 "KRN",8994,123511,2,1,1,0) ^8994.021^9^9 "KRN",8994,123511,2,1,1,1,0) This parameter is an array. Each element of this "KRN",8994,123511,2,1,1,2,0) array must contain 7 non-empty values, separated by carets ("^"): "KRN",8994,123511,2,1,1,3,0) 1: Service Application Name "KRN",8994,123511,2,1,1,4,0) 2: Service Provider Application Entity Title "KRN",8994,123511,2,1,1,5,0) 3: IP Address "KRN",8994,123511,2,1,1,6,0) 4: Port Number "KRN",8994,123511,2,1,1,7,0) 5: Gateway System Title "KRN",8994,123511,2,1,1,8,0) 6: Gateway Application Entity Title "KRN",8994,123511,2,1,1,9,0) 7: Gateway Location Pointer (#4) "KRN",8994,123511,2,"B","APP",1) "KRN",8994,123511,2,"PARAMSEQ",1,1) "KRN",8994,123511,3,0) ^8994.03^8^8 "KRN",8994,123511,3,1,0) The output value of this RPC indicates whether or not the "KRN",8994,123511,3,2,0) update was successful. "KRN",8994,123511,3,3,0) If the input-array contains any empty values, or if the "KRN",8994,123511,3,4,0) identification of the DICOM Gateway is inconsistent in "KRN",8994,123511,3,5,0) the various elements, the return value will be: "KRN",8994,123511,3,6,0) OUT="-1,Missing or Inconsistent Parameters." "KRN",8994,123511,3,7,0) Otherwise, the return value will look like: "KRN",8994,123511,3,8,0) OUT="1, nnn added, nnn removed, nnn updated" "KRN",8994,123512,-1) 0^51 "KRN",8994,123512,0) MAG DICOM VALID LOCATIONS^LOCS^MAGDRPC8^2^R^0^0^1^3^0 "KRN",8994,123512,1,0) ^8994.01^17^17 "KRN",8994,123512,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123512,1,2,0) | Property of the US Government. | "KRN",8994,123512,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123512,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123512,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123512,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123512,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123512,1,8,0) | | "KRN",8994,123512,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123512,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123512,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123512,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123512,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123512,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123512,1,15,0) "KRN",8994,123512,1,16,0) This RPC returns an array with all locations that are part "KRN",8994,123512,1,17,0) of the current site, whether the site is "consolidated" or not. "KRN",8994,123512,3,0) ^8994.03^6^6 "KRN",8994,123512,3,1,0) Each element of the output array is of the form: "KRN",8994,123512,3,2,0) OUT(i) = D0 ^ name ^ Station "KRN",8994,123512,3,3,0) where "KRN",8994,123512,3,4,0) D0 internal entry number in ^DIC(4) of the location "KRN",8994,123512,3,5,0) name the name of the location "KRN",8994,123512,3,6,0) station the station identification for the location "KRN",8994,123513,-1) 0^52 "KRN",8994,123513,0) MAG DICOM WORKSTATION VERSION^STATION^MAGDRPC1^1^R^0^0^1^3^0 "KRN",8994,123513,1,0) ^8994.01^20^20 "KRN",8994,123513,1,1,0) +---------------------------------------------------------------+ "KRN",8994,123513,1,2,0) | Property of the US Government. | "KRN",8994,123513,1,3,0) | No permission to copy or redistribute this software is given. | "KRN",8994,123513,1,4,0) | Use of unreleased versions of this software requires the user | "KRN",8994,123513,1,5,0) | to execute a written test agreement with the VistA Imaging | "KRN",8994,123513,1,6,0) | Development Office of the Department of Veterans Affairs, | "KRN",8994,123513,1,7,0) | telephone (301) 734-0100. | "KRN",8994,123513,1,8,0) | | "KRN",8994,123513,1,9,0) | The Food and Drug Administration classifies this software as | "KRN",8994,123513,1,10,0) | a medical device. As such, it may not be changed in any way. | "KRN",8994,123513,1,11,0) | Modifications to this software may result in an adulterated | "KRN",8994,123513,1,12,0) | medical device under 21CFR820, the use of which is considered | "KRN",8994,123513,1,13,0) | to be a violation of US Federal Statutes. | "KRN",8994,123513,1,14,0) +---------------------------------------------------------------+ "KRN",8994,123513,1,15,0) "KRN",8994,123513,1,16,0) For the purposes of "Mag Enterprise", each DICOM Gateway "KRN",8994,123513,1,17,0) will report its current software version each day to the VistA "KRN",8994,123513,1,18,0) System. "KRN",8994,123513,1,19,0) "KRN",8994,123513,1,20,0) This RPC is called to register the current version information. "KRN",8994,123513,2,0) ^8994.02^2^2 "KRN",8994,123513,2,1,0) STATION^1^30^1^1 "KRN",8994,123513,2,1,1,0) ^8994.021^3^3 "KRN",8994,123513,2,1,1,1,0) The value of this parameter is a text string (upper case only). "KRN",8994,123513,2,1,1,2,0) This string uniquely identifies the "station name" of the "KRN",8994,123513,2,1,1,3,0) DICOM Gateway that is reporting its version information. "KRN",8994,123513,2,2,0) VERSION^1^30^1^2 "KRN",8994,123513,2,2,1,0) ^8994.021^4^4 "KRN",8994,123513,2,2,1,1,0) The value of this parameter is a text string. "KRN",8994,123513,2,2,1,2,0) This text string represents the version identification for the "KRN",8994,123513,2,2,1,3,0) version of the DICOM Gateway software that is running on the current "KRN",8994,123513,2,2,1,4,0) computer. "KRN",8994,123513,2,"B","STATION",1) "KRN",8994,123513,2,"B","VERSION",2) "KRN",8994,123513,2,"PARAMSEQ",1,1) "KRN",8994,123513,2,"PARAMSEQ",2,2) "KRN",8994,123513,3,0) ^8994.03^5^5 "KRN",8994,123513,3,1,0) This RPC will return a single value. "KRN",8994,123513,3,2,0) This value will be equal to either "KRN",8994,123513,3,3,0) "-1,No Station Identifier Specified" "KRN",8994,123513,3,4,0) or the internal entry number of the current station "KRN",8994,123513,3,5,0) in ^MAG(2006.83,...) (the DICOM WORKSTATION table). "MBREQ") 0 "ORD",18,19) 19;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA "ORD",18,19,0) OPTION "ORD",16,8994) 8994;16;1;;;;;;;RPCDEL^XPDIA1 "ORD",16,8994,0) REMOTE PROCEDURE "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) 11^3040414^.5 "PKG",454,22,1,"PAH",1,1,0) ^9.49011^65^65^3040414 "PKG",454,22,1,"PAH",1,1,1,0) Routines for Patch 11, Test Build 27. "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) MAG7RS value = 11923364 "PKG",454,22,1,"PAH",1,1,5,0) MAG7RSD value = 5995508 "PKG",454,22,1,"PAH",1,1,6,0) MAG7RSO value = 4178690 "PKG",454,22,1,"PAH",1,1,7,0) MAG7RSR value = 4411159 "PKG",454,22,1,"PAH",1,1,8,0) MAG7UDR value = 4129505 "PKG",454,22,1,"PAH",1,1,9,0) MAG7UFO value = 3674965 "PKG",454,22,1,"PAH",1,1,10,0) MAG7UM value = 8130703 "PKG",454,22,1,"PAH",1,1,11,0) MAG7UP value = 11171313 "PKG",454,22,1,"PAH",1,1,12,0) MAGBRTE3 value = 5833319 "PKG",454,22,1,"PAH",1,1,13,0) MAGBRTE4 value = 14663489 "PKG",454,22,1,"PAH",1,1,14,0) MAGBRTE5 value = 12248946 "PKG",454,22,1,"PAH",1,1,15,0) MAGBRTLD value = 6114349 "PKG",454,22,1,"PAH",1,1,16,0) MAGBRTUT value = 6312859 "PKG",454,22,1,"PAH",1,1,17,0) MAGDAUDR value = 6872220 "PKG",454,22,1,"PAH",1,1,18,0) MAGDCCS value = 14263908 "PKG",454,22,1,"PAH",1,1,19,0) MAGDCCS2 value = 6323959 "PKG",454,22,1,"PAH",1,1,20,0) MAGDCCS3 value = 4054715 "PKG",454,22,1,"PAH",1,1,21,0) MAGDCCSD value = 5138399 "PKG",454,22,1,"PAH",1,1,22,0) MAGDCCSS value = 7793439 "PKG",454,22,1,"PAH",1,1,23,0) MAGDFB value = 2768480 "PKG",454,22,1,"PAH",1,1,24,0) MAGDFCNV value = 4298417 "PKG",454,22,1,"PAH",1,1,25,0) MAGDGL value = 8693119 "PKG",454,22,1,"PAH",1,1,26,0) MAGDHL7 value = 7588848 "PKG",454,22,1,"PAH",1,1,27,0) MAGDHRS1 value = 4952354 "PKG",454,22,1,"PAH",1,1,28,0) MAGDHWS value = 8397303 "PKG",454,22,1,"PAH",1,1,29,0) MAGDIR8 value = 4729054 "PKG",454,22,1,"PAH",1,1,30,0) MAGDIR81 value = 13946127 "PKG",454,22,1,"PAH",1,1,31,0) MAGDIR82 value = 7689405 "PKG",454,22,1,"PAH",1,1,32,0) MAGDIR83 value = 7543877 "PKG",454,22,1,"PAH",1,1,33,0) MAGDIR84 value = 7164900 "PKG",454,22,1,"PAH",1,1,34,0) MAGDIR85 value = 2900846 "PKG",454,22,1,"PAH",1,1,35,0) MAGDIR8A value = 10602838 "PKG",454,22,1,"PAH",1,1,36,0) MAGDIR9A value = 10819306 "PKG",454,22,1,"PAH",1,1,37,0) MAGDIR9B value = 6837304 "PKG",454,22,1,"PAH",1,1,38,0) MAGDIR9E value = 15838144 "PKG",454,22,1,"PAH",1,1,39,0) MAGDIRVE value = 15724185 "PKG",454,22,1,"PAH",1,1,40,0) MAGDLB1 value = 12114206 "PKG",454,22,1,"PAH",1,1,41,0) MAGDLB12 value = 8451648 "PKG",454,22,1,"PAH",1,1,42,0) MAGDLB5 value = 4070169 "PKG",454,22,1,"PAH",1,1,43,0) MAGDLB6 value = 4138192 "PKG",454,22,1,"PAH",1,1,44,0) MAGDLB9 value = 4846825 "PKG",454,22,1,"PAH",1,1,45,0) MAGDLBAA value = 6781952 "PKG",454,22,1,"PAH",1,1,46,0) MAGDLBSR value = 7596015 "PKG",454,22,1,"PAH",1,1,47,0) MAGDRA1 value = 7837939 "PKG",454,22,1,"PAH",1,1,48,0) MAGDRA2 value = 7852272 "PKG",454,22,1,"PAH",1,1,49,0) MAGDRCU2 value = 9684070 "PKG",454,22,1,"PAH",1,1,50,0) MAGDRPC1 value = 8949355 "PKG",454,22,1,"PAH",1,1,51,0) MAGDRPC2 value = 5509304 "PKG",454,22,1,"PAH",1,1,52,0) MAGDRPC3 value = 11531835 "PKG",454,22,1,"PAH",1,1,53,0) MAGDRPC4 value = 15375596 "PKG",454,22,1,"PAH",1,1,54,0) MAGDRPC5 value = 15154889 "PKG",454,22,1,"PAH",1,1,55,0) MAGDRPC6 value = 9417357 "PKG",454,22,1,"PAH",1,1,56,0) MAGDRPC7 value = 8750764 "PKG",454,22,1,"PAH",1,1,57,0) MAGDRPC8 value = 10609976 "PKG",454,22,1,"PAH",1,1,58,0) MAGDRTIM value = 7583708 "PKG",454,22,1,"PAH",1,1,59,0) MAGENV11 value = 3658957 "PKG",454,22,1,"PAH",1,1,60,0) MAGIPS11 value = 4684033 "PKG",454,22,1,"PAH",1,1,61,0) MAGJRT value = 12927055 "PKG",454,22,1,"PAH",1,1,62,0) MAGXMA value = 3165496 "PKG",454,22,1,"PAH",1,1,63,0) "PKG",454,22,1,"PAH",1,1,64,0) Please note that routine MAGIPS11 is deleted after the KIDS Build is "PKG",454,22,1,"PAH",1,1,65,0) installed. "PRE") MAGENV11 "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") YES "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") YES "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") YES "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") 59 "RTN","MAG7RS") 0^1^B53064235 "RTN","MAG7RS",1,0) MAG7RS ;WOIFO/PMK,MLH - copy radiology message from HLSDATA to ^MAGDHL7 - add segment data ; 13 Feb 2004 4:45 PM "RTN","MAG7RS",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7RS",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RS",4,0) ;; | Property of the US Government. | "RTN","MAG7RS",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7RS",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7RS",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7RS",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7RS",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7RS",10,0) ;; | | "RTN","MAG7RS",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7RS",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7RS",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7RS",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7RS",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7RS",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RS",17,0) ;; "RTN","MAG7RS",18,0) ; "RTN","MAG7RS",19,0) PIDADD ; SUBROUTINE - called by ADDDTA^MAGDHL7 "RTN","MAG7RS",20,0) ; Add PID info for DICOM Gateway. "RTN","MAG7RS",21,0) ; Uses multi-tier array structure MAG7WRK produced by call to MAG7UP. "RTN","MAG7RS",22,0) ; "RTN","MAG7RS",23,0) N IXPID ; ---------------- index to PID segment in MAG7WRK array "RTN","MAG7RS",24,0) N VADM,VAPA ; ------------ VADPT return arrays "RTN","MAG7RS",25,0) ; "RTN","MAG7RS",26,0) ; ==================================================== "RTN","MAG7RS",27,0) ; Get patient DFN and retrieve demo data. "RTN","MAG7RS",28,0) S IXPID=$O(MAG7WRK("B","PID","")) I 'IXPID Q "RTN","MAG7RS",29,0) S DFN=MAG7WRK(IXPID,3,1,1,1) I 'DFN Q "RTN","MAG7RS",30,0) ; "RTN","MAG7RS",31,0) ; ================================================ "RTN","MAG7RS",32,0) ; load demo information into HL7 PID segment "RTN","MAG7RS",33,0) S DIQUIET=1 "RTN","MAG7RS",34,0) D DEM^VADPT ; demo into VADM() "RTN","MAG7RS",35,0) I '$G(VAERR),VADM(3)]"" D "RTN","MAG7RS",36,0) . S MAG7WRK(IXPID,7,1,1,1)=$P(VADM(3),"^")+17000000 ; DOB "RTN","MAG7RS",37,0) . Q "RTN","MAG7RS",38,0) ; "RTN","MAG7RS",39,0) ; ================================================ "RTN","MAG7RS",40,0) ; load address information into HL7 PID segment "RTN","MAG7RS",41,0) S DIQUIET=1 "RTN","MAG7RS",42,0) D ADD^VADPT ; address & phone into VAPA() "RTN","MAG7RS",43,0) I '$G(VAERR) D "RTN","MAG7RS",44,0) . S MAG7WRK(IXPID,10,1,2,1)=$P(VADM(8),"^",2) ; race "RTN","MAG7RS",45,0) . S MAG7WRK(IXPID,11,1,1,1)=VAPA(1) ; street address 1st line "RTN","MAG7RS",46,0) . S MAG7WRK(IXPID,11,1,2,1)=VAPA(2)_$S(VAPA(3)="":"",1:", "_VAPA(3)) ; lns 2-3 "RTN","MAG7RS",47,0) . S MAG7WRK(IXPID,11,1,3,1)=VAPA(4) ; city "RTN","MAG7RS",48,0) . S MAG7WRK(IXPID,11,1,4,1)=VAPA(5) ; 2-letter state "RTN","MAG7RS",49,0) . S MAG7WRK(IXPID,11,1,5,1)=VAPA(6) ; ZIP "RTN","MAG7RS",50,0) . ; phone "RTN","MAG7RS",51,0) . S MAG7WRK(IXPID,13,1,1,1)=VAPA(8) "RTN","MAG7RS",52,0) . S MAG7WRK(IXPID,13,1,2,1)="PRN" ; phone "RTN","MAG7RS",53,0) . Q "RTN","MAG7RS",54,0) Q "RTN","MAG7RS",55,0) ; "RTN","MAG7RS",56,0) ADDVSDG ; SUBROUTINE - called by ADDDTA^MAGDHL7 "RTN","MAG7RS",57,0) ; Add visit and diagnosis info for DICOM Gateway. "RTN","MAG7RS",58,0) ; "RTN","MAG7RS",59,0) N I,IX,IX1 ; ----- scratch index vars "RTN","MAG7RS",60,0) N IXPID,IXPV1 ; -- indices to PID, PV1 segs in MAG7WRK array "RTN","MAG7RS",61,0) N IXDG1,IXOBR ; -- indices to DG1, OBR segs in MAG7WRK array "RTN","MAG7RS",62,0) N IXVAEL ; ------- index of entries in VAEL() "RTN","MAG7RS",63,0) N VAIN,VAEL ; ---- VADPT return arrays "RTN","MAG7RS",64,0) N MAGPHYNM ; ----- physician name "RTN","MAG7RS",65,0) N ELCODE ; ------- eligibility code "RTN","MAG7RS",66,0) ; "RTN","MAG7RS",67,0) ; ==================================================== "RTN","MAG7RS",68,0) ; Get patient DFN and retrieve inpatient data. "RTN","MAG7RS",69,0) S IXPID=$O(MAG7WRK("B","PID","")) I 'IXPID Q "RTN","MAG7RS",70,0) S DFN=MAG7WRK(IXPID,3,1,1,1) I 'DFN Q "RTN","MAG7RS",71,0) S DIQUIET=1 "RTN","MAG7RS",72,0) D INP^VADPT Q:VAERR ; inpatient data in VAIN() "RTN","MAG7RS",73,0) D ELIG^VADPT Q:VAERR ; eligibility data in VAEL() "RTN","MAG7RS",74,0) D PV1ADD($S($G(VAIN(1))]"":"IN",1:"OUT")) "RTN","MAG7RS",75,0) ; add pregnancy status and modalities if not already part of order "RTN","MAG7RS",76,0) ; message "RTN","MAG7RS",77,0) I $G(MAG7WRK(1,9,1,1,1))="ORM" D "RTN","MAG7RS",78,0) . S IXOBR=$O(MAG7WRK("B","OBR","")) "RTN","MAG7RS",79,0) . I IXOBR D PV1RAD ; pregnancy status & modality info from Radiology "RTN","MAG7RS",80,0) . Q "RTN","MAG7RS",81,0) Q "RTN","MAG7RS",82,0) ; "RTN","MAG7RS",83,0) PV1ADD(XPTSTA) ; SUBROUTINE - called by ADDVSDG "RTN","MAG7RS",84,0) ; Get the index of the PV1 segment - create one for the order message "RTN","MAG7RS",85,0) ; if we need to. "RTN","MAG7RS",86,0) ; "RTN","MAG7RS",87,0) ; input: XPTSTA patient status { IN | OUT } "RTN","MAG7RS",88,0) ; "RTN","MAG7RS",89,0) ; Expects: VAEL() eligibility array from ELIG^VADPT "RTN","MAG7RS",90,0) ; VAIN() inpatient data array from INP^VADPT "RTN","MAG7RS",91,0) ; "RTN","MAG7RS",92,0) N FSTAT ; -- status flag returned by MAG7UDR "RTN","MAG7RS",93,0) N IXSEG ; -- segment index in message "RTN","MAG7RS",94,0) N IXPRED ; -- index to predecessor segment "RTN","MAG7RS",95,0) N IXSUCC ; -- index to successor segment "RTN","MAG7RS",96,0) ; "RTN","MAG7RS",97,0) S IXPV1=$O(MAG7WRK("B","PV1","")) "RTN","MAG7RS",98,0) I 'IXPV1 Q:MAG7WRK(1,9,1,1,1)'="ORM" D "RTN","MAG7RS",99,0) . S (IXSEG,IXPRED)=$O(MAG7WRK("B","PID","")) Q:'IXSEG "RTN","MAG7RS",100,0) . F S IXSEG=$O(MAG7WRK(IXSEG)) Q:"^PD1^NTE^"'[("^"_$G(MAG7WRK(IXSEG,0))_"^") S IXPRED=IXSEG "RTN","MAG7RS",101,0) . S IXSUCC=$O(MAG7WRK(IXPRED)),IXPV1=$S(IXSUCC:IXPRED+IXSUCC/2,1:IXPRED+1) "RTN","MAG7RS",102,0) . S MAG7WRK(IXPV1,0)="PV1" "RTN","MAG7RS",103,0) . Q "RTN","MAG7RS",104,0) ; "RTN","MAG7RS",105,0) ; pt status "RTN","MAG7RS",106,0) I XPTSTA="OUT" D ; if op, just status for now "RTN","MAG7RS",107,0) . S MAGWRK(IXPV1,2,1,1,1)="O" "RTN","MAG7RS",108,0) . Q "RTN","MAG7RS",109,0) E I XPTSTA'="IN" D ; not applicable "RTN","MAG7RS",110,0) . S MAG7WRK(IXPV1,2,1,1,1)="N" "RTN","MAG7RS",111,0) . Q "RTN","MAG7RS",112,0) E D ; get visit information too "RTN","MAG7RS",113,0) . S MAG7WRK(IXPV1,2,1,1,1)="I" ; -- class - always inpatient "RTN","MAG7RS",114,0) . ; location "RTN","MAG7RS",115,0) . ; point of care <--- ward -- needs to be a triplet for Pete's DICOM msg "RTN","MAG7RS",116,0) . S MAG7WRK(IXPV1,3,1,1,1)=$P(VAIN(4),U) "RTN","MAG7RS",117,0) . S MAG7WRK(IXPV1,3,1,1,2)=$P(VAIN(4),U,2) "RTN","MAG7RS",118,0) . S MAG7WRK(IXPV1,3,1,1,3)="VISTA42" "RTN","MAG7RS",119,0) . S MAG7WRK(IXPV1,3,1,2,1)=$P(VAIN(5),"-") ; -------- room "RTN","MAG7RS",120,0) . S MAG7WRK(IXPV1,3,1,3,1)=$P(VAIN(5),"-",2) ; ------ bed "RTN","MAG7RS",121,0) . ; add segment for admitting dx to ADT and ORM messages "RTN","MAG7RS",122,0) . I $G(VAIN(9))]"" D DG1DGADM^MAG7RSD "RTN","MAG7RS",123,0) . Q "RTN","MAG7RS",124,0) ; "RTN","MAG7RS",125,0) ; add PV1 fields and ROL segments for the attending and referring DRs "RTN","MAG7RS",126,0) S FSTAT=$$PRCTADD^MAG7UDR($NA(MAG7WRK(IXPV1,7)),"ATT") ; attending DR "RTN","MAG7RS",127,0) I $G(MAG7WRK(IXPV1,7,1,1,1)),$G(MAG7WRK(1,9,1,1,1))="ADT" D "RTN","MAG7RS",128,0) . D ROLADD^MAG7RSR($NA(MAG7WRK(IXPV1,7,1)),"AT") "RTN","MAG7RS",129,0) . Q "RTN","MAG7RS",130,0) S FSTAT=$$PRCTADD^MAG7UDR($NA(MAG7WRK(IXPV1,8)),"REF") ; referring DR "RTN","MAG7RS",131,0) I $G(MAG7WRK(IXPV1,8,1,1,1)),$G(MAG7WRK(1,9,1,1,1))="ADT" D "RTN","MAG7RS",132,0) . D ROLADD^MAG7RSR($NA(MAG7WRK(IXPV1,8,1)),"RP") "RTN","MAG7RS",133,0) . Q "RTN","MAG7RS",134,0) I $D(VAEL) D ; add VIP flag if applicable and not yet present "RTN","MAG7RS",135,0) . S VAEL(1,0)=VAEL(1) ; for easy array navigation "RTN","MAG7RS",136,0) . S IXVAEL="" "RTN","MAG7RS",137,0) . F Q:$D(IXPV1(16)) S IXVAEL=$O(VAEL(1,IXVAEL)) Q:IXVAEL="" D "RTN","MAG7RS",138,0) . . S ELCODE=$P($G(VAEL(1,IXVAEL)),"^") "RTN","MAG7RS",139,0) . . I "^6^15^"[("^"_ELCODE_"^") S IXPV1(16,1,1,1,1)=ELCODE "RTN","MAG7RS",140,0) . . Q "RTN","MAG7RS",141,0) . Q "RTN","MAG7RS",142,0) Q "RTN","MAG7RS",143,0) ; "RTN","MAG7RS",144,0) PV1RAD ; SUBROUTINE - called by ADDVSDG "RTN","MAG7RS",145,0) ; Add "pregnant" to Ambulatory Status if patient is pregnant. "RTN","MAG7RS",146,0) ; Add modalities to Diagnostic Service Section ID. "RTN","MAG7RS",147,0) ; "RTN","MAG7RS",148,0) ; Expects: MAG7WRK() HL7 message array "RTN","MAG7RS",149,0) ; IXOBR Index of OBR segment on MAG7WRK() "RTN","MAG7RS",150,0) ; IXPV1 Index of PV1 segment on MAG7WRK() "RTN","MAG7RS",151,0) ; "RTN","MAG7RS",152,0) N RADPT2 ; ------- FileMan date of rad order "RTN","MAG7RS",153,0) N RADPT3 ; ------- index of order under date on Rad/NM pt file "RTN","MAG7RS",154,0) N RADPT0 ; ------- data for order on Rad/NM pt file "RTN","MAG7RS",155,0) N RAOIEN ; ------- index of order on Rad/NM order file "RTN","MAG7RS",156,0) N RAO0 ; --------- data for order on Rad/NM order file "RTN","MAG7RS",157,0) N PROCIEN ; ------ ien of procedure on Rad/NM procedure file "RTN","MAG7RS",158,0) N PROCMOD ; ------ ien of modality on Rad/NM procedure file "RTN","MAG7RS",159,0) N MODIEN ; ------- ien of modality on modality defined terms file "RTN","MAG7RS",160,0) N MODTERM ; ------ term for the modality "RTN","MAG7RS",161,0) N PREGSTAT ; ----- pregnancy status on order "RTN","MAG7RS",162,0) N REPIX ; -------- repetition index "RTN","MAG7RS",163,0) N EDTA ; --------- element data "RTN","MAG7RS",164,0) N AAMBMSG ; --------- ambulatory status array (from message data) "RTN","MAG7RS",165,0) N AMODMSG ; --------- modality array (from message data) "RTN","MAG7RS",166,0) ; "RTN","MAG7RS",167,0) ; get data from Rad/NM pt and order files "RTN","MAG7RS",168,0) S RADPT2=$P(MAG7WRK(IXOBR,3,1,1,1),"-") "RTN","MAG7RS",169,0) S RADPT3=$P(MAG7WRK(IXOBR,3,1,1,1),"-",2) "RTN","MAG7RS",170,0) S RADPT0=$G(^RADPT(DFN,"DT",RADPT2,"P",RADPT3,0)) "RTN","MAG7RS",171,0) S RAOIEN=$P(RADPT0,"^",11) ; IEN for ^RAO(75.1) "RTN","MAG7RS",172,0) S RAO0="" I RAOIEN S RAO0=$G(^RAO(75.1,RAOIEN,0)) "RTN","MAG7RS",173,0) ; "RTN","MAG7RS",174,0) ; add "pregnant" to ambulatory status if needed "RTN","MAG7RS",175,0) ; get data from message "RTN","MAG7RS",176,0) S REPIX="" "RTN","MAG7RS",177,0) F S REPIX=$O(MAG7WRK(IXPV1,15,REPIX)) Q:'REPIX D "RTN","MAG7RS",178,0) . S EDTA=$G(MAG7WRK(IXPV1,15,REPIX,1,1)) I EDTA]"" S AAMB(EDTA)="" "RTN","MAG7RS",179,0) . Q "RTN","MAG7RS",180,0) ; get data from Radiology and add to message if needed and not present "RTN","MAG7RS",181,0) S PREGSTAT=$P(RAO0,"^",13) I PREGSTAT="" S PREGSTAT="u" "RTN","MAG7RS",182,0) I '$D(AAMB("B6")),PREGSTAT="y" D "RTN","MAG7RS",183,0) . S MAG7WRK(IXPV1,15,$O(MAG7WRK(IXPV1,15," "),-1)+1,1,1)="B6" "RTN","MAG7RS",184,0) . Q "RTN","MAG7RS",185,0) ; "RTN","MAG7RS",186,0) ; add modalities to Diagnostic Service Section ID "RTN","MAG7RS",187,0) ; get data from message "RTN","MAG7RS",188,0) F S REPIX=$O(MAG7WRK(IXOBR,24,REPIX)) Q:'REPIX D "RTN","MAG7RS",189,0) . S EDTA=$G(MAG7WRK(IXOBR,24,REPIX,1,1)) I EDTA]"" S AMODMSG(EDTA)="" "RTN","MAG7RS",190,0) . Q "RTN","MAG7RS",191,0) ; get data from Radiology and add to message if needed and not present "RTN","MAG7RS",192,0) S PROCIEN=$P(RADPT0,U,2) "RTN","MAG7RS",193,0) I PROCIEN D "RTN","MAG7RS",194,0) . S PROCMOD=0 "RTN","MAG7RS",195,0) . F S PROCMOD=$O(^RAMIS(71,PROCIEN,"MDL",PROCMOD)) Q:'PROCMOD D "RTN","MAG7RS",196,0) . . S MODIEN=$P($G(^RAMIS(71,PROCIEN,"MDL",PROCMOD,0)),U) "RTN","MAG7RS",197,0) . . I MODIEN,$D(^RAMIS(73.1,MODIEN,0)) D "RTN","MAG7RS",198,0) . . . S MODTERM=$P($G(^RAMIS(73.1,MODIEN,0)),U) "RTN","MAG7RS",199,0) . . . I MODTERM]"",'$D(AMODMSG(MODTERM)) D "RTN","MAG7RS",200,0) . . . . S MAG7WRK(IXOBR,24,$O(MAG7WRK(IXOBR,24," "),-1)+1,1,1)=MODTERM "RTN","MAG7RS",201,0) . . . . Q "RTN","MAG7RS",202,0) . . . Q "RTN","MAG7RS",203,0) . . Q "RTN","MAG7RS",204,0) . Q "RTN","MAG7RS",205,0) Q "RTN","MAG7RSD") 0^2^B12010159 "RTN","MAG7RSD",1,0) MAG7RSD ;WOIFO/PMK,MLH - copy radiology message from HLSDATA to ^MAGDHL7 - add admitting diagnosis data ; 07 Jul 2003 12:43 PM "RTN","MAG7RSD",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7RSD",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RSD",4,0) ;; | Property of the US Government. | "RTN","MAG7RSD",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7RSD",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7RSD",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7RSD",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7RSD",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7RSD",10,0) ;; | | "RTN","MAG7RSD",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7RSD",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7RSD",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7RSD",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7RSD",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7RSD",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RSD",17,0) ;; "RTN","MAG7RSD",18,0) ; "RTN","MAG7RSD",19,0) DG1DGADM ; SUBROUTINE - called by PV1ADD "RTN","MAG7RSD",20,0) ; Add admitting diagnosis to ADT and ORM messages. "RTN","MAG7RSD",21,0) ; Expects: MAG7WRK() HL7 message array "RTN","MAG7RSD",22,0) ; "RTN","MAG7RSD",23,0) N IXSEG ; ---------- segment index "RTN","MAG7RSD",24,0) N IXPRED,IXSUCC ; -- indices to segments to be inserted between "RTN","MAG7RSD",25,0) N IXDG1 ; ---------- index of DG1 segment on MAG7WRK() "RTN","MAG7RSD",26,0) ; "RTN","MAG7RSD",27,0) ; are there already diagnosis segments out there? "RTN","MAG7RSD",28,0) I $D(MAG7WRK("B","DG1")) D "RTN","MAG7RSD",29,0) . ; yes, add another DG1 after the last DG1 we find "RTN","MAG7RSD",30,0) . S IXPRED=$O(MAG7WRK("B","DG1"," "),-1) "RTN","MAG7RSD",31,0) . S IX=$O(MAG7WRK(IXPRED)),IXDG1=$S(IX:IXPRED+IX/2,1:IXPRED+1) "RTN","MAG7RSD",32,0) . ; fill in set ID (must follow in lockstep sequence) "RTN","MAG7RSD",33,0) . S MAG7WRK(IXDG1,1,1,1,1)=$G(MAG7WRK(IXPRED,1,1,1,1))+1 "RTN","MAG7RSD",34,0) . Q "RTN","MAG7RSD",35,0) E D DG1DGAD1 ; no, find a place to insert a DG1 into the message "RTN","MAG7RSD",36,0) I $G(IXDG1) D ; we found a place - insert "RTN","MAG7RSD",37,0) . S MAG7WRK(IXDG1,3,1,2,1)=VAIN(9),MAG7WRK(IXDG1,6,1,1,1)="A" "RTN","MAG7RSD",38,0) . S MAG7WRK("B","DG1",IXDG1)="",MAG7WRK(IXDG1,0)="DG1" "RTN","MAG7RSD",39,0) . Q "RTN","MAG7RSD",40,0) Q "RTN","MAG7RSD",41,0) ; "RTN","MAG7RSD",42,0) DG1DGAD1 ; SUBROUTINE - called by DG1DGADM "RTN","MAG7RSD",43,0) ; Find optional segments between the required PV1 and where we will insert "RTN","MAG7RSD",44,0) ; a DG1. If message structure is corrupt (i.e., no PV1 segment in an ADT "RTN","MAG7RSD",45,0) ; message) don't try to insert a DG1 segment. If we don't recognize the "RTN","MAG7RSD",46,0) ; message type, don't try to insert a DG1 segment. "RTN","MAG7RSD",47,0) ; "RTN","MAG7RSD",48,0) ; Expects: MAG7WRK() HL7 message array "RTN","MAG7RSD",49,0) ; "RTN","MAG7RSD",50,0) ; Returns: IXDG1 index of the DG1 segment to be inserted into "RTN","MAG7RSD",51,0) ; "RTN","MAG7RSD",52,0) N IXSEG ; ---------- segment index "RTN","MAG7RSD",53,0) N IXPRED,IXSUCC ; -- indices to segments to be inserted between "RTN","MAG7RSD",54,0) N DG1SETID ; ------- set ID for DG1 "RTN","MAG7RSD",55,0) ; "RTN","MAG7RSD",56,0) ; are there any DG1 segments on file? "RTN","MAG7RSD",57,0) I $D(MAG7WRK("B","DG1")) D ; yes, get index and set ID of the last one "RTN","MAG7RSD",58,0) . S IXPRED=$O(MAG7WRK("B","DG1"," "),-1) "RTN","MAG7RSD",59,0) . S DG1SETID=MAG7WRK(IXPRED,1,1,1,1) "RTN","MAG7RSD",60,0) . Q "RTN","MAG7RSD",61,0) E D ; no, find a place to insert, and initialize the set ID "RTN","MAG7RSD",62,0) . I $G(MAG7WRK(1,9,1,1,1))="ADT" D "RTN","MAG7RSD",63,0) . . S (IXSEG,IXPRED)=$O(MAG7WRK("B","PV1","")) Q:'IXSEG "RTN","MAG7RSD",64,0) . . F S IXSEG=$O(MAG7WRK(IXSEG)) Q:'IXSEG Q:"^PV2^ROL^DB1^OBX^AL1^"'[("^"_$G(MAG7WRK(IXSEG,0))_"^") S IXPRED=IXSEG "RTN","MAG7RSD",65,0) . . Q "RTN","MAG7RSD",66,0) . E I $G(MAG7WRK(1,9,1,1,1))="ORM" D "RTN","MAG7RSD",67,0) . . S (IXSEG,IXPRED)=$O(MAG7WRK("B","OBR","")) Q:'IXSEG "RTN","MAG7RSD",68,0) . . F S IXSEG=$O(MAG7WRK(IXSEG)) Q:'IXSEG Q:"^NTE^CTD^"'[("^"_$G(MAG7WRK(IXSEG,0))_"^") S IXPRED=IXSEG "RTN","MAG7RSD",69,0) . . Q "RTN","MAG7RSD",70,0) . S DG1SETID=0 "RTN","MAG7RSD",71,0) . Q "RTN","MAG7RSD",72,0) ; now compute the index of the DG1 segment, and fill in the Set ID "RTN","MAG7RSD",73,0) S IXSUCC=$O(MAG7WRK(IXPRED)),IXDG1=$S(IXSUCC:IXPRED+IXSUCC/2,1:IXPRED+1) "RTN","MAG7RSD",74,0) S MAG7WRK(IXDG1,1,1,1,1)=DG1SETID+1 ; set ID always begins at 1 "RTN","MAG7RSD",75,0) Q "RTN","MAG7RSO") 0^3^B6903355 "RTN","MAG7RSO",1,0) MAG7RSO ;WOIFO/PMK,MLH - copy radiology message from HLSDATA to ^MAGDHL7 - update diag codes in OBX segs ; 07 Jul 2003 12:30 PM "RTN","MAG7RSO",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7RSO",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RSO",4,0) ;; | Property of the US Government. | "RTN","MAG7RSO",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7RSO",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7RSO",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7RSO",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7RSO",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7RSO",10,0) ;; | | "RTN","MAG7RSO",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7RSO",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7RSO",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7RSO",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7RSO",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7RSO",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RSO",17,0) ;; "RTN","MAG7RSO",18,0) ; "RTN","MAG7RSO",19,0) OBXUPD ; SUBROUTINE - called by ADDDTA^MAGDHL7 "RTN","MAG7RSO",20,0) ; Update OBX diagnosis code info on radiology ORU messages. "RTN","MAG7RSO",21,0) ; DICOM requires a numeric code in its triplet. "RTN","MAG7RSO",22,0) ; "RTN","MAG7RSO",23,0) N IXOBX ; ---------------- index to OBX segments in MAG7WRK array "RTN","MAG7RSO",24,0) N DIAGCSTR ; ------------- diagnostic code string "RTN","MAG7RSO",25,0) N TESTSTR ; -------------- substring to test with "RTN","MAG7RSO",26,0) N TESTIX ; --------------- index of entries to test against "RTN","MAG7RSO",27,0) N DIAGCIX ; -------------- diagnostic code index in 78.3 "RTN","MAG7RSO",28,0) ; "RTN","MAG7RSO",29,0) ; Look for DIAGNOSTIC CODE in each OBX segment. When that string is found, "RTN","MAG7RSO",30,0) ; try to pick up the numeric diagnosis code from the Radiology DIAGNOSTIC "RTN","MAG7RSO",31,0) ; CODES File (#78.3). "RTN","MAG7RSO",32,0) S IXOBX="" "RTN","MAG7RSO",33,0) F S IXOBX=$O(MAG7WRK("B","OBX",IXOBX)) Q:'IXOBX D "RTN","MAG7RSO",34,0) . I $G(MAG7WRK(IXOBX,3,1,2,1))="DIAGNOSTIC CODE",$G(MAG7WRK(IXOBX,2,1,1,1))="ST" D "RTN","MAG7RSO",35,0) . . S DIAGCSTR=$G(MAG7WRK(IXOBX,5,1,1,1)) "RTN","MAG7RSO",36,0) . . K DIAGCIX "RTN","MAG7RSO",37,0) . . I DIAGCSTR]"" D "RTN","MAG7RSO",38,0) . . . S TESTSTR=$E(DIAGCSTR,1,30),TESTIX="" "RTN","MAG7RSO",39,0) . . . F S TESTIX=$O(^RA(78.3,"B",TESTSTR,TESTIX)) Q:'TESTIX D Q:$G(DIAGCIX) "RTN","MAG7RSO",40,0) . . . . I $P($G(^RA(78.3,TESTIX,0)),U)=DIAGCSTR S DIAGCIX=TESTIX "RTN","MAG7RSO",41,0) . . . . Q "RTN","MAG7RSO",42,0) . . . Q "RTN","MAG7RSO",43,0) . . I '$G(DIAGCIX) S DIAGCIX=9999 ; 'no code found' flag "RTN","MAG7RSO",44,0) . . S MAG7WRK(IXOBX,2,1,1,1)="CE" "RTN","MAG7RSO",45,0) . . S MAG7WRK(IXOBX,5,1,1,1)=DIAGCIX "RTN","MAG7RSO",46,0) . . S MAG7WRK(IXOBX,5,1,2,1)=DIAGCSTR "RTN","MAG7RSO",47,0) . . S MAG7WRK(IXOBX,5,1,3,1)="VISTA78.3" "RTN","MAG7RSO",48,0) . . Q "RTN","MAG7RSO",49,0) . Q "RTN","MAG7RSO",50,0) Q "RTN","MAG7RSR") 0^4^B7799977 "RTN","MAG7RSR",1,0) MAG7RSR ;WOIFO/PMK,MLH - copy radiology message from HLSDATA to ^MAGDHL7 - add ROL segment data ; 18 Dec 2003 3:56 PM "RTN","MAG7RSR",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7RSR",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RSR",4,0) ;; | Property of the US Government. | "RTN","MAG7RSR",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7RSR",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7RSR",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7RSR",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7RSR",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7RSR",10,0) ;; | | "RTN","MAG7RSR",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7RSR",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7RSR",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7RSR",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7RSR",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7RSR",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7RSR",17,0) ;; "RTN","MAG7RSR",18,0) ; "RTN","MAG7RSR",19,0) ROLADD(XPHY,XROL) ; SUBROUTINE - called by PV1ADD "RTN","MAG7RSR",20,0) ; Add role information for the attending or referring physician "RTN","MAG7RSR",21,0) ; to the ADT message. "RTN","MAG7RSR",22,0) ; "RTN","MAG7RSR",23,0) ; Expects: MAG7WRK() HL7 message array "RTN","MAG7RSR",24,0) ; "RTN","MAG7RSR",25,0) ; Input: XPHY() array containing PV1 info for attending or "RTN","MAG7RSR",26,0) ; referring DR "RTN","MAG7RSR",27,0) ; XROL the role being populated: "RTN","MAG7RSR",28,0) ; AT = attending, RP = referring "RTN","MAG7RSR",29,0) ; "RTN","MAG7RSR",30,0) N IXROL ; ---------- role segment index "RTN","MAG7RSR",31,0) N IXSEG ; ---------- segment index "RTN","MAG7RSR",32,0) N IXPRED,IXSUCC ; -- indices to segments to be inserted between "RTN","MAG7RSR",33,0) N RLINSTID ; ------- role instance ID "RTN","MAG7RSR",34,0) N FPHN ; ----------- phone number fetch flag (discarded) "RTN","MAG7RSR",35,0) ; "RTN","MAG7RSR",36,0) ; already a ROL segment on file? "RTN","MAG7RSR",37,0) I $D(MAG7WRK("B","ROL")) D ; yes, add another one "RTN","MAG7RSR",38,0) . S (IXSEG,IXPRED)=$O(MAG7WRK("B","ROL"," "),-1) "RTN","MAG7RSR",39,0) . S RLINSTID=MAG7WRK(IXSEG,1,1,1,1) "RTN","MAG7RSR",40,0) . Q "RTN","MAG7RSR",41,0) E D ; no, add the first one "RTN","MAG7RSR",42,0) . S (IXSEG,IXPRED)=$O(MAG7WRK("B","PV1","")) Q:'IXSEG "RTN","MAG7RSR",43,0) . F S IXSEG=$O(MAG7WRK(IXSEG)) Q:'IXSEG Q:"^PV1^PV2^ROL^"'[("^"_$G(MAG7WRK(IXSEG,0))_"^") S IXPRED=IXSEG "RTN","MAG7RSR",44,0) . S RLINSTID=0 "RTN","MAG7RSR",45,0) . Q "RTN","MAG7RSR",46,0) ; now compute the index of the ROL segment, and fill in "RTN","MAG7RSR",47,0) S IXSUCC=$O(MAG7WRK(IXPRED)),IXROL=$S(IXSUCC:IXPRED+IXSUCC/2,1:IXPRED+1) "RTN","MAG7RSR",48,0) S MAG7WRK(IXROL,0)="ROL",MAG7WRK("B","ROL",IXROL)="" "RTN","MAG7RSR",49,0) S MAG7WRK(IXROL,1,1,1,1)=RLINSTID+1 ; instance ID always begins at 1 "RTN","MAG7RSR",50,0) S MAG7WRK(IXROL,2,1,1,1)="UC" ; unchanged "RTN","MAG7RSR",51,0) S MAG7WRK(IXROL,3,1,1,1)=XROL "RTN","MAG7RSR",52,0) M MAG7WRK(IXROL,4,1)=@XPHY "RTN","MAG7RSR",53,0) S FPHN=$$NPFON^MAG7UFO($NA(MAG7WRK(IXROL,12)),MAG7WRK(IXROL,4,1,1,1)) "RTN","MAG7RSR",54,0) Q "RTN","MAG7UDR") 0^5^B7350925 "RTN","MAG7UDR",1,0) MAG7UDR ;WOIFO/MLH - HL7 utilities - populate a practitioner field; 12-Jun-2003 ; 12 Jun 2003 4:27 PM "RTN","MAG7UDR",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7UDR",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UDR",4,0) ;; | Property of the US Government. | "RTN","MAG7UDR",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7UDR",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7UDR",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7UDR",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7UDR",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7UDR",10,0) ;; | | "RTN","MAG7UDR",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7UDR",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7UDR",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7UDR",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7UDR",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7UDR",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UDR",17,0) ;; "RTN","MAG7UDR",18,0) ; "RTN","MAG7UDR",19,0) PRCTADD(XFLD,XTYP) ; FUNCTION - add a practitioner to a field array "RTN","MAG7UDR",20,0) ; "RTN","MAG7UDR",21,0) ; Input: XFLD name of array into which to populate "RTN","MAG7UDR",22,0) ; (see MAG7UP for structure) "RTN","MAG7UDR",23,0) ; XTYP type of practitioner: "RTN","MAG7UDR",24,0) ; 'ATT' = attending, 'REF' = referring "RTN","MAG7UDR",25,0) ; "RTN","MAG7UDR",26,0) ; Expects: Fileman variables from call to DI or Kernel "RTN","MAG7UDR",27,0) ; DFN IEN of patient on ^DPT "RTN","MAG7UDR",28,0) ; "RTN","MAG7UDR",29,0) ; function return: error status (default = '0', false) "RTN","MAG7UDR",30,0) ; "RTN","MAG7UDR",31,0) N FEXIT ; ------- exit status flag "RTN","MAG7UDR",32,0) N VAIN ; -------- array of inpatient data from PIMS "RTN","MAG7UDR",33,0) N REP ; --------- repetition index for the XFLD array "RTN","MAG7UDR",34,0) N PRCT ; -------- practitioner data "RTN","MAG7UDR",35,0) N MAGPHYNM ; ---- physician name "RTN","MAG7UDR",36,0) ; "RTN","MAG7UDR",37,0) S FEXIT=0 ; default to no error "RTN","MAG7UDR",38,0) D INP^VADPT ; populate inpatient data into VAIN() "RTN","MAG7UDR",39,0) S REP=$O(@XFLD@(" "),-1)+1 ; get next repetition of the XFLD array "RTN","MAG7UDR",40,0) ; "RTN","MAG7UDR",41,0) ; populate field array based on practitioner type "RTN","MAG7UDR",42,0) I "^ATT^REF^"'[("^"_$G(XTYP)_"^") D Q FEXIT "RTN","MAG7UDR",43,0) . S FEXIT="-1;no practitioner type sent to PRCTADD^"_$T(+0) "RTN","MAG7UDR",44,0) . Q "RTN","MAG7UDR",45,0) S PRCT=$S(XTYP="ATT":VAIN(2),XTYP="REF":VAIN(11),1:"") "RTN","MAG7UDR",46,0) S @XFLD@(REP,1,1)=$P(PRCT,U) ; ---------- ID number "RTN","MAG7UDR",47,0) S MAGPHYNM=$P(PRCT,"^",2) ; full name "RTN","MAG7UDR",48,0) S @XFLD@(REP,2,1)=$P(MAGPHYNM,",") ; ------- family name "RTN","MAG7UDR",49,0) S MAGPHYNM=$P(MAGPHYNM,",",2,99) ; strip last name "RTN","MAG7UDR",50,0) S @XFLD@(REP,3,1)=$P(MAGPHYNM," ") ; ------- given name "RTN","MAG7UDR",51,0) S @XFLD@(REP,4,1)=$P(MAGPHYNM," ",2,99) ; -- 2nd & further given nms "RTN","MAG7UDR",52,0) Q FEXIT "RTN","MAG7UFO") 0^6^B6573900 "RTN","MAG7UFO",1,0) MAG7UFO ;WOIFO/MLH - HL7 utilities - populate NEW PERSON phone(s) into an XPN field ; 12 Jun 2003 4:27 PM "RTN","MAG7UFO",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7UFO",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UFO",4,0) ;; | Property of the US Government. | "RTN","MAG7UFO",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7UFO",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7UFO",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7UFO",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7UFO",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7UFO",10,0) ;; | | "RTN","MAG7UFO",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7UFO",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7UFO",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7UFO",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7UFO",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7UFO",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UFO",17,0) ;; "RTN","MAG7UFO",18,0) Q "RTN","MAG7UFO",19,0) ; "RTN","MAG7UFO",20,0) NPFON(XFLD,XIEN) ; FUNCTION - populate NEW PERSON phone(s) into an XPN field "RTN","MAG7UFO",21,0) ; "RTN","MAG7UFO",22,0) ; Input: XFLD name of array into which to populate "RTN","MAG7UFO",23,0) ; (see MAG7UP for structure) "RTN","MAG7UFO",24,0) ; XIEN internal entry number on ^VA(200) "RTN","MAG7UFO",25,0) ; "RTN","MAG7UFO",26,0) ; Expects: Fileman variables from call to DI or Kernel "RTN","MAG7UFO",27,0) ; "RTN","MAG7UFO",28,0) ; function return: error status (default = '0', false) "RTN","MAG7UFO",29,0) ; "RTN","MAG7UFO",30,0) N FGET ; --- GET return (discarded) "RTN","MAG7UFO",31,0) N FEXIT ; -- exit status flag "RTN","MAG7UFO",32,0) N NPFON ; -- array for return of phone numbers "RTN","MAG7UFO",33,0) N IFON ; --- index for NPFON array "RTN","MAG7UFO",34,0) N ILOOP ; -- loop index "RTN","MAG7UFO",35,0) N PHN ; ---- the actual phone number "RTN","MAG7UFO",36,0) N IREP ; --- repetition index for XFLD "RTN","MAG7UFO",37,0) ; "RTN","MAG7UFO",38,0) S FEXIT=0 ; default no error "RTN","MAG7UFO",39,0) I $G(XFLD)="" D Q FEXIT "RTN","MAG7UFO",40,0) . S FEXIT="-1;valid array not provided" "RTN","MAG7UFO",41,0) . Q "RTN","MAG7UFO",42,0) E I '$G(XIEN) D Q FEXIT "RTN","MAG7UFO",43,0) . S FEXIT="-2;valid NEW PERSON IEN not provided" "RTN","MAG7UFO",44,0) . Q "RTN","MAG7UFO",45,0) D GETS^DIQ(200,XIEN,".131;.132;.133;.134;.135;.136;.137;.138","","NPFON") "RTN","MAG7UFO",46,0) F ILOOP=1:1:8 D "RTN","MAG7UFO",47,0) . S IFON=ILOOP/1000+.13,PHN=$G(NPFON(200,XIEN_",",IFON)) "RTN","MAG7UFO",48,0) . I PHN]"" D "RTN","MAG7UFO",49,0) . . S IREP=$O(@XFLD@(" "),-1)+1 "RTN","MAG7UFO",50,0) . . S @XFLD@(IREP,1,1)=PHN "RTN","MAG7UFO",51,0) . . S @XFLD@(IREP,2,1)=$P("PRN^WPN^^^^^BPN^BPN","^",ILOOP) "RTN","MAG7UFO",52,0) . . S @XFLD@(IREP,3,1)=$P("PH^PH^PH^PH^PH^FX^BP^BP","^",ILOOP) "RTN","MAG7UFO",53,0) . . Q "RTN","MAG7UFO",54,0) . Q "RTN","MAG7UFO",55,0) Q FEXIT "RTN","MAG7UM") 0^7^B23964940 "RTN","MAG7UM",1,0) MAG7UM ;WOIFO/MLH - Imaging - HL7 - utilities - make a message from a parse tree "RTN","MAG7UM",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7UM",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UM",4,0) ;; | Property of the US Government. | "RTN","MAG7UM",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7UM",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7UM",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7UM",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7UM",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7UM",10,0) ;; | | "RTN","MAG7UM",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7UM",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7UM",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7UM",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7UM",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7UM",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UM",17,0) ;; "RTN","MAG7UM",18,0) ; "RTN","MAG7UM",19,0) Q "RTN","MAG7UM",20,0) ; "RTN","MAG7UM",21,0) MAKE(XTREE,XMSG) ; make a parse tree into an array of message lines "RTN","MAG7UM",22,0) ; "RTN","MAG7UM",23,0) ; INPUT: XTREE The name of the parse tree ($NA format) "RTN","MAG7UM",24,0) ; Parse tree structure: "RTN","MAG7UM",25,0) ; @XTREE@(NSEG,0) segment name "RTN","MAG7UM",26,0) ; @XTREE@(NSEG,NFLD,NREP,NCMP,NSCM) element data "RTN","MAG7UM",27,0) ; @XTREE@("B",SEGID,NSEG) null "RTN","MAG7UM",28,0) ; "RTN","MAG7UM",29,0) ; XMSG The name of a single-dimensional array to be populated "RTN","MAG7UM",30,0) ; with message lines ($NA format). This array is "RTN","MAG7UM",31,0) ; cleared on invocation. "RTN","MAG7UM",32,0) ; "RTN","MAG7UM",33,0) ; OUTPUT: XMSG The array after being populated with message lines "RTN","MAG7UM",34,0) ; "RTN","MAG7UM",35,0) N UFS,UCS,URS,UEC,USS ;---------------- HL7 delimiters (universal) "RTN","MAG7UM",36,0) N X,I ; --------------------------------- scratch var "RTN","MAG7UM",37,0) N ERR ; ------------------------------- error flag "RTN","MAG7UM",38,0) N ENC ; ------------------------------- encoding characters string "RTN","MAG7UM",39,0) N NSEG ; ------------------------------ segment number in the parse tree "RTN","MAG7UM",40,0) N NMSEG ; ----------------------------- segment number in the message "RTN","MAG7UM",41,0) N IMSG ; ------------------------------ message array index "RTN","MAG7UM",42,0) N SEG ; ------------------------------- segment data "RTN","MAG7UM",43,0) N NFLD ; ------------------------------ field number in the segment "RTN","MAG7UM",44,0) N FLD ; ------------------------------- field data "RTN","MAG7UM",45,0) ; "RTN","MAG7UM",46,0) K @XMSG ; refresh target array "RTN","MAG7UM",47,0) ; process MSH segment "RTN","MAG7UM",48,0) Q:$D(@XTREE)<10 -1 ; parse tree sent? "RTN","MAG7UM",49,0) S NSEG=$O(@XTREE@("")),NMSEG=1 "RTN","MAG7UM",50,0) Q:$G(@XTREE@(NSEG,0))'="MSH" -2 ; an HL7 message? "RTN","MAG7UM",51,0) Q:$D(@XTREE@(NSEG,9,1,1,1))#10=0 -3 ; message type provided? "RTN","MAG7UM",52,0) ; get delimiters or define defaults "RTN","MAG7UM",53,0) S UFS=$G(@XTREE@(NSEG,1,1,1,1)) I $L(UFS)-1 S UFS="|" "RTN","MAG7UM",54,0) S ENC=$G(@XTREE@(NSEG,2,1,1,1)) I $L(ENC)-4 S ENC="^~\&" "RTN","MAG7UM",55,0) S UCS=$E(ENC),URS=$E(ENC,2),UEC=$E(ENC,3),USS=$E(ENC,4) "RTN","MAG7UM",56,0) I $D(@XTREE@(NSEG,3,1,1,1))#10=0 S @XTREE@(1,3,1,1,1)="VistA Imaging" "RTN","MAG7UM",57,0) D NOW^%DTC S @XTREE@(NSEG,7,1,1,1)=%*1000000+17000000000000 "RTN","MAG7UM",58,0) I $D(@XTREE@(NSEG,10,1,1,1))#10=0 D "RTN","MAG7UM",59,0) . S X="" "RTN","MAG7UM",60,0) . F I=1:1:16 S X=X_$E("0123456789ABCDEF",$R(16)+1) "RTN","MAG7UM",61,0) . S @XTREE@(NSEG,10,1,1,1)=X "RTN","MAG7UM",62,0) . Q "RTN","MAG7UM",63,0) I $D(@XTREE@(NSEG,11,1,1,1))#10=0 S @XTREE@(NSEG,11,1,1,1)="D" "RTN","MAG7UM",64,0) I $D(@XTREE@(NSEG,12,1,1,1))#10=0 S @XTREE@(NSEG,12,1,1,1)="2.3.1" "RTN","MAG7UM",65,0) S SEG="MSH"_UFS_ENC "RTN","MAG7UM",66,0) S NFLD=2 "RTN","MAG7UM",67,0) F S NFLD=$O(@XTREE@(NSEG,NFLD)) Q:NFLD="" D PROCFLD(XTREE,NSEG,NFLD,.SEG) "RTN","MAG7UM",68,0) S @XMSG@(NMSEG)=SEG "RTN","MAG7UM",69,0) F S NSEG=$O(@XTREE@(NSEG)) Q:'NSEG D "RTN","MAG7UM",70,0) . K SEG "RTN","MAG7UM",71,0) . S NMSEG=NMSEG+1 "RTN","MAG7UM",72,0) . S NFLD=0 "RTN","MAG7UM",73,0) . F S NFLD=$O(@XTREE@(NSEG,NFLD)) Q:NFLD="" D PROCFLD(XTREE,NSEG,NFLD,.SEG) "RTN","MAG7UM",74,0) . S @XMSG@(NMSEG)=$G(@XTREE@(NSEG,0))_$S($G(SEG)]"":UFS_SEG,1:"") "RTN","MAG7UM",75,0) . Q "RTN","MAG7UM",76,0) Q 0 "RTN","MAG7UM",77,0) ; "RTN","MAG7UM",78,0) PROCFLD(XTREE,XNSEG,XNFLD,XSEG) ; process a field "RTN","MAG7UM",79,0) ; "RTN","MAG7UM",80,0) ; input: XTREE name of MUMPS array for parse tree ($NA format) "RTN","MAG7UM",81,0) ; XNSEG segment number for parse tree "RTN","MAG7UM",82,0) ; XNFLD field number for parse tree "RTN","MAG7UM",83,0) ; .XSEG segment before addition of field "RTN","MAG7UM",84,0) ; "RTN","MAG7UM",85,0) ; output: .XSEG segment after addition of field "RTN","MAG7UM",86,0) ; "RTN","MAG7UM",87,0) N NREP ; ---- repetition (occurrence) number "RTN","MAG7UM",88,0) N REP ; ----- repetition data "RTN","MAG7UM",89,0) N NCMP ; ---- component number "RTN","MAG7UM",90,0) N CMP ; ----- component data "RTN","MAG7UM",91,0) N NSCM ; ---- subcomponent number "RTN","MAG7UM",92,0) N SCM ; ----- subcomponent data "RTN","MAG7UM",93,0) N FLD ; ----- field data "RTN","MAG7UM",94,0) ; "RTN","MAG7UM",95,0) S NREP="" "RTN","MAG7UM",96,0) F S NREP=$O(@XTREE@(XNSEG,XNFLD,NREP)) Q:NREP="" D "RTN","MAG7UM",97,0) . K REP "RTN","MAG7UM",98,0) . S NCMP="" "RTN","MAG7UM",99,0) . F S NCMP=$O(@XTREE@(XNSEG,XNFLD,NREP,NCMP)) Q:NCMP="" D "RTN","MAG7UM",100,0) . . K CMP "RTN","MAG7UM",101,0) . . S NSCM="" "RTN","MAG7UM",102,0) . . F S NSCM=$O(@XTREE@(XNSEG,XNFLD,NREP,NCMP,NSCM)) Q:NSCM="" D "RTN","MAG7UM",103,0) . . . S SCM=@XTREE@(XNSEG,XNFLD,NREP,NCMP,NSCM) "RTN","MAG7UM",104,0) . . . S $P(CMP,USS,NSCM)=$$ESC(.SCM) "RTN","MAG7UM",105,0) . . . Q "RTN","MAG7UM",106,0) . . S $P(REP,UCS,NCMP)=CMP "RTN","MAG7UM",107,0) . . Q "RTN","MAG7UM",108,0) . S $P(FLD,URS,NREP)=REP "RTN","MAG7UM",109,0) . Q "RTN","MAG7UM",110,0) S $P(XSEG,UFS,NFLD)=$G(FLD) "RTN","MAG7UM",111,0) Q "RTN","MAG7UM",112,0) ; "RTN","MAG7UM",113,0) ESC(XDTA) ;apply escape sequence to data "RTN","MAG7UM",114,0) ; Insert an intermediate token, then expand the intermediate token to "RTN","MAG7UM",115,0) ; the real escape sequence. (We have to do 2 steps because the escape "RTN","MAG7UM",116,0) ; sequence uses the escape character.) "RTN","MAG7UM",117,0) F Q:XDTA'[UFS S XDTA=$P(XDTA,UFS)_$C(1)_$P(XDTA,UFS,2,999) "RTN","MAG7UM",118,0) F Q:XDTA'[UCS S XDTA=$P(XDTA,UCS)_$C(2)_$P(XDTA,UCS,2,999) "RTN","MAG7UM",119,0) F Q:XDTA'[URS S XDTA=$P(XDTA,URS)_$C(3)_$P(XDTA,URS,2,999) "RTN","MAG7UM",120,0) F Q:XDTA'[UEC S XDTA=$P(XDTA,UEC)_$C(4)_$P(XDTA,UEC,2,999) "RTN","MAG7UM",121,0) F Q:XDTA'[USS S XDTA=$P(XDTA,USS)_$C(5)_$P(XDTA,USS,2,999) "RTN","MAG7UM",122,0) F Q:XDTA'[$C(1) S XDTA=$P(XDTA,$C(1))_UEC_"F"_UEC_$P(XDTA,$C(1),2,999) "RTN","MAG7UM",123,0) F Q:XDTA'[$C(2) S XDTA=$P(XDTA,$C(2))_UEC_"S"_UEC_$P(XDTA,$C(2),2,999) "RTN","MAG7UM",124,0) F Q:XDTA'[$C(3) S XDTA=$P(XDTA,$C(3))_UEC_"R"_UEC_$P(XDTA,$C(3),2,999) "RTN","MAG7UM",125,0) F Q:XDTA'[$C(4) S XDTA=$P(XDTA,$C(4))_UEC_"E"_UEC_$P(XDTA,$C(4),2,999) "RTN","MAG7UM",126,0) F Q:XDTA'[$C(5) S XDTA=$P(XDTA,$C(5))_UEC_"T"_UEC_$P(XDTA,$C(5),2,999) "RTN","MAG7UM",127,0) Q XDTA "RTN","MAG7UP") 0^8^B35142908 "RTN","MAG7UP",1,0) MAG7UP ;WOIFO/MLH - Imaging - HL7 - utilities - break out message into a parse tree ; 04/09/2004 13:27 "RTN","MAG7UP",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAG7UP",3,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UP",4,0) ;; | Property of the US Government. | "RTN","MAG7UP",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAG7UP",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAG7UP",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAG7UP",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAG7UP",9,0) ;; | telephone (301) 734-0100. | "RTN","MAG7UP",10,0) ;; | | "RTN","MAG7UP",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAG7UP",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAG7UP",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAG7UP",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAG7UP",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAG7UP",16,0) ;; +---------------------------------------------------------------+ "RTN","MAG7UP",17,0) ;; "RTN","MAG7UP",18,0) ; "RTN","MAG7UP",19,0) Q "RTN","MAG7UP",20,0) ; "RTN","MAG7UP",21,0) PARSE(XMSG,XTREE) ; break the HL7 message lines into a parse tree "RTN","MAG7UP",22,0) ; "RTN","MAG7UP",23,0) ; INPUT: The single-dimensional array of message lines "RTN","MAG7UP",24,0) ; "RTN","MAG7UP",25,0) ; OUTPUT: The parse tree, in the structure "RTN","MAG7UP",26,0) ; @XTREE@(NSEG,0) segment name "RTN","MAG7UP",27,0) ; @XTREE@(NSEG,NFLD,NREP,NCMP,NSCM) element data "RTN","MAG7UP",28,0) ; @XTREE@("B",SEGID,NSEG) null "RTN","MAG7UP",29,0) ; "RTN","MAG7UP",30,0) N I,J,K,L,M,X,Z ; --------------------- scratch vars "RTN","MAG7UP",31,0) N IMSG ; ------------------------------ message array index "RTN","MAG7UP",32,0) N ISUBSEG ; --------------------------- index of continuation data for long segs "RTN","MAG7UP",33,0) N ISUCC ; ----------------------------- successor element index "RTN","MAG7UP",34,0) N FERR ; ------------------------------ error flag "RTN","MAG7UP",35,0) N SEG ; ------------------------------- segment data "RTN","MAG7UP",36,0) N SEGTAG ; ---------------------------- segment ID ("0th" piece) "RTN","MAG7UP",37,0) N UFS,UCS,URS,UEC,USS ;---------------- HL7 delimiters (universal) "RTN","MAG7UP",38,0) N ENC ;-------------------------------- HL7 encoding characters "RTN","MAG7UP",39,0) N UFSESC,UCSESC,URSESC,UECESC,USSESC ;- HL7 escape sequences for delimiters (universal) "RTN","MAG7UP",40,0) N PATTERN ; --------------------------- pattern match for spanned record "RTN","MAG7UP",41,0) N NSEG ; ------------------------------ segment number in the parse tree "RTN","MAG7UP",42,0) N NSEGINPT ; -------------------------- segment number of input HL7 data "RTN","MAG7UP",43,0) N NFLD ; ------------------------------ field number in the segment "RTN","MAG7UP",44,0) N FLD ; ------------------------------- field data "RTN","MAG7UP",45,0) ; "RTN","MAG7UP",46,0) S FERR=0 ; assume no error "RTN","MAG7UP",47,0) S IMSG="" "RTN","MAG7UP",48,0) ; "RTN","MAG7UP",49,0) ; process MSH segment "RTN","MAG7UP",50,0) ; If there's a message problem, return it in an NTE segment. "RTN","MAG7UP",51,0) ; "RTN","MAG7UP",52,0) S IMSG=$O(@XMSG@(IMSG)) ; array sent? "RTN","MAG7UP",53,0) I IMSG="" D Q FERR ; no "RTN","MAG7UP",54,0) . S FERR=-1 "RTN","MAG7UP",55,0) . ; have to use default field separator "RTN","MAG7UP",56,0) . S @XMSG@(0)="NTE|1||"_FERR_";no input array found" "RTN","MAG7UP",57,0) . Q "RTN","MAG7UP",58,0) S SEG=$G(@XMSG@(IMSG)) Q:$E(SEG,1,3)'="MSH" -2 ; an HL7 message? "RTN","MAG7UP",59,0) I $E(SEG,1,3)'="MSH" D Q FERR ; no "RTN","MAG7UP",60,0) . S FERR=-2 "RTN","MAG7UP",61,0) . S ISUCC=$O(@XMSG@(IMSG)) S:'ISUCC ISUCC=IMSG+1 "RTN","MAG7UP",62,0) . ; have to use default field separator "RTN","MAG7UP",63,0) . S @XMSG@(IMSG+ISUCC/2)="NTE|1||"_FERR_";invalid HL7 message (1st 3 chars must be MSH)" "RTN","MAG7UP",64,0) . Q "RTN","MAG7UP",65,0) ; "RTN","MAG7UP",66,0) ; set up delimiters and escape sequences "RTN","MAG7UP",67,0) S UFS=$E(SEG,4),@XTREE@(1,1,1,1,1)=UFS "RTN","MAG7UP",68,0) S ENC=$P(SEG,UFS,2),@XTREE@(1,2,1,1,1)=ENC "RTN","MAG7UP",69,0) S UCS=$E(ENC),URS=$E(ENC,2),UEC=$E(ENC,3),USS=$E(ENC,4) "RTN","MAG7UP",70,0) S UFSESC=UEC_"F"_UEC,UCSESC=UEC_"S"_UEC,URSESC=UEC_"S"_UEC,UECESC=UEC_"E"_UEC,USSESC=UEC_"T"_UEC "RTN","MAG7UP",71,0) S PATTERN="1A2AN1"""_UFS_"""" "RTN","MAG7UP",72,0) S @XTREE@(1,0)="MSH",@XTREE@("B","MSH",1)="" "RTN","MAG7UP",73,0) F NFLD=3:1:$L(SEG,UFS) S FLD=$P(SEG,UFS,NFLD) D "RTN","MAG7UP",74,0) . I FLD]"" D PROCFLD(XTREE,1,NFLD,FLD) "RTN","MAG7UP",75,0) . Q "RTN","MAG7UP",76,0) ; process the remaining segments "RTN","MAG7UP",77,0) S SEG="" ; SEG will be a concatenated series of spanned records "RTN","MAG7UP",78,0) S NSEG=2 ; next segment in the parse tree will be #2 "RTN","MAG7UP",79,0) F NSEGINPT=2:1 S IMSG=$O(@XMSG@(IMSG)) Q:IMSG="" D Q:FERR "RTN","MAG7UP",80,0) . S SEG=$G(@XMSG@(IMSG)) Q:SEG="" "RTN","MAG7UP",81,0) . S ISUBSEG="" ; prepare to handle very long HL7 segments (up to 32K) "RTN","MAG7UP",82,0) . F S ISUBSEG=$O(@XMSG@(IMSG,ISUBSEG)) Q:ISUBSEG="" D "RTN","MAG7UP",83,0) . . S SEG=SEG_$G(@XMSG@(IMSG,ISUBSEG)) "RTN","MAG7UP",84,0) . . Q "RTN","MAG7UP",85,0) . S SEGTAG=$P(SEG,UFS) I SEGTAG'?1U2.3UN S FERR=-3 Q "RTN","MAG7UP",86,0) . S @XTREE@(NSEG,0)=SEGTAG,@XTREE@("B",SEGTAG,NSEG)="" "RTN","MAG7UP",87,0) . F NFLD=2:1:$L(SEG,UFS) D "RTN","MAG7UP",88,0) . . S FLD=$P(SEG,UFS,NFLD) "RTN","MAG7UP",89,0) . . I FLD]"" D PROCFLD(XTREE,NSEG,NFLD-1,FLD) "RTN","MAG7UP",90,0) . . Q "RTN","MAG7UP",91,0) . S SEG="" ; reinitialize SEG for the next possible concatenation "RTN","MAG7UP",92,0) . S NSEG=NSEG+1 ; increment counter for next segment in the parse tree "RTN","MAG7UP",93,0) . Q "RTN","MAG7UP",94,0) Q FERR "RTN","MAG7UP",95,0) ; "RTN","MAG7UP",96,0) PROCFLD(XTREE,XNSEG,XNFLD,XFLD) ; process a field "RTN","MAG7UP",97,0) ; "RTN","MAG7UP",98,0) ; input: XTREE name of MUMPS array for parse tree ($NA format) "RTN","MAG7UP",99,0) ; XNSEG segment number for parse tree "RTN","MAG7UP",100,0) ; XNFLD field number for parse tree "RTN","MAG7UP",101,0) ; XFLD field data "RTN","MAG7UP",102,0) ; "RTN","MAG7UP",103,0) N SG ; ------ segment name "RTN","MAG7UP",104,0) N NREP ; ---- repetition (occurrence) number "RTN","MAG7UP",105,0) N REP ; ----- repetition data "RTN","MAG7UP",106,0) N NCMP ; ---- component number "RTN","MAG7UP",107,0) N CMP ; ----- component data "RTN","MAG7UP",108,0) N NSCM ; ---- subcomponent number "RTN","MAG7UP",109,0) N SCM ; ----- subcomponent data "RTN","MAG7UP",110,0) ; "RTN","MAG7UP",111,0) S SG=@XTREE@(XNSEG,0) "RTN","MAG7UP",112,0) ; Per DICOM meeting 2004-02-24, reaffirmed that data may need to be "RTN","MAG7UP",113,0) ; retrieved above the subcomponent level, and that those data will "RTN","MAG7UP",114,0) ; need to be deescaped because the receiving application won't have "RTN","MAG7UP",115,0) ; access to the delimiters from the original message. "RTN","MAG7UP",116,0) S @XTREE@(XNSEG,XNFLD)=$$DEESC(XFLD) "RTN","MAG7UP",117,0) ; "RTN","MAG7UP",118,0) ; Break out to the lowest delimiter level too. This is not strictly an "RTN","MAG7UP",119,0) ; HL7 parse because it does not take actual HL7 (or realm constraining) "RTN","MAG7UP",120,0) ; data types into account. "RTN","MAG7UP",121,0) ; "RTN","MAG7UP",122,0) F NREP=1:1:$L(XFLD,URS) S REP=$P(XFLD,URS,NREP) I REP]"" D "RTN","MAG7UP",123,0) . F NCMP=1:1:$L(REP,UCS) S CMP=$P(REP,UCS,NCMP) I CMP]"" D "RTN","MAG7UP",124,0) . . ; Per DICOM meeting 2004-02-24, reaffirmed that data may need to be "RTN","MAG7UP",125,0) . . ; retrieved above the subcomponent level, and that those data will "RTN","MAG7UP",126,0) . . ; need to be deescaped because the receiving application won't have "RTN","MAG7UP",127,0) . . ; access to the delimiters from the original message. "RTN","MAG7UP",128,0) . . S @XTREE@(XNSEG,XNFLD,NREP,NCMP)=$$DEESC(CMP) "RTN","MAG7UP",129,0) . . F NSCM=1:1:$L(CMP,USS) S SCM=$P(CMP,USS,NSCM) I SCM]"" D "RTN","MAG7UP",130,0) . . . S @XTREE@(XNSEG,XNFLD,NREP,NCMP,NSCM)=$$DEESC(SCM) "RTN","MAG7UP",131,0) . . . Q "RTN","MAG7UP",132,0) . . Q "RTN","MAG7UP",133,0) . Q "RTN","MAG7UP",134,0) Q "RTN","MAG7UP",135,0) ; "RTN","MAG7UP",136,0) DEESC(XSCM) ; replace escape sequences with delimiter characters "RTN","MAG7UP",137,0) ; "RTN","MAG7UP",138,0) ; input: XSCM element data before replacement "RTN","MAG7UP",139,0) ; "RTN","MAG7UP",140,0) ; expects: UFSESC, UCSESC, URSESC, UECESC, USSESC "RTN","MAG7UP",141,0) ; delimiter escape sequences "RTN","MAG7UP",142,0) ; "RTN","MAG7UP",143,0) ; function return: element data after replacement "RTN","MAG7UP",144,0) ; "RTN","MAG7UP",145,0) N HIT ; need another pass after each hit "RTN","MAG7UP",146,0) F D Q:'$D(HIT) "RTN","MAG7UP",147,0) . K HIT "RTN","MAG7UP",148,0) . I XSCM[UFSESC S XSCM=$P(XSCM,UFSESC)_UFS_$P(XSCM,UFSESC,2,99999),HIT=1 "RTN","MAG7UP",149,0) . I XSCM[UCSESC S XSCM=$P(XSCM,UCSESC)_UCS_$P(XSCM,UCSESC,2,99999),HIT=1 "RTN","MAG7UP",150,0) . I XSCM[URSESC S XSCM=$P(XSCM,URSESC)_URS_$P(XSCM,URSESC,2,99999),HIT=1 "RTN","MAG7UP",151,0) . I XSCM[UECESC S XSCM=$P(XSCM,UECESC)_UEC_$P(XSCM,UECESC,2,99999),HIT=1 "RTN","MAG7UP",152,0) . I XSCM[USSESC S XSCM=$P(XSCM,USSESC)_USS_$P(XSCM,USSESC,2,99999),HIT=1 "RTN","MAG7UP",153,0) . Q "RTN","MAG7UP",154,0) Q $E(XSCM,1,510) "RTN","MAG7UP",155,0) ; "RTN","MAGBRTE3") 0^9^B17206043 "RTN","MAGBRTE3",1,0) MAGBRTE3 ;WOIFO/EdM - Find value of variable ; 03/08/2004 11:12 "RTN","MAGBRTE3",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGBRTE3",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTE3",4,0) ;; | Property of the US Government. | "RTN","MAGBRTE3",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGBRTE3",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGBRTE3",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGBRTE3",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGBRTE3",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGBRTE3",10,0) ;; | | "RTN","MAGBRTE3",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGBRTE3",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGBRTE3",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGBRTE3",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGBRTE3",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGBRTE3",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTE3",17,0) ;; "RTN","MAGBRTE3",18,0) Q "RTN","MAGBRTE3",19,0) ; "RTN","MAGBRTE3",20,0) ; The subroutines in this routine calculate the values for "RTN","MAGBRTE3",21,0) ; certain variables that may be needed for the "routing rule processor" "RTN","MAGBRTE3",22,0) ; "RTN","MAGBRTE3",23,0) ; Entry DICOM is the generic value finder that looks for values "RTN","MAGBRTE3",24,0) ; in the data structure that describes an image file. "RTN","MAGBRTE3",25,0) ; The other entries deal with other (computed) values. "RTN","MAGBRTE3",26,0) ; "RTN","MAGBRTE3",27,0) ; The value is always returned in output parameter VAL. "RTN","MAGBRTE3",28,0) ; Note that this variable needs to be an output parameter, "RTN","MAGBRTE3",29,0) ; because in some cases an "undefined value" needs to be returned, "RTN","MAGBRTE3",30,0) ; and in some cases, multiple values may need to be returned. "RTN","MAGBRTE3",31,0) ; "RTN","MAGBRTE3",32,0) DICOM(NAME,TYPE,VAL) N C,I,N,X "RTN","MAGBRTE3",33,0) ; "RTN","MAGBRTE3",34,0) ; Arbitrary decision: the routine stops when the first occurence "RTN","MAGBRTE3",35,0) ; of a value is found. "RTN","MAGBRTE3",36,0) ; Should we continue until we find all codes that have values? "RTN","MAGBRTE3",37,0) ; "RTN","MAGBRTE3",38,0) S C="" F S C=$O(KEYWORD("CONDITION",NAME,C)) Q:C="" D Q:$D(VAL) "RTN","MAGBRTE3",39,0) . Q:'$D(^TMP("MAG",$J,"DICOM",TYPE,C)) "RTN","MAGBRTE3",40,0) . S (I,N)=0 F S N=$O(^TMP("MAG",$J,"DICOM",TYPE,C,N)) Q:N="" D "RTN","MAGBRTE3",41,0) . . S X=$G(^TMP("MAG",$J,"DICOM",TYPE,C,N,1),"") Q:X="" "RTN","MAGBRTE3",42,0) . . S I=I+1,N(I)=X "RTN","MAGBRTE3",43,0) . . Q "RTN","MAGBRTE3",44,0) . Q:'I "RTN","MAGBRTE3",45,0) . I I=1 S VAL=N(1) Q "RTN","MAGBRTE3",46,0) . F N=1:1:I S VAL(N)=N(N) "RTN","MAGBRTE3",47,0) . Q "RTN","MAGBRTE3",48,0) Q "RTN","MAGBRTE3",49,0) ; "RTN","MAGBRTE3",50,0) NOW(VAL) N %,DISYS,X "RTN","MAGBRTE3",51,0) D DT^DICRW "RTN","MAGBRTE3",52,0) S VAL=$P("THU FRI SAT SUN MON TUE WED"," ",$H#7+1)_" "_% "RTN","MAGBRTE3",53,0) Q "RTN","MAGBRTE3",54,0) ; "RTN","MAGBRTE3",55,0) SOURCE(IMAGE,VAL) N X "RTN","MAGBRTE3",56,0) S X=$P($G(^MAG(2005,IMAGE,100)),"^",3) "RTN","MAGBRTE3",57,0) S:'X X=$G(DUZ(2)) "RTN","MAGBRTE3",58,0) S:'X X=$$KSP^XUPARAM("INST") "RTN","MAGBRTE3",59,0) S VAL=$$GET1^DIQ(4,+X,.01) "RTN","MAGBRTE3",60,0) Q "RTN","MAGBRTE3",61,0) ; "RTN","MAGBRTE3",62,0) MAG(IMAGE,TYPE,NODE,PIECE,VAL) N D0,D1,PARENT,X "RTN","MAGBRTE3",63,0) ; First look in the image itself, "RTN","MAGBRTE3",64,0) ; then in its parent (if any) "RTN","MAGBRTE3",65,0) ; then in any siblings. "RTN","MAGBRTE3",66,0) ; Return the first value found. "RTN","MAGBRTE3",67,0) ; "RTN","MAGBRTE3",68,0) K VAL "RTN","MAGBRTE3",69,0) S X=$P($G(^MAG(2005,IMAGE,NODE)),"^",PIECE) I X'="" S VAL=X D:$D(VAL) MAGX Q "RTN","MAGBRTE3",70,0) ; "RTN","MAGBRTE3",71,0) S PARENT=$P($G(^MAG(2005,IMAGE,0)),"^",10) Q:PARENT="" "RTN","MAGBRTE3",72,0) S X=$P($G(^MAG(2005,PARENT,NODE)),"^",PIECE) I X'="" S VAL=X D:$D(VAL) MAGX Q "RTN","MAGBRTE3",73,0) ; "RTN","MAGBRTE3",74,0) S D1=0 F S D1=$O(^MAG(2005,IMAGE,1,D1)) Q:'D1 D Q:$D(VAL) "RTN","MAGBRTE3",75,0) . S D0=$G(^MAG(2005,IMAGE,1,D1,1)) Q:'D0 "RTN","MAGBRTE3",76,0) . S X=$P($G(^MAG(2005,D0,NODE)),"^",PIECE) I X'="" S VAL=X Q "RTN","MAGBRTE3",77,0) . Q "RTN","MAGBRTE3",78,0) D:$D(VAL) MAGX "RTN","MAGBRTE3",79,0) Q "RTN","MAGBRTE3",80,0) ; "RTN","MAGBRTE3",81,0) MAGX I TYPE=0 Q "RTN","MAGBRTE3",82,0) I (TYPE=2005.02)!(TYPE=2005.03)!(TYPE=2005.81)!(TYPE=2005.2) D Q "RTN","MAGBRTE3",83,0) . S X=$P($G(^MAG(TYPE,+VAL,0)),"^",1) K VAL S:X'="" VAL=X "RTN","MAGBRTE3",84,0) . Q "RTN","MAGBRTE3",85,0) I TYPE=2 D Q "RTN","MAGBRTE3",86,0) . S X=$P($G(^DPT(+VAL,0)),"^",1) K VAL S:X'="" VAL=X ; IA 10035 "RTN","MAGBRTE3",87,0) . Q "RTN","MAGBRTE3",88,0) I TYPE=200 D Q "RTN","MAGBRTE3",89,0) . S X=$$GET1^DIQ(200,+VAL,.01) K VAL S:X'="" VAL=X ; IA 10060 "RTN","MAGBRTE3",90,0) . Q "RTN","MAGBRTE3",91,0) I TYPE=44 D Q "RTN","MAGBRTE3",92,0) . S X=$P($G(^SC(+VAL,0)),"^",1) K VAL S:X'="" VAL=X ; IA 10040 "RTN","MAGBRTE3",93,0) . Q "RTN","MAGBRTE3",94,0) I TYPE=71 D Q "RTN","MAGBRTE3",95,0) . S X=$P($G(^RAMIS(71,+VAL,0)),"^",1) K VAL S:X'="" VAL=X ; IA 1174 "RTN","MAGBRTE3",96,0) . Q "RTN","MAGBRTE3",97,0) I TYPE=74 D Q "RTN","MAGBRTE3",98,0) . S X=$P($G(^RARPT(+VAL,0)),"^",1) K VAL S:X'="" VAL=X ; IA 1171 "RTN","MAGBRTE3",99,0) . Q "RTN","MAGBRTE3",100,0) Q "RTN","MAGBRTE3",101,0) ; "RTN","MAGBRTE3",102,0) DATE(IMAGE,TYPE,NODE,PIECE,WHEN,VAL) N D0,D1,FIRST,LAST,PARENT,X "RTN","MAGBRTE3",103,0) ; First look in the image itself, "RTN","MAGBRTE3",104,0) ; then in its parent (if any) "RTN","MAGBRTE3",105,0) ; then in any siblings. "RTN","MAGBRTE3",106,0) ; Return the first value found. "RTN","MAGBRTE3",107,0) ; "RTN","MAGBRTE3",108,0) K VAL "RTN","MAGBRTE3",109,0) I WHEN=0 D MAG(IMAGE,TYPE,NODE,PIECE,.VAL) Q "RTN","MAGBRTE3",110,0) ; "RTN","MAGBRTE3",111,0) S X=$P($G(^MAG(2005,IMAGE,NODE)),"^",PIECE) I X'="" S X(X)="" "RTN","MAGBRTE3",112,0) ; "RTN","MAGBRTE3",113,0) S PARENT=$P($G(^MAG(2005,IMAGE,0)),"^",10) Q:PARENT="" "RTN","MAGBRTE3",114,0) S X=$P($G(^MAG(2005,PARENT,NODE)),"^",PIECE) I X'="" S X(X)="" "RTN","MAGBRTE3",115,0) ; "RTN","MAGBRTE3",116,0) S D1=0 F S D1=$O(^MAG(2005,IMAGE,1,D1)) Q:'D1 D "RTN","MAGBRTE3",117,0) . S D0=$G(^MAG(2005,IMAGE,1,D1,1)) Q:'D0 "RTN","MAGBRTE3",118,0) . S X=$P($G(^MAG(2005,D0,NODE)),"^",PIECE) I X'="" S X(X)="" "RTN","MAGBRTE3",119,0) . Q "RTN","MAGBRTE3",120,0) ; "RTN","MAGBRTE3",121,0) I WHEN=1 S VAL=$O(X(""),+1) "RTN","MAGBRTE3",122,0) I WHEN=2 S VAL=$O(X(""),-1) "RTN","MAGBRTE3",123,0) K:VAL="" VAL "RTN","MAGBRTE3",124,0) Q "RTN","MAGBRTE3",125,0) ; "RTN","MAGBRTE3",126,0) URGENCY(IMAGE,VAL) N P "RTN","MAGBRTE3",127,0) S P=$$PRI^MAGBRTE4("NORMAL",IMAGE) "RTN","MAGBRTE3",128,0) S VAL=$S(P=500:"ROUTINE",P=510:"URGENT",P=520:"STAT",1:P) "RTN","MAGBRTE3",129,0) Q "RTN","MAGBRTE3",130,0) ; "RTN","MAGBRTE4") 0^10^B77333155 "RTN","MAGBRTE4",1,0) MAGBRTE4 ;WOIFO/EdM - Process Routing Rule Evaluation Queue ; 02/27/2004 06:53 "RTN","MAGBRTE4",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGBRTE4",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTE4",4,0) ;; | Property of the US Government. | "RTN","MAGBRTE4",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGBRTE4",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGBRTE4",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGBRTE4",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGBRTE4",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGBRTE4",10,0) ;; | | "RTN","MAGBRTE4",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGBRTE4",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGBRTE4",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGBRTE4",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGBRTE4",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGBRTE4",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTE4",17,0) ;; "RTN","MAGBRTE4",18,0) Q "RTN","MAGBRTE4",19,0) ; "RTN","MAGBRTE4",20,0) EVAL ; "RTN","MAGBRTE4",21,0) N ACTIVE ;--- Switch that controls start/stop queue processor "RTN","MAGBRTE4",22,0) N ANY ;------ Flag: processed any rule "RTN","MAGBRTE4",23,0) N CONS ;----- Switch that indicates whether or not site has "consolidated" code "RTN","MAGBRTE4",24,0) ; "RTN","MAGBRTE4",25,0) K ^TMP("MAGEVAL",ZTSK) "RTN","MAGBRTE4",26,0) D LOG("Started at "_$H) "RTN","MAGBRTE4",27,0) D "RTN","MAGBRTE4",28,0) . S CONS=0 "RTN","MAGBRTE4",29,0) . Q:$E($O(^MAG(2006.1," ")),1)="A" "RTN","MAGBRTE4",30,0) . S CONS=1 "RTN","MAGBRTE4",31,0) . Q "RTN","MAGBRTE4",32,0) S PLACE=$S(CONS:$O(^MAG(2006.1,"B",LOCATION,"")),1:1) "RTN","MAGBRTE4",33,0) L +^MAGDICOM(2006.563,1,"EVAL",LOCATION):0 E D Q "RTN","MAGBRTE4",34,0) . D LOG("A rule evaluator is already running for "_$$GET1^DIQ(4,LOCATION,.01)) "RTN","MAGBRTE4",35,0) . Q "RTN","MAGBRTE4",36,0) S ^MAGDICOM(2006.563,1,"EVAL")=1 "RTN","MAGBRTE4",37,0) ; "RTN","MAGBRTE4",38,0) S I="" F S I=$O(RULES(I)) Q:I="" D "RTN","MAGBRTE4",39,0) . N D0,D1,D2,L,Q1 "RTN","MAGBRTE4",40,0) . S X=RULES(I),D0=$P(X,"^",1),Q1=$P(X,"^",2),L=$L(X,"^") "RTN","MAGBRTE4",41,0) . I L=3 S RULE(D0,Q1)=$P(X,"^",3) Q "RTN","MAGBRTE4",42,0) . I Q1="ACTION" S RULE(D0,Q1,$P(X,"^",3))=$P(X,"^",4,L) Q "RTN","MAGBRTE4",43,0) . I Q1'="CONDITION" D LOG("Rule "_D0_" has a qualifier """_Q1_""".") Q "RTN","MAGBRTE4",44,0) . I L=5 S RULE(D0,Q1,$P(X,"^",3),$P(X,"^",4))=$P(X,"^",5) Q "RTN","MAGBRTE4",45,0) . S RULE(D0,Q1,$P(X,"^",3),$P(X,"^",4),$P(X,"^",6),$P(X,"^",5))=$P(X,"^",7) "RTN","MAGBRTE4",46,0) . Q "RTN","MAGBRTE4",47,0) K RULES "RTN","MAGBRTE4",48,0) ; "RTN","MAGBRTE4",49,0) S ACTIVE=1 F D Q:'ACTIVE "RTN","MAGBRTE4",50,0) . S ANY=0 "RTN","MAGBRTE4",51,0) . S ACTIVE=+$G(^MAGDICOM(2006.563,1,"EVAL")) I 'ACTIVE D Q "RTN","MAGBRTE4",52,0) . . D LOG("Stopped at "_$H) "RTN","MAGBRTE4",53,0) . . Q "RTN","MAGBRTE4",54,0) . D "RTN","MAGBRTE4",55,0) . . N IMAGE,QPTR,QPTR2,STATUS,X "RTN","MAGBRTE4",56,0) . . D:'CONS ADD^MAGBAPI(0,"EVAL") "RTN","MAGBRTE4",57,0) . . D:CONS ADD^MAGBAPI(0,"EVAL",PLACE) "RTN","MAGBRTE4",58,0) . . S QPTR2=$O(^MAGQUEUE(2006.031,"B","EVAL","")) "RTN","MAGBRTE4",59,0) . . S QPTR=$S(QPTR2:$P(^MAGQUEUE(2006.031,QPTR2,0),"^",2),1:"") "RTN","MAGBRTE4",60,0) . . ; Get next queue pointer value "RTN","MAGBRTE4",61,0) . . S:'CONS QPTR=$O(^MAGQUEUE(2006.03,"B","EVAL",QPTR)) "RTN","MAGBRTE4",62,0) . . S:CONS QPTR=$O(^MAGQUEUE(2006.03,"C",PLACE,"EVAL",QPTR)) "RTN","MAGBRTE4",63,0) . . I QPTR="" Q ; Nothing to do "RTN","MAGBRTE4",64,0) . . ; "RTN","MAGBRTE4",65,0) . . S X=$G(^MAGQUEUE(2006.03,QPTR,0)) "RTN","MAGBRTE4",66,0) . . ; After an error, sometimes the entry is purged, "RTN","MAGBRTE4",67,0) . . ; but the cross reference is still present. "RTN","MAGBRTE4",68,0) . . ; In such a case, remove the cross reference. "RTN","MAGBRTE4",69,0) . . I X="" D Q "RTN","MAGBRTE4",70,0) . . . K:'CONS ^MAGQUEUE(2006.03,"B","EVAL",QPTR) "RTN","MAGBRTE4",71,0) . . . K:CONS ^MAGQUEUE(2006.03,"C",PLACE,"EVAL",QPTR) "RTN","MAGBRTE4",72,0) . . . Q "RTN","MAGBRTE4",73,0) . . ; "RTN","MAGBRTE4",74,0) . . S IMAGE=$P(X,"^",7),ANY=1 "RTN","MAGBRTE4",75,0) . . I IMAGE,$D(^MAG(2005,IMAGE,0)) D "RTN","MAGBRTE4",76,0) . . . S STATUS=$$RULES() Q:STATUS'<0 "RTN","MAGBRTE4",77,0) . . . I STATUS["NO NETWORK LOCATION" D Q "RTN","MAGBRTE4",78,0) . . . . D LOG("Image "_IMAGE_" has no files associated with it") "RTN","MAGBRTE4",79,0) . . . . Q "RTN","MAGBRTE4",80,0) . . . D LOG("*** EVAL queue error: "_STATUS_" ***") "RTN","MAGBRTE4",81,0) . . . Q "RTN","MAGBRTE4",82,0) . . K ^MAGQUEUE(2006.03,QPTR) "RTN","MAGBRTE4",83,0) . . K:'CONS ^MAGQUEUE(2006.03,"B","EVAL",QPTR) "RTN","MAGBRTE4",84,0) . . K:CONS ^MAGQUEUE(2006.03,"C",PLACE,"EVAL",QPTR) "RTN","MAGBRTE4",85,0) . . S $P(^MAGQUEUE(2006.03,0),"^",4)=$P(^MAGQUEUE(2006.03,0),"^",4)-1 "RTN","MAGBRTE4",86,0) . . Q "RTN","MAGBRTE4",87,0) . H:'ANY 1 "RTN","MAGBRTE4",88,0) . Q "RTN","MAGBRTE4",89,0) L -^MAGDICOM(2006.563,1,"EVAL",LOCATION) "RTN","MAGBRTE4",90,0) Q "RTN","MAGBRTE4",91,0) ; "RTN","MAGBRTE4",92,0) LOG(X) N D,H,I,M,T "RTN","MAGBRTE4",93,0) S I=$O(^TMP("MAGEVAL",ZTSK," "),-1)+1 "RTN","MAGBRTE4",94,0) S D=$P("Thu Fri Sat Sun Mon Tue Wed"," ",$H#7+1) "RTN","MAGBRTE4",95,0) S T=$P($H,",",2),H=T\3600,M=T\60#60 S:H<10 H=0_H S:M<10 M=0_M "RTN","MAGBRTE4",96,0) S ^TMP("MAGEVAL",ZTSK,I)=D_" "_H_":"_M_" "_X "RTN","MAGBRTE4",97,0) Q "RTN","MAGBRTE4",98,0) ; "RTN","MAGBRTE4",99,0) RULES() ; To be called from above "RTN","MAGBRTE4",100,0) ; IMAGE ;---- IEN for image (2005) "RTN","MAGBRTE4",101,0) ; LOCATION ;- Location from which queue entry originates "RTN","MAGBRTE4",102,0) N ACTION ;--- Action to be taken (SEND) "RTN","MAGBRTE4",103,0) N C ;-------- Loop-variable for looping through parameters and conditions "RTN","MAGBRTE4",104,0) N D ;-------- Data type "RTN","MAGBRTE4",105,0) N DS ;------- Data type enclosed in space-characters "RTN","MAGBRTE4",106,0) N F ;-------- ... "RTN","MAGBRTE4",107,0) N METMSG ;--- Message to be issued when rule is evaluated "RTN","MAGBRTE4",108,0) N O ;-------- Operator "RTN","MAGBRTE4",109,0) N OK ;------- Flag: indicates whether or not rule is met "RTN","MAGBRTE4",110,0) N V ;-------- Value for property as specified in rule "RTN","MAGBRTE4",111,0) N VAL ;------ Actual value of property "RTN","MAGBRTE4",112,0) N VRS ;------ String of Queue Entry numbers when rule(s) are met "RTN","MAGBRTE4",113,0) N X ;-------- Scratch variable "RTN","MAGBRTE4",114,0) ; "RTN","MAGBRTE4",115,0) S VRS="" "RTN","MAGBRTE4",116,0) ; "RTN","MAGBRTE4",117,0) D KEYWORD^MAGBRTE5 "RTN","MAGBRTE4",118,0) ; "RTN","MAGBRTE4",119,0) D FILEFIND^MAGDFB(IMAGE,"FULL",0,0,.MAGFILE1) "RTN","MAGBRTE4",120,0) Q:MAGFILE1<0 MAGFILE1 "RTN","MAGBRTE4",121,0) ; "RTN","MAGBRTE4",122,0) S RULE=0 F S RULE=$O(RULE(RULE)) Q:'RULE D "RTN","MAGBRTE4",123,0) . S METMSG=$G(RULE(RULE,"ACTION")) "RTN","MAGBRTE4",124,0) . S X=" (",C=0 F S C=$O(RULE(RULE,"ACTION",C)) Q:'C D "RTN","MAGBRTE4",125,0) . . S METMSG=METMSG_X_$G(RULE(RULE,"ACTION",C)),X=", " "RTN","MAGBRTE4",126,0) . . Q "RTN","MAGBRTE4",127,0) . S:X'=" (" METMSG=METMSG_")" "RTN","MAGBRTE4",128,0) . S OK=1,C=0 F S C=$O(RULE(RULE,"CONDITION",C)) Q:'C D Q:'OK "RTN","MAGBRTE4",129,0) . . S F=$G(RULE(RULE,"CONDITION",C,"KW")) Q:F="" "RTN","MAGBRTE4",130,0) . . S X=$G(KEYWORD("CONDITION",F),"^DICOM^MAGBRTE3(F,""OUT"",.VAL)") "RTN","MAGBRTE4",131,0) . . K VAL D @$P(X,"^",2,9) "RTN","MAGBRTE4",132,0) . . ; If the field is not defined, the test passes... "RTN","MAGBRTE4",133,0) . . Q:$D(VAL)'=1 ; We won't deal with multiple values just yet... "RTN","MAGBRTE4",134,0) . . ; "RTN","MAGBRTE4",135,0) . . S V=$G(RULE(RULE,"CONDITION",C,"VA")) "RTN","MAGBRTE4",136,0) . . S D=$G(RULE(RULE,"CONDITION",C,"DT")) "RTN","MAGBRTE4",137,0) . . S O=$G(RULE(RULE,"CONDITION",C,"OP")) "RTN","MAGBRTE4",138,0) . . S:D="" D="S" "RTN","MAGBRTE4",139,0) . . S DS=" "_D_" " "RTN","MAGBRTE4",140,0) . . D:" S CS DS IS LO LT OB OW PN SH ST "[DS "RTN","MAGBRTE4",141,0) . . . N WILD ;-- Wildcard to be matched "RTN","MAGBRTE4",142,0) . . . S WILD=$$WLDMATCH(VAL,V) "RTN","MAGBRTE4",143,0) . . . I O="=",'WILD S OK=0 Q "RTN","MAGBRTE4",144,0) . . . I O="!=",WILD S OK=0 Q "RTN","MAGBRTE4",145,0) . . . Q "RTN","MAGBRTE4",146,0) . . D:" DT DA TM "[DS "RTN","MAGBRTE4",147,0) . . . Q:O'="=" ; Only "within range" comparisons allowed currently "RTN","MAGBRTE4",148,0) . . . ; "RTN","MAGBRTE4",149,0) . . . N A ;--- Flag: indicates whether at least one time-frame matches "RTN","MAGBRTE4",150,0) . . . N B ;--- Begin date/time "RTN","MAGBRTE4",151,0) . . . N E ;--- End date/time "RTN","MAGBRTE4",152,0) . . . N %H ;-- FileMan API parameter value -- date "RTN","MAGBRTE4",153,0) . . . N I ;--- Loopcounter "RTN","MAGBRTE4",154,0) . . . N M ;--- Date/time mask "RTN","MAGBRTE4",155,0) . . . N N ;--- Loopcounter (time-frames) "RTN","MAGBRTE4",156,0) . . . N %T ;-- FileMan internal variable "RTN","MAGBRTE4",157,0) . . . N VV ;-- Actual value "RTN","MAGBRTE4",158,0) . . . N WD ;-- Weekday "RTN","MAGBRTE4",159,0) . . . N X1 ;-- FileMan API parameter value -- date "RTN","MAGBRTE4",160,0) . . . N X2 ;-- FileMan API parameter value -- date "RTN","MAGBRTE4",161,0) . . . ; "RTN","MAGBRTE4",162,0) . . . ; convert the literal date/time field into the format for comparision "RTN","MAGBRTE4",163,0) . . . S VV=VAL "RTN","MAGBRTE4",164,0) . . . ; "RTN","MAGBRTE4",165,0) . . . S (A,N)=0 F S N=$O(RULE(RULE,"CONDITION",C,N)) Q:'N D "RTN","MAGBRTE4",166,0) . . . . N T,VB,VC,VE "RTN","MAGBRTE4",167,0) . . . . S M=$G(RULE(RULE,"CONDITION",C,N,"M")) "RTN","MAGBRTE4",168,0) . . . . S B=$G(RULE(RULE,"CONDITION",C,N,"B")) "RTN","MAGBRTE4",169,0) . . . . S E=$G(RULE(RULE,"CONDITION",C,N,"E")) "RTN","MAGBRTE4",170,0) . . . . S T=1 "RTN","MAGBRTE4",171,0) . . . . I $E(M,1,3)="HOL" S:$$GET1^DIQ(40.5,+$E(VV,5,11),.01)="" T=0 ; IA 10038 "RTN","MAGBRTE4",172,0) . . . . I $E(M,1,3)="DDD",$E(B,1,3)'=$E(VAL,1,3) S T=0 "RTN","MAGBRTE4",173,0) . . . . S (VB,VC,VE)="" "RTN","MAGBRTE4",174,0) . . . . F I=4:1:$L(M) S:$E(M,I)?1U VC=VC_$E(VV,I),VB=VB_$E(B,I),VE=VE_$E(E,I) "RTN","MAGBRTE4",175,0) . . . . S:VB>VC T=0 "RTN","MAGBRTE4",176,0) . . . . S:VE$P(X,"^",3) $P(X,"^",3)=RULE "RTN","MAGBRTE5",50,0) . . S $P(X,"^",4)=$P(X,"^",4)+1 "RTN","MAGBRTE5",51,0) . . S:RULE>$P(X,"^",3) $P(X,"^",3)=RULE "RTN","MAGBRTE5",52,0) . . S ^MAGRT(2006.5906,0)=X "RTN","MAGBRTE5",53,0) . . S ^MAGRT(2006.5906,RULE,0)=RULE "RTN","MAGBRTE5",54,0) . . Q "RTN","MAGBRTE5",55,0) . ; "RTN","MAGBRTE5",56,0) . M CP=^MAGRT(2006.5906,"D",RDT) "RTN","MAGBRTE5",57,0) . S (B,DEST,L,M1,M2,MAX)=0 "RTN","MAGBRTE5",58,0) . F S DEST=$O(RULE(RULE,"ACTION",DEST)) Q:'DEST D "RTN","MAGBRTE5",59,0) . . N I,T "RTN","MAGBRTE5",60,0) . . S B=B+1,B(B)=DEST "RTN","MAGBRTE5",61,0) . . S X=RULE(RULE,"ACTION",DEST) "RTN","MAGBRTE5",62,0) . . S M(B)=$P(X,"^",2),MAX=MAX+M(B) "RTN","MAGBRTE5",63,0) . . ; Don't exceed maximum number of studies per day days "RTN","MAGBRTE5",64,0) . . S T=0,I="" F S I=$O(CP(DEST,I)) Q:I="" S T=T+1 "RTN","MAGBRTE5",65,0) . . I $P(X,"^",3),T'<$P(X,"^",3) S M2=M2+M(B),M(B)=-1,M1=M1+1 "RTN","MAGBRTE5",66,0) . . Q "RTN","MAGBRTE5",67,0) . ; If one destination has reached its cap, redistribute... "RTN","MAGBRTE5",68,0) . D:M1 "RTN","MAGBRTE5",69,0) . . N I,L,R "RTN","MAGBRTE5",70,0) . . S R=M2#M1,L=0 "RTN","MAGBRTE5",71,0) . . F I=1:1:B S:M(I)>0 M(I)=M2\M1+M(I),L=I "RTN","MAGBRTE5",72,0) . . S M(L)=M(L)+R "RTN","MAGBRTE5",73,0) . . Q "RTN","MAGBRTE5",74,0) . ; "RTN","MAGBRTE5",75,0) . S X=$G(^MAGRT(2006.5906,RULE,2)) "RTN","MAGBRTE5",76,0) . ; X = LAST ^ TOTAL ^ COUNT(DEST) ^ COUNT(DEST) ^ ... "RTN","MAGBRTE5",77,0) . F L=1:1:B S E(L)=+$P(X,"^",L+2) "RTN","MAGBRTE5",78,0) . S L=$P(X,"^",1) F S L=L+1 S:L>B L=1 Q:E(L)$P(X,"^",3) $P(X,"^",3)=PARENT "RTN","MAGBRTE5",95,0) . . S $P(X,"^",4)=$P(X,"^",4)+1 "RTN","MAGBRTE5",96,0) . . S ^MAGRT(2006.5906,RULE,1,0)=X "RTN","MAGBRTE5",97,0) . . S ^MAGRT(2006.5906,RULE,1,PARENT,0)=PARENT_"^"_RDT_"^"_DEST "RTN","MAGBRTE5",98,0) . . Q "RTN","MAGBRTE5",99,0) . L -^MAGRT(2006.5906,0) "RTN","MAGBRTE5",100,0) . Q "RTN","MAGBRTE5",101,0) S DEST=$P(^MAGRT(2006.5906,RULE,1,PARENT,0),"^",3) "RTN","MAGBRTE5",102,0) S X=$G(RULE(RULE,"ACTION",DEST)) "RTN","MAGBRTE5",103,0) I X="" S METMSG(0,"No location for rule "_RULE_", alternative "_DEST)="" Q "RTN","MAGBRTE5",104,0) S X=$P(X,"^",1) Q:X="" "RTN","MAGBRTE5",105,0) S DEST=0 "RTN","MAGBRTE5",106,0) S D=0 F S D=$O(RULE(RULE,"ACTION",D)) Q:'D D Q:DEST "RTN","MAGBRTE5",107,0) . Q:$P($G(RULE(RULE,"ACTION",D)),"^",1)'=X "RTN","MAGBRTE5",108,0) . S DEST=D "RTN","MAGBRTE5",109,0) . Q "RTN","MAGBRTE5",110,0) I 'DEST S METMSG(0,"Cannot find location """_X_""".")="" Q "RTN","MAGBRTE5",111,0) S ^MAGRT(2006.5906,"D",RDT,DEST,RULE,PARENT)="" "RTN","MAGBRTE5",112,0) ; "RTN","MAGBRTE5",113,0) ; Current version assumes that BALANCE means DOS-Copy, not DICOM... "RTN","MAGBRTE5",114,0) D VALDEST^MAGDRPC1(.DEST,X) "RTN","MAGBRTE5",115,0) S PRI=$$PRI^MAGBRTE4($G(RULE(RULE,"PRIORITY")),IMAGE) "RTN","MAGBRTE5",116,0) S VRS=VRS_$$SEND^MAGBRTUT(IMAGE,D,PRI,1,LOCATION) "RTN","MAGBRTE5",117,0) Q "RTN","MAGBRTE5",118,0) ; "RTN","MAGBRTE5",119,0) KEYWORD ; build the KEYWORD array "RTN","MAGBRTE5",120,0) N C,CD,D,D0,KW,M,V,X "RTN","MAGBRTE5",121,0) S CD="CONDITION" K KEYWORD "RTN","MAGBRTE5",122,0) ; Actions "RTN","MAGBRTE5",123,0) F X="SEND","BALANCE","DICOM" S KEYWORD("ACTION",X)="-" "RTN","MAGBRTE5",124,0) F X="DESTINATION","HOLIDAY" S KEYWORD("ACTION",X)="I" "RTN","MAGBRTE5",125,0) ; "RTN","MAGBRTE5",126,0) F X="HIGH","NORMAL","LOW" S KEYWORD("PRIORITY",X)="-" "RTN","MAGBRTE5",127,0) ; "RTN","MAGBRTE5",128,0) ; Fields in ^MAG(2005, "RTN","MAGBRTE5",129,0) S M="LO^MAG^MAGBRTE3(IMAGE," "RTN","MAGBRTE5",130,0) S KEYWORD(CD,"OBJECT NAME")=M_"0,0,1,.VAL)" "RTN","MAGBRTE5",131,0) S KEYWORD(CD,"FILE_REF")=M_"0,0,2,.VAL)" "RTN","MAGBRTE5",132,0) S KEYWORD(CD,"MAGNETIC_REF")=M_"0,0,3,.VAL)" "RTN","MAGBRTE5",133,0) S KEYWORD(CD,"ABSTRACT_REF")=M_"0,0,4,.VAL)" "RTN","MAGBRTE5",134,0) S KEYWORD(CD,"WORM_REF")=M_"0,0,5,.VAL)" "RTN","MAGBRTE5",135,0) S KEYWORD(CD,"OBJECT_TYPE")=M_"2005.02,0,6,.VAL)" "RTN","MAGBRTE5",136,0) S KEYWORD(CD,"PATIENT")=M_"2,0,7,.VAL)" "RTN","MAGBRTE5",137,0) S KEYWORD(CD,"PROCEDURE")=M_"0,0,8,.VAL)" "RTN","MAGBRTE5",138,0) S KEYWORD(CD,"MODALITY")=M_"0,0,8,.VAL)" "RTN","MAGBRTE5",139,0) S KEYWORD(CD,"SAVED_BY")=M_"200,2,2,.VAL)" "RTN","MAGBRTE5",140,0) S KEYWORD(CD,"SUMMARY_OBJECT")=M_"0,2,3,.VAL)" "RTN","MAGBRTE5",141,0) S KEYWORD(CD,"SHORT_DESCRIPTION")=M_"0,2,4,.VAL)" "RTN","MAGBRTE5",142,0) S KEYWORD(CD,"PARENT_DATA")=M_"2005.03,2,6,.VAL)" "RTN","MAGBRTE5",143,0) S KEYWORD(CD,"PARENT_GLOBAL_ROOT_D0")=M_"0,2,7,.VAL)" "RTN","MAGBRTE5",144,0) S KEYWORD(CD,"PARENT_DATA_FILE_IMAGE_POINTER")=M_"0,2,8,.VAL)" "RTN","MAGBRTE5",145,0) S KEYWORD(CD,"EXPORT_REQUEST_STATUS")=M_"0,2,9,.VAL)" "RTN","MAGBRTE5",146,0) S KEYWORD(CD,"PATH_ACCESSION_NUMBER")=M_"0,""PATH"",1,.VAL)" "RTN","MAGBRTE5",147,0) S KEYWORD(CD,"SPECIMEN_DESCRIPTION")=M_"0,""PATH"",2,.VAL)" "RTN","MAGBRTE5",148,0) S KEYWORD(CD,"SPECIMEN")=M_"0,""PATH"",3,.VAL)" "RTN","MAGBRTE5",149,0) S KEYWORD(CD,"STAIN")=M_"0,""PATH"",4,.VAL)" "RTN","MAGBRTE5",150,0) S KEYWORD(CD,"MICROSCOPIC_OBJECTIVE")=M_"0,""PATH"",5,.VAL)" "RTN","MAGBRTE5",151,0) S KEYWORD(CD,"PACS_UID")=M_"0,""PACS"",1,.VAL)" "RTN","MAGBRTE5",152,0) S KEYWORD(CD,"RADIOLOGY_REPORT")=M_"74,""PACS"",2,.VAL)" "RTN","MAGBRTE5",153,0) S KEYWORD(CD,"PACS_PROCEDURE")=M_"71,""PACS"",3,.VAL)" "RTN","MAGBRTE5",154,0) S KEYWORD(CD,"PARENT_GLOBAL_ROOT_D1")=M_"0,2,10,.VAL)" "RTN","MAGBRTE5",155,0) S KEYWORD(CD,"DESCRIPTIVE_CATEGORY")=M_"2005.81,100,1,.VAL)" "RTN","MAGBRTE5",156,0) S KEYWORD(CD,"CLINIC")=M_"44,100,2,.VAL)" "RTN","MAGBRTE5",157,0) S KEYWORD(CD,"BIG_MAGNETIC_PATH")=M_"2005.2,""FBIG"",1,.VAL)" "RTN","MAGBRTE5",158,0) S KEYWORD(CD,"BIG_JUKEBOX_PATH")=M_"2005.2,""FBIG"",2,.VAL)" "RTN","MAGBRTE5",159,0) ; Date and time fields "RTN","MAGBRTE5",160,0) S M="DT^MAG^MAGBRTE3(IMAGE," "RTN","MAGBRTE5",161,0) S KEYWORD(CD,"IMAGE_SAVED")=M_"0,2,1,.VAL)" "RTN","MAGBRTE5",162,0) S KEYWORD(CD,"LAST_ACCESS")=M_"0,0,9,.VAL)" "RTN","MAGBRTE5",163,0) S KEYWORD(CD,"PROCEDURE_TIME")=M_"0,2,5,.VAL)" "RTN","MAGBRTE5",164,0) S KEYWORD(CD,"EXAM_TIME")=M_"0,2,5,.VAL)" "RTN","MAGBRTE5",165,0) ; "RTN","MAGBRTE5",166,0) S M="DT^DATE^MAGBRTE3(IMAGE," "RTN","MAGBRTE5",167,0) S KEYWORD(CD,"IMAGE_SAVED_FIRST")=M_"0,2,1,1,.VAL)" "RTN","MAGBRTE5",168,0) S KEYWORD(CD,"LAST_ACCESS_FIRST")=M_"0,0,9,1,.VAL)" "RTN","MAGBRTE5",169,0) S KEYWORD(CD,"PROCEDURE_TIME_FIRST")=M_"0,2,5,1,.VAL)" "RTN","MAGBRTE5",170,0) S KEYWORD(CD,"EXAM_TIME_FIRST")=M_"0,2,5,1,.VAL)" "RTN","MAGBRTE5",171,0) S KEYWORD(CD,"STUDY_TIME")=M_"0,2,5,1,.VAL)" "RTN","MAGBRTE5",172,0) ; "RTN","MAGBRTE5",173,0) S KEYWORD(CD,"IMAGE_SAVED_LAST")=M_"0,2,1,2,.VAL)" "RTN","MAGBRTE5",174,0) S KEYWORD(CD,"LAST_ACCESS_LAST")=M_"0,0,9,2,.VAL)" "RTN","MAGBRTE5",175,0) S KEYWORD(CD,"PROCEDURE_TIME_LAST")=M_"0,2,5,2,.VAL)" "RTN","MAGBRTE5",176,0) S KEYWORD(CD,"EXAM_TIME_LAST")=M_"0,2,5,2,.VAL)" "RTN","MAGBRTE5",177,0) ; "RTN","MAGBRTE5",178,0) ; Built-in Fields "RTN","MAGBRTE5",179,0) S KEYWORD(CD,"SOURCE")="SH^SOURCE^MAGBRTE3(IMAGE,.VAL)" "RTN","MAGBRTE5",180,0) S KEYWORD(CD,"URGENCY")="SH^URGENCY^MAGBRTE3(IMAGE,.VAL)" "RTN","MAGBRTE5",181,0) S KEYWORD(CD,"NOW")="DT^NOW^MAGBRTE3(.VAL)" "RTN","MAGBRTE5",182,0) Q "RTN","MAGBRTE5",183,0) ; "RTN","MAGBRTE5",184,0) VARNAME(F) ; "RTN","MAGBRTE5",185,0) S F=$TR(F," !""#$%&'()*+,-./:;<=>?@[\]^_`{|}~","_________________________________") "RTN","MAGBRTE5",186,0) F Q:F'["__" S F=$P(F,"__",1)_"_"_$P(F,"__",2,$L(F)+2) "RTN","MAGBRTE5",187,0) F Q:$E(F,1)'="_" S F=$E(F,2,$L(F)) "RTN","MAGBRTE5",188,0) F Q:$E(F,$L(F))'="_" S F=$E(F,1,$L(F)-1) "RTN","MAGBRTE5",189,0) S F=$TR(F,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") "RTN","MAGBRTE5",190,0) Q F "RTN","MAGBRTLD") 0^12^B12037982 "RTN","MAGBRTLD",1,0) MAGBRTLD ;WOIFO/EdM - List of destinations ; 01/21/2004 07:32 "RTN","MAGBRTLD",2,0) ;;3.0;IMAGING;**9,11**;14-April-2004 "RTN","MAGBRTLD",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTLD",4,0) ;; | Property of the US Government. | "RTN","MAGBRTLD",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGBRTLD",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGBRTLD",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGBRTLD",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGBRTLD",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGBRTLD",10,0) ;; | | "RTN","MAGBRTLD",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGBRTLD",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGBRTLD",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGBRTLD",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGBRTLD",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGBRTLD",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTLD",17,0) ;; "RTN","MAGBRTLD",18,0) Q "RTN","MAGBRTLD",19,0) ; "RTN","MAGBRTLD",20,0) LIST(TO,LIST) N DEST,N,ORI,PRI,X "RTN","MAGBRTLD",21,0) S TO=$$UPNOPU(TO),N=0 K LIST "RTN","MAGBRTLD",22,0) ; "RTN","MAGBRTLD",23,0) S ORI="" F S ORI=$O(^MAGQUEUE(2006.035,"STS",ORI)) Q:ORI="" D "RTN","MAGBRTLD",24,0) . S PRI="" F S PRI=$O(^MAGQUEUE(2006.035,"STS",ORI,"SENT",PRI)) Q:PRI="" D "RTN","MAGBRTLD",25,0) . . S DEST="" F S DEST=$O(^MAGQUEUE(2006.035,"STS",ORI,"SENT",PRI,DEST)) Q:DEST="" D "RTN","MAGBRTLD",26,0) . . . S DEST(DEST,ORI)="" "RTN","MAGBRTLD",27,0) . . . Q "RTN","MAGBRTLD",28,0) . . Q "RTN","MAGBRTLD",29,0) . Q "RTN","MAGBRTLD",30,0) ; "RTN","MAGBRTLD",31,0) S DEST="" F S DEST=$O(DEST(DEST)) Q:DEST="" D "RTN","MAGBRTLD",32,0) . N PW "RTN","MAGBRTLD",33,0) . S PW=$P($G(^MAG(2005.2,DEST,2)),"^",1,2) "RTN","MAGBRTLD",34,0) . S $P(PW,"^",2)=$$DECRYP^MAGDRPC2($P(PW,"^",2)) "RTN","MAGBRTLD",35,0) . S X=$G(^MAG(2005.2,DEST,0)) "RTN","MAGBRTLD",36,0) . Q:$$UPNOPU($P(X,"^",1))'[TO "RTN","MAGBRTLD",37,0) . S N=N+1,LIST(N)=$P(X,"^",2)_"^"_$P($G(^MAG(2005.2,DEST,4)),"^",2)_"^"_$P(X,"^",8)_"^"_PW_"^"_$P($G(^MAG(2005.2,DEST,3)),"^",5)_"^"_DEST "RTN","MAGBRTLD",38,0) . Q "RTN","MAGBRTLD",39,0) S LIST=N "RTN","MAGBRTLD",40,0) Q "RTN","MAGBRTLD",41,0) ; "RTN","MAGBRTLD",42,0) AVERAGE() N A,D0,D1,N,P,X "RTN","MAGBRTLD",43,0) S (A,N)=0 "RTN","MAGBRTLD",44,0) S D0=0 F S D0=$O(^MAGQUEUE(2006.036,D0)) Q:'D0 D "RTN","MAGBRTLD",45,0) . S N=N+1 "RTN","MAGBRTLD",46,0) . S D1=0 F S D1=$O(^MAGQUEUE(2006.036,D0,1,D1)) Q:'D1 D "RTN","MAGBRTLD",47,0) . . S X=$G(^MAGQUEUE(2006.036,D0,1,D1,0)) Q:$P(X,"^",6)'["Duration" "RTN","MAGBRTLD",48,0) . . F P=1:1:4 S A=A+$P(X,"^",P) "RTN","MAGBRTLD",49,0) . . Q "RTN","MAGBRTLD",50,0) . Q "RTN","MAGBRTLD",51,0) Q A/$S(N:N,1:1) "RTN","MAGBRTLD",52,0) ; "RTN","MAGBRTLD",53,0) UPNOPU(X) Q $TR(X,"abcdefghijklmnopqrstuvwxyz !""#$%&'()*+,-./:;<=>?@[\]^_`{|}~","ABCDEFGHIJKLMNOPQRSTUVWXYZ") "RTN","MAGBRTLD",54,0) ; "RTN","MAGBRTLD",55,0) PURGSTAT N COUNT,DATE,FIRST,IMAGE,LAST,LOC "RTN","MAGBRTLD",56,0) W !!,"Overview of images to be purged.",! "RTN","MAGBRTLD",57,0) S LOC="" F S LOC=$O(^MAG(2005,"ROUTE",LOC)) Q:LOC="" D "RTN","MAGBRTLD",58,0) . S FIRST=$O(^MAG(2005,"ROUTE",LOC,""))\1 "RTN","MAGBRTLD",59,0) . S LAST=$O(^MAG(2005,"ROUTE",LOC,""),-1)\1 "RTN","MAGBRTLD",60,0) . S COUNT=0 "RTN","MAGBRTLD",61,0) . S DATE="" F S DATE=$O(^MAG(2005,"ROUTE",LOC,DATE)) Q:DATE="" D "RTN","MAGBRTLD",62,0) . . S IMAGE="" F S IMAGE=$O(^MAG(2005,"ROUTE",LOC,DATE,IMAGE)) Q:IMAGE="" S COUNT=COUNT+1 "RTN","MAGBRTLD",63,0) . . Q "RTN","MAGBRTLD",64,0) . W !,COUNT," image" W:COUNT'=1 "s" "RTN","MAGBRTLD",65,0) . W " to be purged on ",$P(^MAG(2005.2,LOC,0),"^",2) "RTN","MAGBRTLD",66,0) . W !?5,"(transmitted " "RTN","MAGBRTLD",67,0) . I FIRST=LAST W " on ",$$FMD(FIRST) "RTN","MAGBRTLD",68,0) . E W " between ",$$FMD(FIRST)," and ",$$FMD(LAST) "RTN","MAGBRTLD",69,0) . W ")" "RTN","MAGBRTLD",70,0) . Q "RTN","MAGBRTLD",71,0) Q "RTN","MAGBRTLD",72,0) ; "RTN","MAGBRTLD",73,0) FMD(X) Q (X#100)_" "_$P("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"," ",X\100#100)_" "_(X\10000+1700) "RTN","MAGBRTLD",74,0) ; "RTN","MAGBRTUT") 0^13^B16989413 "RTN","MAGBRTUT",1,0) MAGBRTUT ;WOIFO/EdM - Routing Utilities ; 02/17/2004 07:22 "RTN","MAGBRTUT",2,0) ;;3.0;IMAGING;**9,11**;14-April-2004 "RTN","MAGBRTUT",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTUT",4,0) ;; | Property of the US Government. | "RTN","MAGBRTUT",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGBRTUT",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGBRTUT",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGBRTUT",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGBRTUT",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGBRTUT",10,0) ;; | | "RTN","MAGBRTUT",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGBRTUT",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGBRTUT",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGBRTUT",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGBRTUT",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGBRTUT",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGBRTUT",17,0) ;; "RTN","MAGBRTUT",18,0) Q "RTN","MAGBRTUT",19,0) ; "RTN","MAGBRTUT",20,0) SEND(IMAGE,LOC,PRI,MECH,FROM,ID) ; Enter image into Routing Queue "RTN","MAGBRTUT",21,0) ; IMAGE ;---- Internal Entry Number in Image FIle "RTN","MAGBRTUT",22,0) ; LOC ;------ Internal Entry Number in either Network Location file "RTN","MAGBRTUT",23,0) ; or SCU_List file "RTN","MAGBRTUT",24,0) ; PRI ;------ Priority "RTN","MAGBRTUT",25,0) ; MECHanism = 1: Send using MS-DOS-Copy "RTN","MAGBRTUT",26,0) ; = 2: Send using DICOM_Send "RTN","MAGBRTUT",27,0) ; FROM ;----- Location from which request originates "RTN","MAGBRTUT",28,0) ; ID ;------- Transaction ID "RTN","MAGBRTUT",29,0) N D0 ;------- Internal Entry number "RTN","MAGBRTUT",30,0) N FLAG ;----- List of file-types to transmit "RTN","MAGBRTUT",31,0) N I ;-------- Scratch and loop counter "RTN","MAGBRTUT",32,0) N ORIGIN ;--- Location from which image is being sent (IEN in Institution file) "RTN","MAGBRTUT",33,0) N QQ ;------- List of queue-entries created "RTN","MAGBRTUT",34,0) ; "RTN","MAGBRTUT",35,0) S QQ="",MECH=$G(MECH) S:'MECH MECH=1 "RTN","MAGBRTUT",36,0) I '$D(^MAG(2005,+$G(IMAGE))) Q:$Q QQ Q "RTN","MAGBRTUT",37,0) I MECH=1,'$D(^MAG(2005.2,+$G(LOC))) Q:$Q QQ Q "RTN","MAGBRTUT",38,0) I MECH=2,'$D(^MAG(2006.587,+$G(LOC))) Q:$Q QQ Q "RTN","MAGBRTUT",39,0) I MECH'=1,MECH'=2 Q:$Q QQ Q "RTN","MAGBRTUT",40,0) ; "RTN","MAGBRTUT",41,0) S ORIGIN=$G(FROM) D:'ORIGIN "RTN","MAGBRTUT",42,0) . S ORIGIN=$P($G(^MAG(2005,IMAGE,100)),"^",3) "RTN","MAGBRTUT",43,0) . S:'ORIGIN ORIGIN=$G(DUZ(2)) "RTN","MAGBRTUT",44,0) . S:'ORIGIN ORIGIN=$$KSP^XUPARAM("INST") "RTN","MAGBRTUT",45,0) . Q "RTN","MAGBRTUT",46,0) ; "RTN","MAGBRTUT",47,0) S PRI=$G(PRI,500),ID=$G(ID) "RTN","MAGBRTUT",48,0) S FLAG=$G(^MAG(2005.2,+LOC,1)) S:MECH=2 FLAG="^^^^5" "RTN","MAGBRTUT",49,0) F I=1:1:5 D:$P(FLAG,"^",I) "RTN","MAGBRTUT",50,0) . N D0,T,X "RTN","MAGBRTUT",51,0) . S T=$P("ABSTRACT FULL BIG TEXT DICOM"," ",I) "RTN","MAGBRTUT",52,0) . ; "RTN","MAGBRTUT",53,0) . S D0=$O(^MAGQUEUE(2006.035,"DEST",LOC,"WAITING",IMAGE,T,"")) I D0 D Q "RTN","MAGBRTUT",54,0) . . N O,P,T,X0,X1 "RTN","MAGBRTUT",55,0) . . S X0=$G(^MAGQUEUE(2006.035,D0,0)),O=$P(X0,"^",5),T=$P(X0,"^",6) "RTN","MAGBRTUT",56,0) . . S X1=$G(^MAGQUEUE(2006.035,D0,1)),P=$P(X1,"^",2) "RTN","MAGBRTUT",57,0) . . ; Don't send multiple copies, but do increase priority if needed "RTN","MAGBRTUT",58,0) . . Q:PRI'>P "RTN","MAGBRTUT",59,0) . . S $P(X0,"^",5)=ORIGIN,^MAGQUEUE(2006.035,D0,0)=X0 "RTN","MAGBRTUT",60,0) . . I T'=ID,ID'="" D "RTN","MAGBRTUT",61,0) . . . S $P(X0,"^",6)=ID "RTN","MAGBRTUT",62,0) . . . S ^MAGQUEUE(2006.035,D0,0)=X0 "RTN","MAGBRTUT",63,0) . . . K:O'="" ^MAGQUEUE(2006.035,"ID",T,D0) "RTN","MAGBRTUT",64,0) . . . S ^MAGQUEUE(2006.035,"ID",ID,D0)="" "RTN","MAGBRTUT",65,0) . . . Q "RTN","MAGBRTUT",66,0) . . S $P(X1,"^",2)=PRI,^MAGQUEUE(2006.035,D0,1)=X1 "RTN","MAGBRTUT",67,0) . . K:O ^MAGQUEUE(2006.035,"STS",O,"WAITING",P,LOC,D0) "RTN","MAGBRTUT",68,0) . . S ^MAGQUEUE(2006.035,"STS",ORIGIN,"WAITING",PRI,LOC,D0)="" "RTN","MAGBRTUT",69,0) . . Q "RTN","MAGBRTUT",70,0) . ; "RTN","MAGBRTUT",71,0) . L +^MAGQUEUE(2006.035,0) "RTN","MAGBRTUT",72,0) . S D0=$O(^MAGQUEUE(2006.035," "),-1)+1 "RTN","MAGBRTUT",73,0) . S X=$G(^MAGQUEUE(2006.035,0)) "RTN","MAGBRTUT",74,0) . S $P(X,"^",1,2)="IMAGE ROUTING QUEUE^2006.035" "RTN","MAGBRTUT",75,0) . S $P(X,"^",3)=D0 "RTN","MAGBRTUT",76,0) . S $P(X,"^",4)=$P(X,"^",4)+1 "RTN","MAGBRTUT",77,0) . S ^MAGQUEUE(2006.035,0)=X "RTN","MAGBRTUT",78,0) . S X=IMAGE_"^"_LOC_"^"_T_"^"_MECH_"^"_ORIGIN_"^"_ID "RTN","MAGBRTUT",79,0) . S:ID'="" ^MAGQUEUE(2006.035,"ID",ID,D0)="" "RTN","MAGBRTUT",80,0) . S ^MAGQUEUE(2006.035,D0,0)=X "RTN","MAGBRTUT",81,0) . D NOW^%DTC "RTN","MAGBRTUT",82,0) . S ^MAGQUEUE(2006.035,D0,1)="WAITING^"_PRI_"^"_% "RTN","MAGBRTUT",83,0) . S ^MAGQUEUE(2006.035,"STS",ORIGIN,"WAITING",PRI,LOC,D0)="" "RTN","MAGBRTUT",84,0) . S ^MAGQUEUE(2006.035,"DEST",LOC,"WAITING",IMAGE,T,D0)="" "RTN","MAGBRTUT",85,0) . L -^MAGQUEUE(2006.035,0) "RTN","MAGBRTUT",86,0) . S QQ=QQ_D0_"^" "RTN","MAGBRTUT",87,0) . Q "RTN","MAGBRTUT",88,0) Q:$Q QQ Q "RTN","MAGBRTUT",89,0) ; "RTN","MAGBRTUT",90,0) DCMLIST(OUT,LOCATION) N D0,LO,LST,N,NM,X "RTN","MAGBRTUT",91,0) S LOCATION=+$G(LOCATION) "RTN","MAGBRTUT",92,0) S D0=0 F S D0=$O(^MAG(2006.587,D0)) Q:'D0 D "RTN","MAGBRTUT",93,0) . S X=$G(^MAG(2006.587,D0,0)) "RTN","MAGBRTUT",94,0) . S NM=$P(X,"^",1),LO=$P(X,"^",7) Q:NM="" "RTN","MAGBRTUT",95,0) . I LOCATION,LO,LO'=LOCATION Q "RTN","MAGBRTUT",96,0) . S LST(NM,LO)=D0 "RTN","MAGBRTUT",97,0) . Q "RTN","MAGBRTUT",98,0) S N=1,NM="" F S NM=$O(LST(NM)) Q:NM="" D "RTN","MAGBRTUT",99,0) . S LO="",X=0 F S LO=$O(LST(NM,LO)) Q:LO="" S X=X+1,D0=LST(NM,LO) "RTN","MAGBRTUT",100,0) . I X=1 S N=N+1,OUT(N)=NM_"^"_D0 Q "RTN","MAGBRTUT",101,0) . S LO="" F S LO=$O(LST(NM,LO)) Q:LO="" S N=N+1,OUT(N)=NM_" ("_LO_")^"_LST(NM,LO) "RTN","MAGBRTUT",102,0) . Q "RTN","MAGBRTUT",103,0) S OUT(1)=N-1 "RTN","MAGBRTUT",104,0) Q "RTN","MAGBRTUT",105,0) ; "RTN","MAGDAUDR") 0^14^B19747360 "RTN","MAGDAUDR",1,0) MAGDAUDR ;WOIFO/EdM - RPC to fetch a Audit Info ; 03/17/2003 10:30 "RTN","MAGDAUDR",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDAUDR",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDAUDR",4,0) ;; | Property of the US Government. | "RTN","MAGDAUDR",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDAUDR",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDAUDR",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDAUDR",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDAUDR",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDAUDR",10,0) ;; | | "RTN","MAGDAUDR",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDAUDR",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDAUDR",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDAUDR",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDAUDR",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDAUDR",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDAUDR",17,0) ;; "RTN","MAGDAUDR",18,0) Q "RTN","MAGDAUDR",19,0) ; "RTN","MAGDAUDR",20,0) GET1(OUT,LOCATION,TODAY) ; Get the numbers of text-messages per day per purpose "RTN","MAGDAUDR",21,0) N COUNT,D2,DATE,I,MSG,N,X "RTN","MAGDAUDR",22,0) D:'$D(DT) DT^DICRW "RTN","MAGDAUDR",23,0) K OUT S (OUT(0),N)=0,I=100 "RTN","MAGDAUDR",24,0) S TODAY=+$G(TODAY),DATE=DT "RTN","MAGDAUDR",25,0) D:TODAY I 'TODAY S DATE=0 F S DATE=$O(^MAGDAUDT(2006.5761,DATE)) Q:'DATE D "RTN","MAGDAUDR",26,0) . Q:'$D(^MAGDAUDT(2006.5761,DATE,1,LOCATION)) "RTN","MAGDAUDR",27,0) . ; Retrieve one day's statistics "RTN","MAGDAUDR",28,0) . S MSG="" F S MSG=$O(^MAGDAUDT(2006.5761,DATE,1,LOCATION,1,"B",MSG)) Q:MSG="" D "RTN","MAGDAUDR",29,0) . . S D2=$O(^MAGDAUDT(2006.5761,DATE,1,LOCATION,1,"B",MSG,"")) Q:'D2 "RTN","MAGDAUDR",30,0) . . S X=$G(^MAGDAUDT(2006.5761,DATE,1,LOCATION,1,D2,0)) "RTN","MAGDAUDR",31,0) . . S COUNT=$P(X,"^",2) Q:'COUNT "RTN","MAGDAUDR",32,0) . . S LAST=$P(X,"^",3) "RTN","MAGDAUDR",33,0) . . S I=I+1,N=N+1,OUT(I)=DATE_"^"_COUNT_"^"_MSG_"^"_LAST,MSG(MSG)="" "RTN","MAGDAUDR",34,0) . . Q "RTN","MAGDAUDR",35,0) . Q "RTN","MAGDAUDR",36,0) S I=0,MSG="" F S MSG=$O(MSG(MSG)) Q:MSG="" D "RTN","MAGDAUDR",37,0) . S I=I+1,N=N+1,OUT(I)="^^"_MSG "RTN","MAGDAUDR",38,0) . Q "RTN","MAGDAUDR",39,0) S OUT(0)=N "RTN","MAGDAUDR",40,0) Q "RTN","MAGDAUDR",41,0) ; "RTN","MAGDAUDR",42,0) GET2(OUT,LOCATION,START,STOP) ; Get the numbers of messages per day per instrument "RTN","MAGDAUDR",43,0) N COUNT,D2,DATE,I,INSTR,N,X "RTN","MAGDAUDR",44,0) D:'$D(DT) DT^DICRW "RTN","MAGDAUDR",45,0) K OUT S (OUT(0),N)=0,I=100 "RTN","MAGDAUDR",46,0) S START=+$G(START)-1,STOP=+$G(STOP) "RTN","MAGDAUDR",47,0) S:START<0 START=0 "RTN","MAGDAUDR",48,0) S:'STOP STOP=9999999 "RTN","MAGDAUDR",49,0) S DATE=START F S DATE=$O(^MAGDAUDT(2006.5762,DATE)) Q:'DATE Q:DATE>STOP D "RTN","MAGDAUDR",50,0) . Q:'$D(^MAGDAUDT(2006.5762,DATE,1,LOCATION)) "RTN","MAGDAUDR",51,0) . ; Retrieve one day's statistics "RTN","MAGDAUDR",52,0) . S INSTR="" F S INSTR=$O(^MAGDAUDT(2006.5762,DATE,1,LOCATION,1,"B",INSTR)) Q:INSTR="" D "RTN","MAGDAUDR",53,0) . . S D2=$O(^MAGDAUDT(2006.5762,DATE,1,LOCATION,1,"B",INSTR,"")) Q:'D2 "RTN","MAGDAUDR",54,0) . . S X=$G(^MAGDAUDT(2006.5762,DATE,1,LOCATION,1,D2,0)) "RTN","MAGDAUDR",55,0) . . S COUNT=$P(X,"^",2) S:$P(X,"^",4)>COUNT COUNT=$P(X,"^",4) "RTN","MAGDAUDR",56,0) . . Q:'COUNT "RTN","MAGDAUDR",57,0) . . S INSTR(INSTR)="" "RTN","MAGDAUDR",58,0) . . S I=I+1,N=N+1,OUT(I)=DATE_"^"_$P(X,"^",2)_"^"_INSTR_"^"_$P(X,"^",3,5) "RTN","MAGDAUDR",59,0) . . Q "RTN","MAGDAUDR",60,0) . Q "RTN","MAGDAUDR",61,0) S I=0,INSTR="" F S INSTR=$O(INSTR(INSTR)) Q:INSTR="" D "RTN","MAGDAUDR",62,0) . S I=I+1,N=N+1,OUT(I)="^^"_INSTR "RTN","MAGDAUDR",63,0) . Q "RTN","MAGDAUDR",64,0) S OUT(0)=N "RTN","MAGDAUDR",65,0) Q "RTN","MAGDAUDR",66,0) ; "RTN","MAGDAUDR",67,0) RANGE(OUT) ; Get the date-ranges for the various audit files "RTN","MAGDAUDR",68,0) N DF,DL,FM,N "RTN","MAGDAUDR",69,0) K OUT S N=0 "RTN","MAGDAUDR",70,0) F FM=2006.5761,2006.5762 D "RTN","MAGDAUDR",71,0) . S DF=$O(^MAGDAUDT(FM,0)) S:'DF DF="" "RTN","MAGDAUDR",72,0) . S DL=$O(^MAGDAUDT(FM," "),-1) S:'DL DL="" "RTN","MAGDAUDR",73,0) . S N=N+1,OUT(N)=FM_"^"_DF_"^"_DL "RTN","MAGDAUDR",74,0) . Q "RTN","MAGDAUDR",75,0) S N=N+1,OUT(N)="-END-" "RTN","MAGDAUDR",76,0) Q "RTN","MAGDAUDR",77,0) ; "RTN","MAGDAUDR",78,0) PURGE(OUT,FM,DATE) ; Purge Audit FIle "RTN","MAGDAUDR",79,0) N D0,DATE,DAYS,X "RTN","MAGDAUDR",80,0) L +^MAGDAUDT(FM) "RTN","MAGDAUDR",81,0) S DAYS=$P($G(^MAGDAUDT(FM,0)),"^",4),OUT=0 "RTN","MAGDAUDR",82,0) S X=0 F S X=$O(^MAGDAUDT(FM,X)) Q:'X Q:X'STOP)!(OOUT) D "RTN","MAGDCCS",191,0) . S MAGIEN=0 "RTN","MAGDCCS",192,0) . F S MAGIEN=$O(^MAGD(2006.575,"AD",THEDT,MAGIEN)) Q:'MAGIEN D "RTN","MAGDCCS",193,0) . . I '$D(^MAGD(2006.575,MAGIEN,0)) K ^MAGD(2006.575,"AD",THEDT,MAGIEN) "RTN","MAGDCCS",194,0) . . I $D(^MAGD(2006.575,MAGIEN,"TYPE")),$E($P(^MAGD(2006.575,MAGIEN,"TYPE"),"^"),1,3)'="CON" Q "RTN","MAGDCCS",195,0) . . I 'FIRST S PREV=MAGIEN,FIRST=1 "RTN","MAGDCCS",196,0) . . D SET "RTN","MAGDCCS",197,0) . . Q "RTN","MAGDCCS",198,0) . Q "RTN","MAGDCCS",199,0) Q "RTN","MAGDCCS",200,0) SETPREV ; "RTN","MAGDCCS",201,0) S PREV=MAGIEN,PREVS=$G(SUID) "RTN","MAGDCCS",202,0) Q "RTN","MAGDCCS",203,0) SETMAG ; "RTN","MAGDCCS",204,0) S FIRST=MAGIEN,FIRSTS=$G(SUID),MAGIEN=PREV,SUID=$G(PREVS) "RTN","MAGDCCS",205,0) S PREV=FIRST,PREVS=FIRSTS "RTN","MAGDCCS",206,0) Q "RTN","MAGDCCS",207,0) CHKPREV ; "RTN","MAGDCCS",208,0) S OUT=1 N STATUS "RTN","MAGDCCS",209,0) I '$D(MAGFIX(PREV)) D SETMAG G SET "RTN","MAGDCCS",210,0) S STATUS=$S($G(MAGFIX(PREV))="D":"deleted",1:"corrected") "RTN","MAGDCCS",211,0) W !,"Previous entry has been "_STATUS_".",$C(7) "RTN","MAGDCCS",212,0) G SET "RTN","MAGDCCS",213,0) Q "RTN","MAGDCCS2") 0^16^B15396762 "RTN","MAGDCCS2",1,0) MAGDCCS2 ;WOIFO/MLH - DICOM Correct - Clinical Specialties - subroutines ; 26 Mar 2003 10:21 AM "RTN","MAGDCCS2",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDCCS2",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCS2",4,0) ;; | Property of the US Government. | "RTN","MAGDCCS2",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDCCS2",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDCCS2",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDCCS2",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDCCS2",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDCCS2",10,0) ;; | | "RTN","MAGDCCS2",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDCCS2",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDCCS2",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDCCS2",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDCCS2",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDCCS2",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCS2",17,0) ;; "RTN","MAGDCCS2",18,0) Q "RTN","MAGDCCS2",19,0) ;Routine to create the MAGDY variable needed by MAGDCCS routine when "RTN","MAGDCCS2",20,0) ;manually correcting DICOM FIX files. "RTN","MAGDCCS2",21,0) EN ; "RTN","MAGDCCS2",22,0) ; MAGDY variable to be created during this execution. "RTN","MAGDCCS2",23,0) N MAGBEG,MAGEND,MAGDFN,MAGOUT,MAGX,MAGXX,INFO,MAGNME,MAGSSN "RTN","MAGDCCS2",24,0) S MAGBEG=1070101,MAGEND=$$DT^XLFDT "RTN","MAGDCCS2",25,0) READ ; "RTN","MAGDCCS2",26,0) W !,"*** Select a request/consult with whose ***" "RTN","MAGDCCS2",27,0) W !,"*** TIU note to associate this image ***" "RTN","MAGDCCS2",28,0) S DIC="^GMR(123,",DIC(0)="AENZ" "RTN","MAGDCCS2",29,0) S DIC("A")="Enter patient or request/consultation: " "RTN","MAGDCCS2",30,0) S D="F",DZ="??" "RTN","MAGDCCS2",31,0) S DIC("W")="W "" REQ/CON #"",Y" "RTN","MAGDCCS2",32,0) S DIC("W")=DIC("W")_","" "",$$GET1^DIQ(123,Y,1)" ; TO SERVICE "RTN","MAGDCCS2",33,0) S DIC("W")=DIC("W")_","" "",$$GET1^DIQ(123,Y,.02)" ; PATIENT NAME "RTN","MAGDCCS2",34,0) ;S DIC("W")=DIC("W")_","" X="",$G(X)" ; <<< *** debug / test "RTN","MAGDCCS2",35,0) ; "RTN","MAGDCCS2",36,0) D IX^DIC "RTN","MAGDCCS2",37,0) Q:$D(DUOUT) "RTN","MAGDCCS2",38,0) Q:'$D(Y(0)) ; nothing selected "RTN","MAGDCCS2",39,0) S (MAGDFN,MAGX)=$P(Y(0),U,2)_"~"_Y "RTN","MAGDCCS2",40,0) ;ZW MAGDFN ; <<< *** debug/test! "RTN","MAGDCCS2",41,0) ; "RTN","MAGDCCS2",42,0) D ONE ;Lookup was on req/con number and successful "RTN","MAGDCCS2",43,0) Q "RTN","MAGDCCS2",44,0) ; "RTN","MAGDCCS2",45,0) PTINFO() ; "RTN","MAGDCCS2",46,0) N INFO,MAGOUT "RTN","MAGDCCS2",47,0) I '$D(MAGDFN) Q "" "RTN","MAGDCCS2",48,0) D GETS^DIQ(2,MAGDFN,".01;.09","E","MAGOUT","MAGERR") "RTN","MAGDCCS2",49,0) I $D(MAGERR) Q "" "RTN","MAGDCCS2",50,0) I $D(MAGOUT) D Q INFO "RTN","MAGDCCS2",51,0) . S INFO=$G(MAGOUT(2,MAGDFN_",",.01,"E")) "RTN","MAGDCCS2",52,0) . S INFO=INFO_"^"_$G(MAGOUT(2,MAGDFN_",",.09,"E")) "RTN","MAGDCCS2",53,0) Q "" "RTN","MAGDCCS2",54,0) ; "RTN","MAGDCCS2",55,0) ONE ;Process the single entry that was selected. "RTN","MAGDCCS2",56,0) ;MAGDFN,MAGX variables expected from EN "RTN","MAGDCCS2",57,0) I 'MAGDFN,'+MAGX Q "RTN","MAGDCCS2",58,0) N BEG,CASE,CDATE,CS,DATA,END,FLDS,INFO,MAGCASE,MAGCNI,MAGDATE,MAGDTI "RTN","MAGDCCS2",59,0) N MAGEXST,MAGLOC,MAGNME,MAGOUT,MAGPIEN,MAGPRC,MAGPSET,MAGPST,MAGRPT "RTN","MAGDCCS2",60,0) N PP,PSET,RAENTRY,RAMEMLOW,RAPRTSET,RIEN,STAT,X,X1,X2,XX "RTN","MAGDCCS2",61,0) N RARPT,RADFN,RADTI,RACNI ;<--Variables needed for EN1^RAUTL20 "RTN","MAGDCCS2",62,0) ; RAUTL20 used to retrieve if case is part of a print set. "RTN","MAGDCCS2",63,0) N MAGRCARY ; array of req/con data from file 123 "RTN","MAGDCCS2",64,0) N MAGIENS ; internal entry number for MAGRCARY "RTN","MAGDCCS2",65,0) ;Q:'MAGDFN!'+$G(MAGX) "RTN","MAGDCCS2",66,0) S MAGDFN=$P(MAGX,"~"),INFO=$$PTINFO "RTN","MAGDCCS2",67,0) S MAGNME=$P(INFO,"^"),MAGSSN=$P(INFO,"^",2) "RTN","MAGDCCS2",68,0) S MAGCASE=$P($P(MAGX,"~",2),U) "RTN","MAGDCCS2",69,0) S (MAGPRC,MAGDTI,MAGCNI,MAGPIEN,MAGLOC,MAGDATE,MAGEXST,MAGPST)="" "RTN","MAGDCCS2",70,0) K MAGRCARY D GETS^DIQ(123,MAGCASE,"*","EI","MAGRCARY") "RTN","MAGDCCS2",71,0) ;I 1/0 ; debug breakpoint "RTN","MAGDCCS2",72,0) S MAGIENS=$O(MAGRCARY(123,"")) "RTN","MAGDCCS2",73,0) S MAGPRC=MAGRCARY(123,MAGIENS,4,"E") ; procedure "RTN","MAGDCCS2",74,0) S MAGLOC=MAGRCARY(123,MAGIENS,1,"E") ; to service "RTN","MAGDCCS2",75,0) S MAGDATE=MAGRCARY(123,MAGIENS,.01,"E") ; request date "RTN","MAGDCCS2",76,0) S MAGPST=MAGRCARY(123,MAGIENS,8,"E") ; procedure status "RTN","MAGDCCS2",77,0) W !,"PATIENT: ",MAGNME,?51,"SSN: ",MAGSSN "RTN","MAGDCCS2",78,0) W !,"Req/Con No.",?13,"Procedure",?38,"To Service",?58,"Req Date" "RTN","MAGDCCS2",79,0) W !,"-----------",?13,"---------",?38,"----------------",?58,"--------" "RTN","MAGDCCS2",80,0) W !,MAGCASE,?13,MAGPRC,?38,MAGLOC,?58,MAGDATE "RTN","MAGDCCS2",81,0) W !,"Exam status: ",MAGEXST," "," ",$G(MAGPST) "RTN","MAGDCCS2",82,0) D MAGDY "RTN","MAGDCCS2",83,0) Q "RTN","MAGDCCS2",84,0) MAGDY ; "RTN","MAGDCCS2",85,0) S MAGDY=MAGDFN_"^"_MAGNME_"^"_MAGSSN_"^"_"GMRC-"_MAGCASE_"^"_MAGPRC_"^"_MAGDTI "RTN","MAGDCCS2",86,0) S MAGDY=MAGDY_"^"_MAGCNI_"^"_MAGPIEN_"^"_$G(MAGPST)_"^" "RTN","MAGDCCS2",87,0) K MAGNME,MAGSSN,MAGCASE,MAGPRC,MAGDTI,MAGCNI,MAGPIEN,MAPST "RTN","MAGDCCS2",88,0) Q "RTN","MAGDCCS3") 0^17^B6452473 "RTN","MAGDCCS3",1,0) MAGDCCS3 ;WOIFO/MLH - DICOM Correct - Clinical specialties - subroutines ; 14 Jul 2003 11:24 AM "RTN","MAGDCCS3",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDCCS3",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCS3",4,0) ;; | Property of the US Government. | "RTN","MAGDCCS3",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDCCS3",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDCCS3",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDCCS3",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDCCS3",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDCCS3",10,0) ;; | | "RTN","MAGDCCS3",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDCCS3",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDCCS3",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDCCS3",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDCCS3",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDCCS3",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCS3",17,0) ;; "RTN","MAGDCCS3",18,0) Q "RTN","MAGDCCS3",19,0) ASK() ;Prompt user "RTN","MAGDCCS3",20,0) N DIR,X,Y "RTN","MAGDCCS3",21,0) S DIR(0)="F:1:30",DIR("A")="Enter patient or request/consultation number" "RTN","MAGDCCS3",22,0) S DIR("?")="Enter a patient name or request/consultation number to associate with this image." "RTN","MAGDCCS3",23,0) D ^DIR "RTN","MAGDCCS3",24,0) Q Y "RTN","MAGDCCS3",25,0) READ(RESULT) ; Accept input for patient or request/consultation number. "RTN","MAGDCCS3",26,0) ; We'll return patient DFN^NAME, or DFN~REQNO. "RTN","MAGDCCS3",27,0) N ANS "RTN","MAGDCCS3",28,0) S RESULT=0,ANS=$$ASK "RTN","MAGDCCS3",29,0) I ANS=""!(ANS="^") S RESULT="^" Q RESULT "RTN","MAGDCCS3",30,0) ;Is user trying to select on request/consult # or by patient? "RTN","MAGDCCS3",31,0) I ANS?1.8N D REQCON(ANS,.RESULT) I +RESULT Q RESULT ; request/consult # "RTN","MAGDCCS3",32,0) D:ANS'?.N1"-".E PAT(ANS,.RESULT) ; patient "RTN","MAGDCCS3",33,0) Q RESULT "RTN","MAGDCCS3",34,0) REQCON(GMRIEN,RESULT) ; Validate existence of user-entered request/consultation number. "RTN","MAGDCCS3",35,0) ; "RTN","MAGDCCS3",36,0) S RESULT=$$GET1^DIQ(123,GMRIEN,.02,"I") ; get the patient's DFN value "RTN","MAGDCCS3",37,0) I RESULT'="" S RESULT=RESULT_"~"_GMRIEN "RTN","MAGDCCS3",38,0) Q "RTN","MAGDCCS3",39,0) PAT(PAT,RESULT) ; Verify that patient exists and has requests/consults on file. "RTN","MAGDCCS3",40,0) N DIR,X,Y "RTN","MAGDCCS3",41,0) S DIR(0)="P^2:EMZ",DIR("B")=PAT "RTN","MAGDCCS3",42,0) D ^DIR "RTN","MAGDCCS3",43,0) I Y D "RTN","MAGDCCS3",44,0) . W !,"Y=",Y,! ; ***<<< DEBUG "RTN","MAGDCCS3",45,0) . I $$ANYREQ^MAGDGMRC(+Y) S RESULT=Y "RTN","MAGDCCS3",46,0) . E W !,"No requests/consultations on file for this patient.",! "RTN","MAGDCCS3",47,0) . Q "RTN","MAGDCCS3",48,0) Q "RTN","MAGDCCSD") 0^18^B9827446 "RTN","MAGDCCSD",1,0) MAGDCCSD ;WOIFO/MLH - DICOM Correct - Clinical Specialties - Driver ; 01/30/2004 17:14 "RTN","MAGDCCSD",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDCCSD",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCSD",4,0) ;; | Property of the US Government. | "RTN","MAGDCCSD",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDCCSD",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDCCSD",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDCCSD",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDCCSD",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDCCSD",10,0) ;; | | "RTN","MAGDCCSD",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDCCSD",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDCCSD",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDCCSD",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDCCSD",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDCCSD",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCSD",17,0) ;; "RTN","MAGDCCSD",18,0) Q "RTN","MAGDCCSD",19,0) EN() ;Start looping either by patient or loop thru Study uid "RTN","MAGDCCSD",20,0) N DIR,X,Y "RTN","MAGDCCSD",21,0) S DIR(0)="S^P:Patient;L:Loop thru file;D:Specify a Date Range" "RTN","MAGDCCSD",22,0) S DIR("A")="Update entries by" "RTN","MAGDCCSD",23,0) D ^DIR "RTN","MAGDCCSD",24,0) Q Y "RTN","MAGDCCSD",25,0) ; "RTN","MAGDCCSD",26,0) START ; "RTN","MAGDCCSD",27,0) N MAGSORT,MAGIEN,PREV,START,STOP,X,Y "RTN","MAGDCCSD",28,0) N KFIXALL ; -- does user hold MAGDFIX ALL key "RTN","MAGDCCSD",29,0) ; "RTN","MAGDCCSD",30,0) S KFIXALL=$$SECKEY^MAGDLB12() "RTN","MAGDCCSD",31,0) S MAGSORT=$$EN Q:MAGSORT["^" "RTN","MAGDCCSD",32,0) I MAGSORT="P" D G EXIT "RTN","MAGDCCSD",33,0) . L +^MAGD(2006.575,"D") D SRT^MAGDCCSS S MAGIEN=$$SELECT L -^MAGD(2006.575,"D") Q:MAGIEN<1 "RTN","MAGDCCSD",34,0) . I 'KFIXALL,$P($G(^MAGD(2006.575,MAGIEN,1)),"^",5)'=$G(DUZ(2)) D Q "RTN","MAGDCCSD",35,0) . . W !,"The entry selected was not captured on your site's gateway." "RTN","MAGDCCSD",36,0) . . W !,"You are not authorized to correct another site's entries." "RTN","MAGDCCSD",37,0) . . Q "RTN","MAGDCCSD",38,0) . I $D(^MAGD(2006.575,MAGIEN,"TYPE")),$P(^("TYPE"),"^")'="CON" D Q "RTN","MAGDCCSD",39,0) . . W !,"Only Clinical Specialties images may be fixed using this option." "RTN","MAGDCCSD",40,0) . . Q "RTN","MAGDCCSD",41,0) . S PREV=MAGIEN D SET^MAGDCCS "RTN","MAGDCCSD",42,0) . Q "RTN","MAGDCCSD",43,0) I MAGSORT="D" D G EXIT "RTN","MAGDCCSD",44,0) . D SRTDT^MAGDCCSS "RTN","MAGDCCSD",45,0) . D ASKDT^MAGDCCSS "RTN","MAGDCCSD",46,0) . I '$D(STR)!'($D(STP)) Q "RTN","MAGDCCSD",47,0) . S START=STR,STOP=STP K STR,STP "RTN","MAGDCCSD",48,0) . D DATELOOP^MAGDCCS(START,STOP) "RTN","MAGDCCSD",49,0) . Q "RTN","MAGDCCSD",50,0) E D "RTN","MAGDCCSD",51,0) . D L^MAGDCCS "RTN","MAGDCCSD",52,0) . Q "RTN","MAGDCCSD",53,0) EXIT ; "RTN","MAGDCCSD",54,0) K ANS,ANSR,CASENO,COMNT1,DATA,DATA1,DATA2,DATE,FILE,FIRST,FIRSTS,I,MACHID,MAGDY "RTN","MAGDCCSD",55,0) K MAGDIEN,MAGCSE,MAGERR,MAGFIX,MAGDTPRT,MAGTYPE,MAGDTPRT,MAGSTP,MSG "RTN","MAGDCCSD",56,0) K MOD,MODEL,NEWCAS,NEWDFN,NEWDTI,NEWDTIM,NEWMUL,NEWNME,NEWPIEN,NEWPROC "RTN","MAGDCCSD",57,0) K NEWSSN,OK,OOUT,OUT,PAT,PID,PREV,PREVS,REASON,STUDYUID,SUID,WHY "RTN","MAGDCCSD",58,0) Q "RTN","MAGDCCSD",59,0) SELECT() ; "RTN","MAGDCCSD",60,0) N DIC,D,X,Y "RTN","MAGDCCSD",61,0) S DIC="^MAGD(2006.575,",D="D",DIC(0)="AEQ" "RTN","MAGDCCSD",62,0) D MIX^DIC1 "RTN","MAGDCCSD",63,0) Q +Y "RTN","MAGDCCSD",64,0) SLDATE() ; "RTN","MAGDCCSD",65,0) N DIC,D,X,Y "RTN","MAGDCCSD",66,0) S DIC="^MAGD(2006.575,",D="AD",DIC(0)="AE" "RTN","MAGDCCSD",67,0) D MIX^DIC1 "RTN","MAGDCCSD",68,0) Q +Y "RTN","MAGDCCSS") 0^19^B22529477 "RTN","MAGDCCSS",1,0) MAGDCCSS ;WOIFO/MLH - DICOM Correct - Clinical Specialties - Sort/print for 2006.575 ; 01/30/2004 17:11 "RTN","MAGDCCSS",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDCCSS",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCSS",4,0) ;; | Property of the US Government. | "RTN","MAGDCCSS",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDCCSS",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDCCSS",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDCCSS",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDCCSS",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDCCSS",10,0) ;; | | "RTN","MAGDCCSS",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDCCSS",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDCCSS",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDCCSS",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDCCSS",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDCCSS",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDCCSS",17,0) ;; "RTN","MAGDCCSS",18,0) Q "RTN","MAGDCCSS",19,0) SRT ;Sort the file first by the patient name but only the unique entries. "RTN","MAGDCCSS",20,0) ;The "F" cross reference uses the gateway site and study uid number. "RTN","MAGDCCSS",21,0) N MAGSUID,MAGIEN,MAGPT ; "RTN","MAGDCCSS",22,0) N GWLOC ; -- gateway site "RTN","MAGDCCSS",23,0) N KFIXALL ; -- does user hold the MAGDFIX ALL security key? "RTN","MAGDCCSS",24,0) N MAGTYPE ; -- type of image (rad, med, clinspec) "RTN","MAGDCCSS",25,0) ; "RTN","MAGDCCSS",26,0) S KFIXALL=$$SECKEY^MAGDLB12 "RTN","MAGDCCSS",27,0) Q:'$D(^MAGD(2006.575,"F")) ;nothing to sort "RTN","MAGDCCSS",28,0) K ^MAGD(2006.575,"D") "RTN","MAGDCCSS",29,0) S GWLOC="" "RTN","MAGDCCSS",30,0) F S GWLOC=$O(^MAGD(2006.575,"F",GWLOC)) Q:GWLOC="" D "RTN","MAGDCCSS",31,0) . ; if this isn't the user's site, bail unless user holds the "RTN","MAGDCCSS",32,0) . ; MAGDFIX ALL security key "RTN","MAGDCCSS",33,0) . I GWLOC'=DUZ(2),'KFIXALL Q "RTN","MAGDCCSS",34,0) . S MAGSUID="" "RTN","MAGDCCSS",35,0) . F S MAGSUID=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID)) Q:MAGSUID="" D "RTN","MAGDCCSS",36,0) . . S MAGIEN=0 "RTN","MAGDCCSS",37,0) . . F S MAGIEN=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)) Q:'MAGIEN D "RTN","MAGDCCSS",38,0) . . . ; if no failed image rec, then there's a xref problem -> bail "RTN","MAGDCCSS",39,0) . . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q "RTN","MAGDCCSS",40,0) . . . . K ^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN) ;clean up x-ref "RTN","MAGDCCSS",41,0) . . . . Q "RTN","MAGDCCSS",42,0) . . . ; if entry has already been corrected, do not include in sort "RTN","MAGDCCSS",43,0) . . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^("FIXD"),"^") Q "RTN","MAGDCCSS",44,0) . . . ;Only Clinical Specialties images! "RTN","MAGDCCSS",45,0) . . . S MAGTYPE=$P($G(^MAGD(2006.575,MAGIEN,"TYPE")),"^") "RTN","MAGDCCSS",46,0) . . . I MAGTYPE'="CON" Q "RTN","MAGDCCSS",47,0) . . . S MAGPT=$P(^MAGD(2006.575,MAGIEN,0),"^",4) "RTN","MAGDCCSS",48,0) . . . S ^MAGD(2006.575,"D",MAGPT,MAGIEN)="" "RTN","MAGDCCSS",49,0) . . . Q "RTN","MAGDCCSS",50,0) . . Q "RTN","MAGDCCSS",51,0) . Q "RTN","MAGDCCSS",52,0) Q "RTN","MAGDCCSS",53,0) SRTDT ;Provide sorting by date entry but only if NOT fixed and by unique suid "RTN","MAGDCCSS",54,0) N MAGSUID,MAGIEN,MAGDT "RTN","MAGDCCSS",55,0) N GWLOC ; -- gateway site "RTN","MAGDCCSS",56,0) N KFIXALL ; -- does user hold the MAGDFIX ALL security key? "RTN","MAGDCCSS",57,0) N MAGTYPE ; -- type of image (rad, med, clinspec) "RTN","MAGDCCSS",58,0) ; "RTN","MAGDCCSS",59,0) S KFIXALL=$$SECKEY^MAGDLB12 "RTN","MAGDCCSS",60,0) Q:'$D(^MAGD(2006.575,"F")) "RTN","MAGDCCSS",61,0) K ^MAGD(2006.575,"AD") "RTN","MAGDCCSS",62,0) S GWLOC="" "RTN","MAGDCCSS",63,0) F S GWLOC=$O(^MAGD(2006.575,"F",GWLOC)) Q:GWLOC="" D "RTN","MAGDCCSS",64,0) . ; if this isn't the user's site, bail unless user holds the "RTN","MAGDCCSS",65,0) . ; MAGDFIX ALL security key "RTN","MAGDCCSS",66,0) . I GWLOC'=DUZ(2),'KFIXALL Q "RTN","MAGDCCSS",67,0) . S MAGSUID="" "RTN","MAGDCCSS",68,0) . F S MAGSUID=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID)) Q:MAGSUID="" D "RTN","MAGDCCSS",69,0) . . S MAGIEN=0 "RTN","MAGDCCSS",70,0) . . F S MAGIEN=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)) Q:'MAGIEN D "RTN","MAGDCCSS",71,0) . . . ; if no failed image rec, then there's a xref problem -> bail "RTN","MAGDCCSS",72,0) . . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q "RTN","MAGDCCSS",73,0) . . . . K ^MAGD(2006.575,"F",MAGSUID,MAGIEN) "RTN","MAGDCCSS",74,0) . . . . Q "RTN","MAGDCCSS",75,0) . . . ; if entry has already been corrected, do not include in sort "RTN","MAGDCCSS",76,0) . . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^("FIXD"),"^") Q "RTN","MAGDCCSS",77,0) . . . ;Only Clinical Specialties images! "RTN","MAGDCCSS",78,0) . . . S MAGTYPE=$P($G(^MAGD(2006.575,MAGIEN,"TYPE")),"^") "RTN","MAGDCCSS",79,0) . . . I MAGTYPE'="CON" Q "RTN","MAGDCCSS",80,0) . . . Q:'$D(^MAGD(2006.575,MAGIEN,1)) "RTN","MAGDCCSS",81,0) . . . S MAGDT=$P(^MAGD(2006.575,MAGIEN,1),"^",3) "RTN","MAGDCCSS",82,0) . . . S ^MAGD(2006.575,"AD",MAGDT,MAGIEN)="" "RTN","MAGDCCSS",83,0) . . . Q "RTN","MAGDCCSS",84,0) . . Q "RTN","MAGDCCSS",85,0) . Q "RTN","MAGDCCSS",86,0) Q "RTN","MAGDCCSS",87,0) PRTDT(SORT,START,STOP) ; "RTN","MAGDCCSS",88,0) ;Print entries using the "AD" cross reference (date order) "RTN","MAGDCCSS",89,0) ; OR the "F" cross reference (unique study uid) "RTN","MAGDCCSS",90,0) I '$D(DUZ) W !,"DUZ variable not defined." Q "RTN","MAGDCCSS",91,0) I "DF"'[SORT Q ;only the date or unique suid "RTN","MAGDCCSS",92,0) N DIC,BY,FLDS,L,FR,TO "RTN","MAGDCCSS",93,0) ;I 'STOP!'START Q "RTN","MAGDCCSS",94,0) S L(0)=2 "RTN","MAGDCCSS",95,0) I SORT="D" S SORT="AD" D "RTN","MAGDCCSS",96,0) . I $L($G(START))>1,$L($G(STOP))>1 S FR(0,1)=START,TO(0,1)=STOP "RTN","MAGDCCSS",97,0) S DIC="^MAGD(2006.575,",BY(0)="^MAGD(2006.575,"""_SORT_"""," "RTN","MAGDCCSS",98,0) S FLDS="[MAG FAILED IMAGES]",L=0 "RTN","MAGDCCSS",99,0) D EN1^DIP "RTN","MAGDCCSS",100,0) Q "RTN","MAGDCCSS",101,0) ADATE() ;date "RTN","MAGDCCSS",102,0) N DIR,X,Y "RTN","MAGDCCSS",103,0) S DIR(0)="D^",DIR("A")=$G(MESSAGE) D ^DIR "RTN","MAGDCCSS",104,0) Q Y "RTN","MAGDCCSS",105,0) ASKDT ;Ask date range "RTN","MAGDCCSS",106,0) N MESSAGE "RTN","MAGDCCSS",107,0) S MESSAGE="Enter start date" S STR=$$ADATE "RTN","MAGDCCSS",108,0) Q:'STR "RTN","MAGDCCSS",109,0) I STR'?7N W "Wrong date format." Q "RTN","MAGDCCSS",110,0) S MESSAGE="Enter stop date" S STP=$$ADATE "RTN","MAGDCCSS",111,0) I STP'?7N W "Wrong date format." Q "RTN","MAGDCCSS",112,0) Q "RTN","MAGDCCSS",113,0) PRNT ; "RTN","MAGDCCSS",114,0) N DIR,X,Y,BY "RTN","MAGDCCSS",115,0) S DIR(0)="S^D:Date;F:Unique Entries" "RTN","MAGDCCSS",116,0) D ^DIR "RTN","MAGDCCSS",117,0) Q:"DF"'[Y "RTN","MAGDCCSS",118,0) I "RTN","MAGDCCSS",119,0) I Y="D" D Q:'$D(STR)!'$D(STP) "RTN","MAGDCCSS",120,0) . D ASKDT Q:'$D(STR)!'$D(STP) "RTN","MAGDCCSS",121,0) . W !,"Please hold sorting by Date. " D SRTDT "RTN","MAGDCCSS",122,0) S BY=Y K DIR,X,Y,DTOUT,DIRUT,DTOUT "RTN","MAGDCCSS",123,0) D PRTDT(BY,$G(STR),$G(STP)) "RTN","MAGDCCSS",124,0) K BY,STR,STP "RTN","MAGDCCSS",125,0) Q "RTN","MAGDFB") 0^20^B3920036 "RTN","MAGDFB",1,0) MAGDFB ;WOIFO/EdM - Call MAGFILEB ; 01/30/2004 07:17 "RTN","MAGDFB",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDFB",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDFB",4,0) ;; | Property of the US Government. | "RTN","MAGDFB",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDFB",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDFB",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDFB",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDFB",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDFB",10,0) ;; | | "RTN","MAGDFB",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDFB",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDFB",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDFB",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDFB",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDFB",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDFB",17,0) ;; "RTN","MAGDFB",18,0) Q "RTN","MAGDFB",19,0) ; "RTN","MAGDFB",20,0) ; The purpose of this subroutine is to call FINDFILE in MAGFILEB "RTN","MAGDFB",21,0) ; in such a way that all parameters are passed in or out, "RTN","MAGDFB",22,0) ; and such that all internal variables of MAGFILEB are NEWed "RTN","MAGDFB",23,0) ; "RTN","MAGDFB",24,0) ; After patch 3 has been released, this call should be changed to: "RTN","MAGDFB",25,0) ;FILEFIND(MAGXX,FILETYPE,MAGJBCP,MAGWRITE,MAGFILE1,MAGFILE2,MAGFILE,MAGPLACE,MAGINST) ; "RTN","MAGDFB",26,0) FILEFIND(MAGXX,FILETYPE,MAGJBCP,MAGWRITE,MAGFILE1,MAGFILE2,MAGFILE) ; "RTN","MAGDFB",27,0) ; Input: "RTN","MAGDFB",28,0) ; IEN -- IEN into file 2005, ^MAG(2005,IEN,0) "RTN","MAGDFB",29,0) ; FILETYPE -- "FULL", "ABSTRACT" or "BIG" "RTN","MAGDFB",30,0) ; COPY -- Flag: do or don't copy from JukeBox to HardDisk "RTN","MAGDFB",31,0) ; VERBOSE -- Flag: do or don't display interactive error messages "RTN","MAGDFB",32,0) ; Output: "RTN","MAGDFB",33,0) ; MAGFILE1 -- filename "RTN","MAGDFB",34,0) ; MAGFILE2 -- path + filename "RTN","MAGDFB",35,0) ; MAGFILE -- path + filename + $C(0) "RTN","MAGDFB",36,0) ; MAGPLACE -- pointer to ^MAG(2006.1) for "place" where image is stored "RTN","MAGDFB",37,0) ; MAGINST -- pointer to ^DIC(4) that corresponds to MAGPLACE "RTN","MAGDFB",38,0) ; "RTN","MAGDFB",39,0) N MAGJBOL,MAGOFFLN,MAGPREF,MAGTYPE,VERBOSE "RTN","MAGDFB",40,0) S VERBOSE=0 "RTN","MAGDFB",41,0) D FINDFILE^MAGFILEB "RTN","MAGDFB",42,0) S MAGFILE2=$G(MAGPREF)_MAGFILE1,MAGFILE=MAGFILE2_$C(0) "RTN","MAGDFB",43,0) Q "RTN","MAGDFB",44,0) ; "RTN","MAGDFCNV") 0^21^B7869559 "RTN","MAGDFCNV",1,0) MAGDFCNV ;WOIFO/PMK - Read HL7 and generate DICOM ; 11/03/2003 15:30 "RTN","MAGDFCNV",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDFCNV",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDFCNV",4,0) ;; | Property of the US Government. | "RTN","MAGDFCNV",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDFCNV",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDFCNV",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDFCNV",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDFCNV",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDFCNV",10,0) ;; | | "RTN","MAGDFCNV",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDFCNV",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDFCNV",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDFCNV",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDFCNV",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDFCNV",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDFCNV",17,0) ;; "RTN","MAGDFCNV",18,0) ; "RTN","MAGDFCNV",19,0) ; This routine needs to be on both the Gateway and on the VistA HIS. "RTN","MAGDFCNV",20,0) ; "RTN","MAGDFCNV",21,0) ; The M-to-M Broker Gateway can't use $$CONSOLID^MAGBAPI since is "RTN","MAGDFCNV",22,0) ; doesn't have DDP. "RTN","MAGDFCNV",23,0) ; "RTN","MAGDFCNV",24,0) ; Note: The ^MAGOSFIL routine can never be on the VistA HIS. "RTN","MAGDFCNV",25,0) ; "RTN","MAGDFCNV",26,0) ; "RTN","MAGDFCNV",27,0) CONSOLID() ; check if this is a consolidated site or not "RTN","MAGDFCNV",28,0) ; return 0 = non-consolidated (normal) site "RTN","MAGDFCNV",29,0) ; return 1 = consolidated site "RTN","MAGDFCNV",30,0) ; "RTN","MAGDFCNV",31,0) ; code for the main VistA HIS "RTN","MAGDFCNV",32,0) Q $GET(^MAG(2006.1,"CONSOLIDATED"))="YES" "RTN","MAGDFCNV",33,0) ; "RTN","MAGDFCNV",34,0) ACQDEV(MFGR,MODEL,SITE) ; get pointer to the Acquisition Device file "RTN","MAGDFCNV",35,0) N ACQDEV ;--- name of acquisition device "RTN","MAGDFCNV",36,0) N ACQDEVP ;-- pointer to acquisition device file (#2006.04) "RTN","MAGDFCNV",37,0) ; "RTN","MAGDFCNV",38,0) S ACQDEV=$$UP^MAGDFCNV(MFGR_" ("_MODEL_")") "RTN","MAGDFCNV",39,0) S ACQDEVP=$O(^MAG(2006.04,"B",ACQDEV,"")) "RTN","MAGDFCNV",40,0) I 'ACQDEVP D ; create the entry "RTN","MAGDFCNV",41,0) . L +^MAG(2006.04,0):1E9 ; serialize name generation code "RTN","MAGDFCNV",42,0) . I '$D(^MAG(2006.04,0)) S ^(0)="ACQUISITION DEVICE^2006.04^^" "RTN","MAGDFCNV",43,0) . S ACQDEVP=$P(^MAG(2006.04,0),"^",3)+1 "RTN","MAGDFCNV",44,0) . S ^MAG(2006.04,ACQDEVP,0)=ACQDEV_"^"_SITE_"^" ; 3rd piece is null "RTN","MAGDFCNV",45,0) . S ^MAG(2006.04,"B",ACQDEV,ACQDEVP)="" "RTN","MAGDFCNV",46,0) . S $P(^MAG(2006.04,0),"^",3)=ACQDEVP "RTN","MAGDFCNV",47,0) . S $P(^MAG(2006.04,0),"^",4)=ACQDEVP "RTN","MAGDFCNV",48,0) . L -^MAG(2006.04,0) ; clear the serial name generation code "RTN","MAGDFCNV",49,0) Q ACQDEVP "RTN","MAGDFCNV",50,0) ; "RTN","MAGDFCNV",51,0) UP(X) ; special UPPER CASE function -- removes redundant blanks as well "RTN","MAGDFCNV",52,0) F Q:X'[" " S $E(X,$F(X," ")-1)="" ; remove redundant blank "RTN","MAGDFCNV",53,0) I $E(X)=" " S $E(X)="" ; remove leading blank "RTN","MAGDFCNV",54,0) I $E(X,$L(X))=" " S $E(X,$L(X))="" ; remove trailing blank "RTN","MAGDFCNV",55,0) Q $TR(X,"abcdefghijklmnopqrstuvwxyz^|","ABCDEFGHIJKLMNOPQRSTUVWXYZ~~") "RTN","MAGDGL") 0^22^B29958311 "RTN","MAGDGL",1,0) MAGDGL ;WOIFO/EdM - Global Lister ; 03/26/2004 08:38 "RTN","MAGDGL",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDGL",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDGL",4,0) ;; | Property of the US Government. | "RTN","MAGDGL",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDGL",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDGL",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDGL",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDGL",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDGL",10,0) ;; | | "RTN","MAGDGL",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDGL",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDGL",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDGL",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDGL",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDGL",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDGL",17,0) ;; "RTN","MAGDGL",18,0) ; Call Global Variable Lister "RTN","MAGDGL",19,0) N DTIME,I,MAX,N,WILD,OUT,T,X "RTN","MAGDGL",20,0) S DTIME=$G(DTIME,300),MAX=20 "RTN","MAGDGL",21,0) F D Q:WILD="" "RTN","MAGDGL",22,0) . W !,"Global Variable name: ^" R WILD:DTIME E S WILD="" "RTN","MAGDGL",23,0) . S:WILD="^" WILD="" "RTN","MAGDGL",24,0) . Q:WILD="" "RTN","MAGDGL",25,0) . S:$E(WILD,1)'="^" WILD="^"_WILD "RTN","MAGDGL",26,0) . S (N,START)=0 F D Q:N0 S START=START-1 Q "RTN","MAGDGL",146,0) . S NM=$NA(@NAME) "RTN","MAGDGL",147,0) . S X="""",C=0 F I=1:1:$L(%D) D "RTN","MAGDGL",148,0) . . S A=$A(%D,I) "RTN","MAGDGL",149,0) . . I A>31,A<127,'C S X=X_$C(A) S:A=34 X=X_$C(A) Q "RTN","MAGDGL",150,0) . . I A>31,A<127 S C=0,X=X_")_"""_$C(A) S:A=34 X=X_$C(A) Q "RTN","MAGDGL",151,0) . . I X="""" S X="$C("_A,C=1 Q "RTN","MAGDGL",152,0) . . I C S X=X_","_A Q "RTN","MAGDGL",153,0) . . S X=X_"""_$C("_A,C=1 "RTN","MAGDGL",154,0) . . Q "RTN","MAGDGL",155,0) . S X=X_$S(C:")",1:"""") "RTN","MAGDGL",156,0) . F D Q:X="" "RTN","MAGDGL",157,0) . . S N=N+1,OUT(N+1)=NM,NM="" "RTN","MAGDGL",158,0) . . S N=N+1,OUT(N+1)=$E(X,1,250),X=$E(X,251,$L(X)) "RTN","MAGDGL",159,0) . . Q "RTN","MAGDGL",160,0) . Q "RTN","MAGDGL",161,0) Q:N'0 D "RTN","MAGDHL7",44,0) . S L=L+1,^MAGDHL7(2006.5,+Y,1,L,0)=HLSDATA(J) "RTN","MAGDHL7",45,0) . Q "RTN","MAGDHL7",46,0) S ^MAGDHL7(2006.5,+Y,1,0)="^^"_L_U_L_U_DT "RTN","MAGDHL7",47,0) S DIE=DIC,DR=".03///^S X=""NOW""",DA=+Y D ^DIE ;CAPTURE TIME "RTN","MAGDHL7",48,0) G EX "RTN","MAGDHL7",49,0) ; "RTN","MAGDHL7",50,0) KIL ;Kill off old HL7 data in ^MAGDHL7(2006.5 "RTN","MAGDHL7",51,0) ;keep how many days? "RTN","MAGDHL7",52,0) S DIR("A")=" Select number of days to save HL7 Global",DIR(0)="N^0:31" "RTN","MAGDHL7",53,0) D ^DIR G EX:Y="" S MAGN=Y "RTN","MAGDHL7",54,0) S %ZIS="Q",IOP="Q;""""" W !! D ^%ZIS I POP S MAGOUT="" G EX "RTN","MAGDHL7",55,0) I '$D(IO("Q")) D TK1^MAGDHL7 G EX "RTN","MAGDHL7",56,0) S ZTRTN="TK1^MAGDHL7",ZTSAVE("MAGN")="",ZTDESC="DELETE OLD HL7 RECORDS" "RTN","MAGDHL7",57,0) S ZTIO="",ZTDTH=$H D ^%ZTLOAD G EX "RTN","MAGDHL7",58,0) ; "RTN","MAGDHL7",59,0) TK1 ;Tasked job "RTN","MAGDHL7",60,0) S EDT=DT-MAGN,KDT="",DIC="^MAGDHL7(2006.5," F S KDT=$O(^MAGDHL7(2006.5,"B",KDT)) Q:(KDT=""!(KDT>EDT)) D "RTN","MAGDHL7",61,0) . S DA=0 F S DA=$O(^MAGDHL7(2006.5,"B",KDT,DA)) Q:DA'>0 D ^DIK "RTN","MAGDHL7",62,0) EX ;EXIT "RTN","MAGDHL7",63,0) K EDT,KDT,DA,DIK,DIR,MAGN,MAGOUT I $D(HLSDT) K HLSDT "RTN","MAGDHL7",64,0) Q "RTN","MAGDHL7",65,0) ; "RTN","MAGDHL7",66,0) EN ;Entry point for HL7 1.6. Called from the MAG SEND ORU/ORM protocols. "RTN","MAGDHL7",67,0) ;Executed after the RA protocols setup the HL7 message segments. "RTN","MAGDHL7",68,0) D EN2 "RTN","MAGDHL7",69,0) Q "RTN","MAGDHL7",70,0) EN2 ; "RTN","MAGDHL7",71,0) N DA,DIE,DIC,DR,I,J,K,L,MAGRAD,MAGRAN,MAGSAN,MAGTYPE,Y,X "RTN","MAGDHL7",72,0) I $D(HLQUIT),HLQUIT Q ;HL7 routines may have failed. "RTN","MAGDHL7",73,0) S MAGRAD="" "RTN","MAGDHL7",74,0) F I=1:1 X HLNEXT Q:HLQUIT'>0 D "RTN","MAGDHL7",75,0) . S MAGRAD(I)=HLNODE,J=0 "RTN","MAGDHL7",76,0) . F S J=$O(HLNODE(J)) Q:'J S MAGRAD(I)=MAGRAD(I)_HLNODE(J) "RTN","MAGDHL7",77,0) . Q "RTN","MAGDHL7",78,0) ;Above code needed for segments greater than 245 characters. "RTN","MAGDHL7",79,0) S MAGTYPE=$G(HL("MTN")),MAGRAN=$G(HL("RAN")),MAGSAN=$G(HL("SAN")) "RTN","MAGDHL7",80,0) ; add demo and modality info expected by MAGDHR* routines on gateway "RTN","MAGDHL7",81,0) D ADDDTA($NA(MAGRAD)) "RTN","MAGDHL7",82,0) UPDATE ;Add the entry in the MAGDHL7(2006.5 global. "RTN","MAGDHL7",83,0) D NOW^%DTC S X=$P(%,".") ;Getting today's date "RTN","MAGDHL7",84,0) S DIC="^MAGDHL7(2006.5,",DIC(0)="LZ" D FILE^DICN "RTN","MAGDHL7",85,0) I +Y<1 Q ;Entry not made in file. "RTN","MAGDHL7",86,0) S $P(^MAGDHL7(2006.5,+Y,0),"^",2)=MAGTYPE "RTN","MAGDHL7",87,0) ;Add HL7 message into word processing field. "RTN","MAGDHL7",88,0) S (L,K)=0 F S K=$O(MAGRAD(K)) Q:'K S L=L+1,^MAGDHL7(2006.5,+Y,1,L,0)=MAGRAD(K) D "RTN","MAGDHL7",89,0) . ;if segment has more than one line of data, add as a single line "RTN","MAGDHL7",90,0) . ;Peter's code will take care of this. "RTN","MAGDHL7",91,0) . S J=0 F S J=$O(MAGRAD(K,J)) Q:'J S L=L+1,^MAGDHL7(2006.5,+Y,1,L,0)=MAGRAD(K,J) "RTN","MAGDHL7",92,0) S ^MAGDHL7(2006.5,+Y,1,0)="^^"_L_"^"_L_"^"_DT "RTN","MAGDHL7",93,0) S DIE=DIC,DR=".03///^S X=""NOW""",DA=+Y D ^DIE "RTN","MAGDHL7",94,0) Q "RTN","MAGDHL7",95,0) ; "RTN","MAGDHL7",96,0) ADDDTA(XARY) ; SUBROUTINE - called by ENTRY, EN2 "RTN","MAGDHL7",97,0) ; Add demographic, visit, and modality information to HL7 messages. "RTN","MAGDHL7",98,0) ; "RTN","MAGDHL7",99,0) ; input: XARY name of array into which additional HL7 message data is to "RTN","MAGDHL7",100,0) ; be populated (@XARY should already contain HL7 msg segments) "RTN","MAGDHL7",101,0) ; valued "MAGRAD" for radiology orders "RTN","MAGDHL7",102,0) ; "HLSDATA" for ADT messages "RTN","MAGDHL7",103,0) ; "RTN","MAGDHL7",104,0) ; output: @XARY with demo, visit, modality segments added "RTN","MAGDHL7",105,0) ; or NTE segment added after MSH if there was a problem "RTN","MAGDHL7",106,0) ; "RTN","MAGDHL7",107,0) ; The DICOM gateway's MAGDHR* routines formerly expected to be able to use "RTN","MAGDHL7",108,0) ; a DDP link to gather supplementary information about patient demographics "RTN","MAGDHL7",109,0) ; and modality. This subroutine populates the HL7 segments with the "RTN","MAGDHL7",110,0) ; supplementary data, eliminating the need for the DDP link. "RTN","MAGDHL7",111,0) ; "RTN","MAGDHL7",112,0) N MAG7WRK ; -- work array for HL7 message "RTN","MAGDHL7",113,0) N STSRBLD ; -- rebuild status "RTN","MAGDHL7",114,0) N S1,S2 ; ---- scratch segment index vars "RTN","MAGDHL7",115,0) ; "RTN","MAGDHL7",116,0) ; break out message -- if parse fails, insert a NTE segment and bail "RTN","MAGDHL7",117,0) ; "RTN","MAGDHL7",118,0) I $$PARSE^MAG7UP(XARY,$NA(MAG7WRK)) D Q "RTN","MAGDHL7",119,0) . ; set 1st, 2nd seg indices - don't overwrite bare MSH "RTN","MAGDHL7",120,0) . S S1=$O(@XARY@(0)) S:'S1 S1=1 "RTN","MAGDHL7",121,0) . S S2=$O(@XARY@(S1)) S:'S2 S2=S1+1 "RTN","MAGDHL7",122,0) . S @XARY@((S1+S2)/2)="NTE|1||bad HL7 message structure" "RTN","MAGDHL7",123,0) . Q "RTN","MAGDHL7",124,0) D PIDADD^MAG7RS ; add patient demographic data "RTN","MAGDHL7",125,0) D ADDVSDG^MAG7RS ; add patient visit and diagnosis data "RTN","MAGDHL7",126,0) I MAG7WRK(1,9,1,1,1)="ORU" D OBXUPD^MAG7RSO ; add numeric diag codes "RTN","MAGDHL7",127,0) S STSRBLD=$$MAKE^MAG7UM($NA(MAG7WRK),XARY) "RTN","MAGDHL7",128,0) I STSRBLD D Q "RTN","MAGDHL7",129,0) . ; set 1st, 2nd seg indices - don't overwrite bare MSH "RTN","MAGDHL7",130,0) . S S1=$O(@XARY@(0)) S:'S1 S1=1 "RTN","MAGDHL7",131,0) . S S2=$O(@XARY@(S1)) S:'S2 S2=S1+1 "RTN","MAGDHL7",132,0) . S @XARY@((S1+S2)/2)="NTE|1||bad HL7 message structure" "RTN","MAGDHL7",133,0) . Q "RTN","MAGDHL7",134,0) Q "RTN","MAGDHRS1") 0^24^B9409128 "RTN","MAGDHRS1",1,0) MAGDHRS1 ;WOIFO/PMK - Read HL7 and generate DICOM ; 02/05/2004 08:47 "RTN","MAGDHRS1",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDHRS1",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDHRS1",4,0) ;; | Property of the US Government. | "RTN","MAGDHRS1",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDHRS1",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDHRS1",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDHRS1",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDHRS1",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDHRS1",10,0) ;; | | "RTN","MAGDHRS1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDHRS1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDHRS1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDHRS1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDHRS1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDHRS1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDHRS1",17,0) ;; "RTN","MAGDHRS1",18,0) Q "RTN","MAGDHRS1",19,0) ; M-to-M Broker Server "RTN","MAGDHRS1",20,0) ; "RTN","MAGDHRS1",21,0) ENTRY(RESULT,REQUEST) ; RPC = MAG DICOM TEXT PROCESSING "RTN","MAGDHRS1",22,0) N HIT ;------ indicates that the requested HL7 message exists "RTN","MAGDHRS1",23,0) N HL7MSGNO ;- number of HL7 message "RTN","MAGDHRS1",24,0) N ITIMEOUT ;- second counter incremented up to TIMEOUT "RTN","MAGDHRS1",25,0) N SEGCOUNT ;- count of segments in the HL7 message "RTN","MAGDHRS1",26,0) N TIMEOUT ;-- number of seconds to wait before returning void "RTN","MAGDHRS1",27,0) N WAIT ;----- number of seconds to wait for an HL7 message "RTN","MAGDHRS1",28,0) N I,J,X,Y,Z ;---- working variables "RTN","MAGDHRS1",29,0) ; "RTN","MAGDHRS1",30,0) K RESULT "RTN","MAGDHRS1",31,0) ; "RTN","MAGDHRS1",32,0) S WAIT=30 ; one-half minute wait for incomplete message "RTN","MAGDHRS1",33,0) ; "RTN","MAGDHRS1",34,0) S HL7MSGNO=+$P(REQUEST(2),"|",1),TIMEOUT=$P(REQUEST(2),"|",2) "RTN","MAGDHRS1",35,0) ; "RTN","MAGDHRS1",36,0) ; wait for HL7 message to be generated "RTN","MAGDHRS1",37,0) S HIT=0 F D Q:HIT S TIMEOUT=TIMEOUT-1 Q:TIMEOUT<0 H 1 "RTN","MAGDHRS1",38,0) . I $D(^MAGDHL7(2006.5,HL7MSGNO)) S HIT=1 "RTN","MAGDHRS1",39,0) . Q "RTN","MAGDHRS1",40,0) ; "RTN","MAGDHRS1",41,0) I HIT D "RTN","MAGDHRS1",42,0) . I $$WAIT(0,WAIT) Q "RTN","MAGDHRS1",43,0) . S SEGCOUNT=$P(^MAGDHL7(2006.5,HL7MSGNO,1,0),"^",3) "RTN","MAGDHRS1",44,0) . S RESULT(1)=HL7MSGNO "RTN","MAGDHRS1",45,0) . S RESULT(2)=^MAGDHL7(2006.5,HL7MSGNO,0) "RTN","MAGDHRS1",46,0) . S RESULT(3)=^MAGDHL7(2006.5,HL7MSGNO,1,0) "RTN","MAGDHRS1",47,0) . F I=1:1:SEGCOUNT D "RTN","MAGDHRS1",48,0) . . I $$WAIT(I,WAIT) S I=999999 Q "RTN","MAGDHRS1",49,0) . . S (X,Y)=^MAGDHL7(2006.5,HL7MSGNO,1,I,0) "RTN","MAGDHRS1",50,0) . . D:$TR($T(+2^XWBVLL),",","*")'["*34*" "RTN","MAGDHRS1",51,0) . . . N E,J "RTN","MAGDHRS1",52,0) . . . S Y="" F J=1:1:$L(X) S E=$E(X,J),Y=Y_$S(E="<":"<",E=">":">",E="&":"&",E="""":""",1:E) "RTN","MAGDHRS1",53,0) . . . Q "RTN","MAGDHRS1",54,0) . . S RESULT(I+3)=Y "RTN","MAGDHRS1",55,0) . . Q "RTN","MAGDHRS1",56,0) . Q "RTN","MAGDHRS1",57,0) E S RESULT(1)="" "RTN","MAGDHRS1",58,0) Q "RTN","MAGDHRS1",59,0) ; "RTN","MAGDHRS1",60,0) WAIT(I,WAIT) ; wait for node to be written "RTN","MAGDHRS1",61,0) N JTIMEOUT "RTN","MAGDHRS1",62,0) F JTIMEOUT=1:1:WAIT Q:$D(^MAGDHL7(2006.5,HL7MSGNO,1,I)) H 1 "RTN","MAGDHRS1",63,0) I JTIMEOUT=WAIT D Q 1 "RTN","MAGDHRS1",64,0) . ; an error occurred during the waiting "RTN","MAGDHRS1",65,0) . K RESULT "RTN","MAGDHRS1",66,0) . S RESULT(1)="-1 ^MAGDHL7(2006.5,"_HL7MSGNO_","_I_",...) is incomplete" "RTN","MAGDHRS1",67,0) . Q "RTN","MAGDHRS1",68,0) Q 0 "RTN","MAGDHWS") 0^25^B24251398 "RTN","MAGDHWS",1,0) MAGDHWS ;WOIFO/PMK - Capture Consult/GMRC data ; 24 Feb 2004 9:50 AM "RTN","MAGDHWS",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDHWS",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDHWS",4,0) ;; | Property of the US Government. | "RTN","MAGDHWS",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDHWS",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDHWS",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDHWS",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDHWS",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDHWS",10,0) ;; | | "RTN","MAGDHWS",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDHWS",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDHWS",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDHWS",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDHWS",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDHWS",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDHWS",17,0) ;; "RTN","MAGDHWS",18,0) ENTRY ; entry point from scheduling package "RTN","MAGDHWS",19,0) N %,AFTERSTS,APTNUMB,APTSCHED,CLINIC,CONSULTM,CUTOFF,DATETIME "RTN","MAGDHWS",20,0) N DEL,DEL2,DEL3,DEL4,DEL5,DFN,DIVISION,DONE,FILLER1,FMDATE,FMDATETM "RTN","MAGDHWS",21,0) N GMRCIEN,HL,IGNORE,IREQ,ITYPCODE,ITYPNAME,MSGTYPE,REQUEST "RTN","MAGDHWS",22,0) N SERVICE,STATUS,UNKNOWN,X,Y,Z "RTN","MAGDHWS",23,0) S APTNUMB=$P(SDATA,"^",1) I APTNUMB<1 Q ; not a valid appointment "RTN","MAGDHWS",24,0) D INIT^MAGDHW0 ; initialize variables "RTN","MAGDHWS",25,0) D NOW^%DTC S FMDATE=%\1,FMDATETM=% "RTN","MAGDHWS",26,0) S %H=%H-90 D TT^%DTC S CUTOFF=X ; cutoff date is 90 days ago "RTN","MAGDHWS",27,0) S DFN=$P(SDATA,"^",2),DATETIME=$P(SDATA,"^",3),CLINIC=$P(SDATA,"^",4) "RTN","MAGDHWS",28,0) S APTSCHED("CLINIC IEN")=CLINIC,APTSCHED("FM DATETIME")=DATETIME "RTN","MAGDHWS",29,0) S AFTERSTS=SDATA("AFTER","STATUS"),X=$P(AFTERSTS,"^",3) "RTN","MAGDHWS",30,0) ; appointment management transactions from ^SD(409.63) "RTN","MAGDHWS",31,0) I X["CHECKED IN" S FILLER1="SDAM-CHECKIN" "RTN","MAGDHWS",32,0) E I X["CHECKED OUT" S FILLER1="SDAM-CHECKOUT" "RTN","MAGDHWS",33,0) E I X["AUTO RE-BOOK" S FILLER1="SDAM-SCHEDULED" "RTN","MAGDHWS",34,0) E I X["ACTION REQUIRED" S FILLER1="SDAM-SCHEDULED" "RTN","MAGDHWS",35,0) E I X["NON-COUNT" S FILLER1="SDAM-SCHEDULED" "RTN","MAGDHWS",36,0) E I X["CANCELLED" S FILLER1="SDAM-CANCELLED" "RTN","MAGDHWS",37,0) E I X["NO-SHOW" S FILLER1="SDAM-CANCELLED" "RTN","MAGDHWS",38,0) E I X["DELETED" S FILLER1="SDAM-CANCELLED" "RTN","MAGDHWS",39,0) E I X="FUTURE" S FILLER1="SDAM-FUTURE" "RTN","MAGDHWS",40,0) E I X="INPATIENT APPOINTMENT" S FILLER1="SDAM-SCHEDULED" "RTN","MAGDHWS",41,0) E I X["NO ACTION TAKEN" S FILLER1="SDAM-SCHEDULED" "RTN","MAGDHWS",42,0) I D ; if one of the above condititions, do the following "RTN","MAGDHWS",43,0) . S APTSCHED("CLINIC NAME")=$S(CLINIC:$$GET1^DIQ(44,CLINIC,.01),1:"") "RTN","MAGDHWS",44,0) . Q "RTN","MAGDHWS",45,0) E D Q "RTN","MAGDHWS",46,0) . W !!,"Unknown Status: """,$P(AFTERSTS,"^",3),"""" "RTN","MAGDHWS",47,0) . W !,"Please notify the Imaging Project" "RTN","MAGDHWS",48,0) . R !,"Push to continue",X:$G(DTIME,300) "RTN","MAGDHWS",49,0) . Q "RTN","MAGDHWS",50,0) ; "RTN","MAGDHWS",51,0) ; find requests that can be perfomed in this clinic "RTN","MAGDHWS",52,0) D SEARCH^MAGDGMRC(DFN,CUTOFF,CLINIC,.REQUEST) "RTN","MAGDHWS",53,0) ; "RTN","MAGDHWS",54,0) ; output an HL7 message for each request related to this appointment "RTN","MAGDHWS",55,0) F IREQ=1:1:REQUEST D "RTN","MAGDHWS",56,0) . S GMRCIEN=$P(REQUEST(IREQ),"^",1),SERVICE=$P(REQUEST(IREQ),"^",2) "RTN","MAGDHWS",57,0) . S STATUS=$P(REQUEST(IREQ),"^",3) "RTN","MAGDHWS",58,0) . S IGNORE=1 D SERVICE^MAGDHWC Q:IGNORE ; not a service of interest "RTN","MAGDHWS",59,0) . ; if {pending, active, scheduled, partially resulted, or complete} "RTN","MAGDHWS",60,0) . I "^p^a^s^pr^c^"[("^"_STATUS_"^") D "RTN","MAGDHWS",61,0) . . ; completed requests can only be checked out or cancelled "RTN","MAGDHWS",62,0) . . I STATUS="c","SDAM-CHECKOUT^SDAM-CANCELLED"'[FILLER1 Q "RTN","MAGDHWS",63,0) . . D MESSAGE("S") "RTN","MAGDHWS",64,0) . . Q "RTN","MAGDHWS",65,0) . Q "RTN","MAGDHWS",66,0) Q "RTN","MAGDHWS",67,0) ; "RTN","MAGDHWS",68,0) MESSAGE(MSGTYPE) ; invoked above and also from ^MAGDHWC for the initial order "RTN","MAGDHWS",69,0) N CONSULT,HL7,MSG,NEXT,OBXSEGNO,ORCTRL,ORSTATUS "RTN","MAGDHWS",70,0) I MSGTYPE="O" D ; ordered - set in ^MAGDHWC "RTN","MAGDHWS",71,0) . S MSGTYPE="ORDERED" "RTN","MAGDHWS",72,0) . S ORCTRL="NW" ; order control "RTN","MAGDHWS",73,0) . S ORSTATUS="IP" ; order status "RTN","MAGDHWS",74,0) . Q "RTN","MAGDHWS",75,0) E D "RTN","MAGDHWS",76,0) . S MSGTYPE="SCHEDULED" "RTN","MAGDHWS",77,0) . S ORCTRL="SC" ; order control -- status changed "RTN","MAGDHWS",78,0) . S ORSTATUS="ZC" ; scheduling "RTN","MAGDHWS",79,0) . Q "RTN","MAGDHWS",80,0) D MSH^HLFNC2(.HL,100000,.MSG) S $P(MSG,DEL,9)="ORM" "RTN","MAGDHWS",81,0) S NEXT=0 "RTN","MAGDHWS",82,0) S NEXT=NEXT+1,HL7(NEXT)=MSG D MSH^MAGDHWA "RTN","MAGDHWS",83,0) S NEXT=NEXT+1,HL7(NEXT)="PID",$P(HL7(NEXT),DEL,1+3)=DFN "RTN","MAGDHWS",84,0) S NEXT=NEXT+1,HL7(NEXT)="PV1" "RTN","MAGDHWS",85,0) D PID^MAGDHWA ; generate PID and PV1 segments "RTN","MAGDHWS",86,0) S NEXT=NEXT+1,HL7(NEXT)=$$ORC D ORC^MAGDHWA "RTN","MAGDHWS",87,0) S NEXT=NEXT+1,HL7(NEXT)=$$OBR D OBR^MAGDHWA "RTN","MAGDHWS",88,0) S NEXT=NEXT+1,HL7(NEXT)=$$ZSV D ZSV^MAGDHWA "RTN","MAGDHWS",89,0) S NEXT=NEXT+1,NEXT=$$OBX(NEXT) "RTN","MAGDHWS",90,0) D ALLERGY^MAGDHWA,POSTINGS^MAGDHWA "RTN","MAGDHWS",91,0) D OUTPUT^MAGDHW0 "RTN","MAGDHWS",92,0) Q "RTN","MAGDHWS",93,0) ; "RTN","MAGDHWS",94,0) PV1() ; build a PV1 segement "RTN","MAGDHWS",95,0) N X,Z "RTN","MAGDHWS",96,0) S FROM=$$GET1^DIQ(123,GMRCIEN,.04,"I") ; patient location "RTN","MAGDHWS",97,0) S Z=FROM_DEL3_$S(FROM:$$GET1^DIQ(44,FROM,.01),1:"")_DEL3_SERVICE "RTN","MAGDHWS",98,0) S $P(X,DEL,10)=Z "RTN","MAGDHWS",99,0) Q "PV1"_DEL_X "RTN","MAGDHWS",100,0) ; "RTN","MAGDHWS",101,0) ORC() ; build an ORC segment "RTN","MAGDHWS",102,0) N ORC,ORCPLCR,ORURG "RTN","MAGDHWS",103,0) S ORCPLCR=$$GET1^DIQ(123,GMRCIEN,10,"I") ; sending provider "RTN","MAGDHWS",104,0) D ORC^GMRCHL7(GMRCIEN,ORCTRL,ORCPLCR,,FMDATETM) "RTN","MAGDHWS",105,0) S $P(ORC,DEL,5+1)=ORSTATUS "RTN","MAGDHWS",106,0) Q ORC "RTN","MAGDHWS",107,0) ; "RTN","MAGDHWS",108,0) ZSV() ; build a ZSV segment "RTN","MAGDHWS",109,0) N ZSV "RTN","MAGDHWS",110,0) D ZSV^GMRCHL7(GMRCIEN) "RTN","MAGDHWS",111,0) Q ZSV "RTN","MAGDHWS",112,0) ; "RTN","MAGDHWS",113,0) OBR() ; build an OBR segment "RTN","MAGDHWS",114,0) N NOTIFY,OBR "RTN","MAGDHWS",115,0) D OBR^GMRCHL72(GMRCIEN,"",FMDATETM) "RTN","MAGDHWS",116,0) Q OBR "RTN","MAGDHWS",117,0) ; "RTN","MAGDHWS",118,0) OBX(NEXT) ; build one or more OBX segments "RTN","MAGDHWS",119,0) N GMRCND,GMRCND1,I,J,OBX,X "RTN","MAGDHWS",120,0) D OBX^GMRCHL72(GMRCIEN) "RTN","MAGDHWS",121,0) S OBXSEGNO=0 "RTN","MAGDHWS",122,0) F I=1:1 Q:'$D(OBX(I)) D "RTN","MAGDHWS",123,0) . D OBX1(OBX(I)) "RTN","MAGDHWS",124,0) . I $D(OBX(I,1)) S X=$P(OBX(I),DEL,1,5) F J=1:1 Q:'$D(OBX(I,J)) D "RTN","MAGDHWS",125,0) . . D OBX1(X_DEL_OBX(I,J)) "RTN","MAGDHWS",126,0) . . Q "RTN","MAGDHWS",127,0) . Q "RTN","MAGDHWS",128,0) Q NEXT "RTN","MAGDHWS",129,0) ; "RTN","MAGDHWS",130,0) OBX1(RECORD) ; store one OBX segment into the HL7 array "RTN","MAGDHWS",131,0) S HL7(NEXT)=RECORD "RTN","MAGDHWS",132,0) S OBXSEGNO=$P(RECORD,DEL,2) ; get the highest value of OBXSEGNO "RTN","MAGDHWS",133,0) S NEXT=NEXT+1 "RTN","MAGDHWS",134,0) Q "RTN","MAGDIR8") 0^26^B10783849 "RTN","MAGDIR8",1,0) MAGDIR8 ;WOIFO/PMK - Read a DICOM image file ; 02/05/2004 08:46 "RTN","MAGDIR8",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR8",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR8",4,0) ;; | Property of the US Government. | "RTN","MAGDIR8",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR8",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR8",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR8",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR8",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR8",10,0) ;; | | "RTN","MAGDIR8",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR8",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR8",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR8",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR8",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR8",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR8",17,0) ;; "RTN","MAGDIR8",18,0) Q "RTN","MAGDIR8",19,0) ; M2MB server "RTN","MAGDIR8",20,0) ; "RTN","MAGDIR8",21,0) ; This routine is invoked by the M2M Boker RPC to process an image. "RTN","MAGDIR8",22,0) ; It extracts each item from the REQUEST list and transfers control "RTN","MAGDIR8",23,0) ; to the appropriate routine to process it. These routines, in turn, "RTN","MAGDIR8",24,0) ; add items to the RESULT list for processing back on the gateway. "RTN","MAGDIR8",25,0) ; "RTN","MAGDIR8",26,0) ENTRY(RESULT,REQUEST) ; RPC = MAG DICOM IMAGE PROCESSING "RTN","MAGDIR8",27,0) N ARGS ; ---- argument string of the REQUEST item "RTN","MAGDIR8",28,0) N DATETIME ;- fileman date/time of the study "RTN","MAGDIR8",29,0) N DCMPID ;--- DICOM patient id "RTN","MAGDIR8",30,0) N DFN ;------ VistA's internal patient identifier "RTN","MAGDIR8",31,0) N ERRCODE ;-- code for an error, if encountered "RTN","MAGDIR8",32,0) N IREQUEST ;- pointer to item in REQUEST array "RTN","MAGDIR8",33,0) N OPCODE ;--- operation code of the REQUEST item "RTN","MAGDIR8",34,0) ; "RTN","MAGDIR8",35,0) ; pass the request list and determine what has to be done "RTN","MAGDIR8",36,0) F IREQUEST=2:1:$G(REQUEST(1)) D "RTN","MAGDIR8",37,0) . S OPCODE=$P(REQUEST(IREQUEST),"|") "RTN","MAGDIR8",38,0) . S ARGS=$P(REQUEST(IREQUEST),"|",2,999) "RTN","MAGDIR8",39,0) . I OPCODE="STORE1" D "RTN","MAGDIR8",40,0) . . D ENTRY^MAGDIR81 "RTN","MAGDIR8",41,0) . . Q "RTN","MAGDIR8",42,0) . E I OPCODE="ACQUIRED" D "RTN","MAGDIR8",43,0) . . D ACQUIRED^MAGDIR82 "RTN","MAGDIR8",44,0) . . Q "RTN","MAGDIR8",45,0) . E I OPCODE="PROCESSED" D "RTN","MAGDIR8",46,0) . . D POSTPROC^MAGDIR82 "RTN","MAGDIR8",47,0) . . Q "RTN","MAGDIR8",48,0) . E I OPCODE="CORRECT" D "RTN","MAGDIR8",49,0) . . D ENTRY^MAGDIR83 "RTN","MAGDIR8",50,0) . . Q "RTN","MAGDIR8",51,0) . E I OPCODE="PATIENT SAFETY" D "RTN","MAGDIR8",52,0) . . D ENTRY^MAGDIR84 "RTN","MAGDIR8",53,0) . . Q "RTN","MAGDIR8",54,0) . E I OPCODE="ROLLBACK" D "RTN","MAGDIR8",55,0) . . D ENTRY^MAGDIR85 "RTN","MAGDIR8",56,0) . . Q "RTN","MAGDIR8",57,0) . E I OPCODE="CRASH" D "RTN","MAGDIR8",58,0) . . S I=1/0 ; generate an error on the server to test error trapping "RTN","MAGDIR8",59,0) . . Q "RTN","MAGDIR8",60,0) . E W !,"#",IREQUEST," -- Ignored: ",REQUEST(IREQUEST) "RTN","MAGDIR8",61,0) . Q "RTN","MAGDIR8",62,0) Q "RTN","MAGDIR8",63,0) ; "RTN","MAGDIR8",64,0) ERROR(OPCODE,ERRCODE,MSG,ROUTINE) ; build the RESULT array for the error "RTN","MAGDIR8",65,0) ; this must be called after ^MAGDIRVE is invoked to put the message "RTN","MAGDIR8",66,0) ; into the RESULT array - otherwise the message will be lost "RTN","MAGDIR8",67,0) N I,X "RTN","MAGDIR8",68,0) S X=ERRCODE_"|"_$G(MSG("TITLE"))_"|"_ROUTINE_"|"_$G(MSG("CRITICAL")) "RTN","MAGDIR8",69,0) D RESULT^MAGDIR8(OPCODE,X) "RTN","MAGDIR8",70,0) S I="" F S I=$O(MSG(I)) Q:'I D "RTN","MAGDIR8",71,0) . I MSG(I)?1"Problem detected by routine".E D "RTN","MAGDIR8",72,0) . . ; add error code to the message "RTN","MAGDIR8",73,0) . . S MSG(I)=MSG(I)_" Error Code: "_ERRCODE "RTN","MAGDIR8",74,0) . . Q "RTN","MAGDIR8",75,0) . D RESULT^MAGDIR8("MSG","|"_MSG(I)) "RTN","MAGDIR8",76,0) . Q "RTN","MAGDIR8",77,0) S $P(RESULT(RESULT(1)),"|",2)="END" "RTN","MAGDIR8",78,0) Q "RTN","MAGDIR8",79,0) ; "RTN","MAGDIR8",80,0) RESULT(OPCODE,ARGS) ; add an item to the RESULT list "RTN","MAGDIR8",81,0) N LAST "RTN","MAGDIR8",82,0) S LAST=$G(RESULT(1),1) ; first element in array is counter "RTN","MAGDIR8",83,0) S LAST=LAST+1,RESULT(LAST)=OPCODE_"|"_ARGS,RESULT(1)=LAST "RTN","MAGDIR8",84,0) Q "RTN","MAGDIR81") 0^27^B57992062 "RTN","MAGDIR81",1,0) MAGDIR81 ;WOIFO/PMK - Read a DICOM image file ; 04 Feb 2004 11:00 AM "RTN","MAGDIR81",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR81",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR81",4,0) ;; | Property of the US Government. | "RTN","MAGDIR81",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR81",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR81",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR81",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR81",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR81",10,0) ;; | | "RTN","MAGDIR81",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR81",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR81",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR81",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR81",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR81",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR81",17,0) ;; "RTN","MAGDIR81",18,0) ; "RTN","MAGDIR81",19,0) ; M2MB server "RTN","MAGDIR81",20,0) ; "RTN","MAGDIR81",21,0) ; This routine is invoked by the ^MAGDIR8 for the "STORE1/STORE2" "RTN","MAGDIR81",22,0) ; REQUEST items when there is an image to be stored into the database. "RTN","MAGDIR81",23,0) ; It adds it to the ^MAG global with appropriate pointers to the "RTN","MAGDIR81",24,0) ; "parent data files". "RTN","MAGDIR81",25,0) ; "RTN","MAGDIR81",26,0) ENTRY ; process one image "RTN","MAGDIR81",27,0) N MEDATA ;--- medicine pkg patient & study data (set in ^MAGDIR8A) "RTN","MAGDIR81",28,0) N FILEDATA ;- array of data to be passed between routines "RTN","MAGDIR81",29,0) N FIRSTDCM ;- patient first name from the image header (ie, PNAMEDCM) "RTN","MAGDIR81",30,0) N GMRCIEN ;-- internal entry number of consult/procedure request "RTN","MAGDIR81",31,0) N LASTDCM ;-- patient last name from the image header (ie, PNAMEDCM) "RTN","MAGDIR81",32,0) N MAGGP ;---- image's group pointer in ^MAG(2005) "RTN","MAGDIR81",33,0) N MAGIEN ;--- pointer to the entry for the image in ^MAG(2005) "RTN","MAGDIR81",34,0) N MIDCM ;---- patient middle initial from the image header (PNAMEDCM) "RTN","MAGDIR81",35,0) N PNAMEVAH ;- patient name from VADM(1) "RTN","MAGDIR81",36,0) N PROCDESC ;- procedure description (VA's name) "RTN","MAGDIR81",37,0) N RADATA ;--- radiology pkg patient & study data (set in ^MAGDIR8A) "RTN","MAGDIR81",38,0) N VADM ;----- array of demographic variables filled in by DEM^VADPT "RTN","MAGDIR81",39,0) N MAG0,MAG1,MAG2,QUIT,X "RTN","MAGDIR81",40,0) ; "RTN","MAGDIR81",41,0) N ACNUMB,CASENUMB,EMAIL,FROMPATH,IMAGEUID,IMAGNAME,IMAGNUMB,IMGSVC "RTN","MAGDIR81",42,0) N INSTLOC,INSTNAME,LASTIMG,LOCATION,LOOPCNT,MACHID,MODALITY,MODPARMS "RTN","MAGDIR81",43,0) N MULTFRAM,PID,PNAMEDCM,ROUTRULE,SERINUMB,SERIEUID,STATUS,STUDYDAT "RTN","MAGDIR81",44,0) N STUDYTIM,STUDYDAT,STUDYTIM,STUDYUID,SYSTITLE "RTN","MAGDIR81",45,0) ; "RTN","MAGDIR81",46,0) S STATUS=$P(ARGS,"|",1),LOCATION=$P(ARGS,"|",2) "RTN","MAGDIR81",47,0) S MACHID=$P(ARGS,"|",3),IMGSVC=$P(ARGS,"|",4) "RTN","MAGDIR81",48,0) S INSTNAME=$P(ARGS,"|",5),FROMPATH=$P(ARGS,"|",6) "RTN","MAGDIR81",49,0) S PID=$P(ARGS,"|",7),PNAMEDCM=$P(ARGS,"|",8) "RTN","MAGDIR81",50,0) S CASENUMB=$P(ARGS,"|",9),ACNUMB=$P(ARGS,"|",10) "RTN","MAGDIR81",51,0) S STUDYDAT=$P(ARGS,"|",11),STUDYTIM=$P(ARGS,"|",12) "RTN","MAGDIR81",52,0) S LOOPCNT=$P(ARGS,"|",13),MODALITY=$P(ARGS,"|",14) "RTN","MAGDIR81",53,0) S IMAGNAME=$P(ARGS,"|",15),MODPARMS=$P(ARGS,"|",16) "RTN","MAGDIR81",54,0) S SERINUMB=$P(ARGS,"|",17),IMAGNUMB=$P(ARGS,"|",18) "RTN","MAGDIR81",55,0) S INSTLOC=$P(ARGS,"|",19),MULTFRAM=$P(ARGS,"|",20) "RTN","MAGDIR81",56,0) S SYSTITLE=$P(ARGS,"|",21),EMAIL=$P(ARGS,"|",22) "RTN","MAGDIR81",57,0) S IREQUEST=IREQUEST+1,OPCODE=$P(REQUEST(IREQUEST),"|") "RTN","MAGDIR81",58,0) I OPCODE'="STORE2" D Q "RTN","MAGDIR81",59,0) . D RESULT^MAGDIR8("STORE","-101 Expecting STORE2, got """_OPCODE_"""") "RTN","MAGDIR81",60,0) . Q "RTN","MAGDIR81",61,0) S ARGS=$P(REQUEST(IREQUEST),"|",2,999) "RTN","MAGDIR81",62,0) S STUDYUID=$P(ARGS,"|",1),SERIEUID=$P(ARGS,"|",2) "RTN","MAGDIR81",63,0) S IMAGEUID=$P(ARGS,"|",3),LASTIMG=$P(ARGS,"|",4) "RTN","MAGDIR81",64,0) S ROUTRULE=$P(ARGS,"|",5),MFGR=$P(ARGS,"|",6) "RTN","MAGDIR81",65,0) S MODEL=$P(ARGS,"|",7) "RTN","MAGDIR81",66,0) ; "RTN","MAGDIR81",67,0) ; get a pointer to the image, if it is already on file "RTN","MAGDIR81",68,0) S MAGIEN=$O(^MAG(2005,"P",IMAGEUID,0)) "RTN","MAGDIR81",69,0) ; "RTN","MAGDIR81",70,0) ; the following line will have to be adjusted for DICOM SR "RTN","MAGDIR81",71,0) S FILEDATA("TYPE")=$O(^MAG(2005.83,"B","IMAGE","")) "RTN","MAGDIR81",72,0) ; "RTN","MAGDIR81",73,0) I 'MULTFRAM D Q:ERRCODE ; new image "RTN","MAGDIR81",74,0) . S ERRCODE=$$NEWIMAGE() "RTN","MAGDIR81",75,0) . I ERRCODE D ; error - abort image processing "RTN","MAGDIR81",76,0) . . D ERROR^MAGDIR8("STORE",ERRCODE,.MSG,$T(+0)) "RTN","MAGDIR81",77,0) . . Q "RTN","MAGDIR81",78,0) . Q "RTN","MAGDIR81",79,0) E D ; subsequent image of a multiframe object "RTN","MAGDIR81",80,0) . D MULTFRAM "RTN","MAGDIR81",81,0) . Q "RTN","MAGDIR81",82,0) ; "RTN","MAGDIR81",83,0) ;create the image pointer "RTN","MAGDIR81",84,0) I MODPARMS="" D ; store DICOM image type in VistA "RTN","MAGDIR81",85,0) . S FILEDATA("OBJECT TYPE")=100 ; DICOM image type "RTN","MAGDIR81",86,0) . S FILEDATA("EXTENSION")="EXT^DCM" ; specify the DICOM file extension "RTN","MAGDIR81",87,0) . Q "RTN","MAGDIR81",88,0) E D ; convert DICOM image type to TGA and store it in VistA "RTN","MAGDIR81",89,0) . S FILEDATA("OBJECT TYPE")=3 ; XRAY image type "RTN","MAGDIR81",90,0) . S FILEDATA("EXTENSION")="EXT^TGA" ; specify the TGA file extension "RTN","MAGDIR81",91,0) . Q "RTN","MAGDIR81",92,0) S FILEDATA("ABSTRACT")="ABS^STUFFONLY" ; specify the abstract net loc "RTN","MAGDIR81",93,0) ; "RTN","MAGDIR81",94,0) S ERRCODE=$$IMAGE^MAGDIR9B ; create the ^MAG(2005) entry for the image "RTN","MAGDIR81",95,0) I ERRCODE D ; error - abort image processing "RTN","MAGDIR81",96,0) . D ERROR^MAGDIR8("STORE",ERRCODE,.MSG,$T(+0)) "RTN","MAGDIR81",97,0) . Q "RTN","MAGDIR81",98,0) E D ; no error "RTN","MAGDIR81",99,0) . S X="0|"_RETURN "RTN","MAGDIR81",100,0) . ; save pname, pid, dob, age, and sex from DEM^VADPT for gateway "RTN","MAGDIR81",101,0) . F I=1:1:5 S X=X_"|"_VADM(I) "RTN","MAGDIR81",102,0) . D RESULT^MAGDIR8("STORE",X) "RTN","MAGDIR81",103,0) . Q "RTN","MAGDIR81",104,0) Q "RTN","MAGDIR81",105,0) ; "RTN","MAGDIR81",106,0) NEWIMAGE() ; processing for a new image "RTN","MAGDIR81",107,0) N PIDCHECK ;- return value of from $$PIDCHECK^MAGDIR8A() "RTN","MAGDIR81",108,0) ; "RTN","MAGDIR81",109,0) I MAGIEN,LOOPCNT>2 D Q "-1 Image already in database" "RTN","MAGDIR81",110,0) . K MSG "RTN","MAGDIR81",111,0) . S Y=$P($G(^MAG(2005,MAGIEN,2)),"^") I Y D DD^%DT "RTN","MAGDIR81",112,0) . S MSG(1)="Image """_FROMPATH_"""" "RTN","MAGDIR81",113,0) . S MSG(2)="is already in the database (#"_MAGIEN_") for" "RTN","MAGDIR81",114,0) . S MSG(3)=""""_$P($G(^MAG(2005,MAGIEN,0)),"^")_"""" "RTN","MAGDIR81",115,0) . S MSG(4)="Acquired on "_Y "RTN","MAGDIR81",116,0) . S MSG(5)="UID = "_IMAGEUID "RTN","MAGDIR81",117,0) . Q "RTN","MAGDIR81",118,0) ; "RTN","MAGDIR81",119,0) I MAGIEN D ; process the image again, after software crash "RTN","MAGDIR81",120,0) . ; If the software crashed processing the first image, it might "RTN","MAGDIR81",121,0) . ; delete the image without ever writing it to the file server. "RTN","MAGDIR81",122,0) . ; Now, the image processing software has a second chance. "RTN","MAGDIR81",123,0) . K MSG "RTN","MAGDIR81",124,0) . S Y=$P($G(^MAG(2005,MAGIEN,2)),"^") I Y D DD^%DT "RTN","MAGDIR81",125,0) . S MSG(1)="Reprocessing image """_FROMPATH_"""" "RTN","MAGDIR81",126,0) . S MSG(2)="which is partially in the database (#"_MAGIEN_") for" "RTN","MAGDIR81",127,0) . S MSG(3)=""""_$P($G(^MAG(2005,MAGIEN,0)),"^")_"""" "RTN","MAGDIR81",128,0) . S MSG(4)="Acquired on "_Y "RTN","MAGDIR81",129,0) . S MSG(5)="UID = "_IMAGEUID "RTN","MAGDIR81",130,0) . D ERROR^MAGDIR8("STORE","1 Image partially in the database",.MSG,$T(+0)) "RTN","MAGDIR81",131,0) . Q "RTN","MAGDIR81",132,0) ; "RTN","MAGDIR81",133,0) ; lookup the study by ACNUMB/CASENUMB, get DFN, and double-check PID "RTN","MAGDIR81",134,0) S ERRCODE=$$LOOKUP Q:ERRCODE ERRCODE "RTN","MAGDIR81",135,0) ; "RTN","MAGDIR81",136,0) S PIDCHECK=$$PIDCHECK^MAGDIR8A() "RTN","MAGDIR81",137,0) I PIDCHECK D Q "-2 Image Association Problem" ; didn't find the study "RTN","MAGDIR81",138,0) . N COLUMNS,MFGR,MODEL,MODIEN,OFFSET,ROWS "RTN","MAGDIR81",139,0) . ; formulate error message "RTN","MAGDIR81",140,0) . K MSG "RTN","MAGDIR81",141,0) . S MSG(1)=PIDCHECK "RTN","MAGDIR81",142,0) . S (ROWS,COLUMNS,OFFSET,MODIEN,MFGR,MODEL)="" "RTN","MAGDIR81",143,0) . D MOVE^MAGDLBAA "RTN","MAGDIR81",144,0) . Q "RTN","MAGDIR81",145,0) ; create the group pointer "RTN","MAGDIR81",146,0) I IMGSVC="RAD" D Q:ERRCODE ERRCODE "RTN","MAGDIR81",147,0) . S ERRCODE=$$GROUP^MAGDIR9A "RTN","MAGDIR81",148,0) . Q "RTN","MAGDIR81",149,0) E I IMGSVC="CON" D Q:ERRCODE ERRCODE "RTN","MAGDIR81",150,0) . S ERRCODE=$$GROUP^MAGDIR9E "RTN","MAGDIR81",151,0) . Q "RTN","MAGDIR81",152,0) E D Q 3 ; undefined imaging service - same as error #4 in LOOKUP "RTN","MAGDIR81",153,0) . K MSG "RTN","MAGDIR81",154,0) . S MSG(1)="Undefined Imaging Service: "_IMGSVC "RTN","MAGDIR81",155,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR81",156,0) . Q "RTN","MAGDIR81",157,0) ; "RTN","MAGDIR81",158,0) Q 0 "RTN","MAGDIR81",159,0) ; "RTN","MAGDIR81",160,0) MULTFRAM ; handle additional images in a multiframe object "RTN","MAGDIR81",161,0) ; get the information from the first image for the additional ones "RTN","MAGDIR81",162,0) ; "RTN","MAGDIR81",163,0) N DIQUIET "RTN","MAGDIR81",164,0) S MAG0=^MAG(2005,MAGIEN,0),MAG1=$G(^(1)),MAG2=$G(^(2)) "RTN","MAGDIR81",165,0) S MAG40=$G(^MAG(2005,MAGIEN,40)),MAG100=$G(^(100)) "RTN","MAGDIR81",166,0) S MAGPACS=$G(^MAG(2005,MAGIEN,"PACS")) "RTN","MAGDIR81",167,0) S INAME=$P(MAG0,"^",1) ; field .01 "RTN","MAGDIR81",168,0) S PNAMEVAH=$P(INAME," ",1),DCMPID=$P(INAME," ",2) "RTN","MAGDIR81",169,0) S DFN=$P(MAG0,"^",7) ; field 5 "RTN","MAGDIR81",170,0) S MAGGP=$P(MAG0,"^",10) ; field 14 "RTN","MAGDIR81",171,0) S DATETIME=$P(MAG2,"^",5) ; field 15 "RTN","MAGDIR81",172,0) S FILEDATA("MODALITY")=MODALITY "RTN","MAGDIR81",173,0) S FILEDATA("PARENT FILE")=$P(MAG2,"^",6) ; field 16 "RTN","MAGDIR81",174,0) S FILEDATA("PARENT IEN")=$P(MAG2,"^",7) ; field 17 "RTN","MAGDIR81",175,0) S FILEDATA("PARENT FILE PTR")=$P(MAG2,"^",8) ; field 18 "RTN","MAGDIR81",176,0) S FILEDATA("RAD REPORT")=$P(MAGPACS,"^",2) ; field 61 "RTN","MAGDIR81",177,0) S FILEDATA("RAD PROC PTR")=$P(MAGPACS,"^",3) ; field 62 "RTN","MAGDIR81",178,0) S FILEDATA("PACKAGE")=$P(MAG40,"^",1) ; field 40 "RTN","MAGDIR81",179,0) ; field 41 is not needed "RTN","MAGDIR81",180,0) S FILEDATA("TYPE")=$P(MAG40,"^",3) ; field 42 "RTN","MAGDIR81",181,0) S FILEDATA("PROC/EVENT")=$P(MAG40,"^",4) ; field 43 "RTN","MAGDIR81",182,0) S FILEDATA("SPEC/SUBSPEC")=$P(MAG40,"^",5) ; field 44 "RTN","MAGDIR81",183,0) S FILEDATA("ACQUISITION DEVICE")=$P(MAG100,"^",4) ; field 107 "RTN","MAGDIR81",184,0) S PROCDESC=$P(MAG2,"^",4) ; field 10 "RTN","MAGDIR81",185,0) ; S X="" F S X=$O(FILEDATA(X)) Q:X="" I FILEDATA(X)="" K FILEDATA(X) "RTN","MAGDIR81",186,0) I PROCDESC?.E1" (#".N1")" S PROCDESC=$P(PROCDESC," (#") "RTN","MAGDIR81",187,0) ; lookup patient in VistA database - needed to build VADM array "RTN","MAGDIR81",188,0) S DIQUIET=1 D DEM^VADPT "RTN","MAGDIR81",189,0) Q "RTN","MAGDIR81",190,0) ; "RTN","MAGDIR81",191,0) LOOKUP() ; lookup the patient/study using cross-reference "RTN","MAGDIR81",192,0) I IMGSVC="RAD" D "RTN","MAGDIR81",193,0) . D RADLKUP^MAGDIR8A "RTN","MAGDIR81",194,0) . Q "RTN","MAGDIR81",195,0) E I IMGSVC="CON" D "RTN","MAGDIR81",196,0) . S ACNUMB=CASENUMB "RTN","MAGDIR81",197,0) . D CONLKUP^MAGDIR8A "RTN","MAGDIR81",198,0) . Q "RTN","MAGDIR81",199,0) E D Q 4 ; undefined imaging servce - same as error #3 in NEWIMAGE "RTN","MAGDIR81",200,0) . K MSG "RTN","MAGDIR81",201,0) . S MSG(1)="Undefined Imaging Service: "_IMGSVC "RTN","MAGDIR81",202,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR81",203,0) . Q "RTN","MAGDIR81",204,0) Q 0 "RTN","MAGDIR82") 0^28^B28519711 "RTN","MAGDIR82",1,0) MAGDIR82 ;WOIFO/PMK - Read a DICOM image file ; 04/05/2004 11:11 "RTN","MAGDIR82",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR82",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR82",4,0) ;; | Property of the US Government. | "RTN","MAGDIR82",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR82",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR82",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR82",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR82",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR82",10,0) ;; | | "RTN","MAGDIR82",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR82",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR82",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR82",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR82",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR82",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR82",17,0) ;; "RTN","MAGDIR82",18,0) ; "RTN","MAGDIR82",19,0) ; M2MB server "RTN","MAGDIR82",20,0) ; "RTN","MAGDIR82",21,0) ; This routine is invoked by the ^MAGDIR8 to update statistics & add "RTN","MAGDIR82",22,0) ; an image to the background processor and auto-router queues. "RTN","MAGDIR82",23,0) ; "RTN","MAGDIR82",24,0) ; There are two entry points, one for the "ACQUIRED" RESULT item, and "RTN","MAGDIR82",25,0) ; the other (POSTPROC) for the "PROCESSED" RESULT item. "RTN","MAGDIR82",26,0) ; "RTN","MAGDIR82",27,0) ACQUIRED ; update image acquisition statistics "RTN","MAGDIR82",28,0) N INSTNAME,LOCATION,STATUS "RTN","MAGDIR82",29,0) S STATUS=$P(ARGS,"|",1) "RTN","MAGDIR82",30,0) S LOCATION=$P(ARGS,"|",2) "RTN","MAGDIR82",31,0) S INSTNAME=$P(ARGS,"|",3) "RTN","MAGDIR82",32,0) D COUNT("ACQUIRED") "RTN","MAGDIR82",33,0) Q "RTN","MAGDIR82",34,0) ; "RTN","MAGDIR82",35,0) POSTPROC ; update image processing statistics and add to BP & AR queues "RTN","MAGDIR82",36,0) N COUNTFLG,ERRCODE,EVAL,IMAGEPTR,INSTNAME,LOCATION,STATUS "RTN","MAGDIR82",37,0) S STATUS=$P(ARGS,"|",1) "RTN","MAGDIR82",38,0) S LOCATION=$P(ARGS,"|",2) "RTN","MAGDIR82",39,0) S INSTNAME=$P(ARGS,"|",3) "RTN","MAGDIR82",40,0) S IMAGEPTR=$P(ARGS,"|",4) "RTN","MAGDIR82",41,0) S COUNTFLG=$P(ARGS,"|",5) ; zero for multiframe images "RTN","MAGDIR82",42,0) S EVAL=$P(ARGS,"|",6) "RTN","MAGDIR82",43,0) I COUNTFLG D COUNT("PROCESSED") "RTN","MAGDIR82",44,0) ; "RTN","MAGDIR82",45,0) S ERRCODE="" "RTN","MAGDIR82",46,0) ; "RTN","MAGDIR82",47,0) I $$CONSOLID^MAGDFCNV D "RTN","MAGDIR82",48,0) . D POSTPRO2 ; consolidation code "RTN","MAGDIR82",49,0) . Q "RTN","MAGDIR82",50,0) E D "RTN","MAGDIR82",51,0) . D POSTPRO1 ; non-consolidation code "RTN","MAGDIR82",52,0) . Q "RTN","MAGDIR82",53,0) I ERRCODE="" D "RTN","MAGDIR82",54,0) . D RESULT^MAGDIR8(OPCODE,"|"_$P(ARGS,"|",2,999)) "RTN","MAGDIR82",55,0) . Q "RTN","MAGDIR82",56,0) E D "RTN","MAGDIR82",57,0) . D ERROR^MAGDIR8(OPCODE,ERRCODE,.MSG,$T(+0)) "RTN","MAGDIR82",58,0) . Q "RTN","MAGDIR82",59,0) Q "RTN","MAGDIR82",60,0) ; "RTN","MAGDIR82",61,0) POSTPRO1 ; non-consolidation code version of post processing "RTN","MAGDIR82",62,0) N Z "RTN","MAGDIR82",63,0) ; add the image to the jukebox queue "RTN","MAGDIR82",64,0) S Z=$$JUKEBOX^MAGBAPI(IMAGEPTR) "RTN","MAGDIR82",65,0) I 'Z D Q "RTN","MAGDIR82",66,0) . K MSG "RTN","MAGDIR82",67,0) . S MSG(1)="JUKEBOX QUEUE CREATION ERROR:" "RTN","MAGDIR82",68,0) . S MSG(2)="An image has not been entered into the jukebox queue." "RTN","MAGDIR82",69,0) . S MSG(3)="Image pointer: "_IMAGEPTR "RTN","MAGDIR82",70,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR82",71,0) . S ERRCODE=-401 "RTN","MAGDIR82",72,0) . Q "RTN","MAGDIR82",73,0) ; "RTN","MAGDIR82",74,0) D:EVAL ; Add the image to the routing evaluator queue "RTN","MAGDIR82",75,0) . S Z=$$EVAL^MAGBAPI(IMAGEPTR) "RTN","MAGDIR82",76,0) . I Z<0 D Q "RTN","MAGDIR82",77,0) . . K MSG "RTN","MAGDIR82",78,0) . . S MSG(1)="AUTOROUTER EVALUATION QUEUE CREATION ERROR:" "RTN","MAGDIR82",79,0) . . S MSG(2)="An image could not be evaluated for autorouting purposes." "RTN","MAGDIR82",80,0) . . S MSG(3)="Image pointer: "_IMAGEPTR "RTN","MAGDIR82",81,0) . . S MSG(4)="Error code is """_Z_"""." "RTN","MAGDIR82",82,0) . . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR82",83,0) . . S ERRCODE=-402 "RTN","MAGDIR82",84,0) . . Q "RTN","MAGDIR82",85,0) . Q "RTN","MAGDIR82",86,0) Q "RTN","MAGDIR82",87,0) ; "RTN","MAGDIR82",88,0) POSTPRO2 ; consolidation code version of post processing "RTN","MAGDIR82",89,0) N PLACE,Z "RTN","MAGDIR82",90,0) S PLACE=$O(^MAG(2006.1,"B",LOCATION,"")) "RTN","MAGDIR82",91,0) ; "RTN","MAGDIR82",92,0) ; add the image to the jukebox queue "RTN","MAGDIR82",93,0) S Z=$$JUKEBOX^MAGBAPI(IMAGEPTR,PLACE) "RTN","MAGDIR82",94,0) I 'Z D Q "RTN","MAGDIR82",95,0) . K MSG "RTN","MAGDIR82",96,0) . S MSG(1)="JUKEBOX QUEUE CREATION ERROR:" "RTN","MAGDIR82",97,0) . S MSG(2)="An image has not been entered into the jukebox queue." "RTN","MAGDIR82",98,0) . S MSG(3)="Image pointer: "_IMAGEPTR_" Location: "_LOCATION "RTN","MAGDIR82",99,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR82",100,0) . S ERRCODE=-403 "RTN","MAGDIR82",101,0) . Q "RTN","MAGDIR82",102,0) ; "RTN","MAGDIR82",103,0) D:EVAL ; Add the image to the routing evaluator queue "RTN","MAGDIR82",104,0) . S Z=$$EVAL^MAGBAPI(IMAGEPTR,PLACE) "RTN","MAGDIR82",105,0) . I Z<0 D Q "RTN","MAGDIR82",106,0) . . K MSG "RTN","MAGDIR82",107,0) . . S MSG(1)="AUTOROUTER EVALUATION QUEUE CREATION ERROR:" "RTN","MAGDIR82",108,0) . . S MSG(2)="An image could not be evaluated for autorouting purposes." "RTN","MAGDIR82",109,0) . . S MSG(3)="Image pointer: "_IMAGEPTR_" Place: "_PLACE "RTN","MAGDIR82",110,0) . . S MSG(4)="Error code is """_Z_"""." "RTN","MAGDIR82",111,0) . . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR82",112,0) . . S ERRCODE=-404 "RTN","MAGDIR82",113,0) . . Q "RTN","MAGDIR82",114,0) . Q "RTN","MAGDIR82",115,0) Q "RTN","MAGDIR82",116,0) ; "RTN","MAGDIR82",117,0) COUNT(STEP) ; update today's count "RTN","MAGDIR82",118,0) N %,D2,%H,NOW,PC,TODAY,X "RTN","MAGDIR82",119,0) D NOW^%DTC S TODAY=X,NOW=% "RTN","MAGDIR82",120,0) L +^MAGDAUDT(2006.5762,TODAY) "RTN","MAGDIR82",121,0) D:'$D(^MAGDAUDT(2006.5752,TODAY)) "RTN","MAGDIR82",122,0) . S X=$G(^MAGDAUDT(2006.5762,0)) "RTN","MAGDIR82",123,0) . S $P(X,"^",1,2)="DICOM INSTRUMENT STATISTICS^2006.5762" "RTN","MAGDIR82",124,0) . S $P(X,"^",3)=TODAY "RTN","MAGDIR82",125,0) . S $P(X,"^",4)=$P(X,"^",4)+1 "RTN","MAGDIR82",126,0) . S ^MAGDAUDT(2006.5762,0)=X "RTN","MAGDIR82",127,0) . S ^MAGDAUDT(2006.5762,TODAY,0)=TODAY "RTN","MAGDIR82",128,0) . S ^MAGDAUDT(2006.5762,"B",TODAY,TODAY)="" "RTN","MAGDIR82",129,0) . Q "RTN","MAGDIR82",130,0) S D2=$O(^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,"B",INSTNAME,"")) "RTN","MAGDIR82",131,0) D:'D2 "RTN","MAGDIR82",132,0) . S D2=$O(^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1," "),-1)+1 "RTN","MAGDIR82",133,0) . S X=$G(^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,0)) "RTN","MAGDIR82",134,0) . S $P(X,"^",2)="2006.576211" "RTN","MAGDIR82",135,0) . S $P(X,"^",3)=D2 "RTN","MAGDIR82",136,0) . S $P(X,"^",4)=$P(X,"^",4)+1 "RTN","MAGDIR82",137,0) . S ^MAGDAUDT(2006.5762,TODAY,1,LOCATION,0)=LOCATION "RTN","MAGDIR82",138,0) . S ^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,0)=X "RTN","MAGDIR82",139,0) . S ^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,D2,0)=INSTNAME "RTN","MAGDIR82",140,0) . S ^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,"B",INSTNAME,D2)="" "RTN","MAGDIR82",141,0) . Q "RTN","MAGDIR82",142,0) S X=$G(^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,D2,0)) "RTN","MAGDIR82",143,0) S PC=$S(STEP="ACQUIRED":2,STEP="PROCESSED":4,1:6) "RTN","MAGDIR82",144,0) S $P(X,"^",PC)=$P(X,"^",PC)+1 "RTN","MAGDIR82",145,0) S $P(X,"^",PC+1)=NOW "RTN","MAGDIR82",146,0) S ^MAGDAUDT(2006.5762,TODAY,1,LOCATION,1,D2,0)=X "RTN","MAGDIR82",147,0) L -^MAGDAUDT(2006.5762,TODAY) "RTN","MAGDIR82",148,0) Q "RTN","MAGDIR82",149,0) ; "RTN","MAGDIR83") 0^29^B22290156 "RTN","MAGDIR83",1,0) MAGDIR83 ;WOIFO/PMK - Read a DICOM image file ; 17 Mar 2004 10:47 AM "RTN","MAGDIR83",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR83",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR83",4,0) ;; | Property of the US Government. | "RTN","MAGDIR83",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR83",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR83",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR83",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR83",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR83",10,0) ;; | | "RTN","MAGDIR83",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR83",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR83",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR83",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR83",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR83",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR83",17,0) ;; "RTN","MAGDIR83",18,0) ; "RTN","MAGDIR83",19,0) ; M2MB server "RTN","MAGDIR83",20,0) ; "RTN","MAGDIR83",21,0) ; This routine is invoked by the ^MAGDIR8 to update handle DICOM "RTN","MAGDIR83",22,0) ; CORRECT functions, that is, the "CORRECT" REQUEST item. "RTN","MAGDIR83",23,0) ; "RTN","MAGDIR83",24,0) ; This is a four-step process: "RTN","MAGDIR83",25,0) ; "RTN","MAGDIR83",26,0) ; 1) The "QUERY" record is sent, to obtain a list of corrected "RTN","MAGDIR83",27,0) ; images. The list is sent back to the gateway in a list of "RTN","MAGDIR83",28,0) ; "CORRECT" RESULT items, each with new patient/study values. "RTN","MAGDIR83",29,0) ; If the images are to be deleted, the list will contain "DELETE" "RTN","MAGDIR83",30,0) ; instead of "FIXED" RESULT items. "RTN","MAGDIR83",31,0) ; 2) The gateway processes each corrected/deleted image, one at a "RTN","MAGDIR83",32,0) ; time. "RTN","MAGDIR83",33,0) ; 3) The gateway sends a "PROCESSED | IMAGE" record is sent back to "RTN","MAGDIR83",34,0) ; the server for each corrected image, so that each can be "RTN","MAGDIR83",35,0) ; deleted from the list. (This is called an RPC Callback.) "RTN","MAGDIR83",36,0) ; 4) Finally, the gateway sends a "PROCESSED | STUDY" record back to "RTN","MAGDIR83",37,0) ; the server to delete the remainder of the study from the list. "RTN","MAGDIR83",38,0) ; "RTN","MAGDIR83",39,0) ENTRY ; update image acquisition statistics "RTN","MAGDIR83",40,0) N LOCATION,MACHID,STATUS "RTN","MAGDIR83",41,0) S STATUS=$P(ARGS,"|",1) "RTN","MAGDIR83",42,0) I STATUS="QUERY" D "RTN","MAGDIR83",43,0) . D QUERY "RTN","MAGDIR83",44,0) . Q "RTN","MAGDIR83",45,0) E I STATUS="PROCESSED" D "RTN","MAGDIR83",46,0) . D PROCESS "RTN","MAGDIR83",47,0) . Q "RTN","MAGDIR83",48,0) Q "RTN","MAGDIR83",49,0) ; "RTN","MAGDIR83",50,0) QUERY ; get the list of DICOM CORRECTED files "RTN","MAGDIR83",51,0) N DELFLAG,ICOUNT,IMAGEIEN,INSTNAME,LOCATION,MACHID "RTN","MAGDIR83",52,0) N NEW,NEWNAME,NEWPID,NEWACN,NIMAGES,STUDYIEN,STUDYUID "RTN","MAGDIR83",53,0) ; "RTN","MAGDIR83",54,0) S LOCATION=$P(ARGS,"|",2),MACHID=$P(ARGS,"|",3) "RTN","MAGDIR83",55,0) S NIMAGES=0,STUDYIEN="" "RTN","MAGDIR83",56,0) F S STUDYIEN=$O(^MAGD(2006.575,"AFX",LOCATION,MACHID,STUDYIEN)) Q:'STUDYIEN Q:NIMAGES>24 D "RTN","MAGDIR83",57,0) . S DELFLAG=^MAGD(2006.575,"AFX",LOCATION,MACHID,STUDYIEN) "RTN","MAGDIR83",58,0) . S INSTNAME=$P(^MAGD(2006.575,STUDYIEN,"AMFG"),"^",1) "RTN","MAGDIR83",59,0) . S STUDYUID=^MAGD(2006.575,STUDYIEN,"ASUID") "RTN","MAGDIR83",60,0) . S NEW=^MAGD(2006.575,STUDYIEN,"FIXD") "RTN","MAGDIR83",61,0) . S NEWNAME=$P(NEW,"^",3),NEWPID=$P(NEW,"^",4),NEWACN=$P(NEW,"^",5) "RTN","MAGDIR83",62,0) . S IMAGEIEN=STUDYIEN ; need to process the first image "RTN","MAGDIR83",63,0) . D QUERY1("NONE") ; first time - defer deleting this node "RTN","MAGDIR83",64,0) . S ICOUNT=0 "RTN","MAGDIR83",65,0) . F S ICOUNT=$O(^MAGD(2006.575,STUDYIEN,"RLATE",ICOUNT)) Q:'ICOUNT Q:NIMAGES>24 D "RTN","MAGDIR83",66,0) . . S IMAGEIEN=^MAGD(2006.575,STUDYIEN,"RLATE",ICOUNT,0) "RTN","MAGDIR83",67,0) . . D QUERY1("IMAGE") ; regular image - delete it "RTN","MAGDIR83",68,0) . . S NIMAGES=NIMAGES+1 "RTN","MAGDIR83",69,0) . . Q "RTN","MAGDIR83",70,0) . I 'ICOUNT D ; end of study reached - delete first image & study "RTN","MAGDIR83",71,0) . . S IMAGEIEN=STUDYIEN ; need to delete first image and the study "RTN","MAGDIR83",72,0) . . D QUERY1("STUDY") ; second time, now delete the study entry "RTN","MAGDIR83",73,0) . . Q "RTN","MAGDIR83",74,0) . Q "RTN","MAGDIR83",75,0) Q "RTN","MAGDIR83",76,0) ; "RTN","MAGDIR83",77,0) QUERY1(DELTYPE) ; build one CORRECT Result PROCESS array node "RTN","MAGDIR83",78,0) N FROMPATH,X "RTN","MAGDIR83",79,0) S FROMPATH=$P(^MAGD(2006.575,IMAGEIEN,0),"^",1) "RTN","MAGDIR83",80,0) S X=$S(DELFLAG="D":"DELETE",1:"FIXED") "RTN","MAGDIR83",81,0) S X=X_"|"_IMAGEIEN_"|"_STUDYIEN_"|"_DELTYPE_"|"_INSTNAME "RTN","MAGDIR83",82,0) S X=X_"|"_FROMPATH_"|"_STUDYUID_"|"_NEWNAME_"|"_NEWPID_"|"_NEWACN "RTN","MAGDIR83",83,0) D RESULT^MAGDIR8("CORRECT",X) "RTN","MAGDIR83",84,0) Q "RTN","MAGDIR83",85,0) ; "RTN","MAGDIR83",86,0) ; ----------------------- RPC CALLBACK ------------------------------ "RTN","MAGDIR83",87,0) ; "RTN","MAGDIR83",88,0) PROCESS ; delete the processed corrected entry from the ^MAGD(2006.575) file "RTN","MAGDIR83",89,0) N DELTYPE,IMAGEIEN,LOCATION,STUDYIEN,X "RTN","MAGDIR83",90,0) S IMAGEIEN=$P(ARGS,"|",2),STUDYIEN=$P(ARGS,"|",3) "RTN","MAGDIR83",91,0) S DELTYPE=$P(ARGS,"|",4),FILEPATH=$P(ARGS,"|",6) ; ignore piece #5 "RTN","MAGDIR83",92,0) I DELTYPE'="NONE" D ; don't delete the first image/study in the list "RTN","MAGDIR83",93,0) . I DELTYPE="IMAGE" D ; delete this image "RTN","MAGDIR83",94,0) . . ; remove the related image cross-references "RTN","MAGDIR83",95,0) . . S RLATEIEN=$O(^MAGD(2006.575,STUDYIEN,"RLATE","B",IMAGEIEN,"")) "RTN","MAGDIR83",96,0) . . I RLATEIEN D "RTN","MAGDIR83",97,0) . . . K ^MAGD(2006.575,STUDYIEN,"RLATE",RLATEIEN) "RTN","MAGDIR83",98,0) . . . K ^MAGD(2006.575,STUDYIEN,"RLATE","B",IMAGEIEN,RLATEIEN) "RTN","MAGDIR83",99,0) . . . S $P(^(0),"^",4)=$P(^MAGD(2006.575,STUDYIEN,"RLATE",0),"^",4)-1 "RTN","MAGDIR83",100,0) . . . Q "RTN","MAGDIR83",101,0) . . Q "RTN","MAGDIR83",102,0) . E I DELTYPE="STUDY" D ; delete the first image and study information "RTN","MAGDIR83",103,0) . . ; remove the "AFX" and "F" cross-references "RTN","MAGDIR83",104,0) . . S STUDYUID=$P(ARGS,"|",7),MACHID=$P(ARGS,"|",8) "RTN","MAGDIR83",105,0) . . S LOCATION=$P(ARGS,"|",9) "RTN","MAGDIR83",106,0) . . K ^MAGD(2006.575,"AFX",LOCATION,MACHID,STUDYIEN) "RTN","MAGDIR83",107,0) . . K ^MAGD(2006.575,"F",LOCATION,STUDYUID,STUDYIEN) "RTN","MAGDIR83",108,0) . . Q "RTN","MAGDIR83",109,0) . K ^MAGD(2006.575,IMAGEIEN) "RTN","MAGDIR83",110,0) . K ^MAGD(2006.575,"B",FILEPATH,IMAGEIEN) "RTN","MAGDIR83",111,0) . S $P(^(0),"^",4)=$P(^MAGD(2006.575,0),"^",4)-1 "RTN","MAGDIR83",112,0) . Q "RTN","MAGDIR83",113,0) S X="COMPLETE"_"|"_IMAGEIEN_"|"_STUDYIEN_"|"_DELTYPE "RTN","MAGDIR83",114,0) D RESULT^MAGDIR8("CORRECT",X) "RTN","MAGDIR83",115,0) Q "RTN","MAGDIR84") 0^30^B18610621 "RTN","MAGDIR84",1,0) MAGDIR84 ;WOIFO/PMK - Read a DICOM image file ; 09/30/2003 09:19 "RTN","MAGDIR84",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR84",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR84",4,0) ;; | Property of the US Government. | "RTN","MAGDIR84",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR84",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR84",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR84",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR84",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR84",10,0) ;; | | "RTN","MAGDIR84",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR84",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR84",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR84",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR84",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR84",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR84",17,0) ;; "RTN","MAGDIR84",18,0) ; "RTN","MAGDIR84",19,0) ; M2MB server "RTN","MAGDIR84",20,0) ; "RTN","MAGDIR84",21,0) ; This routine handles the "PATIENT SAFETY" REQUEST item. "RTN","MAGDIR84",22,0) ; "RTN","MAGDIR84",23,0) ; It checks the 0-node of ^MAG(2005) and other files to verify that "RTN","MAGDIR84",24,0) ; they have not been unintentionally decremented. This is a safety "RTN","MAGDIR84",25,0) ; precaution to prevent an earlier copy of the global from being used. "RTN","MAGDIR84",26,0) ; "RTN","MAGDIR84",27,0) ; This problem can be caused either by using the VA AXP DSM "RTN","MAGDIR84",28,0) ; Global/Volume Set Repacking Utility or by restoring an old "RTN","MAGDIR84",29,0) ; copy of the global. "RTN","MAGDIR84",30,0) ; "RTN","MAGDIR84",31,0) ENTRY ; entry point from ^MAGDIR8 "RTN","MAGDIR84",32,0) N LASTIEN ;-- internal entry number of last image in ^MAG(2005) "RTN","MAGDIR84",33,0) N LASTPTR ;-- value of "LAST IMAGE POINTER" "RTN","MAGDIR84",34,0) N FILE ;----- name of MUMPS file containing 0-node for testing "RTN","MAGDIR84",35,0) N FILENAME ;- human-readable name of file begin tested "RTN","MAGDIR84",36,0) N NEWVALUE ;- updated value for the last pointer "RTN","MAGDIR84",37,0) N NODENAME ;- subscript of "LAST POINTER" in ^MAGDICOM "RTN","MAGDIR84",38,0) N RESULTS ;-- result string (working variable) "RTN","MAGDIR84",39,0) ; "RTN","MAGDIR84",40,0) N EMAIL,LASTIMG,LASTRAD,SYSTITLE "RTN","MAGDIR84",41,0) ; "RTN","MAGDIR84",42,0) S LASTIMG=$P(ARGS,"|",2),LASTRAD=$P(ARGS,"|",3) "RTN","MAGDIR84",43,0) S SYSTITLE=$P(ARGS,"|",4),EMAIL=$P(ARGS,"|",5) "RTN","MAGDIR84",44,0) ; "RTN","MAGDIR84",45,0) I $$MAG D ; imaging file (2005) "RTN","MAGDIR84",46,0) . ; error with imaging file "RTN","MAGDIR84",47,0) . D ERROR^MAGDIR8("PATIENT SAFETY","-1 IMAGE FILE CORRUPTION",.MSG,$T(+0)) "RTN","MAGDIR84",48,0) . Q "RTN","MAGDIR84",49,0) E D ; no error with imaging file "RTN","MAGDIR84",50,0) . S RESULTS="0|"_NEWVALUE ; new IMAGEPTR "RTN","MAGDIR84",51,0) . ; "RTN","MAGDIR84",52,0) . I $$RARPT D ; radiology report file "RTN","MAGDIR84",53,0) . . ; error with radiology report file "RTN","MAGDIR84",54,0) . . D ERROR^MAGDIR8("PATIENT SAFETY","-2 RAD REPORT FILE CORRUPTION",.MSG,$T(+0)) "RTN","MAGDIR84",55,0) . . Q "RTN","MAGDIR84",56,0) . E D ; no errors "RTN","MAGDIR84",57,0) . . S RESULTS=RESULTS_"|"_NEWVALUE ; new RADPT "RTN","MAGDIR84",58,0) . . I RESULTS'=$P(ARGS,"|",1,3) D ; do this only if there are changes "RTN","MAGDIR84",59,0) . . . D RESULT^MAGDIR8("PATIENT SAFETY",RESULTS) "RTN","MAGDIR84",60,0) . . . Q "RTN","MAGDIR84",61,0) . . Q "RTN","MAGDIR84",62,0) . Q "RTN","MAGDIR84",63,0) Q "RTN","MAGDIR84",64,0) ; "RTN","MAGDIR84",65,0) MAG() ; check that the last image pointer is monotonically increasing "RTN","MAGDIR84",66,0) S FILE="^MAG(2005)",FILENAME="IMAGE",LASTPTR=LASTIMG "RTN","MAGDIR84",67,0) I $$CHECK1'<0 Q 0 ; normal exit, everything is consistent "RTN","MAGDIR84",68,0) ; "RTN","MAGDIR84",69,0) ; Something fishy may be up ... look for multiple deleted entries "RTN","MAGDIR84",70,0) N LAST,LASTDEL,LASTMAG "RTN","MAGDIR84",71,0) H 5 ; wait for other image gateways to complete file update "RTN","MAGDIR84",72,0) S LASTMAG=$O(^MAG(2005," "),-1) ; last image file ien "RTN","MAGDIR84",73,0) S LASTDEL=$O(^MAG(2005.1," "),-1) ; last delete file ien "RTN","MAGDIR84",74,0) S LAST=$S(LASTDEL>LASTMAG:LASTDEL,1:LASTMAG) ; greater of these "RTN","MAGDIR84",75,0) I LASTLASTPTR D UPDATE Q 1 ; record last ien in ^MAGDICOM "RTN","MAGDIR84",97,0) ; "RTN","MAGDIR84",98,0) ; if last entry was deleted, LASTIEN should be one less than LASTPTR "RTN","MAGDIR84",99,0) I LASTIEN=(LASTPTR-1) D UPDATE Q 1 ; a delete must have happened "RTN","MAGDIR84",100,0) Q -1 ; the last entry number is less that it should be "RTN","MAGDIR84",101,0) ; "RTN","MAGDIR84",102,0) UPDATE ; record the largest known internal entry number in ^MAGDICOM "RTN","MAGDIR84",103,0) N %,%H,%I,X,Y "RTN","MAGDIR84",104,0) D NOW^%DTC,YX^%DTC S Y=$P(Y,",")_" at "_$P(Y,"@",2) "RTN","MAGDIR84",105,0) S NEWVALUE=LASTIEN_" "_Y "RTN","MAGDIR84",106,0) Q "RTN","MAGDIR85") 0^31^B4122625 "RTN","MAGDIR85",1,0) MAGDIR85 ;WOIFO/PMK - Read a DICOM image file ; 08 Dec 2002 5:56 PM "RTN","MAGDIR85",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR85",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR85",4,0) ;; | Property of the US Government. | "RTN","MAGDIR85",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR85",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR85",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR85",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR85",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR85",10,0) ;; | | "RTN","MAGDIR85",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR85",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR85",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR85",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR85",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR85",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR85",17,0) ;; "RTN","MAGDIR85",18,0) ; "RTN","MAGDIR85",19,0) ; M2MB server "RTN","MAGDIR85",20,0) ; "RTN","MAGDIR85",21,0) ; This routine handles the "ROLLBACK" RESULT item. "RTN","MAGDIR85",22,0) ; "RTN","MAGDIR85",23,0) ENTRY ; remove ^MAG(2005,IMAGEPTR) entry because of a fatal problem "RTN","MAGDIR85",24,0) N ERRORMSG,IMAGEPTR,U "RTN","MAGDIR85",25,0) S IMAGEPTR=$P(ARGS,"|",2),U="^" "RTN","MAGDIR85",26,0) D DELETE^MAGGTID(.ROLLBACK,IMAGEPTR_"^1",1) ; invoke Garrett's routine "RTN","MAGDIR85",27,0) I ROLLBACK(0)?1"1^".E D "RTN","MAGDIR85",28,0) . S ERRORMSG="0||"_IMAGEPTR "RTN","MAGDIR85",29,0) . Q "RTN","MAGDIR85",30,0) E D "RTN","MAGDIR85",31,0) . S ERRORMSG="-1|"_$P(ROLLBACK(0),"^",2,999)_"|"_IMAGEPTR "RTN","MAGDIR85",32,0) . Q "RTN","MAGDIR85",33,0) D RESULT^MAGDIR8("ROLLBACK",ERRORMSG) "RTN","MAGDIR85",34,0) Q "RTN","MAGDIR8A") 0^32^B36963016 "RTN","MAGDIR8A",1,0) MAGDIR8A ;WOIFO/PMK - Read a DICOM image file ; 06 Apr 2004 10:08 AM "RTN","MAGDIR8A",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR8A",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR8A",4,0) ;; | Property of the US Government. | "RTN","MAGDIR8A",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR8A",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR8A",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR8A",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR8A",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR8A",10,0) ;; | | "RTN","MAGDIR8A",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR8A",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR8A",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR8A",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR8A",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR8A",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR8A",17,0) ;; "RTN","MAGDIR8A",18,0) ; "RTN","MAGDIR8A",19,0) ; M2MB server "RTN","MAGDIR8A",20,0) ; "RTN","MAGDIR8A",21,0) ; Lookup the patient/study in the imaging service's database "RTN","MAGDIR8A",22,0) ; Different entry points are invoked from LOOKUP^MAGDIR81 "RTN","MAGDIR8A",23,0) ; "RTN","MAGDIR8A",24,0) RADLKUP ; Radiology patient/study lookup -- called by ^MAGDIR81 "RTN","MAGDIR8A",25,0) ; (also invoked by ^MAGDEXC4, ^MAGDFND4 and ^MAGDIW1) "RTN","MAGDIR8A",26,0) ; "RTN","MAGDIR8A",27,0) ; returns RADATA array DFN, DATETIME, and PROCDESC "RTN","MAGDIR8A",28,0) ; "RTN","MAGDIR8A",29,0) N CPTCODE ;-- CPT code for the procedure "RTN","MAGDIR8A",30,0) N CPTNAME ;-- CPT name for the procedure "RTN","MAGDIR8A",31,0) N EXAMSTS ;-- Exam status (don't post images to CANCELLED exams) "RTN","MAGDIR8A",32,0) N PROCIEN ;-- radiology procedure ien in ^RAMIS(71) "RTN","MAGDIR8A",33,0) N RAIX ;----- cross reference subscript for case number lookup "RTN","MAGDIR8A",34,0) N RADPT1 ;--- first level subscript in ^RADPT "RTN","MAGDIR8A",35,0) N RADPT2 ;--- second level subscript in ^RADPT (after "DT") "RTN","MAGDIR8A",36,0) N RADPT3 ;--- third level subscript in ^RADPT (after "P") "RTN","MAGDIR8A",37,0) N I,LIST,VARIABLE,X,Z "RTN","MAGDIR8A",38,0) ; "RTN","MAGDIR8A",39,0) ; find the patient/study in ^RARPT using the Radiology Case Number "RTN","MAGDIR8A",40,0) K RADATA ; kill returned array of Radiology Package data "RTN","MAGDIR8A",41,0) D RADLKUP1 "RTN","MAGDIR8A",42,0) S LIST="RADPT1^RADPT2^RADPT3^PROCIEN^CPTCODE^CPTNAME^Z^EXAMSTS" "RTN","MAGDIR8A",43,0) F I=1:1:$L(LIST,"^") D "RTN","MAGDIR8A",44,0) . S VARIABLE=$P(LIST,"^",I) "RTN","MAGDIR8A",45,0) . S RADATA(VARIABLE)=$G(@VARIABLE) "RTN","MAGDIR8A",46,0) . Q "RTN","MAGDIR8A",47,0) Q "RTN","MAGDIR8A",48,0) ; "RTN","MAGDIR8A",49,0) RADLKUP1 ; not an entry point "RTN","MAGDIR8A",50,0) Q:CASENUMB="" ;LB 12/16/98 "RTN","MAGDIR8A",51,0) S RAIX=$S($D(^RADPT("C")):"C",1:"AE") ; for Radiology Patch RA*5*7 "RTN","MAGDIR8A",52,0) S RAIX=$S(CASENUMB["-":"ADC",1:RAIX) ; select the cross-reference "RTN","MAGDIR8A",53,0) S RADPT1=$O(^RADPT(RAIX,CASENUMB,"")) I 'RADPT1 Q "RTN","MAGDIR8A",54,0) S RADPT2=$O(^RADPT(RAIX,CASENUMB,RADPT1,"")) I 'RADPT2 Q "RTN","MAGDIR8A",55,0) S RADPT3=$O(^RADPT(RAIX,CASENUMB,RADPT1,RADPT2,"")) I 'RADPT3 Q "RTN","MAGDIR8A",56,0) S X=$O(^RADPT(RAIX,CASENUMB,RADPT1,RADPT2,RADPT3)) "RTN","MAGDIR8A",57,0) I '$D(^RADPT(RADPT1,0)) Q ; no patient demographics file pointer "RTN","MAGDIR8A",58,0) ; get patient demographics file pointer "RTN","MAGDIR8A",59,0) S X=^RADPT(RADPT1,0),DFN=$P(X,"^") "RTN","MAGDIR8A",60,0) I '$D(^RADPT(RADPT1,"DT",RADPT2,0)) Q ; no datetime level "RTN","MAGDIR8A",61,0) ; get date and time of examination "RTN","MAGDIR8A",62,0) S DATETIME=$P($G(^RADPT(RADPT1,"DT",RADPT2,0)),"^",1) "RTN","MAGDIR8A",63,0) ; get case info "RTN","MAGDIR8A",64,0) S X=$G(^RADPT(RADPT1,"DT",RADPT2,"P",RADPT3,0)) "RTN","MAGDIR8A",65,0) S PROCIEN=$P(X,"^",2),EXAMSTS=$P(X,"^",3) "RTN","MAGDIR8A",66,0) I EXAMSTS S EXAMSTS=$$GET1^DIQ(72,EXAMSTS,.01) "RTN","MAGDIR8A",67,0) S (PROCDESC,CPTNAME,CPTCODE)="" "RTN","MAGDIR8A",68,0) I 'PROCIEN Q ; need PROCIEN to do lookup in ^RAMIS "RTN","MAGDIR8A",69,0) S Z=$G(^RAMIS(71,PROCIEN,0)) "RTN","MAGDIR8A",70,0) S PROCDESC=$P(Z,"^"),CPTCODE=$P(Z,"^",9) "RTN","MAGDIR8A",71,0) S CPTNAME=PROCDESC ; approximate value since ^ICPT is not translated "RTN","MAGDIR8A",72,0) Q "RTN","MAGDIR8A",73,0) ; "RTN","MAGDIR8A",74,0) CONLKUP ; CPRS Consult/Procedure patient/study lookup -- called by ^MAGDIR81 "RTN","MAGDIR8A",75,0) N EXAMSTS ;-- Exam status (don't post images to CANCELLED exams) "RTN","MAGDIR8A",76,0) N CONPROC,Z "RTN","MAGDIR8A",77,0) I ACNUMB'?1"GMRC-".1N.N Q "RTN","MAGDIR8A",78,0) S GMRCIEN=$P(ACNUMB,"-",2) "RTN","MAGDIR8A",79,0) S DFN=$$GET1^DIQ(123,GMRCIEN,.02,"I") "RTN","MAGDIR8A",80,0) I DFN="" Q ; no patient demographics file pointer "RTN","MAGDIR8A",81,0) S EXAMSTS=$$GET1^DIQ(123,GMRCIEN,8) ; check for cancelled exam "RTN","MAGDIR8A",82,0) I EXAMSTS="CANCELLED" S RADATA("EXAMSTS")=EXAMSTS Q "RTN","MAGDIR8A",83,0) S PROCDESC=$$GET1^DIQ(123,GMRCIEN,1) "RTN","MAGDIR8A",84,0) S Z=$$GET1^DIQ(123,GMRCIEN,13,"I") ; request type "RTN","MAGDIR8A",85,0) S CONPROC=$S(Z="C":"CONSULT",Z="P":"PROCEDURE",1:"UNKNOWN") "RTN","MAGDIR8A",86,0) Q "RTN","MAGDIR8A",87,0) ; "RTN","MAGDIR8A",88,0) PIDCHECK() ; compare VistA patient ID with DICOM patient ID "RTN","MAGDIR8A",89,0) N CHECK ;---- patient demographic comparision check value "RTN","MAGDIR8A",90,0) N FIRSTVAH ;- patient first name from VADM(1) "RTN","MAGDIR8A",91,0) N IDDCM ;---- patient id, w/o punctuation, from image header "RTN","MAGDIR8A",92,0) N IDVAH ;---- patient id from VADM(2) "RTN","MAGDIR8A",93,0) N LASTVAH ;-- patient last name from VADM(1) "RTN","MAGDIR8A",94,0) N MIVAH ;---- patient middle initial from VADM(1) "RTN","MAGDIR8A",95,0) N DIQUIET,I,VA,VAERR,X,Y "RTN","MAGDIR8A",96,0) ; "RTN","MAGDIR8A",97,0) S X=PNAMEDCM X ^%ZOSF("UPPERCASE") S PNAMEDCM=Y "RTN","MAGDIR8A",98,0) ; parse the DICOM patient name (2 formats) "RTN","MAGDIR8A",99,0) I PNAMEDCM["^" D ; DICOM format patient name "RTN","MAGDIR8A",100,0) . S LASTDCM=$P(PNAMEDCM,"^"),FIRSTDCM=$P(PNAMEDCM,"^",2) "RTN","MAGDIR8A",101,0) . S MIDCM=$P(PNAMEDCM,"^",3) "RTN","MAGDIR8A",102,0) . Q "RTN","MAGDIR8A",103,0) E I PNAMEDCM["," D ; ACR-NEMA format patient name "RTN","MAGDIR8A",104,0) . F Q:'$F(PNAMEDCM,", ") D ; remove blanks after last name comma "RTN","MAGDIR8A",105,0) . . S PNAMEDCM=$P(PNAMEDCM,", ")_","_$P(PNAMEDCM,", ",2,999) "RTN","MAGDIR8A",106,0) . . Q "RTN","MAGDIR8A",107,0) . S LASTDCM=$P(PNAMEDCM,","),FIRSTDCM=$P(PNAMEDCM,",",2) "RTN","MAGDIR8A",108,0) . S MIDCM=$S(PNAMEDCM[",":$P(FIRSTDCM,",",2),1:$P(FIRSTDCM," ",2,999)) "RTN","MAGDIR8A",109,0) . Q "RTN","MAGDIR8A",110,0) E D ; patient name in "last first mi" order with space delimiters "RTN","MAGDIR8A",111,0) . S LASTDCM=$P(PNAMEDCM," "),FIRSTDCM=$P(PNAMEDCM," ",2) "RTN","MAGDIR8A",112,0) . S MIDCM=$P(PNAMEDCM," ",3) "RTN","MAGDIR8A",113,0) . Q "RTN","MAGDIR8A",114,0) S FIRSTDCM=$S(FIRSTDCM[",":$P(FIRSTDCM,","),1:$P(FIRSTDCM," ")) "RTN","MAGDIR8A",115,0) ; only check the first part of the name "RTN","MAGDIR8A",116,0) ; remove dashs and atypical punctuation from the DICOM PID "RTN","MAGDIR8A",117,0) S IDDCM="" F I=1:1:$L(PID) I $E(PID,I)?1AN S IDDCM=IDDCM_$E(PID,I) "RTN","MAGDIR8A",118,0) ; "RTN","MAGDIR8A",119,0) I CASENUMB="" Q "-1,NO CASE #" "RTN","MAGDIR8A",120,0) I '$G(DFN) Q "-2,BAD CASE #" "RTN","MAGDIR8A",121,0) I $G(RADATA("EXAMSTS"))="CANCELLED" Q "-3,CANCELLED" "RTN","MAGDIR8A",122,0) ; "RTN","MAGDIR8A",123,0) ; lookup patient in VistA database "RTN","MAGDIR8A",124,0) S DIQUIET=1 D DEM^VADPT "RTN","MAGDIR8A",125,0) S PNAMEVAH=VADM(1) "RTN","MAGDIR8A",126,0) S LASTVAH=$P(PNAMEVAH,","),FIRSTVAH=$P(PNAMEVAH,",",2) "RTN","MAGDIR8A",127,0) S MIVAH=$TR($P(FIRSTVAH," ",2,999),"."),FIRSTVAH=$P(FIRSTVAH," ") "RTN","MAGDIR8A",128,0) S IDVAH=$P(VADM(2),"^"),DCMPID=$P(VADM(2),"^",2) "RTN","MAGDIR8A",129,0) ; "RTN","MAGDIR8A",130,0) ; compare the values - allow a single transposition in the patient name, "RTN","MAGDIR8A",131,0) ; but require exact patient id values (i.e., social security numbers) "RTN","MAGDIR8A",132,0) S CHECK=(5*$$COMPARE(LASTDCM,LASTVAH)) "RTN","MAGDIR8A",133,0) S CHECK=CHECK+(5*$$COMPARE($E(FIRSTDCM,1,6),$E(FIRSTVAH,1,6))) "RTN","MAGDIR8A",134,0) S CHECK=CHECK+(1*$$COMPARE(MIDCM,MIVAH)) "RTN","MAGDIR8A",135,0) S CHECK=CHECK+(5*(IDDCM=IDVAH)) ; patient id requires an exact match "RTN","MAGDIR8A",136,0) I CHECK<14.5 Q "-4,PID ERROR" ; require an "almost exact" match "RTN","MAGDIR8A",137,0) Q 0 ; correct patient "RTN","MAGDIR8A",138,0) ; "RTN","MAGDIR8A",139,0) COMPARE(A,B) ; pattern match checker "RTN","MAGDIR8A",140,0) Q:A="" 0 Q:B="" 0 ; don't count missing data "RTN","MAGDIR8A",141,0) Q:A=B 1 ; exact match "RTN","MAGDIR8A",142,0) ; calculate fractional value for pattern match "RTN","MAGDIR8A",143,0) N I,LENGTH,MATCH "RTN","MAGDIR8A",144,0) S MATCH=0,LENGTH=$S($L(B)>$L(A):$L(B),1:$L(A)) "RTN","MAGDIR8A",145,0) F I=1:1:LENGTH D "RTN","MAGDIR8A",146,0) . I $E(A,I)=$E(B,I) S MATCH=MATCH+1 "RTN","MAGDIR8A",147,0) . E I $E(A,I)=$E(B,I-1) S MATCH=MATCH+.25 "RTN","MAGDIR8A",148,0) . E I $E(A,I)=$E(B,I+1) S MATCH=MATCH+.25 "RTN","MAGDIR8A",149,0) . E I $E(A,I-1)=$E(B,I) S MATCH=MATCH+.25 "RTN","MAGDIR8A",150,0) . E I $E(A,I+1)=$E(B,I) S MATCH=MATCH+.25 "RTN","MAGDIR8A",151,0) . Q "RTN","MAGDIR8A",152,0) Q MATCH/LENGTH ; return fractional pattern match value "RTN","MAGDIR9A") 0^33^B43246242 "RTN","MAGDIR9A",1,0) MAGDIR9A ;WOIFO/PMK - Read a DICOM image file ; 09/30/2003 09:19 "RTN","MAGDIR9A",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDIR9A",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR9A",4,0) ;; | Property of the US Government. | "RTN","MAGDIR9A",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDIR9A",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDIR9A",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDIR9A",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDIR9A",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDIR9A",10,0) ;; | | "RTN","MAGDIR9A",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDIR9A",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDIR9A",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDIR9A",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDIR9A",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDIR9A",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDIR9A",17,0) ;; "RTN","MAGDIR9A",18,0) ; "RTN","MAGDIR9A",19,0) ; M2MB server "RTN","MAGDIR9A",20,0) ; "RTN","MAGDIR9A",21,0) ; This routine creates a ^mag(2005) group entry and links it to the "RTN","MAGDIR9A",22,0) ; associated radiology report "RTN","MAGDIR9A",23,0) ; "RTN","MAGDIR9A",24,0) ; XXXXXX XX XXXXXX "RTN","MAGDIR9A",25,0) ; XX XX XXXX XX XX "RTN","MAGDIR9A",26,0) ; XX XX XX XX XX XX "RTN","MAGDIR9A",27,0) ; XXXXX XX XX XX XX "RTN","MAGDIR9A",28,0) ; XX XX XXXXXX XX XX "RTN","MAGDIR9A",29,0) ; XX XX XX XX XX XX "RTN","MAGDIR9A",30,0) ; XXX XX XX XX XXXXXX "RTN","MAGDIR9A",31,0) ; "RTN","MAGDIR9A",32,0) GROUP() ; entry point from ^MAGDIR81 "RTN","MAGDIR9A",33,0) N ACQDEVP ;-- pointer to acquisition device file (#2006.04) "RTN","MAGDIR9A",34,0) N DA ;------ fileman variable "RTN","MAGDIR9A",35,0) N ERRCODE ;- error trap code "RTN","MAGDIR9A",36,0) N GROUP ;--- array to pass group data to ^MAGGTIA "RTN","MAGDIR9A",37,0) N GROUPDFN ; DFN value from image group entry for double checking "RTN","MAGDIR9A",38,0) N P ;-------- scratch variable (pointer to ACQUISITION DEVICE file) "RTN","MAGDIR9A",39,0) N RACNE ;--- external "3rd level" subscript in ^RADPT "RTN","MAGDIR9A",40,0) N RACNI ;--- internal "3rd level" subscript in ^RADPT "RTN","MAGDIR9A",41,0) N RADFN ;--- radiology package's DFN "RTN","MAGDIR9A",42,0) N RADTE ;--- external "2nd level" subscript in ^RADPT "RTN","MAGDIR9A",43,0) N RADTI ;--- internal "2nd level" subscript in ^RADPT "RTN","MAGDIR9A",44,0) N RARPT ;--- 1st level node in ^RARPT for report (ie, the ien) "RTN","MAGDIR9A",45,0) N RARPT3 ;-- 3rd level node for 2005 multiple under ^RARPT's report "RTN","MAGDIR9A",46,0) N RARPTDFN ; DFN value from ^RARPT for double checking "RTN","MAGDIR9A",47,0) N HIT,P200584,X,Y ; scratch variables "RTN","MAGDIR9A",48,0) ; "RTN","MAGDIR9A",49,0) S ERRCODE="" "RTN","MAGDIR9A",50,0) ; "RTN","MAGDIR9A",51,0) S (RADFN,DA(2))=DFN ; patient DFN variables "RTN","MAGDIR9A",52,0) S RADTI=RADATA("RADPT2") ; case subscript "RTN","MAGDIR9A",53,0) I RADTI="" D Q ERRCODE "RTN","MAGDIR9A",54,0) . K MSG "RTN","MAGDIR9A",55,0) . S MSG(1)="No radiology case number specified for patient "_DFN "RTN","MAGDIR9A",56,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR9A",57,0) . S ERRCODE=-301 "RTN","MAGDIR9A",58,0) . Q "RTN","MAGDIR9A",59,0) ; "RTN","MAGDIR9A",60,0) S RADTE=$TR(RADATA("RADPT2"),"0123456789","9876543210") "RTN","MAGDIR9A",61,0) S RACNI=RADATA("RADPT3") "RTN","MAGDIR9A",62,0) S RACNE=$S(CASENUMB["-":$P(CASENUMB,"-",2),1:CASENUMB) ; short case # "RTN","MAGDIR9A",63,0) ; "RTN","MAGDIR9A",64,0) ; check for the existence of the entry in ^RADPT (redundant) "RTN","MAGDIR9A",65,0) I '$D(^RADPT(RADFN,"DT",RADTI,0)) D Q ERRCODE ; can't process further "RTN","MAGDIR9A",66,0) . K MSG "RTN","MAGDIR9A",67,0) . S MSG(1)="Radiology case "_RADTI_" is not in ^RADPT("_RADFN_")" "RTN","MAGDIR9A",68,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR9A",69,0) . S ERRCODE=-302 "RTN","MAGDIR9A",70,0) . Q "RTN","MAGDIR9A",71,0) ; "RTN","MAGDIR9A",72,0) ; check for the existence of the report pointer "RTN","MAGDIR9A",73,0) S RARPT=$P($G(^RADPT(RADFN,"DT",RADTI,"P",RACNI,0)),"^",17) "RTN","MAGDIR9A",74,0) ; if the report does not yet exist, create it "RTN","MAGDIR9A",75,0) I RARPT="" S RACN=RACNE D CREATE^RARIC ; create the report "RTN","MAGDIR9A",76,0) ; "RTN","MAGDIR9A",77,0) ; If RARPT is no longer defined at this point, this means "RTN","MAGDIR9A",78,0) ; that we're dealing with an old study, and the report has "RTN","MAGDIR9A",79,0) ; been archived and purged. "RTN","MAGDIR9A",80,0) ; "RTN","MAGDIR9A",81,0) I '$G(RARPT) D Q ERRCODE "RTN","MAGDIR9A",82,0) . K MSG "RTN","MAGDIR9A",83,0) . S MSG(1)="IMAGE GROUP CREATION ERROR:" "RTN","MAGDIR9A",84,0) . S MSG(2)="Radiology Report has been archived and purged." "RTN","MAGDIR9A",85,0) . S MSG(3)="Patient "_$G(RADFN)_", Date "_$G(RADTI)_", Case "_$G(RACNI) "RTN","MAGDIR9A",86,0) . D ERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR9A",87,0) . S ERRCODE=-303 "RTN","MAGDIR9A",88,0) . Q "RTN","MAGDIR9A",89,0) ; "RTN","MAGDIR9A",90,0) ; double check the DFN value from ^RARPT to make sure its right "RTN","MAGDIR9A",91,0) S RARPTDFN=$P($G(^RARPT(RARPT,0)),"^",2) "RTN","MAGDIR9A",92,0) I RARPTDFN'=DFN D Q ERRCODE ; fatal error "RTN","MAGDIR9A",93,0) . D RADMISS^MAGDIRVE($T(+0),DFN,RARPT,RARPTDFN) "RTN","MAGDIR9A",94,0) . S ERRCODE=-304 "RTN","MAGDIR9A",95,0) . Q "RTN","MAGDIR9A",96,0) ; "RTN","MAGDIR9A",97,0) ; initialize FILEDATA for GROUP and IMAGE "RTN","MAGDIR9A",98,0) ; get the acquisition device pointer (file 2005, field 107) "RTN","MAGDIR9A",99,0) S ACQDEVP=$$ACQDEV^MAGDFCNV(MFGR,MODEL,INSTLOC) "RTN","MAGDIR9A",100,0) S FILEDATA("ACQUISITION DEVICE")=ACQDEVP "RTN","MAGDIR9A",101,0) ; "RTN","MAGDIR9A",102,0) S FILEDATA("MODALITY")=MODALITY "RTN","MAGDIR9A",103,0) S FILEDATA("PARENT FILE")=74 "RTN","MAGDIR9A",104,0) S FILEDATA("PARENT IEN")=RARPT "RTN","MAGDIR9A",105,0) S FILEDATA("RAD REPORT")=RARPT "RTN","MAGDIR9A",106,0) S FILEDATA("RAD PROC PTR")=RADATA("PROCIEN") "RTN","MAGDIR9A",107,0) S FILEDATA("PACKAGE")="RAD" "RTN","MAGDIR9A",108,0) S X=$S(MODALITY="NM":"NUCLEAR MEDICINE",1:"RADIOLOGY") "RTN","MAGDIR9A",109,0) S P200584=$O(^MAG(2005.84,"B",X,"")) "RTN","MAGDIR9A",110,0) S X=$$FIELD43^MAGXMA(MODALITY,P200584,.Y) "RTN","MAGDIR9A",111,0) S FILEDATA("PROC/EVENT")=$S(X=0:Y,1:"") "RTN","MAGDIR9A",112,0) S FILEDATA("SPEC/SUBSPEC")=P200584 "RTN","MAGDIR9A",113,0) ; "RTN","MAGDIR9A",114,0) ; find the corresponding image group node under the report "RTN","MAGDIR9A",115,0) S (HIT,RARPT3)=0 "RTN","MAGDIR9A",116,0) F S RARPT3=$O(^RARPT(RARPT,2005,RARPT3)) Q:'RARPT3 D Q:HIT Q:ERRCODE "RTN","MAGDIR9A",117,0) . S MAGGP=+$G(^RARPT(RARPT,2005,RARPT3,0)) ; get imaging group pointer "RTN","MAGDIR9A",118,0) . S GROUPDFN=$P($G(^MAG(2005,MAGGP,0)),"^",7) ; check image DFN value "RTN","MAGDIR9A",119,0) . I GROUPDFN'=DFN D ; fatal error "RTN","MAGDIR9A",120,0) . . D MISMATCH^MAGDIRVE($T(+0),DFN,MAGGP) "RTN","MAGDIR9A",121,0) . . S ERRCODE=-305 "RTN","MAGDIR9A",122,0) . . Q "RTN","MAGDIR9A",123,0) . E I $P($G(^MAG(2005,MAGGP,0)),"^",6)=11 D "RTN","MAGDIR9A",124,0) . . ; check to see that this group is for the same acquisition device "RTN","MAGDIR9A",125,0) . . S P=$P($G(^MAG(2005,MAGGP,100)),"^",4) I P,P=ACQDEVP S HIT=1 "RTN","MAGDIR9A",126,0) . . Q "RTN","MAGDIR9A",127,0) . Q "RTN","MAGDIR9A",128,0) ; "RTN","MAGDIR9A",129,0) I ERRCODE Q ERRCODE ; fatal image DFN problem "RTN","MAGDIR9A",130,0) ; "RTN","MAGDIR9A",131,0) I 'HIT D Q:ERRCODE ERRCODE ; the 2005 node does not yet exist "RTN","MAGDIR9A",132,0) . ; create the imaging group "RTN","MAGDIR9A",133,0) . K GROUP "RTN","MAGDIR9A",134,0) . S GROUP(1)=".01^"_PNAMEVAH_" "_DCMPID_" "_PROCDESC "RTN","MAGDIR9A",135,0) . S GROUP(2)="3^11" ; Object Type -- XRAY Group "RTN","MAGDIR9A",136,0) . S GROUP(3)="5^"_DFN "RTN","MAGDIR9A",137,0) . S GROUP(4)="6^RAD "_FILEDATA("MODALITY") "RTN","MAGDIR9A",138,0) . S GROUP(5)="2005.04^0" "RTN","MAGDIR9A",139,0) . S GROUP(6)="10^"_PROCDESC "RTN","MAGDIR9A",140,0) . S GROUP(7)="15^"_DATETIME "RTN","MAGDIR9A",141,0) . S GROUP(8)="16^"_FILEDATA("PARENT FILE") "RTN","MAGDIR9A",142,0) . S GROUP(9)="17^"_FILEDATA("PARENT IEN") "RTN","MAGDIR9A",143,0) . S GROUP(10)="60^"_STUDYUID "RTN","MAGDIR9A",144,0) . S GROUP(11)="61^"_FILEDATA("RAD REPORT") "RTN","MAGDIR9A",145,0) . S GROUP(12)="62^"_FILEDATA("RAD PROC PTR") "RTN","MAGDIR9A",146,0) . S GROUP(13)=".05^"_INSTLOC "RTN","MAGDIR9A",147,0) . S GROUP(14)="40^"_FILEDATA("PACKAGE") "RTN","MAGDIR9A",148,0) . S GROUP(15)="41^"_$O(^MAG(2005.82,"B","CLIN","")) "RTN","MAGDIR9A",149,0) . S GROUP(16)="42^"_FILEDATA("TYPE") "RTN","MAGDIR9A",150,0) . S GROUP(17)="43^"_FILEDATA("PROC/EVENT") "RTN","MAGDIR9A",151,0) . S GROUP(18)="44^"_FILEDATA("SPEC/SUBSPEC") "RTN","MAGDIR9A",152,0) . S GROUP(19)="107^"_FILEDATA("ACQUISITION DEVICE") "RTN","MAGDIR9A",153,0) . D ADD^MAGGTIA(.RETURN,.GROUP) "RTN","MAGDIR9A",154,0) . S MAGGP=+RETURN "RTN","MAGDIR9A",155,0) . I 'MAGGP D Q ; fatal error "RTN","MAGDIR9A",156,0) . . K MSG "RTN","MAGDIR9A",157,0) . . S MSG(1)="IMAGE GROUP CREATION ERROR:" "RTN","MAGDIR9A",158,0) . . S MSG(2)=$P(RETURN,"^",2,999) "RTN","MAGDIR9A",159,0) . . D BADERROR^MAGDIRVE($T(+0),"DICOM IMAGE PROCESSING ERROR",.MSG) "RTN","MAGDIR9A",160,0) . . S ERRCODE=-306 "RTN","MAGDIR9A",161,0) . . Q "RTN","MAGDIR9A",162,0) . ; "RTN","MAGDIR9A",163,0) . I MAGGP")_"""" "RTN","MAGDIRVE",188,0) S MSG(I+2)="" "RTN","MAGDIRVE",189,0) S MSG(I+3)=" This is a VERY SERIOUS ERROR. Image processing" "RTN","MAGDIRVE",190,0) S MSG(I+4)=" will be halted until it is resolved." "RTN","MAGDIRVE",191,0) S MSG(I+5)="" "RTN","MAGDIRVE",192,0) S MSG(I+6)="Call IRM and the National VistA Support Help Desk (888) 596-HELP" "RTN","MAGDIRVE",193,0) S MSG(I+7)="" "RTN","MAGDIRVE",194,0) S MSG(I+8)="Problem detected by routine "_RTN_"." "RTN","MAGDIRVE",195,0) S MSG(I+9)="" "RTN","MAGDIRVE",196,0) S MSG("TITLE")=TITLE,MSG("CRITICAL")=1 ; send email to Silver Spring "RTN","MAGDIRVE",197,0) Q "RTN","MAGDIRVE",198,0) ; "RTN","MAGDIRVE",199,0) ERROR(RTN,TITLE,MSG) ; application error - local to the site - no email "RTN","MAGDIRVE",200,0) N I "RTN","MAGDIRVE",201,0) S I=$O(MSG(" "),-1) "RTN","MAGDIRVE",202,0) S MSG(I+1)="Problem detected by routine "_RTN_"." "RTN","MAGDIRVE",203,0) S MSG(I+2)="" "RTN","MAGDIRVE",204,0) S MSG("TITLE")=TITLE,MSG("CRITICAL")=0 ; no email to Silver Spring "RTN","MAGDIRVE",205,0) Q "RTN","MAGDLB1") 0^37^B50964987 "RTN","MAGDLB1",1,0) MAGDLB1 ;WOIFO/LB - Routine to fix failed DICOM entries ; 01/30/2004 17:14 "RTN","MAGDLB1",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDLB1",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB1",4,0) ;; | Property of the US Government. | "RTN","MAGDLB1",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLB1",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLB1",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLB1",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLB1",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLB1",10,0) ;; | | "RTN","MAGDLB1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLB1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLB1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLB1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLB1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLB1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB1",17,0) ;; "RTN","MAGDLB1",18,0) Q "RTN","MAGDLB1",19,0) ; "RTN","MAGDLB1",20,0) DISPLAY ; "RTN","MAGDLB1",21,0) S OUT=0 "RTN","MAGDLB1",22,0) W !,"**************Processing entry**********" "RTN","MAGDLB1",23,0) W !!,?2,"PATIENT: ",PAT,?50,"SSN: ",PID,!,"RADIOLOGY CASE #: ",CASENO "RTN","MAGDLB1",24,0) W !,?2,"Equipment: ",MOD,?50,"Model: ",MODEL "RTN","MAGDLB1",25,0) W !,?2,"Date Processed: ",DATE,?50,"Problem with: ",REASON "RTN","MAGDLB1",26,0) W !,?2,"Comment: ",COMNT1 "RTN","MAGDLB1",27,0) W !,?2,"Correcting file on Image gateway: ",$G(GWNM)," server ID: ",MACHID,!,?5,FILE "RTN","MAGDLB1",28,0) S MSG="Do you want to Correct this entry? " "RTN","MAGDLB1",29,0) Q "RTN","MAGDLB1",30,0) NEWCASE ; "RTN","MAGDLB1",31,0) S NEWDFN=$P(MAGDY,"^"),NEWNME=$P(MAGDY,"^",2),NEWSSN=$P(MAGDY,"^",3) "RTN","MAGDLB1",32,0) S NEWCAS=$P(MAGDY,"^",4),NEWPROC=$P(MAGDY,"^",5),NEWDTI=$P(MAGDY,"^",6) "RTN","MAGDLB1",33,0) S NEWMUL=$P(MAGDY,"^",7),NEWPIEN=$P(MAGDY,"^",8),PP=$P(MAGDY,"^",9) "RTN","MAGDLB1",34,0) Q "RTN","MAGDLB1",35,0) ASK() ; "RTN","MAGDLB1",36,0) N ANS,ASK "RTN","MAGDLB1",37,0) ASK1 S ASK="Y/N/D/Q" "RTN","MAGDLB1",38,0) I $G(PREV)'=$G(MAGIEN),MAGTYPE="RAD" S ASK=ASK_"/P" "RTN","MAGDLB1",39,0) W !,$G(MSG),"("_ASK_")// " R ANS:600 "RTN","MAGDLB1",40,0) I '$T!(ANS["^") Q "^" "RTN","MAGDLB1",41,0) I ANS="" Q "N" "RTN","MAGDLB1",42,0) I "YNDPQyndpq"'[$E(ANS) D G ASK1 "RTN","MAGDLB1",43,0) . W !,"Please respond with one of the following codes." "RTN","MAGDLB1",44,0) . W !,"Legend: Y=yes, N=no, D=delete, P=Previous entry, and Q=quit",! "RTN","MAGDLB1",45,0) S ANS=$TR(ANS,"yndpq","YNDPQ") "RTN","MAGDLB1",46,0) Q $E(ANS) "RTN","MAGDLB1",47,0) CHK ;remove any punctuation before doing comparison on SSN "RTN","MAGDLB1",48,0) ;stop on 1st check. "RTN","MAGDLB1",49,0) N OLD,I "RTN","MAGDLB1",50,0) S OLD="" F I=1:1:$L(PID) I $E(PID,I)?1AN S OLD=OLD_$E(PID,I) "RTN","MAGDLB1",51,0) I NEWSSN'=OLD D Q "RTN","MAGDLB1",52,0) . S MSG="Social Security numbers do not match. Update? " "RTN","MAGDLB1",53,0) I NEWNME'=PAT D Q "RTN","MAGDLB1",54,0) . S MSG="Patient names do not match. Update? " "RTN","MAGDLB1",55,0) ;Finally the problem is with the case number...either no longer in "C" "RTN","MAGDLB1",56,0) ;xref or invalid number provided "RTN","MAGDLB1",57,0) S MSG="Radiology case number different. Update? " "RTN","MAGDLB1",58,0) Q "RTN","MAGDLB1",59,0) NEWDIS ; "RTN","MAGDLB1",60,0) W !,?2,"****Please review the following: *****" "RTN","MAGDLB1",61,0) W !,?2,"Previous name: ",PAT,!,?2," New name: ",NEWNME "RTN","MAGDLB1",62,0) W !,?2,"Previous ssn: ",PID,!,?2," New ssn: ",NEWSSN "RTN","MAGDLB1",63,0) W !,?2,"Previous case #: ",CASENO,!,?2," New case #: ",NEWCAS "RTN","MAGDLB1",64,0) I $L($G(PP)) W !,?15,"Case number selected: ",PP "RTN","MAGDLB1",65,0) ; Variable PP already has text message about being part of printset. "RTN","MAGDLB1",66,0) Q "RTN","MAGDLB1",67,0) UPDT ; "RTN","MAGDLB1",68,0) N GWLOC ; -- gateway location "RTN","MAGDLB1",69,0) W !,"Will change the following: " D NEWDIS "RTN","MAGDLB1",70,0) W !,"Are you sure you want to correct this entry? " S %=2 D YN^DICN "RTN","MAGDLB1",71,0) I %=-1!(%=2) S OUT=1 Q "RTN","MAGDLB1",72,0) W !,"Updating the file." "RTN","MAGDLB1",73,0) S NEWDTIM=$TR(NEWDTI,"0123456789","9876543210") "RTN","MAGDLB1",74,0) S ^MAGD(2006.575,MAGIEN,"FIXD")="1^"_NEWDFN_"^"_NEWNME_"^"_NEWSSN_"^"_NEWCAS_"^"_NEWDTI_"^"_NEWMUL_"^"_NEWDTIM W "." "RTN","MAGDLB1",75,0) S ^MAGD(2006.575,MAGIEN,"FIXPR")=NEWPIEN_"^"_NEWPROC W "." "RTN","MAGDLB1",76,0) ;Same as ^radpt(newdfn,"DT",newdti,"P",newmul,0) & ^RAMIS(71,newpien,0) "RTN","MAGDLB1",77,0) S MACHID=$S(MACHID="":"A",1:MACHID) ;servier ID "RTN","MAGDLB1",78,0) S GWLOC=$P($G(^MAGD(2006.575,MAGIEN,1)),"^",5) "RTN","MAGDLB1",79,0) I GWLOC S ^MAGD(2006.575,"AFX",GWLOC,MACHID,MAGIEN)="" W "." "RTN","MAGDLB1",80,0) E W !,"Gateway place not defined on image entry "_MAGIEN_", continuing.." "RTN","MAGDLB1",81,0) ;Xref to loop & process entries; processing will be minimal. "RTN","MAGDLB1",82,0) S MAGFIX(MAGIEN)="F" "RTN","MAGDLB1",83,0) Q "RTN","MAGDLB1",84,0) SETDEL ;Entry to be deleted "RTN","MAGDLB1",85,0) N GWLOC ; -- gateway location "RTN","MAGDLB1",86,0) D LOGERR I ANS="^" S OUT=1 Q "RTN","MAGDLB1",87,0) S GWLOC=$P($G(^MAGD(2006.575,MAGIEN,1)),"^",5) "RTN","MAGDLB1",88,0) I GWLOC S ^MAGD(2006.575,"AFX",GWLOC,MACHID,MAGIEN)="D" W "." "RTN","MAGDLB1",89,0) E W !,"Gateway place not defined on this image entry "_MAGIEN_", continuing.." "RTN","MAGDLB1",90,0) S $P(^MAGD(2006.575,MAGIEN,0),"^",6)="1" "RTN","MAGDLB1",91,0) S ^MAGD(2006.575,MAGIEN,"FIXD")=1 "RTN","MAGDLB1",92,0) S MAGFIX(MAGIEN)="D" "RTN","MAGDLB1",93,0) Q "RTN","MAGDLB1",94,0) LOGERR ;Need to record error "RTN","MAGDLB1",95,0) N DIR,DIRUT,DTOUT,ENTRY,I,MAGERR,MAGOUT,X,Y,WHY,WHO "RTN","MAGDLB1",96,0) W !! F I=1:1:80 W "*" "RTN","MAGDLB1",97,0) W !,"*** Will log in error log (file 2006.599). ****" "RTN","MAGDLB1",98,0) D NOW^%DTC "RTN","MAGDLB1",99,0) S DIR(0)="F^3:30" "RTN","MAGDLB1",100,0) S DIR("A")="Reason for deletion" "RTN","MAGDLB1",101,0) S DIR("A",1)="Please enter a reason for deleting." "RTN","MAGDLB1",102,0) S DIR("A",2)="For example: TEST PATIENT" "RTN","MAGDLB1",103,0) D ^DIR "RTN","MAGDLB1",104,0) I $D(DIRUT)!($D(DTOUT))!(Y="") D S ANS="^" Q "RTN","MAGDLB1",105,0) . W !,"Can not delete if a reason is not provided." "RTN","MAGDLB1",106,0) . Q "RTN","MAGDLB1",107,0) S WHY=Y,WHO=$G(DUZ) "RTN","MAGDLB1",108,0) I WHO D "RTN","MAGDLB1",109,0) . D GETS^DIQ(200,DUZ,".01","E","MAGOUT","MAGERR") "RTN","MAGDLB1",110,0) . Q:$D(MAGERR("DIERR")) "RTN","MAGDLB1",111,0) . S WHO=$G(MAGOUT(200,DUZ_",",.01,"E")) "RTN","MAGDLB1",112,0) I WHO="" S WHO="UNKNOWN" "RTN","MAGDLB1",113,0) I '$D(^MAGD(2006.599,0)) D "RTN","MAGDLB1",114,0) . S ^MAGD(2006.599,0)="Dicom Error Log^2006.599^^" "RTN","MAGDLB1",115,0) . Q "RTN","MAGDLB1",116,0) S ENTRY=$P(^MAGD(2006.599,0),"^",3)+1 "RTN","MAGDLB1",117,0) S $P(^MAGD(2006.599,0),"^",3)=ENTRY "RTN","MAGDLB1",118,0) S $P(^MAGD(2006.599,0),"^",4)=$P(^MAGD(2006.599,0),"^",4)+1 "RTN","MAGDLB1",119,0) S ^MAGD(2006.599,ENTRY,0)=%_"^"_WHY_"^"_FILE_"^"_MODEL "RTN","MAGDLB1",120,0) S ^MAGD(2006.599,ENTRY,1)=WHO_"^"_PAT_"^"_PID_"^"_CASENO_"^"_MACHID "RTN","MAGDLB1",121,0) S ^MAGD(2006.599,"B",%,ENTRY)="" "RTN","MAGDLB1",122,0) Q "RTN","MAGDLB1",123,0) SET ; "RTN","MAGDLB1",124,0) S MAGTYPE=$P(^MAGD(2006.575,MAGIEN,"TYPE"),"^") "RTN","MAGDLB1",125,0) Q:$P($G(^MAGD(2006.575,MAGIEN,"FIXD")),"^") ;Already fixed. "RTN","MAGDLB1",126,0) ;Only process Radiology images...medicine images done by other rtns. "RTN","MAGDLB1",127,0) I MAGTYPE'["RAD" Q "RTN","MAGDLB1",128,0) S DATA=^MAGD(2006.575,MAGIEN,0) "RTN","MAGDLB1",129,0) S FILE=$P(^MAGD(2006.575,MAGIEN,0),"^") "RTN","MAGDLB1",130,0) S DATA1=^MAGD(2006.575,MAGIEN,1) ;Case no. info "RTN","MAGDLB1",131,0) S DATA2=^MAGD(2006.575,MAGIEN,"AMFG") ;Modality info "RTN","MAGDLB1",132,0) S PAT=$P(DATA,"^",4),PID=$P(DATA,"^",3),REASON=$P(DATA,"^",2) "RTN","MAGDLB1",133,0) S MOD=$P(DATA2,"^"),MODEL=$P(DATA2,"^",6) "RTN","MAGDLB1",134,0) S CASENO=$P(DATA1,"^",2),MACHID=$P(DATA1,"^",4) "RTN","MAGDLB1",135,0) S Y=$P(DATA1,"^",3) X ^DD("DD") S DATE=Y "RTN","MAGDLB1",136,0) S COMNT1=$G(^MAGD(2006.575,MAGIEN,"ACSTXT")) ;1st line comment. "RTN","MAGDLB1",137,0) S MACHID=$P(DATA1,"^",4),GWLOC=$P(DATA2,"^",9),GWNM=$$NAME(GWLOC) "RTN","MAGDLB1",138,0) S ANS="" D DISPLAY S ANS=$$ASK "RTN","MAGDLB1",139,0) I ANS="Q"!(ANS["^") S (OOUT,OUT)=1 D SETPREV Q "RTN","MAGDLB1",140,0) I ANS="N" S OUT=1 D SETPREV Q "RTN","MAGDLB1",141,0) I ANS="P" D CHKPREV Q "RTN","MAGDLB1",142,0) I ANS="D" D SETDEL,SETPREV Q "RTN","MAGDLB1",143,0) Q:OUT "RTN","MAGDLB1",144,0) K MAGDY W !," Lookup by case number or patient name" "RTN","MAGDLB1",145,0) LOOK ; "RTN","MAGDLB1",146,0) ;D ^MAGDLB2 Q:'$D(MAGDY) Q:MAGDY'["" "RTN","MAGDLB1",147,0) D EN^MAGDRA2 Q:'$D(MAGDY) Q:MAGDY'["" "RTN","MAGDLB1",148,0) D NEWCASE,CHK,NEWDIS S ANS=$$ASK "RTN","MAGDLB1",149,0) I ANS="Q"!(ANS["^") S (OOUT,OUT)=1 D SETPREV Q "RTN","MAGDLB1",150,0) I ANS="D" D SETDEL,SETPREV Q "RTN","MAGDLB1",151,0) I ANS="P" D CHKPREV Q "RTN","MAGDLB1",152,0) I ANS="N" S OUT=1 D SETPREV Q "RTN","MAGDLB1",153,0) Q:OUT "RTN","MAGDLB1",154,0) D UPDT "RTN","MAGDLB1",155,0) I ANS="P" D CHKPREV Q "RTN","MAGDLB1",156,0) D SETMAG "RTN","MAGDLB1",157,0) Q "RTN","MAGDLB1",158,0) DATELOOP(START,STOP) ;Loop thru the "AD" cross reference "RTN","MAGDLB1",159,0) N MAGIEN,SUID,THEDT,FIRST,OOUT,MAGFIX,MDV "RTN","MAGDLB1",160,0) S KFIXALL=$$SECKEY^MAGDLB12 "RTN","MAGDLB1",161,0) S THEDT=START-.1,(OOUT,FIRST)=0 "RTN","MAGDLB1",162,0) F S THEDT=$O(^MAGD(2006.575,"AD",THEDT)) Q:'THEDT!(THEDT>STOP)!(OOUT) D "RTN","MAGDLB1",163,0) . S MAGIEN=0 "RTN","MAGDLB1",164,0) . F S MAGIEN=$O(^MAGD(2006.575,"AD",THEDT,MAGIEN)) Q:'MAGIEN D "RTN","MAGDLB1",165,0) . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q "RTN","MAGDLB1",166,0) . . . K ^MAGD(2006.575,"AD",THEDT,MAGIEN) "RTN","MAGDLB1",167,0) . . . Q "RTN","MAGDLB1",168,0) . . I $P($G(^MAGD(2006.575,MAGIEN,"TYPE")),U,1)'["RAD" Q "RTN","MAGDLB1",169,0) . . ; No security key, or gateway site other than this site "RTN","MAGDLB1",170,0) . . I 'KFIXALL,$P($G(^MAGD(2006.575,MAGIEN,1)),U,5)'=$G(DUZ(2)) Q "RTN","MAGDLB1",171,0) . . I 'FIRST S PREV=MAGIEN,FIRST=1 "RTN","MAGDLB1",172,0) . . D SET "RTN","MAGDLB1",173,0) . . Q "RTN","MAGDLB1",174,0) . Q "RTN","MAGDLB1",175,0) Q "RTN","MAGDLB1",176,0) SETPREV ; "RTN","MAGDLB1",177,0) S PREV=MAGIEN,PREVS=$G(SUID) "RTN","MAGDLB1",178,0) Q "RTN","MAGDLB1",179,0) SETMAG ; "RTN","MAGDLB1",180,0) S FIRST=MAGIEN,FIRSTS=$G(SUID),MAGIEN=PREV,SUID=$G(PREVS) "RTN","MAGDLB1",181,0) S PREV=FIRST,PREVS=FIRSTS "RTN","MAGDLB1",182,0) Q "RTN","MAGDLB1",183,0) CHKPREV ; "RTN","MAGDLB1",184,0) S OUT=1 N STATUS "RTN","MAGDLB1",185,0) I '$D(MAGFIX(PREV)) D SETMAG G SET "RTN","MAGDLB1",186,0) S STATUS=$S($G(MAGFIX(PREV))="D":"deleted",1:"corrected") "RTN","MAGDLB1",187,0) W !,"Previous entry has been "_STATUS_".",$C(7) "RTN","MAGDLB1",188,0) G SET "RTN","MAGDLB1",189,0) Q "RTN","MAGDLB1",190,0) NAME(ENTRY) ;SITE NAME "RTN","MAGDLB1",191,0) N NAME,MAGOUT,MAGERR "RTN","MAGDLB1",192,0) I '$G(ENTRY) Q "" "RTN","MAGDLB1",193,0) D GETS^DIQ(4,ENTRY,".01","E","MAGOUT","MAGERR") "RTN","MAGDLB1",194,0) I $D(MAGERR("DIERR")) Q "" "RTN","MAGDLB1",195,0) S NAME=$G(MAGOUT(4,ENTRY_",",.01,"E")) "RTN","MAGDLB1",196,0) Q NAME "RTN","MAGDLB12") 0^38^B23355286 "RTN","MAGDLB12",1,0) MAGDLB12 ;WOIFO/LB,MLH - Routine to fix failed DICOM entries ; 01/30/2004 17:14 "RTN","MAGDLB12",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDLB12",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB12",4,0) ;; | Property of the US Government. | "RTN","MAGDLB12",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLB12",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLB12",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLB12",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLB12",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLB12",10,0) ;; | | "RTN","MAGDLB12",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLB12",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLB12",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLB12",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLB12",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLB12",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB12",17,0) ;; "RTN","MAGDLB12",18,0) Q "RTN","MAGDLB12",19,0) LOOP ; "RTN","MAGDLB12",20,0) N ANS,ANSR,CASENO,COMNT1,DATA,DATA1,DATA2,DATE,FILE,FIRST,FIRSTS "RTN","MAGDLB12",21,0) N MACHID,MAGDY,MAGDIEN,MAGIEN,MAGTYPE,MSG,START,STOP "RTN","MAGDLB12",22,0) N MOD,MODEL,NEWCAS,NEWDFN,NEWDTI,NEWDTIM,NEWMUL,NEWNME,NEWPIEN,NEWPROC "RTN","MAGDLB12",23,0) N NEWSSN,OK,OOUT,OUT,PAT,PID,PP,PREV,PREVS,REASON,SITE,STUDYUID,WHY,MAGFIX "RTN","MAGDLB12",24,0) N KFIXALL ; -- does user hold MAGDFIX ALL security key? "RTN","MAGDLB12",25,0) ; "RTN","MAGDLB12",26,0) S KFIXALL=$$SECKEY() "RTN","MAGDLB12",27,0) S (OOUT,OUT,PREV,FIRST)=0 "RTN","MAGDLB12",28,0) S SITE="" "RTN","MAGDLB12",29,0) F S SITE=$O(^MAGD(2006.575,"F",SITE)) Q:'SITE D "RTN","MAGDLB12",30,0) . ; if gateway site isn't the user's site, bail unless the user holds "RTN","MAGDLB12",31,0) . ; the MAGDFIX ALL security key "RTN","MAGDLB12",32,0) . I SITE'=DUZ(2),'KFIXALL Q "RTN","MAGDLB12",33,0) . S SUID=0 "RTN","MAGDLB12",34,0) . F S SUID=$O(^MAGD(2006.575,"F",SITE,SUID)) Q:SUID=""!(OOUT) D "RTN","MAGDLB12",35,0) . . S MAGIEN=$O(^MAGD(2006.575,"F",SITE,SUID,0)) Q:'MAGIEN "RTN","MAGDLB12",36,0) . . ; if image isn't on file, clean up xrefs "RTN","MAGDLB12",37,0) . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q "RTN","MAGDLB12",38,0) . . . K ^MAGD(2006.575,"F",SITE,SUID,MAGIEN),^MAGD(2006.575,MAGIEN,0) "RTN","MAGDLB12",39,0) . . . Q "RTN","MAGDLB12",40,0) . . ; if gateway site isn't the user's site, bail unless the user holds "RTN","MAGDLB12",41,0) . . ; the MAGDFIX ALL security key "RTN","MAGDLB12",42,0) . . I $P($G(^MAGD(2006.575,MAGIEN,1)),U,5)'=DUZ(2),'KFIXALL Q "RTN","MAGDLB12",43,0) . . ;Only process Radiology images...medicine images done by other rtns. "RTN","MAGDLB12",44,0) . . S MAGTYPE=$P($G(^MAGD(2006.575,MAGIEN,"TYPE")),"^") I MAGTYPE'["RAD" Q "RTN","MAGDLB12",45,0) . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^MAGD(2006.575,MAGIEN,"FIXD"),"^") Q "RTN","MAGDLB12",46,0) . . I 'FIRST S PREV=MAGIEN,PREVS=SUID,FIRST=MAGIEN "RTN","MAGDLB12",47,0) . . D SET^MAGDLB1 "RTN","MAGDLB12",48,0) . . Q "RTN","MAGDLB12",49,0) . Q "RTN","MAGDLB12",50,0) Q "RTN","MAGDLB12",51,0) SITE ; "RTN","MAGDLB12",52,0) N CNT,KFIXALL,RESULT,SITES "RTN","MAGDLB12",53,0) S (CNT,SITE)=0 F S SITE=$O(^MAGD(2006.575,"F",SITE)) Q:'SITE D "RTN","MAGDLB12",54,0) . Q:'$$FIND1^DIC(4,"","","`"_SITE) "RTN","MAGDLB12",55,0) . S CNT=CNT+1,SITES(CNT)=SITE "RTN","MAGDLB12",56,0) . Q "RTN","MAGDLB12",57,0) Q:'CNT "RTN","MAGDLB12",58,0) LOOK ; "RTN","MAGDLB12",59,0) S KFIXALL=$$SECKEY I '$$MDIV S KFIXALL=1 "RTN","MAGDLB12",60,0) ; If not multi-division set the KFIXALL - site should be able to correcty any entry "RTN","MAGDLB12",61,0) I KFIXALL D FIX(.SITES,CNT) Q "RTN","MAGDLB12",62,0) I $D(DUZ(2)) D Q "RTN","MAGDLB12",63,0) . S SITE=DUZ(2) "RTN","MAGDLB12",64,0) . I '$D(^MAGD(2006.575,"F",SITE)) W !,"No entries for division "_$$GET1^DIQ(4,+SITE,".01","E") "RTN","MAGDLB12",65,0) . Q "RTN","MAGDLB12",66,0) D LKUSR(.RESULT,DUZ) "RTN","MAGDLB12",67,0) I '$D(RESULT(0)) Q "RTN","MAGDLB12",68,0) I $P(RESULT(0),"^")=0 W !,$P(RESULT,"^",2) Q "RTN","MAGDLB12",69,0) SITE1 ; "RTN","MAGDLB12",70,0) N EN,II,NSITE,MAGSITE,X "RTN","MAGDLB12",71,0) S (CNT,SITE)=0 "RTN","MAGDLB12",72,0) S X=0 F S X=$O(SITES(X)) Q:'X S II=$G(SITES(X)) I II S NSITE(II)="" "RTN","MAGDLB12",73,0) S II=0 "RTN","MAGDLB12",74,0) F S II=$O(RESULT(II)) Q:'II S EN=$G(RESULT(II)) I $D(NSITE(EN)) S CNT=CNT+1,MAGSITE(CNT)=EN "RTN","MAGDLB12",75,0) I 'CNT Q ;no matches "RTN","MAGDLB12",76,0) I CNT=1 S SITE=$G(MAGSITE(1)) Q "RTN","MAGDLB12",77,0) D FIX(.MAGSITE,CNT) "RTN","MAGDLB12",78,0) Q "RTN","MAGDLB12",79,0) ; "RTN","MAGDLB12",80,0) FIX(SITES,CNT) ;Fix the entries for the user's division entries. "RTN","MAGDLB12",81,0) ; Multiple divisions have images to be corrected and user has appropirate security key. "RTN","MAGDLB12",82,0) N DIR,I,Y,X "RTN","MAGDLB12",83,0) I 'CNT Q "RTN","MAGDLB12",84,0) I CNT=1 S SITE=$G(SITES(CNT)) Q "RTN","MAGDLB12",85,0) S I=0 F S I=$O(SITES(I)) Q:'I D "RTN","MAGDLB12",86,0) . W !,I,") ",$G(SITES(I))," ",$$GET1^DIQ(4,+$G(SITES(I)),".01","E") "RTN","MAGDLB12",87,0) . Q "RTN","MAGDLB12",88,0) FIXE ; "RTN","MAGDLB12",89,0) S DIR(0)="N:1:"_CNT "RTN","MAGDLB12",90,0) S DIR("A",1)="There are images to be corrected for multiple divisions." "RTN","MAGDLB12",91,0) S DIR("A")="Select by number (1-"_CNT_")" "RTN","MAGDLB12",92,0) D ^DIR "RTN","MAGDLB12",93,0) Q:'+Y "RTN","MAGDLB12",94,0) I +Y>CNT W " ??" G FIXE "RTN","MAGDLB12",95,0) S SITE=$G(SITES(+Y)) "RTN","MAGDLB12",96,0) Q "RTN","MAGDLB12",97,0) ; "RTN","MAGDLB12",98,0) SECKEY() ; "RTN","MAGDLB12",99,0) N MAGKY,MAGRSLT "RTN","MAGDLB12",100,0) I '$D(DUZ) Q 0 "RTN","MAGDLB12",101,0) S MAGKY("MAGDFIX ALL")="MAGDFIX ALL" "RTN","MAGDLB12",102,0) D OWNSKEY^XUSRB(.MAGRSLT,.MAGKY) "RTN","MAGDLB12",103,0) I +$G(MAGRSLT("MAGDFIX ALL")) Q 1 "RTN","MAGDLB12",104,0) Q 0 "RTN","MAGDLB12",105,0) MDIV() ;Multi-divisional flag "RTN","MAGDLB12",106,0) N CNT,I "RTN","MAGDLB12",107,0) S (CNT,I)=0 "RTN","MAGDLB12",108,0) F S I=$O(^MAG(2006.1,I)) Q:'I S CNT=CNT+1 "RTN","MAGDLB12",109,0) I CNT>1 Q 1 "RTN","MAGDLB12",110,0) Q 0 "RTN","MAGDLB12",111,0) LKUSR(RESULT,USER) ; "RTN","MAGDLB12",112,0) ;RETURNS: 0^Message for failure "RTN","MAGDLB12",113,0) ; IENs for Institution file entry^ "RTN","MAGDLB12",114,0) ; If the user has more than one division and more than one match in the Imaging Site "RTN","MAGDLB12",115,0) ; Parameter file, then it returns the 1st matching division entry in the New Person file. "RTN","MAGDLB12",116,0) I $D(DUZ(2)) S RESULT(0)="1^Number of entries",RESULT(DUZ(2))=DUZ(2) Q "RTN","MAGDLB12",117,0) N MAGARRAY,CNT,MAGERR,MAGOUT,MAGDV,MAGX "RTN","MAGDLB12",118,0) S RESULT(0)="0^Your division entry is not part of the Imaging Site Parameter." "RTN","MAGDLB12",119,0) D GETS^DIQ(200,USER,"16*","I","MAGOUT") "RTN","MAGDLB12",120,0) ;MAGOUT(200.02,"institution entry,duz,",.01,"I")=institution entry "RTN","MAGDLB12",121,0) I $D(MAGOUT)=0 Q "RTN","MAGDLB12",122,0) S MAGX="",CNT=0 "RTN","MAGDLB12",123,0) F S MAGX=$O(MAGOUT(200.02,MAGX)) Q:MAGX="" D "RTN","MAGDLB12",124,0) . S MAGDV=$P(MAGX,",") I $D(^MAG(2006.1,"B",MAGDV)) S CNT=CNT+1,MAGARRAY(CNT)=MAGDV "RTN","MAGDLB12",125,0) . Q "RTN","MAGDLB12",126,0) I 'CNT Q "RTN","MAGDLB12",127,0) S CNT=0 "RTN","MAGDLB12",128,0) S X=0 F S X=$O(MAGARRAY(X)) Q:'X S CNT=CNT+1,RESULT(X)=$P(MAGARRAY(X),"^") "RTN","MAGDLB12",129,0) S RESULT(0)=CNT_"^Number of entries" "RTN","MAGDLB12",130,0) ; Get the 1st institution, the calling routine should check for keys. "RTN","MAGDLB12",131,0) Q "RTN","MAGDLB5") 0^39^B7219612 "RTN","MAGDLB5",1,0) MAGDLB5 ;WOIFO/LB - XREF code for DICOM ; 02/17/2004 07:18 "RTN","MAGDLB5",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDLB5",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB5",4,0) ;; | Property of the US Government. | "RTN","MAGDLB5",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLB5",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLB5",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLB5",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLB5",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLB5",10,0) ;; | | "RTN","MAGDLB5",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLB5",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLB5",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLB5",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLB5",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLB5",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB5",17,0) ;; "RTN","MAGDLB5",18,0) Q "RTN","MAGDLB5",19,0) MOVE ;Called from MAGDIR1 to move the failed entry into file 2006.575 "RTN","MAGDLB5",20,0) ;(Waiting for Peter's code to use FM instead of Direct sets.) "RTN","MAGDLB5",21,0) N CASECD,CNT,DA,DR,DIC,REASON,X,Y S CNT=0 "RTN","MAGDLB5",22,0) I '$D(FROMPATH) W !,"FROMPATH is missing" Q "RTN","MAGDLB5",23,0) Q:'$D(FROMPATH) ;This variable should be around when called "RTN","MAGDLB5",24,0) S X=FROMPATH,DIC="^MAGD(2006.575," D FILE^DICN "RTN","MAGDLB5",25,0) I Y<1 W !,"Couldn't add an entry in file ^MAG(2006.575" Q "RTN","MAGDLB5",26,0) S REASON=$P(PIDCHECK,",",2) "RTN","MAGDLB5",27,0) S CASECD=$TR(CASECODE,"^","~") "RTN","MAGDLB5",28,0) S DA=+Y,DR="[MAGD-ENTRY]",DIE=DIC "RTN","MAGDLB5",29,0) ADD ; "RTN","MAGDLB5",30,0) L +^MAGD(2006.575,DA) I $T D ^DIE L -^MAGD(2006.575,DA) Q "RTN","MAGDLB5",31,0) S CNT=CNT+1 H 2 G:CNT<3 ADD ;HANG 2 SECS AND TRY TWICE "RTN","MAGDLB5",32,0) W !,"Couldn't update the MAGD(2006.575 file." "RTN","MAGDLB5",33,0) Q "RTN","MAGDLB5",34,0) REMOVE(ENTRY) ;Called to delete entry once processed. "RTN","MAGDLB5",35,0) N DA,DIK "RTN","MAGDLB5",36,0) Q:'$D(ENTRY) "RTN","MAGDLB5",37,0) I 'ENTRY W !,"ENTRY variable is missing" Q "RTN","MAGDLB5",38,0) Q:'$D(^MAGD(2006.575,ENTRY,0)) ;MISSING ENTRY "RTN","MAGDLB5",39,0) ;I '$P($G(^MAGD(2006.575,ENTRY,"FIXD")),"^") W !,"Entry has not been corrected." Q "RTN","MAGDLB5",40,0) S DA=+ENTRY,DIK="^MAGD(2006.575," D ^DIK "RTN","MAGDLB5",41,0) Q "RTN","MAGDLB5",42,0) UPDT(ENTRY) ;Called to update entry. "RTN","MAGDLB5",43,0) Q:'$D(ENTRY)!'ENTRY "RTN","MAGDLB5",44,0) Q:'$D(^MAGD(2006.575,ENTRY,0)) "RTN","MAGDLB5",45,0) N DIE,DR,DA,DIC,GWLOC,MACHID "RTN","MAGDLB5",46,0) S DIE="^MAGD(2006.575,",DR="[MAGD-UPDT]" "RTN","MAGDLB5",47,0) S DA=ENTRY "RTN","MAGDLB5",48,0) D ^DIE "RTN","MAGDLB5",49,0) I '$L(^MAGD(2006.575,ENTRY,"FIXD")) W !,"Entry not updated" Q "RTN","MAGDLB5",50,0) S MACHID=$P(^MAGD(2006.575,ENTRY,1),"^",4),GWLOC=$P(^(1),"^",5) "RTN","MAGDLB5",51,0) I GWLOC D Q "RTN","MAGDLB5",52,0) . S ^MAGD(2006.575,"AFX",GWLOC,MACHID,ENTRY)="" "RTN","MAGDLB5",53,0) . Q "RTN","MAGDLB5",54,0) E S ^MAGD(2006.575,"AFX",MACHID,ENTRY)="" "RTN","MAGDLB5",55,0) Q "RTN","MAGDLB6") 0^40^B8156987 "RTN","MAGDLB6",1,0) MAGDLB6 ;WOIFO/LB,MLH - DICOM file utilities ; 01/30/2004 17:11 "RTN","MAGDLB6",2,0) ;;3.0;IMAGING;**21,10,11**;14-April-2004 "RTN","MAGDLB6",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB6",4,0) ;; | Property of the US Government. | "RTN","MAGDLB6",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLB6",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLB6",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLB6",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLB6",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLB6",10,0) ;; | | "RTN","MAGDLB6",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLB6",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLB6",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLB6",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLB6",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLB6",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB6",17,0) ;; "RTN","MAGDLB6",18,0) Q "RTN","MAGDLB6",19,0) XREF ;set xref for field 9 - study uid "RTN","MAGDLB6",20,0) N ORIG,PREX,PREDA "RTN","MAGDLB6",21,0) N GWLOC ; -- site number of DICOM Gateway "RTN","MAGDLB6",22,0) S PREX=X "RTN","MAGDLB6",23,0) S GWLOC=$P(^MAGD(2006.575,DA,1),"^",5) "RTN","MAGDLB6",24,0) Q:'GWLOC "RTN","MAGDLB6",25,0) I '$D(^MAGD(2006.575,"F",GWLOC,X)) D Q "RTN","MAGDLB6",26,0) . S ^MAGD(2006.575,"F",GWLOC,X,DA)="" "RTN","MAGDLB6",27,0) . Q "RTN","MAGDLB6",28,0) S ORIG=$O(^MAGD(2006.575,"F",GWLOC,X,0)) "RTN","MAGDLB6",29,0) Q:'$D(^MAGD(2006.575,ORIG,0)) ;NO LONGER AN ENTRY "RTN","MAGDLB6",30,0) S PREDA=DA D ADD "RTN","MAGDLB6",31,0) S DA=PREDA,X=PREX "RTN","MAGDLB6",32,0) Q "RTN","MAGDLB6",33,0) ADD ; "RTN","MAGDLB6",34,0) N DA,DIE,DIC,DD,D0,X,Y "RTN","MAGDLB6",35,0) S DIC="^MAGD(2006.575,"_ORIG_",""RLATE""," "RTN","MAGDLB6",36,0) S DIC(0)="L" "RTN","MAGDLB6",37,0) S DA(1)=ORIG,X=PREDA "RTN","MAGDLB6",38,0) K DD D FILE^DICN "RTN","MAGDLB6",39,0) I Y=-1 D EN^DDIOL("NOT FILED","","!") "RTN","MAGDLB6",40,0) Q "RTN","MAGDLB6",41,0) FIXRF ;set xref for field 16 - fixed flag - will incorporate the machine id "RTN","MAGDLB6",42,0) ;machine id is for multiple machines being used processing images from "RTN","MAGDLB6",43,0) ;xray modalities "RTN","MAGDLB6",44,0) Q:'DA "RTN","MAGDLB6",45,0) N MACH,STUDY,GWLOC "RTN","MAGDLB6",46,0) S MACH=$P(^MAGD(2006.575,DA,1),"^",4) ;Machine ID "RTN","MAGDLB6",47,0) S GWLOC=$P(^MAGD(2006.575,DA,1),"^",5) ;Place where gateway is located "RTN","MAGDLB6",48,0) S STUDY=$G(^MAGD(2006.575,DA,"ASUID")) "RTN","MAGDLB6",49,0) Q:'$L(STUDY) ; "RTN","MAGDLB6",50,0) I '$D(^MAGD(2006.575,"F",GWLOC,STUDY,DA)) Q ;Only unique study set this xref "RTN","MAGDLB6",51,0) S ^MAGD(2006.575,"AFX",GWLOC,MACH,DA)="" "RTN","MAGDLB6",52,0) Q "RTN","MAGDLB6",53,0) FIXRFK ; kill xref for field 16 - fixed flag "RTN","MAGDLB6",54,0) N GWLOC ; -- gateway location "RTN","MAGDLB6",55,0) N MACH ; ----- machine ID (for multiple machines) "RTN","MAGDLB6",56,0) S GWLOC=$P($G(^MAGD(2006.575,DA,1)),"^",5) "RTN","MAGDLB6",57,0) S MACH=$P($G(^MAGD(2006.575,DA,1)),"^",4) "RTN","MAGDLB6",58,0) I GWLOC]"",MACH]"" K ^MAGD(2006.575,"AFX",GWLOC,MACH,DA) "RTN","MAGDLB6",59,0) Q "RTN","MAGDLB6",60,0) XREFK ; "RTN","MAGDLB6",61,0) Q:'DA "RTN","MAGDLB6",62,0) N GWLOC,SUID "RTN","MAGDLB6",63,0) S GWLOC=$P(^MAGD(2006.575,DA,1),"^",5) "RTN","MAGDLB6",64,0) Q:'GWLOC "RTN","MAGDLB6",65,0) S SUID=$P(^MAGD(2006.575,DA,"ASUID"),"^") "RTN","MAGDLB6",66,0) K ^MAGD(2006.575,"F",GWLOC,SUID,DA) "RTN","MAGDLB9") 0^41^B9474795 "RTN","MAGDLB9",1,0) MAGDLB9 ;WOIFO/LB - DICOM correct entries ; 01/30/2004 17:14 "RTN","MAGDLB9",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDLB9",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB9",4,0) ;; | Property of the US Government. | "RTN","MAGDLB9",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLB9",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLB9",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLB9",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLB9",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLB9",10,0) ;; | | "RTN","MAGDLB9",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLB9",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLB9",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLB9",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLB9",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLB9",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLB9",17,0) ;; "RTN","MAGDLB9",18,0) Q "RTN","MAGDLB9",19,0) EN() ;Start looping either by patient or loop thru Study uid "RTN","MAGDLB9",20,0) N DIR,X,Y "RTN","MAGDLB9",21,0) S DIR(0)="S^P:Patient;L:Loop thru file;D:Specify a Date Range" "RTN","MAGDLB9",22,0) S DIR("A")="Update entries by" "RTN","MAGDLB9",23,0) D ^DIR "RTN","MAGDLB9",24,0) Q Y "RTN","MAGDLB9",25,0) ; "RTN","MAGDLB9",26,0) START ; "RTN","MAGDLB9",27,0) N KFIXALL,MAGSORT,MAGIEN,PREV,START,STOP,X,Y "RTN","MAGDLB9",28,0) N MAGTYPE ; -- type of image "RTN","MAGDLB9",29,0) S MAGSORT=$$EN Q:MAGSORT["^" "RTN","MAGDLB9",30,0) S KFIXALL=$$SECKEY^MAGDLB12() "RTN","MAGDLB9",31,0) I MAGSORT="P" D G EXIT "RTN","MAGDLB9",32,0) . D SRT^MAGDLBSR S MAGIEN=$$SELECT Q:MAGIEN<1 "RTN","MAGDLB9",33,0) . I 'KFIXALL,$P($G(^MAGD(2006.575,MAGIEN,1)),"^",5)'=$G(DUZ(2)) D Q "RTN","MAGDLB9",34,0) . . W !,"The entry selected was not captured on your site's gateway." "RTN","MAGDLB9",35,0) . . W !,"You are not authorized to correct another site's entries." "RTN","MAGDLB9",36,0) . . Q "RTN","MAGDLB9",37,0) . S MAGTYPE=$P($G(^MAGD(2006.575,MAGIEN,"TYPE")),U) "RTN","MAGDLB9",38,0) . I "^CON^MED^"[(U_MAGTYPE_U) D Q "RTN","MAGDLB9",39,0) . . W !,"Use the MAGD FIX " "RTN","MAGDLB9",40,0) . . W $S(MAGTYPE="MED":"MEDICINE",1:"CLINSPEC") "RTN","MAGDLB9",41,0) . . W " menu option to correct this entry." "RTN","MAGDLB9",42,0) . . Q "RTN","MAGDLB9",43,0) . S PREV=MAGIEN D SET^MAGDLB1 "RTN","MAGDLB9",44,0) I MAGSORT="D" D G EXIT "RTN","MAGDLB9",45,0) . D SRTDT^MAGDLBSR "RTN","MAGDLB9",46,0) . D ASKDT^MAGDLBSR "RTN","MAGDLB9",47,0) . I '$D(STR)!('$D(STP)) Q "RTN","MAGDLB9",48,0) . S START=STR,STOP=STP K STR,STP "RTN","MAGDLB9",49,0) . D DATELOOP^MAGDLB1(START,STOP) "RTN","MAGDLB9",50,0) E D LOOP^MAGDLB12 "RTN","MAGDLB9",51,0) EXIT ; "RTN","MAGDLB9",52,0) K ANS,ANSR,CASENO,COMNT1,DATA,DATA1,DATA2,DATE,FILE,FIRST,FIRSTS,I,MACHID,MAGDY "RTN","MAGDLB9",53,0) K MAGDIEN,MAGCSE,MAGERR,MAGFIX,MAGDTPRT,MAGTYPE,MAGDTPRT,MAGSTP,MSG "RTN","MAGDLB9",54,0) K MOD,MODEL,NEWCAS,NEWDFN,NEWDTI,NEWDTIM,NEWMUL,NEWNME,NEWPIEN,NEWPROC "RTN","MAGDLB9",55,0) K NEWSSN,OK,OOUT,OUT,PAT,PID,PREV,PREVS,REASON,STUDYUID,SUID,WHY "RTN","MAGDLB9",56,0) Q "RTN","MAGDLB9",57,0) SELECT() ; "RTN","MAGDLB9",58,0) N DIC,D,X,Y "RTN","MAGDLB9",59,0) S DIC="^MAGD(2006.575,",D="D",DIC(0)="AE" "RTN","MAGDLB9",60,0) D MIX^DIC1 "RTN","MAGDLB9",61,0) Q +Y "RTN","MAGDLB9",62,0) SLDATE() ; "RTN","MAGDLB9",63,0) N DIC,D,X,Y "RTN","MAGDLB9",64,0) S DIC="^MAGD(2006.575,",D="AD",DIC(0)="AE" "RTN","MAGDLB9",65,0) D MIX^DIC1 "RTN","MAGDLB9",66,0) Q +Y "RTN","MAGDLBAA") 0^42^B13041895 "RTN","MAGDLBAA",1,0) MAGDLBAA ;WOIFO/LB - Routine to move failed dicom images to ^MAG(2006.575 ; 13 June 2003 3:01 PM "RTN","MAGDLBAA",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDLBAA",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLBAA",4,0) ;; | Property of the US Government. | "RTN","MAGDLBAA",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLBAA",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLBAA",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLBAA",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLBAA",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLBAA",10,0) ;; | | "RTN","MAGDLBAA",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLBAA",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLBAA",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLBAA",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLBAA",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLBAA",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLBAA",17,0) ;; "RTN","MAGDLBAA",18,0) Q "RTN","MAGDLBAA",19,0) MOVE ;called from MAGDIR1 to move entries not matching Radiology case #. "RTN","MAGDLBAA",20,0) ;Not done thru FM because the system should be independent. "RTN","MAGDLBAA",21,0) ;These variable are needed to be defined before using this routine: "RTN","MAGDLBAA",22,0) ;PIDCHECK, FIRSTDCM, IMGSVC, MIDCM, MACHID,ACNUMB, CASENUMB, PNAMEDCM, PID "RTN","MAGDLBAA",23,0) ;MODALITY, CASETEXT "RTN","MAGDLBAA",24,0) N DATE,REASON,IEN,NIEN,ORIG,DCMPNME,CASE,CASENUM,PATIENT "RTN","MAGDLBAA",25,0) D NOW^%DTC S DATE=X "RTN","MAGDLBAA",26,0) ;ADD ENTRY "RTN","MAGDLBAA",27,0) I '$D(^MAGD(2006.575,0)) D "RTN","MAGDLBAA",28,0) . S ^MAGD(2006.575,0)="DICOM Failed Images^2006.575^^" "RTN","MAGDLBAA",29,0) . Q "RTN","MAGDLBAA",30,0) S IEN=$P(^MAGD(2006.575,0),"^",3),IEN=IEN+1,$P(^(0),"^",3)=IEN "RTN","MAGDLBAA",31,0) S $P(^MAGD(2006.575,0),"^",4)=$P(^MAGD(2006.575,0),"^",4)+1 ; #OF RECORDS "RTN","MAGDLBAA",32,0) S REASON=$P(PIDCHECK,",",2) "RTN","MAGDLBAA",33,0) S PATIENT=LASTDCM_","_FIRSTDCM_$S($L(MIDCM)>0:" "_MIDCM,1:"") "RTN","MAGDLBAA",34,0) S MACHID=$G(MACHID,"A") "RTN","MAGDLBAA",35,0) ; PNAMEDCM usually contains an "^" between last & first name "RTN","MAGDLBAA",36,0) ; CHANGE ^ TO ~ "RTN","MAGDLBAA",37,0) S CASE=$TR(ACNUMB,"^","~"),CASENUM=$TR(CASENUMB,"^","~") "RTN","MAGDLBAA",38,0) S DCMPNME=$TR(PNAMEDCM,"^","~") "RTN","MAGDLBAA",39,0) S ^MAGD(2006.575,IEN,0)=FROMPATH_"^"_REASON_"^"_PID_"^"_PATIENT_"^"_DCMPNME "RTN","MAGDLBAA",40,0) S ^MAGD(2006.575,IEN,1)=CASE_"^"_CASENUM_"^"_DATE_"^"_MACHID_"^"_LOCATION "RTN","MAGDLBAA",41,0) S ^MAGD(2006.575,IEN,"AIUID")=$G(IMAGEUID) "RTN","MAGDLBAA",42,0) S ^MAGD(2006.575,IEN,"ASUID")=STUDYUID "RTN","MAGDLBAA",43,0) S ^MAGD(2006.575,IEN,"AMFG")=$G(INSTNAME)_"^"_$G(ROWS)_"^"_$G(COLUMNS)_"^"_$G(OFFSET)_"^"_$G(MODIEN)_"^"_$G(MODALITY)_"^"_$$UP^MAGDFCNV($G(MFGR))_"^"_$$UP^MAGDFCNV($G(MODEL))_"^"_LOCATION "RTN","MAGDLBAA",44,0) S ^MAGD(2006.575,IEN,"ACSTXT")=$G(CASETEXT) "RTN","MAGDLBAA",45,0) ; Image type can be RAD, MEDICINE, SURGERY, etc. "RTN","MAGDLBAA",46,0) S ^MAGD(2006.575,IEN,"TYPE")=$G(IMGSVC) "RTN","MAGDLBAA",47,0) ;Setting xrefs "RTN","MAGDLBAA",48,0) S ^MAGD(2006.575,"B",FROMPATH,IEN)="" "RTN","MAGDLBAA",49,0) I $D(^MAGD(2006.575,"C")) K ^MAGD(2006.575,"C") "RTN","MAGDLBAA",50,0) I $D(^MAGD(2006.575,"D")) K ^MAGD(2006.575,"D") "RTN","MAGDLBAA",51,0) I $D(^MAGD(2006.575,"DPAT")) K ^MAGD(2006.575,"DPAT") "RTN","MAGDLBAA",52,0) I $D(^MAGD(2006.575,"E")) K ^MAGD(2006.575,"E") "RTN","MAGDLBAA",53,0) ;Clean up---no longer need those xrefs. "RTN","MAGDLBAA",54,0) ;The following xref ("F") will be set on the 1st entry having a unique "RTN","MAGDLBAA",55,0) ;STUDYUID. The remaing entries with the same # will be added "RTN","MAGDLBAA",56,0) ;to the RELATED IMAGES multiple field for the entry that set the "RTN","MAGDLBAA",57,0) ;F xref. "RTN","MAGDLBAA",58,0) S ORIG=0 "RTN","MAGDLBAA",59,0) I '$D(^MAGD(2006.575,"F",LOCATION,STUDYUID)) D Q ; Quit if 1st entry "RTN","MAGDLBAA",60,0) . S ^MAGD(2006.575,"F",LOCATION,STUDYUID,IEN)="" "RTN","MAGDLBAA",61,0) . Q "RTN","MAGDLBAA",62,0) S ORIG=$O(^MAGD(2006.575,"F",LOCATION,STUDYUID,0)) "RTN","MAGDLBAA",63,0) Q:'ORIG "RTN","MAGDLBAA",64,0) I ORIG'=IEN D "RTN","MAGDLBAA",65,0) . I '$D(^MAGD(2006.575,ORIG,"RLATE",0)) D "RTN","MAGDLBAA",66,0) . . S ^MAGD(2006.575,ORIG,"RLATE",0)="^2006.57526PA^^" "RTN","MAGDLBAA",67,0) . S NIEN=$P(^MAGD(2006.575,ORIG,"RLATE",0),"^",3),NIEN=NIEN+1 "RTN","MAGDLBAA",68,0) . S $P(^MAGD(2006.575,ORIG,"RLATE",0),"^",3)=NIEN ; #next ien entry "RTN","MAGDLBAA",69,0) . S $P(^MAGD(2006.575,ORIG,"RLATE",0),"^",4)=$P(^MAGD(2006.575,ORIG,"RLATE",0),"^",4)+1 ; #record for multiple field "RTN","MAGDLBAA",70,0) . S ^MAGD(2006.575,ORIG,"RLATE",NIEN,0)=IEN "RTN","MAGDLBAA",71,0) . S ^MAGD(2006.575,ORIG,"RLATE","B",IEN,NIEN)="" "RTN","MAGDLBAA",72,0) . Q "RTN","MAGDLBAA",73,0) Q "RTN","MAGDLBSR") 0^43^B22081306 "RTN","MAGDLBSR",1,0) MAGDLBSR ;WOIFO/LB,MLH - Sort/print for 2006.575 ; 01/30/2004 17:11 "RTN","MAGDLBSR",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDLBSR",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLBSR",4,0) ;; | Property of the US Government. | "RTN","MAGDLBSR",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDLBSR",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDLBSR",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDLBSR",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDLBSR",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDLBSR",10,0) ;; | | "RTN","MAGDLBSR",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDLBSR",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDLBSR",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDLBSR",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDLBSR",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDLBSR",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDLBSR",17,0) ;; "RTN","MAGDLBSR",18,0) Q "RTN","MAGDLBSR",19,0) SRT ;Sort the file first by the patient name but only the unique entries. "RTN","MAGDLBSR",20,0) ;The "F" cross reference uses the study uid number and gateway site. "RTN","MAGDLBSR",21,0) N MAGSUID,MAGIEN,MAGPT "RTN","MAGDLBSR",22,0) N GWLOC ; -- gateway site number "RTN","MAGDLBSR",23,0) N KFIXALL ; -- does user hold MAGDFIX ALL security key? "RTN","MAGDLBSR",24,0) N MAGTYPE ; -- type of image (rad/med/clinspec) "RTN","MAGDLBSR",25,0) ; "RTN","MAGDLBSR",26,0) S KFIXALL=$$SECKEY^MAGDLB12 "RTN","MAGDLBSR",27,0) Q:'$D(^MAGD(2006.575,"F")) ;nothing to sort "RTN","MAGDLBSR",28,0) K ^MAGD(2006.575,"D") "RTN","MAGDLBSR",29,0) S GWLOC="" "RTN","MAGDLBSR",30,0) F S GWLOC=$O(^MAGD(2006.575,"F",GWLOC)) Q:GWLOC="" D "RTN","MAGDLBSR",31,0) . ; if this isn't the user's site, bail unless the user holds the "RTN","MAGDLBSR",32,0) . ; MAGDFIX ALL security key "RTN","MAGDLBSR",33,0) . I GWLOC'=DUZ(2),'KFIXALL Q "RTN","MAGDLBSR",34,0) . S MAGSUID="" "RTN","MAGDLBSR",35,0) . F S MAGSUID=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID)) Q:MAGSUID="" D "RTN","MAGDLBSR",36,0) . . S MAGIEN=0 "RTN","MAGDLBSR",37,0) . . F S MAGIEN=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)) Q:'MAGIEN D "RTN","MAGDLBSR",38,0) . . . ; if no main failed image rec, there's a xref prob, so bail "RTN","MAGDLBSR",39,0) . . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q ; clean up xref "RTN","MAGDLBSR",40,0) . . . . K ^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN) "RTN","MAGDLBSR",41,0) . . . . Q "RTN","MAGDLBSR",42,0) . . . ; If entry has been corrected, do not include in sort "RTN","MAGDLBSR",43,0) . . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^("FIXD"),"^") Q "RTN","MAGDLBSR",44,0) . . . ;Only radiology images! "RTN","MAGDLBSR",45,0) . . . I $P($G(^MAGD(2006.575,MAGIEN,"TYPE")),U)'="RAD" Q "RTN","MAGDLBSR",46,0) . . . S MAGPT=$P(^MAGD(2006.575,MAGIEN,0),"^",4) "RTN","MAGDLBSR",47,0) . . . S ^MAGD(2006.575,"D",MAGPT,MAGIEN)="" "RTN","MAGDLBSR",48,0) . . . Q "RTN","MAGDLBSR",49,0) . . Q "RTN","MAGDLBSR",50,0) . Q "RTN","MAGDLBSR",51,0) Q "RTN","MAGDLBSR",52,0) SRTDT ;Provide sorting by date entry but only if NOT fixed and by unique suid "RTN","MAGDLBSR",53,0) N MAGSUID,MAGIEN,MAGDT "RTN","MAGDLBSR",54,0) N KFIXALL ; -- does user hold MAGDFIX ALL security key? "RTN","MAGDLBSR",55,0) N GWLOC ; -- gateway site number "RTN","MAGDLBSR",56,0) ; "RTN","MAGDLBSR",57,0) S KFIXALL=$$SECKEY^MAGDLB12 "RTN","MAGDLBSR",58,0) Q:'$D(^MAGD(2006.575,"F")) "RTN","MAGDLBSR",59,0) K ^MAGD(2006.575,"AD") "RTN","MAGDLBSR",60,0) S GWLOC="" "RTN","MAGDLBSR",61,0) F S GWLOC=$O(^MAGD(2006.575,"F",GWLOC)) Q:'GWLOC D "RTN","MAGDLBSR",62,0) . ; if this isn't the user's site, bail unless the user holds the "RTN","MAGDLBSR",63,0) . ; MAGDFIX ALL security key "RTN","MAGDLBSR",64,0) . I GWLOC'=DUZ(2),'KFIXALL Q "RTN","MAGDLBSR",65,0) . S MAGSUID="" "RTN","MAGDLBSR",66,0) . F S MAGSUID=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID)) Q:MAGSUID="" D "RTN","MAGDLBSR",67,0) . . S MAGIEN=0 "RTN","MAGDLBSR",68,0) . . F S MAGIEN=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)) Q:'MAGIEN D "RTN","MAGDLBSR",69,0) . . . ; if no main failed image rec, there's a xref prob, so bail "RTN","MAGDLBSR",70,0) . . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q ; CLEAN UP XREF "RTN","MAGDLBSR",71,0) . . . . K ^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN) "RTN","MAGDLBSR",72,0) . . . . Q "RTN","MAGDLBSR",73,0) . . . ; If entry has been corrected, do not include in sort "RTN","MAGDLBSR",74,0) . . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^("FIXD"),"^") Q "RTN","MAGDLBSR",75,0) . . . ;Only radiology images! "RTN","MAGDLBSR",76,0) . . . I $P($G(^MAGD(2006.575,MAGIEN,"TYPE")),U)'="RAD" Q "RTN","MAGDLBSR",77,0) . . . Q:'$D(^MAGD(2006.575,MAGIEN,1)) "RTN","MAGDLBSR",78,0) . . . S MAGDT=$P(^MAGD(2006.575,MAGIEN,1),"^",3) "RTN","MAGDLBSR",79,0) . . . S ^MAGD(2006.575,"AD",MAGDT,MAGIEN)="" "RTN","MAGDLBSR",80,0) . . . Q "RTN","MAGDLBSR",81,0) . . Q "RTN","MAGDLBSR",82,0) . Q "RTN","MAGDLBSR",83,0) Q "RTN","MAGDLBSR",84,0) PRTDT(SORT,START,STOP) ; "RTN","MAGDLBSR",85,0) ;Print entries using the "AD" cross reference (date order) "RTN","MAGDLBSR",86,0) ; OR the "F" cross reference (unique study uid) "RTN","MAGDLBSR",87,0) I '$D(DUZ) W !,"DUZ variable not defined." Q "RTN","MAGDLBSR",88,0) I "DF"'[SORT Q ;only the date or unique suid "RTN","MAGDLBSR",89,0) N DIC,BY,FLDS,L,FR,TO "RTN","MAGDLBSR",90,0) ;I 'STOP!'START Q "RTN","MAGDLBSR",91,0) S L(0)=2 "RTN","MAGDLBSR",92,0) I SORT="D" S SORT="AD" D "RTN","MAGDLBSR",93,0) . I $L($G(START))>1,$L($G(STOP))>1 S FR(0,1)=START,TO(0,1)=STOP "RTN","MAGDLBSR",94,0) S DIC="^MAGD(2006.575,",BY(0)="^MAGD(2006.575,"""_SORT_"""," "RTN","MAGDLBSR",95,0) S FLDS="[MAG FAILED IMAGES]",L=0 "RTN","MAGDLBSR",96,0) D EN1^DIP "RTN","MAGDLBSR",97,0) Q "RTN","MAGDLBSR",98,0) ADATE() ;date "RTN","MAGDLBSR",99,0) N DIR,X,Y "RTN","MAGDLBSR",100,0) S DIR(0)="DU",DIR("A")=$G(MESSAGE) D ^DIR "RTN","MAGDLBSR",101,0) Q Y "RTN","MAGDLBSR",102,0) ASKDT ;Ask date range "RTN","MAGDLBSR",103,0) N MESSAGE "RTN","MAGDLBSR",104,0) S MESSAGE="Enter start date" S STR=$$ADATE "RTN","MAGDLBSR",105,0) I '$D(DTOUT),'$D(DUOUT) "RTN","MAGDLBSR",106,0) E K STR,STP Q "RTN","MAGDLBSR",107,0) Q:'STR "RTN","MAGDLBSR",108,0) I STR'?7N W "Wrong date format." Q "RTN","MAGDLBSR",109,0) S MESSAGE="Enter stop date" S STP=$$ADATE "RTN","MAGDLBSR",110,0) I '$D(DTOUT),'$D(DUOUT) "RTN","MAGDLBSR",111,0) E K STR,STP Q "RTN","MAGDLBSR",112,0) I STP'?7N W "Wrong date format." Q "RTN","MAGDLBSR",113,0) Q "RTN","MAGDLBSR",114,0) PRNT ; "RTN","MAGDLBSR",115,0) N DIR,X,Y,BY "RTN","MAGDLBSR",116,0) S DIR(0)="S^D:Date;F:Unique Entries" "RTN","MAGDLBSR",117,0) D ^DIR "RTN","MAGDLBSR",118,0) Q:"DF"'[Y "RTN","MAGDLBSR",119,0) I Y="D" D Q:'$D(STR)!'$D(STP) "RTN","MAGDLBSR",120,0) . D ASKDT Q:'$D(STR)!'$D(STP) "RTN","MAGDLBSR",121,0) . W !,"Please hold sorting by Date. " D SRTDT "RTN","MAGDLBSR",122,0) S BY=Y K DIR,X,Y,DTOUT,DIRUT,DTOUT "RTN","MAGDLBSR",123,0) D PRTDT(BY,$G(STR),$G(STP)) "RTN","MAGDLBSR",124,0) K BY,STR,STP "RTN","MAGDLBSR",125,0) Q "RTN","MAGDRA1") 0^44^B21165854 "RTN","MAGDRA1",1,0) MAGDRA1 ;WOIFO/LB -Routine for DICOM fix ; 16 Feb 2004 2:25 PM "RTN","MAGDRA1",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDRA1",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRA1",4,0) ;; | Property of the US Government. | "RTN","MAGDRA1",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRA1",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRA1",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRA1",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRA1",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRA1",10,0) ;; | | "RTN","MAGDRA1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRA1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRA1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRA1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRA1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRA1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRA1",17,0) ;; "RTN","MAGDRA1",18,0) Q "RTN","MAGDRA1",19,0) LOOP ;Loop thru ^TMP($J,"RAE1" global "RTN","MAGDRA1",20,0) ;MAGDFN should exist. "RTN","MAGDRA1",21,0) ;MAGNME,MAGSSN may exist. "RTN","MAGDRA1",22,0) Q:'$D(^TMP($J,"RAE1"))!('$D(MAGDFN)) "RTN","MAGDRA1",23,0) N CCASE,CASE,CDATE,CODE,DATA,DATE,ENTRY,ENTRIES,ERR,ESTAT,INDEX "RTN","MAGDRA1",24,0) N LOC,MAGCASE,MAGCNI,MAGCPT,MAGDTI,MAGPIEN,MAGPRC,MAGPSET,MAGPST "RTN","MAGDRA1",25,0) N OUT,OLDCNI,OLDDT,OLDENTRY,PROC,PSET,PTINFO,RARPT,RADTI,RACNI,RADFN "RTN","MAGDRA1",26,0) N RAMELOW,RAPRTSET,REIN,STAT,X,Y "RTN","MAGDRA1",27,0) S (ENTRY,ENTRIES,OLDDT)=0 "RTN","MAGDRA1",28,0) F S ENTRY=$O(^TMP($J,"RAE1",MAGDFN,ENTRY)) Q:'ENTRY!$G(OUT) D "RTN","MAGDRA1",29,0) . S DATA=^TMP($J,"RAE1",MAGDFN,ENTRY),ENTRIES=ENTRIES+1 "RTN","MAGDRA1",30,0) . S DATE=$P(ENTRY,"-"),CDATE=9999999.9999-DATE "RTN","MAGDRA1",31,0) . S DATE=$TR($$FMTE^XLFDT(CDATE,"2FD")," ","0") "RTN","MAGDRA1",32,0) . S PROC=$P(DATA,"^"),CASE=$P(DATA,"^",2),STAT=$P(DATA,"^",6) "RTN","MAGDRA1",33,0) . S ESTAT=$P(STAT,"~",2),LOC=$P(DATA,"^",7) "RTN","MAGDRA1",34,0) . S RARPT=$P(DATA,"^",5) "RTN","MAGDRA1",35,0) . S RADTI=$P(ENTRY,"-"),RACNI=$P(ENTRY,"-",2),RADFN=MAGDFN "RTN","MAGDRA1",36,0) . S MAGCASE=$$LCASE^MAGDRA2(CDATE,CASE) "RTN","MAGDRA1",37,0) . ;Above radiology variables needed for EN1^RAULT20 "RTN","MAGDRA1",38,0) . K RAMELOW,RAPRTSET "RTN","MAGDRA1",39,0) . D EN1^RAUTL20 "RTN","MAGDRA1",40,0) . S (PSET,MAGPSET)="" "RTN","MAGDRA1",41,0) . I OLDDT'=RADTI S OLDCNI="" "RTN","MAGDRA1",42,0) . S PSET=$S(RAMEMLOW:"+",RAPRTSET:".",1:"") "RTN","MAGDRA1",43,0) . I PSET="+" S OLDCNI=RACNI "RTN","MAGDRA1",44,0) . I PSET=".",OLDCNI D "RTN","MAGDRA1",45,0) . . N OLDENTRY S OLDENTRY=$P(ENTRY,"-")_"-"_OLDCNI "RTN","MAGDRA1",46,0) . . I $D(^TMP($J,"RAE1",MAGDFN,OLDENTRY)) D "RTN","MAGDRA1",47,0) . . . S MAGCASE=$P(^TMP($J,"RAE1",MAGDFN,OLDENTRY),"^",2) "RTN","MAGDRA1",48,0) . . . S CDATE=$P(ENTRY,"-") "RTN","MAGDRA1",49,0) . . . S CDATE=9999999.9999-CDATE,RADTI=$P(OLDENTRY,"-"),RACNI=OLDCNI "RTN","MAGDRA1",50,0) . . . S MAGCASE=$$LCASE^MAGDRA2(CDATE,MAGCASE) "RTN","MAGDRA1",51,0) . . . S MAGPSET=CASE_" is part of this printset." "RTN","MAGDRA1",52,0) . . . Q "RTN","MAGDRA1",53,0) . . Q "RTN","MAGDRA1",54,0) . I '$D(MAGNME)!'($D(MAGSSN)) D "RTN","MAGDRA1",55,0) . . S PTINFO=$$PTINFO^MAGDRA2 "RTN","MAGDRA1",56,0) . . S MAGNME=$P(PTINFO,"^"),MAGSSN=$P(PTINFO,"^",2) "RTN","MAGDRA1",57,0) . . Q "RTN","MAGDRA1",58,0) . S INDEX(ENTRIES)=PROC_"^"_$G(MAGPSET)_"^"_RADTI_"^"_RACNI_"^"_MAGCASE "RTN","MAGDRA1",59,0) . ; Radiology procedure^Printset^Inverse radiology date/time^Radioloty multiple^radiology case number "RTN","MAGDRA1",60,0) . D PRT S OLDDT=RADTI "RTN","MAGDRA1",61,0) . Q "RTN","MAGDRA1",62,0) D:'$G(OUT) SEL I +X,$D(INDEX(+X)) D SET "RTN","MAGDRA1",63,0) K OUT "RTN","MAGDRA1",64,0) Q "RTN","MAGDRA1",65,0) PRT ; "RTN","MAGDRA1",66,0) S (X,Y)=0 "RTN","MAGDRA1",67,0) I ENTRIES=1 D HEAD "RTN","MAGDRA1",68,0) I $Y+6>IOSL D HEAD "RTN","MAGDRA1",69,0) W !?1,ENTRIES,?5,PSET,?6,CASE_$$IMG^MAGDRA2(RARPT),?12,$E(PROC,1,28) "RTN","MAGDRA1",70,0) W ?41,DATE,?52,$E(ESTAT,1,12),?67,$E(LOC,1,12) Q:ENTRIES#15 "RTN","MAGDRA1",71,0) D SEL "RTN","MAGDRA1",72,0) Q "RTN","MAGDRA1",73,0) HEAD ; "RTN","MAGDRA1",74,0) W @IOF,"Patient: ",MAGNME,?50,"SSN: ",MAGSSN "RTN","MAGDRA1",75,0) W !!,?3,"Case #",?12,"Procedure",?41,"Exam Date",?52,"Status of" "RTN","MAGDRA1",76,0) W "Exam",?69,"Imaging Loc" "RTN","MAGDRA1",77,0) W !?3,"--------",?12,"-------------",?41,"---------" "RTN","MAGDRA1",78,0) W ?52,"--------------",?67,"-----------" "RTN","MAGDRA1",79,0) Q "RTN","MAGDRA1",80,0) SEL ; "RTN","MAGDRA1",81,0) N DIR ; -- array for FileMan prompt data "RTN","MAGDRA1",82,0) S DIR(0)="NA^1:"_ENTRIES "RTN","MAGDRA1",83,0) S DIR("?",1)="Enter a number between 1 and "_ENTRIES "RTN","MAGDRA1",84,0) S DIR("?")="corresponding to a single exam you wish to select." "RTN","MAGDRA1",85,0) S DIR("A",1)="'i' next to a case number denotes images collected on study." "RTN","MAGDRA1",86,0) S DIR("A")="Select an exam: " "RTN","MAGDRA1",87,0) D ^DIR "RTN","MAGDRA1",88,0) I '$D(DTOUT),'$D(DUOUT) ; didn't time out or uparrow out "RTN","MAGDRA1",89,0) E S OUT=1 Q "RTN","MAGDRA1",90,0) I $D(INDEX(Y)) D CHECK I 'Y G SEL "RTN","MAGDRA1",91,0) I Y S Y=INDEX(Y) S OUT=1 "RTN","MAGDRA1",92,0) Q "RTN","MAGDRA1",93,0) SET ; "RTN","MAGDRA1",94,0) S DATA=Y K Y "RTN","MAGDRA1",95,0) S MAGCASE=$P(INDEX(+X),"^",5) "RTN","MAGDRA1",96,0) S MAGPRC=$P(INDEX(+X),"^"),MAGPIEN=$$PROC^MAGDRA2(MAGPRC) "RTN","MAGDRA1",97,0) S MAGDTI=$P(INDEX(+X),"^",3) "RTN","MAGDRA1",98,0) S MAGPST=$P(INDEX(+X),"^",2) "RTN","MAGDRA1",99,0) S MAGCNI=$P(INDEX(+X),"^",4) "RTN","MAGDRA1",100,0) D MAGDY^MAGDRA2 "RTN","MAGDRA1",101,0) Q "RTN","MAGDRA1",102,0) CHECK ; "RTN","MAGDRA1",103,0) ;Check to see if the entry still exists. "RTN","MAGDRA1",104,0) N RADTI,CNI "RTN","MAGDRA1",105,0) Q:'MAGDFN "RTN","MAGDRA1",106,0) S RADTI=$P(INDEX(Y),"^",3),CNI=$P(INDEX(Y),"^",4) "RTN","MAGDRA1",107,0) I '$D(^RADPT(MAGDFN,"DT",RADTI,"P",CNI)) D "RTN","MAGDRA1",108,0) . S Y="" "RTN","MAGDRA1",109,0) . W !,"There is a database problem with the entry selected.",! "RTN","MAGDRA1",110,0) . Q "RTN","MAGDRA1",111,0) I $P(INDEX(Y),"^")="" D "RTN","MAGDRA1",112,0) . S Y="" "RTN","MAGDRA1",113,0) . W !,"There are no procedures for the entry selected.",! "RTN","MAGDRA1",114,0) Q "RTN","MAGDRA2") 0^45^B24362463 "RTN","MAGDRA2",1,0) MAGDRA2 ;WOIFO/LB -Routine for DICOM fix [ 06/20/2001 08:56 ] "RTN","MAGDRA2",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDRA2",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRA2",4,0) ;; | Property of the US Government. | "RTN","MAGDRA2",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRA2",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRA2",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRA2",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRA2",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRA2",10,0) ;; | | "RTN","MAGDRA2",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRA2",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRA2",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRA2",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRA2",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRA2",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRA2",17,0) ;; "RTN","MAGDRA2",18,0) Q "RTN","MAGDRA2",19,0) ;Routine to create the MAGDY variable needed by MAGDLB1 routine when "RTN","MAGDRA2",20,0) ;mannually correcting DICOM FIX files. "RTN","MAGDRA2",21,0) EN ; "RTN","MAGDRA2",22,0) ; MAGDY variable to be created during this execution. "RTN","MAGDRA2",23,0) N MAGBEG,MAGEND,MAGDFN,MAGOUT,MAGX,MAGXX,INFO,MAGNME,MAGSSN "RTN","MAGDRA2",24,0) S MAGBEG=1070101,MAGEND=$$DT^XLFDT "RTN","MAGDRA2",25,0) READ ; "RTN","MAGDRA2",26,0) S (MAGDFN,MAGX)=$$READ^MAGDRA3 "RTN","MAGDRA2",27,0) Q:MAGX="^" "RTN","MAGDRA2",28,0) S MAGDFN=+MAGDFN "RTN","MAGDRA2",29,0) I 'MAGDFN W !,"Entry not found, enter a ""^"" to quit." G READ "RTN","MAGDRA2",30,0) ; "RTN","MAGDRA2",31,0) I MAGX["~" G ONE ;Lookup was on case number and successful "RTN","MAGDRA2",32,0) S MAGXX=$$FIND1^DIC(70,"","","`"_MAGDFN) ;Radiology patient "RTN","MAGDRA2",33,0) ; "RTN","MAGDRA2",34,0) I MAGDFN=MAGXX D "RTN","MAGDRA2",35,0) . S INFO=$$PTINFO Q:$D(MAGERR) "RTN","MAGDRA2",36,0) . S MAGNME=$P(INFO,"^"),MAGSSN=$P(INFO,"^",2) "RTN","MAGDRA2",37,0) . K ^TMP($J,"RAE1") ;Re-established by EN1^RA07PC1 -DBIA available "RTN","MAGDRA2",38,0) . ;set the begining and ending date. "RTN","MAGDRA2",39,0) . D EN1^RAO7PC1(MAGDFN,MAGBEG,MAGEND,500) "RTN","MAGDRA2",40,0) . D:$D(^TMP($J,"RAE1")) LOOP^MAGDRA1 "RTN","MAGDRA2",41,0) E D G:MAGX'="^" READ "RTN","MAGDRA2",42,0) . W !,"No Radiology information found for the supplied answer.",$C(7) "RTN","MAGDRA2",43,0) Q "RTN","MAGDRA2",44,0) PTINFO() ; "RTN","MAGDRA2",45,0) N INFO,MAGOUT "RTN","MAGDRA2",46,0) I '$D(MAGDFN) Q "" "RTN","MAGDRA2",47,0) D GETS^DIQ(2,MAGDFN,".01;.09","E","MAGOUT","MAGERR") "RTN","MAGDRA2",48,0) I $D(MAGERR) Q "" "RTN","MAGDRA2",49,0) I $D(MAGOUT) D Q INFO "RTN","MAGDRA2",50,0) . S INFO=$G(MAGOUT(2,MAGDFN_",",.01,"E")) "RTN","MAGDRA2",51,0) . S INFO=INFO_"^"_$G(MAGOUT(2,MAGDFN_",",.09,"E")) "RTN","MAGDRA2",52,0) Q "" "RTN","MAGDRA2",53,0) LCASE(MAGDT,MAGCASE) ; "RTN","MAGDRA2",54,0) Q $TR($TR($$FMTE^XLFDT(MAGDT,"2FD")," ","0"),"/","")_"-"_MAGCASE "RTN","MAGDRA2",55,0) ; "RTN","MAGDRA2",56,0) IMG(MAGRPT) ; "RTN","MAGDRA2",57,0) N INFO,MAGOUT,MAGERR "RTN","MAGDRA2",58,0) I 'MAGRPT Q "" "RTN","MAGDRA2",59,0) D GETS^DIQ(74,MAGRPT,"2005*","I","MAGOUT","MAGERR") "RTN","MAGDRA2",60,0) I $D(MAGERR) Q "" "RTN","MAGDRA2",61,0) I $D(MAGOUT(74.02005)) Q " i" "RTN","MAGDRA2",62,0) Q "" "RTN","MAGDRA2",63,0) PROC(MAGPRC) ; "RTN","MAGDRA2",64,0) Q $$FIND1^DIC(71,,"XB",MAGPRC) "RTN","MAGDRA2",65,0) ONE ; "RTN","MAGDRA2",66,0) ;MAGDFN,MAGX variables expected from EN "RTN","MAGDRA2",67,0) I 'MAGDFN,'+MAGX Q "RTN","MAGDRA2",68,0) N BEG,CASE,CDATE,CS,DATA,END,FLDS,INFO,MAGCASE,MAGCNI,MAGDATE,MAGDTI "RTN","MAGDRA2",69,0) N MAGEXST,MAGLOC,MAGNME,MAGOUT,MAGPIEN,MAGPRC,MAGPSET,MAGPST,MAGRPT "RTN","MAGDRA2",70,0) N PP,PSET,RAENTRY,RAMEMLOW,RAPRTSET,RIEN,STAT,X,X1,X2,XX "RTN","MAGDRA2",71,0) N RARPT,RADFN,RADTI,RACNI ;<--Variables needed for EN1^RAUTL20 "RTN","MAGDRA2",72,0) ; RAUTL20 used to retrieve if case is part of a print set. "RTN","MAGDRA2",73,0) ;Q:'MAGDFN!'+$G(MAGX) "RTN","MAGDRA2",74,0) S MAGDFN=$P(MAGX,"~"),INFO=$$PTINFO "RTN","MAGDRA2",75,0) S MAGNME=$P(INFO,"^"),MAGSSN=$P(INFO,"^",2) "RTN","MAGDRA2",76,0) S RIEN=$P(MAGX,"~",2)_","_$P(MAGX,"~",1) "RTN","MAGDRA2",77,0) ;S MAGDFN=$P(MAGX,"~") "RTN","MAGDRA2",78,0) S X1=9999999.9999-$P(MAGX,"~",2),X2=+2 D C^%DTC "RTN","MAGDRA2",79,0) S END=X,BEG=9999999.9999-$P(MAGX,"~",2) "RTN","MAGDRA2",80,0) K ^TMP($J,"RAE1") "RTN","MAGDRA2",81,0) D EN1^RAO7PC1(MAGDFN,BEG,END,20) "RTN","MAGDRA2",82,0) S RAENTRY=$P(MAGX,"~",2)_"-"_$P(MAGX,"~",3) "RTN","MAGDRA2",83,0) Q:'$D(^TMP($J,"RAE1")) "RTN","MAGDRA2",84,0) Q:'$D(^TMP($J,"RAE1",MAGDFN,RAENTRY)) "RTN","MAGDRA2",85,0) S DATA=^TMP($J,"RAE1",MAGDFN,RAENTRY) "RTN","MAGDRA2",86,0) S MAGDATE=$P(RAENTRY,"-"),CDATE=9999999.9999-MAGDATE "RTN","MAGDRA2",87,0) S MAGDATE=$TR($$FMTE^XLFDT(CDATE,"2FD")," ","0") "RTN","MAGDRA2",88,0) S MAGPRC=$P(DATA,"^"),CASE=$P(DATA,"^",2),STAT=$P(DATA,"^",6) "RTN","MAGDRA2",89,0) S MAGEXST=$P(STAT,"~",2),MAGLOC=$P(DATA,"^",7) "RTN","MAGDRA2",90,0) S (MAGRPT,RARPT)=$P(DATA,"^",5) "RTN","MAGDRA2",91,0) S (MAGDTI,RADTI)=$P(RAENTRY,"-") "RTN","MAGDRA2",92,0) S (MAGCNI,RACNI)=$P(RAENTRY,"-",2),RADFN=MAGDFN "RTN","MAGDRA2",93,0) S MAGCASE=$$LCASE(CDATE,CASE),MAGPIEN=$$PROC(MAGPRC) "RTN","MAGDRA2",94,0) ; RADTI, RADFN, RACNI variables needed for EN1^RAULT20 "RTN","MAGDRA2",95,0) D EN1^RAUTL20 "RTN","MAGDRA2",96,0) S (PSET,MAGPSET)="" "RTN","MAGDRA2",97,0) S PSET=$S(RAMEMLOW:"+",RAPRTSET:".",1:"") "RTN","MAGDRA2",98,0) I PSET=".",RACNI>1 D "RTN","MAGDRA2",99,0) . N OLDENTRY S OLDENTRY=$P(RAENTRY,"-")_"-" "RTN","MAGDRA2",100,0) . S OLDENTRY=$O(^TMP($J,"RAE1",MAGDFN,OLDENTRY)) I $L(OLDENTRY) D "RTN","MAGDRA2",101,0) . . S MAGCASE=$P(^TMP($J,"RAE1",MAGDFN,OLDENTRY),"^",2) "RTN","MAGDRA2",102,0) . . S CDATE=$P(RAENTRY,"-") "RTN","MAGDRA2",103,0) . . S CDATE=9999999.9999-CDATE "RTN","MAGDRA2",104,0) . . S MAGCASE=$$LCASE^MAGDRA2(CDATE,MAGCASE),RACNI=$P(OLDENTRY,"-",2) "RTN","MAGDRA2",105,0) . . S MAGPST=CASE_" is part of this printset." "RTN","MAGDRA2",106,0) . . Q "RTN","MAGDRA2",107,0) . Q "RTN","MAGDRA2",108,0) I $D(RAPRTSET) S PP=$S(MAGCNI>1:".",MAGCNI=1:"+",1:"") "RTN","MAGDRA2",109,0) S MAGCNI=RACNI "RTN","MAGDRA2",110,0) W !,"PATIENT: ",MAGNME,?51,"SSN: ",MAGSSN "RTN","MAGDRA2",111,0) W !,"Case No.",?15,"Procedure",?42,"Location",?64,"Exam Date" "RTN","MAGDRA2",112,0) W !,"________",?15,"_________",?42,"________________",?64,"________" "RTN","MAGDRA2",113,0) W !,$G(PP),CASE,$$IMG(MAGRPT),?15,MAGPRC,?42,MAGLOC,?64,MAGDATE "RTN","MAGDRA2",114,0) W !,"Exam status: ",MAGEXST," "," ",$G(MAGPST) "RTN","MAGDRA2",115,0) D MAGDY "RTN","MAGDRA2",116,0) Q "RTN","MAGDRA2",117,0) MAGDY ; "RTN","MAGDRA2",118,0) S MAGDY=MAGDFN_"^"_MAGNME_"^"_MAGSSN_"^"_MAGCASE_"^"_MAGPRC_"^"_MAGDTI "RTN","MAGDRA2",119,0) S MAGDY=MAGDY_"^"_MAGCNI_"^"_MAGPIEN_"^"_$G(MAGPST)_"^" "RTN","MAGDRA2",120,0) K MAGNME,MAGSSN,MAGCASE,MAGPRC,MAGDTI,MAGCNI,MAGPIEN,MAPST "RTN","MAGDRA2",121,0) Q "RTN","MAGDRCU2") 0^46^B38120521 "RTN","MAGDRCU2",1,0) MAGDRCU2 ;WOIFO/PMK - List entries in ^MAG(2006.5839) ; 09/30/2003 09:21 "RTN","MAGDRCU2",2,0) ;;3.0;IMAGING;**10,11**;14-April-2004 "RTN","MAGDRCU2",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRCU2",4,0) ;; | Property of the US Government. | "RTN","MAGDRCU2",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRCU2",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRCU2",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRCU2",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRCU2",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRCU2",10,0) ;; | | "RTN","MAGDRCU2",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRCU2",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRCU2",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRCU2",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRCU2",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRCU2",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRCU2",17,0) ;; "RTN","MAGDRCU2",18,0) ; This routine lists the entries in the temporary Imaging/CPRS Consult "RTN","MAGDRCU2",19,0) ; Request Tracking association file "RTN","MAGDRCU2",20,0) ; "RTN","MAGDRCU2",21,0) ; "RTN","MAGDRCU2",22,0) ; XXXX XXX X "RTN","MAGDRCU2",23,0) ; XX XX XX XX "RTN","MAGDRCU2",24,0) ; XX XXXX XX XXX XXXXXXX XX XXX XX XXXXX "RTN","MAGDRCU2",25,0) ; XX XX XX XXX XX XX XX XX XX XX "RTN","MAGDRCU2",26,0) ; XX X XX XX XX XX XXXXXXX XX XX XX XX "RTN","MAGDRCU2",27,0) ; XX XX XX XX XX XX XX XX XX XX XX XX "RTN","MAGDRCU2",28,0) ; XXXX XXXX XX XX XXXXXXX XXX XX XXXX XXX "RTN","MAGDRCU2",29,0) ; "RTN","MAGDRCU2",30,0) ; "RTN","MAGDRCU2",31,0) ; Routine 2/2 in for application "RTN","MAGDRCU2",32,0) ; "RTN","MAGDRCU2",33,0) REPORT ; now scan the database and generate the report "RTN","MAGDRCU2",34,0) N D0,DATE,DFN,DOB,EXAMDATE,GMRCDFN,GMRCIEN,I,LASTDFN,LASTEXAM "RTN","MAGDRCU2",35,0) N MAGIEN,MAGIEN1,NOW,ORDRDATE,PAGE,PID,PNAME,REQTYPE "RTN","MAGDRCU2",36,0) N SEX,STATUS,STOP,VA,VAERR,VADM,WRK,X,Y,Z "RTN","MAGDRCU2",37,0) ; "RTN","MAGDRCU2",38,0) S WRK=$NA(^TMP("MAG",$J,"GMRC")) "RTN","MAGDRCU2",39,0) D NOW^%DTC,YX^%DTC S NOW=Y "RTN","MAGDRCU2",40,0) K @WRK "RTN","MAGDRCU2",41,0) ; "RTN","MAGDRCU2",42,0) S D0=0 "RTN","MAGDRCU2",43,0) I $E(IOST)="C" W !,"Building" "RTN","MAGDRCU2",44,0) F S D0=$O(^MAG(2006.5839,D0)) Q:'D0 S X=^(D0,0) D "RTN","MAGDRCU2",45,0) . I $P(X,"^",1)'="123" D "RTN","MAGDRCU2",46,0) . . N MSG "RTN","MAGDRCU2",47,0) . . S MSG(1)="Problem with Temporary Imaging/CPRS file" "RTN","MAGDRCU2",48,0) . . S MSG(2)="Entry #"_D0_" in ^MAG(2006.5839) does not begin" "RTN","MAGDRCU2",49,0) . . S MSG(3)="with 123 - it doesn't point to CPRS Consult Request Tracking" "RTN","MAGDRCU2",50,0) . . S MSG(4)="Bad record: <<"_X_">>" "RTN","MAGDRCU2",51,0) . . D ERROR(.MSG) "RTN","MAGDRCU2",52,0) . . Q "RTN","MAGDRCU2",53,0) . E D "RTN","MAGDRCU2",54,0) . . S GMRCIEN=$P(X,"^",2),MAGIEN=$P(X,"^",3) "RTN","MAGDRCU2",55,0) . . S DFN=$P(^MAG(2005,MAGIEN,0),"^",7) "RTN","MAGDRCU2",56,0) . . S GMRCDFN=$$GET1^DIQ(123,GMRCIEN,.02,"I") "RTN","MAGDRCU2",57,0) . . I DFN'=GMRCDFN D "RTN","MAGDRCU2",58,0) . . . N MSG "RTN","MAGDRCU2",59,0) . . . S MSG(1)="DICOM IMAGE PROCESSING ERROR - CONSULT/IMAGING PATIENT MISMATCH" "RTN","MAGDRCU2",60,0) . . . S MSG(2)="The image and the consult point to different patients." "RTN","MAGDRCU2",61,0) . . . S MSG(3)="" "RTN","MAGDRCU2",62,0) . . . S MSG(4)="The Image points to PATIENT file internal entry number "_DFN "RTN","MAGDRCU2",63,0) . . . S MSG(5)=$$PATDEMO^MAGDIRVE(DFN) "RTN","MAGDRCU2",64,0) . . . S MSG(6)="" "RTN","MAGDRCU2",65,0) . . . S MSG(7)="The Consult points to PATIENT file internal entry number "_GMRCDFN "RTN","MAGDRCU2",66,0) . . . S MSG(8)=$$PATDEMO^MAGDIRVE(GMRCDFN) "RTN","MAGDRCU2",67,0) . . . S MSG(9)="" "RTN","MAGDRCU2",68,0) . . . D ERROR(.MSG) "RTN","MAGDRCU2",69,0) . . . Q "RTN","MAGDRCU2",70,0) . . E D "RTN","MAGDRCU2",71,0) . . . ; check that this is a service of interest "RTN","MAGDRCU2",72,0) . . . S SERVICE=$$GET1^DIQ(123,GMRCIEN,1,"I") "RTN","MAGDRCU2",73,0) . . . I '$D(SERVICE("S",SERVICE)) Q "RTN","MAGDRCU2",74,0) . . . ; check cutoff date "RTN","MAGDRCU2",75,0) . . . S I=$O(^MAG(2005,MAGIEN,1,0)),MAGIEN1=$P(^(I,0),"^",1) "RTN","MAGDRCU2",76,0) . . . S EXAMDATE=$P(^MAG(2005,MAGIEN1,2),"^",1) I EXAMDATE>CUTOFF Q "RTN","MAGDRCU2",77,0) . . . S ORDRDATE=$$GET1^DIQ(123,GMRCIEN,.01) "RTN","MAGDRCU2",78,0) . . . S ORDRDATE=$P(ORDRDATE,",",1)_","_$E($P(ORDRDATE,",",2),4,5) "RTN","MAGDRCU2",79,0) . . . S STATUS=$$GET1^DIQ(123,GMRCIEN,8,"I") "RTN","MAGDRCU2",80,0) . . . I '$D(STATUS(STATUS)) D "RTN","MAGDRCU2",81,0) . . . . S STATUS(STATUS)=$$GET1^DIQ(100.01,STATUS,.1) "RTN","MAGDRCU2",82,0) . . . . Q "RTN","MAGDRCU2",83,0) . . . S REQTYPE=$$GET1^DIQ(123,GMRCIEN,13,"I") "RTN","MAGDRCU2",84,0) . . . D DEM^VADPT "RTN","MAGDRCU2",85,0) . . . S PNAME=VADM(1),PID=VA("PID") "RTN","MAGDRCU2",86,0) . . . S DOB=$P(VADM(3),"^",2),SEX=$P(VADM(5),"^",2) "RTN","MAGDRCU2",87,0) . . . S (I,@WRK@(0))=$G(@WRK@(0))+1 "RTN","MAGDRCU2",88,0) . . . S Z=DFN_"^"_PNAME_"^"_PID_"^"_SEX_"^"_DOB "RTN","MAGDRCU2",89,0) . . . S Z=Z_"^"_GMRCIEN_"^"_SERVICE_"^"_ORDRDATE_"^"_STATUS "RTN","MAGDRCU2",90,0) . . . S Z=Z_"^"_REQTYPE_"^"_EXAMDATE "RTN","MAGDRCU2",91,0) . . . S @WRK@(I)=Z "RTN","MAGDRCU2",92,0) . . . S @WRK@("P",PNAME,DFN,I)="" "RTN","MAGDRCU2",93,0) . . . S @WRK@("D",EXAMDATE\1,PNAME,DFN,I)="" "RTN","MAGDRCU2",94,0) . . . I $E(IOST)="C" W:$X>79 ! W "." "RTN","MAGDRCU2",95,0) . . . Q "RTN","MAGDRCU2",96,0) . . Q "RTN","MAGDRCU2",97,0) . Q "RTN","MAGDRCU2",98,0) ; "RTN","MAGDRCU2",99,0) ; output the report "RTN","MAGDRCU2",100,0) ; "RTN","MAGDRCU2",101,0) U IO D HEADING "RTN","MAGDRCU2",102,0) S STOP=0 "RTN","MAGDRCU2",103,0) ; "RTN","MAGDRCU2",104,0) I "Dd"[SORT D ; output sorted by examination date "RTN","MAGDRCU2",105,0) . S DATE="" F S DATE=$O(@WRK@("D",DATE)) Q:DATE=""!STOP D "RTN","MAGDRCU2",106,0) . . D NEWLINE(5) "RTN","MAGDRCU2",107,0) . . K LASTDFN ; force output of name "RTN","MAGDRCU2",108,0) . . S PNAME="" F S PNAME=$O(@WRK@("D",DATE,PNAME)) Q:PNAME=""!STOP D "RTN","MAGDRCU2",109,0) . . . S DFN="" F S DFN=$O(@WRK@("D",DATE,PNAME,DFN)) Q:DFN=""!STOP D "RTN","MAGDRCU2",110,0) . . . . S I="" F S I=$O(@WRK@("D",DATE,PNAME,DFN,I)) Q:I=""!STOP D "RTN","MAGDRCU2",111,0) . . . . . D ONELINE "RTN","MAGDRCU2",112,0) . . . . . Q "RTN","MAGDRCU2",113,0) . . . . Q "RTN","MAGDRCU2",114,0) . . . Q "RTN","MAGDRCU2",115,0) . . Q "RTN","MAGDRCU2",116,0) . Q "RTN","MAGDRCU2",117,0) ; "RTN","MAGDRCU2",118,0) E D ; output sorted by name "RTN","MAGDRCU2",119,0) . S PNAME="" F S PNAME=$O(@WRK@("P",PNAME)) Q:PNAME=""!STOP D "RTN","MAGDRCU2",120,0) . . S DFN="" F S DFN=$O(@WRK@("P",PNAME,DFN)) Q:DFN=""!STOP D "RTN","MAGDRCU2",121,0) . . . S I="" F S I=$O(@WRK@("P",PNAME,DFN,I)) Q:I=""!STOP D "RTN","MAGDRCU2",122,0) . . . . K LASTEXAM ; force output of examination date "RTN","MAGDRCU2",123,0) . . . . D ONELINE "RTN","MAGDRCU2",124,0) . . . . Q "RTN","MAGDRCU2",125,0) . . . Q "RTN","MAGDRCU2",126,0) . . Q "RTN","MAGDRCU2",127,0) . Q "RTN","MAGDRCU2",128,0) ; "RTN","MAGDRCU2",129,0) D ^%ZISC I $D(ZTQUEUED) S ZTREQ="@" ; standard kernel exit "RTN","MAGDRCU2",130,0) K @WRK "RTN","MAGDRCU2",131,0) Q "RTN","MAGDRCU2",132,0) ; "RTN","MAGDRCU2",133,0) ONELINE ; output one line of the report "RTN","MAGDRCU2",134,0) S X=@WRK@(I) "RTN","MAGDRCU2",135,0) I DFN'=$G(LASTDFN) D "RTN","MAGDRCU2",136,0) . S PID=$P(X,"^",3),SEX=$P(X,"^",4),DOB=$P(X,"^",5) "RTN","MAGDRCU2",137,0) . D NEWLINE(4),NEWLINE(3) "RTN","MAGDRCU2",138,0) . W PNAME," ",PID," (",SEX,") ",DOB "RTN","MAGDRCU2",139,0) . S LASTDFN=DFN "RTN","MAGDRCU2",140,0) . Q "RTN","MAGDRCU2",141,0) S GMRCIEN=$P(X,"^",6),SERVICE=$P(X,"^",7),ORDRDATE=$P(X,"^",8) "RTN","MAGDRCU2",142,0) S STATUS=$P(X,"^",9),REQTYPE=$P(X,"^",10),EXAMDATE=$P(X,"^",11) "RTN","MAGDRCU2",143,0) S REQTYPE=$S(REQTYPE="C":"Consult",REQTYPE="P":"Procedure",1:"Unknown") "RTN","MAGDRCU2",144,0) D NEWLINE(1) "RTN","MAGDRCU2",145,0) W " ",ORDRDATE," (",STATUS(STATUS),") ",$E(SERVICE("S",SERVICE),1,30) "RTN","MAGDRCU2",146,0) W " ",REQTYPE," #",GMRCIEN "RTN","MAGDRCU2",147,0) S Y=EXAMDATE D DD^%DT S EXAMDATE=$P(Y,",",1)_","_$E($P(Y,",",2),4,5) "RTN","MAGDRCU2",148,0) I EXAMDATE'=$G(LASTEXAM) D "RTN","MAGDRCU2",149,0) . W ?65,"Exam: ",EXAMDATE "RTN","MAGDRCU2",150,0) . S LASTEXAM=EXAMDATE "RTN","MAGDRCU2",151,0) . Q "RTN","MAGDRCU2",152,0) Q "RTN","MAGDRCU2",153,0) ; "RTN","MAGDRCU2",154,0) NEWLINE(J) ; output a with scrolling control or pagination "RTN","MAGDRCU2",155,0) N I "RTN","MAGDRCU2",156,0) W ! "RTN","MAGDRCU2",157,0) I $Y<(IOSL-J) Q ; nothing else do do "RTN","MAGDRCU2",158,0) I $E(IOST)="C" D ; scrolling for a crt "RTN","MAGDRCU2",159,0) . N I,X "RTN","MAGDRCU2",160,0) . W "more..." R X:DTIME F I=1:1:$X W $C(8,32,8) "RTN","MAGDRCU2",161,0) . S $Y=0 Q:X="" "RTN","MAGDRCU2",162,0) . S:$TR(X,"quitexnQUITEXN","^^^^^^^^^^^^^^")["^" STOP=1 "RTN","MAGDRCU2",163,0) . Q "RTN","MAGDRCU2",164,0) E D ; pagination for a file or a printer "RTN","MAGDRCU2",165,0) . F Y=$Y:1:(IOSL-1) W ! "RTN","MAGDRCU2",166,0) . S PAGE=$G(PAGE)+1 W ?IOM-10,"Page ",PAGE,! "RTN","MAGDRCU2",167,0) . D HEADING "RTN","MAGDRCU2",168,0) . Q "RTN","MAGDRCU2",169,0) Q "RTN","MAGDRCU2",170,0) ; "RTN","MAGDRCU2",171,0) HEADING ; print heading "RTN","MAGDRCU2",172,0) W @IOF,TITLE,?IOM-$L(NOW),NOW,! "RTN","MAGDRCU2",173,0) I ($L(SUBTITLE(1))+$L(SUBTITLE(2)))<(IOM-4) D "RTN","MAGDRCU2",174,0) . W SUBTITLE(1)," -- ",SUBTITLE(2) "RTN","MAGDRCU2",175,0) . Q "RTN","MAGDRCU2",176,0) E D "RTN","MAGDRCU2",177,0) . W SUBTITLE(1),!,SUBTITLE(2) "RTN","MAGDRCU2",178,0) . Q "RTN","MAGDRCU2",179,0) W ! "RTN","MAGDRCU2",180,0) Q "RTN","MAGDRCU2",181,0) ; "RTN","MAGDRCU2",182,0) ERROR(MSG) ; Error Message "RTN","MAGDRCU2",183,0) N I "RTN","MAGDRCU2",184,0) W ! F I=1:1:80 W "*" "RTN","MAGDRCU2",185,0) F I=1:1 Q:'$D(MSG(I)) W !,"*** ",MSG(I),?76," ***" "RTN","MAGDRCU2",186,0) W ! F I=1:1:80 W "*" "RTN","MAGDRCU2",187,0) Q "RTN","MAGDRPC1") 0^47^B40628166 "RTN","MAGDRPC1",1,0) MAGDRPC1 ;WOIFO/EdM - Imaging RPCs ; 03/24/2004 06:41 "RTN","MAGDRPC1",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDRPC1",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC1",4,0) ;; | Property of the US Government. | "RTN","MAGDRPC1",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRPC1",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRPC1",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRPC1",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRPC1",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRPC1",10,0) ;; | | "RTN","MAGDRPC1",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRPC1",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRPC1",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRPC1",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRPC1",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRPC1",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC1",17,0) ;; "RTN","MAGDRPC1",18,0) Q "RTN","MAGDRPC1",19,0) ; "RTN","MAGDRPC1",20,0) DOMAIN(OUT) ; RPC = MAG DICOM GET DOMAIN "RTN","MAGDRPC1",21,0) N X "RTN","MAGDRPC1",22,0) I $T(WHERE^XUPARAM)'="" S OUT=$$KSP^XUPARAM("WHERE") Q "RTN","MAGDRPC1",23,0) ; The coding standards frown upon the line below, "RTN","MAGDRPC1",24,0) ; but it is the best we can do when the line above cannot be used. "RTN","MAGDRPC1",25,0) S X=^DD("SITE") S:X'[".DOMAIN.EXT" X=X_".DOMAIN.EXT" "RTN","MAGDRPC1",26,0) S OUT=X "RTN","MAGDRPC1",27,0) Q "RTN","MAGDRPC1",28,0) ; "RTN","MAGDRPC1",29,0) INFO(OUT,LOCATION) ; RPC = MAG DICOM ET PHONE HOME "RTN","MAGDRPC1",30,0) N FST,N,X "RTN","MAGDRPC1",31,0) K OUT "RTN","MAGDRPC1",32,0) S X1=DT,X2=-25 D C^%DTC S FST=X "RTN","MAGDRPC1",33,0) S N=2 "RTN","MAGDRPC1",34,0) ; "RTN","MAGDRPC1",35,0) ; Site-ID "RTN","MAGDRPC1",36,0) D DOMAIN(.X) "RTN","MAGDRPC1",37,0) S OUT(N)=X "RTN","MAGDRPC1",38,0) ; "RTN","MAGDRPC1",39,0) D ; Get routing statistics "RTN","MAGDRPC1",40,0) . N A,D,W "RTN","MAGDRPC1",41,0) . S (A,D)=0 F S D=$O(^MAGQUEUE(2006.036,D)) Q:'D D "RTN","MAGDRPC1",42,0) . . S:'A N=N+1,OUT(N)="Route",A=1 "RTN","MAGDRPC1",43,0) . . S N=N+1,OUT(N)="RDT="_D "RTN","MAGDRPC1",44,0) . . S W=0 F S W=$O(^MAGQUEUE(2006.036,D,1,W)) Q:'W D "RTN","MAGDRPC1",45,0) . . . S X=$G(^MAGQUEUE(2006.036,D,1,W,0)) "RTN","MAGDRPC1",46,0) . . . S N=N+1,OUT(N)="DST="_$P($P($P(X,"^",6),"(",2),")",1) "RTN","MAGDRPC1",47,0) . . . S W=W+1,$P(X,"^",6,10)=$P($G(^MAGQUEUE(2006.036,D,1,W,0)),"^",1,5) "RTN","MAGDRPC1",48,0) . . . S N=N+1,OUT(N)="RST="_X "RTN","MAGDRPC1",49,0) . . . Q "RTN","MAGDRPC1",50,0) . . Q "RTN","MAGDRPC1",51,0) . Q "RTN","MAGDRPC1",52,0) ; "RTN","MAGDRPC1",53,0) D ; Text Gateway Statistics "RTN","MAGDRPC1",54,0) . N A,C,D0,D2,M,X "RTN","MAGDRPC1",55,0) . S A=0,D0=FST F S D0=$O(^MAGDAUDT(2006.5761,D0)) Q:'D0 D "RTN","MAGDRPC1",56,0) . . S D2=0 F S D2=$O(^MAGDAUDT(2006.5761,D0,1,LOCATION,1,D2)) Q:'D2 D "RTN","MAGDRPC1",57,0) . . . S X=$G(^MAGDAUDT(2006.5761,D0,1,LOCATION,1,D2,0)) "RTN","MAGDRPC1",58,0) . . . S M=$P(X,"^",2) Q:'M "RTN","MAGDRPC1",59,0) . . . S:'A N=N+1,OUT(N)="Audit",A=1 "RTN","MAGDRPC1",60,0) . . . S N=N+1,OUT(N)="STTX="_D0_"^"_$P(X,"^",1)_"^"_M "RTN","MAGDRPC1",61,0) . . . Q "RTN","MAGDRPC1",62,0) . . Q "RTN","MAGDRPC1",63,0) . Q "RTN","MAGDRPC1",64,0) ; "RTN","MAGDRPC1",65,0) S OUT(1)=N-1 "RTN","MAGDRPC1",66,0) Q "RTN","MAGDRPC1",67,0) ; "RTN","MAGDRPC1",68,0) STATION(OUT,STATION,VERSION) ; RPC = MAG DICOM WORKSTATION VERSION "RTN","MAGDRPC1",69,0) N %,D0,%H,%I,X "RTN","MAGDRPC1",70,0) I $G(STATION)="" S OUT="-1,No Station Identifier Specified" Q "RTN","MAGDRPC1",71,0) ; "RTN","MAGDRPC1",72,0) S D0=$O(^MAG(2006.83,"B",STATION,"")) D:'D0 "RTN","MAGDRPC1",73,0) . L +^MAG(2006.83,0):1E9 ; Background process must wait for LOCK "RTN","MAGDRPC1",74,0) . S X=$G(^MAG(2006.83,0)) "RTN","MAGDRPC1",75,0) . S $P(X,"^",1,2)="DICOM WORKSTATION^2006.83" "RTN","MAGDRPC1",76,0) . S D0=$O(^MAG(2006.83," "),-1)+1 "RTN","MAGDRPC1",77,0) . S $P(X,"^",3)=D0 "RTN","MAGDRPC1",78,0) . S $P(X,"^",4)=$P(X,"^",4)+1 "RTN","MAGDRPC1",79,0) . S ^MAG(2006.83,0)=X,^MAG(2006.83,D0,0)=STATION "RTN","MAGDRPC1",80,0) . S ^MAG(2006.83,"B",STATION,D0)="" "RTN","MAGDRPC1",81,0) . L -^MAG(2006.83,0) "RTN","MAGDRPC1",82,0) . Q "RTN","MAGDRPC1",83,0) S $P(^MAG(2006.83,D0,0),"^",3)=VERSION "RTN","MAGDRPC1",84,0) S X=$P(^MAG(2006.83,D0,0),"^",2) "RTN","MAGDRPC1",85,0) D NOW^%DTC "RTN","MAGDRPC1",86,0) S $P(^MAG(2006.83,D0,0),"^",2)=% "RTN","MAGDRPC1",87,0) S OUT=D0 "RTN","MAGDRPC1",88,0) Q "RTN","MAGDRPC1",89,0) ; "RTN","MAGDRPC1",90,0) FMGET(OUT,FILE,D0,FIELD) ; RPC = MAG DICOM FILEMAN GET "RTN","MAGDRPC1",91,0) ; Get the value of a data field "RTN","MAGDRPC1",92,0) S OUT=$$GET1^DIQ(FILE,D0,FIELD) "RTN","MAGDRPC1",93,0) Q "RTN","MAGDRPC1",94,0) ; "RTN","MAGDRPC1",95,0) INCIMGET(OUT,DUMMY) ; Number of Incomplete Images "RTN","MAGDRPC1",96,0) S OUT=$P($G(^MAGD(2006.593,0)),"^",4) "RTN","MAGDRPC1",97,0) Q "RTN","MAGDRPC1",98,0) ; "RTN","MAGDRPC1",99,0) CUTOFF(OUT,D0) ; RPC = MAG DICOM PACS CUTOFF DATE "RTN","MAGDRPC1",100,0) ; Retention Period for PACS "RTN","MAGDRPC1",101,0) N X "RTN","MAGDRPC1",102,0) I $E($O(^MAG(2006.1," ")),1)="A" D Q "RTN","MAGDRPC1",103,0) . ; Non-consolidated site "RTN","MAGDRPC1",104,0) . I '$D(^MAG(2006.1,"APACS")) S OUT="-2,No PACS Installed" Q "RTN","MAGDRPC1",105,0) . ; "RTN","MAGDRPC1",106,0) . S X=$G(^MAG(2006.1,"AIMDELPACS")) "RTN","MAGDRPC1",107,0) . I X="" S OUT="-3,PACS Retention Parameter not defined" Q "RTN","MAGDRPC1",108,0) . S OUT=X "RTN","MAGDRPC1",109,0) . Q "RTN","MAGDRPC1",110,0) ; Consolidated site: "RTN","MAGDRPC1",111,0) I '$P($G(^MAG(2006.1,D0,"PACS")),"^",1) S OUT="-2,No PACS Installed" Q "RTN","MAGDRPC1",112,0) ; "RTN","MAGDRPC1",113,0) S X=$P($G(^MAG(2006.1,D0,1)),"^",5) "RTN","MAGDRPC1",114,0) I X="" S OUT="-3,PACS Retention Parameter not defined" Q "RTN","MAGDRPC1",115,0) S OUT=X "RTN","MAGDRPC1",116,0) Q "RTN","MAGDRPC1",117,0) ; "RTN","MAGDRPC1",118,0) MINSPACE(OUT,D0) ; RPC = MAG DICOM PACS MINIMUM SPACE "RTN","MAGDRPC1",119,0) ; Minimum Percentage of Free Disk Space "RTN","MAGDRPC1",120,0) N X "RTN","MAGDRPC1",121,0) I $E($O(^MAG(2006.1," ")),1)="A" D Q "RTN","MAGDRPC1",122,0) . ; Non-consolidated site "RTN","MAGDRPC1",123,0) . I '$D(^MAG(2006.1,"APACS")) S OUT="-2,No PACS Installed" Q "RTN","MAGDRPC1",124,0) . ; "RTN","MAGDRPC1",125,0) . S X=$G(^MAG(2006.1,"AIMDELPACS2")) "RTN","MAGDRPC1",126,0) . I X="" S OUT="-3,PACS Minimum Space Percentage Parameter not defined" Q "RTN","MAGDRPC1",127,0) . S OUT=X "RTN","MAGDRPC1",128,0) . Q "RTN","MAGDRPC1",129,0) ; Consolidated site: "RTN","MAGDRPC1",130,0) I '$P($G(^MAG(2006.1,D0,"PACS")),"^",1) S OUT="-2,No PACS Installed" Q "RTN","MAGDRPC1",131,0) ; "RTN","MAGDRPC1",132,0) S X=$P($G(^MAG(2006.1,D0,3)),"^",5) "RTN","MAGDRPC1",133,0) I X="" S OUT="-3,PACS Minimum Space Percentage Parameter not defined" Q "RTN","MAGDRPC1",134,0) S OUT=X "RTN","MAGDRPC1",135,0) Q "RTN","MAGDRPC1",136,0) ; "RTN","MAGDRPC1",137,0) HL7PURGE(OUT,CUTOFF) ; RPC = MAG DICOM PURGE HL7 "RTN","MAGDRPC1",138,0) ; Purge HL7 transactions "RTN","MAGDRPC1",139,0) N D,D0,P,T,X "RTN","MAGDRPC1",140,0) S OUT=0 "RTN","MAGDRPC1",141,0) S D="" F S D=$O(^MAGDHL7(2006.5,"B",D)) Q:'D Q:D'0 "RTN","MAGDRPC1",175,0) . S D0=$O(^MAG(2005.2,"D",PLACE,NAME,"")) "RTN","MAGDRPC1",176,0) . S:$P($G(^MAG(2005.2,D0,0)),"^",9) OUT=D0 "RTN","MAGDRPC1",177,0) . Q "RTN","MAGDRPC1",178,0) Q "RTN","MAGDRPC1",179,0) ; "RTN","MAGDRPC1",180,0) PAT(OUT,DFN) ; RPC = MAG DICOM GET PATIENT "RTN","MAGDRPC1",181,0) N DIQUIET,I,N,VADM,VAIN,VAPA,VASD "RTN","MAGDRPC1",182,0) K OUT "RTN","MAGDRPC1",183,0) I '$G(DFN) S OUT(1)="-1,No Patient Identified" Q "RTN","MAGDRPC1",184,0) S N=1,DIQUIET=1 "RTN","MAGDRPC1",185,0) D DEM^VADPT "RTN","MAGDRPC1",186,0) S I="" F S I=$O(VADM(I)) Q:I="" S:VADM(I)'="" N=N+1,OUT(N)="DEM^"_I_"^"_VADM(I) "RTN","MAGDRPC1",187,0) D ADD^VADPT "RTN","MAGDRPC1",188,0) S I="" F S I=$O(VAPA(I)) Q:I="" S:VAPA(I)'="" N=N+1,OUT(N)="ADD^"_I_"^"_VAPA(I) "RTN","MAGDRPC1",189,0) D INP^VADPT "RTN","MAGDRPC1",190,0) S I="" F S I=$O(VAIN(I)) Q:I="" S:VAIN(I)'="" N=N+1,OUT(N)="INP^"_I_"^"_VAIN(I) "RTN","MAGDRPC1",191,0) D SDA^VADPT "RTN","MAGDRPC1",192,0) S I="" F S I=$O(VASD(I)) Q:I="" S:VASD(I)'="" N=N+1,OUT(N)="SDA^"_I_"^"_VASD(I) "RTN","MAGDRPC1",193,0) S OUT(1)=N-1 "RTN","MAGDRPC1",194,0) Q "RTN","MAGDRPC1",195,0) ; "RTN","MAGDRPC1",196,0) RARPTO(OUT,TYPE,D0,F,D1) ; RPC = MAG DICOM GET RAD RPT INFO "RTN","MAGDRPC1",197,0) S TYPE=$G(TYPE),D0=+$G(D0),F=$G(F,1),D1=+$G(D1) "RTN","MAGDRPC1",198,0) I TYPE="O1" S OUT=+$O(^RARPT(D0),F) Q "RTN","MAGDRPC1",199,0) I TYPE="O2" S OUT=+$O(^RARPT(D0,F,D1)) Q "RTN","MAGDRPC1",200,0) I TYPE="G1" S OUT=$G(^RARPT(D0,0)) Q "RTN","MAGDRPC1",201,0) I TYPE="G2" S OUT=$G(^RARPT(D0,F,D1,0)) Q "RTN","MAGDRPC1",202,0) S OUT="-1,Invalid request type ("""_TYPE_""")" "RTN","MAGDRPC1",203,0) Q "RTN","MAGDRPC1",204,0) ; "RTN","MAGDRPC2") 0^48^B13369762 "RTN","MAGDRPC2",1,0) MAGDRPC2 ;WOIFO/EdM - Imaging RPCs ; 03/24/2004 09:10 "RTN","MAGDRPC2",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDRPC2",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC2",4,0) ;; | Property of the US Government. | "RTN","MAGDRPC2",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRPC2",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRPC2",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRPC2",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRPC2",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRPC2",10,0) ;; | | "RTN","MAGDRPC2",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRPC2",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRPC2",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRPC2",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRPC2",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRPC2",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC2",17,0) ;; "RTN","MAGDRPC2",18,0) Q "RTN","MAGDRPC2",19,0) ; "RTN","MAGDRPC2",20,0) SERVICE(OUT) ; RPC = MAG DICOM GET SERVICE INFO "RTN","MAGDRPC2",21,0) N D0,X "RTN","MAGDRPC2",22,0) S D0=$O(^MAG(2006.1,0)),OUT="-1,No Imaging Site Parameters defined" Q:'D0 "RTN","MAGDRPC2",23,0) S X=$G(^MAG(2006.1,D0,"GW")) "RTN","MAGDRPC2",24,0) S OUT=$$ENCRYP^ROUTINE($$DECRYP($P(X,"^",1))_";"_$$DECRYP($P(X,"^",2))) "RTN","MAGDRPC2",25,0) Q "RTN","MAGDRPC2",26,0) ; "RTN","MAGDRPC2",27,0) SAME(SET,D0,NODE,PIECE,X) ; Called from FileMan ^DD "RTN","MAGDRPC2",28,0) N L0 "RTN","MAGDRPC2",29,0) S L0=0 F S L0=$O(^MAG(2006.1,L0)) Q:'L0 D:L0'=D0 "RTN","MAGDRPC2",30,0) . S $P(^MAG(2006.1,L0,NODE),"^",PIECE)=$S(SET:X,1:"") "RTN","MAGDRPC2",31,0) . Q "RTN","MAGDRPC2",32,0) Q "RTN","MAGDRPC2",33,0) ; "RTN","MAGDRPC2",34,0) IMAGE(OUT,D0) ; RPC = MAG DICOM GET BASIC IMAGE "RTN","MAGDRPC2",35,0) N I,MSG,TARGET,V,VE,VI,X "RTN","MAGDRPC2",36,0) K OUT S I=1 "RTN","MAGDRPC2",37,0) I '$G(D0) S OUT(1)="-1,Invalid IEN ("_$G(D0)_")" Q "RTN","MAGDRPC2",38,0) I $D(^MAG(2005.1,D0,0)) S OUT(1)="-3,Image #"_D0_" has been deleted." Q "RTN","MAGDRPC2",39,0) I '$D(^MAG(2005,D0,0)) S OUT(1)="-2,No data for """_D0_"""." Q "RTN","MAGDRPC2",40,0) ; "RTN","MAGDRPC2",41,0) D GETS^DIQ(2005,D0_",","*","REIN","TARGET","MSG") "RTN","MAGDRPC2",42,0) S X="" F S X=$O(TARGET(2005,D0_",",X)) Q:X="" D "RTN","MAGDRPC2",43,0) . S VI=$G(TARGET(2005,D0_",",X,"I")) "RTN","MAGDRPC2",44,0) . S VE=$G(TARGET(2005,D0_",",X,"E")) "RTN","MAGDRPC2",45,0) . S I=I+1,OUT(I)=X_"^"_VI S:VI'=VE OUT(I)=OUT(I)_"^"_VE "RTN","MAGDRPC2",46,0) . Q "RTN","MAGDRPC2",47,0) ; "RTN","MAGDRPC2",48,0) D FILEFIND^MAGDFB(D0,"FULL",0,0,.X,.V) "RTN","MAGDRPC2",49,0) S:X'<0 I=I+1,OUT(I)="Full FileName^"_X "RTN","MAGDRPC2",50,0) S:V'<0 I=I+1,OUT(I)="Full Path+FileName^"_V "RTN","MAGDRPC2",51,0) ; "RTN","MAGDRPC2",52,0) D FILEFIND^MAGDFB(D0,"BIG",0,0,.X,.V) "RTN","MAGDRPC2",53,0) S:X'<0 I=I+1,OUT(I)="Big FileName^"_X "RTN","MAGDRPC2",54,0) S:V'<0 I=I+1,OUT(I)="Big Path+FileName^"_V "RTN","MAGDRPC2",55,0) ; "RTN","MAGDRPC2",56,0) D FILEFIND^MAGDFB(D0,"ABS",0,0,.X,.V) "RTN","MAGDRPC2",57,0) S:X'<0 I=I+1,OUT(I)="Abstract FileName^"_X "RTN","MAGDRPC2",58,0) S:V'<0 I=I+1,OUT(I)="Abstract Path+FileName^"_V "RTN","MAGDRPC2",59,0) ; "RTN","MAGDRPC2",60,0) S (V,X)=0 F S X=$O(^MAG(2005,D0,1,X)) Q:'X S V=V+1 "RTN","MAGDRPC2",61,0) S:V I=I+1,OUT(I)="# Images^"_V "RTN","MAGDRPC2",62,0) ; "RTN","MAGDRPC2",63,0) S OUT(1)=I-1 "RTN","MAGDRPC2",64,0) Q "RTN","MAGDRPC2",65,0) ; "RTN","MAGDRPC2",66,0) GRPIMG(OUT,D0) ; RPC = MAG DICOM GET IMAGE GROUP "RTN","MAGDRPC2",67,0) N I,D1,X "RTN","MAGDRPC2",68,0) K OUT S I=1 "RTN","MAGDRPC2",69,0) S D1=0 F S D1=$O(^MAG(2005,D0,1,D1)) Q:'D1 D "RTN","MAGDRPC2",70,0) . S X=$P($G(^MAG(2005,D0,1,D1,0)),"^",1) Q:'X "RTN","MAGDRPC2",71,0) . S I=I+1,OUT(I)=X "RTN","MAGDRPC2",72,0) . Q "RTN","MAGDRPC2",73,0) S OUT(1)=I-1 "RTN","MAGDRPC2",74,0) Q "RTN","MAGDRPC2",75,0) ; "RTN","MAGDRPC2",76,0) DECRYP(X) Q $S(X="":"",1:$$DECRYP^ROUTINE(X)) "RTN","MAGDRPC2",77,0) ; "RTN","MAGDRPC2",78,0) IMGVER(OUT) ; RPC = MAG DICOM GET VERSION "RTN","MAGDRPC2",79,0) N D0,DATINS,FME,FML,I,L,N,PATCH,X "RTN","MAGDRPC2",80,0) D FIND^DIC(9.7,"",".01;2I;51I","QU","MAG*3.0","*","B","","","FML","FME") "RTN","MAGDRPC2",81,0) S I="" F S I=$O(FML("DILIST","ID",I)) Q:I="" D "RTN","MAGDRPC2",82,0) . S N=$G(FML("DILIST","ID",I,.01)) Q:$P(N,"*",2)'="3.0" "RTN","MAGDRPC2",83,0) . S PATCH=$P(N,"*",3) Q:'PATCH "RTN","MAGDRPC2",84,0) . S PATCH(PATCH)=1 "RTN","MAGDRPC2",85,0) . S DATINS=$G(FML("DILIST","ID",I,2)) "RTN","MAGDRPC2",86,0) . S L(DATINS,PATCH_"-"_$G(FML("DILIST","ID",I,51)))="" "RTN","MAGDRPC2",87,0) . Q "RTN","MAGDRPC2",88,0) ; "RTN","MAGDRPC2",89,0) S (DATINS,L,OUT)="" F S DATINS=$O(L(DATINS),-1) Q:DATINS="" D "RTN","MAGDRPC2",90,0) . S PATCH="" F S PATCH=$O(L(DATINS,PATCH)) Q:PATCH="" D "RTN","MAGDRPC2",91,0) . . S:OUT="" OUT=PATCH "RTN","MAGDRPC2",92,0) . . S:$G(PATCH(+PATCH)) PATCH(+PATCH)=0,L=(+PATCH)_","_L "RTN","MAGDRPC2",93,0) . . Q "RTN","MAGDRPC2",94,0) . Q "RTN","MAGDRPC2",95,0) S OUT=L_OUT "RTN","MAGDRPC2",96,0) Q "RTN","MAGDRPC2",97,0) ; "RTN","MAGDRPC3") 0^49^B42420638 "RTN","MAGDRPC3",1,0) MAGDRPC3 ;WOIFO/EdM - Imaging RPCs ; 02/05/2004 08:27 "RTN","MAGDRPC3",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDRPC3",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC3",4,0) ;; | Property of the US Government. | "RTN","MAGDRPC3",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRPC3",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRPC3",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRPC3",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRPC3",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRPC3",10,0) ;; | | "RTN","MAGDRPC3",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRPC3",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRPC3",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRPC3",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRPC3",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRPC3",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC3",17,0) ;; "RTN","MAGDRPC3",18,0) Q "RTN","MAGDRPC3",19,0) ; "RTN","MAGDRPC3",20,0) RADLKUP(OUT,CASENUMB,STUDYDAT) ; RPC = MAG DICOM LOOKUP RAD STUDY "RTN","MAGDRPC3",21,0) ; Radiology patient/study lookup "RTN","MAGDRPC3",22,0) N ACCNUM ;--- Accession Number "RTN","MAGDRPC3",23,0) N CPTCODE ;-- CPT code for the procedure "RTN","MAGDRPC3",24,0) N CPTNAME ;-- CPT name for the procedure "RTN","MAGDRPC3",25,0) N EXAMSTS ;-- Exam status (don't post images to CANCELLED exams) "RTN","MAGDRPC3",26,0) N PROCIEN ;-- radiology procedure ien in ^RAMIS(71) "RTN","MAGDRPC3",27,0) N RAIX ;----- cross reference subscript for case number lookup "RTN","MAGDRPC3",28,0) N RADPT1 ;--- first level subscript in ^RADPT "RTN","MAGDRPC3",29,0) N RADPT2 ;--- second level subscript in ^RADPT (after "DT") "RTN","MAGDRPC3",30,0) N RADPT3 ;--- third level subscript in ^RADPT (after "P") "RTN","MAGDRPC3",31,0) N D1,I,LIST,X,Z "RTN","MAGDRPC3",32,0) ; "RTN","MAGDRPC3",33,0) ; find the patient/study in ^RADPT using the Radiology Case Number "RTN","MAGDRPC3",34,0) K OUT "RTN","MAGDRPC3",35,0) D "RTN","MAGDRPC3",36,0) . I $G(CASENUMB)="" S OUT(1)="-1,No Case Number Specified" Q "RTN","MAGDRPC3",37,0) . S RAIX=$S($D(^RADPT("C")):"C",1:"AE") ; for Radiology Patch RA*5*7 "RTN","MAGDRPC3",38,0) . S RAIX=$S(CASENUMB["-":"ADC",1:RAIX) ; select the cross-reference "RTN","MAGDRPC3",39,0) . S RADPT1=$O(^RADPT(RAIX,CASENUMB,"")) I 'RADPT1 D Q:'RADPT1 "RTN","MAGDRPC3",40,0) . . I '$G(STUDYDAT) S OUT(1)="-2,No Study Date Specified",RADPT1=0 Q "RTN","MAGDRPC3",41,0) . . ; "RTN","MAGDRPC3",42,0) . . ; Search 1-3 days prior the study date OR a day in advance but only "RTN","MAGDRPC3",43,0) . . ; if the study date is not equal to today or greater than today. "RTN","MAGDRPC3",44,0) . . ; Has to be long case number or must have an image study date "RTN","MAGDRPC3",45,0) . . ; "RTN","MAGDRPC3",46,0) . . N II,RCASE,SDATE,TODAY,X,Y,%,%I "RTN","MAGDRPC3",47,0) . . ; "RTN","MAGDRPC3",48,0) . . S RCASE=$S(CASENUMB["-":$P(CASENUMB,"-",2),1:CASENUMB) "RTN","MAGDRPC3",49,0) . . I 'RCASE S RADPT1=0 Q "RTN","MAGDRPC3",50,0) . . ; "RTN","MAGDRPC3",51,0) . . D NOW^%DTC S TODAY=X "RTN","MAGDRPC3",52,0) . . S X=$P(STUDYDAT,"."),SDATE=$E(X,1,4)-1700_$E(X,5,8) ; FileMan date "RTN","MAGDRPC3",53,0) . . ; "RTN","MAGDRPC3",54,0) . . ; 1-3 days prior study date "RTN","MAGDRPC3",55,0) . . F II=1:1:3 S RADPT1=$$FIND(SDATE,RCASE,-II) Q:RADPT1 "RTN","MAGDRPC3",56,0) . . Q:RADPT1 "RTN","MAGDRPC3",57,0) . . ; "RTN","MAGDRPC3",58,0) . . ; Wild goose chase, but check for today's case "RTN","MAGDRPC3",59,0) . . S RADPT1=$O(^RADPT("ADC",$$MMDDYY(TODAY)_"-"_RCASE,"")) Q:RADPT1 "RTN","MAGDRPC3",60,0) . . ; "RTN","MAGDRPC3",61,0) . . I SDATE' MMDDYY "RTN","MAGDRPC3",176,0) I DAY'?7N Q 0 "RTN","MAGDRPC3",177,0) Q $E(DAY,4,7)_$E(DAY,2,3) "RTN","MAGDRPC3",178,0) ; "RTN","MAGDRPC4") 0^50^B69330482 "RTN","MAGDRPC4",1,0) MAGDRPC4 ;WOIFO/EdM - Imaging RPCs ; 03/24/2004 06:57 "RTN","MAGDRPC4",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDRPC4",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC4",4,0) ;; | Property of the US Government. | "RTN","MAGDRPC4",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRPC4",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRPC4",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRPC4",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRPC4",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRPC4",10,0) ;; | | "RTN","MAGDRPC4",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRPC4",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRPC4",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRPC4",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRPC4",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRPC4",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC4",17,0) ;; "RTN","MAGDRPC4",18,0) Q "RTN","MAGDRPC4",19,0) ; "RTN","MAGDRPC4",20,0) LOOKUP(OUT,NUMBER) ; RPC = MAG DICOM LOOKUP STUDY "RTN","MAGDRPC4",21,0) ; Look Up for both Radiology and Consults "RTN","MAGDRPC4",22,0) N ACCNUM ;--- Accession Number "RTN","MAGDRPC4",23,0) N CPTCODE ;-- CPT code for the procedure "RTN","MAGDRPC4",24,0) N CPTNAME ;-- CPT name for the procedure "RTN","MAGDRPC4",25,0) N DFN ;------ Patient pointer "RTN","MAGDRPC4",26,0) N EXAMSTS ;-- Exam status (don't post images to CANCELLED exams) "RTN","MAGDRPC4",27,0) N EXAMTYP ;-- Type of exam (Rad or Con) "RTN","MAGDRPC4",28,0) N GMRCIEN ;-- Pointer for GMRC "RTN","MAGDRPC4",29,0) N PROCIEN ;-- Radiology procedure IEN in ^RAMIS(71) "RTN","MAGDRPC4",30,0) N RAIX ;----- cross reference subscript for case number lookup "RTN","MAGDRPC4",31,0) N RADFN ;---- first level subscript in ^RADPT "RTN","MAGDRPC4",32,0) N RADTI ;---- second level subscript in ^RADPT (after "DT") "RTN","MAGDRPC4",33,0) N RACNI ;---- third level subscript in ^RADPT (after "P") "RTN","MAGDRPC4",34,0) N RARPT ;---- Radiology Report pointer "RTN","MAGDRPC4",35,0) N I,LIST,NOUT,X,Z "RTN","MAGDRPC4",36,0) ; "RTN","MAGDRPC4",37,0) K OUT S NOUT=1 "RTN","MAGDRPC4",38,0) I $G(NUMBER)="" S OUT(1)="-1,No Case or Consult Number Specified" Q "RTN","MAGDRPC4",39,0) ; "RTN","MAGDRPC4",40,0) S EXAMTYP=$E(NUMBER,1) "RTN","MAGDRPC4",41,0) I "RC"[EXAMTYP S NUMBER=$E(NUMBER,2,$L(NUMBER)) "RTN","MAGDRPC4",42,0) E S EXAMTYP="" "RTN","MAGDRPC4",43,0) K DFN "RTN","MAGDRPC4",44,0) D ; First try Radiology candidates "RTN","MAGDRPC4",45,0) . I EXAMTYP'="",EXAMTYP'="R" Q "RTN","MAGDRPC4",46,0) . D ; Look for the patient/study in ^RADPT using the Radiology Case Number "RTN","MAGDRPC4",47,0) . . N RAIX ;----- cross reference subscript for case number lookup "RTN","MAGDRPC4",48,0) . . S RAIX=$S($D(^RADPT("C")):"C",1:"AE") ; for Radiology Patch RA*5*7 "RTN","MAGDRPC4",49,0) . . S RAIX=$S(NUMBER["-":"ADC",1:RAIX) ; select the cross-reference "RTN","MAGDRPC4",50,0) . . S RADFN=$O(^RADPT(RAIX,NUMBER,"")) I 'RADFN D Q:'RADFN "RTN","MAGDRPC4",51,0) . . . I NUMBER'["-" S OUT(1)="-2,No Study Date Specified" Q "RTN","MAGDRPC4",52,0) . . . S X=$P(NUMBER,"-",1) "RTN","MAGDRPC4",53,0) . . . I $L(X)'=6 S OUT(1)="-3,Invalid study date """_X_"""." Q "RTN","MAGDRPC4",54,0) . . . S SDATE=$S($E(X,5,6)<30:3,1:2)_$E(X,5,6)_$E(X,1,4) "RTN","MAGDRPC4",55,0) . . . D:SDATE "RTN","MAGDRPC4",56,0) . . . . ; Search 1-3 days prior the study date OR a day in advance but only "RTN","MAGDRPC4",57,0) . . . . ; if the study date is not equal to today or greater than today. "RTN","MAGDRPC4",58,0) . . . . ; Has to be long case number or must have an image study date "RTN","MAGDRPC4",59,0) . . . . N %,%I,II,RCASE,TODAY,X,Y "RTN","MAGDRPC4",60,0) . . . . S RCASE=$S(NUMBER["-":$P(NUMBER,"-",2),1:NUMBER) Q:'RCASE "RTN","MAGDRPC4",61,0) . . . . D NOW^%DTC S TODAY=X "RTN","MAGDRPC4",62,0) . . . . ; "RTN","MAGDRPC4",63,0) . . . . ; 1-3 days prior study date "RTN","MAGDRPC4",64,0) . . . . F II=1:1:3 S RADFN=$$FIND(SDATE,RCASE,-II) Q:RADFN "RTN","MAGDRPC4",65,0) . . . . Q:RADFN "RTN","MAGDRPC4",66,0) . . . . ; "RTN","MAGDRPC4",67,0) . . . . ; Wild goose chase but check for today's case "RTN","MAGDRPC4",68,0) . . . . S RADFN=$O(^RADPT("ADC",$$MMDDYY(TODAY)_"-"_RCASE,"")) Q:RADFN "RTN","MAGDRPC4",69,0) . . . . ; "RTN","MAGDRPC4",70,0) . . . . Q:SDATE'D0 D0=S0,D1=0 "RTN","MAGDRPC4",155,0) . I 'S0 S OUT(1)="-2,No studies to be transmitted" Q "RTN","MAGDRPC4",156,0) . S D1=$O(^MAGDOUTP(2006.574,D0,1,D1)) D:'D1 "RTN","MAGDRPC4",157,0) . . S D0=$O(^MAGDOUTP(2006.574,"C",FROM,D0)) Q:'D0 "RTN","MAGDRPC4",158,0) . . S D1=$O(^MAGDOUTP(2006.574,D0,1,0)) "RTN","MAGDRPC4",159,0) . . Q "RTN","MAGDRPC4",160,0) . I 'D0 S OUT(1)="-3,No files to be transmitted" Q "RTN","MAGDRPC4",161,0) . I 'D1 D Q "RTN","MAGDRPC4",162,0) . . S X=$G(^MAGDOUTP(2006,574,D0,1,0)) "RTN","MAGDRPC4",163,0) . . S H=$P(X,"^",5) I H="" S $P(X,"^",5)=$H Q "RTN","MAGDRPC4",164,0) . . S N=$H,N=N*86400+$P(N,",",2),H=H*86400+$P(H,",",2) "RTN","MAGDRPC4",165,0) . . I N-H<300 S OUT(1)="-3,No files to be transmitted" Q "RTN","MAGDRPC4",166,0) . . L +^MAGDOUTP(2006.574,0):1E9 ; Background process MUST wait "RTN","MAGDRPC4",167,0) . . K ^MAGDOUTP(2006.574,D0) "RTN","MAGDRPC4",168,0) . . K ^MAGDOUTP(2006.574,"C",FROM,D0) "RTN","MAGDRPC4",169,0) . . S X=$G(^MAGDOUTP(2006.574,0)) "RTN","MAGDRPC4",170,0) . . S $P(X,"^",4)=$P(X,"^",4)-1 "RTN","MAGDRPC4",171,0) . . S ^MAGDOUTP(2006.574,0)=X "RTN","MAGDRPC4",172,0) . . L -^MAGDOUTP(2006.574,0) "RTN","MAGDRPC4",173,0) . . Q "RTN","MAGDRPC4",174,0) . S OUT(1)=1 "RTN","MAGDRPC4",175,0) . S OUT(2)=D0 "RTN","MAGDRPC4",176,0) . S OUT(3)=D1 "RTN","MAGDRPC4",177,0) . S X=$G(^MAGDOUTP(2006.574,D0,0)) "RTN","MAGDRPC4",178,0) . S OUT(4)=$P(X,"^",1) ; Application "RTN","MAGDRPC4",179,0) . S OUT(5)=$P(X,"^",2) ; Group "RTN","MAGDRPC4",180,0) . S OUT(6)=$P(X,"^",3) ; Accession Number "RTN","MAGDRPC4",181,0) . S OUT(7)=+$G(^MAGDOUTP(2006.574,D0,1,D1,0)) ; Image "RTN","MAGDRPC4",182,0) . S OUT(8)=$P($G(^MAG(2005,+OUT(7),0)),"^",6) "RTN","MAGDRPC4",183,0) . S TYPE=$S($G(^MAG(2005,+OUT(7),"FBIG"))'="":"BIG",1:"FULL") "RTN","MAGDRPC4",184,0) . ; 3rd parameter set to 1 to allow retrieval from jukebox "RTN","MAGDRPC4",185,0) . D FILEFIND^MAGDFB(+OUT(7),TYPE,1,0,.F1,.F2) "RTN","MAGDRPC4",186,0) . S OUT(9)=F1 "RTN","MAGDRPC4",187,0) . S OUT(10)=F2 "RTN","MAGDRPC4",188,0) . S OUT(11)=$P($G(^MAG(2005,+OUT(5),0)),"^",7) ; get DFN "RTN","MAGDRPC4",189,0) . ; get path for *.TXT, always the same as the FULL file "RTN","MAGDRPC4",190,0) . D FILEFIND^MAGDFB(+OUT(7),"FULL",1,0,.F1,.F3) "RTN","MAGDRPC4",191,0) . S OUT(12)=F3 "RTN","MAGDRPC4",192,0) . Q "RTN","MAGDRPC4",193,0) Q "RTN","MAGDRPC4",194,0) ; "RTN","MAGDRPC4",195,0) FIND(DATE,CASE,NUM) ; "RTN","MAGDRPC4",196,0) ; Use the ADC x-reference in the radiology patient file "RTN","MAGDRPC4",197,0) N NDATE,X,X1,X2,Y "RTN","MAGDRPC4",198,0) S X1=DATE,X2=NUM D C^%DTC S NDATE=X "RTN","MAGDRPC4",199,0) I NDATE<1 Q 0 "RTN","MAGDRPC4",200,0) S NDATE=$$MMDDYY(NDATE) "RTN","MAGDRPC4",201,0) Q $O(^RADPT("ADC",NDATE_"-"_CASE,"")) "RTN","MAGDRPC4",202,0) ; "RTN","MAGDRPC4",203,0) MMDDYY(DAY) ; Convert Fileman date to mmddyy "RTN","MAGDRPC4",204,0) I DAY'?7N Q 0 "RTN","MAGDRPC4",205,0) Q $E(DAY,4,7)_$E(DAY,2,3) "RTN","MAGDRPC4",206,0) ; "RTN","MAGDRPC4",207,0) GRPLIST(REPORTF,REPORTI,REPORTJ,MAGIEN) ; build array of imaging groups "RTN","MAGDRPC4",208,0) ; REPORTF is the parent file number "RTN","MAGDRPC4",209,0) ; REPORTI is the parent file ien number "RTN","MAGDRPC4",210,0) S GRPLIST=$G(GRPLIST)+1 "RTN","MAGDRPC4",211,0) S GRPLIST(GRPLIST)=REPORTF_"^"_REPORTI_"^"_REPORTJ_"^"_MAGIEN "RTN","MAGDRPC4",212,0) Q "RTN","MAGDRPC4",213,0) ; "RTN","MAGDRPC4",214,0) INIT(OUT,LOCATION) ; RPC = MAG DICOM QUEUE INIT "RTN","MAGDRPC4",215,0) N D0,N "RTN","MAGDRPC4",216,0) I '$G(LOCATION) S OUT="-3,No origin specified." Q "RTN","MAGDRPC4",217,0) I '$D(^MAGDOUTP(2006.574,0)) S OUT="-1,No entries at all in queue." Q "RTN","MAGDRPC4",218,0) ; "RTN","MAGDRPC4",219,0) S N=0,D0="" F S D0=$O(^MAGDOUTP(2006.574,"C",LOCATION,D0)) Q:D0="" D "RTN","MAGDRPC4",220,0) . K ^MAGDOUTP(2006.574,D0) "RTN","MAGDRPC4",221,0) . K ^MAGDOUTP(2006.574,"C",LOCATION,D0) "RTN","MAGDRPC4",222,0) . S N=N+1 "RTN","MAGDRPC4",223,0) . Q "RTN","MAGDRPC4",224,0) ; "RTN","MAGDRPC4",225,0) I 'N S OUT="-2,No entries present for "_$$GET1^DIQ(4,LOCATION,.01)_"." Q "RTN","MAGDRPC4",226,0) ; "RTN","MAGDRPC4",227,0) S $P(^MAGDOUTP(2006.574,0),"^",4)=$P(^MAGDOUTP(2006.574,0),"^",4)-N "RTN","MAGDRPC4",228,0) S OUT=N_" entr"_$S(N=1:"y",1:"ies")_" removed from Image Transmission Queue." "RTN","MAGDRPC4",229,0) Q "RTN","MAGDRPC4",230,0) ; "RTN","MAGDRPC5") 0^51^B79221665 "RTN","MAGDRPC5",1,0) MAGDRPC5 ;WOIFO/EdM - Routing RPCs ; 03/29/2004 09:56 "RTN","MAGDRPC5",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDRPC5",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC5",4,0) ;; | Property of the US Government. | "RTN","MAGDRPC5",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRPC5",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRPC5",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRPC5",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRPC5",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRPC5",10,0) ;; | | "RTN","MAGDRPC5",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRPC5",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRPC5",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRPC5",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRPC5",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRPC5",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC5",17,0) ;; "RTN","MAGDRPC5",18,0) Q "RTN","MAGDRPC5",19,0) ; "RTN","MAGDRPC5",20,0) START(OUT,LOCATION,RULES) ; RPC = MAG DICOM ROUTE EVAL START "RTN","MAGDRPC5",21,0) N I,LOC,ZTDESC,ZTDTH,ZTRTN,ZTSAVE "RTN","MAGDRPC5",22,0) I '$G(LOCATION) S OUT="-1,No Location Specified" Q "RTN","MAGDRPC5",23,0) I '$O(RULES("")) S OUT="-2,No Routing Rules Specified" Q "RTN","MAGDRPC5",24,0) ; "RTN","MAGDRPC5",25,0) S LOC=$$GET1^DIQ(4,LOCATION,.01) "RTN","MAGDRPC5",26,0) L +^MAGDICOM(2006.563,1,"EVAL",LOCATION):0 E D Q "RTN","MAGDRPC5",27,0) . S OUT="-3,A Rule Evaluator is Already Running for "_LOC "RTN","MAGDRPC5",28,0) . Q "RTN","MAGDRPC5",29,0) ; "RTN","MAGDRPC5",30,0) S ^MAGDICOM(2006.563,1,"EVAL")=1 "RTN","MAGDRPC5",31,0) S ZTRTN="EVAL^MAGBRTE4" "RTN","MAGDRPC5",32,0) S ZTDESC="Evaluate Routing Rules for Origin="_LOC "RTN","MAGDRPC5",33,0) S ZTDTH=$H "RTN","MAGDRPC5",34,0) S ZTSAVE("LOCATION")=LOCATION "RTN","MAGDRPC5",35,0) S I="" F S I=$O(RULES(I)) Q:I="" S:+I=I ZTSAVE("RULES("_I_")")=RULES(I) "RTN","MAGDRPC5",36,0) D ^%ZTLOAD,HOME^%ZIS "RTN","MAGDRPC5",37,0) L -^MAGDICOM(2006.563,1,"EVAL",LOCATION) "RTN","MAGDRPC5",38,0) I '$D(ZTSK) S OUT="-4,TaskMan did not Accept Request" Q "RTN","MAGDRPC5",39,0) S OUT="0,TaskMan task#="_ZTSK "RTN","MAGDRPC5",40,0) Q "RTN","MAGDRPC5",41,0) ; "RTN","MAGDRPC5",42,0) STOP(OUT) ; RPC = MAG DICOM ROUTE EVAL STOP "RTN","MAGDRPC5",43,0) S ^MAGDICOM(2006.563,1,"EVAL")=0,OUT=1 "RTN","MAGDRPC5",44,0) Q "RTN","MAGDRPC5",45,0) ; "RTN","MAGDRPC5",46,0) XMIT(OUT,LOCATION,DEST,PRIOR,MECH,DESTS) ; RPC = MAG DICOM ROUTE NEXT FILE "RTN","MAGDRPC5",47,0) N D0,DIR,DL,IM,M,OK,TP,X "RTN","MAGDRPC5",48,0) K OUT S OUT(1)=0,OK=0 "RTN","MAGDRPC5",49,0) S:'$G(MECH) MECH=1 I MECH'=1,MECH'=2 S MECH=1 "RTN","MAGDRPC5",50,0) I '$G(LOCATION) S OUT(1)="-1,No Location Specified" Q "RTN","MAGDRPC5",51,0) S M="" F S M=$O(DESTS(M)) Q:M="" D "RTN","MAGDRPC5",52,0) . S X=DESTS(M) Q:X'["^" Q:$P(X,"^",1)'=MECH Q:'$P(X,"^",2) "RTN","MAGDRPC5",53,0) . S DL($P(X,"^",2))="" "RTN","MAGDRPC5",54,0) . Q "RTN","MAGDRPC5",55,0) I $O(DL(""))="" S OUT(1)="-2,No Valid Destinations Specified" Q "RTN","MAGDRPC5",56,0) S:'$G(DEST) (PRIOR,DEST)="" "RTN","MAGDRPC5",57,0) I $G(PRIOR) D "RTN","MAGDRPC5",58,0) . I DEST S X=0 F D Q:X "RTN","MAGDRPC5",59,0) . . I $P($G(^MAG(2005.2,DEST,0)),"^",6) S X=1 Q "RTN","MAGDRPC5",60,0) . . D NOW^%DTC S %=%*1E6 "RTN","MAGDRPC5",61,0) . . S X=$P($G(^MAG(2005.2,DEST,3)),"^",6)*1E6 "RTN","MAGDRPC5",62,0) . . I %-X>1500 D ONOFLINE(.X,DEST,1) Q "RTN","MAGDRPC5",63,0) . . S X=0,DEST=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",PRIOR,DEST)) "RTN","MAGDRPC5",64,0) . . S:'DEST X=1 "RTN","MAGDRPC5",65,0) . . Q "RTN","MAGDRPC5",66,0) . I 'DEST S (PRIOR,DEST)="" Q "RTN","MAGDRPC5",67,0) . F D Q:OK "RTN","MAGDRPC5",68,0) . . S D0=+$G(D0) "RTN","MAGDRPC5",69,0) . . S D0=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",PRIOR,DEST,D0)) "RTN","MAGDRPC5",70,0) . . I 'D0 S OK=1 Q "RTN","MAGDRPC5",71,0) . . S M=$P($G(^MAGQUEUE(2006.035,D0,0)),"^",4) I M'=1,M'=2 S M=1 "RTN","MAGDRPC5",72,0) . . I M=MECH S OK=1 Q "RTN","MAGDRPC5",73,0) . . S (PRIOR,DEST)="" "RTN","MAGDRPC5",74,0) . . Q "RTN","MAGDRPC5",75,0) . Q "RTN","MAGDRPC5",76,0) I OK D:$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",PRIOR)) "RTN","MAGDRPC5",77,0) . ; "RTN","MAGDRPC5",78,0) . ; Ignore higher priority items for destinations that are not accessible "RTN","MAGDRPC5",79,0) . ; "RTN","MAGDRPC5",80,0) . N A,D,P,T,X "RTN","MAGDRPC5",81,0) . S P=PRIOR F S P=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",P)) Q:'P D Q:'PRIOR "RTN","MAGDRPC5",82,0) . . S D="" F S D=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",P,D)) Q:D="" D Q:'PRIOR "RTN","MAGDRPC5",83,0) . . . ; Interrupt only if we're transmitting there "RTN","MAGDRPC5",84,0) . . . Q:'$D(DL(D)) "RTN","MAGDRPC5",85,0) . . . ; "RTN","MAGDRPC5",86,0) . . . D:'$P(^MAG(2005.2,D,0),"^",6) "RTN","MAGDRPC5",87,0) . . . . D NOW^%DTC S %=%*1E6 "RTN","MAGDRPC5",88,0) . . . . S X=$P($G(^MAG(2005.2,D,3)),"^",6)*1E6 Q:%-X<1500 "RTN","MAGDRPC5",89,0) . . . . D ONOFLINE(.X,D,1) "RTN","MAGDRPC5",90,0) . . . . Q "RTN","MAGDRPC5",91,0) . . . S:$P(^MAG(2005.2,D,0),"^",6) PRIOR=0 "RTN","MAGDRPC5",92,0) . . . Q "RTN","MAGDRPC5",93,0) . . Q "RTN","MAGDRPC5",94,0) . Q "RTN","MAGDRPC5",95,0) I '$G(PRIOR) F D Q:OK Q:'PRIOR "RTN","MAGDRPC5",96,0) . S PRIOR=" " F S PRIOR=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",PRIOR),-1) Q:'PRIOR D Q:OK "RTN","MAGDRPC5",97,0) . . S DEST="" F S DEST=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",PRIOR,DEST)) Q:DEST="" D:$D(DL(DEST)) Q:OK "RTN","MAGDRPC5",98,0) . . . D:'$P(^MAG(2005.2,DEST,0),"^",6) "RTN","MAGDRPC5",99,0) . . . . D NOW^%DTC S %=%*1E6 "RTN","MAGDRPC5",100,0) . . . . S X=$P($G(^MAG(2005.2,DEST,3)),"^",6)*1E6 Q:%-X<1500 "RTN","MAGDRPC5",101,0) . . . . D ONOFLINE(.X,DEST,1) "RTN","MAGDRPC5",102,0) . . . . Q "RTN","MAGDRPC5",103,0) . . . Q:'$P(^MAG(2005.2,DEST,0),"^",6) "RTN","MAGDRPC5",104,0) . . . S D0="" F S D0=$O(^MAGQUEUE(2006.035,"STS",LOCATION,"WAITING",PRIOR,DEST,D0)) Q:D0="" D Q:OK "RTN","MAGDRPC5",105,0) . . . . S M=$P($G(^MAGQUEUE(2006.035,D0,0)),"^",4) I M'=1,M'=2 S M=1 "RTN","MAGDRPC5",106,0) . . . . I M=MECH S OK=1 Q "RTN","MAGDRPC5",107,0) . . . . Q "RTN","MAGDRPC5",108,0) . . . Q "RTN","MAGDRPC5",109,0) . . Q "RTN","MAGDRPC5",110,0) . Q "RTN","MAGDRPC5",111,0) Q:'PRIOR "RTN","MAGDRPC5",112,0) Q:'OK "RTN","MAGDRPC5",113,0) I 'D0 S OUT(1)=0 Q ; All files transmitted "RTN","MAGDRPC5",114,0) ; "RTN","MAGDRPC5",115,0) S X=^MAGQUEUE(2006.035,D0,0),IM=$P(X,"^",1),TP=$P(X,"^",3) "RTN","MAGDRPC5",116,0) I 'IM D STATUS(X,D0,"SENT",LOCATION) S OUT(1)=2 Q "RTN","MAGDRPC5",117,0) S OUT(2)=DEST,OUT(3)=PRIOR,OUT(4)=MECH,OUT(9)=D0 "RTN","MAGDRPC5",118,0) S X=$G(^MAG(2005.2,DEST,2)),OUT(5)=$P(X,"^",1),OUT(6)=$P(X,"^",2) "RTN","MAGDRPC5",119,0) D STATUS(X,D0,"SENDING",LOCATION) "RTN","MAGDRPC5",120,0) S OUT(10)=$P(^MAG(2005.2,DEST,0),"^",2) "RTN","MAGDRPC5",121,0) S DIR=$P($G(^MAG(2005.2,DEST,4)),"^",2) "RTN","MAGDRPC5",122,0) S OUT(11)=$G(^MAG(2005.2,DEST,3)) "RTN","MAGDRPC5",123,0) S OUT(12)=IM,OUT(13)=$P($G(^MAGQUEUE(2006.035,D0,1)),"^",3) "RTN","MAGDRPC5",124,0) D "RTN","MAGDRPC5",125,0) . N FROM,TO "RTN","MAGDRPC5",126,0) . S (FROM,TO)=-13 D FILEFIND^MAGDFB(IM,TP,0,0,.TO,.FROM) "RTN","MAGDRPC5",127,0) . S:FROM["~NO NETWORK LOCATION DEFINED" (FROM,TO)="-1~No routable files found for image "_IM "RTN","MAGDRPC5",128,0) . I TP="TEXT" S TO=$E(TO,1,$L(TO)-4)_".TXT",FROM=$E(FROM,1,$L(FROM)-4)_".TXT" "RTN","MAGDRPC5",129,0) . I (FROM<0)!(TO<0)!(FROM="") D STATUS(X,D0,"SENT",LOCATION) S OUT(1)=2 Q "RTN","MAGDRPC5",130,0) . S HASH=$$DIRHASH^MAGFILEB(TO,DEST) D:HASH'="" "RTN","MAGDRPC5",131,0) . . I $E(TO,1)="\",$E(HASH,$L(HASH))="\" S HASH=$E(HASH,1,$L(HASH)-1) "RTN","MAGDRPC5",132,0) . . I $E(TO,1)'="\",$E(HASH,$L(HASH))'="\" S HASH=HASH_"\" "RTN","MAGDRPC5",133,0) . . S TO=HASH_TO "RTN","MAGDRPC5",134,0) . . Q "RTN","MAGDRPC5",135,0) . D:DIR'="" "RTN","MAGDRPC5",136,0) . . I $E(TO,1)="\",$E(DIR,$L(DIR))="\" S DIR=$E(DIR,1,$L(DIR)-1) "RTN","MAGDRPC5",137,0) . . I $E(TO,1)'="\",$E(DIR,$L(DIR))'="\" S DIR=DIR_"\" "RTN","MAGDRPC5",138,0) . . S TO=DIR_TO "RTN","MAGDRPC5",139,0) . . Q "RTN","MAGDRPC5",140,0) . S:$E(TO,1)'="\" TO="\"_TO "RTN","MAGDRPC5",141,0) . S OUT(7)=FROM,OUT(8)=TO "RTN","MAGDRPC5",142,0) . S OUT(1)=1 "RTN","MAGDRPC5",143,0) . Q "RTN","MAGDRPC5",144,0) I MECH=2 S OUT(2)=OUT(2)_"^"_$P($G(^MAG(2006.587,+DEST,0)),"^",1) "RTN","MAGDRPC5",145,0) Q "RTN","MAGDRPC5",146,0) ; "RTN","MAGDRPC5",147,0) PURGE(OUT,LOCATION,DEST,MAX,DONE) ; RPC = MAG DICOM ROUTE GET PURGE "RTN","MAGDRPC5",148,0) N D0,D1,FILE,FMFILE,I,LIMIT,MORE,NOW,RETAIN,STAMP,STATUS,X "RTN","MAGDRPC5",149,0) ; "RTN","MAGDRPC5",150,0) D NOW^%DTC S NOW=% "RTN","MAGDRPC5",151,0) K OUT S OUT(1)=1 "RTN","MAGDRPC5",152,0) S $P(^MAG(2005.2,DEST,3),"^",4)=DT "RTN","MAGDRPC5",153,0) S X=^MAG(2005.2,DEST,3) "RTN","MAGDRPC5",154,0) S RETAIN=$P(X,"^",1) S:RETAIN="" RETAIN=32 S:RETAIN<0 RETAIN=0 "RTN","MAGDRPC5",155,0) S LIMIT=$H-RETAIN "RTN","MAGDRPC5",156,0) ; "RTN","MAGDRPC5",157,0) S MORE="" S:$TR($G(DONE(1)),"^")'="" MORE=$P(DONE(1),"^",4,6) "RTN","MAGDRPC5",158,0) ; "RTN","MAGDRPC5",159,0) S I="" F S I=$O(DONE(I)) Q:I="" D "RTN","MAGDRPC5",160,0) . N D41,D61 "RTN","MAGDRPC5",161,0) . S X=$G(DONE(I)) "RTN","MAGDRPC5",162,0) . S D0=$P(X,"^",2),D41=$P(X,"^",3) "RTN","MAGDRPC5",163,0) . S STAMP=$P(X,"^",4) "RTN","MAGDRPC5",164,0) . Q:'D0 Q:'D41 "RTN","MAGDRPC5",165,0) . ; Just in case the image is being deleted as this purge is taking place "RTN","MAGDRPC5",166,0) . F FMFILE=2005,2005.1 D "RTN","MAGDRPC5",167,0) . . K ^MAG(FMFILE,"ROUTE",DEST,STAMP,D0,D41) "RTN","MAGDRPC5",168,0) . . S D61=$P($G(^MAG(FMFILE,D0,4,D41,0)),"^",7) "RTN","MAGDRPC5",169,0) . . K ^MAG(FMFILE,D0,4,"LOC",DEST,D41) "RTN","MAGDRPC5",170,0) . . K ^MAG(FMFILE,D0,4,D41,0) "RTN","MAGDRPC5",171,0) . . S:D61 $P(^MAG(FMFILE,D0,6,D61,0),"^",5)=NOW "RTN","MAGDRPC5",172,0) . . Q "RTN","MAGDRPC5",173,0) . Q "RTN","MAGDRPC5",174,0) ; "RTN","MAGDRPC5",175,0) D "RTN","MAGDRPC5",176,0) . N %,%H,%I "RTN","MAGDRPC5",177,0) . S %H=LIMIT D TT^%DTC S LIMIT=X "RTN","MAGDRPC5",178,0) . Q "RTN","MAGDRPC5",179,0) ; "RTN","MAGDRPC5",180,0) S MAG=$G(MAX) S:MAX<1 MAX=100 "RTN","MAGDRPC5",181,0) F FMFILE=2005,2005.1 D Q:OUT(1)'1 "RTN","MAGDRPC6",126,0) S ZTSK=TASK D STAT^%ZTLOAD "RTN","MAGDRPC6",127,0) I $G(ZTSK(2))["Inactive" S OUT(1)="-3,"_ZTSK(2) Q "RTN","MAGDRPC6",128,0) Q "RTN","MAGDRPC7") 0^53^B33161764 "RTN","MAGDRPC7",1,0) MAGDRPC7 ;WOIFO/EdM - RPC to fetch a Audit Info ; 02/05/2004 08:39 "RTN","MAGDRPC7",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGDRPC7",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC7",4,0) ;; | Property of the US Government. | "RTN","MAGDRPC7",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGDRPC7",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGDRPC7",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGDRPC7",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGDRPC7",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGDRPC7",10,0) ;; | | "RTN","MAGDRPC7",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGDRPC7",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGDRPC7",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGDRPC7",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGDRPC7",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGDRPC7",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGDRPC7",17,0) ;; "RTN","MAGDRPC7",18,0) Q "RTN","MAGDRPC7",19,0) ; "RTN","MAGDRPC7",20,0) GET1(OUT,LOCATION,TODAY) ; RPC = MAG DICOM TEXT AUDIT GET "RTN","MAGDRPC7",21,0) ; Get the numbers of text-messages per day per purpose "RTN","MAGDRPC7",22,0) N COUNT,D2,DATE,I,MSG,N,X "RTN","MAGDRPC7",23,0) D:'$D(DT) DT^DICRW "RTN","MAGDRPC7",24,0) K OUT S (OUT(1),N)=1,I=100 "RTN","MAGDRPC7",25,0) S TODAY=+$G(TODAY),DATE=DT "RTN","MAGDRPC7",26,0) D:TODAY I 'TODAY S DATE=0 F S DATE=$O(^MAGDAUDT(2006.5761,DATE)) Q:'DATE D "RTN","MAGDRPC7",27,0) . Q:'$D(^MAGDAUDT(2006.5761,DATE,1,LOCATION)) "RTN","MAGDRPC7",28,0) . ; Retrieve one day's statistics "RTN","MAGDRPC7",29,0) . S MSG="" F S MSG=$O(^MAGDAUDT(2006.5761,DATE,1,LOCATION,1,"B",MSG)) Q:MSG="" D "RTN","MAGDRPC7",30,0) . . S D2=$O(^MAGDAUDT(2006.5761,DATE,1,LOCATION,1,"B",MSG,"")) Q:'D2 "RTN","MAGDRPC7",31,0) . . S X=$G(^MAGDAUDT(2006.5761,DATE,1,LOCATION,1,D2,0)) "RTN","MAGDRPC7",32,0) . . S COUNT=$P(X,"^",2) Q:'COUNT "RTN","MAGDRPC7",33,0) . . S LAST=$P(X,"^",3) "RTN","MAGDRPC7",34,0) . . S I=I+1,N=N+1,OUT(I)=DATE_"^"_COUNT_"^"_MSG_"^"_LAST,MSG(MSG)="" "RTN","MAGDRPC7",35,0) . . Q "RTN","MAGDRPC7",36,0) . Q "RTN","MAGDRPC7",37,0) S I=1,MSG="" F S MSG=$O(MSG(MSG)) Q:MSG="" D "RTN","MAGDRPC7",38,0) . S I=I+1,N=N+1,OUT(I)="^^"_MSG "RTN","MAGDRPC7",39,0) . Q "RTN","MAGDRPC7",40,0) S OUT(1)=N-1 "RTN","MAGDRPC7",41,0) Q "RTN","MAGDRPC7",42,0) ; "RTN","MAGDRPC7",43,0) GET2(OUT,LOCATION,START,STOP) ; RPC = MAG DICOM IMAGE AUDIT GET "RTN","MAGDRPC7",44,0) ; Get the numbers of messages per day per instrument "RTN","MAGDRPC7",45,0) N COUNT,D2,DATE,I,INSTR,N,X "RTN","MAGDRPC7",46,0) D:'$D(DT) DT^DICRW "RTN","MAGDRPC7",47,0) K OUT S (OUT(1),N)=1,I=100 "RTN","MAGDRPC7",48,0) S START=+$G(START)-1,STOP=+$G(STOP) "RTN","MAGDRPC7",49,0) S:START<0 START=0 "RTN","MAGDRPC7",50,0) S:'STOP STOP=9999999 "RTN","MAGDRPC7",51,0) S DATE=START F S DATE=$O(^MAGDAUDT(2006.5762,DATE)) Q:'DATE Q:DATE>STOP D "RTN","MAGDRPC7",52,0) . Q:'$D(^MAGDAUDT(2006.5762,DATE,1,LOCATION)) "RTN","MAGDRPC7",53,0) . ; Retrieve one day's statistics "RTN","MAGDRPC7",54,0) . S INSTR="" F S INSTR=$O(^MAGDAUDT(2006.5762,DATE,1,LOCATION,1,"B",INSTR)) Q:INSTR="" D "RTN","MAGDRPC7",55,0) . . S D2=$O(^MAGDAUDT(2006.5762,DATE,1,LOCATION,1,"B",INSTR,"")) Q:'D2 "RTN","MAGDRPC7",56,0) . . S X=$G(^MAGDAUDT(2006.5762,DATE,1,LOCATION,1,D2,0)) "RTN","MAGDRPC7",57,0) . . S COUNT=$P(X,"^",2) S:$P(X,"^",4)>COUNT COUNT=$P(X,"^",4) "RTN","MAGDRPC7",58,0) . . Q:'COUNT "RTN","MAGDRPC7",59,0) . . S INSTR(INSTR)="" "RTN","MAGDRPC7",60,0) . . S I=I+1,N=N+1,OUT(I)=DATE_"^"_$P(X,"^",2)_"^"_INSTR_"^"_$P(X,"^",3,5) "RTN","MAGDRPC7",61,0) . . Q "RTN","MAGDRPC7",62,0) . Q "RTN","MAGDRPC7",63,0) S I=1,INSTR="" F S INSTR=$O(INSTR(INSTR)) Q:INSTR="" D "RTN","MAGDRPC7",64,0) . S I=I+1,N=N+1,OUT(I)="^^"_INSTR "RTN","MAGDRPC7",65,0) . Q "RTN","MAGDRPC7",66,0) S OUT(1)=N-1 "RTN","MAGDRPC7",67,0) Q "RTN","MAGDRPC7",68,0) ; "RTN","MAGDRPC7",69,0) RANGE(OUT) ; RPC = MAG DICOM AUDIT RANGE "RTN","MAGDRPC7",70,0) ; Get the date-ranges for the various audit files "RTN","MAGDRPC7",71,0) N DF,DL,FM,N "RTN","MAGDRPC7",72,0) K OUT S N=1 "RTN","MAGDRPC7",73,0) F FM=2006.5761,2006.5762 D "RTN","MAGDRPC7",74,0) . S DF=$O(^MAGDAUDT(FM,0)) S:'DF DF="" "RTN","MAGDRPC7",75,0) . S DL=$O(^MAGDAUDT(FM," "),-1) S:'DL DL="" "RTN","MAGDRPC7",76,0) . S N=N+1,OUT(N)=FM_"^"_DF_"^"_DL "RTN","MAGDRPC7",77,0) . Q "RTN","MAGDRPC7",78,0) S N=N+1,OUT(N)="-END-" "RTN","MAGDRPC7",79,0) Q "RTN","MAGDRPC7",80,0) ; "RTN","MAGDRPC7",81,0) PURGE(OUT,FM,DATE) ; RPC = MAG DICOM AUDIT PURGE "RTN","MAGDRPC7",82,0) ; Purge Audit FIle "RTN","MAGDRPC7",83,0) N D0,DAYS,X "RTN","MAGDRPC7",84,0) L +^MAGDAUDT(FM) "RTN","MAGDRPC7",85,0) S DAYS=$P($G(^MAGDAUDT(FM,0)),"^",4),OUT=0 "RTN","MAGDRPC7",86,0) S X=0 F S X=$O(^MAGDAUDT(FM,X)) Q:'X Q:X'0 "RTN","MAGDRPC8",121,0) . S X=$G(^MAG(2006.1,D0,0)),P1=$P(X,"^",1) Q:P1="" "RTN","MAGDRPC8",122,0) . I +P1=P1,LOCATION=P1 S OUT=D0 Q "RTN","MAGDRPC8",123,0) . D FIND^DIC(4,"","","BX",P1,"*","","","","R","M") "RTN","MAGDRPC8",124,0) . S I=0 F S I=$O(R("DILIST",2,I)) Q:'I D "RTN","MAGDRPC8",125,0) . . I LOCATION=R("DILIST",2,I) S OUT=D0 "RTN","MAGDRPC8",126,0) . . Q "RTN","MAGDRPC8",127,0) . Q "RTN","MAGDRPC8",128,0) Q "RTN","MAGDRPC8",129,0) ; "RTN","MAGDRPC8",130,0) SETPACS(OUT,D0) ; RPC = MAG DICOM SET PACS PARAMS "RTN","MAGDRPC8",131,0) N X "RTN","MAGDRPC8",132,0) I '$G(D0) S OUT="-1,No Place Specified." Q "RTN","MAGDRPC8",133,0) I '$D(^MAG(2006.1,D0)) S OUT="-2,Invalid Place Specified." Q "RTN","MAGDRPC8",134,0) ; "RTN","MAGDRPC8",135,0) ; There is a PACS "RTN","MAGDRPC8",136,0) S $P(^MAG(2006.1,D0,"PACS"),"^",1)=1 "RTN","MAGDRPC8",137,0) ; "RTN","MAGDRPC8",138,0) ; Number of days to retain "PACS" images "RTN","MAGDRPC8",139,0) S X=$P($G(^MAG(2006.1,D0,1)),"^",5) "RTN","MAGDRPC8",140,0) S:'X $P(^MAG(2006.1,D0,1),"^",5)=30 "RTN","MAGDRPC8",141,0) ; "RTN","MAGDRPC8",142,0) ; Set minimum % of free disk space to trigger automatic file delete "RTN","MAGDRPC8",143,0) S X=$P($G(^MAG(2006.1,D0,3)),"^",6) "RTN","MAGDRPC8",144,0) S:'X $P(^MAG(2006.1,D0,3),"^",6)=25 "RTN","MAGDRPC8",145,0) S OUT=1 "RTN","MAGDRPC8",146,0) Q "RTN","MAGDRPC8",147,0) ; "RTN","MAGDRPC8",148,0) HIGHHL7(OUT,DUMMY) ; RPC = MAG DICOM GET HIGHEST HL7 "RTN","MAGDRPC8",149,0) S OUT=+$O(^MAGDHL7(2006.5," "),-1) "RTN","MAGDRPC8",150,0) Q "RTN","MAGDRPC8",151,0) ; "RTN","MAGDRPC8",152,0) FINDLOC(OUT,NAME) ; RPC = MAG DICOM FIND LOCATION "RTN","MAGDRPC8",153,0) N I,M,P1,R,X "RTN","MAGDRPC8",154,0) S OUT="-1,Invalid location """_NAME_"""." "RTN","MAGDRPC8",155,0) D FIND^DIC(4,"",.01,"BXA",NAME,"*","","","","R","M") "RTN","MAGDRPC8",156,0) S I=0 F S I=$O(R("DILIST",2,I)) Q:'I D "RTN","MAGDRPC8",157,0) . S P1=R("DILIST",2,I) I P1 K R S OUT=P1 "RTN","MAGDRPC8",158,0) . Q "RTN","MAGDRPC8",159,0) Q "RTN","MAGDRPC8",160,0) ; "RTN","MAGDRPC8",161,0) VALIMGT(OUT,DUMMY) ; RPC = MAG DICOM GET IMAGING TYPES "RTN","MAGDRPC8",162,0) N N,X "RTN","MAGDRPC8",163,0) S N=1 "RTN","MAGDRPC8",164,0) ; Lists of valid imaging types "RTN","MAGDRPC8",165,0) S X="" F S X=$O(^RA(79.2,"C",X)) Q:X="" S N=N+1,OUT(N)="RAD^"_X "RTN","MAGDRPC8",166,0) S X="" F S X=$O(^MAG(2005.84,"C",X)) Q:X="" S N=N+1,OUT(N)="CON^"_X "RTN","MAGDRPC8",167,0) S OUT(1)=N-1 "RTN","MAGDRPC8",168,0) Q "RTN","MAGDRPC8",169,0) ; "RTN","MAGDRPC8",170,0) CORRECT(OUT,LOCATION,MACHID) ; RPC = MAG DICOM INCORRECT IMAGE CT "RTN","MAGDRPC8",171,0) ; Check for images needing corrections "RTN","MAGDRPC8",172,0) N CNT,D0,STUDY "RTN","MAGDRPC8",173,0) I '$G(LOCATION) S OUT="-1,No Location Specified" Q "RTN","MAGDRPC8",174,0) I $G(MACHID)="" S OUT="-2,No Gateway Specified" Q "RTN","MAGDRPC8",175,0) S OUT=0 "RTN","MAGDRPC8",176,0) Q:'$O(^MAGD(2006.575,0)) "RTN","MAGDRPC8",177,0) Q:'$D(^MAGD(2006.575,"F",LOCATION)) "RTN","MAGDRPC8",178,0) S STUDY="" F S STUDY=$O(^MAGD(2006.575,"F",LOCATION,STUDY)) Q:STUDY="" D "RTN","MAGDRPC8",179,0) . S D0=0 S D0=$O(^MAGD(2006.575,"F",LOCATION,STUDY,D0)) Q:'D0 D "RTN","MAGDRPC8",180,0) . . Q:'$D(^MAGD(2006.575,D0,0)) "RTN","MAGDRPC8",181,0) . . S:MACHID=$P($G(^MAGD(2006.575,D0,1)),"^",4) OUT=OUT+1 "RTN","MAGDRPC8",182,0) . . Q "RTN","MAGDRPC8",183,0) . Q "RTN","MAGDRPC8",184,0) Q "RTN","MAGDRPC8",185,0) ; "RTN","MAGDRPC8",186,0) HL7PTR(OUT,ACTION,VALUE) ; RPC = MAG DICOM HL7 POINTER ACTION "RTN","MAGDRPC8",187,0) ; Manipulate HL7 Pointer "RTN","MAGDRPC8",188,0) N D0,P1,P2,X,Y "RTN","MAGDRPC8",189,0) S ACTION=$G(ACTION),VALUE=$G(VALUE) "RTN","MAGDRPC8",190,0) S OUT="-2,Invalid Request: """_ACTION_"""." "RTN","MAGDRPC8",191,0) I ACTION="GetDate" D Q "RTN","MAGDRPC8",192,0) . S X=$G(^MAGDHL7(2006.5,+VALUE,0)) "RTN","MAGDRPC8",193,0) . I X="" S OUT="-1,Invalid Pointer """_VALUE_"""." Q "RTN","MAGDRPC8",194,0) . S Y=$P(X,"^",3) D DD^%DT S OUT=Y "RTN","MAGDRPC8",195,0) . Q "RTN","MAGDRPC8",196,0) I ACTION="DatePtr" D Q "RTN","MAGDRPC8",197,0) . S Y=$O(^MAGDHL7(2006.5,"C",VALUE),-1) "RTN","MAGDRPC8",198,0) . I 'Y D ; before any date on file "RTN","MAGDRPC8",199,0) . . ; if the requested date is before the first entry, "RTN","MAGDRPC8",200,0) . . ; move the pointer to the first entry "RTN","MAGDRPC8",201,0) . . S OUT=0 "RTN","MAGDRPC8",202,0) . . Q "RTN","MAGDRPC8",203,0) . E D ; if the requested date is in the cross reference, use it. "RTN","MAGDRPC8",204,0) . . S Y=$O(^MAGDHL7(2006.5,"C",Y,"")) "RTN","MAGDRPC8",205,0) . . I Y S OUT=Y ; found date "RTN","MAGDRPC8",206,0) . . E D "RTN","MAGDRPC8",207,0) . . . ; otherwise, find the appropriate entry the hard way "RTN","MAGDRPC8",208,0) . . . S D0=$O(^MAGDHL7(2006.5,0)) "RTN","MAGDRPC8",209,0) . . . S Y=$P($G(^MAGDHL7(2006.5,D0,0)),"^",3) I Y' abort! "RTN","MAGENV11",29,0) ; "RTN","MAGENV11",30,0) ; Patch 11 has been installed if File 2006.1 (IMAGING SITE PARAMETERS) "RTN","MAGENV11",31,0) ; contains Field 125 (DICOM GATEWAY VERIFY CODE). "RTN","MAGENV11",32,0) ; "RTN","MAGENV11",33,0) I '$$VFIELD^DILFD(2006.1,125),$O(^MAGD(2006.575," "),-1) D "RTN","MAGENV11",34,0) . W !,"********** A T T E N T I O N **********" "RTN","MAGENV11",35,0) . W !,"You must use the appropriate options in the" "RTN","MAGENV11",36,0) . W !,"MAGD DICOM MENU to correct ALL existing" "RTN","MAGENV11",37,0) . W !,"entries in the DICOM FAILED IMAGE File" "RTN","MAGENV11",38,0) . W !,"before installing this package." "RTN","MAGENV11",39,0) . I $G(XPDENV)=1 D ; abort during Install Package(s) "RTN","MAGENV11",40,0) . . W !!,"Aborting...",! S XPDABORT=2 ; don't kill transport global "RTN","MAGENV11",41,0) . . Q "RTN","MAGENV11",42,0) . E D ; don't abort during Load a Distribution "RTN","MAGENV11",43,0) . . W !!,"Continuing...",! "RTN","MAGENV11",44,0) . . Q "RTN","MAGENV11",45,0) . Q "RTN","MAGENV11",46,0) Q "RTN","MAGIPS11") 0^^B8907548 "RTN","MAGIPS11",1,0) MAGIPS11 ;Post init routine to queue site activity at install ; 16 Feb 2004 2:41 PM "RTN","MAGIPS11",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGIPS11",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGIPS11",4,0) ;; | Property of the US Government. | "RTN","MAGIPS11",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGIPS11",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGIPS11",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGIPS11",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGIPS11",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGIPS11",10,0) ;; | | "RTN","MAGIPS11",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGIPS11",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGIPS11",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGIPS11",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGIPS11",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGIPS11",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGIPS11",17,0) ;; "RTN","MAGIPS11",18,0) Q "RTN","MAGIPS11",19,0) POST ; "RTN","MAGIPS11",20,0) ; create and send the site installation message "RTN","MAGIPS11",21,0) D REMTASK^MAGQE4 "RTN","MAGIPS11",22,0) D STTASK^MAGQE4 "RTN","MAGIPS11",23,0) D INS(XPDNM,DUZ,$$NOW^XLFDT,XPDA) "RTN","MAGIPS11",24,0) D POSTI^MAGQBUT "RTN","MAGIPS11",25,0) Q "RTN","MAGIPS11",26,0) ; "RTN","MAGIPS11",27,0) INS(XP,DUZ,DATE,IDA) ; "RTN","MAGIPS11",28,0) N CT,CNT,COM,D,D0,D1,D2,DDATE,DG,DIC,DICR,DIW,MAGMSG,ST,XMID,XMY "RTN","MAGIPS11",29,0) D GETENV^%ZOSV "RTN","MAGIPS11",30,0) S CNT=0 "RTN","MAGIPS11",31,0) S CNT=CNT+1,MAGMSG(CNT)="PACKAGE INSTALL" "RTN","MAGIPS11",32,0) S CNT=CNT+1,MAGMSG(CNT)="SITE: "_$$KSP^XUPARAM("WHERE") "RTN","MAGIPS11",33,0) S CNT=CNT+1,MAGMSG(CNT)="PACKAGE: "_XP "RTN","MAGIPS11",34,0) S CNT=CNT+1,MAGMSG(CNT)="Version: "_$$VER^XPDUTL(XP) "RTN","MAGIPS11",35,0) S ST=$$GET1^DIQ(9.7,IDA,11,"I") "RTN","MAGIPS11",36,0) S CNT=CNT+1,MAGMSG(CNT)="Start time: "_$$FMTE^XLFDT(ST) "RTN","MAGIPS11",37,0) S CT=$$GET1^DIQ(9.7,IDA,17,"I") S:+CT'=CT CT=$$NOW^XLFDT "RTN","MAGIPS11",38,0) S CNT=CNT+1,MAGMSG(CNT)="Completion time: "_$$FMTE^XLFDT(CT) "RTN","MAGIPS11",39,0) S CNT=CNT+1,MAGMSG(CNT)="Run time: "_$$FMDIFF^XLFDT(CT,ST,3) "RTN","MAGIPS11",40,0) S CNT=CNT+1,MAGMSG(CNT)="Environment: "_Y "RTN","MAGIPS11",41,0) S COM=$$GET1^DIQ(9.7,IDA,6,"I") "RTN","MAGIPS11",42,0) S CNT=CNT+1,MAGMSG(CNT)="FILE COMMENT: "_COM "RTN","MAGIPS11",43,0) S CNT=CNT+1,MAGMSG(CNT)="DATE: "_DATE "RTN","MAGIPS11",44,0) S CNT=CNT+1,MAGMSG(CNT)="Installed by: "_$$GET1^DIQ(9.7,IDA,9,"E") "RTN","MAGIPS11",45,0) S CNT=CNT+1,MAGMSG(CNT)="Install Name: "_$$GET1^DIQ(9.7,IDA,.01,"E") "RTN","MAGIPS11",46,0) S DDATE=$$GET1^DIQ(9.7,IDA,51,"I") "RTN","MAGIPS11",47,0) S CNT=CNT+1,MAGMSG(CNT)="Distribution Date: "_$$FMTE^XLFDT(DDATE) "RTN","MAGIPS11",48,0) S XMSUB=XP_" INSTALLATION" "RTN","MAGIPS11",49,0) S XMID=$G(DUZ) S:'XMID XMID=.5 "RTN","MAGIPS11",50,0) S XMY(XMID)="" "RTN","MAGIPS11",51,0) S XMY("G.MAG SERVER")="" "RTN","MAGIPS11",52,0) S:$G(MAGDUZ) XMY(MAGDUZ)="" "RTN","MAGIPS11",53,0) S XMSUB=$E(XMSUB,1,63) "RTN","MAGIPS11",54,0) D SENDMSG^XMXAPI(XMID,XMSUB,"MAGMSG",.XMY,,.XMZ,) "RTN","MAGIPS11",55,0) I $G(XMERR) M XMERR=^TMP("XMERR",$J) S $EC=",U13-Cannot send MailMan message," "RTN","MAGIPS11",56,0) Q "RTN","MAGIPS11",57,0) ; "RTN","MAGJRT") 0^57^B54849426 "RTN","MAGJRT",1,0) MAGJRT ;WIRMFO/JHC VistaRad RPC calls for Demand Routing ; 13 Jan 2004 11:00 AM "RTN","MAGJRT",2,0) ;;3.0;IMAGING;**9,22,11**;14-April-2004 "RTN","MAGJRT",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGJRT",4,0) ;; | Property of the US Government. | "RTN","MAGJRT",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGJRT",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGJRT",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGJRT",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGJRT",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGJRT",10,0) ;; | | "RTN","MAGJRT",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGJRT",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGJRT",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGJRT",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGJRT",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGJRT",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGJRT",17,0) ;; "RTN","MAGJRT",18,0) Q "RTN","MAGJRT",19,0) ; Entry Points: "RTN","MAGJRT",20,0) ; RTENA -- Determine whether user has Security Key required to use Demand Routing "RTN","MAGJRT",21,0) ; RTREQ -- Build message to create Demand Routing Request form on the W/S "RTN","MAGJRT",22,0) ; RTEXAM -- Queue images to route according to input requests "RTN","MAGJRT",23,0) ; "RTN","MAGJRT",24,0) ERR N ERR S ERR=$$EC^%ZOSV S @MAGGRY@(0)="0^4~"_ERR "RTN","MAGJRT",25,0) D @^%ZOSF("ERRTN") "RTN","MAGJRT",26,0) Q:$Q 1 Q "RTN","MAGJRT",27,0) ; "RTN","MAGJRT",28,0) RTENA(MAGGRY,DATA) ; RPC: MAGJ ROUTE ENABLE "RTN","MAGJRT",29,0) ; Enable if: 1) User has applicable security key and, 2) Routing Loc'n has usable entries "RTN","MAGJRT",30,0) N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGJRT" "RTN","MAGJRT",31,0) S MAGGRY="FALSE" "RTN","MAGJRT",32,0) I '$D(MAGJOB("KEYS")) D USERKEYS^MAGJUTL3 "RTN","MAGJRT",33,0) F X="MAGJ DEMAND ROUTE","MAGJ DEMAND ROUTE DICOM" I $D(MAGJOB("KEYS",X)) D Q "RTN","MAGJRT",34,0) . N OK,DUM "RTN","MAGJRT",35,0) . S OK=0 D RTLOCS1(.DUM,.OK) I +OK!+$P(OK,U,2) S MAGGRY="TRUE" "RTN","MAGJRT",36,0) Q "RTN","MAGJRT",37,0) ; "RTN","MAGJRT",38,0) RTREQ(MAGGRY,DATA) ; RPC: MAGJ ROUTE REQUEST "RTN","MAGJRT",39,0) ; request to route exams; info returned in MAGGRY "RTN","MAGJRT",40,0) ; input in DATA(1:n): RADFN ^ RADTI ^ RACNI ^ RARPT "RTN","MAGJRT",41,0) ; - RADFN^RADTI^RACNI input to specify case of interest "RTN","MAGJRT",42,0) ; Returns: Exam Info for routable exams in ^TMP($J,"MAGJROUTE",1:N) "RTN","MAGJRT",43,0) ; Followed by Prompts for Routing Locations & Priority "RTN","MAGJRT",44,0) ; Then error messages, if any "RTN","MAGJRT",45,0) ; "RTN","MAGJRT",46,0) ; MAGGRY holds $NA reference to ^TMP where Broker return message is assembled; "RTN","MAGJRT",47,0) ; all references to MAGGRY use subscript indirection "RTN","MAGJRT",48,0) ; "RTN","MAGJRT",49,0) N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGJRT" "RTN","MAGJRT",50,0) N RARPT,RADFN,RADTI,RACNI "RTN","MAGJRT",51,0) N DAYCASE,REPLY,CT,MAGS,STARTNOD,DATAOUT,RADATA,MAGSTRT,MAGEND,NEXAM "RTN","MAGJRT",52,0) N IDATA,NOGO "RTN","MAGJRT",53,0) S DIQUIET=1 D DT^DICRW "RTN","MAGJRT",54,0) S CT=0,NEXAM=0,DATAOUT="",DAYCASE="" "RTN","MAGJRT",55,0) S NOGO(0)=0 ; array for reply for exams unable to process "RTN","MAGJRT",56,0) S MAGLST="MAGJROUTE",STARTNOD=1 "RTN","MAGJRT",57,0) K MAGGRY S MAGGRY=$NA(^TMP($J,MAGLST)) K @MAGGRY ; assign MAGGRY value "RTN","MAGJRT",58,0) S IDATA="" "RTN","MAGJRT",59,0) F S IDATA=$O(DATA(IDATA)) Q:IDATA="" S DATA=DATA(IDATA) D EXDAT("RTGET") "RTN","MAGJRT",60,0) I NEXAM D ; have some exams eligible to be routed "RTN","MAGJRT",61,0) . S @MAGGRY@(STARTNOD)="^Case #^Patient^Procedure^Image Date/Time^Status^Modality" "RTN","MAGJRT",62,0) . S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*END" "RTN","MAGJRT",63,0) . S REPLY="1~Route Exams to Selected Locations" "RTN","MAGJRT",64,0) . D RTLOCS(.CT) D RTPRIOR(.CT) "RTN","MAGJRT",65,0) E D "RTN","MAGJRT",66,0) . S REPLY="0~Unable to Route any Exams" "RTN","MAGJRT",67,0) RTREQZ I NOGO(0) D NOGO("Routed",.CT) "RTN","MAGJRT",68,0) S @MAGGRY@(0)=NEXAM_U_REPLY "RTN","MAGJRT",69,0) Q "RTN","MAGJRT",70,0) ; "RTN","MAGJRT",71,0) ; "RTN","MAGJRT",72,0) EXDAT(GET) ; Put routable exam info in output file, non-routable in NOGO(n) "RTN","MAGJRT",73,0) S NOGO=0,RARPT=+$P(DATA,U,4) "RTN","MAGJRT",74,0) S RADFN=$P(DATA,U),RADTI=$P(DATA,U,2),RACNI=$P(DATA,U,3),X=0 "RTN","MAGJRT",75,0) I RADFN,RADTI,RACNI D GETEXAM2^MAGJUTL1(RADFN,RADTI,RACNI,"",.X) "RTN","MAGJRT",76,0) I 'X S NOGO="1~Request has Invalid Case Pointer ("_RADFN_U_RADTI_U_RACNI_U_RARPT_")." G EXDATZ "RTN","MAGJRT",77,0) S RADATA=$G(^TMP($J,"MAGRAEX",1,1)) K ^TMP($J,"MAGRAEX") "RTN","MAGJRT",78,0) S RARPT=$P(RADATA,U,10),DAYCASE=$P(RADATA,U,12) "RTN","MAGJRT",79,0) S DATAOUT="" D @GET "RTN","MAGJRT",80,0) EXDATZ I NOGO D "RTN","MAGJRT",81,0) . S NOGO(0)=NOGO(0)+1,NOGO(NOGO(0))=$P(NOGO,"~",2,99) "RTN","MAGJRT",82,0) E D "RTN","MAGJRT",83,0) . S DATAOUT=U_DATAOUT_"|"_RADFN_U_RADTI_U_RACNI_U_RARPT_"||" "RTN","MAGJRT",84,0) . S NEXAM=NEXAM+1,CT=CT+1,@MAGGRY@(CT+STARTNOD)=DATAOUT "RTN","MAGJRT",85,0) Q "RTN","MAGJRT",86,0) ; "RTN","MAGJRT",87,0) RTGET ;GET code for Demand Routing function "RTN","MAGJRT",88,0) ; get data for exams (DATAOUT), or reason for error (NOGO) "RTN","MAGJRT",89,0) N IMAG,MAGIEN,MDL,MAGS "RTN","MAGJRT",90,0) S X=$$JBFETCH^MAGJUTL2(RARPT,.MAGS) ; ? route only if NOT on Jukebox "RTN","MAGJRT",91,0) I +X S NOGO="2~Case #"_DAYCASE_"--Images have been requested from Jukebox; try again later." Q "RTN","MAGJRT",92,0) I '$P(X,U,2) S NOGO="3~Case #"_DAYCASE_"--No Images exist for exam." Q "RTN","MAGJRT",93,0) F IMAG=1:1 S MAGIEN=$P($G(MAGS(IMAG)),U,4) Q:MAGIEN="" D Q:MDL]"" "RTN","MAGJRT",94,0) . S MDL=$P(MAGS(IMAG),U,3) "RTN","MAGJRT",95,0) . I MDL="DR" S MDL="CR" ; for now, hard code cx of non-standard code "RTN","MAGJRT",96,0) ; Contents of DATAOUT= "RTN","MAGJRT",97,0) ; DAYCASE ^ Pt Name ^ Proc. Name ^ Exam Date/Time ^ Status ^ MDL "RTN","MAGJRT",98,0) S DATAOUT=DAYCASE_U_$P(RADATA,U,4)_U_$P(RADATA,U,9) "RTN","MAGJRT",99,0) S DATAOUT=DATAOUT_U_$$DTTIM($P(RADATA,U,6))_U_$P(RADATA,U,14)_U_MDL "RTN","MAGJRT",100,0) Q "RTN","MAGJRT",101,0) ; "RTN","MAGJRT",102,0) DTTIM(X) ; Format Image Date/Time "RTN","MAGJRT",103,0) N T S T=$L(X," "),X=$P(X," ",1,T-1)_"@"_$P(X," ",T) "RTN","MAGJRT",104,0) Q X "RTN","MAGJRT",105,0) ; "RTN","MAGJRT",106,0) RTLOCS(CT) ; define prompts for Routing Locations "RTN","MAGJRT",107,0) ;DROP-Down List, Default=[Do Not Route], Enable Auto-fill (if>1 exam) "RTN","MAGJRT",108,0) N AUTOFILL,T,X,OK,TMP "RTN","MAGJRT",109,0) S AUTOFILL=$S($G(NEXAM)>1:"AUTOFILL",1:"") "RTN","MAGJRT",110,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*PROMPT" "RTN","MAGJRT",111,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="DROP^Route To^"_AUTOFILL_"^[Do Not Route]" "RTN","MAGJRT",112,0) S T=0 "RTN","MAGJRT",113,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="0^[Do Not Route]" "RTN","MAGJRT",114,0) K TMP S TMP=0 D RTLOCS1(.TMP,.OK) "RTN","MAGJRT",115,0) F I=1:1:TMP S CT=CT+1,@MAGGRY@(CT+STARTNOD)=TMP(I) "RTN","MAGJRT",116,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*END" "RTN","MAGJRT",117,0) Q "RTN","MAGJRT",118,0) ; "RTN","MAGJRT",119,0) RTLOCS1(RET,OK) ; return: "RTN","MAGJRT",120,0) ; RET = array of loc'ns screened by sec key "RTN","MAGJRT",121,0) ; OK = Non-dcm ^ dcm Truth value for user may route respective routing types "RTN","MAGJRT",122,0) S RET=0,OK="" "RTN","MAGJRT",123,0) I $D(MAGJOB("KEYS","MAGJ DEMAND ROUTE")) D "RTN","MAGJRT",124,0) . N T S T=0 "RTN","MAGJRT",125,0) . F S T=$O(^MAG(2005.2,T)) Q:'T S X=$G(^(T,0)) I X]"" D "RTN","MAGJRT",126,0) . . Q:'$P(X,U,9) ; Not a routable location "RTN","MAGJRT",127,0) . . Q:'$P(X,U,6) ; OPERATIONAL STATUS not On-Line "RTN","MAGJRT",128,0) . . Q:'($P(X,U,7)="MAG") ; Storage Type not Magnetic "RTN","MAGJRT",129,0) . . S X=$P(X,U),OK=OK+1 "RTN","MAGJRT",130,0) . . S RET=RET+1,RET(RET)=T_U_X "RTN","MAGJRT",131,0) ; dicom destinations: assume that all are "active" "RTN","MAGJRT",132,0) I $D(MAGJOB("KEYS","MAGJ DEMAND ROUTE DICOM")) D "RTN","MAGJRT",133,0) . N DCM "RTN","MAGJRT",134,0) . D DCMLIST^MAGBRTUT(.DCM,DUZ(2)) "RTN","MAGJRT",135,0) . I +$G(DCM(1)) S $P(OK,U,2)=+$G(DCM(1)) "RTN","MAGJRT",136,0) . I F I=2:1:DCM(1)+1 S X=DCM(I),RET=RET+1,RET(RET)=$P(X,U,2)_"DCM"_U_"dcm "_$P(X,U) "RTN","MAGJRT",137,0) Q "RTN","MAGJRT",138,0) ; "RTN","MAGJRT",139,0) RTPRIOR(CT) ; define prompts for Routing Priorities "RTN","MAGJRT",140,0) ;DROP-Down List, Default=Medium, Enable Auto-fill (if>1 exam) "RTN","MAGJRT",141,0) N AUTOFILL "RTN","MAGJRT",142,0) S AUTOFILL=$S($G(NEXAM)>1:"AUTOFILL",1:"") "RTN","MAGJRT",143,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*PROMPT" "RTN","MAGJRT",144,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="DROP^Priority^"_AUTOFILL_"^Medium" "RTN","MAGJRT",145,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="900^STAT" "RTN","MAGJRT",146,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="750^High" "RTN","MAGJRT",147,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="500^Medium" "RTN","MAGJRT",148,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="250^Low" "RTN","MAGJRT",149,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*END" "RTN","MAGJRT",150,0) Q "RTN","MAGJRT",151,0) ; "RTN","MAGJRT",152,0) NOGO(HDR,CT) ; output error msgs for exams "RTN","MAGJRT",153,0) Q:'NOGO(0) "RTN","MAGJRT",154,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*ERROR" "RTN","MAGJRT",155,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)=NOGO(0)_" Exams Not Able to be "_HDR "RTN","MAGJRT",156,0) F I=1:1:NOGO(0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)=NOGO(I) "RTN","MAGJRT",157,0) S CT=CT+1,@MAGGRY@(CT+STARTNOD)="*END" "RTN","MAGJRT",158,0) Q "RTN","MAGJRT",159,0) ; "RTN","MAGJRT",160,0) ; 1 RADFN RADTI RACNI RANME RASSN <-- from GETEXAM "RTN","MAGJRT",161,0) ; 6 RADATE RADTE RACN RAPRC RARPT (=RADATA) "RTN","MAGJRT",162,0) ; 11 RAST DAYCASE RAELOC RASTP RASTORD "RTN","MAGJRT",163,0) ; 16 RADTPRT RACPT "RTN","MAGJRT",164,0) ; "RTN","MAGJRT",165,0) RTEXAM(MAGGRY,DATA) ; RPC: MAGJ ROUTE EXAMS "RTN","MAGJRT",166,0) ; queue images to route according to input requests "RTN","MAGJRT",167,0) ; input in DATA(1:n), list of exams to route: "RTN","MAGJRT",168,0) ; Destination Network Loc'n ^ Priority | RADFN ^ RADTI ^ RACNI ^ RARPT "RTN","MAGJRT",169,0) ; Returns: Reply status in ^TMP($J,"MAGJROUTE",1:N) "RTN","MAGJRT",170,0) ; Then error messages for each exam if applicable "RTN","MAGJRT",171,0) ; "RTN","MAGJRT",172,0) ; MAGGRY holds $NA reference to ^TMP where Broker return message is assembled; "RTN","MAGJRT",173,0) ; all references to MAGGRY use subscript indirection "RTN","MAGJRT",174,0) ; "RTN","MAGJRT",175,0) ; MAGS = # Images stored for the case "RTN","MAGJRT",176,0) ; MAGS(1:n) = 1/0 ^ FULL/BIG ^ Mod ^ ien ^ Series ^ Routed-to Locations "RTN","MAGJRT",177,0) ; (1=Image is on Magnetic Disk) "RTN","MAGJRT",178,0) ; "RTN","MAGJRT",179,0) N $ETRAP,$ESTACK S $ETRAP="D ERR^MAGJRT" "RTN","MAGJRT",180,0) N IEXAM,RTLOC,RTPRI,RARPT,IDATA,REPLY,CT,MAGS,STARTNOD,NEXAM,NOGO "RTN","MAGJRT",181,0) N IMAG,MAGLST,MAGIEN,RTTYP "RTN","MAGJRT",182,0) S DIQUIET=1 D DT^DICRW "RTN","MAGJRT",183,0) K NOGO S NOGO(0)=0 ; array for reply for exams unable to process "RTN","MAGJRT",184,0) S MAGLST="MAGJROUTE",CT=0,STARTNOD=0,NEXAM=0 "RTN","MAGJRT",185,0) K MAGGRY S MAGGRY=$NA(^TMP($J,MAGLST)) K @MAGGRY ; assign MAGGRY value "RTN","MAGJRT",186,0) S IDATA="" "RTN","MAGJRT",187,0) F S IDATA=$O(DATA(IDATA)) Q:IDATA="" D "RTN","MAGJRT",188,0) . S X=DATA(IDATA),DATA=$P(X,"|",2),X=$P(X,"|"),RTLOC=$P(X,U),RTPRI=$P(X,U,2) "RTN","MAGJRT",189,0) . S RTTYP=$S(RTLOC=+RTLOC:1,1:2),RTLOC=+RTLOC ; 1=DOS; 2=Dicom "RTN","MAGJRT",190,0) . I 'RTLOC Q ; routing cancelled for this exam "RTN","MAGJRT",191,0) . S RARPT=$P(DATA,U,4) I 'RARPT D Q "RTN","MAGJRT",192,0) . . S NOGO(0)=NOGO(0)+1,NOGO(NOGO(0))="Exam not queued: Missing exam pointer information for exam ("_DATA(IDATA)_")" "RTN","MAGJRT",193,0) . S X=$$JBFETCH^MAGJUTL2(RARPT,.MAGS) "RTN","MAGJRT",194,0) . F IMAG=1:1 S MAGIEN=$P($G(MAGS(IMAG)),U,4) Q:MAGIEN="" D "RTN","MAGJRT",195,0) . . D SEND^MAGBRTUT(MAGIEN,RTLOC,RTPRI,RTTYP) "RTN","MAGJRT",196,0) . I IMAG>1 S NEXAM=NEXAM+1 "RTN","MAGJRT",197,0) . E S NOGO(0)=NOGO(0)+1,NOGO(NOGO(0))="Exam not queued: No images found ("_DATA(IDATA)_")" "RTN","MAGJRT",198,0) I NEXAM S REPLY=1_"~"_NEXAM_" Exam"_$S(NEXAM-1:"s",1:"")_" were queued to be routed." "RTN","MAGJRT",199,0) E S REPLY="0~Unable to queue any exams for routing." "RTN","MAGJRT",200,0) RTEXAMZ I NOGO(0) D NOGO("Queued",.CT) "RTN","MAGJRT",201,0) S @MAGGRY@(0)=$S(NOGO(0):CT,1:0)_U_REPLY "RTN","MAGJRT",202,0) Q "RTN","MAGJRT",203,0) ; "RTN","MAGJRT",204,0) END Q "RTN","MAGJRT",205,0) ; "RTN","MAGXMA") 0^58^B4969848 "RTN","MAGXMA",1,0) MAGXMA ;WOIFO/MLH - Index mapping API routine ; 14 Jan 2004 2:19 PM "RTN","MAGXMA",2,0) ;;3.0;IMAGING;**11**;14-April-2004 "RTN","MAGXMA",3,0) ;; +---------------------------------------------------------------+ "RTN","MAGXMA",4,0) ;; | Property of the US Government. | "RTN","MAGXMA",5,0) ;; | No permission to copy or redistribute this software is given. | "RTN","MAGXMA",6,0) ;; | Use of unreleased versions of this software requires the user | "RTN","MAGXMA",7,0) ;; | to execute a written test agreement with the VistA Imaging | "RTN","MAGXMA",8,0) ;; | Development Office of the Department of Veterans Affairs, | "RTN","MAGXMA",9,0) ;; | telephone (301) 734-0100. | "RTN","MAGXMA",10,0) ;; | | "RTN","MAGXMA",11,0) ;; | The Food and Drug Administration classifies this software as | "RTN","MAGXMA",12,0) ;; | a medical device. As such, it may not be changed in any way. | "RTN","MAGXMA",13,0) ;; | Modifications to this software may result in an adulterated | "RTN","MAGXMA",14,0) ;; | medical device under 21CFR820, the use of which is considered | "RTN","MAGXMA",15,0) ;; | to be a violation of US Federal Statutes. | "RTN","MAGXMA",16,0) ;; +---------------------------------------------------------------+ "RTN","MAGXMA",17,0) ;; "RTN","MAGXMA",18,0) Q "RTN","MAGXMA",19,0) ; "RTN","MAGXMA",20,0) FIELD43(XMOD,XSPEC,XPROC) ; API - Determine proc/event based on modality, specialty "RTN","MAGXMA",21,0) ; "RTN","MAGXMA",22,0) ; Input parameters: "RTN","MAGXMA",23,0) ; XMOD Abbreviation for the modality in use (required) "RTN","MAGXMA",24,0) ; XSPEC Specialty index in the IMAGE INDEX FOR SPEC/SUBSPEC File "RTN","MAGXMA",25,0) ; (#2005.84). This is what will be populated into the "RTN","MAGXMA",26,0) ; SPEC/SUBSPEC Field (#44) of the IMAGE File (#2005). "RTN","MAGXMA",27,0) ; "RTN","MAGXMA",28,0) ; Output parameter: "RTN","MAGXMA",29,0) ; .XPROC Associated procedure/event index in the IMAGE INDEX FOR "RTN","MAGXMA",30,0) ; PROC/EVENT File (#2005.85). This can be populated into "RTN","MAGXMA",31,0) ; the PROC/EVENT Field (#43) of the IMAGE File (#2005). "RTN","MAGXMA",32,0) ; If no procedure/event is associated, null is returned unless "RTN","MAGXMA",33,0) ; the function returns an exception code < 0. "RTN","MAGXMA",34,0) ; "RTN","MAGXMA",35,0) ; Function return: "RTN","MAGXMA",36,0) ; 0 Executed normally, found a match "RTN","MAGXMA",37,0) ; 1 Modality XMOD non-null but is not indexed "RTN","MAGXMA",38,0) ; -1 Missing XMOD "RTN","MAGXMA",39,0) ; -2 XSPEC non-null, not found in File #2005.84 "RTN","MAGXMA",40,0) ; "RTN","MAGXMA",41,0) I $G(XMOD)="" Q -1 "RTN","MAGXMA",42,0) I $G(XSPEC),'$D(^MAG(2005.84,XSPEC)) Q -2 "RTN","MAGXMA",43,0) ; "RTN","MAGXMA",44,0) N IMOD ; ---- modality pointer in 2005.872 "RTN","MAGXMA",45,0) N ISPEC ; --- specialty multiple pointer in 2005.872 "RTN","MAGXMA",46,0) S XPROC="" "RTN","MAGXMA",47,0) ; "RTN","MAGXMA",48,0) S IMOD=$O(^MAG(2005.872,"B",XMOD,"")) "RTN","MAGXMA",49,0) I 'IMOD Q 1 "RTN","MAGXMA",50,0) I XSPEC]"" S ISPEC=$O(^MAG(2005.872,IMOD,1,"B",XSPEC,"")) I ISPEC S XPROC=$P(^MAG(2005.872,IMOD,1,ISPEC,0),U,2) "RTN","MAGXMA",51,0) E S XPROC=$P(^MAG(2005.872,IMOD,0),U,2) "RTN","MAGXMA",52,0) Q 0 "SEC","^DIC",2005.872,2005.872,0,"AUDIT") @ "SEC","^DIC",2005.872,2005.872,0,"DD") @ "SEC","^DIC",2005.872,2005.872,0,"DEL") @ "SEC","^DIC",2005.872,2005.872,0,"LAYGO") @ "SEC","^DIC",2005.872,2005.872,0,"RD") @ "SEC","^DIC",2005.872,2005.872,0,"WR") @ "SEC","^DIC",2006.035,2006.035,0,"AUDIT") @ "SEC","^DIC",2006.035,2006.035,0,"DD") @ "SEC","^DIC",2006.035,2006.035,0,"DEL") @ "SEC","^DIC",2006.035,2006.035,0,"LAYGO") @ "SEC","^DIC",2006.035,2006.035,0,"RD") @ "SEC","^DIC",2006.035,2006.035,0,"WR") @ "SEC","^DIC",2006.563,2006.563,0,"AUDIT") @ "SEC","^DIC",2006.563,2006.563,0,"DD") @ "SEC","^DIC",2006.563,2006.563,0,"DEL") @ "SEC","^DIC",2006.563,2006.563,0,"LAYGO") @ "SEC","^DIC",2006.563,2006.563,0,"RD") @ "SEC","^DIC",2006.563,2006.563,0,"WR") @ "SEC","^DIC",2006.571,2006.571,0,"AUDIT") @ "SEC","^DIC",2006.571,2006.571,0,"DD") @ "SEC","^DIC",2006.571,2006.571,0,"DEL") @ "SEC","^DIC",2006.571,2006.571,0,"LAYGO") @ "SEC","^DIC",2006.571,2006.571,0,"RD") @ "SEC","^DIC",2006.571,2006.571,0,"WR") @ "SEC","^DIC",2006.5711,2006.5711,0,"AUDIT") @ "SEC","^DIC",2006.5711,2006.5711,0,"DD") @ "SEC","^DIC",2006.5711,2006.5711,0,"DEL") @ "SEC","^DIC",2006.5711,2006.5711,0,"LAYGO") @ "SEC","^DIC",2006.5711,2006.5711,0,"RD") @ "SEC","^DIC",2006.5711,2006.5711,0,"WR") @ "SEC","^DIC",2006.5712,2006.5712,0,"AUDIT") @ "SEC","^DIC",2006.5712,2006.5712,0,"DD") @ "SEC","^DIC",2006.5712,2006.5712,0,"DEL") @ "SEC","^DIC",2006.5712,2006.5712,0,"LAYGO") @ "SEC","^DIC",2006.5712,2006.5712,0,"RD") @ "SEC","^DIC",2006.5712,2006.5712,0,"WR") @ "SEC","^DIC",2006.5713,2006.5713,0,"AUDIT") @ "SEC","^DIC",2006.5713,2006.5713,0,"DD") @ "SEC","^DIC",2006.5713,2006.5713,0,"DEL") @ "SEC","^DIC",2006.5713,2006.5713,0,"LAYGO") @ "SEC","^DIC",2006.5713,2006.5713,0,"RD") @ "SEC","^DIC",2006.5713,2006.5713,0,"WR") @ "SEC","^DIC",2006.5719,2006.5719,0,"AUDIT") @ "SEC","^DIC",2006.5719,2006.5719,0,"DD") @ "SEC","^DIC",2006.5719,2006.5719,0,"DEL") @ "SEC","^DIC",2006.5719,2006.5719,0,"LAYGO") @ "SEC","^DIC",2006.5719,2006.5719,0,"RD") @ "SEC","^DIC",2006.5719,2006.5719,0,"WR") @ "SEC","^DIC",2006.575,2006.575,0,"AUDIT") @ "SEC","^DIC",2006.575,2006.575,0,"DD") @ "SEC","^DIC",2006.575,2006.575,0,"DEL") @ "SEC","^DIC",2006.575,2006.575,0,"LAYGO") @ "SEC","^DIC",2006.575,2006.575,0,"RD") @ "SEC","^DIC",2006.575,2006.575,0,"WR") @ "SEC","^DIC",2006.587,2006.587,0,"AUDIT") @ "SEC","^DIC",2006.587,2006.587,0,"DD") @ "SEC","^DIC",2006.587,2006.587,0,"DEL") @ "SEC","^DIC",2006.587,2006.587,0,"LAYGO") @ "SEC","^DIC",2006.587,2006.587,0,"RD") @ "SEC","^DIC",2006.587,2006.587,0,"WR") @ "SEC","^DIC",2006.5906,2006.5906,0,"AUDIT") @ "SEC","^DIC",2006.5906,2006.5906,0,"DD") @ "SEC","^DIC",2006.5906,2006.5906,0,"DEL") @ "SEC","^DIC",2006.5906,2006.5906,0,"LAYGO") @ "SEC","^DIC",2006.5906,2006.5906,0,"RD") @ "SEC","^DIC",2006.5906,2006.5906,0,"WR") @ "UP",2005,2005.0106,-1) 2005^4 "UP",2005,2005.0106,0) 2005.0106 "UP",2005,2005.0111,-1) 2005^6 "UP",2005,2005.0111,0) 2005.0111 "UP",2005.1,2005.1106,-1) 2005.1^4 "UP",2005.1,2005.1106,0) 2005.1106 "UP",2005.1,2005.1111,-1) 2005.1^6 "UP",2005.1,2005.1111,0) 2005.1111 "VER") 8.0^22.0 "^DD",2005,2005,111,0) ROUTING LOG^2005.0111A^^6;0 "^DD",2005,2005.0106,5,0) START TRANSMIT^D^^0;5^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005,2005.0106,5,3) Enter the time that the transmission started. "^DD",2005,2005.0106,5,21,0) ^^6^6^3031211^ "^DD",2005,2005.0106,5,21,1,0) The value of this field is a timestamp that indicates the "^DD",2005,2005.0106,5,21,2,0) date and time when the transmission of a file started. "^DD",2005,2005.0106,5,21,3,0) "^DD",2005,2005.0106,5,21,4,0) Together with the value of the field ROUTING TIMESTAMP, "^DD",2005,2005.0106,5,21,5,0) which indicates the time when the transmission completed, "^DD",2005,2005.0106,5,21,6,0) statistics can be calculated on how long it took to transmit image files. "^DD",2005,2005.0106,5,"DT") 3031211 "^DD",2005,2005.0106,6,0) TIMESTAMP QUEUE ENTRY^D^^0;6^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005,2005.0106,6,3) Enter the time when the queue-entry was made. "^DD",2005,2005.0106,6,21,0) ^^6^6^3031211^ "^DD",2005,2005.0106,6,21,1,0) The value of this field is a timestamp that indicates the "^DD",2005,2005.0106,6,21,2,0) date and time when the entry was made into the routing queue. "^DD",2005,2005.0106,6,21,3,0) "^DD",2005,2005.0106,6,21,4,0) Together with the value of the field START TRANSMIT, "^DD",2005,2005.0106,6,21,5,0) which indicates when the transmission started, statistics "^DD",2005,2005.0106,6,21,6,0) can be calculated related to wait times in the routing queue. "^DD",2005,2005.0106,6,"DT") 3031211 "^DD",2005,2005.0106,7,0) LOG ENTRY^NJ15,0^^0;7^K:+X'=X!(X>999999999999999)!(X<0)!(X?.E1"."1N.N) X "^DD",2005,2005.0106,7,3) Enter the sequence number of the "permanent" log entry. "^DD",2005,2005.0106,7,21,0) ^^6^6^3031211^ "^DD",2005,2005.0106,7,21,1,0) The value of this field is an integer number that indicates "^DD",2005,2005.0106,7,21,2,0) the entry in the "permanent" log of all routed copies of the "^DD",2005,2005.0106,7,21,3,0) current image (as required by HIPAA). "^DD",2005,2005.0106,7,21,4,0) "^DD",2005,2005.0106,7,21,5,0) This value is used to record when images are purged from their "^DD",2005,2005.0106,7,21,6,0) routed destination. "^DD",2005,2005.0106,7,"DT") 3031211 "^DD",2005,2005.0111,0) ROUTING LOG SUB-FIELD^^7^7 "^DD",2005,2005.0111,0,"DT") 3031211 "^DD",2005,2005.0111,0,"NM","ROUTING LOG") "^DD",2005,2005.0111,0,"UP") 2005 "^DD",2005,2005.0111,.01,0) DESTINATION NAME^F^^0;1^K:$L(X)>63!($L(X)<1) X "^DD",2005,2005.0111,.01,1,0) ^.1^^0 "^DD",2005,2005.0111,.01,3) Enter the name of the destination to which the image is routed. "^DD",2005,2005.0111,.01,21,0) ^.001^2^2^3031211^^ "^DD",2005,2005.0111,.01,21,1,0) The value of this field is a string that identifies the location "^DD",2005,2005.0111,.01,21,2,0) to which the current image has been routed. "^DD",2005,2005.0111,.01,"DT") 3031211 "^DD",2005,2005.0111,2,0) COPY LOCATION^P2005.2'^MAG(2005.2,^0;2^Q "^DD",2005,2005.0111,2,3) Enter the name of the Network Location to which this image is being routed. "^DD",2005,2005.0111,2,21,0) ^^4^4^3031211^ "^DD",2005,2005.0111,2,21,1,0) The value of this field is a pointer to the Network Location table "^DD",2005,2005.0111,2,21,2,0) (#2005.2). "^DD",2005,2005.0111,2,21,3,0) When an image is transmitted using the "copy" method, this field "^DD",2005,2005.0111,2,21,4,0) is populated. "^DD",2005,2005.0111,2,"DT") 3031211 "^DD",2005,2005.0111,3,0) DICOM SEND LOCATION^P2006.587'^MAG(2006.587,^0;3^Q "^DD",2005,2005.0111,3,3) Enter the name of the DICOM SCP to which the image is being routed. "^DD",2005,2005.0111,3,21,0) ^^4^4^3031212^^ "^DD",2005,2005.0111,3,21,1,0) The value of this field is a pointer to the DICOM Transmit Destination "^DD",2005,2005.0111,3,21,2,0) table (#2006.587). "^DD",2005,2005.0111,3,21,3,0) When an image is transmitted using the DICOM Send method, "^DD",2005,2005.0111,3,21,4,0) this field is populated. "^DD",2005,2005.0111,3,"DT") 3031211 "^DD",2005,2005.0111,4,0) TIMESTAMP TRANSMIT^D^^0;4^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005,2005.0111,4,3) Enter the time when the transmission finished. "^DD",2005,2005.0111,4,21,0) ^.001^3^3^3031211^^ "^DD",2005,2005.0111,4,21,1,0) The value of this field is a timestamp that indicates the "^DD",2005,2005.0111,4,21,2,0) date and time when the current image was transmitted to the "^DD",2005,2005.0111,4,21,3,0) location described in the current record. "^DD",2005,2005.0111,4,"DT") 3031211 "^DD",2005,2005.0111,5,0) TIMESTAMP PURGE^D^^0;5^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005,2005.0111,5,3) Enter the time when the image was purged at this location. "^DD",2005,2005.0111,5,21,0) ^^3^3^3031211^ "^DD",2005,2005.0111,5,21,1,0) The value of this field is a timestamp that indicates the date "^DD",2005,2005.0111,5,21,2,0) and time when the copy of the current image was purged from "^DD",2005,2005.0111,5,21,3,0) the location that is described in the current record. "^DD",2005,2005.0111,5,"DT") 3031211 "^DD",2005,2005.0111,6,0) FILE NAME^F^^0;6^K:$L(X)>63!($L(X)<1) X "^DD",2005,2005.0111,6,3) Enter the name of the file at this destination. "^DD",2005,2005.0111,6,21,0) ^^3^3^3031211^ "^DD",2005,2005.0111,6,21,1,0) The value of this field is a string that represents the name of "^DD",2005,2005.0111,6,21,2,0) the (host system) file as it appears at the location to which the "^DD",2005,2005.0111,6,21,3,0) image has been copied. "^DD",2005,2005.0111,6,"DT") 3031211 "^DD",2005,2005.0111,7,0) FILE TYPE^S^TXT:Text;BIG:Large X-Ray;TGA:Targa(TM);ABS:Thumbnail;DCM:DICOM;DICOM:DICOM;^0;7^Q "^DD",2005,2005.0111,7,3) Enter the code for the file-type. "^DD",2005,2005.0111,7,21,0) ^^2^2^3031211^ "^DD",2005,2005.0111,7,21,1,0) The value of this field is a code for the type of data that "^DD",2005,2005.0111,7,21,2,0) is stored in the file that is described in the current record. "^DD",2005,2005.0111,7,"DT") 3031211 "^DD",2005.1,2005.1,111,0) ROUTING LOG^2005.1111A^^6;0 "^DD",2005.1,2005.1106,5,0) START TRANSMIT^D^^0;5^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005.1,2005.1106,5,3) Enter the time that the transmission started. "^DD",2005.1,2005.1106,5,21,0) ^^6^6^3031212^ "^DD",2005.1,2005.1106,5,21,1,0) The value of this field is a timestamp that indicates "^DD",2005.1,2005.1106,5,21,2,0) the date and time when the transmission of a file started. "^DD",2005.1,2005.1106,5,21,3,0) "^DD",2005.1,2005.1106,5,21,4,0) Together with the value of the field ROUTING TIMESTAMP, "^DD",2005.1,2005.1106,5,21,5,0) which indicates the time when the transmission completed, "^DD",2005.1,2005.1106,5,21,6,0) statistics can be calculated on how long it took to transmit image files. "^DD",2005.1,2005.1106,5,"DT") 3031212 "^DD",2005.1,2005.1106,6,0) TIMESTAMP QUEUE ENTRY^D^^0;6^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005.1,2005.1106,6,3) Enter the time when the queue-entry was made. "^DD",2005.1,2005.1106,6,21,0) ^^7^7^3031212^ "^DD",2005.1,2005.1106,6,21,1,0) The value of this field is a timestamp that indicates "^DD",2005.1,2005.1106,6,21,2,0) the date and time when the entry was made into the routing queue. "^DD",2005.1,2005.1106,6,21,3,0) "^DD",2005.1,2005.1106,6,21,4,0) Together with the value of the field START TRANSMIT, "^DD",2005.1,2005.1106,6,21,5,0) which indicates when the transmission started, "^DD",2005.1,2005.1106,6,21,6,0) statistics can be calculated related to wait times "^DD",2005.1,2005.1106,6,21,7,0) in the routing queue. "^DD",2005.1,2005.1106,6,"DT") 3031212 "^DD",2005.1,2005.1106,7,0) LOG ENTRY^NJ15,0^^0;7^K:+X'=X!(X>999999999999999)!(X<0)!(X?.E1"."1N.N) X "^DD",2005.1,2005.1106,7,3) Enter the sequence number of the "permanent" log entry. "^DD",2005.1,2005.1106,7,21,0) ^^6^6^3031212^ "^DD",2005.1,2005.1106,7,21,1,0) The value of this field is an integer number that indicates the entry "^DD",2005.1,2005.1106,7,21,2,0) in the "permanent" log of all routed copies of the current "^DD",2005.1,2005.1106,7,21,3,0) image (as required by HIPAA). "^DD",2005.1,2005.1106,7,21,4,0) "^DD",2005.1,2005.1106,7,21,5,0) This value is used to record when images are purged from their "^DD",2005.1,2005.1106,7,21,6,0) routed destination. "^DD",2005.1,2005.1106,7,"DT") 3031212 "^DD",2005.1,2005.1111,0) ROUTING LOG SUB-FIELD^^7^7 "^DD",2005.1,2005.1111,0,"DT") 3031212 "^DD",2005.1,2005.1111,0,"NM","ROUTING LOG") "^DD",2005.1,2005.1111,0,"UP") 2005.1 "^DD",2005.1,2005.1111,.01,0) ROUTING LOG^F^^0;1^K:$L(X)>63!($L(X)<1) X "^DD",2005.1,2005.1111,.01,1,0) ^.1^^0 "^DD",2005.1,2005.1111,.01,3) Enter the name of the destination to which the image is routed. "^DD",2005.1,2005.1111,.01,21,0) ^^2^2^3031212^ "^DD",2005.1,2005.1111,.01,21,1,0) The value of this field is a string that identifies the location "^DD",2005.1,2005.1111,.01,21,2,0) to which the current image has been routed. "^DD",2005.1,2005.1111,.01,"DT") 3031212 "^DD",2005.1,2005.1111,2,0) COPY LOCATION^P2005.2'^MAG(2005.2,^0;2^Q "^DD",2005.1,2005.1111,2,3) Enter the name of the Network Location to which this image is being routed. "^DD",2005.1,2005.1111,2,21,0) ^^3^3^3031212^ "^DD",2005.1,2005.1111,2,21,1,0) The value of this field is a pointer to the Network ocation table "^DD",2005.1,2005.1111,2,21,2,0) (#2005.2). When an image is transmitted using the "copy" method, "^DD",2005.1,2005.1111,2,21,3,0) this field is populated. "^DD",2005.1,2005.1111,2,"DT") 3031212 "^DD",2005.1,2005.1111,3,0) DICOM SEND LOCATION^P2006.587'^MAG(2006.587,^0;3^Q "^DD",2005.1,2005.1111,3,3) Enter the name of the DICOM SCP to which the image is being routed. "^DD",2005.1,2005.1111,3,21,0) ^^3^3^3031212^ "^DD",2005.1,2005.1111,3,21,1,0) The value of this field is a pointer to the DICOM Transmit Destination "^DD",2005.1,2005.1111,3,21,2,0) table (#2006.587). When an image is transmitted using the DICOM Send "^DD",2005.1,2005.1111,3,21,3,0) method, this field is populated. "^DD",2005.1,2005.1111,3,"DT") 3031212 "^DD",2005.1,2005.1111,4,0) TIMESTAMP TRANSMIT^D^^0;4^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2005.1,2005.1111,4,3) Enter the time when the transmission finished. "^DD",2005.1,2005.1111,4,21,0) ^^3^3^3031212^ "^DD",2005.1,2005.1111,4,21,1,0) The value of this field is a timestamp that indicates the "^DD",2005.1,2005.1111,4,21,2,0) date and time when the current image was transmitted to "^DD",2005.1,2005.1111,4,21,3,0) the location described in the current record. "^DD",2005.1,2005.1111,4,"DT") 3031212 "^DD",2005.1,2005.1111,5,0) TIMESTAMP PURGE^D^^0;5^S %DT="ESTR" D ^%DT S X=Y K:Y<1 X "^DD",2005.1,2005.1111,5,3) Enter the time when the image was purged at this location. "^DD",2005.1,2005.1111,5,21,0) ^^3^3^3031212^ "^DD",2005.1,2005.1111,5,21,1,0) The value of this field is a timestamp that indicates the "^DD",2005.1,2005.1111,5,21,2,0) date and time when the copy of the current image was purged "^DD",2005.1,2005.1111,5,21,3,0) from the location that is described in the current record. "^DD",2005.1,2005.1111,5,"DT") 3031212 "^DD",2005.1,2005.1111,6,0) FILE NAME^F^^0;6^K:$L(X)>63!($L(X)<1) X "^DD",2005.1,2005.1111,6,3) Enter the name of the file at this destination. "^DD",2005.1,2005.1111,6,21,0) ^^3^3^3031212^ "^DD",2005.1,2005.1111,6,21,1,0) The value of this field is a string that represents the name of "^DD",2005.1,2005.1111,6,21,2,0) the (host system) file as it appears at the location to which "^DD",2005.1,2005.1111,6,21,3,0) the image has been copied. "^DD",2005.1,2005.1111,6,"DT") 3031212 "^DD",2005.1,2005.1111,7,0) FILE TYPE^S^TXT:Text;BIG:Large X-Ray;TGA:Targa(TM);ABS:Thumbnail;DCM:DICOM;DICOM:DICOM;^0;7^Q "^DD",2005.1,2005.1111,7,3) Enter the code for the file-type. "^DD",2005.1,2005.1111,7,21,0) ^^2^2^3031212^ "^DD",2005.1,2005.1111,7,21,1,0) The value of this field is a code for the type of data that is "^DD",2005.1,2005.1111,7,21,2,0) stored in the file that is described in the current record. "^DD",2005.1,2005.1111,7,"DT") 3031212 "^DD",2005.872,2005.872,0) FIELD^^2^3 "^DD",2005.872,2005.872,0,"DDA") N "^DD",2005.872,2005.872,0,"DT") 3030127 "^DD",2005.872,2005.872,0,"IX","B",2005.872,.01) "^DD",2005.872,2005.872,0,"NM","DICOM INDEX MAPPING") "^DD",2005.872,2005.872,.01,0) MODALITY ABBREVIATION^RF^^0;1^K:$L(X)>10!($L(X)<2)!'(X?1.U) X "^DD",2005.872,2005.872,.01,1,0) ^.1 "^DD",2005.872,2005.872,.01,1,1,0) 2005.872^B "^DD",2005.872,2005.872,.01,1,1,1) S ^MAG(2005.872,"B",$E(X,1,30),DA)="" "^DD",2005.872,2005.872,.01,1,1,2) K ^MAG(2005.872,"B",$E(X,1,30),DA) "^DD",2005.872,2005.872,.01,3) Answer must be 2-10 characters in length "^DD",2005.872,2005.872,.01,21,0) ^^1^1^3030123^ "^DD",2005.872,2005.872,.01,21,1,0) This field contains the abbreviation for the DICOM Modality. "^DD",2005.872,2005.872,.01,"DT") 3030127 "^DD",2005.872,2005.872,1,0) PROC/EVENT INDEX (DEFAULT)^P2005.85'^MAG(2005.85,^0;2^Q "^DD",2005.872,2005.872,1,21,0) ^^3^3^3030123^ "^DD",2005.872,2005.872,1,21,1,0) This field contains the default procedure that is associated with this "^DD",2005.872,2005.872,1,21,2,0) modality, unless a specialty is "^DD",2005.872,2005.872,1,21,3,0) known and has an associated procedure value defined for it. "^DD",2005.872,2005.872,1,"DT") 3030123 "^DD",2005.872,2005.872,2,0) SPECIALTY INDEX^2005.8722P^^1;0 "^DD",2005.872,2005.8722,0) SPECIALTY INDEX SUB-FIELD^^1^2 "^DD",2005.872,2005.8722,0,"DT") 3030123 "^DD",2005.872,2005.8722,0,"IX","B",2005.8722,.01) "^DD",2005.872,2005.8722,0,"NM","SPECIALTY INDEX") "^DD",2005.872,2005.8722,0,"UP") 2005.872 "^DD",2005.872,2005.8722,.01,0) SPECIALTY INDEX^MP2005.84'^MAG(2005.84,^0;1^Q "^DD",2005.872,2005.8722,.01,1,0) ^.1 "^DD",2005.872,2005.8722,.01,1,1,0) 2005.8722^B "^DD",2005.872,2005.8722,.01,1,1,1) S ^MAG(2005.872,DA(1),1,"B",$E(X,1,30),DA)="" "^DD",2005.872,2005.8722,.01,1,1,2) K ^MAG(2005.872,DA(1),1,"B",$E(X,1,30),DA) "^DD",2005.872,2005.8722,.01,21,0) ^^2^2^3030123^ "^DD",2005.872,2005.8722,.01,21,1,0) This is the specialty or subspecialty with which a specific, non-default "^DD",2005.872,2005.8722,.01,21,2,0) procedure is to be associated for this modality. "^DD",2005.872,2005.8722,.01,"DT") 3030123 "^DD",2005.872,2005.8722,1,0) PROCEDURE/EVENT INDEX^P2005.85'^MAG(2005.85,^0;2^Q "^DD",2005.872,2005.8722,1,21,0) ^^2^2^3030123^ "^DD",2005.872,2005.8722,1,21,1,0) This is the procedure "^DD",2005.872,2005.8722,1,21,2,0) that is associated with this specialty for this modality. "^DD",2005.872,2005.8722,1,"DT") 3030123 "^DD",2006.035,2006.035,0) FIELD^^9^10 "^DD",2006.035,2006.035,0,"DDA") N "^DD",2006.035,2006.035,0,"DT") 3030624 "^DD",2006.035,2006.035,0,"IX","ID",2006.035,9) "^DD",2006.035,2006.035,0,"NM","SEND QUEUE") "^DD",2006.035,2006.035,0,"VRPK") MAG "^DD",2006.035,2006.035,.01,0) IMAGE^RP2005'^MAG(2005,^0;1^Q "^DD",2006.035,2006.035,.01,.1) Image "^DD",2006.035,2006.035,.01,1,0) ^.1^^0 "^DD",2006.035,2006.035,.01,3) "^DD",2006.035,2006.035,.01,21,0) ^^3^3^3000216^^ "^DD",2006.035,2006.035,.01,21,1,0) The value of this field is a pointer to the image file. "^DD",2006.035,2006.035,.01,21,2,0) This entry in the SEND queue is intended to cause transmission "^DD",2006.035,2006.035,.01,21,3,0) of files for the image that is indicated by this pointer. "^DD",2006.035,2006.035,.01,"DT") 3020312 "^DD",2006.035,2006.035,1,0) DESTINATION^RV^^0;2^Q "^DD",2006.035,2006.035,1,3) Enter the name of the destination to which images are to be transmitted. "^DD",2006.035,2006.035,1,21,0) ^^10^10^3020312^ "^DD",2006.035,2006.035,1,21,1,0) The value of this field is a "Variable Pointer". "^DD",2006.035,2006.035,1,21,2,0) "^DD",2006.035,2006.035,1,21,3,0) The pointer may reference either an entry in "^DD",2006.035,2006.035,1,21,4,0) either File 2005.2 (Imaging Network Location) or "^DD",2006.035,2006.035,1,21,5,0) File 2006.585 (DICOM User Application). "^DD",2006.035,2006.035,1,21,6,0) "^DD",2006.035,2006.035,1,21,7,0) When pointing to File 2005.2, images will be "^DD",2006.035,2006.035,1,21,8,0) transmitted using a host-system copy protocol; "^DD",2006.035,2006.035,1,21,9,0) when pointing to File 2006.585, images will be "^DD",2006.035,2006.035,1,21,10,0) transmitted using the DICOM protocol. "^DD",2006.035,2006.035,1,"DT") 3020312 "^DD",2006.035,2006.035,1,"V",0) ^.12P^2^2 "^DD",2006.035,2006.035,1,"V",1,0) 2005.2^Send to which Network Location^1^N^n^n "^DD",2006.035,2006.035,1,"V",2,0) 2006.585^Send to which DICOM SCU^2^D^n^n "^DD",2006.035,2006.035,2,0) TYPE^RS^ABSTRACT:ABSTRACT;FULL:FULL;BIG:BIG;TEXT:TEXT;DICOM:DICOM;^0;3^Q "^DD",2006.035,2006.035,2,.1) Type of file "^DD",2006.035,2006.035,2,1,0) ^.1^^0 "^DD",2006.035,2006.035,2,21,0) ^^2^2^2980921^ "^DD",2006.035,2006.035,2,21,1,0) This field identifies the kind of file that is to be transmitted. "^DD",2006.035,2006.035,2,21,2,0) Currently 5 possible types exist (Abstract, Full, Big, Text and DICOM). "^DD",2006.035,2006.035,2,"DT") 3020312 "^DD",2006.035,2006.035,3,0) STATUS^S^WAITING:WAITING;SENDING:SENDING;SENT:SENT;FAILED:FAILED;^1;1^Q "^DD",2006.035,2006.035,3,.1) Status "^DD",2006.035,2006.035,3,1,0) ^.1^^0 "^DD",2006.035,2006.035,3,21,0) ^^11^11^3000216^^ "^DD",2006.035,2006.035,3,21,1,0) The value of this field indicates the status of the queue-entry. "^DD",2006.035,2006.035,3,21,2,0) Normally, an entry goes through three stages: "^DD",2006.035,2006.035,3,21,3,0) First, the status is "WAITING". "^DD",2006.035,2006.035,3,21,4,0) When the queue-processor starts working on the current file, the status will become "SENDING". "^DD",2006.035,2006.035,3,21,5,0) When the file has been transmitted, the status will change to "SENT". "^DD",2006.035,2006.035,3,21,6,0) "^DD",2006.035,2006.035,3,21,7,0) When a transmission fails, the queue processor will make a number of additional attempts to "^DD",2006.035,2006.035,3,21,8,0) transmit the file. If all attempts remain unsuccessful, the status "^DD",2006.035,2006.035,3,21,9,0) will be changed to "FAILED". "^DD",2006.035,2006.035,3,21,10,0) "^DD",2006.035,2006.035,3,21,11,0) There is a menu option to "re-queue" entries with a status of "FAILED". "^DD",2006.035,2006.035,3,"DT") 3020312 "^DD",2006.035,2006.035,4,0) PRIORITY^NJ3,0^^1;2^K:+X'=X!(X>999)!(X<1)!(X?.E1"."1N.N) X "^DD",2006.035,2006.035,4,.1) Relative priority "^DD",2006.035,2006.035,4,1,0) ^.1^^0 "^DD",2006.035,2006.035,4,3) Enter a number that represents the priority (normal is 500). "^DD",2006.035,2006.035,4,21,0) ^^4^4^3000216^^ "^DD",2006.035,2006.035,4,21,1,0) This field indicates the relative priority of the entry in the queue. "^DD",2006.035,2006.035,4,21,2,0) Normally, all entries have priority 500. "^DD",2006.035,2006.035,4,21,3,0) The software may assign a low priority (250) or a high priority (750). "^DD",2006.035,2006.035,4,21,4,0) In the future further refinement of these priorities is expected. "^DD",2006.035,2006.035,4,"DT") 3020312 "^DD",2006.035,2006.035,5,0) TIME IN^RD^^1;3^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2006.035,2006.035,5,.1) Timestamp (enter queue) "^DD",2006.035,2006.035,5,21,0) ^^2^2^2980921^ "^DD",2006.035,2006.035,5,21,1,0) The value of this field is a time-stamp that identifies the date and time "^DD",2006.035,2006.035,5,21,2,0) on which the entry was added to the queue. "^DD",2006.035,2006.035,5,"DT") 2980921 "^DD",2006.035,2006.035,6,0) TIME OUT^D^^1;4^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2006.035,2006.035,6,.1) Timestamp (processed) "^DD",2006.035,2006.035,6,21,0) ^^3^3^2980921^ "^DD",2006.035,2006.035,6,21,1,0) The value of this field is a time stamp that identifies when the "^DD",2006.035,2006.035,6,21,2,0) entry in the queue was processed (status changed to either SENT "^DD",2006.035,2006.035,6,21,3,0) or FAILED). "^DD",2006.035,2006.035,6,"DT") 2980921 "^DD",2006.035,2006.035,7,0) MECHANISM^S^1:MS-DOS Copy;2:DICOM Send;^0;4^Q "^DD",2006.035,2006.035,7,3) Enter a code for the method of transmission. "^DD",2006.035,2006.035,7,21,0) ^^4^4^3000216^ "^DD",2006.035,2006.035,7,21,1,0) The value of this field is a code that indicates how files "^DD",2006.035,2006.035,7,21,2,0) are to be transmitted to the remote location. "^DD",2006.035,2006.035,7,21,3,0) Possible methods of transmission are "MS-DOS copy" and "^DD",2006.035,2006.035,7,21,4,0) "DICOM copy". "^DD",2006.035,2006.035,7,"DT") 2991222 "^DD",2006.035,2006.035,8,0) ORIGIN^RP4'^DIC(4,^0;5^Q "^DD",2006.035,2006.035,8,3) Enter the location from which this image originates. "^DD",2006.035,2006.035,8,21,0) ^^5^5^3010309^ "^DD",2006.035,2006.035,8,21,1,0) The value of this field is a pointer (to the Institution "^DD",2006.035,2006.035,8,21,2,0) file, #4). The institution that is identified by this value "^DD",2006.035,2006.035,8,21,3,0) is the place where the image "comes from". In the context "^DD",2006.035,2006.035,8,21,4,0) of auto-routing, the image "comes from" the place where it "^DD",2006.035,2006.035,8,21,5,0) is permanently stored. "^DD",2006.035,2006.035,8,"DT") 3020312 "^DD",2006.035,2006.035,9,0) TRANSACTION ID^F^^0;6^K:$L(X)>30!($L(X)<1) X "^DD",2006.035,2006.035,9,1,0) ^.1 "^DD",2006.035,2006.035,9,1,1,0) 2006.035^ID "^DD",2006.035,2006.035,9,1,1,1) S ^MAGQUEUE(2006.035,"ID",$E(X,1,30),DA)="" "^DD",2006.035,2006.035,9,1,1,2) K ^MAGQUEUE(2006.035,"ID",$E(X,1,30),DA) "^DD",2006.035,2006.035,9,1,1,"%D",0) ^^2^2^3030624^ "^DD",2006.035,2006.035,9,1,1,"%D",1,0) This cross-reference keeps track of which files belong "^DD",2006.035,2006.035,9,1,1,"%D",2,0) to which transactions (studies). "^DD",2006.035,2006.035,9,1,1,"DT") 3030624 "^DD",2006.035,2006.035,9,3) Enter an identification for the transaction to which this file belongs. "^DD",2006.035,2006.035,9,21,0) ^^5^5^3030624^ "^DD",2006.035,2006.035,9,21,1,0) The value of this field is a string that identifies the transaction "^DD",2006.035,2006.035,9,21,2,0) to which this file belongs. "^DD",2006.035,2006.035,9,21,3,0) "^DD",2006.035,2006.035,9,21,4,0) A transaction typically corresponds to a "study", a group of images "^DD",2006.035,2006.035,9,21,5,0) that are to be manipulated as a unit. "^DD",2006.035,2006.035,9,"DT") 3030624 "^DD",2006.1,2006.1,124,0) DICOM GATEWAY ACCESS CODE^FXO^^GW;1^K:$L(X)>30!($L(X)<3) X Q:'$D(X) S X=$$ENCRYP^ROUTINE(X) "^DD",2006.1,2006.1,124,1,0) ^.1 "^DD",2006.1,2006.1,124,1,1,0) 2006.1^AC^MUMPS "^DD",2006.1,2006.1,124,1,1,1) D SAME^MAGDRPC2(1,DA,"GW",1,X) "^DD",2006.1,2006.1,124,1,1,2) D SAME^MAGDRPC2(0,DA,"GW",1,X) "^DD",2006.1,2006.1,124,1,1,"%D",0) ^^3^3^3031120^ "^DD",2006.1,2006.1,124,1,1,"%D",1,0) This MUMPS cross reference is really a trigger that causes "^DD",2006.1,2006.1,124,1,1,"%D",2,0) the values for this field to be the same for all entries "^DD",2006.1,2006.1,124,1,1,"%D",3,0) in the Imaging Site Parameter file. "^DD",2006.1,2006.1,124,1,1,"DT") 3031120 "^DD",2006.1,2006.1,124,2) S Y(0)=Y S Y="" "^DD",2006.1,2006.1,124,2.1) S Y="" "^DD",2006.1,2006.1,124,3) Enter the access code that DICOM Gateways may use. "^DD",2006.1,2006.1,124,21,0) ^^4^4^3031119^ "^DD",2006.1,2006.1,124,21,1,0) The value of this field is a string that may be used by a DICOM "^DD",2006.1,2006.1,124,21,2,0) Gateway when it needs to provide an ACCESS CODE to the VistA system. "^DD",2006.1,2006.1,124,21,3,0) "^DD",2006.1,2006.1,124,21,4,0) This value is stored encrypted. "^DD",2006.1,2006.1,124,"DT") 3031120 "^DD",2006.1,2006.1,125,0) DICOM GATEWAY VERIFY CODE^FXO^^GW;2^K:$L(X)>30!($L(X)<3) X Q:'$D(X) S X=$$ENCRYP^ROUTINE(X) "^DD",2006.1,2006.1,125,1,0) ^.1 "^DD",2006.1,2006.1,125,1,1,0) 2006.1^AD^MUMPS "^DD",2006.1,2006.1,125,1,1,1) D SAME^MAGDRPC2(1,DA,"GW",2,X) "^DD",2006.1,2006.1,125,1,1,2) D SAME^MAGDRPC2(0,DA,"GW",2,X) "^DD",2006.1,2006.1,125,1,1,"%D",0) ^^3^3^3031120^ "^DD",2006.1,2006.1,125,1,1,"%D",1,0) This MUMPS cross reference is really a trigger that causes "^DD",2006.1,2006.1,125,1,1,"%D",2,0) the values for this field to be the same for all entries "^DD",2006.1,2006.1,125,1,1,"%D",3,0) in the Imaging Site Parameter file. "^DD",2006.1,2006.1,125,1,1,"DT") 3031120 "^DD",2006.1,2006.1,125,2) S Y(0)=Y S Y="" "^DD",2006.1,2006.1,125,2.1) S Y="" "^DD",2006.1,2006.1,125,3) Enter the verify code that DICOM Gateways may use. "^DD",2006.1,2006.1,125,21,0) ^^4^4^3031119^ "^DD",2006.1,2006.1,125,21,1,0) >The value of this field is a string that may be used by a DICOM "^DD",2006.1,2006.1,125,21,2,0) Gateway when it needs to provide a VERIFY CODE to a VistA system. "^DD",2006.1,2006.1,125,21,3,0) "^DD",2006.1,2006.1,125,21,4,0) This value is stored encrypted. "^DD",2006.1,2006.1,125,"DT") 3031120 "^DD",2006.563,2006.563,0) FIELD^^83^73 "^DD",2006.563,2006.563,0,"DDA") N "^DD",2006.563,2006.563,0,"DT") 3040303 "^DD",2006.563,2006.563,0,"NM","DICOM GATEWAY PARAMETER") "^DD",2006.563,2006.563,0,"VRPK") IMAGING "^DD",2006.563,2006.563,.01,0) SYSTEM TITLE^RF^^SYSTEM TITLE;1^K:$L(X)>60!(X?.N)!($L(X)<3)!'(X'?1P.E) X "^DD",2006.563,2006.563,.01,1,0) ^.1^^0 "^DD",2006.563,2006.563,.01,3) Enter a descriptive text for this Gateway Station. "^DD",2006.563,2006.563,.01,21,0) ^^6^6^3000218^^ "^DD",2006.563,2006.563,.01,21,1,0) The value of this field is a text that identifies "^DD",2006.563,2006.563,.01,21,2,0) the computer on which this database is stored. "^DD",2006.563,2006.563,.01,21,3,0) "^DD",2006.563,2006.563,.01,21,4,0) Note that each VistA DICOM Gateway computer has its "^DD",2006.563,2006.563,.01,21,5,0) own copy of ^MAGDICOM, in which these site-parameters "^DD",2006.563,2006.563,.01,21,6,0) are stored. "^DD",2006.563,2006.563,2,0) ASCII DICOM TEXT^F^^ASCII DICOM TEXT;1^K:$L(X)>10!($L(X)<1) X "^DD",2006.563,2006.563,2,3) Indicate whether or not ASCII Text files are to be produced. "^DD",2006.563,2006.563,2,21,0) ^^16^16^3000218^^ "^DD",2006.563,2006.563,2,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,2,21,2,0) whether or not files will be created that make the "^DD",2006.563,2006.563,2,21,3,0) data-streams that are exchanged according to the "^DD",2006.563,2006.563,2,21,4,0) DICOM protocol available in a human-readable form. "^DD",2006.563,2006.563,2,21,5,0) "^DD",2006.563,2006.563,2,21,6,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,2,21,7,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,2,21,8,0) "^DD",2006.563,2006.563,2,21,9,0) The human-readable files will have a file name "^DD",2006.563,2006.563,2,21,10,0) extension of '.TXT'. "^DD",2006.563,2006.563,2,21,11,0) "^DD",2006.563,2006.563,2,21,12,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,2,21,13,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,2,21,14,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,2,21,15,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,2,21,16,0) system (DDP) is available. "^DD",2006.563,2006.563,2,"DT") 2991018 "^DD",2006.563,2006.563,3,0) COMMERCIAL PACS^F^^COMMERCIAL PACS;1^K:$L(X)>10!($L(X)<1) X "^DD",2006.563,2006.563,3,3) Indicate whether or not a commercial PACS is present. "^DD",2006.563,2006.563,3,21,0) ^^13^13^3000218^^ "^DD",2006.563,2006.563,3,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,3,21,2,0) if a PACS is present at the site, and, if so, "^DD",2006.563,2006.563,3,21,3,0) whether or not this PACS has a brand-name of "^DD",2006.563,2006.563,3,21,4,0) General Electric. "^DD",2006.563,2006.563,3,21,5,0) "^DD",2006.563,2006.563,3,21,6,0) Possible values for this code are 'N/A', "^DD",2006.563,2006.563,3,21,7,0) 'GE' and 'NON-GE'. "^DD",2006.563,2006.563,3,21,8,0) "^DD",2006.563,2006.563,3,21,9,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,3,21,10,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,3,21,11,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,3,21,12,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,3,21,13,0) system (DDP) is available. "^DD",2006.563,2006.563,3,"DT") 2991018 "^DD",2006.563,2006.563,4,0) DATA PATH^2006.5631A^^DATA PATH;0 "^DD",2006.563,2006.563,5,0) DICT PATH^F^^DICT PATH;1^K:$L(X)>10!($L(X)<1) X "^DD",2006.563,2006.563,5,3) Enter the directory path name for the location where master files are stored. "^DD",2006.563,2006.563,5,21,0) ^^6^6^3000218^^ "^DD",2006.563,2006.563,5,21,1,0) The value of this field is the 'path-prefix' "^DD",2006.563,2006.563,5,21,2,0) that needs to be applied to gain access to the "^DD",2006.563,2006.563,5,21,3,0) 'dictionary' files (also known as 'master files). "^DD",2006.563,2006.563,5,21,4,0) "^DD",2006.563,2006.563,5,21,5,0) These 'master files' contain the various tables "^DD",2006.563,2006.563,5,21,6,0) that drive the operation of the VistA DICOM Gateways. "^DD",2006.563,2006.563,5,"DT") 2991018 "^DD",2006.563,2006.563,7,0) IMAGE INPUT PATH^F^^IMAGE INPUT PATH;1^K:$L(X)>50!($L(X)<1) X "^DD",2006.563,2006.563,7,3) Enter the name of the directory where incoming images are stored. "^DD",2006.563,2006.563,7,21,0) ^^4^4^3000218^^ "^DD",2006.563,2006.563,7,21,1,0) The value of this field is the 'path-prefix' "^DD",2006.563,2006.563,7,21,2,0) that needs to be applied to gain access to the "^DD",2006.563,2006.563,7,21,3,0) files that are being used by the VistA DICOM Image "^DD",2006.563,2006.563,7,21,4,0) Gateway for newly created image files. "^DD",2006.563,2006.563,7,"DT") 2991018 "^DD",2006.563,2006.563,8,0) IMAGE OUTPUT PATH^F^^IMAGE OUTPUT PATH;1^K:$L(X)>50!($L(X)<1) X "^DD",2006.563,2006.563,8,3) Enter the name of the directory where outgoing images are stored. "^DD",2006.563,2006.563,8,21,0) ^^5^5^3000218^^ "^DD",2006.563,2006.563,8,21,1,0) The value of this field is the 'path-prefix' "^DD",2006.563,2006.563,8,21,2,0) that needs to be applied to gain access to the "^DD",2006.563,2006.563,8,21,3,0) files that are being used by the VistA DICOM Image "^DD",2006.563,2006.563,8,21,4,0) Gateway for image files that need to be copied "^DD",2006.563,2006.563,8,21,5,0) to other destinations. "^DD",2006.563,2006.563,8,"DT") 2991018 "^DD",2006.563,2006.563,9,0) MACHINE ID^F^^MACHINE ID;1^K:$L(X)>1!($L(X)<1) X "^DD",2006.563,2006.563,9,.1) Machine ID "^DD",2006.563,2006.563,9,3) Enter the letter for the current processor. "^DD",2006.563,2006.563,9,21,0) ^^7^7^3000229^^ "^DD",2006.563,2006.563,9,21,1,0) The value of this field is a single-character "^DD",2006.563,2006.563,9,21,2,0) code that identifies the computer on which this "^DD",2006.563,2006.563,9,21,3,0) database is stored. "^DD",2006.563,2006.563,9,21,4,0) "^DD",2006.563,2006.563,9,21,5,0) This code will be used as a prefix for names "^DD",2006.563,2006.563,9,21,6,0) of image files that are created by the software "^DD",2006.563,2006.563,9,21,7,0) that runs on this computer. "^DD",2006.563,2006.563,9,"DT") 2991018 "^DD",2006.563,2006.563,10,0) MESSAGE LOG^S^YES:YES;NO:NO;^MESSAGE LOG;1^Q "^DD",2006.563,2006.563,10,3) Enter 'YES' or 'NO'. "^DD",2006.563,2006.563,10,21,0) ^.001^15^15^3001004^^^ "^DD",2006.563,2006.563,10,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,10,21,2,0) whether or not diagnostic messages will be kept in "^DD",2006.563,2006.563,10,21,3,0) a global variable after they have been displayed on "^DD",2006.563,2006.563,10,21,4,0) a monitor. "^DD",2006.563,2006.563,10,21,5,0) "^DD",2006.563,2006.563,10,21,6,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,10,21,7,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,10,21,8,0) "^DD",2006.563,2006.563,10,21,9,0) It is recommended that this value always be set to 'YES'. "^DD",2006.563,2006.563,10,21,10,0) "^DD",2006.563,2006.563,10,21,11,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,10,21,12,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,10,21,13,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,10,21,14,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,10,21,15,0) system (DDP) is available. "^DD",2006.563,2006.563,10,"DT") 3001004 "^DD",2006.563,2006.563,11,0) INSTRUMENT PATH^F^^INSTRUMENT PATH;1^K:$L(X)>50!($L(X)<1) X "^DD",2006.563,2006.563,11,3) Enter the name of the directory where the ASCII Text files are stored. "^DD",2006.563,2006.563,11,21,0) ^^5^5^3000218^^ "^DD",2006.563,2006.563,11,21,1,0) The value of this field is the 'path-prefix' "^DD",2006.563,2006.563,11,21,2,0) that needs to be applied to gain access to the "^DD",2006.563,2006.563,11,21,3,0) files that are being used by the VistA DICOM Image "^DD",2006.563,2006.563,11,21,4,0) Gateway to store intermediate copies of image files "^DD",2006.563,2006.563,11,21,5,0) as they are received by the C-Store program. "^DD",2006.563,2006.563,11,"DT") 3000218 "^DD",2006.563,2006.563,12,0) MODALITY WORKLIST^S^YES:YES;NO:NO;^MODALITY WORKLIST;1^Q "^DD",2006.563,2006.563,12,3) Enter 'YES' or 'NO'. "^DD",2006.563,2006.563,12,21,0) ^.001^7^7^3001004^^^^ "^DD",2006.563,2006.563,12,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,12,21,2,0) whether or not the machine on which this table is "^DD",2006.563,2006.563,12,21,3,0) stored will be executing the tasks of a Modality "^DD",2006.563,2006.563,12,21,4,0) Worklist Provider. "^DD",2006.563,2006.563,12,21,5,0) "^DD",2006.563,2006.563,12,21,6,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,12,21,7,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,12,"DT") 3001004 "^DD",2006.563,2006.563,14,0) ROUTING RULES^S^YES:YES;NO:NO;^ROUTING RULES;1^Q "^DD",2006.563,2006.563,14,3) Enter 'YES' or 'NO'. "^DD",2006.563,2006.563,14,21,0) ^.001^19^19^3021209^^^^ "^DD",2006.563,2006.563,14,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,14,21,2,0) whether or not the site where this table is stored "^DD",2006.563,2006.563,14,21,3,0) is using the automated routing facility that is part "^DD",2006.563,2006.563,14,21,4,0) of the VistA DICOM Gateway. "^DD",2006.563,2006.563,14,21,5,0) "^DD",2006.563,2006.563,14,21,6,0) Automated routing is not included in Version 2.5 "^DD",2006.563,2006.563,14,21,7,0) of the VistA DICOM Gateway and only sites that are "^DD",2006.563,2006.563,14,21,8,0) executing an pre-alpha test of this functionality "^DD",2006.563,2006.563,14,21,9,0) should set this parameter to YES. "^DD",2006.563,2006.563,14,21,10,0) All other sites should set this parameter to NO. "^DD",2006.563,2006.563,14,21,11,0) "^DD",2006.563,2006.563,14,21,12,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,14,21,13,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,14,21,14,0) "^DD",2006.563,2006.563,14,21,15,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,14,21,16,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,14,21,17,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,14,21,18,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,14,21,19,0) system (DDP) is available. "^DD",2006.563,2006.563,14,"DT") 3021209 "^DD",2006.563,2006.563,15,0) SCRATCH^F^^SCRATCH;1^K:$L(X)>50!($L(X)<1) X "^DD",2006.563,2006.563,15,3) Enter the name of the directory where scratch files may be stored. "^DD",2006.563,2006.563,15,21,0) ^^7^7^3000218^^ "^DD",2006.563,2006.563,15,21,1,0) The value of this field is the 'path-prefix' "^DD",2006.563,2006.563,15,21,2,0) that needs to be applied to gain access to the "^DD",2006.563,2006.563,15,21,3,0) temporary files that are used by the VistA DICOM "^DD",2006.563,2006.563,15,21,4,0) Gateway. "^DD",2006.563,2006.563,15,21,5,0) "^DD",2006.563,2006.563,15,21,6,0) Typically, the value of this field will be equal to "^DD",2006.563,2006.563,15,21,7,0) c:\temp\ "^DD",2006.563,2006.563,15,"DT") 2991018 "^DD",2006.563,2006.563,16,0) SEND PACS TEXT^S^YES:YES;NO:NO;^SEND PACS TEXT;1^Q "^DD",2006.563,2006.563,16,3) Enter 'YES' or 'NO'. "^DD",2006.563,2006.563,16,21,0) ^.001^7^7^3001004^^^ "^DD",2006.563,2006.563,16,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,16,21,2,0) whether or not the VistA DICOM Gateway computer "^DD",2006.563,2006.563,16,21,3,0) on which this table is stored will be transmitting "^DD",2006.563,2006.563,16,21,4,0) text messages to a PACS. "^DD",2006.563,2006.563,16,21,5,0) "^DD",2006.563,2006.563,16,21,6,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,16,21,7,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,16,"DT") 3001004 "^DD",2006.563,2006.563,17,0) PLACE^P4'^DIC(4,^LOCATION;1^Q "^DD",2006.563,2006.563,17,3) Enter the name of the institution where this gateway resides. "^DD",2006.563,2006.563,17,21,0) ^^3^3^3010309^ "^DD",2006.563,2006.563,17,21,1,0) The value of this field is a pointer to the Institution file (#4). "^DD",2006.563,2006.563,17,21,2,0) This value identifies the institution where this DICOM Gateway "^DD",2006.563,2006.563,17,21,3,0) computer resides. "^DD",2006.563,2006.563,17,"DT") 3010309 "^DD",2006.563,2006.563,18,0) UID ROOT^F^^UID ROOT;1^K:$L(X)>64!($L(X)<1) X "^DD",2006.563,2006.563,18,3) Enter the UID root for this installation. "^DD",2006.563,2006.563,18,21,0) ^^14^14^3000218^^ "^DD",2006.563,2006.563,18,21,1,0) The value of this field is a code that identifies "^DD",2006.563,2006.563,18,21,2,0) the 'root' for unique identifiers that are "^DD",2006.563,2006.563,18,21,3,0) created for the purpose of uniquely identifying "^DD",2006.563,2006.563,18,21,4,0) DICOM objects. "^DD",2006.563,2006.563,18,21,5,0) "^DD",2006.563,2006.563,18,21,6,0) This value has been assigned to the Veterans Administration "^DD",2006.563,2006.563,18,21,7,0) by the American National Standards Institute and "^DD",2006.563,2006.563,18,21,8,0) may not be changed by any site. "^DD",2006.563,2006.563,18,21,9,0) "^DD",2006.563,2006.563,18,21,10,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,18,21,11,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,18,21,12,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,18,21,13,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,18,21,14,0) system (DDP) is available. "^DD",2006.563,2006.563,18,"DT") 2991018 "^DD",2006.563,2006.563,19,0) VERSION^F^^VERSION;1^K:$L(X)>64!($L(X)<1) X "^DD",2006.563,2006.563,19,3) Answer must be 1-64 characters in length. "^DD",2006.563,2006.563,19,21,0) ^^11^11^3000218^^ "^DD",2006.563,2006.563,19,21,1,0) The value of this field is a code that identifies "^DD",2006.563,2006.563,19,21,2,0) the version of the implementation of the VA DICOM "^DD",2006.563,2006.563,19,21,3,0) SOP Classes. "^DD",2006.563,2006.563,19,21,4,0) "^DD",2006.563,2006.563,19,21,5,0) This value should not be modified by any sites. "^DD",2006.563,2006.563,19,21,6,0) "^DD",2006.563,2006.563,19,21,7,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,19,21,8,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,19,21,9,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,19,21,10,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,19,21,11,0) system (DDP) is available. "^DD",2006.563,2006.563,19,"DT") 2991018 "^DD",2006.563,2006.563,20,0) HL7 POINTER^P2006.5'^MAGDHL7(2006.5,^HL7_PTR;1^Q "^DD",2006.563,2006.563,20,3) Enter the internal entry number of a HL7 message. "^DD",2006.563,2006.563,20,21,0) ^^11^11^3000218^^ "^DD",2006.563,2006.563,20,21,1,0) The value of this field is a pointer to the table that "^DD",2006.563,2006.563,20,21,2,0) contains the HL7-messages that are to be processed by "^DD",2006.563,2006.563,20,21,3,0) a VistA DICOM Text Gateway. "^DD",2006.563,2006.563,20,21,4,0) This value corresponds to the internal entry number "^DD",2006.563,2006.563,20,21,5,0) of the last message that was processed. "^DD",2006.563,2006.563,20,21,6,0) "^DD",2006.563,2006.563,20,21,7,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,20,21,8,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,20,21,9,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,20,21,10,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,20,21,11,0) system (DDP) is available. "^DD",2006.563,2006.563,20,"DT") 3000222 "^DD",2006.563,2006.563,21,0) FREE DISK SPACE^NJ3,0^^FREE DISK SPACE;1^K:+X'=X!(X>100)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,21,3) Enter the percentage of free disk space required to allow C-Store. "^DD",2006.563,2006.563,21,21,0) ^^5^5^3000218^^ "^DD",2006.563,2006.563,21,21,1,0) The value of this field is an integer number that "^DD",2006.563,2006.563,21,21,2,0) indicates the percentage of disk space that needs to "^DD",2006.563,2006.563,21,21,3,0) be left as free space. The acquisition of image files "^DD",2006.563,2006.563,21,21,4,0) will be suspended when the amount of free disk space "^DD",2006.563,2006.563,21,21,5,0) drops below this threshold. "^DD",2006.563,2006.563,21,"DT") 2991020 "^DD",2006.563,2006.563,22,0) TEXT GATEWAY^S^YES:YES;NO:NO;^TEXT GATEWAY;1^Q "^DD",2006.563,2006.563,22,3) Enter 'YES' or 'NO'. "^DD",2006.563,2006.563,22,21,0) ^.001^6^6^3001004^^^ "^DD",2006.563,2006.563,22,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,22,21,2,0) whether or not the computer on which this table "^DD",2006.563,2006.563,22,21,3,0) is stored will operate as a Text Gateway. "^DD",2006.563,2006.563,22,21,4,0) "^DD",2006.563,2006.563,22,21,5,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,22,21,6,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,22,"DT") 3001004 "^DD",2006.563,2006.563,23,0) LAST SYSTEM REPORT^NJ7,0^^DAILY REPORT;1^K:+X'=X!(X>9999999)!(X<1)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,23,3) Enter the $HOROLOG number of the date of the last site report. "^DD",2006.563,2006.563,23,21,0) ^^7^7^3001004^^ "^DD",2006.563,2006.563,23,21,1,0) The value of this field is a code for the date on which "^DD",2006.563,2006.563,23,21,2,0) the most recent system report was e-mailed to the VistA "^DD",2006.563,2006.563,23,21,3,0) central repository. "^DD",2006.563,2006.563,23,21,4,0) This value is encoded as a $HOROLOG date. "^DD",2006.563,2006.563,23,21,5,0) This value is calculated by the application as the "^DD",2006.563,2006.563,23,21,6,0) report in question is being produced, and never entered "^DD",2006.563,2006.563,23,21,7,0) by an end-user. "^DD",2006.563,2006.563,23,"DT") 3000222 "^DD",2006.563,2006.563,24,0) POST OFFICE^F^^POST OFFICE;1^K:$L(X)>64!($L(X)<1) X "^DD",2006.563,2006.563,24,3) Enter the IP address of the SMTP post office for this site. "^DD",2006.563,2006.563,24,21,0) ^^9^9^3000218^^ "^DD",2006.563,2006.563,24,21,1,0) The value of this field is the IP address of the "^DD",2006.563,2006.563,24,21,2,0) computer that will function as the SMTP post office "^DD",2006.563,2006.563,24,21,3,0) for sending e-mail from this site. "^DD",2006.563,2006.563,24,21,4,0) "^DD",2006.563,2006.563,24,21,5,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,24,21,6,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,24,21,7,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,24,21,8,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,24,21,9,0) system (DDP) is available. "^DD",2006.563,2006.563,24,"DT") 3000222 "^DD",2006.563,2006.563,25,0) CONSOLIDATED IMAGING SOFTWARE^S^YES:Consolidated;NO:Non-Consolidated;^CONSOLIDATED;1^Q "^DD",2006.563,2006.563,25,3) Indicate whether or not this site is running the consolidated Imaging software. "^DD",2006.563,2006.563,25,21,0) ^^6^6^3021212^ "^DD",2006.563,2006.563,25,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,25,21,2,0) the current site is running the consolidated version of the Imaging "^DD",2006.563,2006.563,25,21,3,0) software. "^DD",2006.563,2006.563,25,21,4,0) "^DD",2006.563,2006.563,25,21,5,0) A value of "YES" indicates that the consolidated software is in use. "^DD",2006.563,2006.563,25,21,6,0) A value of "NO" indicates that the non-consolidated software is in use. "^DD",2006.563,2006.563,25,"DT") 3021212 "^DD",2006.563,2006.563,26,0) CPT MODIFIER^S^YES:YES;NO:NO;^SEND CPT MODIFIERS;1^Q "^DD",2006.563,2006.563,26,3) Indicate whether or not this computer will include CPT modifier codes in messages. "^DD",2006.563,2006.563,26,21,0) ^^7^7^3000218^^ "^DD",2006.563,2006.563,26,21,1,0) The value of this field is a code that indicates "^DD",2006.563,2006.563,26,21,2,0) whether or not CPT modifier codes will be included in "^DD",2006.563,2006.563,26,21,3,0) messages that are transmitted by the computer on which "^DD",2006.563,2006.563,26,21,4,0) this table is stored. "^DD",2006.563,2006.563,26,21,5,0) "^DD",2006.563,2006.563,26,21,6,0) Possible values for this code are 'YES' and 'NO' "^DD",2006.563,2006.563,26,21,7,0) (fully spelled, in capitals). "^DD",2006.563,2006.563,26,"DT") 3000222 "^DD",2006.563,2006.563,27,0) TIME ZONE OFFSET^NJ4,0^^TIME ZONE;1^K:+X'=X!(X>2500)!(X<-2500)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,27,3) Enter the ISO code for the time zone offset for this computer. "^DD",2006.563,2006.563,27,21,0) ^^17^17^3000218^^ "^DD",2006.563,2006.563,27,21,1,0) The value of this field is an integer number that "^DD",2006.563,2006.563,27,21,2,0) indicates the time zone offset for the computer on "^DD",2006.563,2006.563,27,21,3,0) which this table is stored. "^DD",2006.563,2006.563,27,21,4,0) "^DD",2006.563,2006.563,27,21,5,0) The time zone offset is encoded as 100*hours+minutes, "^DD",2006.563,2006.563,27,21,6,0) and is a positive number when the time is later than "^DD",2006.563,2006.563,27,21,7,0) GMT (Greenwich Mean Time), or a negative number when "^DD",2006.563,2006.563,27,21,8,0) the time is earlier than GMT. "^DD",2006.563,2006.563,27,21,9,0) "^DD",2006.563,2006.563,27,21,10,0) E.g. EST in the USA corresponds to a time zone offset "^DD",2006.563,2006.563,27,21,11,0) of -500. "^DD",2006.563,2006.563,27,21,12,0) "^DD",2006.563,2006.563,27,21,13,0) This value is stored in this table (^MAGDICOM(2006.563,... "^DD",2006.563,2006.563,27,21,14,0) rather than in ^MAG(2006.1,...), because the VistA "^DD",2006.563,2006.563,27,21,15,0) DICOM Gateway will need to be able to access this "^DD",2006.563,2006.563,27,21,16,0) value whether or not the network link with the VistA "^DD",2006.563,2006.563,27,21,17,0) system (DDP) is available. "^DD",2006.563,2006.563,27,"DT") 3000222 "^DD",2006.563,2006.563,28,0) LOCATION NAME^F^^LOCATION NAME;1^K:$L(X)>30!($L(X)<1) X "^DD",2006.563,2006.563,28,3) Enter the name of the location to which this station belongs. "^DD",2006.563,2006.563,28,21,0) ^^7^7^3011016^ "^DD",2006.563,2006.563,28,21,1,0) The value of this field is a string that represents the name "^DD",2006.563,2006.563,28,21,2,0) of a site. Its value is copied from the INSTITUTION file when "^DD",2006.563,2006.563,28,21,3,0) a value is assigned to the field LOCATION in this table. "^DD",2006.563,2006.563,28,21,4,0) "^DD",2006.563,2006.563,28,21,5,0) A DICOM Gateway stores a redundant copy of this name, so that "^DD",2006.563,2006.563,28,21,6,0) it will be able to display the name when DDP is not available, "^DD",2006.563,2006.563,28,21,7,0) and the value cannot be fetched from ^DIC. "^DD",2006.563,2006.563,28,"DT") 3011016 "^DD",2006.563,2006.563,29,0) ACCESS CODE^F^^LOGIN ACCESS;1^K:$L(X)>30!($L(X)<1) X "^DD",2006.563,2006.563,29,3) Enter the access code for this gateway. "^DD",2006.563,2006.563,29,21,0) ^^2^2^3010226^ "^DD",2006.563,2006.563,29,21,1,0) The value of this field is a string that represents the access code that will be used "^DD",2006.563,2006.563,29,21,2,0) to operate this DICOM Gateway. "^DD",2006.563,2006.563,29,"DT") 3010226 "^DD",2006.563,2006.563,30,0) VERIFY CODE^F^^LOGIN VERIFY;1^K:$L(X)>30!($L(X)<1) X "^DD",2006.563,2006.563,30,3) Enter the verify code for this gateway. "^DD",2006.563,2006.563,30,21,0) ^^2^2^3010226^ "^DD",2006.563,2006.563,30,21,1,0) The value of this field is a string that represents the verify "^DD",2006.563,2006.563,30,21,2,0) code that will be used to operate this DICOM Gateway. "^DD",2006.563,2006.563,30,"DT") 3010226 "^DD",2006.563,2006.563,31,0) READ ONLY ACCESS^F^^LOGIN PRINT/VIEW ONLY;1^K:$L(X)>30!($L(X)<1) X "^DD",2006.563,2006.563,31,3) Enter the read-only access code for this gateway. "^DD",2006.563,2006.563,31,21,0) ^^2^2^3010226^ "^DD",2006.563,2006.563,31,21,1,0) The value of this field is a string that represents the access "^DD",2006.563,2006.563,31,21,2,0) code that will be used to operate this gateway in "read only" mode. "^DD",2006.563,2006.563,31,"DT") 3010226 "^DD",2006.563,2006.563,32,0) PROGRAMMER ACCESS^F^^LOGIN PROGRAMMER ACCESS;1^K:$L(X)>30!($L(X)<1) X "^DD",2006.563,2006.563,32,3) Enter the programmer access code for this gateway. "^DD",2006.563,2006.563,32,21,0) ^^2^2^3010226^ "^DD",2006.563,2006.563,32,21,1,0) The value of this field is a string that represents the access "^DD",2006.563,2006.563,32,21,2,0) code that will be used to gain programmer access to this gateway. "^DD",2006.563,2006.563,32,"DT") 3010226 "^DD",2006.563,2006.563,33,0) EVALUATOR^S^0:No;1:Yes;^EVAL;1^Q "^DD",2006.563,2006.563,33,3) Indicate whether a Rule Evaluator may currently run on this computer. "^DD",2006.563,2006.563,33,21,0) ^^7^7^3020809^ "^DD",2006.563,2006.563,33,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,33,21,2,0) a Rule Evaluator may currently run on this computer. "^DD",2006.563,2006.563,33,21,3,0) "^DD",2006.563,2006.563,33,21,4,0) This flag is automatically set to 1 (yes) when the menu option "^DD",2006.563,2006.563,33,21,5,0) is used to start a Rule Evaluator, and to 0 (no) when the "^DD",2006.563,2006.563,33,21,6,0) menu option is used to stop all Rule Evaluators. "^DD",2006.563,2006.563,33,21,7,0) "^DD",2006.563,2006.563,33,"DT") 3020809 "^DD",2006.563,2006.563,34,0) CSTORE CONTROL PORT^NJ5,0^^CSTORE CONTROL PORT;1^K:+X'=X!(X>65535)!(X<1)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,34,3) Enter a TCP/IP port number (between 1 and 65535). "^DD",2006.563,2006.563,34,21,0) ^.001^6^6^3020828^^ "^DD",2006.563,2006.563,34,21,1,0) The value of this field is an integer number that identifies "^DD",2006.563,2006.563,34,21,2,0) the TCP/IP port that will be used by each C-Store process to "^DD",2006.563,2006.563,34,21,3,0) obtain information from a DICOM Gateway. "^DD",2006.563,2006.563,34,21,4,0) "^DD",2006.563,2006.563,34,21,5,0) The information provided is limited to known "modalities" and "^DD",2006.563,2006.563,34,21,6,0) which port numbers are assigned to these modalities. "^DD",2006.563,2006.563,34,"DT") 3020828 "^DD",2006.563,2006.563,35,0) WORKLIST PORT^NJ5,0^^WORKLIST PORT;1^K:+X'=X!(X>65535)!(X<1)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,35,3) Enter a TCP/IP port number (between 1 and 65535). "^DD",2006.563,2006.563,35,21,0) ^^3^3^3020828^ "^DD",2006.563,2006.563,35,21,1,0) The value of this field is an integer number that identifies "^DD",2006.563,2006.563,35,21,2,0) the TCP/IP port that will be used by DICOM WorkList processes "^DD",2006.563,2006.563,35,21,3,0) to post their requests and obtain their results. "^DD",2006.563,2006.563,35,"DT") 3020828 "^DD",2006.563,2006.563,36,0) VISTA RPC PORT^NJ5,0^^M-to-M BROKER PORT;1^K:+X'=X!(X>65535)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,36,3) Enter the port number for the MUMPS-to-MUMPS broker on the VistA system "^DD",2006.563,2006.563,36,21,0) ^.001^3^3^3021107^^ "^DD",2006.563,2006.563,36,21,1,0) The value of this field is an integer number between 0 and "^DD",2006.563,2006.563,36,21,2,0) 65,535 that identifies the port number on which a "^DD",2006.563,2006.563,36,21,3,0) (MUMPS-to-MUMPS) RPC broker is "listening" on the VistA system. "^DD",2006.563,2006.563,36,"DT") 3021002 "^DD",2006.563,2006.563,37,0) VISTA RPC IP ADDRESS^F^^M-to-M BROKER ADDR;1^K:$L(X)>63!($L(X)<1) X "^DD",2006.563,2006.563,37,3) Enter the IP address of the VistA system. "^DD",2006.563,2006.563,37,21,0) ^^3^3^3021002^ "^DD",2006.563,2006.563,37,21,1,0) The value of this field is a string that identifies the IP address "^DD",2006.563,2006.563,37,21,2,0) of the VistA system. This IP address is used to establish "^DD",2006.563,2006.563,37,21,3,0) a MUMPS-to-MUMPS RPC broker connection. "^DD",2006.563,2006.563,37,"DT") 3021002 "^DD",2006.563,2006.563,38,0) PROFILE^2006.5632A^^PROFILE;0 "^DD",2006.563,2006.563,40,0) MAILGROUP^F^^MAILGROUP;1^K:$L(X)>240!($L(X)<5) X "^DD",2006.563,2006.563,40,3) Enter the name of a mailgroup for emergency messages. "^DD",2006.563,2006.563,40,21,0) ^^6^6^3021118^ "^DD",2006.563,2006.563,40,21,1,0) The value of this field is a string that identifies a (SMTP) mailgroup. "^DD",2006.563,2006.563,40,21,2,0) When emergencies arise, a DICOM Gateway will send an e-mail message "^DD",2006.563,2006.563,40,21,3,0) to this mailgroup. "^DD",2006.563,2006.563,40,21,4,0) Since the emergency might be that the connection with the VistA system "^DD",2006.563,2006.563,40,21,5,0) is temporarily not available, such messages are sent by SMTP mail, "^DD",2006.563,2006.563,40,21,6,0) not by FORUM mail. "^DD",2006.563,2006.563,40,"DT") 3021118 "^DD",2006.563,2006.563,46,0) DELAY FOR C-MOVE TO EMED^NJ5,0^^EMED_C_MOVE_DELAY;1^K:+X'=X!(X>36000)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,46,3) Enter the waiting time (seconds) before a C-Move to an E-Med may occur. "^DD",2006.563,2006.563,46,21,0) ^^4^4^3021212^ "^DD",2006.563,2006.563,46,21,1,0) The value of this field is an integer number. This number indicates "^DD",2006.563,2006.563,46,21,2,0) the waiting time (in seconds) that has to elapse between the "^DD",2006.563,2006.563,46,21,3,0) acquisition of an image and the time when this image may be "^DD",2006.563,2006.563,46,21,4,0) relayed on to an E-Med picture archival system. "^DD",2006.563,2006.563,46,"DT") 3021212 "^DD",2006.563,2006.563,47,0) LAST IMAGE POINTER^P2005'^MAG(2005,^LAST IMAGE POINTER;1^Q "^DD",2006.563,2006.563,47,3) Indicate the highest-numbered image processed. "^DD",2006.563,2006.563,47,21,0) ^^10^10^3021212^^ "^DD",2006.563,2006.563,47,21,1,0) The value of this field is a pointer to the Image File (#2005). "^DD",2006.563,2006.563,47,21,2,0) The pointed-to image is the one with the highest IEN that has "^DD",2006.563,2006.563,47,21,3,0) been processed by a DICOM Gateway. "^DD",2006.563,2006.563,47,21,4,0) "^DD",2006.563,2006.563,47,21,5,0) This value is being tracked for patient-safety reasons. "^DD",2006.563,2006.563,47,21,6,0) "^DD",2006.563,2006.563,47,21,7,0) At a number of sites it has happened that procedural mistakes during "^DD",2006.563,2006.563,47,21,8,0) normal maintenance caused part of the Image File to "disappear". "^DD",2006.563,2006.563,47,21,9,0) Keeping track of this highest IEN allows the imaging software to "^DD",2006.563,2006.563,47,21,10,0) cause a "controlled shut-down" when such a situation occurs. "^DD",2006.563,2006.563,47,"DT") 3021212 "^DD",2006.563,2006.563,48,0) LAST RAD REPORT POINTER^P74'^RARPT(^LAST RAD REPORT POINTER;1^Q "^DD",2006.563,2006.563,48,3) Indicate the highest numbered Radiology Report processed. "^DD",2006.563,2006.563,48,21,0) ^^10^10^3021212^^ "^DD",2006.563,2006.563,48,21,1,0) The value of this field is a pointer to the Rad/Nuc Report File (#74). "^DD",2006.563,2006.563,48,21,2,0) The pointed-to report is the one with the highest IEN that has "^DD",2006.563,2006.563,48,21,3,0) been processed by a DICOM Gateway. "^DD",2006.563,2006.563,48,21,4,0) "^DD",2006.563,2006.563,48,21,5,0) This value is being tracked for patient-safety reasons. "^DD",2006.563,2006.563,48,21,6,0) "^DD",2006.563,2006.563,48,21,7,0) At a number of sites it has happened that procedural mistakes during "^DD",2006.563,2006.563,48,21,8,0) normal maintenance caused part of the Rad/Nuc Report to "disappear". "^DD",2006.563,2006.563,48,21,9,0) Keeping track of this highest IEN allows the imaging software to "^DD",2006.563,2006.563,48,21,10,0) cause a "controlled shut-down" when such a situation occurs. "^DD",2006.563,2006.563,48,"DT") 3021212 "^DD",2006.563,2006.563,49,0) SUPPORT ACCESS^F^^LOGIN SUPPORT;1^K:$L(X)>30!($L(X)<1) X "^DD",2006.563,2006.563,49,3) Enter the code that allows support staff local access to a DICOM Gateway. "^DD",2006.563,2006.563,49,21,0) ^^2^2^3021212^^ "^DD",2006.563,2006.563,49,21,1,0) The value of this field is a string that represents the access "^DD",2006.563,2006.563,49,21,2,0) code that will be used to gain 'support staff' access to this gateway. "^DD",2006.563,2006.563,49,"DT") 3021212 "^DD",2006.563,2006.563,50,0) ET PHONES HOME^S^YES:Yes;NO:No;^MAGDBB;1^Q "^DD",2006.563,2006.563,50,3) Indicate whether or not the ET-Phone Home service will be active. "^DD",2006.563,2006.563,50,21,0) ^^8^8^3021212^ "^DD",2006.563,2006.563,50,21,1,0) The value of this field is a code that indicates whether or "^DD",2006.563,2006.563,50,21,2,0) not the "ET-Phone Home" feature will be enabled. "^DD",2006.563,2006.563,50,21,3,0) "^DD",2006.563,2006.563,50,21,4,0) When the value of this field is equal to "YES", the DICOM Gateway "^DD",2006.563,2006.563,50,21,5,0) will send a report to the support-organization in Silver Spring "^DD",2006.563,2006.563,50,21,6,0) each day. This report includes a summary of the entries in the "^DD",2006.563,2006.563,50,21,7,0) error trap, information of site-specific parameters and station-specific "^DD",2006.563,2006.563,50,21,8,0) parameters, checksums of routines, and usage statistics. "^DD",2006.563,2006.563,50,"DT") 3021212 "^DD",2006.563,2006.563,51,0) M-to-M BROKER MESSAGES^S^YES:Yes;NO:No;^M-to-M BROKER MSGS;1^Q "^DD",2006.563,2006.563,51,3) Indicate whether or not messages about the M-to-M broker will be logged. "^DD",2006.563,2006.563,51,21,0) ^^6^6^3021212^ "^DD",2006.563,2006.563,51,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,51,21,2,0) messages will be logged that report on the usage of the MUMPS-to-MUMPS "^DD",2006.563,2006.563,51,21,3,0) RPC Broker. "^DD",2006.563,2006.563,51,21,4,0) "^DD",2006.563,2006.563,51,21,5,0) When the value of this field is equal to "YES", such "^DD",2006.563,2006.563,51,21,6,0) messages will be logged. "^DD",2006.563,2006.563,51,"DT") 3021212 "^DD",2006.563,2006.563,52,0) PACS EXAM COMPLETE^S^YES:Yes;NO:No;^PACS EXAM COMPLETE;1^Q "^DD",2006.563,2006.563,52,3) Indicate whether or not a PACS will be sending Exam Complete messages. "^DD",2006.563,2006.563,52,21,0) ^^6^6^3021212^ "^DD",2006.563,2006.563,52,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,52,21,2,0) this DICOM Gateway will be receiving "Exam Complete" messages "^DD",2006.563,2006.563,52,21,3,0) from a PACS. "^DD",2006.563,2006.563,52,21,4,0) "^DD",2006.563,2006.563,52,21,5,0) When the value of this field is "YES", such messages will be "^DD",2006.563,2006.563,52,21,6,0) processed. "^DD",2006.563,2006.563,52,"DT") 3021212 "^DD",2006.563,2006.563,54,0) STOP ROUTING TRANSMITTER^S^1:Stop;0:Run;^ROUTE AQ EXIT;1^Q "^DD",2006.563,2006.563,54,3) Indicate whether routing transmitters may run. "^DD",2006.563,2006.563,54,21,0) ^^13^13^3021212^ "^DD",2006.563,2006.563,54,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,54,21,2,0) routing transmitters are currently allowed to run on a suite "^DD",2006.563,2006.563,54,21,3,0) of DICOM Gateways. "^DD",2006.563,2006.563,54,21,4,0) "^DD",2006.563,2006.563,54,21,5,0) When a routing transmitter process is started, the value of this "^DD",2006.563,2006.563,54,21,6,0) field is set to 0 (run). "^DD",2006.563,2006.563,54,21,7,0) "^DD",2006.563,2006.563,54,21,8,0) When the menu option "Stop Transmission Processors" is executed, "^DD",2006.563,2006.563,54,21,9,0) the value of this field is set to 1 (Stop). "^DD",2006.563,2006.563,54,21,10,0) "^DD",2006.563,2006.563,54,21,11,0) The software of the transmission processor checks this value to "^DD",2006.563,2006.563,54,21,12,0) determine whether to stop gracefully, or to continue transmitting "^DD",2006.563,2006.563,54,21,13,0) the next file. "^DD",2006.563,2006.563,54,"DT") 3021212 "^DD",2006.563,2006.563,55,0) DASHES IN SSN FOR PACS^S^YES:Include dashes;NO:Omit dashes;^SSN DASHES FOR PACS;1^Q "^DD",2006.563,2006.563,55,3) Indicate whether or not the PACS wants dashes in SSNs. "^DD",2006.563,2006.563,55,21,0) ^^8^8^3021212^ "^DD",2006.563,2006.563,55,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,55,21,2,0) the PACS (Picture Archival and Communication System) that "^DD",2006.563,2006.563,55,21,3,0) is connected to this DICOM Gateway requires that SSNs are "^DD",2006.563,2006.563,55,21,4,0) transmitted with dashes included or not. "^DD",2006.563,2006.563,55,21,5,0) "^DD",2006.563,2006.563,55,21,6,0) When the value of this field is equal to "YES", SSNs will be "^DD",2006.563,2006.563,55,21,7,0) transmitted to this PACS with dashed included; otherwise the "^DD",2006.563,2006.563,55,21,8,0) dashes will be omitted. "^DD",2006.563,2006.563,55,"DT") 3021212 "^DD",2006.563,2006.563,56,0) INSTALLATION^2006.5634A^^INSTALL;0 "^DD",2006.563,2006.563,56,"DT") 3021212 "^DD",2006.563,2006.563,58,0) LAST CONFIGURATION CHANGE^D^^CONFIG DATE/TIME;1^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,58,3) Enter the date and time the configuration was last changed. "^DD",2006.563,2006.563,58,21,0) ^^3^3^3040303^ "^DD",2006.563,2006.563,58,21,1,0) The value of this field is a timestamp (VA-FileMan format) "^DD",2006.563,2006.563,58,21,2,0) that indicates the date and time when the most recent configuration "^DD",2006.563,2006.563,58,21,3,0) update occurred on this DICOM Gateway. "^DD",2006.563,2006.563,58,"DT") 3040303 "^DD",2006.563,2006.563,59,0) DICOM TRANSMITTER ACTIVE^S^RUN:Running;STOP:Inactive;^DICOM XMIT;1^Q "^DD",2006.563,2006.563,59,3) Indicate whether a DICOM transmitter is running or not. "^DD",2006.563,2006.563,59,21,0) ^^6^6^3040303^ "^DD",2006.563,2006.563,59,21,1,0) The value of this field is a code that indicates whether or "^DD",2006.563,2006.563,59,21,2,0) not a DICOM Transmitter is currently running. "^DD",2006.563,2006.563,59,21,3,0) Possible values are "RUN" and "STOP". "^DD",2006.563,2006.563,59,21,4,0) Each active DICOM Transmitter will periodically check the value of "^DD",2006.563,2006.563,59,21,5,0) this field, and gracefully terminate if the value of this field "^DD",2006.563,2006.563,59,21,6,0) has been set to "STOP". "^DD",2006.563,2006.563,59,"DT") 3040303 "^DD",2006.563,2006.563,60,0) DOMAIN^F^^DOMAIN;1^K:$L(X)>63!($L(X)<1) X "^DD",2006.563,2006.563,60,3) Enter the site's domain name. "^DD",2006.563,2006.563,60,21,0) ^^5^5^3040303^ "^DD",2006.563,2006.563,60,21,1,0) The value of this field is a string that identifies the domain "^DD",2006.563,2006.563,60,21,2,0) to which the site belongs at which this DICOM Gateway is located. "^DD",2006.563,2006.563,60,21,3,0) This field is populated automatically, using an RPC to query "^DD",2006.563,2006.563,60,21,4,0) the VistA system for the current values of its Kernel Site Parameters "^DD",2006.563,2006.563,60,21,5,0) when the configuration of the DICOM Gateway is updated. "^DD",2006.563,2006.563,60,"DT") 3040303 "^DD",2006.563,2006.563,61,0) PACS QUERY^2006.5633A^^GE CONV #HRS;0 "^DD",2006.563,2006.563,62,0) PACS QUERY ACTIVE^S^YES:Active;NO:Idle;STOP:Stop Requested;^GE CONV ACTIVE;1^Q "^DD",2006.563,2006.563,62,3) Indicate whether a PACS Query is currently running. "^DD",2006.563,2006.563,62,21,0) ^^10^10^3040303^ "^DD",2006.563,2006.563,62,21,1,0) The value of this field is a code that indicates whether "^DD",2006.563,2006.563,62,21,2,0) a PACS query process is currently active. "^DD",2006.563,2006.563,62,21,3,0) Possible values are "YES", "NO" and "STOP". "^DD",2006.563,2006.563,62,21,4,0) "^DD",2006.563,2006.563,62,21,5,0) Each PACS Query process will periodically check the value of "^DD",2006.563,2006.563,62,21,6,0) this field, and gracefully terminate if the value of this field "^DD",2006.563,2006.563,62,21,7,0) has been set to "STOP". "^DD",2006.563,2006.563,62,21,8,0) "^DD",2006.563,2006.563,62,21,9,0) When a PACS Query Process fully completed its activity, it "^DD",2006.563,2006.563,62,21,10,0) will set the value of this field to "NO". "^DD",2006.563,2006.563,62,"DT") 3040303 "^DD",2006.563,2006.563,63,0) PACS QUERY DIRECTION^S^ASCENDING:Ascending Order;DESCENDING:Descending Order;^GE CONV DIR;1^Q "^DD",2006.563,2006.563,63,3) Indicate the traversal direction. "^DD",2006.563,2006.563,63,21,0) ^^3^3^3040303^ "^DD",2006.563,2006.563,63,21,1,0) The value of this field is a code that indicates in which direction "^DD",2006.563,2006.563,63,21,2,0) the PACS QUery process will traverse the database. "^DD",2006.563,2006.563,63,21,3,0) Possible values are "ASCENDING" and "DESCENDING". "^DD",2006.563,2006.563,63,"DT") 3040303 "^DD",2006.563,2006.563,64,0) PACS QUERY ERA 1 START^D^^GE CONV ERA1;1^S %DT="E" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,64,3) Indicate the start of the ACR/NEMA era. "^DD",2006.563,2006.563,64,21,0) ^^16^16^3040303^ "^DD",2006.563,2006.563,64,21,1,0) The value of this field is a timestamp (VA FileMan format, "^DD",2006.563,2006.563,64,21,2,0) date only) that indicates the start of the time-period during "^DD",2006.563,2006.563,64,21,3,0) which communication with the PACS was conducted using the "^DD",2006.563,2006.563,64,21,4,0) ACR/NEMA protocol. "^DD",2006.563,2006.563,64,21,5,0) "^DD",2006.563,2006.563,64,21,6,0) When querying the PACS, the query process will issue its queries "^DD",2006.563,2006.563,64,21,7,0) according to this protocol for all studies that were conducted "^DD",2006.563,2006.563,64,21,8,0) between the start and end dates that are registered in this "^DD",2006.563,2006.563,64,21,9,0) field (and the next). "^DD",2006.563,2006.563,64,21,10,0) "^DD",2006.563,2006.563,64,21,11,0) Note that protocol-eras are allowed to overlap. The result "^DD",2006.563,2006.563,64,21,12,0) of registering overlapping protocol eras will be that the "^DD",2006.563,2006.563,64,21,13,0) query process will issues its requests according to all protocols "^DD",2006.563,2006.563,64,21,14,0) that could have been valid at the time. The PACS, on the other "^DD",2006.563,2006.563,64,21,15,0) hand, will only respond to requests that correspond to the "^DD",2006.563,2006.563,64,21,16,0) protocol that was actually active at the time. "^DD",2006.563,2006.563,64,"DT") 3040303 "^DD",2006.563,2006.563,65,0) PACS QUERY ERA 1 END^D^^GE CONV ERA1;2^S %DT="E" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,65,3) Indicate the end of the ACR/NEMA era. "^DD",2006.563,2006.563,65,21,0) ^^16^16^3040303^ "^DD",2006.563,2006.563,65,21,1,0) The value of this field is a timestamp (VA FileMan format, "^DD",2006.563,2006.563,65,21,2,0) date only) that indicates the end of the time-period during "^DD",2006.563,2006.563,65,21,3,0) which communication with the PACS was conducted using the "^DD",2006.563,2006.563,65,21,4,0) ACR/NEMA protocol. "^DD",2006.563,2006.563,65,21,5,0) "^DD",2006.563,2006.563,65,21,6,0) When querying the PACS, the query process will issue its queries "^DD",2006.563,2006.563,65,21,7,0) according to this protocol for all studies that were conducted "^DD",2006.563,2006.563,65,21,8,0) between the start and end dates that are registered in this "^DD",2006.563,2006.563,65,21,9,0) field (and the previous). "^DD",2006.563,2006.563,65,21,10,0) "^DD",2006.563,2006.563,65,21,11,0) Note that protocol-eras are allowed to overlap. The result "^DD",2006.563,2006.563,65,21,12,0) of registering overlapping protocol eras will be that the "^DD",2006.563,2006.563,65,21,13,0) query process will issues its requests according to all protocols "^DD",2006.563,2006.563,65,21,14,0) that could have been valid at the time. The PACS, on the other "^DD",2006.563,2006.563,65,21,15,0) hand, will only respond to requests that correspond to the "^DD",2006.563,2006.563,65,21,16,0) protocol that was actually active at the time. "^DD",2006.563,2006.563,65,"DT") 3040303 "^DD",2006.563,2006.563,66,0) PACS QUERY ERA 2 START^D^^GE CONV ERA2;1^S %DT="E" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,66,3) Indicate the start of the Pre 12.1 era. "^DD",2006.563,2006.563,66,21,0) ^^16^16^3040303^ "^DD",2006.563,2006.563,66,21,1,0) The value of this field is a timestamp (VA FileMan format, "^DD",2006.563,2006.563,66,21,2,0) date only) that indicates the start of the time-period during "^DD",2006.563,2006.563,66,21,3,0) which communication with the PACS was conducted using the "^DD",2006.563,2006.563,66,21,4,0) Pre Version 12.1 protocol. "^DD",2006.563,2006.563,66,21,5,0) "^DD",2006.563,2006.563,66,21,6,0) When querying the PACS, the query process will issue its queries "^DD",2006.563,2006.563,66,21,7,0) according to this protocol for all studies that were conducted "^DD",2006.563,2006.563,66,21,8,0) between the start and end dates that are registered in this "^DD",2006.563,2006.563,66,21,9,0) field (and the next). "^DD",2006.563,2006.563,66,21,10,0) "^DD",2006.563,2006.563,66,21,11,0) Note that protocol-eras are allowed to overlap. The result "^DD",2006.563,2006.563,66,21,12,0) of registering overlapping protocol eras will be that the "^DD",2006.563,2006.563,66,21,13,0) query process will issues its requests according to all protocols "^DD",2006.563,2006.563,66,21,14,0) that could have been valid at the time. The PACS, on the other "^DD",2006.563,2006.563,66,21,15,0) hand, will only respond to requests that correspond to the "^DD",2006.563,2006.563,66,21,16,0) protocol that was actually active at the time. "^DD",2006.563,2006.563,66,"DT") 3040303 "^DD",2006.563,2006.563,67,0) PACS QUERY ERA 2 END^D^^GE CONV ERA2;2^S %DT="E" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,67,3) Indicate the end of the Pre 12.1 era. "^DD",2006.563,2006.563,67,21,0) ^^16^16^3040303^ "^DD",2006.563,2006.563,67,21,1,0) The value of this field is a timestamp (VA FileMan format, "^DD",2006.563,2006.563,67,21,2,0) date only) that indicates the end of the time-period during "^DD",2006.563,2006.563,67,21,3,0) which communication with the PACS was conducted using the "^DD",2006.563,2006.563,67,21,4,0) Pre Version 12.1 protocol. "^DD",2006.563,2006.563,67,21,5,0) "^DD",2006.563,2006.563,67,21,6,0) When querying the PACS, the query process will issue its queries "^DD",2006.563,2006.563,67,21,7,0) according to this protocol for all studies that were conducted "^DD",2006.563,2006.563,67,21,8,0) between the start and end dates that are registered in this "^DD",2006.563,2006.563,67,21,9,0) field (and the previous). "^DD",2006.563,2006.563,67,21,10,0) "^DD",2006.563,2006.563,67,21,11,0) Note that protocol-eras are allowed to overlap. The result "^DD",2006.563,2006.563,67,21,12,0) of registering overlapping protocol eras will be that the "^DD",2006.563,2006.563,67,21,13,0) query process will issues its requests according to all protocols "^DD",2006.563,2006.563,67,21,14,0) that could have been valid at the time. The PACS, on the other "^DD",2006.563,2006.563,67,21,15,0) hand, will only respond to requests that correspond to the "^DD",2006.563,2006.563,67,21,16,0) protocol that was actually active at the time. "^DD",2006.563,2006.563,67,"DT") 3040303 "^DD",2006.563,2006.563,68,0) PACS QUERY ERA 3 START^D^^GE CONV ERA3;1^S %DT="E" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,68,3) Indicate the start of the Post 12.1 era. "^DD",2006.563,2006.563,68,21,0) ^^16^16^3040303^ "^DD",2006.563,2006.563,68,21,1,0) The value of this field is a timestamp (VA FileMan format, "^DD",2006.563,2006.563,68,21,2,0) date only) that indicates the start of the time-period during "^DD",2006.563,2006.563,68,21,3,0) which communication with the PACS was conducted using the "^DD",2006.563,2006.563,68,21,4,0) Post Version 12.1 protocol. "^DD",2006.563,2006.563,68,21,5,0) "^DD",2006.563,2006.563,68,21,6,0) When querying the PACS, the query process will issue its queries "^DD",2006.563,2006.563,68,21,7,0) according to this protocol for all studies that were conducted "^DD",2006.563,2006.563,68,21,8,0) between the start and end dates that are registered in this "^DD",2006.563,2006.563,68,21,9,0) field (and the next). "^DD",2006.563,2006.563,68,21,10,0) "^DD",2006.563,2006.563,68,21,11,0) Note that protocol-eras are allowed to overlap. The result "^DD",2006.563,2006.563,68,21,12,0) of registering overlapping protocol eras will be that the "^DD",2006.563,2006.563,68,21,13,0) query process will issues its requests according to all protocols "^DD",2006.563,2006.563,68,21,14,0) that could have been valid at the time. The PACS, on the other "^DD",2006.563,2006.563,68,21,15,0) hand, will only respond to requests that correspond to the "^DD",2006.563,2006.563,68,21,16,0) protocol that was actually active at the time. "^DD",2006.563,2006.563,68,"DT") 3040303 "^DD",2006.563,2006.563,69,0) PACS QUERY ERA 3 END^D^^GE CONV ERA3;2^S %DT="E" D ^%DT S X=Y K:Y<1 X "^DD",2006.563,2006.563,69,3) Indicate the end of the Post 12.1 era. "^DD",2006.563,2006.563,69,21,0) ^^16^16^3040303^ "^DD",2006.563,2006.563,69,21,1,0) The value of this field is a timestamp (VA FileMan format, "^DD",2006.563,2006.563,69,21,2,0) date only) that indicates the end of the time-period during "^DD",2006.563,2006.563,69,21,3,0) which communication with the PACS was conducted using the "^DD",2006.563,2006.563,69,21,4,0) Post Version 12.1 protocol. "^DD",2006.563,2006.563,69,21,5,0) "^DD",2006.563,2006.563,69,21,6,0) When querying the PACS, the query process will issue its queries "^DD",2006.563,2006.563,69,21,7,0) according to this protocol for all studies that were conducted "^DD",2006.563,2006.563,69,21,8,0) between the start and end dates that are registered in this "^DD",2006.563,2006.563,69,21,9,0) field (and the previous). "^DD",2006.563,2006.563,69,21,10,0) "^DD",2006.563,2006.563,69,21,11,0) Note that protocol-eras are allowed to overlap. The result "^DD",2006.563,2006.563,69,21,12,0) of registering overlapping protocol eras will be that the "^DD",2006.563,2006.563,69,21,13,0) query process will issues its requests according to all protocols "^DD",2006.563,2006.563,69,21,14,0) that could have been valid at the time. The PACS, on the other "^DD",2006.563,2006.563,69,21,15,0) hand, will only respond to requests that correspond to the "^DD",2006.563,2006.563,69,21,16,0) protocol that was actually active at the time. "^DD",2006.563,2006.563,69,"DT") 3040303 "^DD",2006.563,2006.563,70,0) PACS QUERY UPPER LIMIT^P74'^RARPT(^GE CONV HI;1^Q "^DD",2006.563,2006.563,70,3) Identify the most recent Radiology Report to be queried. "^DD",2006.563,2006.563,70,21,0) ^^9^9^3040303^ "^DD",2006.563,2006.563,70,21,1,0) The value of this field is a pointer to the Radiology Report Table "^DD",2006.563,2006.563,70,21,2,0) (#74). This pointer identifies the highest internal entry number of "^DD",2006.563,2006.563,70,21,3,0) a report that was scanned by the PACS Query Process. "^DD",2006.563,2006.563,70,21,4,0) "^DD",2006.563,2006.563,70,21,5,0) When the "highest" and "lowest" pointer values "pass" one another, "^DD",2006.563,2006.563,70,21,6,0) the scanning process is complete. "^DD",2006.563,2006.563,70,21,7,0) "^DD",2006.563,2006.563,70,21,8,0) Note that the end-user may decide to switch the scanning direction "^DD",2006.563,2006.563,70,21,9,0) from "ASCENDING" to "DESCENDING" (or the other way about) at any time. "^DD",2006.563,2006.563,70,"DT") 3040303 "^DD",2006.563,2006.563,71,0) PACS QUERY LOWER LIMIT^P74'^RARPT(^GE CONV LO;1^Q "^DD",2006.563,2006.563,71,3) Indicate the oldest Radiology Report to be queried. "^DD",2006.563,2006.563,71,21,0) ^^9^9^3040303^ "^DD",2006.563,2006.563,71,21,1,0) The value of this field is a pointer to the Radiology Report Table "^DD",2006.563,2006.563,71,21,2,0) (#74). This pointer identifies the lowest internal entry number of "^DD",2006.563,2006.563,71,21,3,0) a report that was scanned by the PACS Query Process. "^DD",2006.563,2006.563,71,21,4,0) "^DD",2006.563,2006.563,71,21,5,0) When the "highest" and "lowest" pointer values "pass" one another, "^DD",2006.563,2006.563,71,21,6,0) the scanning process is complete. "^DD",2006.563,2006.563,71,21,7,0) "^DD",2006.563,2006.563,71,21,8,0) Note that the end-user may decide to switch the scanning direction "^DD",2006.563,2006.563,71,21,9,0) from "ASCENDING" to "DESCENDING" (or the other way about) at any time. "^DD",2006.563,2006.563,71,"DT") 3040303 "^DD",2006.563,2006.563,72,0) PACS QUERY ALLOW ACTIVITY^F^^GE CONV HRS;1^K:$L(X)>24!($L(X)<24) X "^DD",2006.563,2006.563,72,3) Indicate when PACS Queries may be active. "^DD",2006.563,2006.563,72,21,0) ^^10^10^3040303^ "^DD",2006.563,2006.563,72,21,1,0) The value of this field is a string of exactly 24 characters. "^DD",2006.563,2006.563,72,21,2,0) Each of these characters is either a "Y" or an "N". "^DD",2006.563,2006.563,72,21,3,0) Each character in this string corresponds to an hour of the day, "^DD",2006.563,2006.563,72,21,4,0) and indicates whether or not a PACS Query Process is allowed to "^DD",2006.563,2006.563,72,21,5,0) be active during that hour of the day. "^DD",2006.563,2006.563,72,21,6,0) "^DD",2006.563,2006.563,72,21,7,0) The first character corresponds to the hour between midnight and 1am, "^DD",2006.563,2006.563,72,21,8,0) the last one corresponds to the hour between 11pm and midnight. "^DD",2006.563,2006.563,72,21,9,0) "^DD",2006.563,2006.563,72,21,10,0) The default value of this field is "YYYYYYYYYYYYYYYYYYYYYYYY". "^DD",2006.563,2006.563,72,"DT") 3040303 "^DD",2006.563,2006.563,73,0) CURRENT IMAGE POINTER^P2005'^MAG(2005,^CURRENT IMAGE POINTER;1^Q "^DD",2006.563,2006.563,73,3) Identify the image currently being processed. "^DD",2006.563,2006.563,73,21,0) ^^3^3^3040303^ "^DD",2006.563,2006.563,73,21,1,0) The value of this field is a pointer to the Image Table "^DD",2006.563,2006.563,73,21,2,0) (#2005). This value identifies the image that is currently "^DD",2006.563,2006.563,73,21,3,0) being processed. "^DD",2006.563,2006.563,73,"DT") 3040303 "^DD",2006.563,2006.563,74,0) CURRENT IMAGE DESTINATION^F^^CURRENT IMAGE DESTINATION;1^K:$L(X)>250!($L(X)<1) X "^DD",2006.563,2006.563,74,3) Identify the directory and file name where this image will be stored. "^DD",2006.563,2006.563,74,21,0) ^^3^3^3040303^ "^DD",2006.563,2006.563,74,21,1,0) The value of this field is a string that identifies the image file "^DD",2006.563,2006.563,74,21,2,0) (host system file name, including directory path) that is "^DD",2006.563,2006.563,74,21,3,0) currently being created. "^DD",2006.563,2006.563,74,"DT") 3040303 "^DD",2006.563,2006.563,75,0) CURRENT IMAGE FILE NAME^F^^CURRENT IMAGE FILE NAME;1^K:$L(X)>240!($L(X)<1) X "^DD",2006.563,2006.563,75,3) Identify the file (HSF) currently being processed. "^DD",2006.563,2006.563,75,21,0) ^^3^3^3040303^ "^DD",2006.563,2006.563,75,21,1,0) The value of this field is a string that identifies the image file "^DD",2006.563,2006.563,75,21,2,0) (host system file name, no directory path) that is "^DD",2006.563,2006.563,75,21,3,0) currently being processed. "^DD",2006.563,2006.563,75,"DT") 3040303 "^DD",2006.563,2006.563,76,0) CURRENT IMAGE SOURCE^F^^CURRENT IMAGE SOURCE;1^K:$L(X)>240!($L(X)<1) X "^DD",2006.563,2006.563,76,3) Identify the directory where the current file resides. "^DD",2006.563,2006.563,76,21,0) ^^2^2^3040303^ "^DD",2006.563,2006.563,76,21,1,0) The value of this field is a string that identifies the image file "^DD",2006.563,2006.563,76,21,2,0) (directory path, no file name) that is currently being processed. "^DD",2006.563,2006.563,76,"DT") 3040303 "^DD",2006.563,2006.563,77,0) LAST UID^F^^LAST UID;1^K:$L(X)>64!($L(X)<1) X "^DD",2006.563,2006.563,77,3) Record the most recently issued UID for a new object. "^DD",2006.563,2006.563,77,21,0) ^^6^6^3040303^ "^DD",2006.563,2006.563,77,21,1,0) The value of this field is a string that meets the format "^DD",2006.563,2006.563,77,21,2,0) of a Unique Object Identifier as specified in the DICOM Standard "^DD",2006.563,2006.563,77,21,3,0) (maximum 64 characters, only digits and periods, leading characters "^DD",2006.563,2006.563,77,21,4,0) are the root-numbers that are assigned by ANSI to the VA). "^DD",2006.563,2006.563,77,21,5,0) The value of this field is the UID that was most recently assigned "^DD",2006.563,2006.563,77,21,6,0) by the DICOM Gateway. "^DD",2006.563,2006.563,77,"DT") 3040303 "^DD",2006.563,2006.563,78,0) BACKGROUND PROCESS ACCESS^F^^M-to-M BROKER BGND ACCESS;1^K:$L(X)>63!($L(X)<1) X "^DD",2006.563,2006.563,78,3) Enter the access code for background processes. "^DD",2006.563,2006.563,78,21,0) ^^8^8^3040303^ "^DD",2006.563,2006.563,78,21,1,0) The value of this field is an (encrypted) string. This value will "^DD",2006.563,2006.563,78,21,2,0) be used as an access code by the DICOM Gateway when a "modality" "^DD",2006.563,2006.563,78,21,3,0) performs a Modality Worklist Query, in those special cases where "^DD",2006.563,2006.563,78,21,4,0) the DICOM Gateway needs to query the VistA system about details "^DD",2006.563,2006.563,78,21,5,0) about "old" Radiology studies. (Under normal circumstances, a "^DD",2006.563,2006.563,78,21,6,0) DICOM Gateway will be able to respond to a Modality Worklist "^DD",2006.563,2006.563,78,21,7,0) QUery using only information that is stored on the DICOM Gateway "^DD",2006.563,2006.563,78,21,8,0) itself.) "^DD",2006.563,2006.563,78,"DT") 3040303 "^DD",2006.563,2006.563,79,0) BACKGROUND PROCESS VERIFY^F^^M-to-M BROKER BGND VERIFY;1^K:$L(X)>63!($L(X)<1) X "^DD",2006.563,2006.563,79,3) Enter the verify code for background processes. "^DD",2006.563,2006.563,79,21,0) ^^8^8^3040303^ "^DD",2006.563,2006.563,79,21,1,0) The value of this field is an (encrypted) string. This value will "^DD",2006.563,2006.563,79,21,2,0) be used as a verify code by the DICOM Gateway when a "modality" "^DD",2006.563,2006.563,79,21,3,0) performs a Modality Worklist Query, in those special cases where "^DD",2006.563,2006.563,79,21,4,0) the DICOM Gateway needs to query the VistA system about details "^DD",2006.563,2006.563,79,21,5,0) about "old" Radiology studies. (Under normal circumstances, a "^DD",2006.563,2006.563,79,21,6,0) DICOM Gateway will be able to respond to a Modality Worklist "^DD",2006.563,2006.563,79,21,7,0) QUery using only information that is stored on the DICOM Gateway "^DD",2006.563,2006.563,79,21,8,0) itself.) "^DD",2006.563,2006.563,79,"DT") 3040303 "^DD",2006.563,2006.563,80,0) M2M BROKER DEBUG^S^1:Yes;0:No;^M2M DEBUG;1^Q "^DD",2006.563,2006.563,80,3) Indicate whether or not debugging is active for M2M Broker sessions. "^DD",2006.563,2006.563,80,21,0) ^^13^13^3040303^ "^DD",2006.563,2006.563,80,21,1,0) The value of this field is a code that indicates whether "^DD",2006.563,2006.563,80,21,2,0) or not the client for the MUMPS-to-MUMPS Broker should record "^DD",2006.563,2006.563,80,21,3,0) any debugging information. Possible values are 1 (do record "^DD",2006.563,2006.563,80,21,4,0) information) and 0 (do NOT record any information). "^DD",2006.563,2006.563,80,21,5,0) "^DD",2006.563,2006.563,80,21,6,0) When a DICOM Gateway is installed at a new site, the value of "^DD",2006.563,2006.563,80,21,7,0) this field is "false", and this field can only receive a "true" "^DD",2006.563,2006.563,80,21,8,0) value through a manual operation from "programmer mode". "^DD",2006.563,2006.563,80,21,9,0) "^DD",2006.563,2006.563,80,21,10,0) Since the information that is recorded when this switch is turned "^DD",2006.563,2006.563,80,21,11,0) "on" is quite voluminous, this switch should only be used by "^DD",2006.563,2006.563,80,21,12,0) support personnel to diagnose a problem, and turned off "^DD",2006.563,2006.563,80,21,13,0) immediately after the problem is diagnosed. "^DD",2006.563,2006.563,80,"DT") 3040303 "^DD",2006.563,2006.563,81,0) MULTIFRAME COUNTER^NJ9,0^^MULTIFRAME COUNTER;1^K:+X'=X!(X>999999999)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.563,2006.563,81,3) Record the sequence number of the last-processed frame. "^DD",2006.563,2006.563,81,21,0) ^^13^13^3040303^ "^DD",2006.563,2006.563,81,21,1,0) The value of this field is an integer number that records the "^DD",2006.563,2006.563,81,21,2,0) progress through the various frames of a multi-frame image "^DD",2006.563,2006.563,81,21,3,0) as data for that image is being received. "^DD",2006.563,2006.563,81,21,4,0) "^DD",2006.563,2006.563,81,21,5,0) Under normal circumstances, the various "frames" are converted "^DD",2006.563,2006.563,81,21,6,0) to individual images, and there is no need to know the number of "^DD",2006.563,2006.563,81,21,7,0) frames processed to any process process other than the one "^DD",2006.563,2006.563,81,21,8,0) receiving the image data. "^DD",2006.563,2006.563,81,21,9,0) "^DD",2006.563,2006.563,81,21,10,0) However, if that process is interrupted (user interrupt, network "^DD",2006.563,2006.563,81,21,11,0) outage, power failure), a subsequent process will need to know "^DD",2006.563,2006.563,81,21,12,0) which sub-images have already been created when it starts processing "^DD",2006.563,2006.563,81,21,13,0) the re-transmission of the image data. "^DD",2006.563,2006.563,81,"DT") 3040303 "^DD",2006.563,2006.563,82,0) SHOW PATIENT IDENTIFIERS^S^YES:Yes;NO:No;^SHOW PATIENT NAME & ID;1^Q "^DD",2006.563,2006.563,82,3) Indicate whether or not Patient Identifiers will be displayed. "^DD",2006.563,2006.563,82,21,0) ^^11^11^3040303^ "^DD",2006.563,2006.563,82,21,1,0) The value of this field is a code that indicates whether or not "^DD",2006.563,2006.563,82,21,2,0) an Image Gateway is to display patient identifying information "^DD",2006.563,2006.563,82,21,3,0) while processing images. "^DD",2006.563,2006.563,82,21,4,0) Possible values are "YES" and "NO". "^DD",2006.563,2006.563,82,21,5,0) "^DD",2006.563,2006.563,82,21,6,0) When a DICOM Gateway is located in a well-protected area, it is "^DD",2006.563,2006.563,82,21,7,0) permissible to leave the value of this field equal to "YES". "^DD",2006.563,2006.563,82,21,8,0) When a DICOM Gateway is located in a publicly accessible area, "^DD",2006.563,2006.563,82,21,9,0) the value of this field may only be set to "YES" while an "^DD",2006.563,2006.563,82,21,10,0) adequately privileged user is diagnosing a problem, and should "^DD",2006.563,2006.563,82,21,11,0) be set to "NO" at all other times. "^DD",2006.563,2006.563,82,"DT") 3040303 "^DD",2006.563,2006.563,83,0) TEXT GATEWAY SERVICE^S^RAD:Radiology;CON:Consults;^TEXT GATEWAY SERVICE;1^Q "^DD",2006.563,2006.563,83,3) Identify the kind of Imaging Service that is processed by this Gateway. "^DD",2006.563,2006.563,83,21,0) ^^3^3^3040303^ "^DD",2006.563,2006.563,83,21,1,0) The value of this field is a code that indicates which imaging "^DD",2006.563,2006.563,83,21,2,0) service is being performed by this Text Gateway. "^DD",2006.563,2006.563,83,21,3,0) Possible values are "RAD" (Radiology) and "CON" (Consults). "^DD",2006.563,2006.563,83,"DT") 3040303 "^DD",2006.563,2006.5631,0) DATA PATH SUB-FIELD^^.001^3 "^DD",2006.563,2006.5631,0,"DT") 3010227 "^DD",2006.563,2006.5631,0,"IX","B",2006.5631,.01) "^DD",2006.563,2006.5631,0,"NM","DATA PATH") "^DD",2006.563,2006.5631,0,"UP") 2006.563 "^DD",2006.563,2006.5631,.001,0) NUMBER^NJ3,0^^ ^K:+X'=X!(X>999)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.563,2006.5631,.001,3) Enter the sequence number of this data channel. "^DD",2006.563,2006.5631,.001,21,0) ^^2^2^3010227^^ "^DD",2006.563,2006.5631,.001,21,1,0) The value of this field is an integer number that represents "^DD",2006.563,2006.5631,.001,21,2,0) the channel number of the data channel being described in this record. "^DD",2006.563,2006.5631,.001,"DT") 3010227 "^DD",2006.563,2006.5631,.01,0) CHANNEL^RNJ3,0X^^0;1^K:+X'=X!(X>999)!(X<0)!(X?.E1"."1N.N) X S:$D(X) DINUM=X "^DD",2006.563,2006.5631,.01,1,0) ^.1 "^DD",2006.563,2006.5631,.01,1,1,0) 2006.5631^B "^DD",2006.563,2006.5631,.01,1,1,1) S ^MAGDICOM(2006.563,DA(1),"DATA PATH","B",$E(X,1,30),DA)="" "^DD",2006.563,2006.5631,.01,1,1,2) K ^MAGDICOM(2006.563,DA(1),"DATA PATH","B",$E(X,1,30),DA) "^DD",2006.563,2006.5631,.01,3) Enter the sequence number of this data channel. "^DD",2006.563,2006.5631,.01,21,0) ^^2^2^3010227^^ "^DD",2006.563,2006.5631,.01,21,1,0) The value of this field is an integer number that represents "^DD",2006.563,2006.5631,.01,21,2,0) the channel number of the data channel being described in this record. "^DD",2006.563,2006.5631,.01,"DT") 3010227 "^DD",2006.563,2006.5631,2,0) PATH^F^^0;2^K:$L(X)>50!($L(X)<1) X "^DD",2006.563,2006.5631,2,3) Enter the directory-prefix for this data channel. "^DD",2006.563,2006.5631,2,21,0) ^^4^4^3010227^^ "^DD",2006.563,2006.5631,2,21,1,0) The value of this field is the 'path-prefix' "^DD",2006.563,2006.5631,2,21,2,0) that needs to be applied to gain access to the "^DD",2006.563,2006.5631,2,21,3,0) files that are created to implement the FIFO "^DD",2006.563,2006.5631,2,21,4,0) queues. "^DD",2006.563,2006.5631,2,"DT") 3010227 "^DD",2006.563,2006.5632,0) PROFILE SUB-FIELD^^4^4 "^DD",2006.563,2006.5632,0,"DT") 3040303 "^DD",2006.563,2006.5632,0,"IX","B",2006.5632,.01) "^DD",2006.563,2006.5632,0,"NM","PROFILE") "^DD",2006.563,2006.5632,0,"UP") 2006.563 "^DD",2006.563,2006.5632,.01,0) USER^NJ12,0^^0;1^K:+X'=X!(X>999999999999)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.563,2006.5632,.01,1,0) ^.1 "^DD",2006.563,2006.5632,.01,1,1,0) 2006.5632^B "^DD",2006.563,2006.5632,.01,1,1,1) S ^MAGDICOM(2006.563,DA(1),"PROFILE","B",$E(X,1,30),DA)="" "^DD",2006.563,2006.5632,.01,1,1,2) K ^MAGDICOM(2006.563,DA(1),"PROFILE","B",$E(X,1,30),DA) "^DD",2006.563,2006.5632,.01,3) Enter a number that uniquely identifies this user. "^DD",2006.563,2006.5632,.01,21,0) ^.001^3^3^3021002^^ "^DD",2006.563,2006.5632,.01,21,1,0) The value of this field is an integer number that identifies a user. "^DD",2006.563,2006.5632,.01,21,2,0) The value for this field is copied from the value of "DUZ" (user number) "^DD",2006.563,2006.5632,.01,21,3,0) on the VistA system where this number is registered. "^DD",2006.563,2006.5632,.01,"DT") 3021002 "^DD",2006.563,2006.5632,1,0) ACCESS LEVEL^S^1:Full Access;2:View Only Access;^0;2^Q "^DD",2006.563,2006.5632,1,3) Indicate the access level for this user. "^DD",2006.563,2006.5632,1,21,0) ^^5^5^3021002^ "^DD",2006.563,2006.5632,1,21,1,0) The value of this field is a code that identifies the "^DD",2006.563,2006.5632,1,21,2,0) access level (on the DICOM Gateway) for the current user. "^DD",2006.563,2006.5632,1,21,3,0) "^DD",2006.563,2006.5632,1,21,4,0) On a DICOM Gateway, a user can have full access (value is 1) "^DD",2006.563,2006.5632,1,21,5,0) or view only access (value is 2). "^DD",2006.563,2006.5632,1,"DT") 3021002 "^DD",2006.563,2006.5632,2,0) VISTA ACCESS INFO^F^^0;3^K:$L(X)>63!($L(X)<1) X "^DD",2006.563,2006.5632,2,3) Enter access information for this user. "^DD",2006.563,2006.5632,2,21,0) ^^3^3^3021002^ "^DD",2006.563,2006.5632,2,21,1,0) The value of this field, which is stored in an encrypted "^DD",2006.563,2006.5632,2,21,2,0) fashion, is a string that is passed to a VistA system as "^DD",2006.563,2006.5632,2,21,3,0) the access and verify codes for the current user. "^DD",2006.563,2006.5632,2,"DT") 3021002 "^DD",2006.563,2006.5632,4,0) VISTA SERVICE ACCOUNT^F^^0;4^K:$L(X)>63!($L(X)<1) X "^DD",2006.563,2006.5632,4,3) Enter the (encrypted) service credentials. "^DD",2006.563,2006.5632,4,21,0) ^^11^11^3040303^ "^DD",2006.563,2006.5632,4,21,1,0) The value of this field is a string containing encrypted data. "^DD",2006.563,2006.5632,4,21,2,0) This value contains the access and verify codes that the DICOM Gateway "^DD",2006.563,2006.5632,4,21,3,0) is allowed to use as a "service account" when the credentials that "^DD",2006.563,2006.5632,4,21,4,0) were provided by the end-user during login expire during the course "^DD",2006.563,2006.5632,4,21,5,0) of the session. "^DD",2006.563,2006.5632,4,21,6,0) "^DD",2006.563,2006.5632,4,21,7,0) This field is automatically populated when an end-user successfully "^DD",2006.563,2006.5632,4,21,8,0) logs in on a DICOM Gateway. "^DD",2006.563,2006.5632,4,21,9,0) "^DD",2006.563,2006.5632,4,21,10,0) When a site decides not to have such a service account, the value "^DD",2006.563,2006.5632,4,21,11,0) of this field will be an encrypted value for the string ";". "^DD",2006.563,2006.5632,4,"DT") 3040303 "^DD",2006.563,2006.5633,0) PACS QUERY SUB-FIELD^^2^2 "^DD",2006.563,2006.5633,0,"DT") 3040303 "^DD",2006.563,2006.5633,0,"IX","B",2006.5633,.01) "^DD",2006.563,2006.5633,0,"NM","PACS QUERY") "^DD",2006.563,2006.5633,0,"UP") 2006.563 "^DD",2006.563,2006.5633,.01,0) PACS QUERY START^F^^0;1^K:$L(X)>20!($L(X)<1) X "^DD",2006.563,2006.5633,.01,1,0) ^.1 "^DD",2006.563,2006.5633,.01,1,1,0) 2006.5633^B "^DD",2006.563,2006.5633,.01,1,1,1) S ^MAGDICOM(2006.563,DA(1),"GE CONV #HRS","B",$E(X,1,30),DA)="" "^DD",2006.563,2006.5633,.01,1,1,2) K ^MAGDICOM(2006.563,DA(1),"GE CONV #HRS","B",$E(X,1,30),DA) "^DD",2006.563,2006.5633,.01,3) Indicate when this query session started. "^DD",2006.563,2006.5633,.01,21,0) ^.001^3^3^3040303^^ "^DD",2006.563,2006.5633,.01,21,1,0) The value of this field is a timestamp ($HOROLOG) that "^DD",2006.563,2006.5633,.01,21,2,0) indicates the date and time when a PACS query process "^DD",2006.563,2006.5633,.01,21,3,0) was started. "^DD",2006.563,2006.5633,.01,"DT") 3040303 "^DD",2006.563,2006.5633,2,0) PACS QUERY END^F^^1;1^K:$L(X)>20!($L(X)<1) X "^DD",2006.563,2006.5633,2,3) Indicate when this query ended. "^DD",2006.563,2006.5633,2,21,0) ^^7^7^3040303^ "^DD",2006.563,2006.5633,2,21,1,0) The value of this field is a timestamp ($HOROLOG) that "^DD",2006.563,2006.5633,2,21,2,0) indicates the date and time when a PACS query process "^DD",2006.563,2006.5633,2,21,3,0) completed. "^DD",2006.563,2006.5633,2,21,4,0) "^DD",2006.563,2006.5633,2,21,5,0) Note: when a PACS query process was terminated as a side-effect "^DD",2006.563,2006.5633,2,21,6,0) of a system-shut-down operation, no completion time "^DD",2006.563,2006.5633,2,21,7,0) will be recorded. "^DD",2006.563,2006.5633,2,"DT") 3040303 "^DD",2006.563,2006.5634,0) INSTALLATION SUB-FIELD^^1^2 "^DD",2006.563,2006.5634,0,"DT") 3021212 "^DD",2006.563,2006.5634,0,"NM","INSTALLATION") "^DD",2006.563,2006.5634,0,"UP") 2006.563 "^DD",2006.563,2006.5634,.01,0) INSTALLATION^F^^0;1^K:$L(X)>14!($L(X)<3)!'(X?1.N1"."1.5N) X "^DD",2006.563,2006.5634,.01,1,0) ^.1^^0 "^DD",2006.563,2006.5634,.01,3) Enter the time-stamp ($H-format) for this installation. "^DD",2006.563,2006.5634,.01,21,0) ^.001^3^3^3021212^^ "^DD",2006.563,2006.5634,.01,21,1,0) The value of this field is a time-stamp (in $Horolog-format) that "^DD",2006.563,2006.5634,.01,21,2,0) identifies the date and time when the current installation of "^DD",2006.563,2006.5634,.01,21,3,0) software on the current DICOM Gateway completed. "^DD",2006.563,2006.5634,.01,"DT") 3021212 "^DD",2006.563,2006.5634,1,0) COMMENT^F^^0;2^K:$L(X)>60!($L(X)<1) X "^DD",2006.563,2006.5634,1,3) Enter a comment that identifies this installation. "^DD",2006.563,2006.5634,1,21,0) ^^2^2^3021212^ "^DD",2006.563,2006.5634,1,21,1,0) The value of this field is a text that describes the "^DD",2006.563,2006.5634,1,21,2,0) software that was installed. "^DD",2006.563,2006.5634,1,"DT") 3021212 "^DD",2006.571,2006.571,0) FIELD^^11^4 "^DD",2006.571,2006.571,0,"DDA") N "^DD",2006.571,2006.571,0,"DT") 3021121 "^DD",2006.571,2006.571,0,"IX","B",2006.571,.01) "^DD",2006.571,2006.571,0,"NM","DICOM RAW IMAGE") "^DD",2006.571,2006.571,0,"PT",2006.593,2) "^DD",2006.571,2006.571,0,"VRPK") IMAGING "^DD",2006.571,2006.571,.01,0) NAME^RF^^0;1^K:$L(X)>30!($L(X)<3)!'(X'?1P.E) X "^DD",2006.571,2006.571,.01,1,0) ^.1 "^DD",2006.571,2006.571,.01,1,1,0) 2006.571^B "^DD",2006.571,2006.571,.01,1,1,1) S ^MAGDINPT(2006.571,"B",$E(X,1,30),DA)="" "^DD",2006.571,2006.571,.01,1,1,2) K ^MAGDINPT(2006.571,"B",$E(X,1,30),DA) "^DD",2006.571,2006.571,.01,3) Enter the name of the file as received from the instrument. "^DD",2006.571,2006.571,.01,21,0) ^^3^3^3000222^^^ "^DD",2006.571,2006.571,.01,21,1,0) The value of this field is the complete file name "^DD",2006.571,2006.571,.01,21,2,0) (directory path + name + extension) of a file that "^DD",2006.571,2006.571,.01,21,3,0) has been received by a DICOM Image Gateway. "^DD",2006.571,2006.571,.01,"DT") 3000222 "^DD",2006.571,2006.571,2,0) INSTRUMENT^F^^0;2^K:$L(X)>20!($L(X)<1) X "^DD",2006.571,2006.571,2,.1) Image Generating Instrument Abbreviation "^DD",2006.571,2006.571,2,3) Enter the abbreviation for the instrument that generated the image. "^DD",2006.571,2006.571,2,21,0) ^^7^7^3000222^^ "^DD",2006.571,2006.571,2,21,1,0) The value of this field is the name of the instrument "^DD",2006.571,2006.571,2,21,2,0) that transmitted the image file that is described in "^DD",2006.571,2006.571,2,21,3,0) this entry. "^DD",2006.571,2006.571,2,21,4,0) "^DD",2006.571,2006.571,2,21,5,0) The spelling of the name of the instrument must correspond to "^DD",2006.571,2006.571,2,21,6,0) the name (.01 field) of an instrument that is described "^DD",2006.571,2006.571,2,21,7,0) in File 2006.581 (stored in ^MAGDICOM(2006.581,...) "^DD",2006.571,2006.571,2,"DT") 2990820 "^DD",2006.571,2006.571,3,0) COMPLETE^S^0:Not Complete;1:Complete;^0;3^Q "^DD",2006.571,2006.571,3,3) Indicate whether or not the image has been received completely. "^DD",2006.571,2006.571,3,21,0) ^^5^5^3000222^^ "^DD",2006.571,2006.571,3,21,1,0) The value of this field is a code that indicates whether "^DD",2006.571,2006.571,3,21,2,0) or not the received file is 'complete'. "^DD",2006.571,2006.571,3,21,3,0) "^DD",2006.571,2006.571,3,21,4,0) 0 indicates that the file is incomplete; "^DD",2006.571,2006.571,3,21,5,0) 1 indicates that the file is complete. "^DD",2006.571,2006.571,3,"DT") 2990820 "^DD",2006.571,2006.571,11,0) MESSAGE^F^^1;1^K:$L(X)>80!($L(X)<1) X "^DD",2006.571,2006.571,11,3) Enter a warning message text. "^DD",2006.571,2006.571,11,21,0) ^^3^3^3021121^ "^DD",2006.571,2006.571,11,21,1,0) The value of this field is a string that can be displayed as "^DD",2006.571,2006.571,11,21,2,0) a warning message, indicating the reason why the current entry "^DD",2006.571,2006.571,11,21,3,0) was made into this file. "^DD",2006.571,2006.571,11,"DT") 3021121 "^DD",2006.5711,2006.5711,0) FIELD^^.01^1 "^DD",2006.5711,2006.5711,0,"DDA") N "^DD",2006.5711,2006.5711,0,"DT") 3021121 "^DD",2006.5711,2006.5711,0,"NM","DICOM M2MB RPC QUEUE") "^DD",2006.5711,2006.5711,.01,0) DATA RECORD^RFX^^0;E1,240^Q "^DD",2006.5711,2006.5711,.01,1,0) ^.1^^0 "^DD",2006.5711,2006.5711,.01,3) Enter a data record for the RPC to process. "^DD",2006.5711,2006.5711,.01,21,0) ^^5^5^3021121^^ "^DD",2006.5711,2006.5711,.01,21,1,0) The value of this field is a record to be passed on to the remote "^DD",2006.5711,2006.5711,.01,21,2,0) procedure call. "^DD",2006.5711,2006.5711,.01,21,3,0) "^DD",2006.5711,2006.5711,.01,21,4,0) One of the parameters of this remote procedure decides how to "^DD",2006.5711,2006.5711,.01,21,5,0) treat the data record that is stored in this field. "^DD",2006.5711,2006.5711,.01,"DT") 3021121 "^DD",2006.5712,2006.5712,0) FIELD^^9^9 "^DD",2006.5712,2006.5712,0,"DT") 3021122 "^DD",2006.5712,2006.5712,0,"NM","DICOM FIXED QUEUE") "^DD",2006.5712,2006.5712,.01,0) IMAGE^RP2006.575'^MAGD(2006.575,^0;1^Q "^DD",2006.5712,2006.5712,.01,1,0) ^.1^^0 "^DD",2006.5712,2006.5712,.01,3) Identify the image to be fixed. "^DD",2006.5712,2006.5712,.01,21,0) ^.001^2^2^3021122^^^ "^DD",2006.5712,2006.5712,.01,21,1,0) The value of this field is a pointer to the Image file (#2005). "^DD",2006.5712,2006.5712,.01,21,2,0) [ ... ] "^DD",2006.5712,2006.5712,.01,"DT") 3021122 "^DD",2006.5712,2006.5712,2,0) STUDY^P2006.575'^MAGD(2006.575,^0;2^Q "^DD",2006.5712,2006.5712,2,3) Identify the study for which this image was submitted. "^DD",2006.5712,2006.5712,2,21,0) ^^4^4^3021121^^ "^DD",2006.5712,2006.5712,2,21,1,0) The value of this field is a pointer to the DICOM Failed Images "^DD",2006.5712,2006.5712,2,21,2,0) File (#2005.575). "^DD",2006.5712,2006.5712,2,21,3,0) "^DD",2006.5712,2006.5712,2,21,4,0) [...] "^DD",2006.5712,2006.5712,2,"DT") 3021121 "^DD",2006.5712,2006.5712,3,0) DELETE^S^NONE:Nothing to be deleted;IMAGE:Delete the Image;STUDY:Delete the Study;^0;3^Q "^DD",2006.5712,2006.5712,3,3) Indicate what is to be deleted. "^DD",2006.5712,2006.5712,3,21,0) ^^6^6^3021121^^ "^DD",2006.5712,2006.5712,3,21,1,0) The value of this field is a code that indicates whether or "^DD",2006.5712,2006.5712,3,21,2,0) not anything is to be deleted for this queue entry. "^DD",2006.5712,2006.5712,3,21,3,0) "^DD",2006.5712,2006.5712,3,21,4,0) A value of "NONE" indicates that nothing is to be deleted. "^DD",2006.5712,2006.5712,3,21,5,0) A value of "IMAGE" indicates that the image is to be deleted. "^DD",2006.5712,2006.5712,3,21,6,0) A value of "STUDY" indicates that the study is to be deleted. "^DD",2006.5712,2006.5712,3,"DT") 3021121 "^DD",2006.5712,2006.5712,4,0) INSTRUMENT NAME^F^^0;4^K:$L(X)>20!($L(X)<1) X "^DD",2006.5712,2006.5712,4,3) Identify the instrument that produced the image. "^DD",2006.5712,2006.5712,4,21,0) ^^5^5^3021121^^ "^DD",2006.5712,2006.5712,4,21,1,0) The value of this field is an abbreviation that "^DD",2006.5712,2006.5712,4,21,2,0) identifies the instrument that is being described "^DD",2006.5712,2006.5712,4,21,3,0) in this entry. "^DD",2006.5712,2006.5712,4,21,4,0) "^DD",2006.5712,2006.5712,4,21,5,0) Typical abbreviations are CR1, CT2, US, etcetera. "^DD",2006.5712,2006.5712,4,"DT") 3021121 "^DD",2006.5712,2006.5712,5,0) FROM PATH^F^^0;5^K:$L(X)>50!($L(X)<1) X "^DD",2006.5712,2006.5712,5,3) Enter the name of the image (in IMAGE_IN). "^DD",2006.5712,2006.5712,5,21,0) ^^5^5^3021121^^ "^DD",2006.5712,2006.5712,5,21,1,0) The value of this field is a string that identifies a file. "^DD",2006.5712,2006.5712,5,21,2,0) This value is the original name of the image file "^DD",2006.5712,2006.5712,5,21,3,0) (directory path, filename and extension) of the image. "^DD",2006.5712,2006.5712,5,21,4,0) "^DD",2006.5712,2006.5712,5,21,5,0) Files of this type are always stored in a directory called xx:\DICOM\IMAGE_IN. "^DD",2006.5712,2006.5712,5,"DT") 3021121 "^DD",2006.5712,2006.5712,6,0) STUDY UID^F^^0;6^K:$L(X)>50!($L(X)<1) X "^DD",2006.5712,2006.5712,6,3) Enter the Study UID. "^DD",2006.5712,2006.5712,6,"DT") 3021121 "^DD",2006.5712,2006.5712,7,0) NEW PATIENT NAME^F^^0;7^K:$L(X)>30!($L(X)<1) X "^DD",2006.5712,2006.5712,7,3) Enter the corrected name for the patient. "^DD",2006.5712,2006.5712,7,"DT") 3021121 "^DD",2006.5712,2006.5712,8,0) NEW PATIENT ID^F^^0;8^K:$L(X)>15!($L(X)<1) X "^DD",2006.5712,2006.5712,8,3) Enter the corrected ID for the patient. "^DD",2006.5712,2006.5712,8,"DT") 3021121 "^DD",2006.5712,2006.5712,9,0) NEW ACCESSION NUMBER^F^^0;9^K:$L(X)>20!($L(X)<1) X "^DD",2006.5712,2006.5712,9,3) Enter the corrected accession number for the study. "^DD",2006.5712,2006.5712,9,"DT") 3021121 "^DD",2006.5713,2006.5713,0) FIELD^^6^6 "^DD",2006.5713,2006.5713,0,"DT") 3021121 "^DD",2006.5713,2006.5713,0,"IX","B",2006.5713,.01) "^DD",2006.5713,2006.5713,0,"NM","DICOM UNKNOWN MODALITY") "^DD",2006.5713,2006.5713,.01,0) TIMESTAMP^RD^^0;1^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2006.5713,2006.5713,.01,1,0) ^.1 "^DD",2006.5713,2006.5713,.01,1,1,0) 2006.5713^B "^DD",2006.5713,2006.5713,.01,1,1,1) S ^MAGDINPT(2006.5713,"B",$E(X,1,30),DA)="" "^DD",2006.5713,2006.5713,.01,1,1,2) K ^MAGDINPT(2006.5713,"B",$E(X,1,30),DA) "^DD",2006.5713,2006.5713,.01,3) Enter the date and time when the problem was noticed.. "^DD",2006.5713,2006.5713,.01,21,0) ^.001^4^4^3030804^^^ "^DD",2006.5713,2006.5713,.01,21,1,0) The value of this field is a date/time value that represents "^DD",2006.5713,2006.5713,.01,21,2,0) the timestamp of the moment when it was discovered that the "^DD",2006.5713,2006.5713,.01,21,3,0) current image (identified by its file-name in the field "^DD",2006.5713,2006.5713,.01,21,4,0) FROM PATH) could not be processed. "^DD",2006.5713,2006.5713,.01,"DT") 3021121 "^DD",2006.5713,2006.5713,2,0) MANUFACTURER^F^^0;2^K:$L(X)>30!($L(X)<1) X "^DD",2006.5713,2006.5713,2,3) Enter the name of the manufacturer of the instrument. "^DD",2006.5713,2006.5713,2,21,0) ^^8^8^3021121^^ "^DD",2006.5713,2006.5713,2,21,1,0) Name of the company the produces this equipment. "^DD",2006.5713,2006.5713,2,21,2,0) The value of this field is a text that identifies the "^DD",2006.5713,2006.5713,2,21,3,0) manufacturer of the modality that is described in the "^DD",2006.5713,2006.5713,2,21,4,0) current entry. "^DD",2006.5713,2006.5713,2,21,5,0) "^DD",2006.5713,2006.5713,2,21,6,0) This name must be spelled exactly as it is presented "^DD",2006.5713,2006.5713,2,21,7,0) in the headers of the image files that are produced "^DD",2006.5713,2006.5713,2,21,8,0) by modalities of this type. "^DD",2006.5713,2006.5713,2,"DT") 3021121 "^DD",2006.5713,2006.5713,3,0) MODEL^F^^0;3^K:$L(X)>30!($L(X)<1) X "^DD",2006.5713,2006.5713,3,3) Enter the name of the model of the instrument. "^DD",2006.5713,2006.5713,3,21,0) ^^7^7^3021121^^ "^DD",2006.5713,2006.5713,3,21,1,0) The value of this field is a text that identifies the "^DD",2006.5713,2006.5713,3,21,2,0) model of the modality that is described in the "^DD",2006.5713,2006.5713,3,21,3,0) current entry. "^DD",2006.5713,2006.5713,3,21,4,0) "^DD",2006.5713,2006.5713,3,21,5,0) This name must be spelled exactly as it is presented "^DD",2006.5713,2006.5713,3,21,6,0) in the headers of the image files that are produced "^DD",2006.5713,2006.5713,3,21,7,0) by modalities of this type. "^DD",2006.5713,2006.5713,3,"DT") 3021121 "^DD",2006.5713,2006.5713,4,0) MODALITY^F^^0;4^K:$L(X)>2!($L(X)<2) X "^DD",2006.5713,2006.5713,4,3) Enter the two-letter modality code for the instrument. "^DD",2006.5713,2006.5713,4,21,0) ^^6^6^3021121^^ "^DD",2006.5713,2006.5713,4,21,1,0) The value of this field is a code that identifies the "^DD",2006.5713,2006.5713,4,21,2,0) type of modality for the current entry. "^DD",2006.5713,2006.5713,4,21,3,0) "^DD",2006.5713,2006.5713,4,21,4,0) The possible values for this two-letter code are "^DD",2006.5713,2006.5713,4,21,5,0) defined in the DICOM standard, and are also stored in "^DD",2006.5713,2006.5713,4,21,6,0) file 73.1, stored in ^RAMIS(73.1,...) "^DD",2006.5713,2006.5713,4,"DT") 3021121 "^DD",2006.5713,2006.5713,5,0) INSTRUMENT NAME^F^^0;5^K:$L(X)>30!($L(X)<1) X "^DD",2006.5713,2006.5713,5,3) Enter the name of the instrument. "^DD",2006.5713,2006.5713,5,21,0) ^^5^5^3021121^^ "^DD",2006.5713,2006.5713,5,21,1,0) The value of this field is an abbreviation that "^DD",2006.5713,2006.5713,5,21,2,0) identifies the instrument that is being described "^DD",2006.5713,2006.5713,5,21,3,0) in this entry. "^DD",2006.5713,2006.5713,5,21,4,0) "^DD",2006.5713,2006.5713,5,21,5,0) Typical abbreviations are CR1, CT2, US, etcetera. "^DD",2006.5713,2006.5713,5,"DT") 3021121 "^DD",2006.5713,2006.5713,6,0) FROM PATH^F^^0;6^K:$L(X)>50!($L(X)<1) X "^DD",2006.5713,2006.5713,6,3) Enter the name of the image (in IMAGE_IN). "^DD",2006.5713,2006.5713,6,21,0) ^^5^5^3021121^^ "^DD",2006.5713,2006.5713,6,21,1,0) The value of this field is a string that identifies a file. "^DD",2006.5713,2006.5713,6,21,2,0) This value is the original name of the image file "^DD",2006.5713,2006.5713,6,21,3,0) (directory path, filename and extension) of the image. "^DD",2006.5713,2006.5713,6,21,4,0) "^DD",2006.5713,2006.5713,6,21,5,0) Files of this type are always stored in a directory called xx:\DICOM\IMAGE_IN. "^DD",2006.5713,2006.5713,6,"DT") 3021121 "^DD",2006.5719,2006.5719,0) FIELD^^3^4 "^DD",2006.5719,2006.5719,0,"DDA") N "^DD",2006.5719,2006.5719,0,"DT") 2980507 "^DD",2006.5719,2006.5719,0,"IX","B",2006.5719,.01) "^DD",2006.5719,2006.5719,0,"NM","DICOM ERROR LOG") "^DD",2006.5719,2006.5719,0,"VRPK") IMAGING "^DD",2006.5719,2006.5719,.01,0) DATE & TIME^RD^^0;1^S %DT="ESTR" D ^%DT S X=Y K:Y<1 X "^DD",2006.5719,2006.5719,.01,.1) Timestamp (FileMan format) "^DD",2006.5719,2006.5719,.01,1,0) ^.1 "^DD",2006.5719,2006.5719,.01,1,1,0) 2006.5719^B "^DD",2006.5719,2006.5719,.01,1,1,1) S ^MAGDINPT(2006.5719,"B",$E(X,1,30),DA)="" "^DD",2006.5719,2006.5719,.01,1,1,2) K ^MAGDINPT(2006.5719,"B",$E(X,1,30),DA) "^DD",2006.5719,2006.5719,.01,3) Enter this moment's date and time (FileMan format). "^DD",2006.5719,2006.5719,.01,21,0) ^^5^5^3000229^^ "^DD",2006.5719,2006.5719,.01,21,1,0) The value of this field is a string that denotes "^DD",2006.5719,2006.5719,.01,21,2,0) the date and time when this entry was logged into "^DD",2006.5719,2006.5719,.01,21,3,0) the database. "^DD",2006.5719,2006.5719,.01,21,4,0) "^DD",2006.5719,2006.5719,.01,21,5,0) This timestamp is stored in FileMan format. "^DD",2006.5719,2006.5719,.01,"DT") 2980121 "^DD",2006.5719,2006.5719,1,0) REASON^F^^0;2^K:$L(X)>30!($L(X)<3) X "^DD",2006.5719,2006.5719,1,.1) Reason "^DD",2006.5719,2006.5719,1,3) Enter a brief description of the problem. "^DD",2006.5719,2006.5719,1,21,0) ^^3^3^3000229^^ "^DD",2006.5719,2006.5719,1,21,1,0) The value of this field is a string that contains "^DD",2006.5719,2006.5719,1,21,2,0) a brief description of the reason why the current "^DD",2006.5719,2006.5719,1,21,3,0) entry is being entered into this table. "^DD",2006.5719,2006.5719,1,"DT") 2980121 "^DD",2006.5719,2006.5719,2,0) FILE DIRECTORY^F^^0;3^K:$L(X)>60!($L(X)<3) X "^DD",2006.5719,2006.5719,2,.1) File Directory "^DD",2006.5719,2006.5719,2,3) Enter the full identification of the DICOM file (directory+name). "^DD",2006.5719,2006.5719,2,21,0) ^^5^5^3000229^^ "^DD",2006.5719,2006.5719,2,21,1,0) The value of this field is a string that identifies the "^DD",2006.5719,2006.5719,2,21,2,0) DICOM file that contains the information that was the "^DD",2006.5719,2006.5719,2,21,3,0) reason why this error is being logged. "^DD",2006.5719,2006.5719,2,21,4,0) "^DD",2006.5719,2006.5719,2,21,5,0) This file name contains the full directory (path) prefix. "^DD",2006.5719,2006.5719,2,"DT") 2980121 "^DD",2006.5719,2006.5719,3,0) INSTRUMENT NAME^F^^0;4^K:$L(X)>60!($L(X)<3) X "^DD",2006.5719,2006.5719,3,.1) Instrument "^DD",2006.5719,2006.5719,3,3) Enter the type of modality (2 letter code). "^DD",2006.5719,2006.5719,3,21,0) ^.001^5^5^3021203^^^ "^DD",2006.5719,2006.5719,3,21,1,0) The value of this field is a code that identifies the "^DD",2006.5719,2006.5719,3,21,2,0) kind of modality that transmitted the image. "^DD",2006.5719,2006.5719,3,21,3,0) "^DD",2006.5719,2006.5719,3,21,4,0) The two-letter codes for the modality types are defined "^DD",2006.5719,2006.5719,3,21,5,0) in the DICOM standard. "^DD",2006.5719,2006.5719,3,"DT") 3021203 "^DD",2006.575,2006.575,0) FIELD^^37^37 "^DD",2006.575,2006.575,0,"DDA") N "^DD",2006.575,2006.575,0,"DT") 3040308 "^DD",2006.575,2006.575,0,"IX","AC",2006.575,16) "^DD",2006.575,2006.575,0,"IX","B",2006.575,.01) "^DD",2006.575,2006.575,0,"IX","C",2006.575,10) "^DD",2006.575,2006.575,0,"IX","D",2006.575,3) "^DD",2006.575,2006.575,0,"IX","DPAT",2006.575,4) "^DD",2006.575,2006.575,0,"IX","E",2006.575,2) "^DD",2006.575,2006.575,0,"IX","F",2006.575,9) "^DD",2006.575,2006.575,0,"NM","DICOM FAILED IMAGES") "^DD",2006.575,2006.575,0,"PT",2006.5712,.01) "^DD",2006.575,2006.575,0,"PT",2006.5712,2) "^DD",2006.575,2006.575,0,"PT",2006.57526,.01) "^DD",2006.575,2006.575,0,"VRPK") IMAGING "^DD",2006.575,2006.575,.01,0) FILEPATH^RF^^0;1^K:$L(X)>30!($L(X)<3)!'(X'?1P.E) X "^DD",2006.575,2006.575,.01,.1) File Path "^DD",2006.575,2006.575,.01,1,0) ^.1 "^DD",2006.575,2006.575,.01,1,1,0) 2006.575^B "^DD",2006.575,2006.575,.01,1,1,1) S ^MAGD(2006.575,"B",$E(X,1,30),DA)="" "^DD",2006.575,2006.575,.01,1,1,2) K ^MAGD(2006.575,"B",$E(X,1,30),DA) "^DD",2006.575,2006.575,.01,3) Enter the name of the image file (including directory path). "^DD",2006.575,2006.575,.01,21,0) ^^3^3^3000306^^ "^DD",2006.575,2006.575,.01,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,.01,21,2,0) the name of the image file that failed the matching "^DD",2006.575,2006.575,.01,21,3,0) process on the local DICOM Image gateway processing the image. "^DD",2006.575,2006.575,.01,"DT") 2970226 "^DD",2006.575,2006.575,1,0) FAILED REASON^S^NO CASE #:No case number;PID ERROR:Could not match patient;CANCELLED:Case cancelled;BAD CASE #:Format error in case number;UNKNOWN:Any other reason;^0;2^Q "^DD",2006.575,2006.575,1,.1) Reason for Failure "^DD",2006.575,2006.575,1,3) Enter 'No Case #', 'Bad Case #', 'PID Error', 'Cancelled', or 'Unknown'. "^DD",2006.575,2006.575,1,21,0) ^.001^10^10^3040308^^ "^DD",2006.575,2006.575,1,21,1,0) The value of this field is a code that indicates the "^DD",2006.575,2006.575,1,21,2,0) reason why the image file that is described in the "^DD",2006.575,2006.575,1,21,3,0) current entry could not be matched with a patient "^DD",2006.575,2006.575,1,21,4,0) and study. "^DD",2006.575,2006.575,1,21,5,0) "^DD",2006.575,2006.575,1,21,6,0) The possible values for this field are NO CASE #, PID ERROR, CANCELLED, BAD CASE #, or UNKNOWN. "^DD",2006.575,2006.575,1,21,7,0) "^DD",2006.575,2006.575,1,21,8,0) When the entry is processed the match for the Radiology entry is by "^DD",2006.575,2006.575,1,21,9,0) case number and then by patient ID. If these entries are not provided "^DD",2006.575,2006.575,1,21,10,0) correctly then entries are made into this file. "^DD",2006.575,2006.575,1,"DT") 3040308 "^DD",2006.575,2006.575,2,0) PID^F^^0;3^K:$L(X)>12!($L(X)<3) X "^DD",2006.575,2006.575,2,.1) Patient ID "^DD",2006.575,2006.575,2,1,0) ^.1 "^DD",2006.575,2006.575,2,1,1,0) 2006.575^E "^DD",2006.575,2006.575,2,1,1,1) S ^MAGD(2006.575,"E",$E(X,1,30),DA)="" "^DD",2006.575,2006.575,2,1,1,2) K ^MAGD(2006.575,"E",$E(X,1,30),DA) "^DD",2006.575,2006.575,2,1,1,"DT") 2970305 "^DD",2006.575,2006.575,2,3) Enter the patient's SSN. "^DD",2006.575,2006.575,2,21,0) ^^11^11^3001006^^ "^DD",2006.575,2006.575,2,21,1,0) The value of this field is the value that is transmitted "^DD",2006.575,2006.575,2,21,2,0) by the modality for DICOM element 0010,0020. "^DD",2006.575,2006.575,2,21,3,0) Typically, the value of this field is equal to "^DD",2006.575,2006.575,2,21,4,0) the Social Security Number of the patient "^DD",2006.575,2006.575,2,21,5,0) for whom the study is scheduled. "^DD",2006.575,2006.575,2,21,6,0) (Without the dashes between the number-groups.) "^DD",2006.575,2006.575,2,21,7,0) "^DD",2006.575,2006.575,2,21,8,0) This value is copied from the VistA Database, so that "^DD",2006.575,2006.575,2,21,9,0) worklist queries can also be performed when the network "^DD",2006.575,2006.575,2,21,10,0) connection (DDP) with the main Hospital Information System "^DD",2006.575,2006.575,2,21,11,0) is not available. "^DD",2006.575,2006.575,2,"DT") 2970305 "^DD",2006.575,2006.575,3,0) PATIENT^F^^0;4^K:$L(X)>35!($L(X)<3) X "^DD",2006.575,2006.575,3,.1) Patient Name (VA) "^DD",2006.575,2006.575,3,1,0) ^.1 "^DD",2006.575,2006.575,3,1,1,0) 2006.575^D "^DD",2006.575,2006.575,3,1,1,1) S ^MAGD(2006.575,"D",$E(X,1,30),DA)="" "^DD",2006.575,2006.575,3,1,1,2) K ^MAGD(2006.575,"D",$E(X,1,30),DA) "^DD",2006.575,2006.575,3,1,1,"DT") 2970305 "^DD",2006.575,2006.575,3,3) Enter the name of the patient. "^DD",2006.575,2006.575,3,21,0) ^^7^7^3000306^^ "^DD",2006.575,2006.575,3,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,3,21,2,0) the name of the patient. "^DD",2006.575,2006.575,3,21,3,0) "^DD",2006.575,2006.575,3,21,4,0) This value is reformatted as LAST NAME,FIRST NAME MID. The actual "^DD",2006.575,2006.575,3,21,5,0) name sent by the Radiology modality is in field PNAMEDCM. This field "^DD",2006.575,2006.575,3,21,6,0) will be used as one of the possible lookups for correction to this "^DD",2006.575,2006.575,3,21,7,0) entry. "^DD",2006.575,2006.575,3,"DT") 2970305 "^DD",2006.575,2006.575,4,0) PNAMEDCM^F^^0;5^K:$L(X)>35!($L(X)<3) X "^DD",2006.575,2006.575,4,.1) Patient Name (DICOM) "^DD",2006.575,2006.575,4,1,0) ^.1 "^DD",2006.575,2006.575,4,1,1,0) 2006.575^DPAT "^DD",2006.575,2006.575,4,1,1,1) S ^MAGD(2006.575,"DPAT",$E(X,1,30),DA)="" "^DD",2006.575,2006.575,4,1,1,2) K ^MAGD(2006.575,"DPAT",$E(X,1,30),DA) "^DD",2006.575,2006.575,4,1,1,"DT") 2970305 "^DD",2006.575,2006.575,4,3) Enter the name of the patient. "^DD",2006.575,2006.575,4,21,0) ^^6^6^3000306^^ "^DD",2006.575,2006.575,4,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,4,21,2,0) the name of the patient. "^DD",2006.575,2006.575,4,21,3,0) "^DD",2006.575,2006.575,4,21,4,0) This value is copied from the information that was "^DD",2006.575,2006.575,4,21,5,0) transmitted by the Radiology "^DD",2006.575,2006.575,4,21,6,0) modality. "^DD",2006.575,2006.575,4,"DT") 2970305 "^DD",2006.575,2006.575,5,0) CASENUMB^F^^1;1^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,5,.1) Case Number (Modality) "^DD",2006.575,2006.575,5,3) Enter the case number. "^DD",2006.575,2006.575,5,21,0) ^^6^6^3000306^^ "^DD",2006.575,2006.575,5,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,5,21,2,0) the case number for the study. "^DD",2006.575,2006.575,5,21,3,0) "^DD",2006.575,2006.575,5,21,4,0) This value is copied from the information that was "^DD",2006.575,2006.575,5,21,5,0) transmitted by the Radiology "^DD",2006.575,2006.575,5,21,6,0) X-Ray equipment. "^DD",2006.575,2006.575,5,"DT") 2970226 "^DD",2006.575,2006.575,6,0) CASE NO.^F^^1;2^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,6,.1) Case Number (Technician) "^DD",2006.575,2006.575,6,3) Enter the case number. "^DD",2006.575,2006.575,6,21,0) ^^8^8^3000306^^ "^DD",2006.575,2006.575,6,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,6,21,2,0) the case number for the study. "^DD",2006.575,2006.575,6,21,3,0) "^DD",2006.575,2006.575,6,21,4,0) This value is copied from the information that was "^DD",2006.575,2006.575,6,21,5,0) entered by the technician during the image capture at "^DD",2006.575,2006.575,6,21,6,0) the Radiology X-Ray modality. This field will usually be empty since the "^DD",2006.575,2006.575,6,21,7,0) file will contain only entries that failed during the copying of images "^DD",2006.575,2006.575,6,21,8,0) to the Imaging file. "^DD",2006.575,2006.575,6,"DT") 2970226 "^DD",2006.575,2006.575,7,0) DATE ENTERED^D^^1;3^S %DT="E" D ^%DT S X=Y K:X<1 X "^DD",2006.575,2006.575,7,.1) Date Entered "^DD",2006.575,2006.575,7,3) Enter today's date. "^DD",2006.575,2006.575,7,21,0) ^^4^4^3000306^^ "^DD",2006.575,2006.575,7,21,1,0) The value of this field is a date value. "^DD",2006.575,2006.575,7,21,2,0) "^DD",2006.575,2006.575,7,21,3,0) This value must be an exact date and represents "^DD",2006.575,2006.575,7,21,4,0) the date on which the entry was made into this file. "^DD",2006.575,2006.575,7,"DT") 2991020 "^DD",2006.575,2006.575,8,0) IMAGE UID^F^^AIUID;1^K:$L(X)>70!($L(X)<1) X "^DD",2006.575,2006.575,8,.1) Image UID "^DD",2006.575,2006.575,8,3) Enter the Image UID code. "^DD",2006.575,2006.575,8,21,0) ^^7^7^3000306^^ "^DD",2006.575,2006.575,8,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,8,21,2,0) the Image UID. "^DD",2006.575,2006.575,8,21,3,0) "^DD",2006.575,2006.575,8,21,4,0) This value is copied from the information that is "^DD",2006.575,2006.575,8,21,5,0) transmitted by the modality. The Image UID is "^DD",2006.575,2006.575,8,21,6,0) a unique ID number assigned to the image by the Radiology X-Ray "^DD",2006.575,2006.575,8,21,7,0) modality. "^DD",2006.575,2006.575,8,"DT") 2970226 "^DD",2006.575,2006.575,9,0) STUDY UID^F^^ASUID;1^K:$L(X)>70!($L(X)<1) X "^DD",2006.575,2006.575,9,.1) Study UID "^DD",2006.575,2006.575,9,1,0) ^.1^^-1 "^DD",2006.575,2006.575,9,1,1,0) 2006.575^F^MUMPS "^DD",2006.575,2006.575,9,1,1,1) D XREF^MAGDLB6 "^DD",2006.575,2006.575,9,1,1,2) D XREFK^MAGDLB6 "^DD",2006.575,2006.575,9,1,1,"%D",0) ^^2^2^3031217^ "^DD",2006.575,2006.575,9,1,1,"%D",1,0) This cross-reference indexes failed images by gateway site and study "^DD",2006.575,2006.575,9,1,1,"%D",2,0) instance UID. "^DD",2006.575,2006.575,9,1,1,"DT") 3031217 "^DD",2006.575,2006.575,9,3) Enter the Study UID code. "^DD",2006.575,2006.575,9,21,0) ^.001^9^9^3021018^^^ "^DD",2006.575,2006.575,9,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,9,21,2,0) the Study UID. "^DD",2006.575,2006.575,9,21,3,0) "^DD",2006.575,2006.575,9,21,4,0) This value is copied from the information that is "^DD",2006.575,2006.575,9,21,5,0) transmitted by the modality. The Image UID is "^DD",2006.575,2006.575,9,21,6,0) a unique ID number assigned to the image by the Radiology X-Ray "^DD",2006.575,2006.575,9,21,7,0) modality. "^DD",2006.575,2006.575,9,21,8,0) A case study will consist of several images, each of which has its "^DD",2006.575,2006.575,9,21,9,0) own unique Image UID code. "^DD",2006.575,2006.575,9,"DT") 3031217 "^DD",2006.575,2006.575,10,0) INSTRUMENT NAME^F^^AMFG;1^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,10,.1) Instrument Name "^DD",2006.575,2006.575,10,1,0) ^.1 "^DD",2006.575,2006.575,10,1,1,0) 2006.575^C "^DD",2006.575,2006.575,10,1,1,1) S ^MAGD(2006.575,"C",$E(X,1,30),DA)="" "^DD",2006.575,2006.575,10,1,1,2) K ^MAGD(2006.575,"C",$E(X,1,30),DA) "^DD",2006.575,2006.575,10,1,1,"DT") 2970305 "^DD",2006.575,2006.575,10,3) Enter the name of the instrument. "^DD",2006.575,2006.575,10,21,0) ^^5^5^3000306^^ "^DD",2006.575,2006.575,10,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,10,21,2,0) the name of the instrument that produced the image file. "^DD",2006.575,2006.575,10,21,3,0) "^DD",2006.575,2006.575,10,21,4,0) Typical values for this field are texts like "^DD",2006.575,2006.575,10,21,5,0) CT1, CT2, CR3, and so forth. "^DD",2006.575,2006.575,10,"DT") 2991210 "^DD",2006.575,2006.575,11,0) ROWS^F^^AMFG;2^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,11,.1) Rows "^DD",2006.575,2006.575,11,3) Enter the number of pixel rows in the image. "^DD",2006.575,2006.575,11,21,0) ^^5^5^3000306^^ "^DD",2006.575,2006.575,11,21,1,0) The value of this field is an integer number that "^DD",2006.575,2006.575,11,21,2,0) represents the number of pixel rows in the image. "^DD",2006.575,2006.575,11,21,3,0) "^DD",2006.575,2006.575,11,21,4,0) This value is copied from the information that is "^DD",2006.575,2006.575,11,21,5,0) transmitted by the Radiology modality. "^DD",2006.575,2006.575,11,"DT") 2970226 "^DD",2006.575,2006.575,12,0) COLUMNS^F^^AMFG;3^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,12,.1) Columns "^DD",2006.575,2006.575,12,3) Enter the number of pixel columns in the image. "^DD",2006.575,2006.575,12,21,0) ^^5^5^3000306^^ "^DD",2006.575,2006.575,12,21,1,0) The value of this field is an integer number that "^DD",2006.575,2006.575,12,21,2,0) represents the number of pixel columns in the image. "^DD",2006.575,2006.575,12,21,3,0) "^DD",2006.575,2006.575,12,21,4,0) This value is copied from the information that is "^DD",2006.575,2006.575,12,21,5,0) transmitted by the Radiology modality. "^DD",2006.575,2006.575,12,"DT") 2970226 "^DD",2006.575,2006.575,13,0) OFFSET^F^^AMFG;4^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,13,.1) Offset "^DD",2006.575,2006.575,13,3) Enter the byte address where the image data begins. "^DD",2006.575,2006.575,13,21,0) ^^6^6^3000306^^ "^DD",2006.575,2006.575,13,21,1,0) The value of this field is an integer number that "^DD",2006.575,2006.575,13,21,2,0) represents the byte address in the image file where "^DD",2006.575,2006.575,13,21,3,0) the image data begins. "^DD",2006.575,2006.575,13,21,4,0) "^DD",2006.575,2006.575,13,21,5,0) This value is copied from the information that is "^DD",2006.575,2006.575,13,21,6,0) transmitted by the Radiology modality. "^DD",2006.575,2006.575,13,"DT") 2970226 "^DD",2006.575,2006.575,14,0) MODIEN^F^^AMFG;5^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,14,.1) Modien "^DD",2006.575,2006.575,14,3) Identify the modality. "^DD",2006.575,2006.575,14,21,0) ^^5^5^3000306^^ "^DD",2006.575,2006.575,14,21,1,0) The value of this field is a pointer to the Modality "^DD",2006.575,2006.575,14,21,2,0) file (# 2006.582, stored in ^MAGDICOM(2006.582,...). "^DD",2006.575,2006.575,14,21,3,0) "^DD",2006.575,2006.575,14,21,4,0) This value identifies the modality (type of instrument) "^DD",2006.575,2006.575,14,21,5,0) that transmitted the image file. "^DD",2006.575,2006.575,14,"DT") 2970226 "^DD",2006.575,2006.575,16,0) FIXED^S^1:YES;^FIXD;1^Q "^DD",2006.575,2006.575,16,.1) Fixed "^DD",2006.575,2006.575,16,1,0) ^.1 "^DD",2006.575,2006.575,16,1,1,0) 2006.575^AC^MUMPS "^DD",2006.575,2006.575,16,1,1,1) D FIXRF^MAGDLB6 "^DD",2006.575,2006.575,16,1,1,2) D FIXRFK^MAGDLB6 "^DD",2006.575,2006.575,16,1,1,"%D",0) ^^8^8^3040108^ "^DD",2006.575,2006.575,16,1,1,"%D",1,0) This cross-reference will be setup for entries that have been corrected. "^DD",2006.575,2006.575,16,1,1,"%D",2,0) The routine to correct the entries loops thru the "F" cross-reference "^DD",2006.575,2006.575,16,1,1,"%D",3,0) and only updates those entries. The "F" cross-reference is by gateway "^DD",2006.575,2006.575,16,1,1,"%D",4,0) place and "^DD",2006.575,2006.575,16,1,1,"%D",5,0) unique "^DD",2006.575,2006.575,16,1,1,"%D",6,0) study ids. "^DD",2006.575,2006.575,16,1,1,"%D",7,0) This cross-reference will be used to loop thru and process these "^DD",2006.575,2006.575,16,1,1,"%D",8,0) entries before processing the entries from the x-ray modalities. "^DD",2006.575,2006.575,16,1,1,"DT") 3040108 "^DD",2006.575,2006.575,16,3) Identify whether or not this entry has been corrected. "^DD",2006.575,2006.575,16,21,0) ^^12^12^3000306^^ "^DD",2006.575,2006.575,16,21,1,0) The value of this field is a code that identifies "^DD",2006.575,2006.575,16,21,2,0) whether or not the problem that is reported in the "^DD",2006.575,2006.575,16,21,3,0) current entry has been corrected. "^DD",2006.575,2006.575,16,21,4,0) "^DD",2006.575,2006.575,16,21,5,0) Entries are corrected in this file using either of "^DD",2006.575,2006.575,16,21,6,0) the menu options "^DD",2006.575,2006.575,16,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,16,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,16,21,9,0) "^DD",2006.575,2006.575,16,21,10,0) When the entry is "^DD",2006.575,2006.575,16,21,11,0) manually matched with a patient and procedure the correction routine will "^DD",2006.575,2006.575,16,21,12,0) update this field. "^DD",2006.575,2006.575,16,23,0) ^^2^2^3000216^ "^DD",2006.575,2006.575,16,23,1,0) This field creates a cross reference used by the DICOM Image server to know "^DD",2006.575,2006.575,16,23,2,0) which entries are ready for re-processing. "^DD",2006.575,2006.575,16,"DT") 3040108 "^DD",2006.575,2006.575,17,0) NEWDFN^F^^FIXD;2^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,17,.1) New DFN "^DD",2006.575,2006.575,17,3) Identify the patient. "^DD",2006.575,2006.575,17,21,0) ^^8^8^3000306^^ "^DD",2006.575,2006.575,17,21,1,0) The value of this field is a pointer to the Patient "^DD",2006.575,2006.575,17,21,2,0) file (# 2, stored in ^DPT(...). "^DD",2006.575,2006.575,17,21,3,0) "^DD",2006.575,2006.575,17,21,4,0) This value identifies the (new) patient, and is "^DD",2006.575,2006.575,17,21,5,0) defined using either of "^DD",2006.575,2006.575,17,21,6,0) the menu options "^DD",2006.575,2006.575,17,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,17,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,17,"DT") 2970226 "^DD",2006.575,2006.575,18,0) NEWNME^F^^FIXD;3^K:$L(X)>35!($L(X)<1) X "^DD",2006.575,2006.575,18,.1) New Name "^DD",2006.575,2006.575,18,3) Enter the name of the patient. "^DD",2006.575,2006.575,18,21,0) ^^8^8^3000306^^ "^DD",2006.575,2006.575,18,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,18,21,2,0) the name of a patient. "^DD",2006.575,2006.575,18,21,3,0) "^DD",2006.575,2006.575,18,21,4,0) This value identifies the (new) patient, and is "^DD",2006.575,2006.575,18,21,5,0) defined using either of "^DD",2006.575,2006.575,18,21,6,0) the menu options "^DD",2006.575,2006.575,18,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,18,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,18,"DT") 2970226 "^DD",2006.575,2006.575,19,0) NEWSSN^F^^FIXD;4^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,19,.1) Newssn "^DD",2006.575,2006.575,19,3) Enter the patient's SSN. "^DD",2006.575,2006.575,19,21,0) ^^8^8^3000306^^ "^DD",2006.575,2006.575,19,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,19,21,2,0) the Social Security Number of a patient. "^DD",2006.575,2006.575,19,21,3,0) "^DD",2006.575,2006.575,19,21,4,0) This value identifies the (new) patient, and is "^DD",2006.575,2006.575,19,21,5,0) defined using either of "^DD",2006.575,2006.575,19,21,6,0) the menu options "^DD",2006.575,2006.575,19,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,19,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,19,"DT") 2970226 "^DD",2006.575,2006.575,20,0) NEWCASE NO^F^^FIXD;5^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,20,.1) New Case Number "^DD",2006.575,2006.575,20,3) Enter the case number. "^DD",2006.575,2006.575,20,21,0) ^^8^8^3000306^^ "^DD",2006.575,2006.575,20,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,20,21,2,0) the accession number for a study. "^DD",2006.575,2006.575,20,21,3,0) "^DD",2006.575,2006.575,20,21,4,0) This value identifies the (new) study, and is "^DD",2006.575,2006.575,20,21,5,0) defined using either of "^DD",2006.575,2006.575,20,21,6,0) the menu options "^DD",2006.575,2006.575,20,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,20,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,20,"DT") 2970226 "^DD",2006.575,2006.575,21,0) NEW RADTI^F^^FIXD;6^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,21,.1) New Reverse Date "^DD",2006.575,2006.575,21,3) Identify the date/time of the study. "^DD",2006.575,2006.575,21,21,0) ^^12^12^3000306^^ "^DD",2006.575,2006.575,21,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,21,21,2,0) the date and time when the study was executed. "^DD",2006.575,2006.575,21,21,3,0) "^DD",2006.575,2006.575,21,21,4,0) This value is a 'reverse' date time, as defined by "^DD",2006.575,2006.575,21,21,5,0) the Radiology software. It is used as the second subscript (RADTI) "^DD",2006.575,2006.575,21,21,6,0) in references like ^RARPT(RADPT,"DT",RADTI,"P",RACNI "^DD",2006.575,2006.575,21,21,7,0) "^DD",2006.575,2006.575,21,21,8,0) This value timestamps the (new) study, and is "^DD",2006.575,2006.575,21,21,9,0) defined using either of "^DD",2006.575,2006.575,21,21,10,0) the menu options "^DD",2006.575,2006.575,21,21,11,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,21,21,12,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,21,"DT") 2970226 "^DD",2006.575,2006.575,22,0) NEW RACNI^F^^FIXD;7^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,22,.1) New Case Number "^DD",2006.575,2006.575,22,3) Enter the case number. "^DD",2006.575,2006.575,22,21,0) ^^11^11^3000306^^ "^DD",2006.575,2006.575,22,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,22,21,2,0) the case number for the study. "^DD",2006.575,2006.575,22,21,3,0) "^DD",2006.575,2006.575,22,21,4,0) This value is used as the third subscript (RADCNI) "^DD",2006.575,2006.575,22,21,5,0) in references like ^RARPT(RADPT,"DT",RADTI,"P",RACNI "^DD",2006.575,2006.575,22,21,6,0) "^DD",2006.575,2006.575,22,21,7,0) This value identifies the (new) study, and is "^DD",2006.575,2006.575,22,21,8,0) defined using either of "^DD",2006.575,2006.575,22,21,9,0) the menu options "^DD",2006.575,2006.575,22,21,10,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,22,21,11,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,22,"DT") 2970226 "^DD",2006.575,2006.575,23,0) DATE/TIME^F^^FIXD;8^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,23,.1) Date/Time "^DD",2006.575,2006.575,23,3) Enter this moment's date and time. "^DD",2006.575,2006.575,23,21,0) ^^7^7^3000306^^ "^DD",2006.575,2006.575,23,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,23,21,2,0) a date/time value. "^DD",2006.575,2006.575,23,21,3,0) "^DD",2006.575,2006.575,23,21,4,0) This value is copied from the information that was "^DD",2006.575,2006.575,23,21,5,0) transmitted by the Radiology modality. It is "^DD",2006.575,2006.575,23,21,6,0) a timestamp for the moment when the image "^DD",2006.575,2006.575,23,21,7,0) file was processed. "^DD",2006.575,2006.575,23,"DT") 2970226 "^DD",2006.575,2006.575,24,0) NEW PROC IEN^F^^FIXPR;1^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,24,.1) New Procedure IEN "^DD",2006.575,2006.575,24,3) Identify the procedure. "^DD",2006.575,2006.575,24,21,0) ^^8^8^3000306^^ "^DD",2006.575,2006.575,24,21,1,0) The value of this field is a pointer to the "^DD",2006.575,2006.575,24,21,2,0) Rad/Nuc procedure file (#71, stored in ^RAMIS(71,...). "^DD",2006.575,2006.575,24,21,3,0) "^DD",2006.575,2006.575,24,21,4,0) This value is an internal entry number, and is "^DD",2006.575,2006.575,24,21,5,0) defined using either of "^DD",2006.575,2006.575,24,21,6,0) the menu options "^DD",2006.575,2006.575,24,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,24,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,24,"DT") 2970226 "^DD",2006.575,2006.575,25,0) NEW PROCEDURE^F^^FIXPR;2^K:$L(X)>70!($L(X)<1) X "^DD",2006.575,2006.575,25,.1) New Procedure "^DD",2006.575,2006.575,25,3) Enter the name of the procedure. "^DD",2006.575,2006.575,25,21,0) ^^9^9^3000306^^ "^DD",2006.575,2006.575,25,21,1,0) This is the new procedure name defined using the MAGD FIX DICOM or MAGD FIX MEDICINE menu option. "^DD",2006.575,2006.575,25,21,2,0) The value of this field is a string that represents "^DD",2006.575,2006.575,25,21,3,0) the name of a procedure found in the Rad/Nuc procedure file (#71, stored in ^RAMIS(71,...). "^DD",2006.575,2006.575,25,21,4,0) "^DD",2006.575,2006.575,25,21,5,0) This value is the name of a procedure, and is "^DD",2006.575,2006.575,25,21,6,0) defined using either of "^DD",2006.575,2006.575,25,21,7,0) the menu options "^DD",2006.575,2006.575,25,21,8,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,25,21,9,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,25,"DT") 2970226 "^DD",2006.575,2006.575,26,0) RELATED IMAGES^2006.57526PA^^RLATE;0 "^DD",2006.575,2006.575,26,21,0) ^^2^2^3000216^ "^DD",2006.575,2006.575,26,21,1,0) This is the multiple sub-file that repoints to this file. This sub-file "^DD",2006.575,2006.575,26,21,2,0) will point to all the related images having the same study instance UID. "^DD",2006.575,2006.575,26,23,0) ^^5^5^3000216^ "^DD",2006.575,2006.575,26,23,1,0) This field creates a cross reference that is used by the DICOM Image "^DD",2006.575,2006.575,26,23,2,0) gateway to process all images pertaining to one unique study instance UID. "^DD",2006.575,2006.575,26,23,3,0) This field also allow the manual correction routines to only "^DD",2006.575,2006.575,26,23,4,0) prompt/display a single entry needing corrections and will apply the "^DD",2006.575,2006.575,26,23,5,0) corrections made to all entries in this sub-file. "^DD",2006.575,2006.575,27,0) MODALITY^F^^AMFG;6^K:$L(X)>30!($L(X)<1) X "^DD",2006.575,2006.575,27,.1) Modality "^DD",2006.575,2006.575,27,3) Enter the name of the modality (instrument type). "^DD",2006.575,2006.575,27,21,0) ^^5^5^3000306^^ "^DD",2006.575,2006.575,27,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,27,21,2,0) the name of a modality. "^DD",2006.575,2006.575,27,21,3,0) "^DD",2006.575,2006.575,27,21,4,0) This value represents the name of the modality "^DD",2006.575,2006.575,27,21,5,0) (i.e., the type of of instrument) for the images requiring manual correction. "^DD",2006.575,2006.575,27,"DT") 2970305 "^DD",2006.575,2006.575,28,0) MACHINE ID^F^^1;4^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,28,.1) Machine ID "^DD",2006.575,2006.575,28,3) Identify the Image Gateway that received the image file. "^DD",2006.575,2006.575,28,21,0) ^^5^5^3000306^^ "^DD",2006.575,2006.575,28,21,1,0) The value of this field is a code that identifies "^DD",2006.575,2006.575,28,21,2,0) the VistA DICOM Image Gateway computer that received "^DD",2006.575,2006.575,28,21,3,0) the image file. "^DD",2006.575,2006.575,28,21,4,0) "^DD",2006.575,2006.575,28,21,5,0) Such a code is a single alphabetic letter. "^DD",2006.575,2006.575,28,"DT") 2970311 "^DD",2006.575,2006.575,29,0) COMMENT^F^^ACSTXT;1^K:$L(X)>250!($L(X)<2) X "^DD",2006.575,2006.575,29,.1) Comment "^DD",2006.575,2006.575,29,3) Enter a comment. "^DD",2006.575,2006.575,29,21,0) ^^7^7^3000306^^ "^DD",2006.575,2006.575,29,21,1,0) The value of this field is a string that represents "^DD",2006.575,2006.575,29,21,2,0) a comment. "^DD",2006.575,2006.575,29,21,3,0) "^DD",2006.575,2006.575,29,21,4,0) This value is copied from the information that was "^DD",2006.575,2006.575,29,21,5,0) transmitted by the Radiology equipment. "^DD",2006.575,2006.575,29,21,6,0) "^DD",2006.575,2006.575,29,21,7,0) Typically, this value contains the accession number. "^DD",2006.575,2006.575,29,"DT") 2970521 "^DD",2006.575,2006.575,30,0) IMAGE POINTER^NJ11,0^^FIXPR;3^K:+X'=X!(X>99999999999)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.575,2006.575,30,.1) Image Pointer "^DD",2006.575,2006.575,30,3) Identify the image. "^DD",2006.575,2006.575,30,21,0) ^^6^6^3000306^^ "^DD",2006.575,2006.575,30,21,1,0) The value of this field is a pointer to the Image "^DD",2006.575,2006.575,30,21,2,0) file (#2005, stored in ^MAG(2005,...). "^DD",2006.575,2006.575,30,21,3,0) "^DD",2006.575,2006.575,30,21,4,0) This value identifies the image that is the 'parent' "^DD",2006.575,2006.575,30,21,5,0) of the group to which the image that is described in "^DD",2006.575,2006.575,30,21,6,0) this entry belongs. "^DD",2006.575,2006.575,30,"DT") 2980501 "^DD",2006.575,2006.575,31,0) PARENT FILE^NJ10,0^^FIXPR;4^K:+X'=X!(X>9999999999)!(X<0)!(X?.E1"."1N.N) X "^DD",2006.575,2006.575,31,.1) Parent File "^DD",2006.575,2006.575,31,3) Identity the parent file. "^DD",2006.575,2006.575,31,21,0) ^^23^23^3000306^^ "^DD",2006.575,2006.575,31,21,1,0) The value of this field is a pointer to the File of "^DD",2006.575,2006.575,31,21,2,0) Files (#1, stored in ^DIC(...). "^DD",2006.575,2006.575,31,21,3,0) "^DD",2006.575,2006.575,31,21,4,0) This value identifies the Imaging Parent file that "^DD",2006.575,2006.575,31,21,5,0) contains the clinical information of which the image "^DD",2006.575,2006.575,31,21,6,0) file that is described in this entry is a part. "^DD",2006.575,2006.575,31,21,7,0) "^DD",2006.575,2006.575,31,21,8,0) Possible parent files are: "^DD",2006.575,2006.575,31,21,9,0) 3.9 MAIL MESSAGE "^DD",2006.575,2006.575,31,21,10,0) 63 AUTOPSY (MICROSCOPIC) "^DD",2006.575,2006.575,31,21,11,0) 63.02 ELECTRON MICROSCOPY "^DD",2006.575,2006.575,31,21,12,0) 63.08 SURGICAL PATHOLOGY "^DD",2006.575,2006.575,31,21,13,0) 63.09 CYTOLOGY "^DD",2006.575,2006.575,31,21,14,0) 63.2 AUTOPSY (GROSS) "^DD",2006.575,2006.575,31,21,15,0) 74 RADIOLOGY "^DD",2006.575,2006.575,31,21,16,0) 130 SURGERY "^DD",2006.575,2006.575,31,21,17,0) 691 ECHOCARDIOGRAM "^DD",2006.575,2006.575,31,21,18,0) 691.1 CARDIAC CATHETERIZATION "^DD",2006.575,2006.575,31,21,19,0) 691.5 ELECTROCARDIOGRAPHY "^DD",2006.575,2006.575,31,21,20,0) 694 HEMATOLOGY "^DD",2006.575,2006.575,31,21,21,0) 699 ENDOSCOPY "^DD",2006.575,2006.575,31,21,22,0) 699.5 GENERIC MEDICINE "^DD",2006.575,2006.575,31,21,23,0) 8925 TIU "^DD",2006.575,2006.575,31,"DT") 2980501 "^DD",2006.575,2006.575,32,0) SERVICE TYPE^F^^TYPE;1^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,32,.1) Service Type "^DD",2006.575,2006.575,32,3) Enter the name of the imaging service. "^DD",2006.575,2006.575,32,21,0) ^^9^9^3000306^^ "^DD",2006.575,2006.575,32,21,1,0) The value of this field is a string that identifies "^DD",2006.575,2006.575,32,21,2,0) the 'imaging service' that is performed by the "^DD",2006.575,2006.575,32,21,3,0) instrument that is described in this entry. "^DD",2006.575,2006.575,32,21,4,0) "^DD",2006.575,2006.575,32,21,5,0) The imaging services are itemized in file 2006.589 "^DD",2006.575,2006.575,32,21,6,0) (stored in ^MAGDICOM(2006.589,...) "^DD",2006.575,2006.575,32,21,7,0) "^DD",2006.575,2006.575,32,21,8,0) Currently, the only entries in this file are RAD "^DD",2006.575,2006.575,32,21,9,0) and MED-ENDO. "^DD",2006.575,2006.575,32,"DT") 2980501 "^DD",2006.575,2006.575,33,0) DELETE FLAG^S^1:FILE IS DELETED;^0;6^Q "^DD",2006.575,2006.575,33,.1) Delete Flag "^DD",2006.575,2006.575,33,3) Indicate whether or not this file is to be deleted. "^DD",2006.575,2006.575,33,21,0) ^^12^12^3000306^^ "^DD",2006.575,2006.575,33,21,1,0) The value of this field is a code that indicates "^DD",2006.575,2006.575,33,21,2,0) whether of not the image file that is described "^DD",2006.575,2006.575,33,21,3,0) in this entry is to be deleted. "^DD",2006.575,2006.575,33,21,4,0) "^DD",2006.575,2006.575,33,21,5,0) Corrections are made using either of "^DD",2006.575,2006.575,33,21,6,0) the menu options "^DD",2006.575,2006.575,33,21,7,0) MAGD FIX DICOM or "^DD",2006.575,2006.575,33,21,8,0) MAGD FIX MEDICINE "^DD",2006.575,2006.575,33,21,9,0) "^DD",2006.575,2006.575,33,21,10,0) If the images files are for a test patient, then "^DD",2006.575,2006.575,33,21,11,0) setting this field will not process the images but delete the files from "^DD",2006.575,2006.575,33,21,12,0) the DICOM Image gateway. "^DD",2006.575,2006.575,33,23,0) ^^2^2^3000216^^ "^DD",2006.575,2006.575,33,23,1,0) If this field is present, the software on the DICOM Image gateway will "^DD",2006.575,2006.575,33,23,2,0) not process this image file but will delete it from the IMAGE_IN directory. "^DD",2006.575,2006.575,33,"DT") 3000216 "^DD",2006.575,2006.575,34,0) MANUFACTURER^F^^AMFG;7^K:$L(X)>20!($L(X)<1) X "^DD",2006.575,2006.575,34,.1) Manufacturer "^DD",2006.575,2006.575,34,3) Enter the name of the manufacturer of the modality "^DD",2006.575,2006.575,34,21,0) ^^3^3^3000306^^ "^DD",2006.575,2006.575,34,21,1,0) The value of this field is a string that identifies "^DD",2006.575,2006.575,34,21,2,0) the manufacturer of the instrument that transmitted "^DD",2006.575,2006.575,34,21,3,0) the images that require manual correction. "^DD",2006.575,2006.575,34,"DT") 2991210 "^DD",2006.575,2006.575,35,0) MODEL^F^^AMFG;8^K:$L(X)>10!($L(X)<1) X "^DD",2006.575,2006.575,35,.1) Model "^DD",2006.575,2006.575,35,3) Enter the name of the model of the modality. "^DD",2006.575,2006.575,35,21,0) ^^3^3^3000306^^ "^DD",2006.575,2006.575,35,21,1,0) The value of this field is a string that identifies "^DD",2006.575,2006.575,35,21,2,0) the model of the instrument that transmitted "^DD",2006.575,2006.575,35,21,3,0) the images that require manual correction. "^DD",2006.575,2006.575,35,"DT") 2991210 "^DD",2006.575,2006.575,36,0) GATEWAY PLACE^P4'^^1;5^K:$L(X)>30!($L(X)<1) X "^DD",2006.575,2006.575,36,3) Answer must be 1-30 characters in length. "^DD",2006.575,2006.575,36,21,0) ^^1^1^3010319^ "^DD",2006.575,2006.575,36,21,1,0) This field will contain the institution where the gateway is located. "^DD",2006.575,2006.575,36,"DT") 3010319 "^DD",2006.575,2006.575,37,0) Instrument Site^F^^AMFG;9^K:$L(X)>30!($L(X)<1) X "^DD",2006.575,2006.575,37,3) Answer must be 1-30 characters in length. "^DD",2006.575,2006.575,37,21,0) ^^1^1^3010319^ "^DD",2006.575,2006.575,37,21,1,0) This field will contain the institution where the instrument is located. "^DD",2006.575,2006.575,37,"DT") 3010319 "^DD",2006.575,2006.57526,0) RELATED IMAGES SUB-FIELD^^.01^1 "^DD",2006.575,2006.57526,0,"DT") 2970226 "^DD",2006.575,2006.57526,0,"IX","B",2006.57526,.01) "^DD",2006.575,2006.57526,0,"NM","RELATED IMAGES") "^DD",2006.575,2006.57526,0,"UP") 2006.575 "^DD",2006.575,2006.57526,.01,0) RELATED IMAGES^P2006.575'^MAGD(2006.575,^0;1^Q "^DD",2006.575,2006.57526,.01,.1) Related Image "^DD",2006.575,2006.57526,.01,1,0) ^.1 "^DD",2006.575,2006.57526,.01,1,1,0) 2006.57526^B "^DD",2006.575,2006.57526,.01,1,1,1) S ^MAGD(2006.575,DA(1),"RLATE","B",$E(X,1,30),DA)="" "^DD",2006.575,2006.57526,.01,1,1,2) K ^MAGD(2006.575,DA(1),"RLATE","B",$E(X,1,30),DA) "^DD",2006.575,2006.57526,.01,3) "^DD",2006.575,2006.57526,.01,21,0) ^^7^7^3000306^^ "^DD",2006.575,2006.57526,.01,21,1,0) The value of this field is a pointer to the Image "^DD",2006.575,2006.57526,.01,21,2,0) file (#2005, stored in ^MAG(2005,...). "^DD",2006.575,2006.57526,.01,21,3,0) "^DD",2006.575,2006.57526,.01,21,4,0) The entries in this subfile constitute the list of "^DD",2006.575,2006.57526,.01,21,5,0) all images which have the same unique study UID. "^DD",2006.575,2006.57526,.01,21,6,0) The first entry made into this subfile will be the parent entry. The next images with "^DD",2006.575,2006.57526,.01,21,7,0) the same Study UID will be entered as additional entries in this subfile. "^DD",2006.575,2006.57526,.01,"DT") 2970226 "^DD",2006.587,2006.587,0) FIELD^^8^8 "^DD",2006.587,2006.587,0,"DT") 3030514 "^DD",2006.587,2006.587,0,"IX","B",2006.587,.01) "^DD",2006.587,2006.587,0,"NM","DICOM TRANSMIT DESTINATION") "^DD",2006.587,2006.587,.01,0) SERVICE NAME^RF^^0;1^K:$L(X)>30!($L(X)<3)!'(X'?1P.E) X "^DD",2006.587,2006.587,.01,1,0) ^.1 "^DD",2006.587,2006.587,.01,1,1,0) 2006.587^B "^DD",2006.587,2006.587,.01,1,1,1) S ^MAG(2006.587,"B",$E(X,1,30),DA)="" "^DD",2006.587,2006.587,.01,1,1,2) K ^MAG(2006.587,"B",$E(X,1,30),DA) "^DD",2006.587,2006.587,.01,3) Enter the name of the Service Class Provider. "^DD",2006.587,2006.587,.01,21,0) ^^2^2^3030514^^ "^DD",2006.587,2006.587,.01,21,1,0) The value of this field is a string that specifies the name of the "^DD",2006.587,2006.587,.01,21,2,0) service that is called for the application described in the current entry. "^DD",2006.587,2006.587,.01,"DT") 3030514 "^DD",2006.587,2006.587,2,0) SERVICE PROVIDER AE^F^^0;2^K:$L(X)>30!($L(X)<1) X "^DD",2006.587,2006.587,2,3) Enter the Application Entity Title of the Service Class Provider. "^DD",2006.587,2006.587,2,21,0) ^^3^3^3030514^^ "^DD",2006.587,2006.587,2,21,1,0) The value of this field is a string that specifies the Application "^DD",2006.587,2006.587,2,21,2,0) Entity Title for the equipment being called for the application that "^DD",2006.587,2006.587,2,21,3,0) is described in the current entry. "^DD",2006.587,2006.587,2,"DT") 3030514 "^DD",2006.587,2006.587,3,0) IP ADDRESS^F^^0;3^K:$L(X)>30!($L(X)<1) X "^DD",2006.587,2006.587,3,3) Enter the TCP/IP address of the Service Class Provider. "^DD",2006.587,2006.587,3,21,0) ^^2^2^3030514^^ "^DD",2006.587,2006.587,3,21,1,0) The value of this field is a string that specifies the TCP/IP address "^DD",2006.587,2006.587,3,21,2,0) of the called application entity. "^DD",2006.587,2006.587,3,"DT") 3030514 "^DD",2006.587,2006.587,4,0) PORT NUMBER^NJ5,0^^0;4^K:+X'=X!(X>65535)!(X<1)!(X?.E1"."1N.N) X "^DD",2006.587,2006.587,4,3) Enter the port number for the Service Class Provider. "^DD",2006.587,2006.587,4,21,0) ^^3^3^3030514^^ "^DD",2006.587,2006.587,4,21,1,0) The value of this field is an integer number that identifies the TCP/IP "^DD",2006.587,2006.587,4,21,2,0) port number to which the equipment connects calls the application that "^DD",2006.587,2006.587,4,21,3,0) is described in this entry. "^DD",2006.587,2006.587,4,"DT") 3030514 "^DD",2006.587,2006.587,5,0) GATEWAY SYSTEM TITLE^F^^0;5^K:$L(X)>30!($L(X)<1) X "^DD",2006.587,2006.587,5,3) Enter the system title of the DICOM Gateway. "^DD",2006.587,2006.587,5,21,0) ^^5^5^3030514^^ "^DD",2006.587,2006.587,5,21,1,0) The value of this field is a text that identifies the computer that "^DD",2006.587,2006.587,5,21,2,0) communicates with this service class provider. "^DD",2006.587,2006.587,5,21,3,0) "^DD",2006.587,2006.587,5,21,4,0) Note that each VistA DICOM Gateway computer has its own copy of ^MAGDICOM, "^DD",2006.587,2006.587,5,21,5,0) in which its station-parameters are stored. "^DD",2006.587,2006.587,5,"DT") 3030514 "^DD",2006.587,2006.587,6,0) GATEWAY AE^F^^0;6^K:$L(X)>30!($L(X)<1) X "^DD",2006.587,2006.587,6,3) Enter the Application Entity Title of the DICOM Gateway "^DD",2006.587,2006.587,6,21,0) ^^3^3^3030514^^ "^DD",2006.587,2006.587,6,21,1,0) The value of this field is a string that specifies the Application "^DD",2006.587,2006.587,6,21,2,0) Entity Title for the VistA DICOM Gatewat from which the application is called "^DD",2006.587,2006.587,6,21,3,0) that is described in the current entry. "^DD",2006.587,2006.587,6,"DT") 3030514 "^DD",2006.587,2006.587,7,0) GATEWAY LOCATION^RP4'^DIC(4,^0;7^Q "^DD",2006.587,2006.587,7,3) Identify the clinic where the DICOM Gateway is located. "^DD",2006.587,2006.587,7,21,0) ^^2^2^3030514^^ "^DD",2006.587,2006.587,7,21,1,0) The value of this field is a pointer to the Institution file (#4). "^DD",2006.587,2006.587,7,21,2,0) This value identifies the institution where this DICOM Gateway computer resides. "^DD",2006.587,2006.587,7,"DT") 3030514 "^DD",2006.587,2006.587,8,0) TIMESTAMP^RD^^0;8^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X "^DD",2006.587,2006.587,8,3) Enter the date and time of this update. "^DD",2006.587,2006.587,8,"DT") 3030514 "^DD",2006.5906,2006.5906,0) FIELD^^2^3 "^DD",2006.5906,2006.5906,0,"DT") 3020405 "^DD",2006.5906,2006.5906,0,"NM","ROUTE LOAD BALANCE") "^DD",2006.5906,2006.5906,0,"VRPK") MAG "^DD",2006.5906,2006.5906,.01,0) RULE^RP2006.59'^MAGDICOM(2006.59,^0;1^Q "^DD",2006.5906,2006.5906,.01,1,0) ^.1^^0 "^DD",2006.5906,2006.5906,.01,3) Identify the routing rule for this record. "^DD",2006.5906,2006.5906,.01,21,0) ^^9^9^3020405^ "^DD",2006.5906,2006.5906,.01,21,1,0) The value of this field is a pointer to a Routing Rule "^DD",2006.5906,2006.5906,.01,21,2,0) (file # 2006.59). "^DD",2006.5906,2006.5906,.01,21,3,0) "^DD",2006.5906,2006.5906,.01,21,4,0) The information in the current record describes how image files "^DD",2006.5906,2006.5906,.01,21,5,0) are being routed to destinations, and how the load per destination "^DD",2006.5906,2006.5906,.01,21,6,0) is balanced, based on a routing rule. "^DD",2006.5906,2006.5906,.01,21,7,0) "^DD",2006.5906,2006.5906,.01,21,8,0) The value of this field identifies the routing rule that governs "^DD",2006.5906,2006.5906,.01,21,9,0) the balancing act that is described in the current record. "^DD",2006.5906,2006.5906,.01,"DT") 3020405 "^DD",2006.5906,2006.5906,1,0) PARENT^2006.59061PA^^1;0 "^DD",2006.5906,2006.5906,2,0) BALANCE^F^^2;E1,250^K:$L(X)>250!($L(X)<1) X "^DD",2006.5906,2006.5906,2,3) Enter the balancing parameters. "^DD",2006.5906,2006.5906,2,21,0) ^^9^9^3020405^ "^DD",2006.5906,2006.5906,2,21,1,0) The value of this field is computed by the program that "^DD",2006.5906,2006.5906,2,21,2,0) balances the load over multiple destinations. "^DD",2006.5906,2006.5906,2,21,3,0) "^DD",2006.5906,2006.5906,2,21,4,0) This value is a string that consists of a variable number "^DD",2006.5906,2006.5906,2,21,5,0) of data elements (the number depends on the number of possible "^DD",2006.5906,2006.5906,2,21,6,0) destinations in the routine rule, see file # 2006.59). "^DD",2006.5906,2006.5906,2,21,7,0) "^DD",2006.5906,2006.5906,2,21,8,0) The value for this string is calculated and updated in subroutine "^DD",2006.5906,2006.5906,2,21,9,0) BALANCE^MAGBRTE2(IMAGE,RULE). "^DD",2006.5906,2006.5906,2,"DT") 3020405 "^DD",2006.5906,2006.59061,0) PARENT SUB-FIELD^^2^3 "^DD",2006.5906,2006.59061,0,"DT") 3020405 "^DD",2006.5906,2006.59061,0,"NM","PARENT") "^DD",2006.5906,2006.59061,0,"UP") 2006.5906 "^DD",2006.5906,2006.59061,.01,0) PARENT^P2005'^MAG(2005,^0;1^Q "^DD",2006.5906,2006.59061,.01,1,0) ^.1^^0 "^DD",2006.5906,2006.59061,.01,3) Identify the image(group) to be routed. "^DD",2006.5906,2006.59061,.01,21,0) ^^12^12^3020405^ "^DD",2006.5906,2006.59061,.01,21,1,0) The value of this field is a pointer to the Image File (# 2005). "^DD",2006.5906,2006.59061,.01,21,2,0) "^DD",2006.5906,2006.59061,.01,21,3,0) While balancing the load over multiple destinations, all images "^DD",2006.5906,2006.59061,.01,21,4,0) for a given study should be sent to the same destination. "^DD",2006.5906,2006.59061,.01,21,5,0) "^DD",2006.5906,2006.59061,.01,21,6,0) When the first image of a study is being routed, the balancer "^DD",2006.5906,2006.59061,.01,21,7,0) creates a new record in this multiple to indicate where all other images "^DD",2006.5906,2006.59061,.01,21,8,0) for the study to which that image belongs. "^DD",2006.5906,2006.59061,.01,21,9,0) "^DD",2006.5906,2006.59061,.01,21,10,0) The value of this pointer identifies either the "parent" of "^DD",2006.5906,2006.59061,.01,21,11,0) a group of images, or a single image, if that image is a "group "^DD",2006.5906,2006.59061,.01,21,12,0) of 1". "^DD",2006.5906,2006.59061,.01,"DT") 3020405 "^DD",2006.5906,2006.59061,1,0) ROUTE DATE^RD^^0;2^S %DT="EX" D ^%DT S X=Y K:Y<1 X "^DD",2006.5906,2006.59061,1,3) Enter the date on which this image is to be routed. "^DD",2006.5906,2006.59061,1,21,0) ^^6^6^3020405^ "^DD",2006.5906,2006.59061,1,21,1,0) The value of this field is a string that represents a date "^DD",2006.5906,2006.59061,1,21,2,0) (no time part included). This date identifies the date on which "^DD",2006.5906,2006.59061,1,21,3,0) an image file is being routed to a remote destination. "^DD",2006.5906,2006.59061,1,21,4,0) "^DD",2006.5906,2006.59061,1,21,5,0) The load-balancer uses this date to balance the load (per day) "^DD",2006.5906,2006.59061,1,21,6,0) over the various possible destinations. "^DD",2006.5906,2006.59061,1,"DT") 3020405 "^DD",2006.5906,2006.59061,2,0) DESTINATION^RNJ9,0^^0;3^K:+X'=X!(X>999999999)!(X<1)!(X?.E1"."1N.N) X "^DD",2006.5906,2006.59061,2,3) Identify the destination for all images of this study. "^DD",2006.5906,2006.59061,2,21,0) ^^10^10^3020405^ "^DD",2006.5906,2006.59061,2,21,1,0) The value of this field is a pointer to a destination. "^DD",2006.5906,2006.59061,2,21,2,0) This value is not a pointer in the "normal" sense that FileMan uses: "^DD",2006.5906,2006.59061,2,21,3,0) it is the value of D2 in the reference "^DD",2006.5906,2006.59061,2,21,4,0) ^MAGDICOM(2006.59,D0,"ACTION",D1,1,D2,0) "^DD",2006.5906,2006.59061,2,21,5,0) "^DD",2006.5906,2006.59061,2,21,6,0) This pointer identifies the data record that contains the identification "^DD",2006.5906,2006.59061,2,21,7,0) of the destination (which is a variable pointer to either a "^DD",2006.5906,2006.59061,2,21,8,0) Network Location (file # 2005.2) or a DICOM Application "^DD",2006.5906,2006.59061,2,21,9,0) (file # 2006.585) to which all images of the current study are "^DD",2006.5906,2006.59061,2,21,10,0) being transmitted. "^DD",2006.5906,2006.59061,2,"DT") 3020405 "^DIC",2005.872,2005.872,0) DICOM INDEX MAPPING^2005.872 "^DIC",2005.872,2005.872,0,"GL") ^MAG(2005.872, "^DIC",2005.872,2005.872,"%",0) ^1.005^^ "^DIC",2005.872,2005.872,"%D",0) ^^12^12^3030225^ "^DIC",2005.872,2005.872,"%D",1,0) This file is used to map DICOM modalities and specialties to procedure "^DIC",2005.872,2005.872,"%D",2,0) pointers that can be populated into the PROC/EVENT Field (#43) of the "^DIC",2005.872,2005.872,"%D",3,0) IMAGE File (#2005). "^DIC",2005.872,2005.872,"%D",4,0) "^DIC",2005.872,2005.872,"%D",5,0) Function $$FIELD43^MAGXMA(XMOD,XSPEC,XPROC) returns in XPROC "^DIC",2005.872,2005.872,"%D",6,0) the procedure "^DIC",2005.872,2005.872,"%D",7,0) pointer defined "^DIC",2005.872,2005.872,"%D",8,0) under modality XMOD for specialty XSPEC, if XSPEC is sent and is defined "^DIC",2005.872,2005.872,"%D",9,0) in this file. Otherwise, the function returns the default procedure "^DIC",2005.872,2005.872,"%D",10,0) for XMOD, if one is defined; else it returns a null value. "^DIC",2005.872,2005.872,"%D",11,0) "^DIC",2005.872,2005.872,"%D",12,0) This file is not to be modified by sites. "^DIC",2005.872,"B","DICOM INDEX MAPPING",2005.872) "^DIC",2006.035,2006.035,0) SEND QUEUE^2006.035 "^DIC",2006.035,2006.035,0,"GL") ^MAGQUEUE(2006.035, "^DIC",2006.035,2006.035,"%D",0) ^^26^26^3020528^^ "^DIC",2006.035,2006.035,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.035,2006.035,"%D",2,0) | | "^DIC",2006.035,2006.035,"%D",3,0) | Property of the US Government. | "^DIC",2006.035,2006.035,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.035,2006.035,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.035,2006.035,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.035,2006.035,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.035,2006.035,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.035,2006.035,"%D",9,0) | | "^DIC",2006.035,2006.035,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.035,2006.035,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.035,2006.035,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.035,2006.035,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.035,2006.035,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.035,2006.035,"%D",15,0) | | "^DIC",2006.035,2006.035,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.035,2006.035,"%D",17,0) "^DIC",2006.035,2006.035,"%D",18,0) The entries in this file each represent a file to be transmitted "^DIC",2006.035,2006.035,"%D",19,0) to a remote location. "^DIC",2006.035,2006.035,"%D",20,0) Entries are placed (automatically) into this file when images "^DIC",2006.035,2006.035,"%D",21,0) are acquired, based on rules that are set up in a separate table. "^DIC",2006.035,2006.035,"%D",22,0) Entries in this file are processed by a "background routing processor" "^DIC",2006.035,2006.035,"%D",23,0) that takes care of the actual transmission of files to remote locations, "^DIC",2006.035,2006.035,"%D",24,0) and also takes care of purging obsolete routed files from those locations. "^DIC",2006.035,2006.035,"%D",25,0) Processed entries can be purged from this file using a menu option "^DIC",2006.035,2006.035,"%D",26,0) on the menu of the "Routing Processor". "^DIC",2006.035,"B","SEND QUEUE",2006.035) "^DIC",2006.563,2006.563,0) DICOM GATEWAY PARAMETER^2006.563 "^DIC",2006.563,2006.563,0,"GL") ^MAGDICOM(2006.563, "^DIC",2006.563,2006.563,"%",0) ^1.005^^0 "^DIC",2006.563,2006.563,"%D",0) ^^24^24^3020815^ "^DIC",2006.563,2006.563,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.563,2006.563,"%D",2,0) | | "^DIC",2006.563,2006.563,"%D",3,0) | Property of the US Government. | "^DIC",2006.563,2006.563,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.563,2006.563,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.563,2006.563,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.563,2006.563,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.563,2006.563,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.563,2006.563,"%D",9,0) | | "^DIC",2006.563,2006.563,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.563,2006.563,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.563,2006.563,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.563,2006.563,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.563,2006.563,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.563,2006.563,"%D",15,0) | | "^DIC",2006.563,2006.563,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.563,2006.563,"%D",17,0) "^DIC",2006.563,2006.563,"%D",18,0) This table contains only one entry. "^DIC",2006.563,2006.563,"%D",19,0) The information in this entry defines the customization for the DICOM "^DIC",2006.563,2006.563,"%D",20,0) Gateway Processor on which this table is stored. "^DIC",2006.563,2006.563,"%D",21,0) Note that some site-specific parameters apply to the whole site, those "^DIC",2006.563,2006.563,"%D",22,0) parameters are stored in the table "IMAGING SITE PARAMETERS", and other "^DIC",2006.563,2006.563,"%D",23,0) parameters apply to the individual PCs. The latter parameters are stored "^DIC",2006.563,2006.563,"%D",24,0) in this table. "^DIC",2006.563,"B","DICOM GATEWAY PARAMETER",2006.563) "^DIC",2006.5711,2006.5711,0) DICOM M2MB RPC QUEUE^2006.5711 "^DIC",2006.5711,2006.5711,0,"GL") ^MAGDINPT(2006.5711, "^DIC",2006.5711,2006.5711,"%D",0) ^^38^38^3021122^^ "^DIC",2006.5711,2006.5711,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.5711,2006.5711,"%D",2,0) | | "^DIC",2006.5711,2006.5711,"%D",3,0) | Property of the US Government. | "^DIC",2006.5711,2006.5711,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.5711,2006.5711,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.5711,2006.5711,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.5711,2006.5711,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.5711,2006.5711,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.5711,2006.5711,"%D",9,0) | | "^DIC",2006.5711,2006.5711,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.5711,2006.5711,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.5711,2006.5711,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.5711,2006.5711,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.5711,2006.5711,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.5711,2006.5711,"%D",15,0) | | "^DIC",2006.5711,2006.5711,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.5711,2006.5711,"%D",17,0) "^DIC",2006.5711,2006.5711,"%D",18,0) The entries in this table describe activities that are requested "^DIC",2006.5711,2006.5711,"%D",19,0) by DICOM Gateways, to be performed by procedures that are "^DIC",2006.5711,2006.5711,"%D",20,0) executed remotely on a VistA Server. "^DIC",2006.5711,2006.5711,"%D",21,0) "^DIC",2006.5711,2006.5711,"%D",22,0) The name of the Remote Procedure that processed these requests "^DIC",2006.5711,2006.5711,"%D",23,0) is MAG DICOM IMAGE PROCESSING; the code for this procedure "^DIC",2006.5711,2006.5711,"%D",24,0) starts at ENTRY^MAGDIR8. "^DIC",2006.5711,2006.5711,"%D",25,0) "^DIC",2006.5711,2006.5711,"%D",26,0) The data in the various request-records contains a code that "^DIC",2006.5711,2006.5711,"%D",27,0) speficies the type of operation, and any subsequent data "^DIC",2006.5711,2006.5711,"%D",28,0) in the request are parameters for that operation. "^DIC",2006.5711,2006.5711,"%D",29,0) "^DIC",2006.5711,2006.5711,"%D",30,0) Currently, the following requests are recognized: "^DIC",2006.5711,2006.5711,"%D",31,0) (upper case values are constants, lower case values "^DIC",2006.5711,2006.5711,"%D",32,0) indicate variable values): "^DIC",2006.5711,2006.5711,"%D",33,0) "^DIC",2006.5711,2006.5711,"%D",34,0) PROCESSED|0|location|instrument|image|1 "^DIC",2006.5711,2006.5711,"%D",35,0) CORRECT|PROCESSED|image|study|deletion|instrument|filename|study_uid|gateway_id "^DIC",2006.5711,2006.5711,"%D",36,0) "^DIC",2006.5711,2006.5711,"%D",37,0) The data in this file is extremely volatile. "^DIC",2006.5711,2006.5711,"%D",38,0) Records will be entered, processed and deleted in rapid progression. "^DIC",2006.5711,"B","DICOM M2MB RPC QUEUE",2006.5711) "^DIC",2006.571,2006.571,0) DICOM RAW IMAGE^2006.571 "^DIC",2006.571,2006.571,0,"GL") ^MAGDINPT(2006.571, "^DIC",2006.571,2006.571,"%",0) ^1.005^^0 "^DIC",2006.571,2006.571,"%D",0) ^^23^23^3010619^ "^DIC",2006.571,2006.571,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.571,2006.571,"%D",2,0) | | "^DIC",2006.571,2006.571,"%D",3,0) | Property of the US Government. | "^DIC",2006.571,2006.571,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.571,2006.571,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.571,2006.571,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.571,2006.571,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.571,2006.571,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.571,2006.571,"%D",9,0) | | "^DIC",2006.571,2006.571,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.571,2006.571,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.571,2006.571,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.571,2006.571,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.571,2006.571,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.571,2006.571,"%D",15,0) | | "^DIC",2006.571,2006.571,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.571,2006.571,"%D",17,0) "^DIC",2006.571,2006.571,"%D",18,0) The entries in this table describe a number of parameters about image "^DIC",2006.571,2006.571,"%D",19,0) files that have been received by a DICOM Image Gateway. "^DIC",2006.571,2006.571,"%D",20,0) Entries are placed into this table (automatically) when a C-Store processor "^DIC",2006.571,2006.571,"%D",21,0) delivers a file to the Image Gateway. "^DIC",2006.571,2006.571,"%D",22,0) Entries are removed from this table (automatically) when the "Process Images" "^DIC",2006.571,2006.571,"%D",23,0) task on the Image Gateway processes the image in question. "^DIC",2006.5712,2006.5712,0) DICOM FIXED QUEUE^2006.5712 "^DIC",2006.5712,2006.5712,0,"GL") ^MAGDINPT(2006.5712, "^DIC",2006.5712,2006.5712,"%D",0) ^^24^24^3021122^^ "^DIC",2006.5712,2006.5712,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.5712,2006.5712,"%D",2,0) | | "^DIC",2006.5712,2006.5712,"%D",3,0) | Property of the US Government. | "^DIC",2006.5712,2006.5712,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.5712,2006.5712,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.5712,2006.5712,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.5712,2006.5712,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.5712,2006.5712,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.5712,2006.5712,"%D",9,0) | | "^DIC",2006.5712,2006.5712,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.5712,2006.5712,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.5712,2006.5712,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.5712,2006.5712,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.5712,2006.5712,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.5712,2006.5712,"%D",15,0) | | "^DIC",2006.5712,2006.5712,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.5712,2006.5712,"%D",17,0) "^DIC",2006.5712,2006.5712,"%D",18,0) The entries in this table describe images that initially could "^DIC",2006.5712,2006.5712,"%D",19,0) not be processed because erroneous information was encountered "^DIC",2006.5712,2006.5712,"%D",20,0) in their file-headers. "^DIC",2006.5712,2006.5712,"%D",21,0) "^DIC",2006.5712,2006.5712,"%D",22,0) The entries in this table describe those images for which the "^DIC",2006.5712,2006.5712,"%D",23,0) erroneous information has been corrected, and that are now "^DIC",2006.5712,2006.5712,"%D",24,0) ready to be (re)processed. "^DIC",2006.5712,"B","DICOM FIXED QUEUE",2006.5712) "^DIC",2006.5713,2006.5713,0) DICOM UNKNOWN MODALITY^2006.5713 "^DIC",2006.5713,2006.5713,0,"GL") ^MAGDINPT(2006.5713, "^DIC",2006.5713,2006.5713,"%D",0) ^^27^27^3021122^^ "^DIC",2006.5713,2006.5713,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.5713,2006.5713,"%D",2,0) | | "^DIC",2006.5713,2006.5713,"%D",3,0) | Property of the US Government. | "^DIC",2006.5713,2006.5713,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.5713,2006.5713,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.5713,2006.5713,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.5713,2006.5713,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.5713,2006.5713,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.5713,2006.5713,"%D",9,0) | | "^DIC",2006.5713,2006.5713,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.5713,2006.5713,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.5713,2006.5713,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.5713,2006.5713,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.5713,2006.5713,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.5713,2006.5713,"%D",15,0) | | "^DIC",2006.5713,2006.5713,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.5713,2006.5713,"%D",17,0) "^DIC",2006.5713,2006.5713,"%D",18,0) The entries in this table describe images that could not be processed "^DIC",2006.5713,2006.5713,"%D",19,0) because the DICOM Gateway had no information about the "modality" "^DIC",2006.5713,2006.5713,"%D",20,0) that generated the image. "^DIC",2006.5713,2006.5713,"%D",21,0) "^DIC",2006.5713,2006.5713,"%D",22,0) "Modalities" are defined in table 2006.582 (MODALITY TYPE DICTIONARY), "^DIC",2006.5713,2006.5713,"%D",23,0) which is populated from the text-file xx:\DICOM\DICT\MODALITY.DIC. "^DIC",2006.5713,2006.5713,"%D",24,0) "^DIC",2006.5713,2006.5713,"%D",25,0) The "C" cross-reference on this table organizes the problem-images "^DIC",2006.5713,2006.5713,"%D",26,0) by the identifying properties of the "modality": manufacturer, "^DIC",2006.5713,2006.5713,"%D",27,0) model, and modality-type. "^DIC",2006.5713,"B","DICOM UNKNOWN MODALITY",2006.5713) "^DIC",2006.5719,2006.5719,0) DICOM ERROR LOG^2006.5719 "^DIC",2006.5719,2006.5719,0,"GL") ^MAGDINPT(2006.5719, "^DIC",2006.5719,2006.5719,"%",0) ^1.005^^0 "^DIC",2006.5719,2006.5719,"%D",0) ^^20^20^3021203^^ "^DIC",2006.5719,2006.5719,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.5719,2006.5719,"%D",2,0) | | "^DIC",2006.5719,2006.5719,"%D",3,0) | Property of the US Government. | "^DIC",2006.5719,2006.5719,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.5719,2006.5719,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.5719,2006.5719,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.5719,2006.5719,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.5719,2006.5719,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.5719,2006.5719,"%D",9,0) | | "^DIC",2006.5719,2006.5719,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.5719,2006.5719,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.5719,2006.5719,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.5719,2006.5719,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.5719,2006.5719,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.5719,2006.5719,"%D",15,0) | | "^DIC",2006.5719,2006.5719,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.5719,2006.5719,"%D",17,0) "^DIC",2006.5719,2006.5719,"%D",18,0) This file will record all the incomplete image files received on the DICOM "^DIC",2006.5719,2006.5719,"%D",19,0) Image gateways as well as any entries in the DICOM FAILED IMAGES that were "^DIC",2006.5719,2006.5719,"%D",20,0) marked for deletion. "^DIC",2006.5719,"B","DICOM ERROR LOG",2006.5719) "^DIC",2006.571,"B","DICOM RAW IMAGE",2006.571) "^DIC",2006.575,2006.575,0) DICOM FAILED IMAGES^2006.575 "^DIC",2006.575,2006.575,0,"GL") ^MAGD(2006.575, "^DIC",2006.575,2006.575,"%",0) ^1.005^^0 "^DIC",2006.575,2006.575,"%D",0) ^^32^32^3010619^ "^DIC",2006.575,2006.575,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.575,2006.575,"%D",2,0) | | "^DIC",2006.575,2006.575,"%D",3,0) | Property of the US Government. | "^DIC",2006.575,2006.575,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.575,2006.575,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.575,2006.575,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.575,2006.575,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.575,2006.575,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.575,2006.575,"%D",9,0) | | "^DIC",2006.575,2006.575,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.575,2006.575,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.575,2006.575,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.575,2006.575,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.575,2006.575,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.575,2006.575,"%D",15,0) | | "^DIC",2006.575,2006.575,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.575,2006.575,"%D",17,0) "^DIC",2006.575,2006.575,"%D",18,0) The entries in this table describe image files that were received by the "^DIC",2006.575,2006.575,"%D",19,0) DICOM Image Gateway, and could not be matched with a patient and an "^DIC",2006.575,2006.575,"%D",20,0) ordered study. "^DIC",2006.575,2006.575,"%D",21,0) "^DIC",2006.575,2006.575,"%D",22,0) The MAGD FIX DICOM FILE and MAGD FIX MEDICINE DICOM FILE menu options are "^DIC",2006.575,2006.575,"%D",23,0) used to update the entries in this file. The DICOM Image Gateway will "^DIC",2006.575,2006.575,"%D",24,0) poll this file for corrected entries. The cross reference used to poll "^DIC",2006.575,2006.575,"%D",25,0) this information is ^MAGD(2006.575,"AFX". "^DIC",2006.575,2006.575,"%D",26,0) "^DIC",2006.575,2006.575,"%D",27,0) The routine L^MAGDLB1 is used by the above menu options and will loop thru "^DIC",2006.575,2006.575,"%D",28,0) the following cross reference ^MAGD(2006.575,"F". This cross reference is "^DIC",2006.575,2006.575,"%D",29,0) set by the DICOM Study Instance UID; this is a unique number assigned by "^DIC",2006.575,2006.575,"%D",30,0) modalities (imaging equipment) and is unique by case study. So it is "^DIC",2006.575,2006.575,"%D",31,0) possible to have over 20 entries in the file and only one unique "F" cross "^DIC",2006.575,2006.575,"%D",32,0) reference. "^DIC",2006.575,"B","DICOM FAILED IMAGES",2006.575) "^DIC",2006.587,2006.587,0) DICOM TRANSMIT DESTINATION^2006.587 "^DIC",2006.587,2006.587,0,"GL") ^MAG(2006.587, "^DIC",2006.587,2006.587,"%D",0) ^^33^33^3030804^^ "^DIC",2006.587,2006.587,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.587,2006.587,"%D",2,0) | | "^DIC",2006.587,2006.587,"%D",3,0) | Property of the US Government. | "^DIC",2006.587,2006.587,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.587,2006.587,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.587,2006.587,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.587,2006.587,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.587,2006.587,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.587,2006.587,"%D",9,0) | | "^DIC",2006.587,2006.587,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.587,2006.587,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.587,2006.587,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.587,2006.587,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.587,2006.587,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.587,2006.587,"%D",15,0) | | "^DIC",2006.587,2006.587,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.587,2006.587,"%D",17,0) "^DIC",2006.587,2006.587,"%D",18,0) The routing software is able to transmit image files from the "^DIC",2006.587,2006.587,"%D",19,0) VistA system where the images are stored permanently to various "^DIC",2006.587,2006.587,"%D",20,0) destinations that may receive temporary copies of images. "^DIC",2006.587,2006.587,"%D",21,0) Files can be transmitted to these destinations using several "^DIC",2006.587,2006.587,"%D",22,0) protocols. Valid destinations for files that are transmitted "^DIC",2006.587,2006.587,"%D",23,0) using the MS-DOS copy protocol are stored in the Network Location "^DIC",2006.587,2006.587,"%D",24,0) table (FileMan file #2005.2). "^DIC",2006.587,2006.587,"%D",25,0) Valid destinations for files that are transmitted using the "^DIC",2006.587,2006.587,"%D",26,0) DICOM C-Store protocol are stored in this file. "^DIC",2006.587,2006.587,"%D",27,0) "^DIC",2006.587,2006.587,"%D",28,0) For each destination, this table contains the identifying information "^DIC",2006.587,2006.587,"%D",29,0) for the destinations, as well as the identifying information for "^DIC",2006.587,2006.587,"%D",30,0) the DICOM Gateways that are allowed to transmit images to these "^DIC",2006.587,2006.587,"%D",31,0) destinations. If multiple DICOM Gateways are allowed to transmit "^DIC",2006.587,2006.587,"%D",32,0) images to a specific destination, this table will contain multiple "^DIC",2006.587,2006.587,"%D",33,0) entries for that destination, one for each source and destination pair. "^DIC",2006.587,"B","DICOM TRANSMIT DESTINATION",2006.587) "^DIC",2006.5906,2006.5906,0) ROUTE LOAD BALANCE^2006.5906 "^DIC",2006.5906,2006.5906,0,"GL") ^MAGRT(2006.5906, "^DIC",2006.5906,2006.5906,"%D",0) ^^31^31^3020405^^ "^DIC",2006.5906,2006.5906,"%D",1,0) +---------------------------------------------------------------+ "^DIC",2006.5906,2006.5906,"%D",2,0) | | "^DIC",2006.5906,2006.5906,"%D",3,0) | Property of the US Government. | "^DIC",2006.5906,2006.5906,"%D",4,0) | No permission to copy or redistribute this software is given. | "^DIC",2006.5906,2006.5906,"%D",5,0) | Use of unreleased versions of this software requires the user | "^DIC",2006.5906,2006.5906,"%D",6,0) | to execute a written test agreement with the VistA Imaging | "^DIC",2006.5906,2006.5906,"%D",7,0) | Development Office of the Department of Veterans Affairs, | "^DIC",2006.5906,2006.5906,"%D",8,0) | telephone (301) 734-0100. | "^DIC",2006.5906,2006.5906,"%D",9,0) | | "^DIC",2006.5906,2006.5906,"%D",10,0) | The Food and Drug Administration classifies this software as | "^DIC",2006.5906,2006.5906,"%D",11,0) | a medical device. As such, it may not be changed in any way. | "^DIC",2006.5906,2006.5906,"%D",12,0) | Modifications to this software may result in an adulterated | "^DIC",2006.5906,2006.5906,"%D",13,0) | medical device under 21CFR820, the use of which is considered | "^DIC",2006.5906,2006.5906,"%D",14,0) | to be a violation of US Federal Statutes. | "^DIC",2006.5906,2006.5906,"%D",15,0) | | "^DIC",2006.5906,2006.5906,"%D",16,0) +---------------------------------------------------------------+ "^DIC",2006.5906,2006.5906,"%D",17,0) "^DIC",2006.5906,2006.5906,"%D",18,0) This file will be used by the software that processes routing rules "^DIC",2006.5906,2006.5906,"%D",19,0) and that governs the load-balancing of images to be viewed over "^DIC",2006.5906,2006.5906,"%D",20,0) a number of candidate recipients. "^DIC",2006.5906,2006.5906,"%D",21,0) "^DIC",2006.5906,2006.5906,"%D",22,0) The data in this file will be extremely volatile, and any data "^DIC",2006.5906,2006.5906,"%D",23,0) older than a day will be removed automatically. "^DIC",2006.5906,2006.5906,"%D",24,0) "^DIC",2006.5906,2006.5906,"%D",25,0) The load-balancer uses the data in this file in two ways: "^DIC",2006.5906,2006.5906,"%D",26,0) - when the first image of a new study is being processed, "^DIC",2006.5906,2006.5906,"%D",27,0) the load-balancer will calculate the designated recipient "^DIC",2006.5906,2006.5906,"%D",28,0) for that study, based on the routing rule in question "^DIC",2006.5906,2006.5906,"%D",29,0) - when subsequent images of that study are being processed "^DIC",2006.5906,2006.5906,"%D",30,0) the load-balancer will ensure that they are transmitted "^DIC",2006.5906,2006.5906,"%D",31,0) to the same destination. "^DIC",2006.5906,"B","ROUTE LOAD BALANCE",2006.5906) **END** **END** **** ****