source: WorldVistAEHR/trunk/r/ORDER_ENTRY_RESULTS_REPORTING-OR-OCX--ORRC--ORRJ/ORY21106.m@ 862

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

initial load of WorldVistAEHR

File size: 7.3 KB
Line 
1ORY21106 ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE (Delete after Install of OR*3*211) ;APR 5,2005 at 08:07
2 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**211**;Dec 17,1997
3 ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
4 ;
5S ;
6 ;
7 D DOT^ORY211ES
8 ;
9 ;
10 K REMOTE,LOCAL,OPCODE,REF
11 F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT I $L(TEXT) D Q:QUIT
12 .S ^TMP("OCXRULE",$J,$O(^TMP("OCXRULE",$J,"A"),-1)+1)=TEXT
13 ;
14 G ^ORY21107
15 ;
16 Q
17 ;
18DATA ;
19 ;
20 ;;R^"860.8:",100,6
21 ;;D^ ; Q +CKSUM
22 ;;R^"860.8:",100,7
23 ;;D^ ; ;
24 ;;EOR^
25 ;;KEY^860.8:^GET DATA FROM THE ACTIVE DATA FILE
26 ;;R^"860.8:",.01,"E"
27 ;;D^GET DATA FROM THE ACTIVE DATA FILE
28 ;;R^"860.8:",.02,"E"
29 ;;D^GETDATA
30 ;;R^"860.8:",100,1
31 ;;D^ ;GETDATA(DFN,OCXL,OCXDFI) ; This Local Extrinsic Function returns runtime data
32 ;;R^"860.8:",100,2
33 ;;D^ ; ;
34 ;;R^"860.8:",100,3
35 ;;D^ ; N OCXE,VAL,PC S VAL=""
36 ;;R^"860.8:",100,4
37 ;;D^ ; F PC=1:1:$L(OCXL,U) S OCXE=$P(OCXL,U,PC) I OCXE S VAL=$G(^TMP("OCXCHK",$J,DFN,OCXE,OCXDFI)) Q:$L(VAL)
38 ;;R^"860.8:",100,5
39 ;;D^ ; Q VAL
40 ;;R^"860.8:",100,6
41 ;;D^ ; ;
42 ;;EOR^
43 ;;KEY^860.8:^IN LIST OPERATOR
44 ;;R^"860.8:",.01,"E"
45 ;;D^IN LIST OPERATOR
46 ;;R^"860.8:",.02,"E"
47 ;;D^LIST
48 ;;R^"860.8:",100,1
49 ;;D^ ;LIST(DATA,LIST) ; IS THE DATA FIELD IN THE LIST
50 ;;R^"860.8:",100,2
51 ;;D^ ; ;
52 ;;R^"860.8:",100,3
53 ;;D^T+; W:$G(OCXTRACE) !,"%%%%",?20," $$LIST(""",DATA,""",""",LIST,""")"
54 ;;R^"860.8:",100,4
55 ;;D^ ; S:'($E(LIST,1)=",") LIST=","_LIST S:'($E(LIST,$L(LIST))=",") LIST=LIST_"," S DATA=","_DATA_","
56 ;;R^"860.8:",100,5
57 ;;D^ ; Q (LIST[DATA)
58 ;;R^"860.8:",100,6
59 ;;D^ ; ;
60 ;;EOR^
61 ;;KEY^860.8:^LOCAL TERM LOOKUP
62 ;;R^"860.8:",.01,"E"
63 ;;D^LOCAL TERM LOOKUP
64 ;;R^"860.8:",.02,"E"
65 ;;D^TERMLKUP
66 ;;R^"860.8:",1,1
67 ;;D^
68 ;;R^"860.8:",1,2
69 ;;D^ This function allows a local site to define to Order Checking
70 ;;R^"860.8:",1,3
71 ;;D^ a term specific to that site. (ie. Lab Test Name, Radiology
72 ;;R^"860.8:",1,4
73 ;;D^ procedure name, etc.)
74 ;;R^"860.8:",1,5
75 ;;D^
76 ;;R^"860.8:",100,1
77 ;;D^ ;TERMLKUP(OCXTERM,OCXFILE) ;
78 ;;R^"860.8:",100,2
79 ;;D^ ; ;
80 ;;R^"860.8:",100,3
81 ;;D^ ; Q
82 ;;R^"860.8:",100,4
83 ;;D^ ; ;
84 ;;EOR^
85 ;;KEY^860.8:^NEW RULE MESSAGE
86 ;;R^"860.8:",.01,"E"
87 ;;D^NEW RULE MESSAGE
88 ;;R^"860.8:",.02,"E"
89 ;;D^NEWRULE
90 ;;R^"860.8:",100,1
91 ;;D^ ;NEWRULE(OCXDFN,OCXORD,OCXRUL,OCXREL,OCXNOTF,OCXMESS) ; Has this rule already been triggered for this order number
92 ;;R^"860.8:",100,2
93 ;;D^ ; ;
94 ;;R^"860.8:",100,3
95 ;;D^L+; S OCXERR=$$TIMELOG("M","NEWRULE("_(+$G(OCXDFN))_","_(+$G(OCXORD))_","_(+$G(OCXRUL))_","_(+$G(OCXREL))_","_(+$G(OCXNOTF))_","_$G(OCXMESS)_")")
96 ;;R^"860.8:",100,4
97 ;;D^ ; ;
98 ;;R^"860.8:",100,5
99 ;;D^ ; Q:'$G(OCXDFN) 0 Q:'$G(OCXRUL) 0
100 ;;R^"860.8:",100,6
101 ;;D^ ; Q:'$G(OCXREL) 0 Q:'$G(OCXNOTF) 0 Q:'$L($G(OCXMESS)) 0
102 ;;R^"860.8:",100,7
103 ;;D^ ; S OCXORD=+$G(OCXORD),OCXDFN=+OCXDFN
104 ;;R^"860.8:",100,8
105 ;;D^ ; ;
106 ;;R^"860.8:",100,9
107 ;;D^ ; N OCXNDX,OCXDATA,OCXDFI,OCXELE,OCXGR,OCXTIME,OCXCKSUM,OCXTSP,OCXTSPL
108 ;;R^"860.8:",100,10
109 ;;D^ ; ;
110 ;;R^"860.8:",100,11
111 ;;D^ ; S OCXTIME=(+$H)
112 ;;R^"860.8:",100,12
113 ;;D^ ; S OCXCKSUM=$$CKSUM(OCXMESS)
114 ;;R^"860.8:",100,13
115 ;;D^ ; ;
116 ;;R^"860.8:",100,14
117 ;;D^ ; S OCXTSP=($H*86400)+$P($H,",",2)
118 ;;R^"860.8:",100,15
119 ;;D^ ; S OCXTSPI=300
120 ;;R^"860.8:",100,16
121 ;;D^ ; S OCXTSPL=($G(^OCXD(860.7,"AT",OCXTIME,OCXDFN,OCXRUL,+OCXORD,OCXCKSUM))+$G(OCXTSPI))
122 ;;R^"860.8:",100,17
123 ;;D^ ; ;
124 ;;R^"860.8:",100,18
125 ;;D^ ; Q:(OCXTSPL>OCXTSP) 0
126 ;;R^"860.8:",100,19
127 ;;D^ ; ;
128 ;;R^"860.8:",100,20
129 ;;D^ ; K OCXDATA
130 ;;R^"860.8:",100,21
131 ;;D^ ; S OCXDATA(OCXDFN,0)=OCXDFN
132 ;;R^"860.8:",100,22
133 ;;D^ ; S OCXDATA("B",OCXDFN,OCXDFN)=""
134 ;;R^"860.8:",100,23
135 ;;D^ ; S OCXDATA("AT",OCXTIME,OCXDFN,OCXRUL,+OCXORD,OCXCKSUM)=OCXTSP
136 ;;R^"860.8:",100,24
137 ;;D^ ; ;
138 ;;R^"860.8:",100,25
139 ;;D^ ; S OCXGR="^OCXD(860.7"
140 ;;R^"860.8:",100,26
141 ;;D^T+; D SETAP(OCXGR_")",0,"Patient",$P($G(^DPT(OCXDFN,0)),U,1),.OCXDATA,OCXDFN)
142 ;;R^"860.8:",100,27
143 ;;D^T-; D SETAP(OCXGR_")",0,.OCXDATA,OCXDFN)
144 ;;R^"860.8:",100,28
145 ;;D^ ; ;
146 ;;R^"860.8:",100,29
147 ;;D^ ; K OCXDATA
148 ;;R^"860.8:",100,30
149 ;;D^ ; S OCXDATA(OCXRUL,0)=OCXRUL_U_(OCXTIME)_U_(+OCXORD)
150 ;;R^"860.8:",100,31
151 ;;D^ ; S OCXDATA(OCXRUL,"M")=OCXMESS
152 ;;R^"860.8:",100,32
153 ;;D^ ; S OCXDATA("B",OCXRUL,OCXRUL)=""
154 ;;R^"860.8:",100,33
155 ;;D^ ; S OCXGR=OCXGR_","_OCXDFN_",1"
156 ;;R^"860.8:",100,34
157 ;;D^T+; D SETAP(OCXGR_")","860.71P","Rule",$P($G(^OCXS(860.2,OCXRUL,0)),U,1),.OCXDATA,OCXRUL)
158 ;;R^"860.8:",100,35
159 ;;D^T-; D SETAP(OCXGR_")","860.71P",.OCXDATA,OCXRUL)
160 ;;R^"860.8:",100,36
161 ;;D^ ; ;
162 ;;R^"860.8:",100,37
163 ;;D^ ; K OCXDATA
164 ;;R^"860.8:",100,38
165 ;;D^ ; S OCXDATA(OCXREL,0)=OCXREL
166 ;;R^"860.8:",100,39
167 ;;D^ ; S OCXDATA("B",OCXREL,OCXREL)=""
168 ;;R^"860.8:",100,40
169 ;;D^ ; S OCXGR=OCXGR_","_OCXRUL_",1"
170 ;;R^"860.8:",100,41
171 ;;D^T+; D SETAP(OCXGR_")","860.712","Relation",OCXREL,.OCXDATA,OCXREL)
172 ;;R^"860.8:",100,42
173 ;;D^T-; D SETAP(OCXGR_")","860.712",.OCXDATA,OCXREL)
174 ;;R^"860.8:",100,43
175 ;;D^ ; ;
176 ;;R^"860.8:",100,44
177 ;;D^ ; S OCXELE=0 F S OCXELE=$O(^OCXS(860.2,OCXRUL,"C","C",OCXELE)) Q:'OCXELE D
178 ;;R^"860.8:",100,45
179 ;;D^ ; .;
180 ;;R^"860.8:",100,46
181 ;;D^ ; .N OCXGR1
182 ;;R^"860.8:",100,47
183 ;;D^ ; .S OCXGR1=OCXGR_","_OCXREL_",1"
184 ;;R^"860.8:",100,48
185 ;;D^ ; .K OCXDATA
186 ;;R^"860.8:",100,49
187 ;;D^ ; .S OCXDATA(OCXELE,0)=OCXELE
188 ;;R^"860.8:",100,50
189 ;;D^ ; .S OCXDATA(OCXELE,"TIME")=OCXTIME
190 ;;R^"860.8:",100,51
191 ;;D^ ; .S OCXDATA(OCXELE,"LOG")=$G(OCXOLOG)
192 ;;R^"860.8:",100,52
193 ;;D^ ; .S OCXDATA("B",OCXELE,OCXELE)=""
194 ;;R^"860.8:",100,53
195 ;;D^ ; .K ^OCXD(860.7,OCXDFN,1,OCXRUL,1,OCXREL,1,OCXELE)
196 ;;R^"860.8:",100,54
197 ;;D^T+; .D SETAP(OCXGR1_")","860.7122P","Element",$P($G(^OCXS(860.3,OCXELE,0)),U,1),.OCXDATA,OCXELE)
198 ;;R^"860.8:",100,55
199 ;;D^T-; .D SETAP(OCXGR1_")","860.7122P",.OCXDATA,OCXELE)
200 ;;R^"860.8:",100,56
201 ;;D^ ; .;
202 ;;R^"860.8:",100,57
203 ;;D^ ; .S OCXDFI=0 F S OCXDFI=$O(^TMP("OCXCHK",$J,OCXDFN,OCXELE,OCXDFI)) Q:'OCXDFI D
204 ;;R^"860.8:",100,58
205 ;;D^ ; ..N OCXGR2
206 ;;R^"860.8:",100,59
207 ;;D^ ; ..S OCXGR2=OCXGR1_","_OCXELE_",1"
208 ;;R^"860.8:",100,60
209 ;;D^ ; ..K OCXDATA
210 ;;R^"860.8:",100,61
211 ;;D^ ; ..S OCXDATA(OCXDFI,0)=OCXDFI
212 ;;R^"860.8:",100,62
213 ;;D^ ; ..S OCXDATA(OCXDFI,"VAL")=^TMP("OCXCHK",$J,OCXDFN,OCXELE,OCXDFI)
214 ;;R^"860.8:",100,63
215 ;;D^ ; ..S OCXDATA("B",OCXDFI,OCXDFI)=""
216 ;;R^"860.8:",100,64
217 ;;D^T+; ..D SETAP(OCXGR2_")","860.71223P","Data Field",$P($G(^OCXS(860.4,OCXDFI,0)),U,1),.OCXDATA,OCXDFI)
218 ;;R^"860.8:",100,65
219 ;;D^T-; ..D SETAP(OCXGR2_")","860.71223P",.OCXDATA,OCXDFI)
220 ;;R^"860.8:",100,66
221 ;;D^ ; ;
222 ;;R^"860.8:",100,67
223 ;;D^ ; Q 1
224 ;;R^"860.8:",100,68
225 ;;D^ ; ;
226 ;;R^"860.8:",100,69
227 ;;D^T+;SETAP(ROOT,DD,ITEM,ITEMNAME,DATA,DA) ; Set Rule Event data
228 ;;R^"860.8:",100,70
229 ;;D^T-;SETAP(ROOT,DD,DATA,DA) ; Set Rule Event data
230 ;;R^"860.8:",100,71
231 ;;D^ ; M @ROOT=DATA
232 ;;R^"860.8:",100,72
233 ;;D^ ; I +$G(DD) S @ROOT@(0)="^"_($G(DD))_"^"_($P($G(@ROOT@(0)),U,3)+1)_"^"_$G(DA)
234 ;;R^"860.8:",100,73
235 ;;D^ ; I '$G(DD) S $P(@ROOT@(0),U,3,4)=($P($G(@ROOT@(0)),U,3)+1)_"^"_$G(DA)
236 ;;R^"860.8:",100,74
237 ;;D^T+; W:$G(OCXTRACE) !,"File Active Data ",$G(ITEM),": ",$G(ITEMNAME)
238 ;;R^"860.8:",100,75
239 ;;D^ ; ;
240 ;;R^"860.8:",100,76
241 ;;D^ ; Q
242 ;;R^"860.8:",100,77
243 ;;D^ ; ;
244 ;;R^"860.8:",100,78
245 ;;D^ ; ;
246 ;;EOR^
247 ;;KEY^860.8:^RECENT CREATININE LAB PROCEDURE
248 ;;R^"860.8:",.01,"E"
249 ;;D^RECENT CREATININE LAB PROCEDURE
250 ;;R^"860.8:",.02,"E"
251 ;;D^RECCREAT
252 ;;R^"860.8:",100,1
253 ;;D^ ;RECCREAT(ORDFN,ORDAYS) ;extrinsic function to return most recent
254 ;1;
255 ;
Note: See TracBrowser for help on using the repository browser.