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
|
---|