1 | MAGDLBSR ;WOIFO/LB,MLH - Sort/print for 2006.575 ; 01/30/2004 17:11
|
---|
2 | ;;3.0;IMAGING;**10,11**;14-April-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 | SRT ;Sort the file first by the patient name but only the unique entries.
|
---|
20 | ;The "F" cross reference uses the study uid number and gateway site.
|
---|
21 | N MAGSUID,MAGIEN,MAGPT
|
---|
22 | N GWLOC ; -- gateway site number
|
---|
23 | N KFIXALL ; -- does user hold MAGDFIX ALL security key?
|
---|
24 | N MAGTYPE ; -- type of image (rad/med/clinspec)
|
---|
25 | ;
|
---|
26 | S KFIXALL=$$SECKEY^MAGDLB12
|
---|
27 | Q:'$D(^MAGD(2006.575,"F")) ;nothing to sort
|
---|
28 | K ^MAGD(2006.575,"D")
|
---|
29 | S GWLOC=""
|
---|
30 | F S GWLOC=$O(^MAGD(2006.575,"F",GWLOC)) Q:GWLOC="" D
|
---|
31 | . ; if this isn't the user's site, bail unless the user holds the
|
---|
32 | . ; MAGDFIX ALL security key
|
---|
33 | . I GWLOC'=DUZ(2),'KFIXALL Q
|
---|
34 | . S MAGSUID=""
|
---|
35 | . F S MAGSUID=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID)) Q:MAGSUID="" D
|
---|
36 | . . S MAGIEN=0
|
---|
37 | . . F S MAGIEN=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)) Q:'MAGIEN D
|
---|
38 | . . . ; if no main failed image rec, there's a xref prob, so bail
|
---|
39 | . . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q ; clean up xref
|
---|
40 | . . . . K ^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)
|
---|
41 | . . . . Q
|
---|
42 | . . . ; If entry has been corrected, do not include in sort
|
---|
43 | . . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^("FIXD"),"^") Q
|
---|
44 | . . . ;Only radiology images!
|
---|
45 | . . . I $P($G(^MAGD(2006.575,MAGIEN,"TYPE")),U)'="RAD" Q
|
---|
46 | . . . S MAGPT=$P(^MAGD(2006.575,MAGIEN,0),"^",4)
|
---|
47 | . . . S ^MAGD(2006.575,"D",MAGPT,MAGIEN)=""
|
---|
48 | . . . Q
|
---|
49 | . . Q
|
---|
50 | . Q
|
---|
51 | Q
|
---|
52 | SRTDT ;Provide sorting by date entry but only if NOT fixed and by unique suid
|
---|
53 | N MAGSUID,MAGIEN,MAGDT
|
---|
54 | N KFIXALL ; -- does user hold MAGDFIX ALL security key?
|
---|
55 | N GWLOC ; -- gateway site number
|
---|
56 | ;
|
---|
57 | S KFIXALL=$$SECKEY^MAGDLB12
|
---|
58 | Q:'$D(^MAGD(2006.575,"F"))
|
---|
59 | K ^MAGD(2006.575,"AD")
|
---|
60 | S GWLOC=""
|
---|
61 | F S GWLOC=$O(^MAGD(2006.575,"F",GWLOC)) Q:'GWLOC D
|
---|
62 | . ; if this isn't the user's site, bail unless the user holds the
|
---|
63 | . ; MAGDFIX ALL security key
|
---|
64 | . I GWLOC'=DUZ(2),'KFIXALL Q
|
---|
65 | . S MAGSUID=""
|
---|
66 | . F S MAGSUID=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID)) Q:MAGSUID="" D
|
---|
67 | . . S MAGIEN=0
|
---|
68 | . . F S MAGIEN=$O(^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)) Q:'MAGIEN D
|
---|
69 | . . . ; if no main failed image rec, there's a xref prob, so bail
|
---|
70 | . . . I '$D(^MAGD(2006.575,MAGIEN,0)) D Q ; CLEAN UP XREF
|
---|
71 | . . . . K ^MAGD(2006.575,"F",GWLOC,MAGSUID,MAGIEN)
|
---|
72 | . . . . Q
|
---|
73 | . . . ; If entry has been corrected, do not include in sort
|
---|
74 | . . . I $D(^MAGD(2006.575,MAGIEN,"FIXD")),$P(^("FIXD"),"^") Q
|
---|
75 | . . . ;Only radiology images!
|
---|
76 | . . . I $P($G(^MAGD(2006.575,MAGIEN,"TYPE")),U)'="RAD" Q
|
---|
77 | . . . Q:'$D(^MAGD(2006.575,MAGIEN,1))
|
---|
78 | . . . S MAGDT=$P(^MAGD(2006.575,MAGIEN,1),"^",3)
|
---|
79 | . . . S ^MAGD(2006.575,"AD",MAGDT,MAGIEN)=""
|
---|
80 | . . . Q
|
---|
81 | . . Q
|
---|
82 | . Q
|
---|
83 | Q
|
---|
84 | PRTDT(SORT,START,STOP) ;
|
---|
85 | ;Print entries using the "AD" cross reference (date order)
|
---|
86 | ; OR the "F" cross reference (unique study uid)
|
---|
87 | I '$D(DUZ) W !,"DUZ variable not defined." Q
|
---|
88 | I "DF"'[SORT Q ;only the date or unique suid
|
---|
89 | N DIC,BY,FLDS,L,FR,TO
|
---|
90 | ;I 'STOP!'START Q
|
---|
91 | S L(0)=2
|
---|
92 | I SORT="D" S SORT="AD" D
|
---|
93 | . I $L($G(START))>1,$L($G(STOP))>1 S FR(0,1)=START,TO(0,1)=STOP
|
---|
94 | S DIC="^MAGD(2006.575,",BY(0)="^MAGD(2006.575,"""_SORT_""","
|
---|
95 | S FLDS="[MAG FAILED IMAGES]",L=0
|
---|
96 | D EN1^DIP
|
---|
97 | Q
|
---|
98 | ADATE() ;date
|
---|
99 | N DIR,X,Y
|
---|
100 | S DIR(0)="DU",DIR("A")=$G(MESSAGE) D ^DIR
|
---|
101 | Q Y
|
---|
102 | ASKDT ;Ask date range
|
---|
103 | N MESSAGE
|
---|
104 | S MESSAGE="Enter start date" S STR=$$ADATE
|
---|
105 | I '$D(DTOUT),'$D(DUOUT)
|
---|
106 | E K STR,STP Q
|
---|
107 | Q:'STR
|
---|
108 | I STR'?7N W "Wrong date format." Q
|
---|
109 | S MESSAGE="Enter stop date" S STP=$$ADATE
|
---|
110 | I '$D(DTOUT),'$D(DUOUT)
|
---|
111 | E K STR,STP Q
|
---|
112 | I STP'?7N W "Wrong date format." Q
|
---|
113 | Q
|
---|
114 | PRNT ;
|
---|
115 | N DIR,X,Y,BY
|
---|
116 | S DIR(0)="S^D:Date;F:Unique Entries"
|
---|
117 | D ^DIR
|
---|
118 | Q:"DF"'[Y
|
---|
119 | I Y="D" D Q:'$D(STR)!'$D(STP)
|
---|
120 | . D ASKDT Q:'$D(STR)!'$D(STP)
|
---|
121 | . W !,"Please hold sorting by Date. " D SRTDT
|
---|
122 | S BY=Y K DIR,X,Y,DTOUT,DIRUT,DTOUT
|
---|
123 | D PRTDT(BY,$G(STR),$G(STP))
|
---|
124 | K BY,STR,STP
|
---|
125 | Q
|
---|