| 1 | MAGGTU7 ;WOIFO/GEK - Silent calls for Queing functions from GUI ; [ 06/20/2001 08:57 ]
 | 
|---|
| 2 |  ;;3.0;IMAGING;**8,20**;Apr 12, 2006
 | 
|---|
| 3 |  ;; +---------------------------------------------------------------+
 | 
|---|
| 4 |  ;; | Property of the US Government.                                |
 | 
|---|
| 5 |  ;; | No permission to copy or redistribute this software is given. |
 | 
|---|
| 6 |  ;; | Use of unreleased versions of this software requires the user |
 | 
|---|
| 7 |  ;; | to execute a written test agreement with the VistA Imaging    |
 | 
|---|
| 8 |  ;; | Development Office of the Department of Veterans Affairs,     |
 | 
|---|
| 9 |  ;; | telephone (301) 734-0100.                                     |
 | 
|---|
| 10 |  ;; |                                                               |
 | 
|---|
| 11 |  ;; | The Food and Drug Administration classifies this software as  |
 | 
|---|
| 12 |  ;; | a medical device.  As such, it may not be changed in any way. |
 | 
|---|
| 13 |  ;; | Modifications to this software may result in an adulterated   |
 | 
|---|
| 14 |  ;; | medical device under 21CFR820, the use of which is considered |
 | 
|---|
| 15 |  ;; | to be a violation of US Federal Statutes.                     |
 | 
|---|
| 16 |  ;; +---------------------------------------------------------------+
 | 
|---|
| 17 |  ;;
 | 
|---|
| 18 |  Q
 | 
|---|
| 19 | ONJBOX(MAGIEN,CODE) ;
 | 
|---|
| 20 |  ;Check to see if the image ( Abs, Full, or Big ) is on the worm 
 | 
|---|
| 21 |  ;  before queuing it to be copied to HardDrive.
 | 
|---|
| 22 |  ; We're testing to see if a pointer to the magnetic exists.
 | 
|---|
| 23 |  ;  If not then we assume the Image is on JukeBox
 | 
|---|
| 24 |  N ZNODE
 | 
|---|
| 25 |  S ZNODE=$G(^MAG(2005,+MAGIEN,0))
 | 
|---|
| 26 |  IF '$L(ZNODE) Q 0
 | 
|---|
| 27 |  IF $$IMOFFLN^MAGFILEB($P(ZNODE,"^",2)) Q 0
 | 
|---|
| 28 |  Q:((+$P(ZNODE,U,11))!(+$P(ZNODE,U,12))) 0
 | 
|---|
| 29 |  IF CODE="A" Q '$P(ZNODE,U,4)
 | 
|---|
| 30 |  IF CODE="F" Q '$P(ZNODE,U,3)
 | 
|---|
| 31 |  IF CODE="B" Q $S('$P(^MAG(2005,+MAGIEN,"FBIG"),U,2):0,1:'$P(^MAG(2005,+MAGIEN,"FBIG"),U,1))
 | 
|---|
| 32 |  ;
 | 
|---|
| 33 |  Q
 | 
|---|
| 34 | QUEIMAGE(MAGRY,CODE,MAGIEN) ;RPC [MAGG QUE IMAGE]
 | 
|---|
| 35 |  ; Call to Queue an image for copy from Jukebox
 | 
|---|
| 36 |  ;  NOTE : This is also called from other M routines.
 | 
|---|
| 37 |  ; 
 | 
|---|
| 38 |  ; CODE is a string code for which images to Queue
 | 
|---|
| 39 |  ;     ["A" Abatract
 | 
|---|
| 40 |  ;     ["F" Full Resolution
 | 
|---|
| 41 |  ;     ["B" Big File
 | 
|---|
| 42 |  ;
 | 
|---|
| 43 |  N Y,QUE
 | 
|---|
| 44 |  S QUE=""
 | 
|---|
| 45 |  S MAGRY="0^Error setting Que from JukeBox"
 | 
|---|
| 46 |  ;S MAGRY="1^Image was Queued to copy from JukeBox"
 | 
|---|
| 47 |  ;  GEK 6/27/03  added code (ABS4IMAG) that returns 1|0  1 if this image should have an Abstract
 | 
|---|
| 48 |  ;     This will stop the Queing of Canned Bitmaps for Images of type DOC, PDF, WAV, AVI  etc.
 | 
|---|
| 49 |  I (CODE["A"),$$ONJBOX(MAGIEN,"A"),$$ABS4IMAG^MAGGSFT(MAGIEN) S Y=$$JBTOHD^MAGBAPI(+MAGIEN_"^ABSTRACT",$$DA2PLC^MAGBAPIP(MAGIEN,"A")) S QUE="A" ; DBI - SEB 9/20/2002
 | 
|---|
| 50 |  I (CODE["F"),$$ONJBOX(MAGIEN,"F") S Y=$$JBTOHD^MAGBAPI(+MAGIEN_"^FULL",$$DA2PLC^MAGBAPIP(MAGIEN,"F")) S QUE=QUE_"F" ; DBI - SEB 9/20/2002
 | 
|---|
| 51 |  I (CODE["B"),$$ONJBOX(MAGIEN,"B") S Y=$$JBTOHD^MAGBAPI(+MAGIEN_"^BIG",$$DA2PLC^MAGBAPIP(MAGIEN,"B")) S QUE=QUE_"B" ; DBI - SEB 9/20/2002
 | 
|---|
| 52 |  I QUE="" S MAGRY="1^Copy from JukeBox not needed, Image was NOT Queued."
 | 
|---|
| 53 |  E  S MAGRY="1^Image was Queued to copy from JukeBox ("_QUE_")"
 | 
|---|
| 54 |  Q
 | 
|---|
| 55 | QPREFET(MAGRY,CODE,MAGIEN) ;
 | 
|---|
| 56 |  ; CODE is a string code for which images to Queue
 | 
|---|
| 57 |  ;     ["A" Abatract
 | 
|---|
| 58 |  ;     ["F" Full Resolution
 | 
|---|
| 59 |  ;     ["B" Big File
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 |  N Y,QUE
 | 
|---|
| 62 |  S QUE=""
 | 
|---|
| 63 |  S MAGRY="0^Error setting Prefetch Que from JukeBox"
 | 
|---|
| 64 |  ;S MAGRY="1^Image was Queued to copy from JukeBox"
 | 
|---|
| 65 |  I (CODE["A"),$$ONJBOX(MAGIEN,"A"),$$ABS4IMAG^MAGGSFT(MAGIEN) S Y=$$PREFET^MAGBAPI(+MAGIEN_"^ABSTRACT",$$DA2PLC^MAGBAPIP(MAGIEN,"A")) S QUE="A" ; DBI - SEB 9/20/2002
 | 
|---|
| 66 |  I (CODE["F"),$$ONJBOX(MAGIEN,"F") S Y=$$PREFET^MAGBAPI(+MAGIEN_"^FULL",$$DA2PLC^MAGBAPIP(MAGIEN,"F")) S QUE=QUE_"F" ; DBI - SEB 9/20/2002
 | 
|---|
| 67 |  I (CODE["B"),$$ONJBOX(MAGIEN,"B") S Y=$$PREFET^MAGBAPI(+MAGIEN_"^BIG",$$DA2PLC^MAGBAPIP(MAGIEN,"B")) S QUE=QUE_"B" ; DBI - SEB 9/20/2002
 | 
|---|
| 68 |  I QUE="" S MAGRY="1^Copy from JukeBox not needed, Image was NOT Queued."
 | 
|---|
| 69 |  E  S MAGRY="1^Image was Queued to copy from JukeBox"
 | 
|---|
| 70 |  Q
 | 
|---|
| 71 | QUELIST(MAGRY,CODE,LIST) ;RPC [MAGG QUE LIST]
 | 
|---|
| 72 |  ; Call to queue all images in the input list for a copy from jukebox
 | 
|---|
| 73 |  ;
 | 
|---|
| 74 |  ; CODE is a string code for which images to Queue
 | 
|---|
| 75 |  ;     ["A" Abatract
 | 
|---|
| 76 |  ;     ["F" Full Resolution
 | 
|---|
| 77 |  ;     ["B" Big File
 | 
|---|
| 78 |  ; LIST is an array of Image IEN's,  we queue images contained in CODE
 | 
|---|
| 79 |  ;
 | 
|---|
| 80 |  N Y,CT
 | 
|---|
| 81 |  S CT=0
 | 
|---|
| 82 |  S X="" F  S X=$O(LIST(X)) Q:X=""  D QUEIMAGE(.XX,CODE,X) S CT=CT+1
 | 
|---|
| 83 |  S MAGRY=CT_"^"_CT_" Image"_$S(CT=1:"",1:"'s")_" Queued to copy from JukeBox"
 | 
|---|
| 84 |  Q
 | 
|---|
| 85 | QUEGROUP(MAGRY,CODE,MAGIEN,QCODE) ;RPC [MAGG QUE IMAGE GROUP]
 | 
|---|
| 86 |  ; Call to queue all images of an Image group for a copy from JukeBox.
 | 
|---|
| 87 |  ;  This can also be a PREFETCH, in which case the Images being 
 | 
|---|
| 88 |  ;  Queued have a lower priority than other copies from JukeBox
 | 
|---|
| 89 |  ;
 | 
|---|
| 90 |  ; CODE is a string code for which images to Queue
 | 
|---|
| 91 |  ;     ["A" Abatract
 | 
|---|
| 92 |  ;     ["F" Full Resolution
 | 
|---|
| 93 |  ;     ["B" Big File
 | 
|---|
| 94 |  ; MAGIEN is assumed to be a group image.
 | 
|---|
| 95 |  ; QCODE is a QUEUE code.  If = 1 then this is a prefetch
 | 
|---|
| 96 |  ;   here we are queing the images contained in CODE
 | 
|---|
| 97 |  ;   for all images in the group.
 | 
|---|
| 98 |  N X,Y,Z,CT
 | 
|---|
| 99 |  S QCODE=$G(QCODE)
 | 
|---|
| 100 |  I '$D(^MAG(2005,+MAGIEN,0)) S MAGRY="0^Invalid Image IEN. Queuing Canceled." Q
 | 
|---|
| 101 |  S CT=0,X=0
 | 
|---|
| 102 |  F  S X=$O(^MAG(2005,+MAGIEN,1,X)) Q:'X  S Z=+^(X,0) D
 | 
|---|
| 103 |  . I QCODE D QPREFET(.XX,CODE,Z) S CT=CT+1
 | 
|---|
| 104 |  . I 'QCODE D QUEIMAGE(.XX,CODE,Z) S CT=CT+1
 | 
|---|
| 105 |  S MAGRY=CT_"^"_CT_" Group Image"_$S(CT=1:"",1:"'s")_" Queued to copy from JukeBox"
 | 
|---|
| 106 |  Q
 | 
|---|
| 107 | QUEPAT(MAGRY,CODE,MAGDFN) ;RPC [MAGG QUE PATIENT]
 | 
|---|
| 108 |  ; Call to  Prefetch all images for a patient.
 | 
|---|
| 109 |  ;  CODE is a string code for which images to Queue
 | 
|---|
| 110 |  ;     ["A" Abatract
 | 
|---|
| 111 |  ;     ["F" Full Resolution
 | 
|---|
| 112 |  ;     ["B" Big File
 | 
|---|
| 113 |  ;  this will queue a JBTOHD copy for all images for the patient.
 | 
|---|
| 114 |  ;  images queued depend on what is contained in CODE
 | 
|---|
| 115 |  ;
 | 
|---|
| 116 |  N Y,I
 | 
|---|
| 117 |  I '$D(^MAG(2005,"AC",+MAGDFN)) S MAGRY="0^No Images on file for "_$P($G(^DPT(+MAGDFN,0)),U,1) Q
 | 
|---|
| 118 |  S I="" F  S I=$O(^MAG(2005,"AC",+MAGDFN,I),-1) Q:'I  D
 | 
|---|
| 119 |  . I $P(^MAG(2005,I,0),U,10) Q
 | 
|---|
| 120 |  . I $P(^MAG(2005,I,0),U,6)="11" D QUEGROUP(.XX,CODE,I,1) Q
 | 
|---|
| 121 |  . D QPREFET(.XX,CODE,I)
 | 
|---|
| 122 |  S MAGRY="1^"_$P(^DPT(+MAGDFN,0),U)_"'s Images will be copied from the JukeBox."
 | 
|---|
| 123 |  Q
 | 
|---|