source: FOIAVistA/trunk/r/IMAGING-MAG-ZMAG/MAGGSFL1.m@ 1800

Last change on this file since 1800 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 3.5 KB
Line 
1MAGGSFL1 ;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
19SET(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
67RTRNERR(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
73ERR ;
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
Note: See TracBrowser for help on using the repository browser.