1 | SDQ ;ALB/MJK - Query Object Methods ;8/12/96
|
---|
2 | ;;5.3;Scheduling;**131**;Aug 13, 1993
|
---|
3 | ;
|
---|
4 | OPEN(SDQ,SDERR) ; -- SDQ OPEN [API ID: 79]
|
---|
5 | D PREP^SDQUT
|
---|
6 | ;
|
---|
7 | ; -- get query object instance and set up query class info
|
---|
8 | IF '$$CREATE(.SDQ,"SD STANDARD ENCOUNTER QUERY",$G(SDERR)) G OPENQ
|
---|
9 | ;
|
---|
10 | ; -- do query object instance kills and sets
|
---|
11 | K @SDQUERY@(SDQ)
|
---|
12 | S @SDQUERY@(SDQ)=""
|
---|
13 | F X="SCAN" M @SDQUERY@(SDQ,X)=^TMP("SDQUERY CLASS",$J,SDQ,X)
|
---|
14 | D STOP^SDQPROP(.SDQ)
|
---|
15 | ;
|
---|
16 | ; -- do open actions
|
---|
17 | N SDOPEN
|
---|
18 | S SDOPEN=$G(^TMP("SDQUERY CLASS",$J,SDQ,"OPEN"))
|
---|
19 | IF SDOPEN]"" X SDOPEN
|
---|
20 | OPENQ Q
|
---|
21 | ;
|
---|
22 | CLOSE(SDQ,SDERR) ; -- SDQ CLOSE [API ID: 80]
|
---|
23 | D PREP^SDQUT
|
---|
24 | ;
|
---|
25 | ; -- do validation checks
|
---|
26 | IF '$$QRY^SDQVAL(.SDQ,$G(SDERR)) G CLOSEQ
|
---|
27 | ;
|
---|
28 | ; -- do close actions
|
---|
29 | N SDCLOSE
|
---|
30 | S SDCLOSE=$G(^TMP("SDQUERY CLASS",$J,SDQ,"CLOSE"))
|
---|
31 | IF SDCLOSE]"" X SDCLOSE
|
---|
32 | ;
|
---|
33 | ; -- do query object instance kills
|
---|
34 | K @SDQUERY@(SDQ)
|
---|
35 | ;
|
---|
36 | ; -- do query class kills
|
---|
37 | IF '$$DESTROY(.SDQ) G CLOSEQ
|
---|
38 | S SDQ=""
|
---|
39 | CLOSEQ Q
|
---|
40 | ;
|
---|
41 | CREATE(SDQ,SDQNAME,SDERR) ; -- query class level method for CREATE
|
---|
42 | N SDCLS,SDCLS0,SDOK,SDSTORE
|
---|
43 | S SDCLS=+$O(^SD(409.64,"B",SDQNAME,0))
|
---|
44 | IF SDCLS D
|
---|
45 | . S SDCLS0=$G(^SD(409.64,SDCLS,0))
|
---|
46 | . S SDSTORE=$S($P(SDCLS0,U,4):$P(SDCLS0,U,4),1:5000)
|
---|
47 | . IF $G(SDQUERY)="" S SDQUERY="SDQDATA"
|
---|
48 | . D STORE(.SDQUERY,SDSTORE)
|
---|
49 | . IF '$O(@SDQUERY@(0)) D KILL
|
---|
50 | . ;
|
---|
51 | . ; -- set query id
|
---|
52 | . S (SDQ,@SDQUERY)=$G(@SDQUERY)+1
|
---|
53 | . ; -- set up tmp class info
|
---|
54 | . K ^TMP("SDQUERY CLASS",$J,SDQ)
|
---|
55 | . M ^TMP("SDQUERY CLASS",$J,SDQ)=^SD(409.64,SDCLS)
|
---|
56 | . S ^TMP("SDQUERY CLASS",$J,SDQ)=SDCLS
|
---|
57 | . S ^TMP("SDQUERY CLASS",$J,SDQ,"GL")=$G(^DIC(+$P(SDCLS0,"^",2),0,"GL"))
|
---|
58 | . ; -- subscript level of files root ; ex:^SCE = 0 ; ex:^SD(404.42, = 1
|
---|
59 | . S ^TMP("SDQUERY CLASS",$J,SDQ,"GL SUBSCRIPTS")=+$P(SDCLS0,"^",3)
|
---|
60 | . ;
|
---|
61 | . S SDOK=1
|
---|
62 | ELSE D
|
---|
63 | . ; -- build error msg
|
---|
64 | . N SDIN,SDOUT
|
---|
65 | . S SDIN("CLASS")=SDQNAME
|
---|
66 | . S SDOUT("CLASS")=SDQNAME
|
---|
67 | . D BLD^SDQVAL(4096400.001,.SDIN,.SDOUT,$G(SDERR))
|
---|
68 | . S SDOK=0
|
---|
69 | ;
|
---|
70 | Q SDOK
|
---|
71 | ;
|
---|
72 | STORE(SDQUERY,SDSTORE) ; -- decide whether to use a local or global
|
---|
73 | N SDOLD
|
---|
74 | IF $S<SDSTORE,SDQUERY'["^TMP" D
|
---|
75 | . S SDOLD=SDQUERY
|
---|
76 | . S SDQUERY=$NA(^TMP("SDQDATA",$J))
|
---|
77 | . K @SDQUERY
|
---|
78 | . M @SDQUERY=@SDOLD
|
---|
79 | . K @SDOLD
|
---|
80 | Q
|
---|
81 | ;
|
---|
82 | DESTROY(SDQ) ; -- query class level method for DESTROY
|
---|
83 | K ^TMP("SDQUERY CLASS",$J,SDQ)
|
---|
84 | IF '$O(@SDQUERY@(0)) D KILL K SDQUERY
|
---|
85 | Q 1
|
---|
86 | ;
|
---|
87 | KILL ; -- kill class and ien list globals
|
---|
88 | K ^TMP("SDQUERY CLASS",$J)
|
---|
89 | K ^TMP("SDQUERY LIST",$J)
|
---|
90 | K @SDQUERY
|
---|
91 | Q
|
---|
92 | ;
|
---|
93 | ;
|
---|
94 | PAT(SDQ,SDFN,SDACT,SDERR) ; -- SDQ PATIENT [API ID: 81]
|
---|
95 | D PREP^SDQUT
|
---|
96 | G PATG^SDOEQ
|
---|
97 | ;
|
---|
98 | GETPAT(SDQ,SDERR) ; -- get patient property [API ID: 1xx]
|
---|
99 | ; -- not supported
|
---|
100 | D PREP^SDQUT
|
---|
101 | N SDFN
|
---|
102 | D PAT^SDOEQ(.SDQ,.SDFN,"GET",$G(SDERR))
|
---|
103 | Q $G(SDFN)
|
---|
104 | ;
|
---|
105 | DATE(SDQ,SDBEG,SDEND,SDACT,SDERR) ; -- SDQ DATE RANGE [API ID: 82]
|
---|
106 | D PREP^SDQUT
|
---|
107 | G DATEG^SDQPROP
|
---|
108 | ;
|
---|
109 | GETDATE(SDQ,SDERR) ; -- get date range property [API ID: 1xx]
|
---|
110 | ; -- not supported
|
---|
111 | D PREP^SDQUT
|
---|
112 | N SDBEG,SDEND
|
---|
113 | D DATE^SDQPROP(.SDQ,.SDBEG,.SDEND,"GET",$G(SDERR))
|
---|
114 | Q $G(SDBEG)_"^"_$G(SDEND)
|
---|
115 | ;
|
---|
116 | FILTER(SDQ,SDFIL,SDACT,SDERR) ; -- SDQ FILTER [API ID: 83]
|
---|
117 | D PREP^SDQUT
|
---|
118 | G FILTERG^SDQPROP
|
---|
119 | ;
|
---|
120 | GETFIL(SDQ,SDERR) ; -- get filter property [API ID: 1xx]
|
---|
121 | ; -- not supported
|
---|
122 | D PREP^SDQUT
|
---|
123 | N SDFIL
|
---|
124 | D FILTER^SDQPROP(.SDQ,.SDFIL,"GET",$G(SDERR))
|
---|
125 | Q $G(SDFIL)
|
---|
126 | ;
|
---|
127 | VISIT(SDQ,SDVST,SDACT,SDERR) ; -- SDQ VISIT [API ID: 84]
|
---|
128 | D PREP^SDQUT
|
---|
129 | G VISITG^SDOEQ
|
---|
130 | ;
|
---|
131 | GETVISIT(SDQ,SDERR) ; -- get visit property [API ID: 1xx]
|
---|
132 | ; -- not supported
|
---|
133 | D PREP^SDQUT
|
---|
134 | N SDVST
|
---|
135 | D VISIT^SDOEQ(.SDQ,.SDVST,.SDACT,$G(SDERR))
|
---|
136 | Q $G(SDVST)
|
---|
137 | ;
|
---|
138 | INDEX(SDQ,SDIDX,SDACT,SDERR) ; -- SDQ INDEX NAME [API ID: 85]
|
---|
139 | D PREP^SDQUT
|
---|
140 | G INDEXG^SDQPROP
|
---|
141 | ;
|
---|
142 | GETINDEX(SDQ,SDERR) ; -- get index property [API ID: 1xx]
|
---|
143 | ; -- not supported
|
---|
144 | D PREP^SDQUT
|
---|
145 | N SDIDX
|
---|
146 | D INDEX^SDQPROP(.SDQ,.SDIDX,"GET",$G(SDERR))
|
---|
147 | Q $G(SDIDX)
|
---|
148 | ;
|
---|
149 | ACTIVE(SDQ,SDSTAT,SDACT,SDERR) ; -- SDQ ACTIVE STATUS [API ID: 88]
|
---|
150 | D PREP^SDQUT
|
---|
151 | G ACTIVEG^SDQPROP
|
---|
152 | ;
|
---|
153 | GETACT(SDQ,SDERR) ; -- activate query [API ID: 1xx]
|
---|
154 | ; -- not supported
|
---|
155 | D PREP^SDQUT
|
---|
156 | N SDSTAT
|
---|
157 | D ACTIVE^SDQPROP(.SDQ,.SDSTAT,.SDACT,$G(SDERR))
|
---|
158 | Q $G(SDSTAT)
|
---|
159 | ;
|
---|
160 | REFRESH(SDQ,SDERR) ; -- SDQ REFRESH [API ID: 94]
|
---|
161 | D PREP^SDQUT
|
---|
162 | G REFRESHG^SDQUT
|
---|
163 | ;
|
---|
164 | SCAN(SDQ,SDIR,SDERR) ; -- SDQ SCAN [API ID: 99]
|
---|
165 | D PREP^SDQUT
|
---|
166 | G SCANG^SDQNAV
|
---|
167 | ;
|
---|
168 | SCANCB(SDQ,SDCB,SDACT,SDERR) ; -- SDQ SCAN CALLBACK [API ID: 100]
|
---|
169 | D PREP^SDQUT
|
---|
170 | G SCANCBG^SDQNAV
|
---|
171 | ;
|
---|
172 | NEXT(SDQ,SDERR) ; -- SDQ NEXT [API ID: 92]
|
---|
173 | D PREP^SDQUT
|
---|
174 | G NEXTG^SDQNAV
|
---|
175 | ;
|
---|
176 | PRIOR(SDQ,SDERR) ; -- SDQ PRIOR [API ID: 93]
|
---|
177 | D PREP^SDQUT
|
---|
178 | G PRIORG^SDQNAV
|
---|
179 | ;
|
---|
180 | FIRST(SDQ,SDERR) ; -- SDQ FIRST [API ID: 90]
|
---|
181 | D PREP^SDQUT
|
---|
182 | G FIRSTG^SDQNAV
|
---|
183 | ;
|
---|
184 | LAST(SDQ,SDERR) ; -- SDQ LAST [API ID: 91]
|
---|
185 | D PREP^SDQUT
|
---|
186 | G LASTG^SDQNAV
|
---|
187 | ;
|
---|
188 | EOF(SDQ,SDERR) ; -- SDQ EOF [API ID: 86]
|
---|
189 | D PREP^SDQUT
|
---|
190 | Q $$EOF^SDQNAV(.SDQ,$G(SDERR))
|
---|
191 | ;
|
---|
192 | BOF(SDQ,SDERR) ; -- SDQ BOF [API ID: 87]
|
---|
193 | D PREP^SDQUT
|
---|
194 | Q $$BOF^SDQNAV(.SDQ,$G(SDERR))
|
---|
195 | ;
|
---|
196 | COUNT(SDQ,SDERR) ; -- SDQ COUNT [API ID: 89]
|
---|
197 | D PREP^SDQUT
|
---|
198 | Q $$COUNT^SDQNAV(.SDQ,$G(SDERR))
|
---|
199 | ;
|
---|
200 | GETENTRY(SDQ,SDERR) ; -- SDQ GET CURRENT ENTRY ID [API ID: 95]
|
---|
201 | D PREP^SDQUT
|
---|
202 | Q $$GETENTRY^SDQUT(.SDQ,$G(SDERR))
|
---|
203 | ;
|
---|