| 1 | MAGGSFL1 ;WOIFO/GEK - Image list Filters utilities ; [ 06/20/2001 08:57 ] | 
|---|
| 2 | ;;3.0;IMAGING;**8**;Sep 15, 2004 | 
|---|
| 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 | SET(MAGRY,MAGGZ) ;RPC [MAG4 FILTER SAVE] | 
|---|
| 20 | ; Enter/Edit a filter. | 
|---|
| 21 | ;  Use DUZ for field  #22 Ceated By | 
|---|
| 22 | ;  MAGGZ is input array in format | 
|---|
| 23 | ;  MAGGZ(n)="field number ^ field value" | 
|---|
| 24 | ;                       if field number = "IEN".  User is modifying an existing filter. | 
|---|
| 25 | ;                          field number = "USER".  The filter is being saved for that user. | 
|---|
| 26 | ; | 
|---|
| 27 | K MAGRY | 
|---|
| 28 | S MAGRY="0^Starting: Saving Filter..." | 
|---|
| 29 | N MAGGDA,MAGGFDA,MFDA2,MAGGIEN,MAGGXE,MAGGFLD,MAGGDAT,MAGOK,FLTIEN,FLTUSER,RES,MAGMOD | 
|---|
| 30 | S FLTIEN=0,FLTUSER=0,MAGOK=1,MAGMOD=0 | 
|---|
| 31 | N $ETRAP,$ESTACK S $ETRAP="D ERR^"_$T(+0) | 
|---|
| 32 | I ($D(MAGGZ)<10) S MAGRY="0^No input data, Operation CANCELED" Q | 
|---|
| 33 | ; | 
|---|
| 34 | S Z="" F  S Z=$O(MAGGZ(Z)) Q:Z=""  D  I 'MAGOK S MAGRY=MAGOK Q | 
|---|
| 35 | . N $ETRAP,$ESTACK S $ETRAP="D ERR^"_$T(+0) | 
|---|
| 36 | . S MAGGFLD=$P(MAGGZ(Z),U,1),MAGGDAT=$P(MAGGZ(Z),U,2,99) | 
|---|
| 37 | . I MAGGFLD=""!(MAGGDAT="") S MAGOK="0^Field and Value are Required" Q | 
|---|
| 38 | . I MAGGFLD="IEN" S FLTIEN=+MAGGDAT,MAGMOD=1 Q | 
|---|
| 39 | . I MAGGFLD="USER" S FLTUSER=+MAGGDAT S MAGGFLD=20 | 
|---|
| 40 | . I '$$VALID^MAGGSIV1(2005.87,MAGGFLD,.MAGGDAT,.RES) S MAGOK="0^"_RES Q | 
|---|
| 41 | . S MAGGFDA(2005.87,"+1,",MAGGFLD)=MAGGDAT | 
|---|
| 42 | I 'MAGOK Q | 
|---|
| 43 | ; Data is valid.  If modifying existing entry make sure we clear old values. | 
|---|
| 44 | L +(^MAG(2005.87,0)):10 E  S MAGRY="0^The File Image List Filters is locked.  Operation canceled" Q | 
|---|
| 45 | I MAGMOD D | 
|---|
| 46 | . I '$D(^MAG(2005.87,FLTIEN)) S MAGRY="0^Invalid Filter IEN: "_FLTIEN Q | 
|---|
| 47 | . N MAGV F I=1,2,3,4,5,6,7,8,9,20,21 S MAGV(I)="@" | 
|---|
| 48 | . M MAGV=MAGGFDA(2005.87,"+1,") | 
|---|
| 49 | . K MAGGFDA | 
|---|
| 50 | . M MAGGFDA(2005.87,FLTIEN_",")=MAGV | 
|---|
| 51 | . ; Here we file the modified entry, killing old values and setting new. | 
|---|
| 52 | . ;L// L +(^MAG(2005.87,FLTIEN)):5 E  S MAGRY="0^Filter is locked.  Operation canceled" Q | 
|---|
| 53 | . D FILE^DIE("","MAGGFDA","MAGGXE") | 
|---|
| 54 | . ;L// L -(^MAG(2005.87,FLTIEN)) | 
|---|
| 55 | . I $D(DIERR) D RTRNERR(.MAGRY) Q | 
|---|
| 56 | . S MAGRY=FLTIEN_"^"_$P(^MAG(2005.87,FLTIEN,0),"^",1) | 
|---|
| 57 | . Q | 
|---|
| 58 | I 'MAGMOD D | 
|---|
| 59 | . S MAGGFDA(2005.87,"+1,",22)=DUZ | 
|---|
| 60 | . D UPDATE^DIE("","MAGGFDA","MAGGIEN","MAGGXE") | 
|---|
| 61 | . I $D(DIERR) D RTRNERR(.MAGRY) Q | 
|---|
| 62 | . S MAGRY=MAGGIEN(1)_"^"_$P(^MAG(2005.87,+MAGGIEN(1),0),"^",1) | 
|---|
| 63 | . Q | 
|---|
| 64 | L -(^MAG(2005.87,0)) | 
|---|
| 65 | D CLEAN^DILF | 
|---|
| 66 | Q | 
|---|
| 67 | RTRNERR(ETXT) ; There was error from UPDATE^DIE quit with error text | 
|---|
| 68 | N MAGRESA | 
|---|
| 69 | D MSG^DIALOG("A",.MAGRESA,245,5,"MAGGXE") | 
|---|
| 70 | S ETXT="0^"_MAGRESA(1) | 
|---|
| 71 | D CLEAN^DILF | 
|---|
| 72 | Q | 
|---|
| 73 | ERR ; | 
|---|
| 74 | ;L// L -(^MAG(2005.87,FLTIEN)) | 
|---|
| 75 | L -(^MAG(2005.87,0)) | 
|---|
| 76 | N ERR | 
|---|
| 77 | S ERR=$$EC^%ZOSV | 
|---|
| 78 | S MAGRY="0^Error Filter Add/Edit: "_ERR | 
|---|
| 79 | S MAGOK=MAGRY | 
|---|
| 80 | D LOGERR^MAGGTERR(ERR) | 
|---|
| 81 | D @^%ZOSF("ERRTN") | 
|---|
| 82 | D CLEAN^DILF | 
|---|
| 83 | Q | 
|---|