source: EDIS/tags/ed/tracking-kids/EDPSERVER1_0T2.KID@ 1240

Last change on this file since 1240 was 1240, checked in by George Lilly, 13 years ago

new version from the VA

File size: 216.6 KB
Line 
1KIDS Distribution saved on Jan 30, 2008@13:25:26
2EDP Server Build 1.0 T2
3**KIDS**:EDP SERVER 1.0^
4
5**INSTALL NAME**
6EDP SERVER 1.0
7"BLD",6766,0)
8EDP SERVER 1.0^^0^3080130^n
9"BLD",6766,1,0)
10^^4^4^3080130^
11"BLD",6766,1,1,0)
12This installs the EDIS (Emergency Department Information System)
13"BLD",6766,1,2,0)
14Tracking application on a server. The application is designed so that
15"BLD",6766,1,3,0)
16one server can service any number of sites. There is a corresponding
17"BLD",6766,1,4,0)
18KIDS build that is installed at the facility.
19"BLD",6766,4,0)
20^9.64PA^233.2^7
21"BLD",6766,4,230,0)
22230
23"BLD",6766,4,230,222)
24y^y^f^^^^n
25"BLD",6766,4,230.1,0)
26230.1
27"BLD",6766,4,230.1,222)
28y^y^f^^^^n
29"BLD",6766,4,231.7,0)
30231.7
31"BLD",6766,4,231.7,222)
32y^y^f^^^^n
33"BLD",6766,4,231.8,0)
34231.8
35"BLD",6766,4,231.8,222)
36y^y^f^^^^n
37"BLD",6766,4,231.9,0)
38231.9
39"BLD",6766,4,231.9,222)
40y^y^f^^^^n
41"BLD",6766,4,233.1,0)
42233.1
43"BLD",6766,4,233.1,222)
44y^y^f^^y^^y^o^n
45"BLD",6766,4,233.1,224)
46I $E(^(0),1,4)="edp."
47"BLD",6766,4,233.2,0)
48233.2
49"BLD",6766,4,233.2,222)
50y^y^f^^y^^y^o^n
51"BLD",6766,4,233.2,224)
52I $E(^(0),1,4)="edp."
53"BLD",6766,4,"B",230,230)
54
55"BLD",6766,4,"B",230.1,230.1)
56
57"BLD",6766,4,"B",231.7,231.7)
58
59"BLD",6766,4,"B",231.8,231.8)
60
61"BLD",6766,4,"B",231.9,231.9)
62
63"BLD",6766,4,"B",233.1,233.1)
64
65"BLD",6766,4,"B",233.2,233.2)
66
67"BLD",6766,6.3)
687
69"BLD",6766,"INIT")
70EDPYSRV
71"BLD",6766,"KRN",0)
72^9.67PA^8989.52^19
73"BLD",6766,"KRN",.4,0)
74.4
75"BLD",6766,"KRN",.401,0)
76.401
77"BLD",6766,"KRN",.402,0)
78.402
79"BLD",6766,"KRN",.403,0)
80.403
81"BLD",6766,"KRN",.5,0)
82.5
83"BLD",6766,"KRN",.84,0)
84.84
85"BLD",6766,"KRN",3.6,0)
863.6
87"BLD",6766,"KRN",3.8,0)
883.8
89"BLD",6766,"KRN",9.2,0)
909.2
91"BLD",6766,"KRN",9.8,0)
929.8
93"BLD",6766,"KRN",9.8,"NM",0)
94^9.68A^46^35
95"BLD",6766,"KRN",9.8,"NM",1,0)
96EDPBCF^^0^B6377962
97"BLD",6766,"KRN",9.8,"NM",2,0)
98EDPBCM^^0^B11802573
99"BLD",6766,"KRN",9.8,"NM",3,0)
100EDPBPM^^0^B2766869
101"BLD",6766,"KRN",9.8,"NM",4,0)
102EDPBRM^^0^B8445684
103"BLD",6766,"KRN",9.8,"NM",5,0)
104EDPBRS^^0^B17301676
105"BLD",6766,"KRN",9.8,"NM",6,0)
106EDPBSL^^0^B10687935
107"BLD",6766,"KRN",9.8,"NM",7,0)
108EDPBST^^0^B5671603
109"BLD",6766,"KRN",9.8,"NM",8,0)
110EDPCSV^^0^B1174381
111"BLD",6766,"KRN",9.8,"NM",9,0)
112EDPCTRL^^0^B34504423
113"BLD",6766,"KRN",9.8,"NM",10,0)
114EDPDD^^0^B107293
115"BLD",6766,"KRN",9.8,"NM",19,0)
116EDPLOG^^0^B16849923
117"BLD",6766,"KRN",9.8,"NM",20,0)
118EDPLOG1^^0^B2757150
119"BLD",6766,"KRN",9.8,"NM",21,0)
120EDPLOGA^^0^B7949056
121"BLD",6766,"KRN",9.8,"NM",22,0)
122EDPLOGH^^0^B269228
123"BLD",6766,"KRN",9.8,"NM",23,0)
124EDPMAIL^^0^B8916423
125"BLD",6766,"KRN",9.8,"NM",24,0)
126EDPQAR^^0^B1525958
127"BLD",6766,"KRN",9.8,"NM",25,0)
128EDPQDB^^0^B23470314
129"BLD",6766,"KRN",9.8,"NM",26,0)
130EDPQDBS^^0^B2926745
131"BLD",6766,"KRN",9.8,"NM",27,0)
132EDPQLE^^0^B11635607
133"BLD",6766,"KRN",9.8,"NM",28,0)
134EDPQLE1^^0^B4294300
135"BLD",6766,"KRN",9.8,"NM",29,0)
136EDPQLP^^0^B5675430
137"BLD",6766,"KRN",9.8,"NM",30,0)
138EDPRPT^^0^B8892171
139"BLD",6766,"KRN",9.8,"NM",31,0)
140EDPRPT1^^0^B33830475
141"BLD",6766,"KRN",9.8,"NM",32,0)
142EDPRPT10^^0^B19054284
143"BLD",6766,"KRN",9.8,"NM",33,0)
144EDPRPT11^^0^B8284389
145"BLD",6766,"KRN",9.8,"NM",34,0)
146EDPRPT2^^0^B16939211
147"BLD",6766,"KRN",9.8,"NM",35,0)
148EDPRPT3^^0^B6932750
149"BLD",6766,"KRN",9.8,"NM",36,0)
150EDPRPT4^^0^B21986629
151"BLD",6766,"KRN",9.8,"NM",37,0)
152EDPRPT5^^0^B33876185
153"BLD",6766,"KRN",9.8,"NM",38,0)
154EDPRPT6^^0^B9535777
155"BLD",6766,"KRN",9.8,"NM",39,0)
156EDPRPT7^^0^B21032834
157"BLD",6766,"KRN",9.8,"NM",40,0)
158EDPRPT7C^^0^B21231553
159"BLD",6766,"KRN",9.8,"NM",41,0)
160EDPRPT8^^0^B15368168
161"BLD",6766,"KRN",9.8,"NM",42,0)
162EDPRPT9^^0^B1592058
163"BLD",6766,"KRN",9.8,"NM",46,0)
164EDPX^^0^B6480298
165"BLD",6766,"KRN",9.8,"NM","B","EDPBCF",1)
166
167"BLD",6766,"KRN",9.8,"NM","B","EDPBCM",2)
168
169"BLD",6766,"KRN",9.8,"NM","B","EDPBPM",3)
170
171"BLD",6766,"KRN",9.8,"NM","B","EDPBRM",4)
172
173"BLD",6766,"KRN",9.8,"NM","B","EDPBRS",5)
174
175"BLD",6766,"KRN",9.8,"NM","B","EDPBSL",6)
176
177"BLD",6766,"KRN",9.8,"NM","B","EDPBST",7)
178
179"BLD",6766,"KRN",9.8,"NM","B","EDPCSV",8)
180
181"BLD",6766,"KRN",9.8,"NM","B","EDPCTRL",9)
182
183"BLD",6766,"KRN",9.8,"NM","B","EDPDD",10)
184
185"BLD",6766,"KRN",9.8,"NM","B","EDPLOG",19)
186
187"BLD",6766,"KRN",9.8,"NM","B","EDPLOG1",20)
188
189"BLD",6766,"KRN",9.8,"NM","B","EDPLOGA",21)
190
191"BLD",6766,"KRN",9.8,"NM","B","EDPLOGH",22)
192
193"BLD",6766,"KRN",9.8,"NM","B","EDPMAIL",23)
194
195"BLD",6766,"KRN",9.8,"NM","B","EDPQAR",24)
196
197"BLD",6766,"KRN",9.8,"NM","B","EDPQDB",25)
198
199"BLD",6766,"KRN",9.8,"NM","B","EDPQDBS",26)
200
201"BLD",6766,"KRN",9.8,"NM","B","EDPQLE",27)
202
203"BLD",6766,"KRN",9.8,"NM","B","EDPQLE1",28)
204
205"BLD",6766,"KRN",9.8,"NM","B","EDPQLP",29)
206
207"BLD",6766,"KRN",9.8,"NM","B","EDPRPT",30)
208
209"BLD",6766,"KRN",9.8,"NM","B","EDPRPT1",31)
210
211"BLD",6766,"KRN",9.8,"NM","B","EDPRPT10",32)
212
213"BLD",6766,"KRN",9.8,"NM","B","EDPRPT11",33)
214
215"BLD",6766,"KRN",9.8,"NM","B","EDPRPT2",34)
216
217"BLD",6766,"KRN",9.8,"NM","B","EDPRPT3",35)
218
219"BLD",6766,"KRN",9.8,"NM","B","EDPRPT4",36)
220
221"BLD",6766,"KRN",9.8,"NM","B","EDPRPT5",37)
222
223"BLD",6766,"KRN",9.8,"NM","B","EDPRPT6",38)
224
225"BLD",6766,"KRN",9.8,"NM","B","EDPRPT7",39)
226
227"BLD",6766,"KRN",9.8,"NM","B","EDPRPT7C",40)
228
229"BLD",6766,"KRN",9.8,"NM","B","EDPRPT8",41)
230
231"BLD",6766,"KRN",9.8,"NM","B","EDPRPT9",42)
232
233"BLD",6766,"KRN",9.8,"NM","B","EDPX",46)
234
235"BLD",6766,"KRN",19,0)
23619
237"BLD",6766,"KRN",19,"NM",0)
238^9.68A^2^2
239"BLD",6766,"KRN",19,"NM",1,0)
240EDPS TRACKING CONTEXT^^0
241"BLD",6766,"KRN",19,"NM",2,0)
242EDPSERVER^^0
243"BLD",6766,"KRN",19,"NM","B","EDPS TRACKING CONTEXT",1)
244
245"BLD",6766,"KRN",19,"NM","B","EDPSERVER",2)
246
247"BLD",6766,"KRN",19.1,0)
24819.1
249"BLD",6766,"KRN",101,0)
250101
251"BLD",6766,"KRN",101,"NM",0)
252^9.68A^^
253"BLD",6766,"KRN",409.61,0)
254409.61
255"BLD",6766,"KRN",771,0)
256771
257"BLD",6766,"KRN",870,0)
258870
259"BLD",6766,"KRN",8989.51,0)
2608989.51
261"BLD",6766,"KRN",8989.52,0)
2628989.52
263"BLD",6766,"KRN",8994,0)
2648994
265"BLD",6766,"KRN",8994,"NM",0)
266^9.68A^1^1
267"BLD",6766,"KRN",8994,"NM",1,0)
268EDPCTRL RPC^^0
269"BLD",6766,"KRN",8994,"NM","B","EDPCTRL RPC",1)
270
271"BLD",6766,"KRN","B",.4,.4)
272
273"BLD",6766,"KRN","B",.401,.401)
274
275"BLD",6766,"KRN","B",.402,.402)
276
277"BLD",6766,"KRN","B",.403,.403)
278
279"BLD",6766,"KRN","B",.5,.5)
280
281"BLD",6766,"KRN","B",.84,.84)
282
283"BLD",6766,"KRN","B",3.6,3.6)
284
285"BLD",6766,"KRN","B",3.8,3.8)
286
287"BLD",6766,"KRN","B",9.2,9.2)
288
289"BLD",6766,"KRN","B",9.8,9.8)
290
291"BLD",6766,"KRN","B",19,19)
292
293"BLD",6766,"KRN","B",19.1,19.1)
294
295"BLD",6766,"KRN","B",101,101)
296
297"BLD",6766,"KRN","B",409.61,409.61)
298
299"BLD",6766,"KRN","B",771,771)
300
301"BLD",6766,"KRN","B",870,870)
302
303"BLD",6766,"KRN","B",8989.51,8989.51)
304
305"BLD",6766,"KRN","B",8989.52,8989.52)
306
307"BLD",6766,"KRN","B",8994,8994)
308
309"BLD",6766,"QUES",0)
310^9.62^^
311"BLD",6766,"REQB",0)
312^9.611^^
313"DATA",233.1,1,0)
314edp.acuity.esi1^1^1
315"DATA",233.1,1,2,0)
316^^1^1^3070720^
317"DATA",233.1,1,2,1,0)
318Most critical
319"DATA",233.1,2,0)
320edp.acuity.esi2^2^2
321"DATA",233.1,3,0)
322edp.acuity.esi3^3^3
323"DATA",233.1,4,0)
324edp.acuity.esi4^4^4
325"DATA",233.1,5,0)
326edp.acuity.esi5^5^5
327"DATA",233.1,8,0)
328edp.status.admitted^Admitted - Still in ED^Admit^^A
329"DATA",233.1,9,0)
330edp.status.edobs^ED Observation^EDObs^^AO
331"DATA",233.1,11,0)
332edp.status.gone^No Longer in ED^Gone
333"DATA",233.1,12,0)
334edp.status.observation^Observation^Obs^^AO
335"DATA",233.1,13,0)
336edp.status.overflow^Overflow^Ovf
337"DATA",233.1,15,0)
338edp.delay.inptbed^Obtain Inpatient Bed^13k
339"DATA",233.1,16,0)
340edp.delay.overcrowd^Overcrowding of ED^13a
341"DATA",233.1,17,0)
342edp.delay.admiteval^Admitting Physician Evaluation^13c
343"DATA",233.1,18,0)
344edp.delay.admitorders^Admit MD Writing Admit Orders^13h
345"DATA",233.1,19,0)
346edp.delay.admitobs^Patient Admitted to Observation^OBS
347"DATA",233.1,20,0)
348edp.delay.stafflimit^ED Staff Limits^13b
349"DATA",233.1,21,0)
350edp.delay.interfacility^Interfacility Transfer^13m
351"DATA",233.1,22,0)
352edp.delay.ambulance^Obtain Ambulance Services^13n
353"DATA",233.1,23,0)
354edp.delay.imageresult^Obtain Imaging Results^13g
355"DATA",233.1,24,0)
356edp.delay.imagestudy^Obtain Imaging Studies^13f
357"DATA",233.1,25,0)
358edp.delay.pharm^Obtain Drugs/Pharmacology^13j
359"DATA",233.1,26,0)
360edp.delay.labresult^Obtain Lab Results^13e
361"DATA",233.1,27,0)
362edp.delay.labstudy^Obtain Lab Studies^13d
363"DATA",233.1,28,0)
364edp.delay.supplies^Obtain Medical Supplies^13i
365"DATA",233.1,29,0)
366edp.delay.surgery^Arrange Emergency Surgery^13l
367"DATA",233.1,30,0)
368edp.delay.home^Patient Transport Home^13p
369"DATA",233.1,31,0)
370edp.delay.transport^Patient Transport Other^13o
371"DATA",233.1,32,0)
372edp.source.ambulance^Ambulance
373"DATA",233.1,33,0)
374edp.source.walk-in^Walk-in
375"DATA",233.1,35,0)
376edp.disposition.home^Home^H
377"DATA",233.1,36,0)
378edp.disposition.admitva^Admitted to VA Ward^VA^^A
379"DATA",233.1,37,0)
380edp.disposition.left^Left Without Being Treated/Seen^L
381"DATA",233.1,38,0)
382edp.disposition.xferva^Transferred to VA Facility^O
383"DATA",233.1,39,0)
384edp.disposition.ama^AMA^AMA
385"DATA",233.1,40,0)
386edp.disposition.clinic^Sent to Urgent Care Clinic^CL
387"DATA",233.1,41,0)
388edp.disposition.deceased^Deceased^D
389"DATA",233.1,42,0)
390edp.disposition.telemetry^Admitted to Telemetry^T^^A
391"DATA",233.1,43,0)
392edp.disposition.icu^Admitted to ICU^ICU^^A
393"DATA",233.1,44,0)
394edp.disposition.nec^Sent to Nurse Eval / Drop In Clinic^NEC
395"DATA",233.1,45,0)
396edp.disposition.eloped^Eloped^E
397"DATA",233.1,46,0)
398edp.reserved.novalue^
399"DATA",233.1,53,0)
400edp.source.clinic^Clinic
401"DATA",233.1,54,0)
402edp.source.cboc^CBOC
403"DATA",233.1,55,0)
404edp.source.nhci^NHCI
405"DATA",233.1,56,0)
406edp.source.code^Emergency Code
407"DATA",233.1,57,0)
408edp.disposition.xfernon^Transfer to non-VA Facility^NVA
409"DATA",233.1,58,0)
410edp.disposition.psych^Admitted to Psychiatry^PSY^^A
411"DATA",233.1,59,0)
412edp.delay.consult^Obtain Consultation^CSLT
413"DATA",233.2,1,0)
414edp.acuity
415"DATA",233.2,1,1,0)
416^233.21A^5^5
417"DATA",233.2,1,1,1,0)
4181^1
419"DATA",233.2,1,1,2,0)
4202^2
421"DATA",233.2,1,1,3,0)
4223^3
423"DATA",233.2,1,1,4,0)
4244^4
425"DATA",233.2,1,1,5,0)
4265^5
427"DATA",233.2,3,0)
428edp.status
429"DATA",233.2,3,1,0)
430^233.21A^8^4
431"DATA",233.2,3,1,1,0)
43210^8
433"DATA",233.2,3,1,2,0)
43420^9
435"DATA",233.2,3,1,7,0)
43630^12
437"DATA",233.2,3,1,8,0)
43840^13
439"DATA",233.2,4,0)
440edp.delay
441"DATA",233.2,4,1,0)
442^233.21A^18^18
443"DATA",233.2,4,1,1,0)
4443^15
445"DATA",233.2,4,1,2,0)
4465^16
447"DATA",233.2,4,1,3,0)
44810^17
449"DATA",233.2,4,1,4,0)
45015^18
451"DATA",233.2,4,1,5,0)
45220^19
453"DATA",233.2,4,1,6,0)
45425^20
455"DATA",233.2,4,1,7,0)
45630^21
457"DATA",233.2,4,1,8,0)
45835^22
459"DATA",233.2,4,1,9,0)
46040^23
461"DATA",233.2,4,1,10,0)
46245^24
463"DATA",233.2,4,1,11,0)
46450^25
465"DATA",233.2,4,1,12,0)
46655^26
467"DATA",233.2,4,1,13,0)
46860^27
469"DATA",233.2,4,1,14,0)
47065^28
471"DATA",233.2,4,1,15,0)
47270^29
473"DATA",233.2,4,1,16,0)
47475^30
475"DATA",233.2,4,1,17,0)
47680^31
477"DATA",233.2,4,1,18,0)
47885^59
479"DATA",233.2,5,0)
480edp.arrival
481"DATA",233.2,5,1,0)
482^233.21A^6^6
483"DATA",233.2,5,1,1,0)
48410^53
485"DATA",233.2,5,1,2,0)
48620^54
487"DATA",233.2,5,1,3,0)
48830^32
489"DATA",233.2,5,1,4,0)
49040^33
491"DATA",233.2,5,1,5,0)
49250^55
493"DATA",233.2,5,1,6,0)
49460^56
495"DATA",233.2,6,0)
496edp.disposition
497"DATA",233.2,6,1,0)
498^233.21A^13^13
499"DATA",233.2,6,1,1,0)
50010^36
501"DATA",233.2,6,1,2,0)
50260^39
503"DATA",233.2,6,1,3,0)
504130^40
505"DATA",233.2,6,1,4,0)
506110^41
507"DATA",233.2,6,1,5,0)
50880^45
509"DATA",233.2,6,1,6,0)
51050^35
511"DATA",233.2,6,1,7,0)
51230^43
513"DATA",233.2,6,1,8,0)
51470^37
515"DATA",233.2,6,1,9,0)
516120^44
517"DATA",233.2,6,1,10,0)
51820^42
519"DATA",233.2,6,1,11,0)
52090^38
521"DATA",233.2,6,1,12,0)
522100^57
523"DATA",233.2,6,1,13,0)
52440^58
525"FIA",230)
526ED LOG
527"FIA",230,0)
528^EDP(230,
529"FIA",230,0,0)
530230D
531"FIA",230,0,1)
532y^y^f^^^^n
533"FIA",230,0,10)
534
535"FIA",230,0,11)
536
537"FIA",230,0,"RLRO")
538
539"FIA",230,230)
5400
541"FIA",230,230.04)
5420
543"FIA",230,230.08)
5440
545"FIA",230.1)
546ED LOG HISTORY
547"FIA",230.1,0)
548^EDP(230.1,
549"FIA",230.1,0,0)
550230.1P
551"FIA",230.1,0,1)
552y^y^f^^^^n
553"FIA",230.1,0,10)
554
555"FIA",230.1,0,11)
556
557"FIA",230.1,0,"RLRO")
558
559"FIA",230.1,230.1)
5600
561"FIA",231.7)
562TRACKING STAFF
563"FIA",231.7,0)
564^EDPB(231.7,
565"FIA",231.7,0,0)
566231.7
567"FIA",231.7,0,1)
568y^y^f^^^^n
569"FIA",231.7,0,10)
570
571"FIA",231.7,0,11)
572
573"FIA",231.7,0,"RLRO")
574
575"FIA",231.7,231.7)
5760
577"FIA",231.8)
578TRACKING ROOM-BED
579"FIA",231.8,0)
580^EDPB(231.8,
581"FIA",231.8,0,0)
582231.8
583"FIA",231.8,0,1)
584y^y^f^^^^n
585"FIA",231.8,0,10)
586
587"FIA",231.8,0,11)
588
589"FIA",231.8,0,"RLRO")
590
591"FIA",231.8,231.8)
5920
593"FIA",231.9)
594TRACKING AREA
595"FIA",231.9,0)
596^EDPB(231.9,
597"FIA",231.9,0,0)
598231.9
599"FIA",231.9,0,1)
600y^y^f^^^^n
601"FIA",231.9,0,10)
602
603"FIA",231.9,0,11)
604
605"FIA",231.9,0,"RLRO")
606
607"FIA",231.9,231.9)
6080
609"FIA",231.9,231.92)
6100
611"FIA",231.9,231.93)
6120
613"FIA",233.1)
614TRACKING CODE
615"FIA",233.1,0)
616^EDPB(233.1,
617"FIA",233.1,0,0)
618233.1
619"FIA",233.1,0,1)
620y^y^f^^y^^y^o^n
621"FIA",233.1,0,10)
622
623"FIA",233.1,0,11)
624I $E(^(0),1,4)="edp."
625"FIA",233.1,0,"RLRO")
626
627"FIA",233.1,233.1)
6280
629"FIA",233.1,233.12)
6300
631"FIA",233.2)
632TRACKING CODE SET
633"FIA",233.2,0)
634^EDPB(233.2,
635"FIA",233.2,0,0)
636233.2
637"FIA",233.2,0,1)
638y^y^f^^y^^y^o^n
639"FIA",233.2,0,10)
640
641"FIA",233.2,0,11)
642I $E(^(0),1,4)="edp."
643"FIA",233.2,0,"RLRO")
644
645"FIA",233.2,233.2)
6460
647"FIA",233.2,233.21)
6480
649"FRV1",233.2,"1,1,1,0",2)
650edp.acuity.esi1
651"FRV1",233.2,"1,1,1,0",2,"F")
652;EDPB(233.1,
653"FRV1",233.2,"1,1,2,0",2)
654edp.acuity.esi2
655"FRV1",233.2,"1,1,2,0",2,"F")
656;EDPB(233.1,
657"FRV1",233.2,"1,1,3,0",2)
658edp.acuity.esi3
659"FRV1",233.2,"1,1,3,0",2,"F")
660;EDPB(233.1,
661"FRV1",233.2,"1,1,4,0",2)
662edp.acuity.esi4
663"FRV1",233.2,"1,1,4,0",2,"F")
664;EDPB(233.1,
665"FRV1",233.2,"1,1,5,0",2)
666edp.acuity.esi5
667"FRV1",233.2,"1,1,5,0",2,"F")
668;EDPB(233.1,
669"FRV1",233.2,"3,1,1,0",2)
670edp.status.admitted
671"FRV1",233.2,"3,1,1,0",2,"F")
672;EDPB(233.1,
673"FRV1",233.2,"3,1,2,0",2)
674edp.status.edobs
675"FRV1",233.2,"3,1,2,0",2,"F")
676;EDPB(233.1,
677"FRV1",233.2,"3,1,7,0",2)
678edp.status.observation
679"FRV1",233.2,"3,1,7,0",2,"F")
680;EDPB(233.1,
681"FRV1",233.2,"3,1,8,0",2)
682edp.status.overflow
683"FRV1",233.2,"3,1,8,0",2,"F")
684;EDPB(233.1,
685"FRV1",233.2,"4,1,1,0",2)
686edp.delay.inptbed
687"FRV1",233.2,"4,1,1,0",2,"F")
688;EDPB(233.1,
689"FRV1",233.2,"4,1,10,0",2)
690edp.delay.imagestudy
691"FRV1",233.2,"4,1,10,0",2,"F")
692;EDPB(233.1,
693"FRV1",233.2,"4,1,11,0",2)
694edp.delay.pharm
695"FRV1",233.2,"4,1,11,0",2,"F")
696;EDPB(233.1,
697"FRV1",233.2,"4,1,12,0",2)
698edp.delay.labresult
699"FRV1",233.2,"4,1,12,0",2,"F")
700;EDPB(233.1,
701"FRV1",233.2,"4,1,13,0",2)
702edp.delay.labstudy
703"FRV1",233.2,"4,1,13,0",2,"F")
704;EDPB(233.1,
705"FRV1",233.2,"4,1,14,0",2)
706edp.delay.supplies
707"FRV1",233.2,"4,1,14,0",2,"F")
708;EDPB(233.1,
709"FRV1",233.2,"4,1,15,0",2)
710edp.delay.surgery
711"FRV1",233.2,"4,1,15,0",2,"F")
712;EDPB(233.1,
713"FRV1",233.2,"4,1,16,0",2)
714edp.delay.home
715"FRV1",233.2,"4,1,16,0",2,"F")
716;EDPB(233.1,
717"FRV1",233.2,"4,1,17,0",2)
718edp.delay.transport
719"FRV1",233.2,"4,1,17,0",2,"F")
720;EDPB(233.1,
721"FRV1",233.2,"4,1,18,0",2)
722edp.delay.consult
723"FRV1",233.2,"4,1,18,0",2,"F")
724;EDPB(233.1,
725"FRV1",233.2,"4,1,2,0",2)
726edp.delay.overcrowd
727"FRV1",233.2,"4,1,2,0",2,"F")
728;EDPB(233.1,
729"FRV1",233.2,"4,1,3,0",2)
730edp.delay.admiteval
731"FRV1",233.2,"4,1,3,0",2,"F")
732;EDPB(233.1,
733"FRV1",233.2,"4,1,4,0",2)
734edp.delay.admitorders
735"FRV1",233.2,"4,1,4,0",2,"F")
736;EDPB(233.1,
737"FRV1",233.2,"4,1,5,0",2)
738edp.delay.admitobs
739"FRV1",233.2,"4,1,5,0",2,"F")
740;EDPB(233.1,
741"FRV1",233.2,"4,1,6,0",2)
742edp.delay.stafflimit
743"FRV1",233.2,"4,1,6,0",2,"F")
744;EDPB(233.1,
745"FRV1",233.2,"4,1,7,0",2)
746edp.delay.interfacility
747"FRV1",233.2,"4,1,7,0",2,"F")
748;EDPB(233.1,
749"FRV1",233.2,"4,1,8,0",2)
750edp.delay.ambulance
751"FRV1",233.2,"4,1,8,0",2,"F")
752;EDPB(233.1,
753"FRV1",233.2,"4,1,9,0",2)
754edp.delay.imageresult
755"FRV1",233.2,"4,1,9,0",2,"F")
756;EDPB(233.1,
757"FRV1",233.2,"5,1,1,0",2)
758edp.source.clinic
759"FRV1",233.2,"5,1,1,0",2,"F")
760;EDPB(233.1,
761"FRV1",233.2,"5,1,2,0",2)
762edp.source.cboc
763"FRV1",233.2,"5,1,2,0",2,"F")
764;EDPB(233.1,
765"FRV1",233.2,"5,1,3,0",2)
766edp.source.ambulance
767"FRV1",233.2,"5,1,3,0",2,"F")
768;EDPB(233.1,
769"FRV1",233.2,"5,1,4,0",2)
770edp.source.walk-in
771"FRV1",233.2,"5,1,4,0",2,"F")
772;EDPB(233.1,
773"FRV1",233.2,"5,1,5,0",2)
774edp.source.nhci
775"FRV1",233.2,"5,1,5,0",2,"F")
776;EDPB(233.1,
777"FRV1",233.2,"5,1,6,0",2)
778edp.source.code
779"FRV1",233.2,"5,1,6,0",2,"F")
780;EDPB(233.1,
781"FRV1",233.2,"6,1,1,0",2)
782edp.disposition.admitva
783"FRV1",233.2,"6,1,1,0",2,"F")
784;EDPB(233.1,
785"FRV1",233.2,"6,1,10,0",2)
786edp.disposition.telemetry
787"FRV1",233.2,"6,1,10,0",2,"F")
788;EDPB(233.1,
789"FRV1",233.2,"6,1,11,0",2)
790edp.disposition.xferva
791"FRV1",233.2,"6,1,11,0",2,"F")
792;EDPB(233.1,
793"FRV1",233.2,"6,1,12,0",2)
794edp.disposition.xfernon
795"FRV1",233.2,"6,1,12,0",2,"F")
796;EDPB(233.1,
797"FRV1",233.2,"6,1,13,0",2)
798edp.disposition.psych
799"FRV1",233.2,"6,1,13,0",2,"F")
800;EDPB(233.1,
801"FRV1",233.2,"6,1,2,0",2)
802edp.disposition.ama
803"FRV1",233.2,"6,1,2,0",2,"F")
804;EDPB(233.1,
805"FRV1",233.2,"6,1,3,0",2)
806edp.disposition.clinic
807"FRV1",233.2,"6,1,3,0",2,"F")
808;EDPB(233.1,
809"FRV1",233.2,"6,1,4,0",2)
810edp.disposition.deceased
811"FRV1",233.2,"6,1,4,0",2,"F")
812;EDPB(233.1,
813"FRV1",233.2,"6,1,5,0",2)
814edp.disposition.eloped
815"FRV1",233.2,"6,1,5,0",2,"F")
816;EDPB(233.1,
817"FRV1",233.2,"6,1,6,0",2)
818edp.disposition.home
819"FRV1",233.2,"6,1,6,0",2,"F")
820;EDPB(233.1,
821"FRV1",233.2,"6,1,7,0",2)
822edp.disposition.icu
823"FRV1",233.2,"6,1,7,0",2,"F")
824;EDPB(233.1,
825"FRV1",233.2,"6,1,8,0",2)
826edp.disposition.left
827"FRV1",233.2,"6,1,8,0",2,"F")
828;EDPB(233.1,
829"FRV1",233.2,"6,1,9,0",2)
830edp.disposition.nec
831"FRV1",233.2,"6,1,9,0",2,"F")
832;EDPB(233.1,
833"INIT")
834EDPYSRV
835"IX",230,230,"AC",0)
836230^AC^SITE,AREA,IEN when entry is active (not closed)^R^^R^IR^I^230^^^^^S
837"IX",230,230,"AC",1)
838S ^EDP(230,"AC",$E(X(1),1,30),$E(X(2),1,30),DA)=""
839"IX",230,230,"AC",1.4)
840S X='X2(3)
841"IX",230,230,"AC",2)
842K ^EDP(230,"AC",$E(X(1),1,30),$E(X(2),1,30),DA)
843"IX",230,230,"AC",2.5)
844K ^EDP(230,"AC")
845"IX",230,230,"AC",11.1,0)
846^.114IA^3^3
847"IX",230,230,"AC",11.1,1,0)
8481^F^230^.02^30^1^F
849"IX",230,230,"AC",11.1,1,3)
850
851"IX",230,230,"AC",11.1,2,0)
8522^F^230^.03^30^2^F
853"IX",230,230,"AC",11.1,2,3)
854
855"IX",230,230,"AC",11.1,3,0)
8563^F^230^.07^2^^F
857"IX",230,230,"AC",11.1,3,3)
858
859"IX",230,230,"ADUP1",0)
860230^ADUP1^SITE,AREA,LASTNAME,IEN^MU^^R^IR^I^230^^^^^S
861"IX",230,230,"ADUP1",1)
862S ^EDP(230,"ADUP",X(1),X(2),X(3),DA)=""
863"IX",230,230,"ADUP1",1.4)
864S X='X2(4)
865"IX",230,230,"ADUP1",2)
866K ^EDP(230,"ADUP",X(1),X(2),X(3),DA)
867"IX",230,230,"ADUP1",2.5)
868
869"IX",230,230,"ADUP1",11.1,0)
870^.114IA^4^4
871"IX",230,230,"ADUP1",11.1,1,0)
8721^F^230^.02^^1^F
873"IX",230,230,"ADUP1",11.1,2,0)
8742^F^230^.03^^2^F
875"IX",230,230,"ADUP1",11.1,3,0)
8763^F^230^.04^^3^F
877"IX",230,230,"ADUP1",11.1,3,2)
878S X=$P(X,",")
879"IX",230,230,"ADUP1",11.1,4,0)
8804^F^230^.07^^^F
881"IX",230,230,"ADUP2",0)
882230^ADUP2^SITE,AREA,LAST4,IEN for active patients^MU^^R^IR^I^230^^^^^S
883"IX",230,230,"ADUP2",1)
884S ^EDP(230,"ADUP",X(1),X(2),X(3),DA)=""
885"IX",230,230,"ADUP2",1.4)
886S X='X2(4)
887"IX",230,230,"ADUP2",2)
888K ^EDP(230,"ADUP",X(1),X(2),X(3),DA)
889"IX",230,230,"ADUP2",2.5)
890
891"IX",230,230,"ADUP2",11.1,0)
892^.114IA^4^4
893"IX",230,230,"ADUP2",11.1,1,0)
8941^F^230^.02^^1^F
895"IX",230,230,"ADUP2",11.1,1,3)
896
897"IX",230,230,"ADUP2",11.1,2,0)
8982^F^230^.03^^2^F
899"IX",230,230,"ADUP2",11.1,2,3)
900
901"IX",230,230,"ADUP2",11.1,3,0)
9023^F^230^.11^^3^F
903"IX",230,230,"ADUP2",11.1,3,3)
904
905"IX",230,230,"ADUP2",11.1,4,0)
9064^F^230^.07^^^F
907"IX",230,230,"ADUP2",11.1,4,3)
908
909"IX",230,230,"AL",0)
910230^AL^SITE, AREA, LOC, IEN when entry is active^R^^R^IR^I^230^^^^^S
911"IX",230,230,"AL",1)
912S ^EDP(230,"AL",X(1),X(2),X(3),DA)=""
913"IX",230,230,"AL",1.4)
914S X='X2(4)
915"IX",230,230,"AL",2)
916K ^EDP(230,"AL",X(1),X(2),X(3),DA)
917"IX",230,230,"AL",2.5)
918K ^EDP(230,"AL")
919"IX",230,230,"AL",11.1,0)
920^.114IA^4^4
921"IX",230,230,"AL",11.1,1,0)
9221^F^230^.02^^1^F
923"IX",230,230,"AL",11.1,1,3)
924
925"IX",230,230,"AL",11.1,2,0)
9262^F^230^.03^^2^F
927"IX",230,230,"AL",11.1,2,3)
928
929"IX",230,230,"AL",11.1,3,0)
9303^F^230^3.4^^3^F
931"IX",230,230,"AL",11.1,3,3)
932
933"IX",230,230,"AL",11.1,4,0)
9344^F^230^.07^^^F
935"IX",230,230,"AL",11.1,4,3)
936
937"IX",230,230,"AN",0)
938230^AN^SITE,AREA,PTNAME,IEN for active patients^R^^R^IR^I^230^^^^^S
939"IX",230,230,"AN",1)
940S ^EDP(230,"AN",$E(X(1),1,30),$E(X(2),1,30),$E(X(3),1,50),DA)=""
941"IX",230,230,"AN",1.4)
942S X='X2(4)
943"IX",230,230,"AN",2)
944K ^EDP(230,"AN",$E(X(1),1,30),$E(X(2),1,30),$E(X(3),1,50),DA)
945"IX",230,230,"AN",2.5)
946K ^EDP(230,"AN")
947"IX",230,230,"AN",11.1,0)
948^.114IA^4^4
949"IX",230,230,"AN",11.1,1,0)
9501^F^230^.02^30^1^F
951"IX",230,230,"AN",11.1,1,3)
952
953"IX",230,230,"AN",11.1,2,0)
9542^F^230^.03^30^2^F
955"IX",230,230,"AN",11.1,2,3)
956
957"IX",230,230,"AN",11.1,3,0)
9583^F^230^.04^50^3^F
959"IX",230,230,"AN",11.1,3,3)
960
961"IX",230,230,"AN",11.1,4,0)
9624^F^230^.07^2^^F
963"IX",230,230,"AN",11.1,4,3)
964
965"IX",230,230,"AP",0)
966230^AP^SITE,DFN,IEN for active patients at site (not closed)^R^^R^IR^I^230^^^^^S
967"IX",230,230,"AP",1)
968S ^EDP(230,"AP",X(1),X(2),DA)=""
969"IX",230,230,"AP",1.4)
970S X='X2(4)
971"IX",230,230,"AP",2)
972K ^EDP(230,"AP",X(1),X(2),DA)
973"IX",230,230,"AP",2.5)
974K ^EDP(230,"AP")
975"IX",230,230,"AP",11.1,0)
976^.114IA^4^3
977"IX",230,230,"AP",11.1,1,0)
9781^F^230^.02^^1^F
979"IX",230,230,"AP",11.1,1,3)
980
981"IX",230,230,"AP",11.1,3,0)
9822^F^230^.06^^2^F
983"IX",230,230,"AP",11.1,3,3)
984
985"IX",230,230,"AP",11.1,4,0)
9864^F^230^.07^^^F
987"IX",230,230,"AP",11.1,4,3)
988
989"IX",230,230,"AS",0)
990230^AS^SITE,AREA,SSN,IEN for active patients^R^^R^IR^I^230^^^^^S
991"IX",230,230,"AS",1)
992S ^EDP(230,"AS",X(1),X(2),X(3),DA)=""
993"IX",230,230,"AS",1.4)
994S X='X2(4)
995"IX",230,230,"AS",2)
996K ^EDP(230,"AS",X(1),X(2),X(3),DA)
997"IX",230,230,"AS",2.5)
998K ^EDP(230,"AS")
999"IX",230,230,"AS",11.1,0)
1000^.114IA^4^4
1001"IX",230,230,"AS",11.1,1,0)
10021^F^230^.02^^1^F
1003"IX",230,230,"AS",11.1,1,3)
1004
1005"IX",230,230,"AS",11.1,2,0)
10062^F^230^.03^^2^F
1007"IX",230,230,"AS",11.1,2,3)
1008
1009"IX",230,230,"AS",11.1,3,0)
10103^F^230^.05^^3^F
1011"IX",230,230,"AS",11.1,3,3)
1012
1013"IX",230,230,"AS",11.1,4,0)
10144^F^230^.07^^^F
1015"IX",230,230,"AS",11.1,4,3)
1016
1017"IX",230,230,"ATI",0)
1018230^ATI^SITE,TIME IN for reports^MU^^R^IR^I^230^^^^^S
1019"IX",230,230,"ATI",1)
1020S ^EDP(230,"ATI",X(1),+X(2),DA)=""
1021"IX",230,230,"ATI",2)
1022K ^EDP(230,"ATI",X(1),+X(2),DA)
1023"IX",230,230,"ATI",2.5)
1024K ^EDP(230,"ATI")
1025"IX",230,230,"ATI",11.1,0)
1026^.114IA^2^2
1027"IX",230,230,"ATI",11.1,1,0)
10281^F^230^.02^^1^F
1029"IX",230,230,"ATI",11.1,2,0)
10302^F^230^.08^^2^F
1031"IX",230,230,"ATO",0)
1032230^ATO^SITE,TIME OUT for reports^R^^R^IR^I^230^^^^^S
1033"IX",230,230,"ATO",1)
1034S ^EDP(230,"ATO",X(1),X(2),DA)=""
1035"IX",230,230,"ATO",2)
1036K ^EDP(230,"ATO",X(1),X(2),DA)
1037"IX",230,230,"ATO",2.5)
1038K ^EDP(230,"ATO")
1039"IX",230,230,"ATO",11.1,0)
1040^.114IA^2^2
1041"IX",230,230,"ATO",11.1,1,0)
10421^F^230^.02^^1^F
1043"IX",230,230,"ATO",11.1,1,3)
1044
1045"IX",230,230,"ATO",11.1,2,0)
10462^F^230^.09^^2^F
1047"IX",230,230,"ATO",11.1,2,3)
1048
1049"IX",230,230,"PN",0)
1050230^PN^SITE,AREA,PTNAME,IEN for all patients^R^^R^IR^I^230^^^^^LS
1051"IX",230,230,"PN",1)
1052S ^EDP(230,"PN",X(1),X(2),$E(X(3),1,40),DA)=""
1053"IX",230,230,"PN",2)
1054K ^EDP(230,"PN",X(1),X(2),$E(X(3),1,40),DA)
1055"IX",230,230,"PN",2.5)
1056K ^EDP(230,"PN")
1057"IX",230,230,"PN",11.1,0)
1058^.114IA^3^3
1059"IX",230,230,"PN",11.1,1,0)
10601^F^230^.02^^1^F
1061"IX",230,230,"PN",11.1,1,3)
1062
1063"IX",230,230,"PN",11.1,2,0)
10642^F^230^.03^^2^F
1065"IX",230,230,"PN",11.1,2,3)
1066
1067"IX",230,230,"PN",11.1,3,0)
10683^F^230^.04^40^3^F
1069"IX",230,230,"PN",11.1,3,3)
1070
1071"IX",230.1,230.1,"ADF",0)
1072230.1^ADF^Log History by time (LOG, TIME, IEN)^R^^R^IR^I^230.1^^^^^S
1073"IX",230.1,230.1,"ADF",1)
1074S ^EDP(230.1,"ADF",X(1),X(2),DA)=""
1075"IX",230.1,230.1,"ADF",2)
1076K ^EDP(230.1,"ADF",X(1),X(2),DA)
1077"IX",230.1,230.1,"ADF",2.5)
1078K ^EDP(230.1,"ADF")
1079"IX",230.1,230.1,"ADF",11.1,0)
1080^.114IA^2^2
1081"IX",230.1,230.1,"ADF",11.1,1,0)
10821^F^230.1^.01^^1^F
1083"IX",230.1,230.1,"ADF",11.1,1,3)
1084
1085"IX",230.1,230.1,"ADF",11.1,2,0)
10862^F^230.1^.02^^2^F
1087"IX",230.1,230.1,"ADF",11.1,2,3)
1088
1089"IX",230.1,230.1,"ADR",0)
1090230.1^ADR^Log History by inverse time (LOG, INVTIME, IEN)^R^^R^IR^I^230.1^^^^^S
1091"IX",230.1,230.1,"ADR",1)
1092S ^EDP(230.1,"ADR",X(1),X(2),DA)=""
1093"IX",230.1,230.1,"ADR",2)
1094K ^EDP(230.1,"ADR",X(1),X(2),DA)
1095"IX",230.1,230.1,"ADR",2.5)
1096K ^EDP(230.1,"ADR")
1097"IX",230.1,230.1,"ADR",11.1,0)
1098^.114IA^2^2
1099"IX",230.1,230.1,"ADR",11.1,1,0)
11001^F^230.1^.01^^1^F
1101"IX",230.1,230.1,"ADR",11.1,1,3)
1102
1103"IX",230.1,230.1,"ADR",11.1,2,0)
11042^F^230.1^.02^^2^F
1105"IX",230.1,230.1,"ADR",11.1,2,2)
1106S X=9999999-X
1107"IX",230.1,230.1,"ADR",11.1,2,3)
1108
1109"IX",230.1,230.1,"C",0)
1110230.1^C^Indexes changes for a log entry by inverse time.^R^^R^IR^I^230.1^^^^^LS
1111"IX",230.1,230.1,"C",1)
1112S ^EDP(230.1,"C",X(1),X(2),DA)=""
1113"IX",230.1,230.1,"C",2)
1114K ^EDP(230.1,"C",X(1),X(2),DA)
1115"IX",230.1,230.1,"C",2.5)
1116K ^EDP(230.1,"C")
1117"IX",230.1,230.1,"C",11.1,0)
1118^.114IA^2^2
1119"IX",230.1,230.1,"C",11.1,1,0)
11201^F^230.1^.01^^1^F
1121"IX",230.1,230.1,"C",11.1,1,3)
1122
1123"IX",230.1,230.1,"C",11.1,2,0)
11242^F^230.1^.02^^2^F
1125"IX",230.1,230.1,"C",11.1,2,2)
1126S X=9999999-X
1127"IX",230.1,230.1,"C",11.1,2,3)
1128
1129"IX",231.7,231.7,"AC",0)
1130231.7^AC^SITE,AREA,ROLE,IEN if the entry is active^R^^R^IR^I^231.7^^^^^S
1131"IX",231.7,231.7,"AC",1)
1132S ^EDPB(231.7,"AC",X(1),X(2),X(3),DA)=""
1133"IX",231.7,231.7,"AC",1.4)
1134S X='X2(4)
1135"IX",231.7,231.7,"AC",2)
1136K ^EDPB(231.7,"AC",X(1),X(2),X(3),DA)
1137"IX",231.7,231.7,"AC",2.5)
1138K ^EDPB(231.7,"AC")
1139"IX",231.7,231.7,"AC",11.1,0)
1140^.114IA^4^4
1141"IX",231.7,231.7,"AC",11.1,1,0)
11421^F^231.7^.02^^1^F
1143"IX",231.7,231.7,"AC",11.1,1,3)
1144
1145"IX",231.7,231.7,"AC",11.1,2,0)
11462^F^231.7^.03^^2^F
1147"IX",231.7,231.7,"AC",11.1,2,3)
1148
1149"IX",231.7,231.7,"AC",11.1,3,0)
11503^F^231.7^.06^^3^F
1151"IX",231.7,231.7,"AC",11.1,3,3)
1152
1153"IX",231.7,231.7,"AC",11.1,4,0)
11544^F^231.7^.04^^^F
1155"IX",231.7,231.7,"AC",11.1,4,3)
1156
1157"IX",231.7,231.7,"AD",0)
1158231.7^AD^SITE,AREA,DUZ,IEN for all entries^R^^R^IR^I^231.7^^^^^S
1159"IX",231.7,231.7,"AD",1)
1160S ^EDPB(231.7,"AD",X(1),X(2),X(3),DA)=""
1161"IX",231.7,231.7,"AD",2)
1162K ^EDPB(231.7,"AD",X(1),X(2),X(3),DA)
1163"IX",231.7,231.7,"AD",2.5)
1164K ^EDPB(231.7,"AD")
1165"IX",231.7,231.7,"AD",11.1,0)
1166^.114IA^3^3
1167"IX",231.7,231.7,"AD",11.1,1,0)
11681^F^231.7^.02^^1^F
1169"IX",231.7,231.7,"AD",11.1,1,3)
1170
1171"IX",231.7,231.7,"AD",11.1,2,0)
11722^F^231.7^.03^^2^F
1173"IX",231.7,231.7,"AD",11.1,2,3)
1174
1175"IX",231.7,231.7,"AD",11.1,3,0)
11763^F^231.7^.05^^3^F
1177"IX",231.7,231.7,"AD",11.1,3,3)
1178
1179"IX",231.8,231.8,"AC",0)
1180231.8^AC^SITE,AREA,DISPLAYNAME,IEN^R^^R^IR^I^231.8^^^^^S
1181"IX",231.8,231.8,"AC",1)
1182S ^EDPB(231.8,"AC",X(1),X(2),X(3),DA)=""
1183"IX",231.8,231.8,"AC",2)
1184K ^EDPB(231.8,"AC",X(1),X(2),X(3),DA)
1185"IX",231.8,231.8,"AC",2.5)
1186K ^EDPB(231.8,"AC")
1187"IX",231.8,231.8,"AC",11.1,0)
1188^.114IA^3^3
1189"IX",231.8,231.8,"AC",11.1,1,0)
11901^F^231.8^.02^^1^F
1191"IX",231.8,231.8,"AC",11.1,1,3)
1192
1193"IX",231.8,231.8,"AC",11.1,2,0)
11942^F^231.8^.03^^2^F
1195"IX",231.8,231.8,"AC",11.1,2,3)
1196
1197"IX",231.8,231.8,"AC",11.1,3,0)
11983^F^231.8^.06^^3^F
1199"IX",231.8,231.8,"AC",11.1,3,3)
1200
1201"IX",231.8,231.8,"C",0)
1202231.8^C^Index by site and area.^R^^R^IR^I^231.8^^^^^LS
1203"IX",231.8,231.8,"C",1)
1204S ^EDPB(231.8,"C",X(1),X(2),DA)=""
1205"IX",231.8,231.8,"C",2)
1206K ^EDPB(231.8,"C",X(1),X(2),DA)
1207"IX",231.8,231.8,"C",2.5)
1208K ^EDPB(231.8,"C")
1209"IX",231.8,231.8,"C",11.1,0)
1210^.114IA^2^2
1211"IX",231.8,231.8,"C",11.1,1,0)
12121^F^231.8^.02^^1^F
1213"IX",231.8,231.8,"C",11.1,1,3)
1214
1215"IX",231.8,231.8,"C",11.1,2,0)
12162^F^231.8^.03^^2^F
1217"IX",231.8,231.8,"C",11.1,2,3)
1218
1219"IX",233.1,233.1,"AB",0)
1220233.1^AB^Allows finding items by type and abbreviation^R^^R^IR^I^233.1^^^^^S
1221"IX",233.1,233.1,"AB",1)
1222S ^EDPB(233.1,"AB",$E(X(1),1,30),$E(X(2),1,30),DA)=""
1223"IX",233.1,233.1,"AB",2)
1224K ^EDPB(233.1,"AB",$E(X(1),1,30),$E(X(2),1,30),DA)
1225"IX",233.1,233.1,"AB",2.5)
1226K ^EDPB(233.1,"AB")
1227"IX",233.1,233.1,"AB",11.1,0)
1228^.114IA^2^2
1229"IX",233.1,233.1,"AB",11.1,1,0)
12301^F^233.1^.01^30^1^F
1231"IX",233.1,233.1,"AB",11.1,1,2)
1232S X=$P(X,".",2)
1233"IX",233.1,233.1,"AB",11.1,1,3)
1234
1235"IX",233.1,233.1,"AB",11.1,2,0)
12362^F^233.1^.03^30^2^F
1237"IX",233.1,233.1,"AB",11.1,2,2)
1238S X=$$UP^XLFSTR(X)
1239"IX",233.1,233.1,"AB",11.1,2,3)
1240
1241"IX",233.1,233.1,"AC",0)
1242233.1^AC^Allows finding items by type and display name^R^^R^IR^I^233.1^^^^^S
1243"IX",233.1,233.1,"AC",1)
1244S ^EDPB(233.1,"AC",$E(X(1),1,30),$E(X(2),1,60),DA)=""
1245"IX",233.1,233.1,"AC",2)
1246K ^EDPB(233.1,"AC",$E(X(1),1,30),$E(X(2),1,60),DA)
1247"IX",233.1,233.1,"AC",2.5)
1248K ^EDPB(233.1,"AC")
1249"IX",233.1,233.1,"AC",11.1,0)
1250^.114IA^2^2
1251"IX",233.1,233.1,"AC",11.1,1,0)
12521^F^233.1^.01^30^1^F
1253"IX",233.1,233.1,"AC",11.1,1,2)
1254S X=$P(X,".",2)
1255"IX",233.1,233.1,"AC",11.1,1,3)
1256
1257"IX",233.1,233.1,"AC",11.1,2,0)
12582^F^233.1^.02^60^2^F
1259"IX",233.1,233.1,"AC",11.1,2,2)
1260S X=$$UP^XLFSTR(X)
1261"IX",233.1,233.1,"AC",11.1,2,3)
1262
1263"KRN",19,13508,-1)
12640^1
1265"KRN",19,13508,0)
1266EDPS TRACKING CONTEXT^ED Tracking Context -- Server^^B^^^^^^^^
1267"KRN",19,13508,"RPC",0)
1268^19.05P^1^1
1269"KRN",19,13508,"RPC",1,0)
1270EDPCTRL RPC
1271"KRN",19,13508,"U")
1272ED TRACKING CONTEXT -- SERVER
1273"KRN",19,13509,-1)
12740^2
1275"KRN",19,13509,0)
1276EDPSERVER^Process incoming scheduling events from MailMan^^S^^^^^^^^EMERGENCY DEPARTMENT
1277"KRN",19,13509,25)
1278EDPMAIL
1279"KRN",19,13509,220)
1280^R^^N^Y^N
1281"KRN",19,13509,"U")
1282PROCESS INCOMING SCHEDULING EV
1283"KRN",8994,2527,-1)
12840^1
1285"KRN",8994,2527,0)
1286EDPCTRL RPC^RPC^EDPCTRL^2^R^^^^1^^1
1287"KRN",8994,2527,2,0)
1288^8994.02A^1^1
1289"KRN",8994,2527,2,1,0)
1290REQ^2^^1^1
1291"KRN",8994,2527,2,"B","REQ",1)
1292
1293"KRN",8994,2527,2,"PARAMSEQ",1,1)
1294
1295"MBREQ")
12960
1297"ORD",16,8994)
12988994;16;1;;;;;;;RPCDEL^XPDIA1
1299"ORD",16,8994,0)
1300REMOTE PROCEDURE
1301"ORD",18,19)
130219;18;;;OPT^XPDTA;OPTF1^XPDIA;OPTE1^XPDIA;OPTF2^XPDIA;;OPTDEL^XPDIA
1303"ORD",18,19,0)
1304OPTION
1305"PGL",233.1,0,4,.04)
1306NATIONAL CODE^P233.1'^EDPB(233.1,^0;4^Q
1307"PGL",233.21,0,2,.02)
1308CODE^P233.1'^EDPB(233.1,^0;2^Q
1309"QUES","XPF1",0)
1310Y
1311"QUES","XPF1","??")
1312^D REP^XPDH
1313"QUES","XPF1","A")
1314Shall I write over your |FLAG| File
1315"QUES","XPF1","B")
1316YES
1317"QUES","XPF1","M")
1318D XPF1^XPDIQ
1319"QUES","XPF2",0)
1320Y
1321"QUES","XPF2","??")
1322^D DTA^XPDH
1323"QUES","XPF2","A")
1324Want my data |FLAG| yours
1325"QUES","XPF2","B")
1326YES
1327"QUES","XPF2","M")
1328D XPF2^XPDIQ
1329"QUES","XPI1",0)
1330YO
1331"QUES","XPI1","??")
1332^D INHIBIT^XPDH
1333"QUES","XPI1","A")
1334Want KIDS to INHIBIT LOGONs during the install
1335"QUES","XPI1","B")
1336YES
1337"QUES","XPI1","M")
1338D XPI1^XPDIQ
1339"QUES","XPM1",0)
1340PO^VA(200,:EM
1341"QUES","XPM1","??")
1342^D MG^XPDH
1343"QUES","XPM1","A")
1344Enter the Coordinator for Mail Group '|FLAG|'
1345"QUES","XPM1","B")
1346
1347"QUES","XPM1","M")
1348D XPM1^XPDIQ
1349"QUES","XPO1",0)
1350Y
1351"QUES","XPO1","??")
1352^D MENU^XPDH
1353"QUES","XPO1","A")
1354Want KIDS to Rebuild Menu Trees Upon Completion of Install
1355"QUES","XPO1","B")
1356YES
1357"QUES","XPO1","M")
1358D XPO1^XPDIQ
1359"QUES","XPZ1",0)
1360Y
1361"QUES","XPZ1","??")
1362^D OPT^XPDH
1363"QUES","XPZ1","A")
1364Want to DISABLE Scheduled Options, Menu Options, and Protocols
1365"QUES","XPZ1","B")
1366YES
1367"QUES","XPZ1","M")
1368D XPZ1^XPDIQ
1369"QUES","XPZ2",0)
1370Y
1371"QUES","XPZ2","??")
1372^D RTN^XPDH
1373"QUES","XPZ2","A")
1374Want to MOVE routines to other CPUs
1375"QUES","XPZ2","B")
1376NO
1377"QUES","XPZ2","M")
1378D XPZ2^XPDIQ
1379"RTN")
138036
1381"RTN","EDPBCF")
13820^1^B6377962
1383"RTN","EDPBCF",1,0)
1384EDPBCF ;SLC/KCM - Display Board Configuration
1385"RTN","EDPBCF",2,0)
1386 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
1387"RTN","EDPBCF",3,0)
1388 ;
1389"RTN","EDPBCF",4,0)
1390LOADBRD(AREA) ; Load Board Configuration for an Area
1391"RTN","EDPBCF",5,0)
1392 N I
1393"RTN","EDPBCF",6,0)
1394 S I=0 F S I=$O(^EDPB(231.9,AREA,2,I)) Q:'I D
1395"RTN","EDPBCF",7,0)
1396 . D XML^EDPX(^EDPB(231.9,AREA,2,I,0))
1397"RTN","EDPBCF",8,0)
1398 ;
1399"RTN","EDPBCF",9,0)
1400 D XML^EDPX("<colorSpec>")
1401"RTN","EDPBCF",10,0)
1402 S I=0 F S I=$O(^EDPB(231.9,AREA,3,I)) Q:'I D
1403"RTN","EDPBCF",11,0)
1404 . D XML^EDPX(^EDPB(231.9,AREA,3,I,0))
1405"RTN","EDPBCF",12,0)
1406 D XML^EDPX("</colorSpec>")
1407"RTN","EDPBCF",13,0)
1408 ;
1409"RTN","EDPBCF",14,0)
1410 D XML^EDPX("<columnList>")
1411"RTN","EDPBCF",15,0)
1412 F I=1:1 S NODE=$P($T(COLUMNS+I),";",3,99) Q:$E(NODE,1,5)="zzzzz" D
1413"RTN","EDPBCF",16,0)
1414 . N X
1415"RTN","EDPBCF",17,0)
1416 . S X("label")=$P(NODE,U)
1417"RTN","EDPBCF",18,0)
1418 . S X("att")=$P(NODE,U,2)
1419"RTN","EDPBCF",19,0)
1420 . S X("header")=$P(NODE,U,3)
1421"RTN","EDPBCF",20,0)
1422 . S X("width")=50
1423"RTN","EDPBCF",21,0)
1424 . D XML^EDPX($$XMLA^EDPX("col",.X))
1425"RTN","EDPBCF",22,0)
1426 D XML^EDPX("</columnList>")
1427"RTN","EDPBCF",23,0)
1428 ;
1429"RTN","EDPBCF",24,0)
1430 D XML^EDPX("<colorMaps>")
1431"RTN","EDPBCF",25,0)
1432 D COLORS^EDPBCM
1433"RTN","EDPBCF",26,0)
1434 D XML^EDPX("</colorMaps>")
1435"RTN","EDPBCF",27,0)
1436 ;D XML^EDPX("<colorMapList>")
1437"RTN","EDPBCF",28,0)
1438 ;D LIST^EDPBCM
1439"RTN","EDPBCF",29,0)
1440 ;D XML^EDPX("</colorMapList>")
1441"RTN","EDPBCF",30,0)
1442 ;
1443"RTN","EDPBCF",31,0)
1444 D LOAD^EDPBRM(AREA) ; also load rooms/beds
1445"RTN","EDPBCF",32,0)
1446 D LOAD^EDPBPM(AREA) ; also load parameters
1447"RTN","EDPBCF",33,0)
1448 ;
1449"RTN","EDPBCF",34,0)
1450 Q
1451"RTN","EDPBCF",35,0)
1452SAVEBRD(REQ) ; Save Configuration
1453"RTN","EDPBCF",36,0)
1454 N X,WP,AREA
1455"RTN","EDPBCF",37,0)
1456 S X="col-",AREA=$G(REQ("area",1))
1457"RTN","EDPBCF",38,0)
1458 I 'AREA D XML^EDPX("<save status='fail'>Missing area</save>") Q
1459"RTN","EDPBCF",39,0)
1460 F S X=$O(REQ(X)) Q:$E(X,1,4)'="col-" S WP(+$P(X,"-",2))=REQ(X,1)
1461"RTN","EDPBCF",40,0)
1462 S WP(.1)="<spec>",WP(9999)="</spec>"
1463"RTN","EDPBCF",41,0)
1464 D WP^DIE(231.9,AREA_",",2,"","WP")
1465"RTN","EDPBCF",42,0)
1466 I $D(DIERR) D XML^EDPX("<save status='fail'>save failed</save>") Q
1467"RTN","EDPBCF",43,0)
1468 D XML^EDPX("<save status='ok' />")
1469"RTN","EDPBCF",44,0)
1470 Q
1471"RTN","EDPBCF",45,0)
1472COLUMNS ;; Available columns
1473"RTN","EDPBCF",46,0)
1474 ;;Room / Bed^@bedNm^Room
1475"RTN","EDPBCF",47,0)
1476 ;;Patient Name^@ptNm^Patient
1477"RTN","EDPBCF",48,0)
1478 ;;Patient X9999^@last4^Patient
1479"RTN","EDPBCF",49,0)
1480 ;;Complaint^@complaint^Complaint
1481"RTN","EDPBCF",50,0)
1482 ;;Comment^@comment^Comment
1483"RTN","EDPBCF",51,0)
1484 ;;Provider Initials^@mdNm^Prv
1485"RTN","EDPBCF",52,0)
1486 ;;Resident Initials^@resNm^Res
1487"RTN","EDPBCF",53,0)
1488 ;;Nurse Initials^@rnNm^RN
1489"RTN","EDPBCF",54,0)
1490 ;;Acuity^@acuityNm^Acuity
1491"RTN","EDPBCF",55,0)
1492 ;;Status^@statusNm^Status
1493"RTN","EDPBCF",56,0)
1494 ;;Lab Active/Complete^@lab^L
1495"RTN","EDPBCF",57,0)
1496 ;;Imaging Active/Complete^@rad^I
1497"RTN","EDPBCF",58,0)
1498 ;;New (Unverified) Orders^@ordNew^New
1499"RTN","EDPBCF",59,0)
1500 ;;Total Minutes^@emins^E Mins
1501"RTN","EDPBCF",60,0)
1502 ;;Minutes at Location^@lmins^Mins
1503"RTN","EDPBCF",61,0)
1504 ;;zzzzz
1505"RTN","EDPBCM")
15060^2^B11802573
1507"RTN","EDPBCM",1,0)
1508EDPBCM ;SLC/KCM - Available color maps
1509"RTN","EDPBCM",2,0)
1510 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
1511"RTN","EDPBCM",3,0)
1512 ;
1513"RTN","EDPBCM",4,0)
1514SAVE(REQ) ; Save Configuration
1515"RTN","EDPBCM",5,0)
1516 N X,WP,AREA
1517"RTN","EDPBCM",6,0)
1518 S X="xml-",AREA=$G(REQ("area",1))
1519"RTN","EDPBCM",7,0)
1520 I 'AREA D XML^EDPX("<save status='fail'>Missing area</save>") Q
1521"RTN","EDPBCM",8,0)
1522 F S X=$O(REQ(X)) Q:$E(X,1,4)'="xml-" S WP(+$P(X,"-",2))=REQ(X,1)
1523"RTN","EDPBCM",9,0)
1524 D WP^DIE(231.9,AREA_",",3,"","WP")
1525"RTN","EDPBCM",10,0)
1526 I $D(DIERR) D XML^EDPX("<save status='fail'>save failed</save>") Q
1527"RTN","EDPBCM",11,0)
1528 D XML^EDPX("<save status='ok' />")
1529"RTN","EDPBCM",12,0)
1530 Q
1531"RTN","EDPBCM",13,0)
1532COLORS ;; Available Color Maps
1533"RTN","EDPBCM",14,0)
1534 D ENMAP("none"," ","none") ; for no selection
1535"RTN","EDPBCM",15,0)
1536 ;
1537"RTN","EDPBCM",16,0)
1538 D ENMAP("stsAcuity","Status / Acuity","val")
1539"RTN","EDPBCM",17,0)
1540 D CODES("status"),CODES("acuity"),EXMAP
1541"RTN","EDPBCM",18,0)
1542 ;
1543"RTN","EDPBCM",19,0)
1544 D ENMAP("status","Status","val")
1545"RTN","EDPBCM",20,0)
1546 D CODES("status"),EXMAP
1547"RTN","EDPBCM",21,0)
1548 ;
1549"RTN","EDPBCM",22,0)
1550 D ENMAP("acuity","Acuity","val")
1551"RTN","EDPBCM",23,0)
1552 D CODES("acuity"),EXMAP
1553"RTN","EDPBCM",24,0)
1554 ;
1555"RTN","EDPBCM",25,0)
1556 D ENMAP("bed","Room / Bed","bed")
1557"RTN","EDPBCM",26,0)
1558 D ENMAP("md","Provider","staff")
1559"RTN","EDPBCM",27,0)
1560 D ENMAP("res","Resident","staff")
1561"RTN","EDPBCM",28,0)
1562 D ENMAP("rn","Nurse","staff")
1563"RTN","EDPBCM",29,0)
1564 ;
1565"RTN","EDPBCM",30,0)
1566 D ENMAP("labUrg","Urgency - Lab","val")
1567"RTN","EDPBCM",31,0)
1568 D URG("labUrg"),EXMAP
1569"RTN","EDPBCM",32,0)
1570 ;D ENMAP("medUrg","Urgency - Medications","val")
1571"RTN","EDPBCM",33,0)
1572 ;D URG("medUrg"),EXMAP
1573"RTN","EDPBCM",34,0)
1574 D ENMAP("radUrg","Urgency - Radiology","val")
1575"RTN","EDPBCM",35,0)
1576 D URG("radUrg"),EXMAP
1577"RTN","EDPBCM",36,0)
1578 ;
1579"RTN","EDPBCM",37,0)
1580 D ENMAP("emins","Total Elapsed Minutes","rng")
1581"RTN","EDPBCM",38,0)
1582 D ENMAP("lmins","Minutes at Location","rng")
1583"RTN","EDPBCM",39,0)
1584 D ENMAP("minLab","Minutes for Lab Order","rng")
1585"RTN","EDPBCM",40,0)
1586 ;D ENMAP("minMed","Minutes for Medication Order","rng")
1587"RTN","EDPBCM",41,0)
1588 D ENMAP("minRad","Minutes for Imaging Order","rng")
1589"RTN","EDPBCM",42,0)
1590 D ENMAP("minVer","Minutes for Unverified Order","rng")
1591"RTN","EDPBCM",43,0)
1592 Q
1593"RTN","EDPBCM",44,0)
1594ENMAP(ID,NM,TYP) ; create element for colormap
1595"RTN","EDPBCM",45,0)
1596 N X,END
1597"RTN","EDPBCM",46,0)
1598 S END="/" S:TYP="val" END=""
1599"RTN","EDPBCM",47,0)
1600 S X("id")=ID
1601"RTN","EDPBCM",48,0)
1602 S X("nm")=NM
1603"RTN","EDPBCM",49,0)
1604 S X("type")=TYP
1605"RTN","EDPBCM",50,0)
1606 D XML^EDPX($$XMLA^EDPX("colors",.X,END))
1607"RTN","EDPBCM",51,0)
1608 Q
1609"RTN","EDPBCM",52,0)
1610EXMAP ; create closing tag
1611"RTN","EDPBCM",53,0)
1612 D XML^EDPX("</colors>")
1613"RTN","EDPBCM",54,0)
1614 Q
1615"RTN","EDPBCM",55,0)
1616CODES(NM) ; create map elements for a set of codes
1617"RTN","EDPBCM",56,0)
1618 N CODESET,IEN
1619"RTN","EDPBCM",57,0)
1620 S CODESET=EDPSITE_"."_NM
1621"RTN","EDPBCM",58,0)
1622 I '$D(^EDPB(233.2,"B",CODESET)) S CODESET="edp."_NM
1623"RTN","EDPBCM",59,0)
1624 S IEN=$O(^EDPB(233.2,"B",CODESET,0))
1625"RTN","EDPBCM",60,0)
1626 Q:'IEN
1627"RTN","EDPBCM",61,0)
1628 ;
1629"RTN","EDPBCM",62,0)
1630 N SEQ,CODE,DA
1631"RTN","EDPBCM",63,0)
1632 S SEQ=0 F S SEQ=$O(^EDPB(233.2,IEN,1,"B",SEQ)) Q:'SEQ D
1633"RTN","EDPBCM",64,0)
1634 . S DA=0 F S DA=$O(^EDPB(233.2,IEN,1,"B",SEQ,DA)) Q:'DA D
1635"RTN","EDPBCM",65,0)
1636 . . S CODE=$P(^EDPB(233.2,IEN,1,DA,0),U,2)
1637"RTN","EDPBCM",66,0)
1638 . . Q:'CODE
1639"RTN","EDPBCM",67,0)
1640 . . D MAP(NM,CODE,$P(^EDPB(233.1,CODE,0),U,2))
1641"RTN","EDPBCM",68,0)
1642 Q
1643"RTN","EDPBCM",69,0)
1644URG(ATT) ; create map elements for standard urgencies
1645"RTN","EDPBCM",70,0)
1646 D MAP(ATT,0,"No Orders")
1647"RTN","EDPBCM",71,0)
1648 D MAP(ATT,1,"Active Orders")
1649"RTN","EDPBCM",72,0)
1650 D MAP(ATT,2,"STAT Orders")
1651"RTN","EDPBCM",73,0)
1652 Q
1653"RTN","EDPBCM",74,0)
1654MAP(ATT,VAL,NM) ; create a single map element
1655"RTN","EDPBCM",75,0)
1656 N X
1657"RTN","EDPBCM",76,0)
1658 S X("att")="@"_ATT
1659"RTN","EDPBCM",77,0)
1660 S X("val")=VAL
1661"RTN","EDPBCM",78,0)
1662 S X("nm")=NM
1663"RTN","EDPBCM",79,0)
1664 S X("clr")=0
1665"RTN","EDPBCM",80,0)
1666 D XML^EDPX($$XMLA^EDPX("map",.X))
1667"RTN","EDPBCM",81,0)
1668 Q
1669"RTN","EDPBCM",82,0)
1670LIST ; Build selection list for color maps
1671"RTN","EDPBCM",83,0)
1672 N I,X
1673"RTN","EDPBCM",84,0)
1674 F I=1:1 S X=$P($T(MAPLST+I),";",3,99) Q:$E(X,1,5)="zzzzz" D
1675"RTN","EDPBCM",85,0)
1676 . S X("data")=$P(X,U,1),X("label")=$P(X,U,2)
1677"RTN","EDPBCM",86,0)
1678 . D XML^EDPX($$XMLA^EDPX("colors",.X))
1679"RTN","EDPBCM",87,0)
1680 Q
1681"RTN","EDPBCM",88,0)
1682MAPLST ; list of available color maps
1683"RTN","EDPBCM",89,0)
1684 ;;^ ^
1685"RTN","EDPBCM",90,0)
1686 ;;stsAcuity^Status / Acuity
1687"RTN","EDPBCM",91,0)
1688 ;;status^Status
1689"RTN","EDPBCM",92,0)
1690 ;;acuity^Acuity
1691"RTN","EDPBCM",93,0)
1692 ;;bed^Room / Bed
1693"RTN","EDPBCM",94,0)
1694 ;;staff^Staff
1695"RTN","EDPBCM",95,0)
1696 ;;labUrg^Urgency - Lab
1697"RTN","EDPBCM",96,0)
1698 ;;radUrg^Urgency - Imaging
1699"RTN","EDPBCM",97,0)
1700 ;;emins^Total Minutes
1701"RTN","EDPBCM",98,0)
1702 ;;lmins^Minutes at Location
1703"RTN","EDPBCM",99,0)
1704 ;;labMin^Minutes for Lab Order
1705"RTN","EDPBCM",100,0)
1706 ;;radMin^Minutes for Imaging Order
1707"RTN","EDPBCM",101,0)
1708 ;;ordMin^Minutes for Unverified Order
1709"RTN","EDPBCM",102,0)
1710 ;;zzzzz
1711"RTN","EDPBPM")
17120^3^B2766869
1713"RTN","EDPBPM",1,0)
1714EDPBPM ;SLC/KCM - Parameters for Tracking Area
1715"RTN","EDPBPM",2,0)
1716 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
1717"RTN","EDPBPM",3,0)
1718 ;
1719"RTN","EDPBPM",4,0)
1720LOAD(AREA) ; load parameters for area
1721"RTN","EDPBPM",5,0)
1722 N X,X1
1723"RTN","EDPBPM",6,0)
1724 S X1=$G(^EDPB(231.9,AREA,1))
1725"RTN","EDPBPM",7,0)
1726 S X("reqDiag")=+$P(X1,U,1)
1727"RTN","EDPBPM",8,0)
1728 S X("codedDiag")=+$P(X1,U,2)
1729"RTN","EDPBPM",9,0)
1730 S X("reqDisp")=+$P(X1,U,3)
1731"RTN","EDPBPM",10,0)
1732 S X("reqDelay")=+$P(X1,U,4)
1733"RTN","EDPBPM",11,0)
1734 S X("minDelay")=+$P(X1,U,5)
1735"RTN","EDPBPM",12,0)
1736 S X("shiftOne")=$P(X1,U,6)
1737"RTN","EDPBPM",13,0)
1738 S X("shiftLen")=$P(X1,U,7)
1739"RTN","EDPBPM",14,0)
1740 S X("residents")=$P(X1,U,8)
1741"RTN","EDPBPM",15,0)
1742 D XML^EDPX($$XMLA^EDPX("params",.X))
1743"RTN","EDPBPM",16,0)
1744 Q
1745"RTN","EDPBPM",17,0)
1746SAVE(AREA,PARAM) ; save updated parameters
1747"RTN","EDPBPM",18,0)
1748 I '$D(^EDPB(231.9,AREA,0)) D XML^EDPX("Area not set up") Q
1749"RTN","EDPBPM",19,0)
1750 N FLD D NVPARSE^EDPX(.FLD,PARAM)
1751"RTN","EDPBPM",20,0)
1752 N FDA,FDAIEN,DIERR
1753"RTN","EDPBPM",21,0)
1754 S AREA=AREA_","
1755"RTN","EDPBPM",22,0)
1756 S FDA(231.9,AREA,1.1)=FLD("reqDiag")
1757"RTN","EDPBPM",23,0)
1758 S FDA(231.9,AREA,1.2)=FLD("codedDiag")
1759"RTN","EDPBPM",24,0)
1760 S FDA(231.9,AREA,1.3)=FLD("reqDisp")
1761"RTN","EDPBPM",25,0)
1762 S FDA(231.9,AREA,1.4)=FLD("reqDelay")
1763"RTN","EDPBPM",26,0)
1764 S FDA(231.9,AREA,1.5)=FLD("minDelay")
1765"RTN","EDPBPM",27,0)
1766 S FDA(231.9,AREA,1.6)=FLD("shiftOne")
1767"RTN","EDPBPM",28,0)
1768 S FDA(231.9,AREA,1.7)=FLD("shiftLen")
1769"RTN","EDPBPM",29,0)
1770 S FDA(231.9,AREA,1.8)=FLD("residents")
1771"RTN","EDPBPM",30,0)
1772 D FILE^DIE("","FDA","ERR")
1773"RTN","EDPBPM",31,0)
1774 I $D(DIERR) D FAIL($G(ERR("DIERR",1,"TEXT",1))) Q
1775"RTN","EDPBPM",32,0)
1776 D XML^EDPX("<save status='ok' />")
1777"RTN","EDPBPM",33,0)
1778 Q
1779"RTN","EDPBPM",34,0)
1780TZSAVE(AREA,TZDIFF) ; save time zone difference in minutes
1781"RTN","EDPBPM",35,0)
1782 N FDA,FDAIEN,DIERR
1783"RTN","EDPBPM",36,0)
1784 S AREA=AREA_","
1785"RTN","EDPBPM",37,0)
1786 S FDA(231.9,AREA,.03)=TZDIFF
1787"RTN","EDPBPM",38,0)
1788 D FILE^DIE("","FDA","ERR")
1789"RTN","EDPBPM",39,0)
1790 Q
1791"RTN","EDPBPM",40,0)
1792FAIL(ERR) ; set fail node
1793"RTN","EDPBPM",41,0)
1794 D XML^EDPX("<save status='fail' >"_ERR_"</save>")
1795"RTN","EDPBPM",42,0)
1796 Q
1797"RTN","EDPBRM")
17980^4^B8445684
1799"RTN","EDPBRM",1,0)
1800EDPBRM ;SLC/KCM - Room/Bed Configuration
1801"RTN","EDPBRM",2,0)
1802 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
1803"RTN","EDPBRM",3,0)
1804 ;
1805"RTN","EDPBRM",4,0)
1806LOAD(AREA) ; Load the list of rooms/beds for this area
1807"RTN","EDPBRM",5,0)
1808 N BED,SEQ,BEDS,X0
1809"RTN","EDPBRM",6,0)
1810 ;
1811"RTN","EDPBRM",7,0)
1812 ; Get a list of all the beds in sequence for this area
1813"RTN","EDPBRM",8,0)
1814 S BED=0 F S BED=$O(^EDPB(231.8,"C",EDPSITE,AREA,BED)) Q:'BED D
1815"RTN","EDPBRM",9,0)
1816 . S SEQ=$P(^EDPB(231.8,BED,0),U,5) S:'SEQ SEQ=99999
1817"RTN","EDPBRM",10,0)
1818 . S BEDS(SEQ,BED)=""
1819"RTN","EDPBRM",11,0)
1820 ;
1821"RTN","EDPBRM",12,0)
1822 ; Build the XML for each bed in sequence
1823"RTN","EDPBRM",13,0)
1824 D XML^EDPX("<beds>")
1825"RTN","EDPBRM",14,0)
1826 S SEQ=0 F S SEQ=$O(BEDS(SEQ)) Q:'SEQ D
1827"RTN","EDPBRM",15,0)
1828 . S BED=0 F S BED=$O(BEDS(SEQ,BED)) Q:'BED D
1829"RTN","EDPBRM",16,0)
1830 . . S X0=^EDPB(231.8,BED,0)
1831"RTN","EDPBRM",17,0)
1832 . . N X
1833"RTN","EDPBRM",18,0)
1834 . . S X("id")=BED
1835"RTN","EDPBRM",19,0)
1836 . . S X("name")=$P(X0,U)
1837"RTN","EDPBRM",20,0)
1838 . . S X("site")=$P(X0,U,2)
1839"RTN","EDPBRM",21,0)
1840 . . S X("area")=$P(X0,U,3)
1841"RTN","EDPBRM",22,0)
1842 . . S X("inactive")=$P(X0,U,4)
1843"RTN","EDPBRM",23,0)
1844 . . S X("seq")=$P(X0,U,5)
1845"RTN","EDPBRM",24,0)
1846 . . S X("display")=$P(X0,U,6)
1847"RTN","EDPBRM",25,0)
1848 . . S X("when")=$P(X0,U,7)
1849"RTN","EDPBRM",26,0)
1850 . . S X("status")=$P(X0,U,8)
1851"RTN","EDPBRM",27,0)
1852 . . S X("multi")=$P(X0,U,9)
1853"RTN","EDPBRM",28,0)
1854 . . S X("shared")=$P(X0,U,10)
1855"RTN","EDPBRM",29,0)
1856 . . S X("board")=$P(X0,U,11)
1857"RTN","EDPBRM",30,0)
1858 . . S X("color")=$P(X0,U,12)
1859"RTN","EDPBRM",31,0)
1860 . . D XML^EDPX($$XMLA^EDPX("bed",.X))
1861"RTN","EDPBRM",32,0)
1862 D XML^EDPX("</beds>")
1863"RTN","EDPBRM",33,0)
1864 D CHOICES
1865"RTN","EDPBRM",34,0)
1866 Q
1867"RTN","EDPBRM",35,0)
1868SAVE(REQ) ; Save the updated bed list
1869"RTN","EDPBRM",36,0)
1870 ; loop thru the records and update where changed
1871"RTN","EDPBRM",37,0)
1872 N X,BED,ERR
1873"RTN","EDPBRM",38,0)
1874 S X="bed-",ERR=""
1875"RTN","EDPBRM",39,0)
1876 F S X=$O(REQ(X)) Q:$E(X,1,4)'="bed-" D
1877"RTN","EDPBRM",40,0)
1878 . K BED S BED=""
1879"RTN","EDPBRM",41,0)
1880 . D NVPARSE^EDPX(.BED,REQ(X,1))
1881"RTN","EDPBRM",42,0)
1882 . I BED("changed") D UPD(.BED,.ERR)
1883"RTN","EDPBRM",43,0)
1884 I $L(ERR) D XML^EDPX("<save status='fail' >"_ERR_"</save>") Q
1885"RTN","EDPBRM",44,0)
1886 D XML^EDPX("<save status='ok' />")
1887"RTN","EDPBRM",45,0)
1888 Q
1889"RTN","EDPBRM",46,0)
1890UPD(FLD,ERRMSG) ; Add/Update Record
1891"RTN","EDPBRM",47,0)
1892 N EDPIEN
1893"RTN","EDPBRM",48,0)
1894 S EDPIEN=FLD("id")_","
1895"RTN","EDPBRM",49,0)
1896 I FLD("id")=0 S EDPIEN="+1,"
1897"RTN","EDPBRM",50,0)
1898 ;
1899"RTN","EDPBRM",51,0)
1900 N FDA,FDAIEN,DIERR,ERR
1901"RTN","EDPBRM",52,0)
1902 S FDA(231.8,EDPIEN,.01)=FLD("name")
1903"RTN","EDPBRM",53,0)
1904 S FDA(231.8,EDPIEN,.02)=EDPSITE
1905"RTN","EDPBRM",54,0)
1906 S FDA(231.8,EDPIEN,.03)=FLD("area")
1907"RTN","EDPBRM",55,0)
1908 S FDA(231.8,EDPIEN,.04)=FLD("inactive")
1909"RTN","EDPBRM",56,0)
1910 S FDA(231.8,EDPIEN,.05)=FLD("seq")
1911"RTN","EDPBRM",57,0)
1912 S FDA(231.8,EDPIEN,.06)=FLD("display")
1913"RTN","EDPBRM",58,0)
1914 S FDA(231.8,EDPIEN,.07)=FLD("when")
1915"RTN","EDPBRM",59,0)
1916 S FDA(231.8,EDPIEN,.08)=FLD("status")
1917"RTN","EDPBRM",60,0)
1918 S FDA(231.8,EDPIEN,.09)=FLD("multi")
1919"RTN","EDPBRM",61,0)
1920 S FDA(231.8,EDPIEN,.1)=FLD("shared")
1921"RTN","EDPBRM",62,0)
1922 S FDA(231.8,EDPIEN,.11)=FLD("board")
1923"RTN","EDPBRM",63,0)
1924 S FDA(231.8,EDPIEN,.12)=FLD("color")
1925"RTN","EDPBRM",64,0)
1926 I EDPIEN="+1," D
1927"RTN","EDPBRM",65,0)
1928 . D UPDATE^DIE("","FDA","FDAIEN","ERR")
1929"RTN","EDPBRM",66,0)
1930 . I $D(DIERR) S ERRMSG=ERRMSG_"Adding "_FLD("name")_" failed. "
1931"RTN","EDPBRM",67,0)
1932 E D
1933"RTN","EDPBRM",68,0)
1934 . D FILE^DIE("","FDA","ERR")
1935"RTN","EDPBRM",69,0)
1936 . I $D(DIERR) S ERRMSG=ERRMSG_"Updating "_FLD("name")_" failed. "
1937"RTN","EDPBRM",70,0)
1938 Q
1939"RTN","EDPBRM",71,0)
1940CHOICES ; Load the choice lists
1941"RTN","EDPBRM",72,0)
1942 N I,X
1943"RTN","EDPBRM",73,0)
1944 F I=1:1 S X=$P($T(WHEN+I),";",3,99) Q:X="ZZZZZ" D XML^EDPX(X)
1945"RTN","EDPBRM",74,0)
1946 D CODES^EDPQLE1("status","status")
1947"RTN","EDPBRM",75,0)
1948 Q
1949"RTN","EDPBRM",76,0)
1950WHEN ; Display When Choices
1951"RTN","EDPBRM",77,0)
1952 ;;<displayWhen>
1953"RTN","EDPBRM",78,0)
1954 ;;<when label="Occupied" data="0" />
1955"RTN","EDPBRM",79,0)
1956 ;;<when label="Always" data="1" />
1957"RTN","EDPBRM",80,0)
1958 ;;<when label="Never" data="2" />
1959"RTN","EDPBRM",81,0)
1960 ;;</displayWhen>
1961"RTN","EDPBRM",82,0)
1962 ;;ZZZZZ
1963"RTN","EDPBRS")
19640^5^B17301676
1965"RTN","EDPBRS",1,0)
1966EDPBRS ;SLC/KCM - Reset Board Configuration
1967"RTN","EDPBRS",2,0)
1968 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
1969"RTN","EDPBRS",3,0)
1970 ;
1971"RTN","EDPBRS",4,0)
1972RESET(AREA) ; Set initial configuration for site & area
1973"RTN","EDPBRS",5,0)
1974 D SPEC(AREA),COLOR(AREA),ROOMS(AREA),PARAMS(AREA)
1975"RTN","EDPBRS",6,0)
1976 Q
1977"RTN","EDPBRS",7,0)
1978SPEC(AREA) ; Set up default board spec
1979"RTN","EDPBRS",8,0)
1980 ; assumes site, area passed in
1981"RTN","EDPBRS",9,0)
1982 N I,X,WP
1983"RTN","EDPBRS",10,0)
1984 F I=1:1 S X=$P($T(BRDXML+I),";",3,99) Q:$E(X,1,5)="zzzzz" S WP(I)=X
1985"RTN","EDPBRS",11,0)
1986 D WP^DIE(231.9,AREA_",",2,"","WP")
1987"RTN","EDPBRS",12,0)
1988 I $D(DIERR) W !,"spec update failed" Q
1989"RTN","EDPBRS",13,0)
1990 Q
1991"RTN","EDPBRS",14,0)
1992BRDXML ; XML for the board spec
1993"RTN","EDPBRS",15,0)
1994 ;;<spec>
1995"RTN","EDPBRS",16,0)
1996 ;;<row color="stsAcuity"/>
1997"RTN","EDPBRS",17,0)
1998 ;;<col att="@bedNm" header="Room" color="" width="48" label="Room / Bed"/>
1999"RTN","EDPBRS",18,0)
2000 ;;<col att="@last4" header="Patient" color="" width="58" label="Patient X9999"/>
2001"RTN","EDPBRS",19,0)
2002 ;;<col att="@complaint" header="Complaint" color="" width="406" label="Complaint"/>
2003"RTN","EDPBRS",20,0)
2004 ;;<col att="@mdNm" header="Prv" color="" width="51" label="Provider Initials"/>
2005"RTN","EDPBRS",21,0)
2006 ;;<col att="@resNm" header="Res" color="" width="51" label="Resident Initials"/>
2007"RTN","EDPBRS",22,0)
2008 ;;<col att="@rnNm" header="RN" color="" width="51" label="Nurse Initials"/>
2009"RTN","EDPBRS",23,0)
2010 ;;<col att="@acuityNm" header="Acuity" color="" width="51" label="Acuity"/>
2011"RTN","EDPBRS",24,0)
2012 ;;<col att="@emins" header="E Mins" color="" width="51" label="Total Minutes"/>
2013"RTN","EDPBRS",25,0)
2014 ;;<col att="@lab" header="L" color="labUrg" width="51" label="Lab Active/Complete"/>
2015"RTN","EDPBRS",26,0)
2016 ;;<col att="@rad" header="I" color="radUrg" width="61" label="Imaging Active/Complete"/>
2017"RTN","EDPBRS",27,0)
2018 ;;</spec>
2019"RTN","EDPBRS",28,0)
2020 ;;zzzzz
2021"RTN","EDPBRS",29,0)
2022 ;;
2023"RTN","EDPBRS",30,0)
2024COLOR(AREA) ; Set up default colors
2025"RTN","EDPBRS",31,0)
2026 N I,X,WP
2027"RTN","EDPBRS",32,0)
2028 F I=1:1 S X=$P($T(CLRXML+I),";",3,99) Q:$E(X,1,5)="zzzzz" S WP(I)=X
2029"RTN","EDPBRS",33,0)
2030 D WP^DIE(231.9,AREA_",",3,"","WP")
2031"RTN","EDPBRS",34,0)
2032 I $D(DIERR) W !,"spec update failed" Q
2033"RTN","EDPBRS",35,0)
2034 Q
2035"RTN","EDPBRS",36,0)
2036CLRXML ; XML for the color spec
2037"RTN","EDPBRS",37,0)
2038 ;;<colors id="stsAcuity" type="val" >
2039"RTN","EDPBRS",38,0)
2040 ;;<map att="@status" clr="1,0xffffff,0x808000" val="8" />
2041"RTN","EDPBRS",39,0)
2042 ;;<map att="@status" clr="0" val="9" />
2043"RTN","EDPBRS",40,0)
2044 ;;<map att="@status" clr="0" val="10" />
2045"RTN","EDPBRS",41,0)
2046 ;;<map att="@status" clr="0" val="11" />
2047"RTN","EDPBRS",42,0)
2048 ;;<map att="@status" clr="1,0xffffff,0x800000" val="12" />
2049"RTN","EDPBRS",43,0)
2050 ;;<map att="@status" clr="1,0x000000,0xfffbf0" val="13" />
2051"RTN","EDPBRS",44,0)
2052 ;;<map att="@status" clr="1,0xff0000,0xc0dcc0" val="14" />
2053"RTN","EDPBRS",45,0)
2054 ;;<map att="@acuity" clr="1,0x000000,0xff0000" val="1" />
2055"RTN","EDPBRS",46,0)
2056 ;;<map att="@acuity" clr="1,0xffffff,0x0000ff" val="2" />
2057"RTN","EDPBRS",47,0)
2058 ;;<map att="@acuity" clr="1,0x000000,0xff00ff" val="3" />
2059"RTN","EDPBRS",48,0)
2060 ;;<map att="@acuity" clr="1,0x000000,0x00ff00" val="4" />
2061"RTN","EDPBRS",49,0)
2062 ;;<map att="@acuity" clr="0" nm="5" val="5" />
2063"RTN","EDPBRS",50,0)
2064 ;;</colors>
2065"RTN","EDPBRS",51,0)
2066 ;;<colors id="labUrg" nm="Urgency - Lab" type="val" >
2067"RTN","EDPBRS",52,0)
2068 ;;<map att="@labUrg" clr="1,0x000000,0x00ff00" val="0" />
2069"RTN","EDPBRS",53,0)
2070 ;;<map att="@labUrg" clr="1,0x000000,0xffff00" val="1" />
2071"RTN","EDPBRS",54,0)
2072 ;;<map att="@labUrg" clr="1,0x000000,0xff0000" val="2" />
2073"RTN","EDPBRS",55,0)
2074 ;;</colors>
2075"RTN","EDPBRS",56,0)
2076 ;;<colors id="radUrg" nm="Urgency - Radiology" type="val" >
2077"RTN","EDPBRS",57,0)
2078 ;;<map att="@radUrg" clr="1,0x000000,0x00ff00" val="0" />
2079"RTN","EDPBRS",58,0)
2080 ;;<map att="@radUrg" clr="1,0x000000,0xffff00" val="1" />
2081"RTN","EDPBRS",59,0)
2082 ;;<map att="@radUrg" clr="1,0x000000,0xff0000" val="2" />
2083"RTN","EDPBRS",60,0)
2084 ;;</colors>
2085"RTN","EDPBRS",61,0)
2086 ;;zzzzz
2087"RTN","EDPBRS",62,0)
2088 ;;
2089"RTN","EDPBRS",63,0)
2090ROOMS(AREA) ; baseline rooms
2091"RTN","EDPBRS",64,0)
2092 N I,X
2093"RTN","EDPBRS",65,0)
2094 F I=1:1 S X=$P($T(ROOMLST+I),";",3,99) Q:$E(X,1,5)="zzzzz" D
2095"RTN","EDPBRS",66,0)
2096 . N FDA,FDAIEN,DIERR,ERR
2097"RTN","EDPBRS",67,0)
2098 . S FDA(231.8,"+1,",.01)=$P(X,U)
2099"RTN","EDPBRS",68,0)
2100 . S FDA(231.8,"+1,",.02)=EDPSITE
2101"RTN","EDPBRS",69,0)
2102 . S FDA(231.8,"+1,",.03)=AREA
2103"RTN","EDPBRS",70,0)
2104 . S FDA(231.8,"+1,",.05)=$P(X,U,3)
2105"RTN","EDPBRS",71,0)
2106 . S FDA(231.8,"+1,",.06)=$P(X,U,2)
2107"RTN","EDPBRS",72,0)
2108 . S FDA(231.8,"+1,",.07)=$P(X,U,4)
2109"RTN","EDPBRS",73,0)
2110 . S FDA(231.8,"+1,",.09)=$P(X,U,5)
2111"RTN","EDPBRS",74,0)
2112 . D UPDATE^DIE("","FDA","FDAIEN","ERR")
2113"RTN","EDPBRS",75,0)
2114 Q
2115"RTN","EDPBRS",76,0)
2116ROOMLST ; Name^Display Name^Seq^When^Multi
2117"RTN","EDPBRS",77,0)
2118 ;;Waiting^WAIT^1^0^1
2119"RTN","EDPBRS",78,0)
2120 ;;Ambulance^AMBU^5^0^1
2121"RTN","EDPBRS",79,0)
2122 ;;Hallway^HALL^10^0^1
2123"RTN","EDPBRS",80,0)
2124 ;;General Radiology^RAD^110^0^1
2125"RTN","EDPBRS",81,0)
2126 ;;CT^CT^120^0^1
2127"RTN","EDPBRS",82,0)
2128 ;;MRI^MRI^130^0^1
2129"RTN","EDPBRS",83,0)
2130 ;;Cardiac Cath^CATH^140^0^1
2131"RTN","EDPBRS",84,0)
2132 ;;Cardiac Stress Test^STEST^150^0^1
2133"RTN","EDPBRS",85,0)
2134 ;;Dialysis^DIAL^160^0^1
2135"RTN","EDPBRS",86,0)
2136 ;;Subspecialty Clinic^SCLIN^170^0^1
2137"RTN","EDPBRS",87,0)
2138 ;;zzzzz
2139"RTN","EDPBRS",88,0)
2140PARAMS(AREA) ; baseline parameters
2141"RTN","EDPBRS",89,0)
2142 N FDA,DIERR
2143"RTN","EDPBRS",90,0)
2144 S AREA=AREA_","
2145"RTN","EDPBRS",91,0)
2146 S FDA(231.9,AREA,1.1)=1
2147"RTN","EDPBRS",92,0)
2148 S FDA(231.9,AREA,1.2)=1
2149"RTN","EDPBRS",93,0)
2150 S FDA(231.9,AREA,1.3)=1
2151"RTN","EDPBRS",94,0)
2152 S FDA(231.9,AREA,1.4)=1
2153"RTN","EDPBRS",95,0)
2154 S FDA(231.9,AREA,1.5)=300
2155"RTN","EDPBRS",96,0)
2156 S FDA(231.9,AREA,1.6)=420
2157"RTN","EDPBRS",97,0)
2158 S FDA(231.9,AREA,1.7)=480
2159"RTN","EDPBRS",98,0)
2160 S FDA(231.9,AREA,1.8)=1
2161"RTN","EDPBRS",99,0)
2162 D FILE^DIE("","FDA","ERR")
2163"RTN","EDPBRS",100,0)
2164 Q
2165"RTN","EDPBSL")
21660^6^B10687935
2167"RTN","EDPBSL",1,0)
2168EDPBSL ;SLC/KCM - Selection List Configuration
2169"RTN","EDPBSL",2,0)
2170 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
2171"RTN","EDPBSL",3,0)
2172 ;
2173"RTN","EDPBSL",4,0)
2174LOAD(AREA) ; Load selection lists for area
2175"RTN","EDPBSL",5,0)
2176 ;D LIST("acuity","Acuity")
2177"RTN","EDPBSL",6,0)
2178 D LIST("status","Status")
2179"RTN","EDPBSL",7,0)
2180 D LIST("arrival","Mode of Arrival")
2181"RTN","EDPBSL",8,0)
2182 D LIST("disposition","Disposition")
2183"RTN","EDPBSL",9,0)
2184 D LIST("delay","Delay Reason")
2185"RTN","EDPBSL",10,0)
2186 Q
2187"RTN","EDPBSL",11,0)
2188LIST(NM,TITLE) ; build XML for selection list
2189"RTN","EDPBSL",12,0)
2190 N SETNM S SETNM=EDPSITE_"."_NM
2191"RTN","EDPBSL",13,0)
2192 I '$D(^EDPB(233.2,"B",SETNM)) S SETNM="edp."_NM
2193"RTN","EDPBSL",14,0)
2194 D XML^EDPX("<"_NM_" title='"_TITLE_"'>")
2195"RTN","EDPBSL",15,0)
2196 N IEN,SEQ,DA,X0
2197"RTN","EDPBSL",16,0)
2198 S IEN=$O(^EDPB(233.2,"B",SETNM,0))
2199"RTN","EDPBSL",17,0)
2200 S SEQ=0 F S SEQ=$O(^EDPB(233.2,IEN,1,"B",SEQ)) Q:'SEQ D
2201"RTN","EDPBSL",18,0)
2202 . S DA=0 F S DA=$O(^EDPB(233.2,IEN,1,"B",SEQ,DA)) Q:'DA D
2203"RTN","EDPBSL",19,0)
2204 . . S X0=^EDPB(233.2,IEN,1,DA,0)
2205"RTN","EDPBSL",20,0)
2206 . . N X
2207"RTN","EDPBSL",21,0)
2208 . . S X("seq")=SEQ
2209"RTN","EDPBSL",22,0)
2210 . . S X("id")=$P(X0,U,2)
2211"RTN","EDPBSL",23,0)
2212 . . S X("inact")=$P(X0,U,3)
2213"RTN","EDPBSL",24,0)
2214 . . S X("show")=$P(X0,U,4)
2215"RTN","EDPBSL",25,0)
2216 . . S X("abbr")=$P(X0,U,5)
2217"RTN","EDPBSL",26,0)
2218 . . ; switch to entry in 233.1 now
2219"RTN","EDPBSL",27,0)
2220 . . S X0=^EDPB(233.1,X("id"),0)
2221"RTN","EDPBSL",28,0)
2222 . . I X("show")="" S X("show")=$P(X0,U,2)
2223"RTN","EDPBSL",29,0)
2224 . . I X("abbr")="" S X("abbr")=$P(X0,U,3)
2225"RTN","EDPBSL",30,0)
2226 . . S X("flag")=$P(X0,U,5)
2227"RTN","EDPBSL",31,0)
2228 . . D XML^EDPX($$XMLA^EDPX("code",.X))
2229"RTN","EDPBSL",32,0)
2230 D XML^EDPX("</"_NM_">")
2231"RTN","EDPBSL",33,0)
2232 Q
2233"RTN","EDPBSL",34,0)
2234SAVE(REQ) ; save the selection changes
2235"RTN","EDPBSL",35,0)
2236 N CTYP,SET,SETNM,CODE,X,EDPERR
2237"RTN","EDPBSL",36,0)
2238 S EDPERR=""
2239"RTN","EDPBSL",37,0)
2240 F CTYP="status","disposition","delay","arrival" D
2241"RTN","EDPBSL",38,0)
2242 . I $E($O(REQ(CTYP)),1,$L(CTYP))'=CTYP Q
2243"RTN","EDPBSL",39,0)
2244 . S SETNM=EDPSITE_"."_CTYP,SET=$O(^EDPB(233.2,"B",SETNM,0))
2245"RTN","EDPBSL",40,0)
2246 . I 'SET D NEWSET(SETNM) S SET=$O(^EDPB(233.2,"B",SETNM,0))
2247"RTN","EDPBSL",41,0)
2248 . D CLEARSET(SET)
2249"RTN","EDPBSL",42,0)
2250 . S X=CTYP F S X=$O(REQ(X)) Q:$E(X,1,$L(CTYP))'=CTYP D
2251"RTN","EDPBSL",43,0)
2252 . . K CODE S CODE="" D NVPARSE^EDPX(.CODE,REQ(X,1))
2253"RTN","EDPBSL",44,0)
2254 . . I CODE("id")<1 D ADDCODE(CTYP,.CODE)
2255"RTN","EDPBSL",45,0)
2256 . . D ADD2SET(SET,.CODE)
2257"RTN","EDPBSL",46,0)
2258 I $L(EDPERR) D XML^EDPX("<save status='fail' >"_EDPERR_"</save>") Q
2259"RTN","EDPBSL",47,0)
2260 D XML^EDPX("<save status='ok' />")
2261"RTN","EDPBSL",48,0)
2262 Q
2263"RTN","EDPBSL",49,0)
2264NEWSET(SETNM) ; Create a new code set for a site
2265"RTN","EDPBSL",50,0)
2266 N FDA,FDAIEN,DIERR,ERR
2267"RTN","EDPBSL",51,0)
2268 S FDA(233.2,"+1,",.01)=SETNM
2269"RTN","EDPBSL",52,0)
2270 D UPDATE^DIE("","FDA","FDAIEN","ERR")
2271"RTN","EDPBSL",53,0)
2272 I $D(DIERR) S EDPERR=EDPERR_"new code set failed;"
2273"RTN","EDPBSL",54,0)
2274 Q
2275"RTN","EDPBSL",55,0)
2276CLEARSET(SET) ; Clear the CODES mulitple
2277"RTN","EDPBSL",56,0)
2278 I '$O(^EDPB(233.2,SET,1,0)) Q ; no child nodes
2279"RTN","EDPBSL",57,0)
2280 N DA,DIK S DA=0,DA(1)=SET,DIK="^EDPB(233.2,"_DA(1)_",1,"
2281"RTN","EDPBSL",58,0)
2282 F S DA=$O(^EDPB(233.2,SET,1,DA)) Q:'DA D ^DIK
2283"RTN","EDPBSL",59,0)
2284 Q
2285"RTN","EDPBSL",60,0)
2286ADDCODE(CTYP,X) ; Add a new code to the TRACKING CODE file
2287"RTN","EDPBSL",61,0)
2288 Q:X("id")'=0
2289"RTN","EDPBSL",62,0)
2290 N NAME,DNAME,I
2291"RTN","EDPBSL",63,0)
2292 S NAME=EDPSITE_"."_CTYP_"."_$TR(X("show")," ","")
2293"RTN","EDPBSL",64,0)
2294 I $O(^EDPB(233.1,"B",NAME,0)) D
2295"RTN","EDPBSL",65,0)
2296 . F I=1:1:99 Q:'$O(^EDPB(233.1,"B",NAME_I,0))
2297"RTN","EDPBSL",66,0)
2298 . S NAME=NAME_I
2299"RTN","EDPBSL",67,0)
2300 N FDA,FDAIEN,DIERR,ERR
2301"RTN","EDPBSL",68,0)
2302 S FDA(233.1,"+1,",.01)=NAME
2303"RTN","EDPBSL",69,0)
2304 S FDA(233.1,"+1,",.02)=X("show")
2305"RTN","EDPBSL",70,0)
2306 S FDA(233.1,"+1,",.03)=X("abbr")
2307"RTN","EDPBSL",71,0)
2308 S FDA(233.1,"+1,",.05)=X("flag")
2309"RTN","EDPBSL",72,0)
2310 D UPDATE^DIE("","FDA","FDAIEN","ERR")
2311"RTN","EDPBSL",73,0)
2312 I $D(DIERR) S EDPERR=EDPERR_"add code "_NAME_"failed;"
2313"RTN","EDPBSL",74,0)
2314 S X("id")=FDAIEN(1),X("nm")=NAME
2315"RTN","EDPBSL",75,0)
2316 Q
2317"RTN","EDPBSL",76,0)
2318ADD2SET(SET,X) ; Add a new code to the CODES multiple
2319"RTN","EDPBSL",77,0)
2320 N FDA,FDAIEN,DIERR,ERR
2321"RTN","EDPBSL",78,0)
2322 S FDA(233.21,"+1,"_SET_",",.01)=X("seq")
2323"RTN","EDPBSL",79,0)
2324 S FDA(233.21,"+1,"_SET_",",.02)=X("id")
2325"RTN","EDPBSL",80,0)
2326 S FDA(233.21,"+1,"_SET_",",.03)=X("inact")
2327"RTN","EDPBSL",81,0)
2328 S FDA(233.21,"+1,"_SET_",",.04)=X("show")
2329"RTN","EDPBSL",82,0)
2330 S FDA(233.21,"+1,"_SET_",",.05)=X("abbr")
2331"RTN","EDPBSL",83,0)
2332 D UPDATE^DIE("","FDA","FDAIEN","ERR")
2333"RTN","EDPBSL",84,0)
2334 I $D(DIERR) S EDPERR=EDPERR_"add to set "_X("show")_" failed;"
2335"RTN","EDPBSL",85,0)
2336 Q
2337"RTN","EDPBST")
23380^7^B5671603
2339"RTN","EDPBST",1,0)
2340EDPBST ;SLC/KCM - Staff Configuration
2341"RTN","EDPBST",2,0)
2342 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
2343"RTN","EDPBST",3,0)
2344 ;
2345"RTN","EDPBST",4,0)
2346MATCH(X) ; Return matching providers
2347"RTN","EDPBST",5,0)
2348 Q
2349"RTN","EDPBST",6,0)
2350LOAD(AREA) ; Return nurse and provider sources, staff config
2351"RTN","EDPBST",7,0)
2352 D XML^EDPX("<providers>"),ACTIVE(AREA,"P"),XML^EDPX("</providers>")
2353"RTN","EDPBST",8,0)
2354 D XML^EDPX("<residents>"),ACTIVE(AREA,"R"),XML^EDPX("</residents>")
2355"RTN","EDPBST",9,0)
2356 D XML^EDPX("<nurses>"),ACTIVE(AREA,"N"),XML^EDPX("</nurses>")
2357"RTN","EDPBST",10,0)
2358 Q
2359"RTN","EDPBST",11,0)
2360ACTIVE(AREA,ROLE) ; build list of active for a role
2361"RTN","EDPBST",12,0)
2362 N IEN,X0,X
2363"RTN","EDPBST",13,0)
2364 S IEN=0 F S IEN=$O(^EDPB(231.7,"AC",EDPSITE,AREA,ROLE,IEN)) Q:'IEN D
2365"RTN","EDPBST",14,0)
2366 . S X0=^EDPB(231.7,IEN,0)
2367"RTN","EDPBST",15,0)
2368 . S X("nm")=$P(X0,U)
2369"RTN","EDPBST",16,0)
2370 . S X("duz")=$P(X0,U,5)
2371"RTN","EDPBST",17,0)
2372 . S X("role")=$P(X0,U,6)
2373"RTN","EDPBST",18,0)
2374 . S X("itl")=$P(X0,U,7)
2375"RTN","EDPBST",19,0)
2376 . S X("clr")=$P(X0,U,8)
2377"RTN","EDPBST",20,0)
2378 . D XML^EDPX($$XMLA^EDPX("staff",.X))
2379"RTN","EDPBST",21,0)
2380 Q
2381"RTN","EDPBST",22,0)
2382SAVE(REQ) ; save updated staff members
2383"RTN","EDPBST",23,0)
2384 N X,STAFF,ERR,EDPAREA
2385"RTN","EDPBST",24,0)
2386 S EDPAREA=$G(REQ("area",1))
2387"RTN","EDPBST",25,0)
2388 I EDPAREA="" D XML^EDPX("<save status='fail'>Missing Area</save>") Q
2389"RTN","EDPBST",26,0)
2390 ;
2391"RTN","EDPBST",27,0)
2392 S X="staff-",ERR=""
2393"RTN","EDPBST",28,0)
2394 F S X=$O(REQ(X)) Q:$E(X,1,6)'="staff-" D
2395"RTN","EDPBST",29,0)
2396 . K STAFF S STAFF=""
2397"RTN","EDPBST",30,0)
2398 . D NVPARSE^EDPX(.STAFF,REQ(X,1))
2399"RTN","EDPBST",31,0)
2400 . I STAFF("chg") D UPD(.STAFF,.ERR)
2401"RTN","EDPBST",32,0)
2402 ;
2403"RTN","EDPBST",33,0)
2404 I $L(ERR) D XML^EDPX("<save status='fail' >"_ERR_"</save>") Q
2405"RTN","EDPBST",34,0)
2406 D XML^EDPX("<save status='ok' />")
2407"RTN","EDPBST",35,0)
2408 Q
2409"RTN","EDPBST",36,0)
2410UPD(FLD,ERRMSG) ; Add/Update Record (expects EDPAREA, EDPSITE to be defined)
2411"RTN","EDPBST",37,0)
2412 N EDPIEN
2413"RTN","EDPBST",38,0)
2414 S EDPIEN=$O(^EDPB(231.7,"AD",EDPSITE,EDPAREA,+FLD("duz"),0))_","
2415"RTN","EDPBST",39,0)
2416 I 'EDPIEN,FLD("inact") Q ; don't add inactive selection
2417"RTN","EDPBST",40,0)
2418 I 'EDPIEN S EDPIEN="+1,"
2419"RTN","EDPBST",41,0)
2420 ;
2421"RTN","EDPBST",42,0)
2422 N FDA,FDAIEN,DIERR,ERR
2423"RTN","EDPBST",43,0)
2424 S FDA(231.7,EDPIEN,.01)=FLD("nm")
2425"RTN","EDPBST",44,0)
2426 S FDA(231.7,EDPIEN,.02)=EDPSITE
2427"RTN","EDPBST",45,0)
2428 S FDA(231.7,EDPIEN,.03)=EDPAREA
2429"RTN","EDPBST",46,0)
2430 S FDA(231.7,EDPIEN,.04)=FLD("inact")
2431"RTN","EDPBST",47,0)
2432 S FDA(231.7,EDPIEN,.05)=FLD("duz")
2433"RTN","EDPBST",48,0)
2434 S FDA(231.7,EDPIEN,.06)=FLD("role")
2435"RTN","EDPBST",49,0)
2436 S FDA(231.7,EDPIEN,.07)=FLD("itl")
2437"RTN","EDPBST",50,0)
2438 S FDA(231.7,EDPIEN,.08)=FLD("clr")
2439"RTN","EDPBST",51,0)
2440 I EDPIEN="+1," D
2441"RTN","EDPBST",52,0)
2442 . D UPDATE^DIE("","FDA","FDAIEN","ERR")
2443"RTN","EDPBST",53,0)
2444 . I $D(DIERR) S ERRMSG=ERRMSG_"Adding "_FLD("name")_" failed. "
2445"RTN","EDPBST",54,0)
2446 E D
2447"RTN","EDPBST",55,0)
2448 . D FILE^DIE("","FDA","ERR")
2449"RTN","EDPBST",56,0)
2450 . I $D(DIERR) S ERRMSG=ERRMSG_"Updating "_FLD("name")_" failed. "
2451"RTN","EDPBST",57,0)
2452 Q
2453"RTN","EDPCSV")
24540^8^B1174381
2455"RTN","EDPCSV",1,0)
2456EDPCSV ;SLC/MKB - CSV format utilities
2457"RTN","EDPCSV",2,0)
2458 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
2459"RTN","EDPCSV",3,0)
2460 ;
2461"RTN","EDPCSV",4,0)
2462EN(REQ) ; Controller for HTTP request
2463"RTN","EDPCSV",5,0)
2464 ;
2465"RTN","EDPCSV",6,0)
2466 S:'$G(EDPTEST) $ETRAP="D ^%ZTER H"
2467"RTN","EDPCSV",7,0)
2468 ;
2469"RTN","EDPCSV",8,0)
2470 N EDPSITE,EDPHTTP,EDPNULL,EDPFAIL,EDPCSV,I
2471"RTN","EDPCSV",9,0)
2472 D UESREQ^EDPX(.REQ) ; unescape the posted data
2473"RTN","EDPCSV",10,0)
2474 D SET^EDPZCTRL ; set up the environment, use null device
2475"RTN","EDPCSV",11,0)
2476 ;
2477"RTN","EDPCSV",12,0)
2478 D EN^EDPRPT($$VAL("start"),$$VAL("stop"),$$VAL("report"),$$VAL("id"),1)
2479"RTN","EDPCSV",13,0)
2480 ;
2481"RTN","EDPCSV",14,0)
2482 U EDPHTTP
2483"RTN","EDPCSV",15,0)
2484 ;W "<results>",!
2485"RTN","EDPCSV",16,0)
2486 S I=0 F S I=$O(EDPCSV(I)) Q:'I W EDPCSV(I),!
2487"RTN","EDPCSV",17,0)
2488 ;W "</results>",!
2489"RTN","EDPCSV",18,0)
2490 Q
2491"RTN","EDPCSV",19,0)
2492 ;
2493"RTN","EDPCSV",20,0)
2494VAL(X) ; return value from request
2495"RTN","EDPCSV",21,0)
2496 Q $G(REQ(X,1))
2497"RTN","EDPCSV",22,0)
2498 ;
2499"RTN","EDPCSV",23,0)
2500ADD(X) ; -- add line X
2501"RTN","EDPCSV",24,0)
2502 S EDPCSV=+$G(EDPCSV)+1,EDPCSV(EDPCSV)=X
2503"RTN","EDPCSV",25,0)
2504 Q
2505"RTN","EDPCSV",26,0)
2506 ;
2507"RTN","EDPCSV",27,0)
2508BLANK ; -- add blank line
2509"RTN","EDPCSV",28,0)
2510 S EDPCSV=+$G(EDPCSV)+1,EDPCSV(EDPCSV)=""
2511"RTN","EDPCSV",29,0)
2512 Q
2513"RTN","EDPCTRL")
25140^9^B34504423
2515"RTN","EDPCTRL",1,0)
2516EDPCTRL ;SLC/KCM - Controller for ED Tracking
2517"RTN","EDPCTRL",2,0)
2518 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
2519"RTN","EDPCTRL",3,0)
2520 ;
2521"RTN","EDPCTRL",4,0)
2522RPC(EDPXML,SESS,PARAMS) ; Process request via RPC instead of CSP
2523"RTN","EDPCTRL",5,0)
2524 N X,REQ,EDPSITE,EDPUSER
2525"RTN","EDPCTRL",6,0)
2526 K EDPXML
2527"RTN","EDPCTRL",7,0)
2528 S EDPUSER=$P($G(SESS),U),EDPSITE=$P($G(SESS),U,2)
2529"RTN","EDPCTRL",8,0)
2530 S X="" F S X=$O(PARAMS(X)) Q:X="" S REQ(X,1)=PARAMS(X)
2531"RTN","EDPCTRL",9,0)
2532 ;
2533"RTN","EDPCTRL",10,0)
2534COMMON ; Come here for both CSP and RPC Mode
2535"RTN","EDPCTRL",11,0)
2536 ;
2537"RTN","EDPCTRL",12,0)
2538 N EDPFAIL,CMD
2539"RTN","EDPCTRL",13,0)
2540 S CMD=$G(REQ("command",1))
2541"RTN","EDPCTRL",14,0)
2542 ;
2543"RTN","EDPCTRL",15,0)
2544 ; switch on command
2545"RTN","EDPCTRL",16,0)
2546 ;
2547"RTN","EDPCTRL",17,0)
2548 ; ---------------------------------
2549"RTN","EDPCTRL",18,0)
2550 ;
2551"RTN","EDPCTRL",19,0)
2552 ; initUser -- MOVED TO FACILITY
2553"RTN","EDPCTRL",20,0)
2554 ; return <user />
2555"RTN","EDPCTRL",21,0)
2556 ; <view />...
2557"RTN","EDPCTRL",22,0)
2558 I CMD="initUser" D G OUT
2559"RTN","EDPCTRL",23,0)
2560 . D SESS^EDPFAA,VIEWS^EDPFAA
2561"RTN","EDPCTRL",24,0)
2562 ;
2563"RTN","EDPCTRL",25,0)
2564 ; ---------------------------------
2565"RTN","EDPCTRL",26,0)
2566 ;
2567"RTN","EDPCTRL",27,0)
2568 ; matchPatients -- MOVED TO FACILITY
2569"RTN","EDPCTRL",28,0)
2570 ; return <ptlk />...<ptlk />
2571"RTN","EDPCTRL",29,0)
2572 I CMD="matchPatients" D G OUT
2573"RTN","EDPCTRL",30,0)
2574 . D MATCH^EDPFPTL($$VAL("partial"))
2575"RTN","EDPCTRL",31,0)
2576 ;
2577"RTN","EDPCTRL",32,0)
2578 ; ---------------------------------
2579"RTN","EDPCTRL",33,0)
2580 ;
2581"RTN","EDPCTRL",34,0)
2582 ; getPatientRecordFlags -- MOVED TO FACILITY
2583"RTN","EDPCTRL",35,0)
2584 ; return <sensitivePatient>
2585"RTN","EDPCTRL",36,0)
2586 ; <patientRecordFlags>
2587"RTN","EDPCTRL",37,0)
2588 I CMD="getPatientRecordFlags" D G OUT
2589"RTN","EDPCTRL",38,0)
2590 . D SEC^EDPFPTS($$VAL("patient"))
2591"RTN","EDPCTRL",39,0)
2592 ;
2593"RTN","EDPCTRL",40,0)
2594 ; ---------------------------------
2595"RTN","EDPCTRL",41,0)
2596 ;
2597"RTN","EDPCTRL",42,0)
2598 ; saveSecurityLog -- MOVED TO FACILITY
2599"RTN","EDPCTRL",43,0)
2600 ; return <save />
2601"RTN","EDPCTRL",44,0)
2602 I CMD="saveSecurityLog" D G OUT
2603"RTN","EDPCTRL",45,0)
2604 . D LOG^EDPFPTS($$VAL("patient"))
2605"RTN","EDPCTRL",46,0)
2606 ;
2607"RTN","EDPCTRL",47,0)
2608 ; ---------------------------------
2609"RTN","EDPCTRL",48,0)
2610 ;
2611"RTN","EDPCTRL",49,0)
2612 ; getLexiconMatches -- MOVED TO FACILITY
2613"RTN","EDPCTRL",50,0)
2614 ; return <items><item />...</items>
2615"RTN","EDPCTRL",51,0)
2616 I CMD="getLexiconMatches" D G OUT
2617"RTN","EDPCTRL",52,0)
2618 . D ICD^EDPFLEX($$VAL("text"))
2619"RTN","EDPCTRL",53,0)
2620 ;
2621"RTN","EDPCTRL",54,0)
2622 ; ---------------------------------
2623"RTN","EDPCTRL",55,0)
2624 ;
2625"RTN","EDPCTRL",56,0)
2626 ; initLogArea
2627"RTN","EDPCTRL",57,0)
2628 ; return <udp />
2629"RTN","EDPCTRL",58,0)
2630 ; <params disposition="" diagnosis="" delay="" delayMinutes="" />
2631"RTN","EDPCTRL",59,0)
2632 ; <logEntries><log />...</logEntries>
2633"RTN","EDPCTRL",60,0)
2634 I CMD="initLogArea" D G OUT
2635"RTN","EDPCTRL",61,0)
2636 . I $L($G(REQ("logEntry",1))) D UPD^EDPLOG(REQ("logEntry",1)) Q:$G(EDPFAIL)
2637"RTN","EDPCTRL",62,0)
2638 . D PARAM^EDPQAR($$VAL("area"))
2639"RTN","EDPCTRL",63,0)
2640 . D GET^EDPQLP($$VAL("area"),-1) ;-1 = force refresh
2641"RTN","EDPCTRL",64,0)
2642 ;
2643"RTN","EDPCTRL",65,0)
2644 ; ---------------------------------
2645"RTN","EDPCTRL",66,0)
2646 ;
2647"RTN","EDPCTRL",67,0)
2648 ; checkLogin -- OBSOLETE
2649"RTN","EDPCTRL",68,0)
2650 ; return <user />
2651"RTN","EDPCTRL",69,0)
2652 I CMD="checkLogin" D SESS^EDPFAA G OUT
2653"RTN","EDPCTRL",70,0)
2654 ;
2655"RTN","EDPCTRL",71,0)
2656 ; ---------------------------------
2657"RTN","EDPCTRL",72,0)
2658 ;
2659"RTN","EDPCTRL",73,0)
2660 ; initTracking
2661"RTN","EDPCTRL",74,0)
2662 ; return <user area="" areaNm="" />...
2663"RTN","EDPCTRL",75,0)
2664 I CMD="initTracking" D DFLTAREA^EDPQAR G OUT
2665"RTN","EDPCTRL",76,0)
2666 ;
2667"RTN","EDPCTRL",77,0)
2668 ; ---------------------------------
2669"RTN","EDPCTRL",78,0)
2670 ;
2671"RTN","EDPCTRL",79,0)
2672 ; refreshLogSelector
2673"RTN","EDPCTRL",80,0)
2674 ; return <logEntries><log />...</logEntries>
2675"RTN","EDPCTRL",81,0)
2676 I CMD="refreshLogSelector" D G OUT
2677"RTN","EDPCTRL",82,0)
2678 . D GET^EDPQLP($$VAL("area"),$$VAL("token"))
2679"RTN","EDPCTRL",83,0)
2680 ;
2681"RTN","EDPCTRL",84,0)
2682 ; ---------------------------------
2683"RTN","EDPCTRL",85,0)
2684 ;
2685"RTN","EDPCTRL",86,0)
2686 ; switchLogEntry
2687"RTN","EDPCTRL",87,0)
2688 ; return <udp />
2689"RTN","EDPCTRL",88,0)
2690 ; <logEntry>log fields...</logEntry>
2691"RTN","EDPCTRL",89,0)
2692 ; <choices>choice lists...</choices>
2693"RTN","EDPCTRL",90,0)
2694 I CMD="switchLogEntry" D G OUT
2695"RTN","EDPCTRL",91,0)
2696 . I $L($G(REQ("logEntry",1))) D UPD^EDPLOG(REQ("logEntry",1)) Q:$G(EDPFAIL)
2697"RTN","EDPCTRL",92,0)
2698 . D GET^EDPQLE($$VAL("logID"),$$VAL("getChoices"))
2699"RTN","EDPCTRL",93,0)
2700 ;
2701"RTN","EDPCTRL",94,0)
2702 ; ---------------------------------
2703"RTN","EDPCTRL",95,0)
2704 ;
2705"RTN","EDPCTRL",96,0)
2706 ; saveLogEntry
2707"RTN","EDPCTRL",97,0)
2708 ; return <upd />
2709"RTN","EDPCTRL",98,0)
2710 I CMD="saveLogEntry" D G OUT
2711"RTN","EDPCTRL",99,0)
2712 . D UPD^EDPLOG(REQ("logEntry",1)) Q:$G(EDPFAIL)
2713"RTN","EDPCTRL",100,0)
2714 ;
2715"RTN","EDPCTRL",101,0)
2716 ; ---------------------------------
2717"RTN","EDPCTRL",102,0)
2718 ;
2719"RTN","EDPCTRL",103,0)
2720 ; addPatientToLog
2721"RTN","EDPCTRL",104,0)
2722 ; return <upd />
2723"RTN","EDPCTRL",105,0)
2724 ; <add />
2725"RTN","EDPCTRL",106,0)
2726 ; <logEntry>log fields...</logEntry>
2727"RTN","EDPCTRL",107,0)
2728 ; <choices>choice lists...</choices>
2729"RTN","EDPCTRL",108,0)
2730 ; <logEntries><log />...</logEntries>
2731"RTN","EDPCTRL",109,0)
2732 I CMD="addPatientToLog" D G OUT
2733"RTN","EDPCTRL",110,0)
2734 . D ADD^EDPLOGA($$VAL("addPatient"),$$VAL("area"),$$VAL("localTime"),$$VAL("getChoices"))
2735"RTN","EDPCTRL",111,0)
2736 . Q:$G(EDPFAIL)
2737"RTN","EDPCTRL",112,0)
2738 . D GET^EDPQLP($$VAL("area"),-1)
2739"RTN","EDPCTRL",113,0)
2740 ;
2741"RTN","EDPCTRL",114,0)
2742 ; ---------------------------------
2743"RTN","EDPCTRL",115,0)
2744 ;
2745"RTN","EDPCTRL",116,0)
2746 ; deleteStubEntry
2747"RTN","EDPCTRL",117,0)
2748 ; return <upd />
2749"RTN","EDPCTRL",118,0)
2750 I CMD="deleteStubEntry" D G OUT
2751"RTN","EDPCTRL",119,0)
2752 . D DEL^EDPLOGA($$VAL("area"),$$VAL("logID"))
2753"RTN","EDPCTRL",120,0)
2754 ;
2755"RTN","EDPCTRL",121,0)
2756 ; ---------------------------------
2757"RTN","EDPCTRL",122,0)
2758 ;
2759"RTN","EDPCTRL",123,0)
2760 ; removeLogEntry
2761"RTN","EDPCTRL",124,0)
2762 ; return <upd />
2763"RTN","EDPCTRL",125,0)
2764 ; <logEntries><log />...</logEntries>
2765"RTN","EDPCTRL",126,0)
2766 I CMD="removeLogEntry" D G OUT
2767"RTN","EDPCTRL",127,0)
2768 . D UPD^EDPLOG(REQ("logEntry",1),1) Q:$G(EDPFAIL)
2769"RTN","EDPCTRL",128,0)
2770 . D GET^EDPQLP($$VAL("area"),-1)
2771"RTN","EDPCTRL",129,0)
2772 ;
2773"RTN","EDPCTRL",130,0)
2774 ; ---------------------------------
2775"RTN","EDPCTRL",131,0)
2776 ;
2777"RTN","EDPCTRL",132,0)
2778 ; initDisplayBoard
2779"RTN","EDPCTRL",133,0)
2780 ; return <spec>
2781"RTN","EDPCTRL",134,0)
2782 ; <color><map />...</color>...
2783"RTN","EDPCTRL",135,0)
2784 ; <rows><row />...</rows>
2785"RTN","EDPCTRL",136,0)
2786 I CMD="initDisplayBoard" D G OUT
2787"RTN","EDPCTRL",137,0)
2788 . D GET^EDPQDBS($$VAL("area"))
2789"RTN","EDPCTRL",138,0)
2790 . D GET^EDPQDB($$VAL("area"),$$VAL("board"),-1)
2791"RTN","EDPCTRL",139,0)
2792 ;
2793"RTN","EDPCTRL",140,0)
2794 ; ---------------------------------
2795"RTN","EDPCTRL",141,0)
2796 ;
2797"RTN","EDPCTRL",142,0)
2798 ; refreshDisplayBoard
2799"RTN","EDPCTRL",143,0)
2800 ; return <rows><row />...</rows>
2801"RTN","EDPCTRL",144,0)
2802 I CMD="refreshDisplayBoard" D G OUT
2803"RTN","EDPCTRL",145,0)
2804 . D GET^EDPQDB($$VAL("area"),$$VAL("board"),-1)
2805"RTN","EDPCTRL",146,0)
2806 ;
2807"RTN","EDPCTRL",147,0)
2808 ; ---------------------------------
2809"RTN","EDPCTRL",148,0)
2810 ;
2811"RTN","EDPCTRL",149,0)
2812 ; matchClosed
2813"RTN","EDPCTRL",150,0)
2814 ; return <visit />...
2815"RTN","EDPCTRL",151,0)
2816 I CMD="matchClosed" D G OUT
2817"RTN","EDPCTRL",152,0)
2818 . D CLOSED^EDPQLP($$VAL("area"),$$VAL("partial"))
2819"RTN","EDPCTRL",153,0)
2820 ;
2821"RTN","EDPCTRL",154,0)
2822 ; ---------------------------------
2823"RTN","EDPCTRL",155,0)
2824 ;
2825"RTN","EDPCTRL",156,0)
2826 ; loadConfiguration
2827"RTN","EDPCTRL",157,0)
2828 ; return <spec><row /><col />...</spec>
2829"RTN","EDPCTRL",158,0)
2830 ; <color><map />...</color>...
2831"RTN","EDPCTRL",159,0)
2832 ; <columnList><col />...</columnList>
2833"RTN","EDPCTRL",160,0)
2834 ; <colorMapList><colorMap><map />...</colorMapList>
2835"RTN","EDPCTRL",161,0)
2836 ; <beds><bed />...</beds>
2837"RTN","EDPCTRL",162,0)
2838 ; <displayWhen><when />...</displayWhen>
2839"RTN","EDPCTRL",163,0)
2840 ; <statusList><status />...</statusList>
2841"RTN","EDPCTRL",164,0)
2842 I CMD="loadConfiguration" D G OUT
2843"RTN","EDPCTRL",165,0)
2844 . D LOADBRD^EDPBCF($$VAL("area"))
2845"RTN","EDPCTRL",166,0)
2846 ;
2847"RTN","EDPCTRL",167,0)
2848 ; ---------------------------------
2849"RTN","EDPCTRL",168,0)
2850 ;
2851"RTN","EDPCTRL",169,0)
2852 ; saveConfigBoard
2853"RTN","EDPCTRL",170,0)
2854 ; return <save />
2855"RTN","EDPCTRL",171,0)
2856 I CMD="saveConfigBoard" D G OUT
2857"RTN","EDPCTRL",172,0)
2858 . D SAVEBRD^EDPBCF(.REQ) ; pass whole request for parsing
2859"RTN","EDPCTRL",173,0)
2860 ;
2861"RTN","EDPCTRL",174,0)
2862 ; ---------------------------------
2863"RTN","EDPCTRL",175,0)
2864 ;
2865"RTN","EDPCTRL",176,0)
2866 ; saveBedConfig
2867"RTN","EDPCTRL",177,0)
2868 ; return <save />
2869"RTN","EDPCTRL",178,0)
2870 I CMD="saveBedConfig" D G OUT
2871"RTN","EDPCTRL",179,0)
2872 . D SAVE^EDPBRM(.REQ) ; pass whole request for parsing
2873"RTN","EDPCTRL",180,0)
2874 ;
2875"RTN","EDPCTRL",181,0)
2876 ; ---------------------------------
2877"RTN","EDPCTRL",182,0)
2878 ;
2879"RTN","EDPCTRL",183,0)
2880 ; saveColorConfig
2881"RTN","EDPCTRL",184,0)
2882 ; return <save />
2883"RTN","EDPCTRL",185,0)
2884 I CMD="saveColorConfig" D G OUT
2885"RTN","EDPCTRL",186,0)
2886 . D SAVE^EDPBCM(.REQ) ; pass whole request for parsing
2887"RTN","EDPCTRL",187,0)
2888 ;
2889"RTN","EDPCTRL",188,0)
2890 ; ---------------------------------
2891"RTN","EDPCTRL",189,0)
2892 ;
2893"RTN","EDPCTRL",190,0)
2894 ; loadSelectionConfig
2895"RTN","EDPCTRL",191,0)
2896 ; return <selectionName><code />....</selectionName>...
2897"RTN","EDPCTRL",192,0)
2898 I CMD="loadSelectionConfig" D G OUT
2899"RTN","EDPCTRL",193,0)
2900 . D LOAD^EDPBSL($$VAL("area"))
2901"RTN","EDPCTRL",194,0)
2902 ;
2903"RTN","EDPCTRL",195,0)
2904 ; ---------------------------------
2905"RTN","EDPCTRL",196,0)
2906 ;
2907"RTN","EDPCTRL",197,0)
2908 ; loadStaffConfig
2909"RTN","EDPCTRL",198,0)
2910 ; return providers, nurses, staff for area
2911"RTN","EDPCTRL",199,0)
2912 I CMD="loadStaffConfig" D G OUT
2913"RTN","EDPCTRL",200,0)
2914 . D LOAD^EDPBST($$VAL("area"))
2915"RTN","EDPCTRL",201,0)
2916 ;
2917"RTN","EDPCTRL",202,0)
2918 ; ---------------------------------
2919"RTN","EDPCTRL",203,0)
2920 ;
2921"RTN","EDPCTRL",204,0)
2922 ; saveStaffConfig
2923"RTN","EDPCTRL",205,0)
2924 ; return <save />
2925"RTN","EDPCTRL",206,0)
2926 I CMD="saveStaffConfig" D G OUT
2927"RTN","EDPCTRL",207,0)
2928 . D SAVE^EDPBST(.REQ) ; pass whole request for parsing
2929"RTN","EDPCTRL",208,0)
2930 ;
2931"RTN","EDPCTRL",209,0)
2932 ; ---------------------------------
2933"RTN","EDPCTRL",210,0)
2934 ;
2935"RTN","EDPCTRL",211,0)
2936 ; matchPersons
2937"RTN","EDPCTRL",212,0)
2938 ; return <per />...<per />
2939"RTN","EDPCTRL",213,0)
2940 I CMD="matchPersons" D G OUT
2941"RTN","EDPCTRL",214,0)
2942 . D MATCH^EDPFPER($$VAL("partial"),$$VAL("personType"))
2943"RTN","EDPCTRL",215,0)
2944 ;
2945"RTN","EDPCTRL",216,0)
2946 ; ---------------------------------
2947"RTN","EDPCTRL",217,0)
2948 ;
2949"RTN","EDPCTRL",218,0)
2950 ; saveParamConfig
2951"RTN","EDPCTRL",219,0)
2952 ; return <save />
2953"RTN","EDPCTRL",220,0)
2954 I CMD="saveParamConfig" D G OUT
2955"RTN","EDPCTRL",221,0)
2956 . D SAVE^EDPBPM($$VAL("area"),$$VAL("param"))
2957"RTN","EDPCTRL",222,0)
2958 ;
2959"RTN","EDPCTRL",223,0)
2960 ; ---------------------------------
2961"RTN","EDPCTRL",224,0)
2962 ;
2963"RTN","EDPCTRL",225,0)
2964 ; saveSelectionConfig
2965"RTN","EDPCTRL",226,0)
2966 ; return <save />
2967"RTN","EDPCTRL",227,0)
2968 I CMD="saveSelectionConfig" D G OUT
2969"RTN","EDPCTRL",228,0)
2970 . D SAVE^EDPBSL(.REQ)
2971"RTN","EDPCTRL",229,0)
2972 ;
2973"RTN","EDPCTRL",230,0)
2974 ; ---------------------------------
2975"RTN","EDPCTRL",231,0)
2976 ;
2977"RTN","EDPCTRL",232,0)
2978 ; getReport
2979"RTN","EDPCTRL",233,0)
2980 ; return <logEntries><log />...</logEntries>
2981"RTN","EDPCTRL",234,0)
2982 ; <averages><all /><not /><adm /></averages>
2983"RTN","EDPCTRL",235,0)
2984 ; <providers><md />...</providers>
2985"RTN","EDPCTRL",236,0)
2986 I CMD="getReport" D G OUT
2987"RTN","EDPCTRL",237,0)
2988 . D EN^EDPRPT($$VAL("start"),$$VAL("stop"),$$VAL("report"),$$VAL("id"))
2989"RTN","EDPCTRL",238,0)
2990 ;
2991"RTN","EDPCTRL",239,0)
2992 ; ---------------------------------
2993"RTN","EDPCTRL",240,0)
2994 ;
2995"RTN","EDPCTRL",241,0)
2996 ; getCSV
2997"RTN","EDPCTRL",242,0)
2998 ; return TAB separated values for report
2999"RTN","EDPCTRL",243,0)
3000 I CMD="getCSV" D G OUT
3001"RTN","EDPCTRL",244,0)
3002 . N EDPCSV ; CSV mode uses EDPCSV instead of EDPXML
3003"RTN","EDPCTRL",245,0)
3004 . D EN^EDPRPT($$VAL("start"),$$VAL("stop"),$$VAL("report"),$$VAL("id"),1)
3005"RTN","EDPCTRL",246,0)
3006 . M EDPXML=EDPCSV
3007"RTN","EDPCTRL",247,0)
3008 ;
3009"RTN","EDPCTRL",248,0)
3010 ; ---------------------------------
3011"RTN","EDPCTRL",249,0)
3012 ; else
3013"RTN","EDPCTRL",250,0)
3014 D XML^EDPX("<error msg='"_$$MSG^EDPX(2300010)_"' />")
3015"RTN","EDPCTRL",251,0)
3016 ; end switch
3017"RTN","EDPCTRL",252,0)
3018 ;
3019"RTN","EDPCTRL",253,0)
3020OUT ; output the XML
3021"RTN","EDPCTRL",254,0)
3022 I $L($G(EDPHTTP)) D ; if in CSP mode
3023"RTN","EDPCTRL",255,0)
3024 . U EDPHTTP
3025"RTN","EDPCTRL",256,0)
3026 . W "<results>",!
3027"RTN","EDPCTRL",257,0)
3028 . N I S I=0 F S I=$O(EDPXML(I)) Q:'I W EDPXML(I),!
3029"RTN","EDPCTRL",258,0)
3030 . W "</results>",!
3031"RTN","EDPCTRL",259,0)
3032END Q
3033"RTN","EDPCTRL",260,0)
3034 ;
3035"RTN","EDPCTRL",261,0)
3036VAL(X) ; return value from request
3037"RTN","EDPCTRL",262,0)
3038 Q $G(REQ(X,1))
3039"RTN","EDPDD")
30400^10^B107293
3041"RTN","EDPDD",1,0)
3042EDPDD ;SLC/KCM - Test Update ED Log - Update
3043"RTN","EDPDD",2,0)
3044 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3045"RTN","EDPDD",3,0)
3046 ;
3047"RTN","EDPDD",4,0)
3048ISGONE(STS) ;
3049"RTN","EDPDD",5,0)
3050 Q STS=$O(^EDPB(233.1,"B","edp.status.gone",0))
3051"RTN","EDPLOG")
30520^19^B16849923
3053"RTN","EDPLOG",1,0)
3054EDPLOG ;SLC/KCM - Update ED Log - Update
3055"RTN","EDPLOG",2,0)
3056 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3057"RTN","EDPLOG",3,0)
3058 ;
3059"RTN","EDPLOG",4,0)
3060 ;TODO: add transaction processing
3061"RTN","EDPLOG",5,0)
3062 ;
3063"RTN","EDPLOG",6,0)
3064UPD(REQ,REMOVE) ; Update a record
3065"RTN","EDPLOG",7,0)
3066 N REC D NVPARSE^EDPX(.REC,REQ)
3067"RTN","EDPLOG",8,0)
3068 N IEN S IEN=$$VAL("id")
3069"RTN","EDPLOG",9,0)
3070 I '$G(IEN) D FAIL("upd",2300007) Q
3071"RTN","EDPLOG",10,0)
3072 I '$D(^EDP(230,IEN,0)) D FAIL("upd",2300006) Q
3073"RTN","EDPLOG",11,0)
3074 N ERR S ERR=$$VALID^EDPLOG1(.REC) I $L(ERR) D FAIL("upd",ERR) Q
3075"RTN","EDPLOG",12,0)
3076 ;
3077"RTN","EDPLOG",13,0)
3078 ; compute the local time
3079"RTN","EDPLOG",14,0)
3080 N TIME S TIME=$$FMADD^XLFDT($$NOW^XLFDT,0,0,+$P(^EDP(230,IEN,0),U,12),0)
3081"RTN","EDPLOG",15,0)
3082 ; before allowing remove, check the required fields
3083"RTN","EDPLOG",16,0)
3084 S REMOVE=$G(REMOVE,0)
3085"RTN","EDPLOG",17,0)
3086 I REMOVE D RDY2RMV Q:REC("status")'=$$CODE^EDPX("edp.status.gone")
3087"RTN","EDPLOG",18,0)
3088 ;
3089"RTN","EDPLOG",19,0)
3090 ; get the existing log entry
3091"RTN","EDPLOG",20,0)
3092 N X0,X1,X2,X3,AREA,I
3093"RTN","EDPLOG",21,0)
3094 S X0=^EDP(230,IEN,0),X1=$G(^(1)),X2=$G(^(2)),X3=$G(^(3))
3095"RTN","EDPLOG",22,0)
3096 S AREA=$P(X0,U,3),^EDPB(231.9,AREA,230)=$H ; last update timestamp
3097"RTN","EDPLOG",23,0)
3098 ;
3099"RTN","EDPLOG",24,0)
3100 ; if new DFN, register at site
3101"RTN","EDPLOG",25,0)
3102 I '$P(X0,U,6),+$$VAL("dfn") D NEWLOG^EDPMAIL(AREA,IEN,$$VAL("dfn"))
3103"RTN","EDPLOG",26,0)
3104 ;
3105"RTN","EDPLOG",27,0)
3106 N NAME,SSN S NAME=$$VAL("name"),SSN=$$VAL("ssn")
3107"RTN","EDPLOG",28,0)
3108 ; Update any fields that have values passed in
3109"RTN","EDPLOG",29,0)
3110 N FDA,FDAIEN,DIERR,HIST
3111"RTN","EDPLOG",30,0)
3112 D SETFDA(X0,4,"name",.04)
3113"RTN","EDPLOG",31,0)
3114 D SETFDA(X0,5,"ssn",.05)
3115"RTN","EDPLOG",32,0)
3116 D SETFDA(X0,6,"dfn",.06)
3117"RTN","EDPLOG",33,0)
3118 D SETFDA(X0,8,"inTS",.08)
3119"RTN","EDPLOG",34,0)
3120 D SETFDA(X0,9,"outTS",.09)
3121"RTN","EDPLOG",35,0)
3122 D SETFDA(X0,10,"arrival",.1)
3123"RTN","EDPLOG",36,0)
3124 D SETFDA(X1,1,"complaint",1.1)
3125"RTN","EDPLOG",37,0)
3126 D SETFDA(X2,1,"compLong",2)
3127"RTN","EDPLOG",38,0)
3128 D SETFDA(X3,2,"status",3.2)
3129"RTN","EDPLOG",39,0)
3130 D SETFDA(X3,3,"acuity",3.3)
3131"RTN","EDPLOG",40,0)
3132 D SETFDA(X3,4,"bed",3.4)
3133"RTN","EDPLOG",41,0)
3134 D SETFDA(X3,5,"provider",3.5)
3135"RTN","EDPLOG",42,0)
3136 D SETFDA(X3,6,"nurse",3.6)
3137"RTN","EDPLOG",43,0)
3138 D SETFDA(X3,7,"resident",3.7)
3139"RTN","EDPLOG",44,0)
3140 D SETFDA(X3,8,"comment",3.8)
3141"RTN","EDPLOG",45,0)
3142 D SETFDA(X1,5,"delay",1.5)
3143"RTN","EDPLOG",46,0)
3144 D SETFDA(X1,2,"disposition",1.2)
3145"RTN","EDPLOG",47,0)
3146 I $G(FDA(230,IEN_",",1.2)) S FDA(230,IEN_",",1.3)=TIME
3147"RTN","EDPLOG",48,0)
3148 I $L(NAME)&$L(SSN) S FDA(230,IEN_",",.11)=$E(NAME)_$E(SSN,6,9)
3149"RTN","EDPLOG",49,0)
3150 I $D(HIST)>9 D SAVE^EDPLOGH(IEN,TIME,.HIST)
3151"RTN","EDPLOG",50,0)
3152 I $D(FDA)>9 D FILE^DIE("","FDA","ERR")
3153"RTN","EDPLOG",51,0)
3154 I $D(DIERR) D FAIL("upd",2300008) Q
3155"RTN","EDPLOG",52,0)
3156 K FDA,ERR
3157"RTN","EDPLOG",53,0)
3158 ;
3159"RTN","EDPLOG",54,0)
3160D1 N DIAG S DIAG="diagnosis-0",I=0
3161"RTN","EDPLOG",55,0)
3162 F S DIAG=$O(REC(DIAG)) Q:$E(DIAG,1,10)'="diagnosis-" D
3163"RTN","EDPLOG",56,0)
3164 . S I=I+1,REC("diagnosis",I)=REC(DIAG)
3165"RTN","EDPLOG",57,0)
3166 I $D(REC("diagnosis"))>9 D Q:$D(DIERR) ; replace the diagnosis multiple
3167"RTN","EDPLOG",58,0)
3168 . D DELDIAG(IEN)
3169"RTN","EDPLOG",59,0)
3170 . S FDA(230,IEN_",",1.4)=TIME
3171"RTN","EDPLOG",60,0)
3172 . S I=0 F S I=$O(REC("diagnosis",I)) Q:'I D
3173"RTN","EDPLOG",61,0)
3174 . . S FDA(230.04,"+"_I_","_IEN_",",.01)=$P(REC("diagnosis",I),U,3)
3175"RTN","EDPLOG",62,0)
3176 . . S FDA(230.04,"+"_I_","_IEN_",",.02)=$P(REC("diagnosis",I),U,2)
3177"RTN","EDPLOG",63,0)
3178 . D UPDATE^DIE("","FDA","FDAIEN","ERR")
3179"RTN","EDPLOG",64,0)
3180 . I $D(DIERR) D FAIL("upd",2300008) Q
3181"RTN","EDPLOG",65,0)
3182 . K FDA,FDAIEN,ERR
3183"RTN","EDPLOG",66,0)
3184 ;
3185"RTN","EDPLOG",67,0)
3186 D XML^EDPX("<upd status='ok' id='"_IEN_"' />")
3187"RTN","EDPLOG",68,0)
3188 Q
3189"RTN","EDPLOG",69,0)
3190DELDIAG(IEN) ; delete the diagnosis multiple
3191"RTN","EDPLOG",70,0)
3192 I '$O(^EDP(230,IEN,4,0)) Q ; no child nodes
3193"RTN","EDPLOG",71,0)
3194 N DA,DIK S DA=0,DA(1)=IEN,DIK="^EDP(230,"_DA(1)_",4,"
3195"RTN","EDPLOG",72,0)
3196 F S DA=$O(^EDP(230,IEN,4,DA)) Q:'DA D ^DIK
3197"RTN","EDPLOG",73,0)
3198 Q
3199"RTN","EDPLOG",74,0)
3200RDY2RMV ; check required fields & set up so ready to remove
3201"RTN","EDPLOG",75,0)
3202 ; called from UPD, expects REC and IEN and TIME
3203"RTN","EDPLOG",76,0)
3204 N X,X1,AREA,MIN
3205"RTN","EDPLOG",77,0)
3206 S X="",AREA=$P(^EDP(230,IEN,0),U,3),X1=$G(^EDPB(231.9,AREA,1))
3207"RTN","EDPLOG",78,0)
3208 S MIN=$$VAL("inTS") S:'MIN MIN=$P(^EDP(230,IEN,0),U,8)
3209"RTN","EDPLOG",79,0)
3210 S MIN=$$FMDIFF^XLFDT(TIME,MIN,2)\60
3211"RTN","EDPLOG",80,0)
3212 I $P(X1,U,1),'$L($$VAL("diagnosis-1")) S X="diagnosis "
3213"RTN","EDPLOG",81,0)
3214 I $P(X1,U,3),'$$VAL("disposition") S X=X_"disposition "
3215"RTN","EDPLOG",82,0)
3216 I $P(X1,U,4),(MIN>$P(X1,U,5)),'$$VAL("delay") S X=X_" delay reason"
3217"RTN","EDPLOG",83,0)
3218 I $L(X) D FAIL("upd","Fields required for remove are missing: "_X) Q
3219"RTN","EDPLOG",84,0)
3220 I '$$VAL("outTS") S REC("outTS")=TIME
3221"RTN","EDPLOG",85,0)
3222 S REC("status")=$$CODE^EDPX("edp.status.gone")
3223"RTN","EDPLOG",86,0)
3224 ; unregister DFN at site
3225"RTN","EDPLOG",87,0)
3226 D DELLOG^EDPMAIL(AREA,IEN)
3227"RTN","EDPLOG",88,0)
3228 Q
3229"RTN","EDPLOG",89,0)
3230VAL(X) ; Returns parameter value or null
3231"RTN","EDPLOG",90,0)
3232 ; HTTP passes HTML-escaped values in an array as REC(param,1)
3233"RTN","EDPLOG",91,0)
3234 Q $G(REC(X))
3235"RTN","EDPLOG",92,0)
3236 ;
3237"RTN","EDPLOG",93,0)
3238SETFDA(NODE,P,SUB,FLD) ; Creates value in FDA & HIST arrays as appropriate
3239"RTN","EDPLOG",94,0)
3240 ; from UPD, expects REC, FDA, HIST to be defined
3241"RTN","EDPLOG",95,0)
3242 Q:'$D(REC(SUB)) ; value not sent in message
3243"RTN","EDPLOG",96,0)
3244 Q:$P(NODE,U,P)=REC(SUB) ; value is the same
3245"RTN","EDPLOG",97,0)
3246 S FDA(230,IEN_",",FLD)=REC(SUB)
3247"RTN","EDPLOG",98,0)
3248 ; save the changed fields in the history
3249"RTN","EDPLOG",99,0)
3250 I $L(REC(SUB)) D
3251"RTN","EDPLOG",100,0)
3252 . S:FLD=1.1 FLD=.07 ; complaint
3253"RTN","EDPLOG",101,0)
3254 . S:FLD=1.2 FLD=.11 ; disposition
3255"RTN","EDPLOG",102,0)
3256 . S:FLD=1.5 FLD=.12 ; delay
3257"RTN","EDPLOG",103,0)
3258 . S HIST(230.1,"+1,",FLD)=REC(SUB)
3259"RTN","EDPLOG",104,0)
3260 Q
3261"RTN","EDPLOG",105,0)
3262FAIL(ELEM,MSG) ; creates failure node for returned XML
3263"RTN","EDPLOG",106,0)
3264 N X
3265"RTN","EDPLOG",107,0)
3266 I +MSG S MSG=$$MSG^EDPX(MSG)
3267"RTN","EDPLOG",108,0)
3268 S X="<"_ELEM_" id='"_$$VAL("id")_"' status='fail' msg='"_MSG_"' />"
3269"RTN","EDPLOG",109,0)
3270 D XML^EDPX(X)
3271"RTN","EDPLOG",110,0)
3272 S EDPFAIL=1
3273"RTN","EDPLOG",111,0)
3274 Q
3275"RTN","EDPLOG1")
32760^20^B2757150
3277"RTN","EDPLOG1",1,0)
3278EDPLOG1 ;SLC/KCM - Update ED Log - Validate
3279"RTN","EDPLOG1",2,0)
3280 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3281"RTN","EDPLOG1",3,0)
3282 ;
3283"RTN","EDPLOG1",4,0)
3284VALID(REC) ; validate the entries passed in REC
3285"RTN","EDPLOG1",5,0)
3286 D XLATE("arrival")
3287"RTN","EDPLOG1",6,0)
3288 D XLATE("bed")
3289"RTN","EDPLOG1",7,0)
3290 D XLATE("acuity")
3291"RTN","EDPLOG1",8,0)
3292 D XLATE("status")
3293"RTN","EDPLOG1",9,0)
3294 D XLATE("provider")
3295"RTN","EDPLOG1",10,0)
3296 D XLATE("nurse")
3297"RTN","EDPLOG1",11,0)
3298 D XLATE("resident")
3299"RTN","EDPLOG1",12,0)
3300 D XLATE("disposition")
3301"RTN","EDPLOG1",13,0)
3302 D XLATE("delay")
3303"RTN","EDPLOG1",14,0)
3304 ;
3305"RTN","EDPLOG1",15,0)
3306 N ERR S ERR=""
3307"RTN","EDPLOG1",16,0)
3308 D ADDTXT(.ERR,$$CHECK("name",230,.04,"Patient Name"))
3309"RTN","EDPLOG1",17,0)
3310 D ADDTXT(.ERR,$$CHECK("ssn",230,.05,"Social Security Number"))
3311"RTN","EDPLOG1",18,0)
3312 D ADDTXT(.ERR,$$CHECK("complaint",230,1.1,"Complaint"))
3313"RTN","EDPLOG1",19,0)
3314 D ADDTXT(.ERR,$$CHECK("compLong",230,2,"Long Complaint"))
3315"RTN","EDPLOG1",20,0)
3316 D ADDTXT(.ERR,$$CHECK("comment",230,3.8,"Comment"))
3317"RTN","EDPLOG1",21,0)
3318 ;
3319"RTN","EDPLOG1",22,0)
3320 N DIAG S DIAG="diagnosis-0"
3321"RTN","EDPLOG1",23,0)
3322 F S DIAG=$O(REC(DIAG)) Q:$E(DIAG,1,10)'="diagnosis-" D
3323"RTN","EDPLOG1",24,0)
3324 . S REC("edpDiagnosis")=$P(REC(DIAG),U,2)
3325"RTN","EDPLOG1",25,0)
3326 . D ADDTXT(ERR,$$CHECK("edpDiagnosis",230.04,.01,"Diagnosis"))
3327"RTN","EDPLOG1",26,0)
3328 Q ERR
3329"RTN","EDPLOG1",27,0)
3330 ;
3331"RTN","EDPLOG1",28,0)
3332CHECK(NAME,FILE,FIELD,MSG) ; return error msg if field is not valid
3333"RTN","EDPLOG1",29,0)
3334 ; called from VALID, assumes REC is defined
3335"RTN","EDPLOG1",30,0)
3336 N VAL,RESULT
3337"RTN","EDPLOG1",31,0)
3338 S VAL=$G(REC(NAME))
3339"RTN","EDPLOG1",32,0)
3340 Q:VAL="" ""
3341"RTN","EDPLOG1",33,0)
3342 D CHK^DIE(FILE,FIELD,"",VAL,.RESULT)
3343"RTN","EDPLOG1",34,0)
3344 Q:RESULT="^" MSG_" is not valid."
3345"RTN","EDPLOG1",35,0)
3346 Q ""
3347"RTN","EDPLOG1",36,0)
3348ADDTXT(X,NEW) ; add new text comma delimited
3349"RTN","EDPLOG1",37,0)
3350 I $L(NEW),$L(X) S X=X_", "_NEW
3351"RTN","EDPLOG1",38,0)
3352 I $L(NEW),'$L(X) S X=NEW
3353"RTN","EDPLOG1",39,0)
3354 Q
3355"RTN","EDPLOG1",40,0)
3356XLATE(NAME) ;
3357"RTN","EDPLOG1",41,0)
3358 Q:'$D(REC(NAME))
3359"RTN","EDPLOG1",42,0)
3360 ;I REC(NAME)=0 S REC(NAME)="" ; store 0 when removing staff
3361"RTN","EDPLOG1",43,0)
3362 I REC(NAME)=-1 S REC(NAME)="@"
3363"RTN","EDPLOG1",44,0)
3364 Q
3365"RTN","EDPLOGA")
33660^21^B7949056
3367"RTN","EDPLOGA",1,0)
3368EDPLOGA ;SLC/KCM - Add Entry to ED Log
3369"RTN","EDPLOGA",2,0)
3370 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3371"RTN","EDPLOGA",3,0)
3372 ;
3373"RTN","EDPLOGA",4,0)
3374 ;TODO: add transaction processing
3375"RTN","EDPLOGA",5,0)
3376 ;
3377"RTN","EDPLOGA",6,0)
3378ADD(NEWPT,AREA,TIME,CHOICES) ; Create a new ED Log record for a patient
3379"RTN","EDPLOGA",7,0)
3380 ; add the new record to the returned XML
3381"RTN","EDPLOGA",8,0)
3382 ; NEWPT = dfn \T name \T dob \T ssn
3383"RTN","EDPLOGA",9,0)
3384 N DFN,NAME,SSN,TZMIN,STATUS,BED,ARR,REC,AMB
3385"RTN","EDPLOGA",10,0)
3386 S AMB="(ambulance en route)"
3387"RTN","EDPLOGA",11,0)
3388 ;
3389"RTN","EDPLOGA",12,0)
3390 ; Set up the patient fields that were passed in
3391"RTN","EDPLOGA",13,0)
3392 D NVPARSE^EDPX(.REC,NEWPT)
3393"RTN","EDPLOGA",14,0)
3394 S DFN=REC("dfn")
3395"RTN","EDPLOGA",15,0)
3396 ;I DFN S REC("name")=$P(^DPT(DFN,0),U,1),REC("ssn")=$P(^DPT(DFN,0),U,9)
3397"RTN","EDPLOGA",16,0)
3398 S NAME=REC("name")
3399"RTN","EDPLOGA",17,0)
3400 S SSN=REC("ssn") S:SSN="*SENSITIVE*" SSN=""
3401"RTN","EDPLOGA",18,0)
3402 ; calculate time zone minutes -- add these to server time to get local time
3403"RTN","EDPLOGA",19,0)
3404 S TZMIN=$$FMDIFF^XLFDT($$NOW^XLFDT,TIME,2)\60
3405"RTN","EDPLOGA",20,0)
3406 I $P($G(^EDPB(231.9,AREA,0)),U,3)-TZMIN>10 D TZSAVE^EDPBPM(AREA,TZMIN)
3407"RTN","EDPLOGA",21,0)
3408 ;
3409"RTN","EDPLOGA",22,0)
3410 ; Add default values to stub entry (should be based on config for area)
3411"RTN","EDPLOGA",23,0)
3412 S BED=$O(^EDPB(231.8,"AC",EDPSITE,AREA,"WAIT",0))
3413"RTN","EDPLOGA",24,0)
3414 I $G(REC("name"))=AMB D
3415"RTN","EDPLOGA",25,0)
3416 . S ARR=$O(^EDPB(233.1,"B","edp.arrival.ambulance",0))
3417"RTN","EDPLOGA",26,0)
3418 . S BED=$O(^EDPB(231.8,"AC",EDPSITE,AREA,"AMBU",0))
3419"RTN","EDPLOGA",27,0)
3420 ;
3421"RTN","EDPLOGA",28,0)
3422 I +DFN,$D(^EDP(230,"AP",EDPSITE,AREA,DFN)) D FAIL^EDPLOG("add",2300002) Q
3423"RTN","EDPLOGA",29,0)
3424 I +SSN,$D(^EDP(230,"AS",EDPSITE,AREA,SSN)) D FAIL^EDPLOG("add",2300002) Q
3425"RTN","EDPLOGA",30,0)
3426 N ERR S ERR=$$VALID^EDPLOG1(.REC) I $L(ERR) D FAIL^EDPLOG("add",ERR) Q
3427"RTN","EDPLOGA",31,0)
3428 S ^EDPB(231.9,AREA,230)=$H ; last update timestamp
3429"RTN","EDPLOGA",32,0)
3430 ;
3431"RTN","EDPLOGA",33,0)
3432 ; Create a current log record
3433"RTN","EDPLOGA",34,0)
3434 N FDA,FDAIEN,DIERR,HIST,HISTIEN,LOGIEN
3435"RTN","EDPLOGA",35,0)
3436 S FDA(230,"+1,",.01)=TIME
3437"RTN","EDPLOGA",36,0)
3438 S FDA(230,"+1,",.02)=EDPSITE
3439"RTN","EDPLOGA",37,0)
3440 S FDA(230,"+1,",.03)=AREA
3441"RTN","EDPLOGA",38,0)
3442 S FDA(230,"+1,",.04)=NAME
3443"RTN","EDPLOGA",39,0)
3444 S FDA(230,"+1,",.05)=SSN
3445"RTN","EDPLOGA",40,0)
3446 S FDA(230,"+1,",.06)=DFN
3447"RTN","EDPLOGA",41,0)
3448 S FDA(230,"+1,",.12)=TZMIN
3449"RTN","EDPLOGA",42,0)
3450 S FDA(230,"+1,",3.4)=BED
3451"RTN","EDPLOGA",43,0)
3452 I $L(SSN) S FDA(230,"+1,",.11)=$E(NAME)_$E(SSN,6,9)
3453"RTN","EDPLOGA",44,0)
3454 I NAME=AMB S FDA(230,"+1,",.11)="(amb)"
3455"RTN","EDPLOGA",45,0)
3456 I NAME'=AMB S FDA(230,"+1,",.08)=TIME
3457"RTN","EDPLOGA",46,0)
3458 I $G(ARR) S FDA(230,"+1,",.1)=ARR
3459"RTN","EDPLOGA",47,0)
3460 M HIST(230.1)=FDA(230)
3461"RTN","EDPLOGA",48,0)
3462 D UPDATE^DIE("","FDA","FDAIEN","ERR")
3463"RTN","EDPLOGA",49,0)
3464 I $D(DIERR) D FAIL^EDPLOG("add",2300004) Q
3465"RTN","EDPLOGA",50,0)
3466 S LOGIEN=FDAIEN(1)
3467"RTN","EDPLOGA",51,0)
3468 ;
3469"RTN","EDPLOGA",52,0)
3470 ; Create the first history entry
3471"RTN","EDPLOGA",53,0)
3472 S HIST(230.1,"+1,",.01)=LOGIEN
3473"RTN","EDPLOGA",54,0)
3474 S HIST(230.1,"+1,",.02)=TIME
3475"RTN","EDPLOGA",55,0)
3476 S HIST(230.1,"+1,",.03)=EDPUSER
3477"RTN","EDPLOGA",56,0)
3478 K HIST(230.1,"+1,",.11)
3479"RTN","EDPLOGA",57,0)
3480 D UPDATE^DIE("","HIST","HISTIEN","ERR")
3481"RTN","EDPLOGA",58,0)
3482 I $D(DIERR) D FAIL^EDPLOG("add",2300004) Q
3483"RTN","EDPLOGA",59,0)
3484 ;
3485"RTN","EDPLOGA",60,0)
3486 ; register DFN at site
3487"RTN","EDPLOGA",61,0)
3488 I +DFN D NEWLOG^EDPMAIL(AREA,LOGIEN,DFN)
3489"RTN","EDPLOGA",62,0)
3490 ;
3491"RTN","EDPLOGA",63,0)
3492 D XML^EDPX("<add status='ok' id='"_FDAIEN(1)_"' />")
3493"RTN","EDPLOGA",64,0)
3494 ;
3495"RTN","EDPLOGA",65,0)
3496 D GET^EDPQLE(FDAIEN(1),CHOICES)
3497"RTN","EDPLOGA",66,0)
3498 Q
3499"RTN","EDPLOGA",67,0)
3500 ;
3501"RTN","EDPLOGA",68,0)
3502DEL(AREA,LOGID) ; Delete Stub Log Entry
3503"RTN","EDPLOGA",69,0)
3504 N I,CNT,DIK,DA
3505"RTN","EDPLOGA",70,0)
3506 S I=0,CNT=0 F S I=$O(^EDP(230.1,"B",LOGID,I)) Q:'I S CNT=CNT+1
3507"RTN","EDPLOGA",71,0)
3508 I $L($P($G(^EDP(230,LOGID,1)),U))!(CNT>1) D Q
3509"RTN","EDPLOGA",72,0)
3510 . D FAIL^EDPLOG("upd","Does not appear to be a stub entry")
3511"RTN","EDPLOGA",73,0)
3512 ;
3513"RTN","EDPLOGA",74,0)
3514 ; Delete initial history entry
3515"RTN","EDPLOGA",75,0)
3516 S DIK="^EDP(230.1,",DA=$O(^EDP(230.1,"B",LOGID,0))
3517"RTN","EDPLOGA",76,0)
3518 I DA D ^DIK
3519"RTN","EDPLOGA",77,0)
3520 ; Delete stub log entry
3521"RTN","EDPLOGA",78,0)
3522 S DIK="^EDP(230,",DA=LOGID
3523"RTN","EDPLOGA",79,0)
3524 D ^DIK
3525"RTN","EDPLOGA",80,0)
3526 ;
3527"RTN","EDPLOGA",81,0)
3528 D XML^EDPX("<upd status='ok' />")
3529"RTN","EDPLOGA",82,0)
3530 Q
3531"RTN","EDPLOGH")
35320^22^B269228
3533"RTN","EDPLOGH",1,0)
3534EDPLOGH ;SLC/KCM - Add History Entry for ED Log
3535"RTN","EDPLOGH",2,0)
3536 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3537"RTN","EDPLOGH",3,0)
3538 ;
3539"RTN","EDPLOGH",4,0)
3540 ;TODO: add transaction processing
3541"RTN","EDPLOGH",5,0)
3542 ;
3543"RTN","EDPLOGH",6,0)
3544SAVE(IEN,TIME,HIST) ; save a new history entry for changed fields
3545"RTN","EDPLOGH",7,0)
3546 Q:$D(HIST)<10
3547"RTN","EDPLOGH",8,0)
3548 ;
3549"RTN","EDPLOGH",9,0)
3550 N HISTIEN,DIERR
3551"RTN","EDPLOGH",10,0)
3552 S HIST(230.1,"+1,",.01)=IEN
3553"RTN","EDPLOGH",11,0)
3554 S HIST(230.1,"+1,",.02)=TIME
3555"RTN","EDPLOGH",12,0)
3556 S HIST(230.1,"+1,",.03)=EDPUSER
3557"RTN","EDPLOGH",13,0)
3558 D UPDATE^DIE("","HIST","HISTIEN","ERR")
3559"RTN","EDPLOGH",14,0)
3560 Q
3561"RTN","EDPMAIL")
35620^23^B8916423
3563"RTN","EDPMAIL",1,0)
3564EDPMAIL ;SLC/KCM - Process incoming mail for posted events
3565"RTN","EDPMAIL",2,0)
3566 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3567"RTN","EDPMAIL",3,0)
3568 ;
3569"RTN","EDPMAIL",4,0)
3570 ; INCOMING
3571"RTN","EDPMAIL",5,0)
3572 ;
3573"RTN","EDPMAIL",6,0)
3574IN ; parse incoming message from facility
3575"RTN","EDPMAIL",7,0)
3576 N I,PARAM,LOG,ORIFN
3577"RTN","EDPMAIL",8,0)
3578 F I=1:1 X XMREC Q:XMER<0 I XMRG?1.E1"="1.E D
3579"RTN","EDPMAIL",9,0)
3580 . S PARAM($P(XMRG,"="))=$P(XMRG,"=",2,99)
3581"RTN","EDPMAIL",10,0)
3582 S LOG=$$VAL("id"),ORIFN=$$VAL("orifn")
3583"RTN","EDPMAIL",11,0)
3584 I $$VAL("command")="newOrder" D NEW
3585"RTN","EDPMAIL",12,0)
3586 I $$VAL("command")="updateOrder" D UPD
3587"RTN","EDPMAIL",13,0)
3588 I $$VAL("command")="deleteOrder" D DEL
3589"RTN","EDPMAIL",14,0)
3590 I $$VAL("command")="verifyOrder" D VER
3591"RTN","EDPMAIL",15,0)
3592 I $$VAL("command")="completeOrder" D COMP
3593"RTN","EDPMAIL",16,0)
3594 I $$VAL("command")="patientCheckIn" D CHKIN
3595"RTN","EDPMAIL",17,0)
3596 I $$VAL("command")="sendDomain" D SETDOM
3597"RTN","EDPMAIL",18,0)
3598 I $$VAL("command")="convertVisit" D EN1^EDPCONV(.PARAM)
3599"RTN","EDPMAIL",19,0)
3600 Q
3601"RTN","EDPMAIL",20,0)
3602 ;
3603"RTN","EDPMAIL",21,0)
3604NEW ; add new order
3605"RTN","EDPMAIL",22,0)
3606 Q:'LOG Q:'ORIFN
3607"RTN","EDPMAIL",23,0)
3608 N X,Y,DIC,DA
3609"RTN","EDPMAIL",24,0)
3610 S DIC="^EDP(230,"_LOG_",8,",DIC(0)="LZ",DA(1)=LOG,X=+ORIFN
3611"RTN","EDPMAIL",25,0)
3612 S DIC("DR")=".02///"_$$VAL("pkg")_";.03///N;.05///"_$$VAL("release")
3613"RTN","EDPMAIL",26,0)
3614 S:$$VAL("stat") DIC("DR")=DIC("DR")_";.04///1"
3615"RTN","EDPMAIL",27,0)
3616 D FILE^DICN
3617"RTN","EDPMAIL",28,0)
3618 Q
3619"RTN","EDPMAIL",29,0)
3620UPD ; update order
3621"RTN","EDPMAIL",30,0)
3622 Q:'LOG Q:'ORIFN Q:'$L($$VAL("sts"))
3623"RTN","EDPMAIL",31,0)
3624 N IEN S IEN=$$FIND Q:IEN<1
3625"RTN","EDPMAIL",32,0)
3626 I $D(^EDP(230,LOG,8,+DA,0)) S $P(^(0),U,3)=$$VAL("sts")
3627"RTN","EDPMAIL",33,0)
3628 Q
3629"RTN","EDPMAIL",34,0)
3630DEL ; delete order
3631"RTN","EDPMAIL",35,0)
3632 Q:'LOG Q:'ORIFN
3633"RTN","EDPMAIL",36,0)
3634 N DIK,DA
3635"RTN","EDPMAIL",37,0)
3636 S DA=$$FIND Q:DA<1
3637"RTN","EDPMAIL",38,0)
3638 S DIK="^EDP(230,"_LOG_",8,",DA(1)=LOG
3639"RTN","EDPMAIL",39,0)
3640 D ^DIK
3641"RTN","EDPMAIL",40,0)
3642 Q
3643"RTN","EDPMAIL",41,0)
3644VER ; verify order
3645"RTN","EDPMAIL",42,0)
3646 Q:'LOG Q:'ORIFN
3647"RTN","EDPMAIL",43,0)
3648 N IEN S IEN=$$FIND Q:IEN<1
3649"RTN","EDPMAIL",44,0)
3650 I $P($G(^EDP(230,LOG,8,IEN,0)),U,3)'="C" S $P(^(0),U,3)="A"
3651"RTN","EDPMAIL",45,0)
3652 Q
3653"RTN","EDPMAIL",46,0)
3654COMP ; complete order
3655"RTN","EDPMAIL",47,0)
3656 Q:'LOG Q:'ORIFN
3657"RTN","EDPMAIL",48,0)
3658 N IEN S IEN=$$FIND Q:IEN<1
3659"RTN","EDPMAIL",49,0)
3660 S $P(^(0),U,3)="C"
3661"RTN","EDPMAIL",50,0)
3662 Q
3663"RTN","EDPMAIL",51,0)
3664 ;
3665"RTN","EDPMAIL",52,0)
3666FIND() ; -- return ien of ORIFN in multiple
3667"RTN","EDPMAIL",53,0)
3668 N Y S Y=+$O(^EDP(230,LOG,8,"B",+ORIFN,0))
3669"RTN","EDPMAIL",54,0)
3670 Q Y
3671"RTN","EDPMAIL",55,0)
3672 ;
3673"RTN","EDPMAIL",56,0)
3674VAL(X) ; -- return parameter value or null if undefined
3675"RTN","EDPMAIL",57,0)
3676 Q $G(PARAM(X))
3677"RTN","EDPMAIL",58,0)
3678 ;
3679"RTN","EDPMAIL",59,0)
3680CHKIN ; check in a patient
3681"RTN","EDPMAIL",60,0)
3682 Q:'$$VAL("dfn") Q:'$$VAL("ssn") Q:'$L($$VAL("ptNm")) Q:'$L($$VAL("site"))
3683"RTN","EDPMAIL",61,0)
3684 N NEWPT
3685"RTN","EDPMAIL",62,0)
3686 S NEWPT=$$VAL("dfn")_$C(9)_$$VAL("ptNm")_$C(9)_$$VAL("dob")_$C(9)_$$VAL("ssn")
3687"RTN","EDPMAIL",63,0)
3688 N AREA
3689"RTN","EDPMAIL",64,0)
3690 S AREA=$O(^EDPB(231.9,"C",$$VAL("site"),0)) Q:'AREA
3691"RTN","EDPMAIL",65,0)
3692 N EDPXML,EDPSITE
3693"RTN","EDPMAIL",66,0)
3694 S EDPSITE=$$VAL("site")
3695"RTN","EDPMAIL",67,0)
3696 D ADD^EDPLOGA(NEWPT,AREA,$$VAL("time"),0)
3697"RTN","EDPMAIL",68,0)
3698 Q
3699"RTN","EDPMAIL",69,0)
3700SETDOM ; set the mail domain for a site
3701"RTN","EDPMAIL",70,0)
3702 N EDPSITE,EDPXML,AREA
3703"RTN","EDPMAIL",71,0)
3704 S EDPSITE=$$VAL("station")
3705"RTN","EDPMAIL",72,0)
3706 D DFLTAREA^EDPQAR
3707"RTN","EDPMAIL",73,0)
3708 S AREA=$O(^EDPB(231.9,"C",EDPSITE,0))
3709"RTN","EDPMAIL",74,0)
3710 I AREA D
3711"RTN","EDPMAIL",75,0)
3712 . N FDA,FDAIEN,DIERR,ERR
3713"RTN","EDPMAIL",76,0)
3714 . S FDA(231.9,AREA_",",.04)=$$VAL("domain")
3715"RTN","EDPMAIL",77,0)
3716 . D FILE^DIE("","FDA","ERR")
3717"RTN","EDPMAIL",78,0)
3718 Q
3719"RTN","EDPMAIL",79,0)
3720 ;
3721"RTN","EDPMAIL",80,0)
3722 ; OUTGOING
3723"RTN","EDPMAIL",81,0)
3724 ;
3725"RTN","EDPMAIL",82,0)
3726NEWLOG(AREA,LOG,DFN) ; send registration message for new log entry
3727"RTN","EDPMAIL",83,0)
3728 D SEND(AREA,"registerLog:"_LOG_":"_DFN)
3729"RTN","EDPMAIL",84,0)
3730 Q
3731"RTN","EDPMAIL",85,0)
3732DELLOG(AREA,LOG) ; send delete message for removed log entry
3733"RTN","EDPMAIL",86,0)
3734 D SEND(AREA,"removeLog:"_LOG)
3735"RTN","EDPMAIL",87,0)
3736 Q
3737"RTN","EDPMAIL",88,0)
3738SEND(AREA,MSG) ; Send message to local facility
3739"RTN","EDPMAIL",89,0)
3740 N DOMAIN S DOMAIN=$P(^EDPB(231.9,AREA,0),U,4)
3741"RTN","EDPMAIL",90,0)
3742 Q:'$L(DOMAIN)
3743"RTN","EDPMAIL",91,0)
3744 ;
3745"RTN","EDPMAIL",92,0)
3746 N XMSUB,XMY,XMTEXT,EDPMSG
3747"RTN","EDPMAIL",93,0)
3748 S XMSUB="EDIS Registration Event"
3749"RTN","EDPMAIL",94,0)
3750 S EDPMSG(1)=MSG
3751"RTN","EDPMAIL",95,0)
3752 S XMTEXT="EDPMSG("
3753"RTN","EDPMAIL",96,0)
3754 S XMY("S.EDPFLOGLISTENER@"_DOMAIN)=""
3755"RTN","EDPMAIL",97,0)
3756 D ^XMD
3757"RTN","EDPMAIL",98,0)
3758 Q
3759"RTN","EDPQAR")
37600^24^B1525958
3761"RTN","EDPQAR",1,0)
3762EDPQAR ;SLC/KCM - Log Area Information
3763"RTN","EDPQAR",2,0)
3764 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3765"RTN","EDPQAR",3,0)
3766 ;
3767"RTN","EDPQAR",4,0)
3768PARAM(AREA) ; return parameters for area
3769"RTN","EDPQAR",5,0)
3770 N X,X1
3771"RTN","EDPQAR",6,0)
3772 S X1=$G(^EDPB(231.9,AREA,1))
3773"RTN","EDPQAR",7,0)
3774 S X("reqDiag")=+$P(X1,U,1)
3775"RTN","EDPQAR",8,0)
3776 S X("codedDiag")=+$P(X1,U,2)
3777"RTN","EDPQAR",9,0)
3778 S X("reqDisp")=+$P(X1,U,3)
3779"RTN","EDPQAR",10,0)
3780 S X("reqDelay")=+$P(X1,U,4)
3781"RTN","EDPQAR",11,0)
3782 S X("minDelay")=+$P(X1,U,5)
3783"RTN","EDPQAR",12,0)
3784 S X("residents")=+$P(X1,U,8)
3785"RTN","EDPQAR",13,0)
3786 D XML^EDPX($$XMLA^EDPX("params",.X))
3787"RTN","EDPQAR",14,0)
3788 Q
3789"RTN","EDPQAR",15,0)
3790DFLTAREA ; return the default area for a site
3791"RTN","EDPQAR",16,0)
3792 N X,DFLT
3793"RTN","EDPQAR",17,0)
3794 S DFLT=$O(^EDPB(231.9,"C",EDPSITE,0))
3795"RTN","EDPQAR",18,0)
3796 I 'DFLT D ADDAREA S DFLT=$O(^EDPB(231.9,"C",EDPSITE,0))
3797"RTN","EDPQAR",19,0)
3798 S X("area")=DFLT
3799"RTN","EDPQAR",20,0)
3800 I X("area") S X("areaNm")=$P(^EDPB(231.9,X("area"),0),U)
3801"RTN","EDPQAR",21,0)
3802 D XML^EDPX($$XMLA^EDPX("user",.X))
3803"RTN","EDPQAR",22,0)
3804 Q
3805"RTN","EDPQAR",23,0)
3806ADDAREA ; add area if none is defined for this site
3807"RTN","EDPQAR",24,0)
3808 N FDA,FDAIEN,DIERR,ERR
3809"RTN","EDPQAR",25,0)
3810 S FDA(231.9,"+1,",.01)="Emergency Department"
3811"RTN","EDPQAR",26,0)
3812 S FDA(231.9,"+1,",.02)=EDPSITE
3813"RTN","EDPQAR",27,0)
3814 D UPDATE^DIE("","FDA","FDAIEN","ERR")
3815"RTN","EDPQAR",28,0)
3816 Q:$D(DIERR)
3817"RTN","EDPQAR",29,0)
3818 ;
3819"RTN","EDPQAR",30,0)
3820 N AREA S AREA=FDAIEN(1)
3821"RTN","EDPQAR",31,0)
3822 D RESET^EDPBRS(AREA)
3823"RTN","EDPQAR",32,0)
3824 Q
3825"RTN","EDPQDB")
38260^25^B23470314
3827"RTN","EDPQDB",1,0)
3828EDPQDB ;SLC/KCM - Display Active Log Entries
3829"RTN","EDPQDB",2,0)
3830 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
3831"RTN","EDPQDB",3,0)
3832 ;
3833"RTN","EDPQDB",4,0)
3834NXT() ; Increment to the next line
3835"RTN","EDPQDB",5,0)
3836 S XML=XML+1
3837"RTN","EDPQDB",6,0)
3838 Q XML
3839"RTN","EDPQDB",7,0)
3840 ;
3841"RTN","EDPQDB",8,0)
3842GET(AREA,BOARD,TOKEN) ; Get display board contents
3843"RTN","EDPQDB",9,0)
3844 I $G(^EDPB(231.9,AREA,230))=TOKEN D XML^EDPX("<rows status='same' />") Q
3845"RTN","EDPQDB",10,0)
3846 ;
3847"RTN","EDPQDB",11,0)
3848 N EDPTIME S EDPTIME=$$FMADD^XLFDT($$NOW^XLFDT,0,0,+$P(^EDPB(231.9,AREA,0),U,3),0)
3849"RTN","EDPQDB",12,0)
3850 N SEQ,BED,LOG,BEDS,DWHEN,DUP,ACU
3851"RTN","EDPQDB",13,0)
3852 D XML^EDPX("<rows status='new' >")
3853"RTN","EDPQDB",14,0)
3854 ;
3855"RTN","EDPQDB",15,0)
3856 ; Get a list of all the beds in sequence for this area
3857"RTN","EDPQDB",16,0)
3858 S BOARD=$G(BOARD)
3859"RTN","EDPQDB",17,0)
3860 S BED=0 F S BED=$O(^EDPB(231.8,"C",EDPSITE,AREA,BED)) Q:'BED D
3861"RTN","EDPQDB",18,0)
3862 . S SEQ=$P(^EDPB(231.8,BED,0),U,5) S:'SEQ SEQ=99999
3863"RTN","EDPQDB",19,0)
3864 . S BEDS(SEQ,BED)="",BEDS("B",BED,SEQ)=""
3865"RTN","EDPQDB",20,0)
3866 ;
3867"RTN","EDPQDB",21,0)
3868 ; Insert the active log entries into the correct sequence for the beds
3869"RTN","EDPQDB",22,0)
3870 S BED=0 F S BED=$O(^EDP(230,"AL",EDPSITE,AREA,BED)) Q:'BED D
3871"RTN","EDPQDB",23,0)
3872 . S LOG=0 F S LOG=$O(^EDP(230,"AL",EDPSITE,AREA,BED,LOG)) Q:'LOG D
3873"RTN","EDPQDB",24,0)
3874 . . I '$D(BEDS("B",BED)) S BEDS(99999,BED)="",BEDS("B",BED,99999)=""
3875"RTN","EDPQDB",25,0)
3876 . . S SEQ=$O(BEDS("B",BED,0))
3877"RTN","EDPQDB",26,0)
3878 . . S ACU=$P($G(^EDP(230,LOG,3)),U,3) S:'ACU ACU=99
3879"RTN","EDPQDB",27,0)
3880 . . S BEDS(SEQ,BED,ACU,LOG)=""
3881"RTN","EDPQDB",28,0)
3882 ;
3883"RTN","EDPQDB",29,0)
3884 ; Loop thru the sequence of beds to create display board rows
3885"RTN","EDPQDB",30,0)
3886 D BLDDUP^EDPQLP(.DUP,AREA)
3887"RTN","EDPQDB",31,0)
3888 S SEQ=0 F S SEQ=$O(BEDS(SEQ)) Q:'SEQ D
3889"RTN","EDPQDB",32,0)
3890 . S BED=0 F S BED=$O(BEDS(SEQ,BED)) Q:'BED D
3891"RTN","EDPQDB",33,0)
3892 . . I $L(BOARD),($P(^EDPB(231.8,BED,0),U,11)'=BOARD) Q
3893"RTN","EDPQDB",34,0)
3894 . . S DWHEN=$P(^EDPB(231.8,BED,0),U,7)
3895"RTN","EDPQDB",35,0)
3896 . . ; never display DWHEN=2
3897"RTN","EDPQDB",36,0)
3898 . . Q:DWHEN=2
3899"RTN","EDPQDB",37,0)
3900 . . ; always display DWHEN=1
3901"RTN","EDPQDB",38,0)
3902 . . I ($D(BEDS(SEQ,BED))<10)&(DWHEN=1) D EMPTY(BED) Q
3903"RTN","EDPQDB",39,0)
3904 . . ; display if occupied DWHEN=0
3905"RTN","EDPQDB",40,0)
3906 . . S ACU=0 F S ACU=$O(BEDS(SEQ,BED,ACU)) Q:'ACU D
3907"RTN","EDPQDB",41,0)
3908 . . . S LOG=0 F S LOG=$O(BEDS(SEQ,BED,ACU,LOG)) Q:'LOG D OCCUPIED(LOG,.DUP)
3909"RTN","EDPQDB",42,0)
3910 ;
3911"RTN","EDPQDB",43,0)
3912 D XML^EDPX("</rows>")
3913"RTN","EDPQDB",44,0)
3914 Q
3915"RTN","EDPQDB",45,0)
3916EMPTY(BED) ; add row if unoccupied be should show
3917"RTN","EDPQDB",46,0)
3918 N ROW
3919"RTN","EDPQDB",47,0)
3920 S ROW("bed")=BED
3921"RTN","EDPQDB",48,0)
3922 S ROW("bedNm")=$P(^EDPB(231.8,BED,0),U,6)
3923"RTN","EDPQDB",49,0)
3924 D XML^EDPX($$XMLA^EDPX("row",.ROW))
3925"RTN","EDPQDB",50,0)
3926 Q
3927"RTN","EDPQDB",51,0)
3928OCCUPIED(LOG,DUP) ; add log entry row
3929"RTN","EDPQDB",52,0)
3930 N X0,X1,X3,ROW
3931"RTN","EDPQDB",53,0)
3932 S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3))
3933"RTN","EDPQDB",54,0)
3934 S ROW("id")=LOG
3935"RTN","EDPQDB",55,0)
3936 S ROW("bed")=BED
3937"RTN","EDPQDB",56,0)
3938 S ROW("bedNm")=$P(^EDPB(231.8,BED,0),U,6)
3939"RTN","EDPQDB",57,0)
3940 S ROW("ptNm")=$P($P(X0,U,4),",")
3941"RTN","EDPQDB",58,0)
3942 S ROW("last4")=$P(X0,U,11)
3943"RTN","EDPQDB",59,0)
3944 S ROW("complaint")=$P(X1,U,1)
3945"RTN","EDPQDB",60,0)
3946 S ROW("md")=$P(X3,U,5)
3947"RTN","EDPQDB",61,0)
3948 S ROW("mdNm")=$$INITIAL($P(X3,U,5))
3949"RTN","EDPQDB",62,0)
3950 S ROW("rn")=$P(X3,U,6)
3951"RTN","EDPQDB",63,0)
3952 S ROW("rnNm")=$$INITIAL($P(X3,U,6))
3953"RTN","EDPQDB",64,0)
3954 S ROW("res")=$P(X3,U,7)
3955"RTN","EDPQDB",65,0)
3956 S ROW("resNm")=$$INITIAL($P(X3,U,7))
3957"RTN","EDPQDB",66,0)
3958 S ROW("status")=$P(X3,U,2)
3959"RTN","EDPQDB",67,0)
3960 S ROW("statusNm")=$$CAB($P(X3,U,2))
3961"RTN","EDPQDB",68,0)
3962 S ROW("acuity")=$P(X3,U,3)
3963"RTN","EDPQDB",69,0)
3964 S ROW("acuityNm")=$$CAB($P(X3,U,3))
3965"RTN","EDPQDB",70,0)
3966 S ROW("emins")=$$MIN($P(X0,U,8))
3967"RTN","EDPQDB",71,0)
3968 S ROW("lmins")=$$LMIN(LOG)
3969"RTN","EDPQDB",72,0)
3970 S ROW("similar")=$$SIM^EDPQLP(ROW("ptNm"),ROW("last4"),.DUP)
3971"RTN","EDPQDB",73,0)
3972 ;
3973"RTN","EDPQDB",74,0)
3974 N STS D ORDSTS(LOG,.STS)
3975"RTN","EDPQDB",75,0)
3976 S ROW("lab")=STS("LP")_"/"_STS("LC")
3977"RTN","EDPQDB",76,0)
3978 S ROW("labUrg")=STS("LS")
3979"RTN","EDPQDB",77,0)
3980 S ROW("labMin")=STS("LO")
3981"RTN","EDPQDB",78,0)
3982 S ROW("rad")=STS("RP")_"/"_STS("RC")
3983"RTN","EDPQDB",79,0)
3984 S ROW("radUrg")=STS("RS")
3985"RTN","EDPQDB",80,0)
3986 S ROW("radMin")=STS("RO")
3987"RTN","EDPQDB",81,0)
3988 S ROW("ordNew")=STS("ON")
3989"RTN","EDPQDB",82,0)
3990 S ROW("ordMin")=STS("OO")
3991"RTN","EDPQDB",83,0)
3992 D XML^EDPX($$XMLA^EDPX("row",.ROW))
3993"RTN","EDPQDB",84,0)
3994 Q
3995"RTN","EDPQDB",85,0)
3996INITIAL(LOCID) ; Return initials
3997"RTN","EDPQDB",86,0)
3998 Q:'LOCID ""
3999"RTN","EDPQDB",87,0)
4000 N IEN S IEN=$O(^EDPB(231.7,"AD",EDPSITE,AREA,LOCID,0))
4001"RTN","EDPQDB",88,0)
4002 Q:IEN $P(^EDPB(231.7,IEN,0),U,7)
4003"RTN","EDPQDB",89,0)
4004 Q ""
4005"RTN","EDPQDB",90,0)
4006CAB(IEN) ; Return code abbreviation
4007"RTN","EDPQDB",91,0)
4008 Q:IEN $P(^EDPB(233.1,IEN,0),U,3)
4009"RTN","EDPQDB",92,0)
4010 Q ""
4011"RTN","EDPQDB",93,0)
4012MIN(START) ; Return elapse time
4013"RTN","EDPQDB",94,0)
4014 I 'START Q ""
4015"RTN","EDPQDB",95,0)
4016 Q $$FMDIFF^XLFDT(EDPTIME,START,2)\60
4017"RTN","EDPQDB",96,0)
4018 ;
4019"RTN","EDPQDB",97,0)
4020LMIN(LOG) ; Return time at location
4021"RTN","EDPQDB",98,0)
4022 N IEN,TS,TM S TM=0
4023"RTN","EDPQDB",99,0)
4024 S TS=0 F S TS=$O(^EDP(230.1,"ADR",LOG,TS)) Q:'TS D Q:TM
4025"RTN","EDPQDB",100,0)
4026 . S IEN=0 F S IEN=$O(^EDP(230.1,"ADR",LOG,TS,IEN)) Q:'IEN D Q:TM
4027"RTN","EDPQDB",101,0)
4028 . . I +$P($G(^EDP(230.1,IEN,3)),U,4) S TM=$P($G(^EDP(230.1,IEN,0)),U,2)
4029"RTN","EDPQDB",102,0)
4030 I TM Q $$FMDIFF^XLFDT(EDPTIME,TM,2)\60
4031"RTN","EDPQDB",103,0)
4032 Q 0
4033"RTN","EDPQDB",104,0)
4034 ;
4035"RTN","EDPQDB",105,0)
4036ORDSTS(LOG,STS) ; compute statuses of orders
4037"RTN","EDPQDB",106,0)
4038 N IEN,X0
4039"RTN","EDPQDB",107,0)
4040 S STS("OO")=9999999,STS("ON")=0 ; oldest order, new orders
4041"RTN","EDPQDB",108,0)
4042 S STS("LP")=0,STS("LO")=9999999,STS("LS")=0,STS("LC")=0
4043"RTN","EDPQDB",109,0)
4044 S STS("RP")=0,STS("RO")=9999999,STS("RS")=0,STS("RC")=0
4045"RTN","EDPQDB",110,0)
4046 S IEN=0 F S IEN=$O(^EDP(230,LOG,8,IEN)) Q:'IEN D
4047"RTN","EDPQDB",111,0)
4048 . S X0=^EDP(230,LOG,8,IEN,0)
4049"RTN","EDPQDB",112,0)
4050 . I ($P(X0,U,3)="N")!($P(X0,U,3)="A") D
4051"RTN","EDPQDB",113,0)
4052 . . I $P(X0,U,5)<STS("OO") S STS("OO")=$P(X0,U,5) ; oldest order
4053"RTN","EDPQDB",114,0)
4054 . . I $P(X0,U,2)="L" D
4055"RTN","EDPQDB",115,0)
4056 . . . S STS("LP")=STS("LP")+1 ; pending labs
4057"RTN","EDPQDB",116,0)
4058 . . . I $P(X0,U,5)<STS("LO") S STS("LO")=$P(X0,U,5) ; oldest lab
4059"RTN","EDPQDB",117,0)
4060 . . . I $P(X0,U,4) S STS("LS")=1 ; stat lab
4061"RTN","EDPQDB",118,0)
4062 . . I $P(X0,U,2)="R" D
4063"RTN","EDPQDB",119,0)
4064 . . . S STS("RP")=STS("RP")+1 ; pending radiology
4065"RTN","EDPQDB",120,0)
4066 . . . I $P(X0,U,5)<STS("RO") S STS("RO")=$P(X0,U,5) ; oldest radiology
4067"RTN","EDPQDB",121,0)
4068 . . . I $P(X0,U,4) S STS("RS")=1 ; stat radiology
4069"RTN","EDPQDB",122,0)
4070 . I $P(X0,U,3)="N" S STS("ON")=STS("ON")+1
4071"RTN","EDPQDB",123,0)
4072 . I $P(X0,U,3)="C" D
4073"RTN","EDPQDB",124,0)
4074 . . I $P(X0,U,2)="L" S STS("LC")=STS("LC")+1 ; completed labs
4075"RTN","EDPQDB",125,0)
4076 . . I $P(X0,U,2)="R" S STS("RC")=STS("RC")+1 ; completed radiology
4077"RTN","EDPQDB",126,0)
4078 S:STS("OO")=9999999 STS("OO")=0
4079"RTN","EDPQDB",127,0)
4080 S:STS("LO")=9999999 STS("LO")=0
4081"RTN","EDPQDB",128,0)
4082 S:STS("RO")=9999999 STS("RO")=0
4083"RTN","EDPQDB",129,0)
4084 Q
4085"RTN","EDPQDBS")
40860^26^B2926745
4087"RTN","EDPQDBS",1,0)
4088EDPQDBS ;SLC/KCM - Display Board Specs
4089"RTN","EDPQDBS",2,0)
4090 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
4091"RTN","EDPQDBS",3,0)
4092 ;
4093"RTN","EDPQDBS",4,0)
4094GET(AREA) ; Get Display Board Specs
4095"RTN","EDPQDBS",5,0)
4096 N I S I=0
4097"RTN","EDPQDBS",6,0)
4098 F S I=$O(^EDPB(231.9,AREA,2,I)) Q:'I D XML^EDPX(^EDPB(231.9,AREA,2,I,0))
4099"RTN","EDPQDBS",7,0)
4100 ;
4101"RTN","EDPQDBS",8,0)
4102 D XML^EDPX("<colorSpec>")
4103"RTN","EDPQDBS",9,0)
4104 D CLRBED(AREA)
4105"RTN","EDPQDBS",10,0)
4106 D CLRSTAFF(AREA,"md","P")
4107"RTN","EDPQDBS",11,0)
4108 D CLRSTAFF(AREA,"res","R")
4109"RTN","EDPQDBS",12,0)
4110 D CLRSTAFF(AREA,"rn","N")
4111"RTN","EDPQDBS",13,0)
4112 N I S I=0
4113"RTN","EDPQDBS",14,0)
4114 F S I=$O(^EDPB(231.9,AREA,3,I)) Q:'I D XML^EDPX(^EDPB(231.9,AREA,3,I,0))
4115"RTN","EDPQDBS",15,0)
4116 D XML^EDPX("</colorSpec>")
4117"RTN","EDPQDBS",16,0)
4118 Q
4119"RTN","EDPQDBS",17,0)
4120CLRBED(AREA) ; add bed colors
4121"RTN","EDPQDBS",18,0)
4122 D XML^EDPX("<colors id='bed' type='bed' >")
4123"RTN","EDPQDBS",19,0)
4124 N BED
4125"RTN","EDPQDBS",20,0)
4126 S BED=0 F S BED=$O(^EDPB(231.8,"C",EDPSITE,AREA,BED)) Q:'BED D
4127"RTN","EDPQDBS",21,0)
4128 . S X0=^EDPB(231.8,BED,0)
4129"RTN","EDPQDBS",22,0)
4130 . I $P(X0,U,12)="" Q
4131"RTN","EDPQDBS",23,0)
4132 . N X
4133"RTN","EDPQDBS",24,0)
4134 . S X("att")="@bed"
4135"RTN","EDPQDBS",25,0)
4136 . S X("clr")=$P(X0,U,12)
4137"RTN","EDPQDBS",26,0)
4138 . S X("val")=BED
4139"RTN","EDPQDBS",27,0)
4140 . D XML^EDPX($$XMLA^EDPX("map",.X))
4141"RTN","EDPQDBS",28,0)
4142 D XML^EDPX("</colors>")
4143"RTN","EDPQDBS",29,0)
4144 Q
4145"RTN","EDPQDBS",30,0)
4146CLRSTAFF(AREA,ROLEID,ROLE) ; add staff colors
4147"RTN","EDPQDBS",31,0)
4148 D XML^EDPX("<colors id='"_ROLEID_"' type='staff' >")
4149"RTN","EDPQDBS",32,0)
4150 N IEN
4151"RTN","EDPQDBS",33,0)
4152 S IEN="" F S IEN=$O(^EDPB(231.7,"AC",EDPSITE,AREA,ROLE,IEN)) Q:'IEN D
4153"RTN","EDPQDBS",34,0)
4154 . S X0=^EDPB(231.7,IEN,0) Q:'$P(X0,U,8)
4155"RTN","EDPQDBS",35,0)
4156 . N X
4157"RTN","EDPQDBS",36,0)
4158 . S X("att")=$S(ROLE="P":"@md",ROLE="N":"@rn",ROLE="R":"@res",1:"nop")
4159"RTN","EDPQDBS",37,0)
4160 . S X("clr")=$P(X0,U,8)
4161"RTN","EDPQDBS",38,0)
4162 . S X("val")=$P(X0,U,5)
4163"RTN","EDPQDBS",39,0)
4164 . D XML^EDPX($$XMLA^EDPX("map",.X))
4165"RTN","EDPQDBS",40,0)
4166 D XML^EDPX("</colors>")
4167"RTN","EDPQDBS",41,0)
4168 Q
4169"RTN","EDPQLE")
41700^27^B11635607
4171"RTN","EDPQLE",1,0)
4172EDPQLE ;SLC/KCM - Retrieve Log Entry
4173"RTN","EDPQLE",2,0)
4174 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
4175"RTN","EDPQLE",3,0)
4176 ;
4177"RTN","EDPQLE",4,0)
4178GET(LOG,CHOICES) ; Get a log entry by request
4179"RTN","EDPQLE",5,0)
4180 N CURBED,CURVAL,PERSON
4181"RTN","EDPQLE",6,0)
4182 S AREA=$P(^EDP(230,LOG,0),U,3)
4183"RTN","EDPQLE",7,0)
4184 N EDPTIME S EDPTIME=$$FMADD^XLFDT($$NOW^XLFDT,0,0,+$P(^EDPB(231.9,AREA,0),U,3),0)
4185"RTN","EDPQLE",8,0)
4186 D LOG(LOG)
4187"RTN","EDPQLE",9,0)
4188 D XML^EDPX("<choices>")
4189"RTN","EDPQLE",10,0)
4190 D BEDS,PERSONS
4191"RTN","EDPQLE",11,0)
4192 I $G(CHOICES) D CHOICES^EDPQLE1(AREA)
4193"RTN","EDPQLE",12,0)
4194 D XML^EDPX("</choices>")
4195"RTN","EDPQLE",13,0)
4196 Q
4197"RTN","EDPQLE",14,0)
4198LOG(LOG) ; return the log entry as XML
4199"RTN","EDPQLE",15,0)
4200 N X,X0,X1,X3
4201"RTN","EDPQLE",16,0)
4202 S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3))
4203"RTN","EDPQLE",17,0)
4204 S X("id")=LOG
4205"RTN","EDPQLE",18,0)
4206 S X("site")=$P(X0,U,2)
4207"RTN","EDPQLE",19,0)
4208 S X("area")=$P(X0,U,3)
4209"RTN","EDPQLE",20,0)
4210 S X("name")=$P(X0,U,4)
4211"RTN","EDPQLE",21,0)
4212 S X("ssn")=$P(X0,U,5)
4213"RTN","EDPQLE",22,0)
4214 S X("dfn")=$P(X0,U,6)
4215"RTN","EDPQLE",23,0)
4216 S X("dob")=$$DOB($P(X0,U,6))
4217"RTN","EDPQLE",24,0)
4218 S X("inTS")=$P(X0,U,8)
4219"RTN","EDPQLE",25,0)
4220 S X("outTS")=$P(X0,U,9)
4221"RTN","EDPQLE",26,0)
4222 S X("arrival")=$P(X0,U,10)
4223"RTN","EDPQLE",27,0)
4224 S X("complaint")=$P(X1,U,1)
4225"RTN","EDPQLE",28,0)
4226 S X("compLong")=$G(^EDP(230,LOG,2))
4227"RTN","EDPQLE",29,0)
4228 S X("status")=$P(X3,U,2)
4229"RTN","EDPQLE",30,0)
4230 S X("acuity")=$P(X3,U,3)
4231"RTN","EDPQLE",31,0)
4232 S X("bed")=$P(X3,U,4)
4233"RTN","EDPQLE",32,0)
4234 S X("md")=$P(X3,U,5),PERSON("provider")=X("md")
4235"RTN","EDPQLE",33,0)
4236 S X("nurse")=$P(X3,U,6),PERSON("nurse")=X("nurse")
4237"RTN","EDPQLE",34,0)
4238 S X("res")=$P(X3,U,7),PERSON("resident")=X("res")
4239"RTN","EDPQLE",35,0)
4240 S X("comment")=$P(X3,U,8)
4241"RTN","EDPQLE",36,0)
4242 S X("delay")=$P(X1,U,5)
4243"RTN","EDPQLE",37,0)
4244 S X("disposition")=$P(X1,U,2)
4245"RTN","EDPQLE",38,0)
4246 S X("required")=$$REQ(.X)
4247"RTN","EDPQLE",39,0)
4248 S CURBED=X("bed") ; for later use by BEDS
4249"RTN","EDPQLE",40,0)
4250 ;
4251"RTN","EDPQLE",41,0)
4252 D XML^EDPX("<logEntry>")
4253"RTN","EDPQLE",42,0)
4254 D XMLE^EDPX(.X)
4255"RTN","EDPQLE",43,0)
4256 ;
4257"RTN","EDPQLE",44,0)
4258 N DIAG,CODE,LABEL,X4
4259"RTN","EDPQLE",45,0)
4260 S DIAG=0 F S DIAG=$O(^EDP(230,LOG,4,DIAG)) Q:'DIAG D
4261"RTN","EDPQLE",46,0)
4262 . S X4=^EDP(230,LOG,4,DIAG,0),X4("code")=$P(X4,U,2),X4("label")=$P(X4,U,1)
4263"RTN","EDPQLE",47,0)
4264 . D XML^EDPX($$XMLA^EDPX("diagnosis",.X4))
4265"RTN","EDPQLE",48,0)
4266 ;
4267"RTN","EDPQLE",49,0)
4268 D XML^EDPX("</logEntry>")
4269"RTN","EDPQLE",50,0)
4270 Q
4271"RTN","EDPQLE",51,0)
4272DOB(DFN) ; Return date of birth (external)
4273"RTN","EDPQLE",52,0)
4274 I 'DFN Q ""
4275"RTN","EDPQLE",53,0)
4276 N VA,VADM,X,Y
4277"RTN","EDPQLE",54,0)
4278 D DEM^VADPT
4279"RTN","EDPQLE",55,0)
4280 Q $P(VADM(3),U,2)
4281"RTN","EDPQLE",56,0)
4282 ;
4283"RTN","EDPQLE",57,0)
4284BEDS ; add a list of available room/beds for this area
4285"RTN","EDPQLE",58,0)
4286 D XML^EDPX("<bedList>")
4287"RTN","EDPQLE",59,0)
4288 ;D XML^EDPX($$XMLS^EDPX("bed",0," ")) ; non-selected value
4289"RTN","EDPQLE",60,0)
4290 N BED,X0
4291"RTN","EDPQLE",61,0)
4292 S BED=0 F S BED=$O(^EDPB(231.8,"C",EDPSITE,AREA,BED)) Q:'BED D
4293"RTN","EDPQLE",62,0)
4294 . S X0=^EDPB(231.8,BED,0)
4295"RTN","EDPQLE",63,0)
4296 . ; QUIT if inactive bed
4297"RTN","EDPQLE",64,0)
4298 . I $P(X0,U,4) Q
4299"RTN","EDPQLE",65,0)
4300 . ; QUIT if occupied, unless own bed or multi-assign
4301"RTN","EDPQLE",66,0)
4302 . I $D(^EDP(230,"AL",EDPSITE,AREA,BED)),((BED'=CURBED)&'$P(X0,U,9)) Q
4303"RTN","EDPQLE",67,0)
4304 . ;
4305"RTN","EDPQLE",68,0)
4306 . S X("data")=BED
4307"RTN","EDPQLE",69,0)
4308 . S X("label")=$P(X0,U,6)_" ("_$P(X0,U)_")"
4309"RTN","EDPQLE",70,0)
4310 . D XML^EDPX($$XMLA^EDPX("bed",.X))
4311"RTN","EDPQLE",71,0)
4312 D XML^EDPX("</bedList>")
4313"RTN","EDPQLE",72,0)
4314 Q
4315"RTN","EDPQLE",73,0)
4316PERSONS ; add the internal/external values for persons
4317"RTN","EDPQLE",74,0)
4318 N ROLE,NAME,LOCID,IEN,X
4319"RTN","EDPQLE",75,0)
4320 D XML^EDPX("<persons>")
4321"RTN","EDPQLE",76,0)
4322 F ROLE="provider","nurse","resident" S LOCID=$G(PERSON(ROLE)) D
4323"RTN","EDPQLE",77,0)
4324 . Q:'LOCID
4325"RTN","EDPQLE",78,0)
4326 . S IEN=$O(^EDPB(231.7,"AD",EDPSITE,AREA,LOCID,0))
4327"RTN","EDPQLE",79,0)
4328 . Q:'IEN
4329"RTN","EDPQLE",80,0)
4330 . S NAME=$P(^EDPB(231.7,IEN,0),U)
4331"RTN","EDPQLE",81,0)
4332 . S X("data")=LOCID,X("label")=NAME
4333"RTN","EDPQLE",82,0)
4334 . D XML^EDPX($$XMLA^EDPX(ROLE,.X))
4335"RTN","EDPQLE",83,0)
4336 D XML^EDPX("</persons>")
4337"RTN","EDPQLE",84,0)
4338 Q
4339"RTN","EDPQLE",85,0)
4340REQ(VAL) ; return the fields required to close this entry
4341"RTN","EDPQLE",86,0)
4342 ; called from LOG, AREA is assumed to be defined
4343"RTN","EDPQLE",87,0)
4344 N NEED,PARAM
4345"RTN","EDPQLE",88,0)
4346 S PARAM=$G(^EDPB(231.9,AREA,1)),NEED=""
4347"RTN","EDPQLE",89,0)
4348 I $P(PARAM,U,1) S $P(NEED,",",1)="diag"
4349"RTN","EDPQLE",90,0)
4350 I $P(PARAM,U,3) S $P(NEED,",",2)="disp"
4351"RTN","EDPQLE",91,0)
4352 I $$DLYREQ,$$NOTOBS,$$EXCEED S $P(NEED,",",3)="delay"
4353"RTN","EDPQLE",92,0)
4354 Q NEED
4355"RTN","EDPQLE",93,0)
4356 ;
4357"RTN","EDPQLE",94,0)
4358DLYREQ() ; return true if delay params set to required
4359"RTN","EDPQLE",95,0)
4360 ; called from REQ, PARAM is assumed to be defined
4361"RTN","EDPQLE",96,0)
4362 Q $P(PARAM,U,4)&$P(PARAM,U,5)
4363"RTN","EDPQLE",97,0)
4364 ;
4365"RTN","EDPQLE",98,0)
4366NOTOBS() ; return true if not in observation status
4367"RTN","EDPQLE",99,0)
4368 ; called from REQ, VAL is assumed to be defined
4369"RTN","EDPQLE",100,0)
4370 N STS S STS=+$G(VAL("status"))
4371"RTN","EDPQLE",101,0)
4372 Q:'STS 1
4373"RTN","EDPQLE",102,0)
4374 Q:$P(^EDPB(233.1,STS,0),U,5)["O" 0
4375"RTN","EDPQLE",103,0)
4376 Q 1
4377"RTN","EDPQLE",104,0)
4378 ;
4379"RTN","EDPQLE",105,0)
4380EXCEED() ; return true if delay time exceeded
4381"RTN","EDPQLE",106,0)
4382 ; called from REQ, VAL and PARAM are assumed to be defined
4383"RTN","EDPQLE",107,0)
4384 N IN S IN=$G(VAL("inTS"))
4385"RTN","EDPQLE",108,0)
4386 N MAX S MAX=$P(PARAM,U,5)
4387"RTN","EDPQLE",109,0)
4388 Q ($$FMDIFF^XLFDT(EDPTIME,IN,2)\60)>MAX
4389"RTN","EDPQLE1")
43900^28^B4294300
4391"RTN","EDPQLE1",1,0)
4392EDPQLE1 ;SLC/KCM - Retrive Log Entry - Supporting Info
4393"RTN","EDPQLE1",2,0)
4394 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
4395"RTN","EDPQLE1",3,0)
4396 ;
4397"RTN","EDPQLE1",4,0)
4398CHOICES(AREA) ; Add choice lists for editing log entry to XML
4399"RTN","EDPQLE1",5,0)
4400 ; called from EDPQLE
4401"RTN","EDPQLE1",6,0)
4402 ;
4403"RTN","EDPQLE1",7,0)
4404 D STAFF("md","P")
4405"RTN","EDPQLE1",8,0)
4406 D STAFF("res","R")
4407"RTN","EDPQLE1",9,0)
4408 D STAFF("nurse","N")
4409"RTN","EDPQLE1",10,0)
4410 ;
4411"RTN","EDPQLE1",11,0)
4412 D CODES("arrival","arrival")
4413"RTN","EDPQLE1",12,0)
4414 D CODES("acuity","acuity")
4415"RTN","EDPQLE1",13,0)
4416 D CODES("status","status")
4417"RTN","EDPQLE1",14,0)
4418 D CODES("disposition","disposition")
4419"RTN","EDPQLE1",15,0)
4420 D CODES("delay","delay")
4421"RTN","EDPQLE1",16,0)
4422 Q
4423"RTN","EDPQLE1",17,0)
4424STAFF(LABEL,ROLE) ; add staff for this area to XML
4425"RTN","EDPQLE1",18,0)
4426 N IEN,X0
4427"RTN","EDPQLE1",19,0)
4428 D XML^EDPX("<"_LABEL_"List>")
4429"RTN","EDPQLE1",20,0)
4430 D XML^EDPX($$XMLS^EDPX(LABEL,0," ")) ;non-selected (-1 will delete)
4431"RTN","EDPQLE1",21,0)
4432 S IEN=0 F S IEN=$O(^EDPB(231.7,"AC",EDPSITE,AREA,ROLE,IEN)) Q:'IEN D
4433"RTN","EDPQLE1",22,0)
4434 . S X0=^EDPB(231.7,IEN,0)
4435"RTN","EDPQLE1",23,0)
4436 . D XML^EDPX($$XMLS^EDPX(LABEL,$P(X0,U,5),$P(X0,U)))
4437"RTN","EDPQLE1",24,0)
4438 D XML^EDPX("</"_LABEL_"List>")
4439"RTN","EDPQLE1",25,0)
4440 Q
4441"RTN","EDPQLE1",26,0)
4442CODES(LABEL,SETNM) ; build nodes for set of codes
4443"RTN","EDPQLE1",27,0)
4444 D XML^EDPX("<"_LABEL_"List>")
4445"RTN","EDPQLE1",28,0)
4446 I "^arrival^acuity^status^disposition^delay^"[(U_LABEL_U) D
4447"RTN","EDPQLE1",29,0)
4448 . N NOVAL S NOVAL=+$O(^EDPB(233.1,"B","edp.reserved.novalue",0))
4449"RTN","EDPQLE1",30,0)
4450 . D XML^EDPX($$XMLS^EDPX(LABEL,NOVAL," ")) ; non-selected value
4451"RTN","EDPQLE1",31,0)
4452 ;
4453"RTN","EDPQLE1",32,0)
4454 I $D(^EDPB(233.2,"B",EDPSITE_"."_SETNM)) S SETNM=EDPSITE_"."_SETNM I 1
4455"RTN","EDPQLE1",33,0)
4456 E S SETNM="edp."_SETNM
4457"RTN","EDPQLE1",34,0)
4458 ;
4459"RTN","EDPQLE1",35,0)
4460 N SET,SEQ,I,X0,IEN,SHOW
4461"RTN","EDPQLE1",36,0)
4462 S SET=$O(^EDPB(233.2,"B",SETNM,0))
4463"RTN","EDPQLE1",37,0)
4464 S SEQ=0 F S SEQ=$O(^EDPB(233.2,SET,1,"B",SEQ)) Q:'SEQ D
4465"RTN","EDPQLE1",38,0)
4466 . S I=0 F S I=$O(^EDPB(233.2,SET,1,"B",SEQ,I)) Q:'I D
4467"RTN","EDPQLE1",39,0)
4468 . . S X0=^EDPB(233.2,SET,1,I,0)
4469"RTN","EDPQLE1",40,0)
4470 . . Q:$P(X0,U,3) ; inactive
4471"RTN","EDPQLE1",41,0)
4472 . . S IEN=$P(X0,U,2)
4473"RTN","EDPQLE1",42,0)
4474 . . S SHOW=$P(X0,U,4)
4475"RTN","EDPQLE1",43,0)
4476 . . I SHOW="" S SHOW=$P(^EDPB(233.1,IEN,0),U,2)
4477"RTN","EDPQLE1",44,0)
4478 . . D XML^EDPX($$XMLS^EDPX(LABEL,IEN,SHOW))
4479"RTN","EDPQLE1",45,0)
4480 ;
4481"RTN","EDPQLE1",46,0)
4482 D XML^EDPX("</"_LABEL_"List>")
4483"RTN","EDPQLE1",47,0)
4484 Q
4485"RTN","EDPQLP")
44860^29^B5675430
4487"RTN","EDPQLP",1,0)
4488EDPQLP ;SLC/KCM - Log Entry Patients
4489"RTN","EDPQLP",2,0)
4490 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
4491"RTN","EDPQLP",3,0)
4492 ;
4493"RTN","EDPQLP",4,0)
4494GET(AREA,TOKEN) ; Return lists for edit context
4495"RTN","EDPQLP",5,0)
4496 ;
4497"RTN","EDPQLP",6,0)
4498 ; don't rebuild the list if it is unchanged
4499"RTN","EDPQLP",7,0)
4500 ;I $G(^EDPB(231.9,AREA,230))=TOKEN D Q
4501"RTN","EDPQLP",8,0)
4502 ;. D XML^EDPX("<logEntries status='same' />")
4503"RTN","EDPQLP",9,0)
4504 ;
4505"RTN","EDPQLP",10,0)
4506 ; build sequence based on bed sequence
4507"RTN","EDPQLP",11,0)
4508 N IEN,X0,NAME,SSN,LAST4,BED,SEQ,DUP,LST
4509"RTN","EDPQLP",12,0)
4510 D BLDDUP(.DUP,AREA)
4511"RTN","EDPQLP",13,0)
4512 S IEN=0 F S IEN=$O(^EDP(230,"AC",EDPSITE,AREA,IEN)) Q:'IEN D
4513"RTN","EDPQLP",14,0)
4514 . S X0=^EDP(230,IEN,0)
4515"RTN","EDPQLP",15,0)
4516 . S NAME=$P(X0,U,4),SSN=$P(X0,U,5),LAST4=$P(X0,U,11)
4517"RTN","EDPQLP",16,0)
4518 . S BED=$P($G(^EDP(230,IEN,3)),U,4)
4519"RTN","EDPQLP",17,0)
4520 . S SEQ=0
4521"RTN","EDPQLP",18,0)
4522 . I BED S SEQ=$P($G(^EDPB(231.8,BED,0)),U,5)
4523"RTN","EDPQLP",19,0)
4524 . I 'SEQ S SEQ=999999
4525"RTN","EDPQLP",20,0)
4526 . I BED S BED=$P(^EDPB(231.8,BED,0),U,6)
4527"RTN","EDPQLP",21,0)
4528 . S LST(SEQ,IEN)=NAME_U_SSN_U_LAST4_U_BED_U_$$SIM(NAME,LAST4,.DUP)
4529"RTN","EDPQLP",22,0)
4530 ;
4531"RTN","EDPQLP",23,0)
4532 D XML^EDPX("<logEntries status='new' token='"_$G(^EDPB(231.9,AREA,230))_"' >")
4533"RTN","EDPQLP",24,0)
4534 S SEQ=0 F S SEQ=$O(LST(SEQ)) Q:'SEQ D
4535"RTN","EDPQLP",25,0)
4536 . S IEN=0 F S IEN=$O(LST(SEQ,IEN)) Q:'IEN D
4537"RTN","EDPQLP",26,0)
4538 . . S X("id")=IEN
4539"RTN","EDPQLP",27,0)
4540 . . S X("seq")=SEQ
4541"RTN","EDPQLP",28,0)
4542 . . S X("name")=$P(LST(SEQ,IEN),U)
4543"RTN","EDPQLP",29,0)
4544 . . S X("ssn")=$P(LST(SEQ,IEN),U,2)
4545"RTN","EDPQLP",30,0)
4546 . . S X("last4")=$P(LST(SEQ,IEN),U,3)
4547"RTN","EDPQLP",31,0)
4548 . . S X("bed")=$P(LST(SEQ,IEN),U,4)
4549"RTN","EDPQLP",32,0)
4550 . . S X("same")=$P(LST(SEQ,IEN),U,5)
4551"RTN","EDPQLP",33,0)
4552 . . D XML^EDPX($$XMLA^EDPX("log",.X))
4553"RTN","EDPQLP",34,0)
4554 D XML^EDPX("</logEntries>")
4555"RTN","EDPQLP",35,0)
4556 Q
4557"RTN","EDPQLP",36,0)
4558BLDDUP(DUP,AREA) ; Build duplicate name/last4 counters
4559"RTN","EDPQLP",37,0)
4560 ; called from GET^EDPQLP, GET^EDPQDB -- expect EDPSITE
4561"RTN","EDPQLP",38,0)
4562 N X,IEN,CNT
4563"RTN","EDPQLP",39,0)
4564 S X="" F S X=$O(^EDP(230,"ADUP",EDPSITE,AREA,X)) Q:X="" D
4565"RTN","EDPQLP",40,0)
4566 . S IEN=0,CNT=0
4567"RTN","EDPQLP",41,0)
4568 . F S IEN=$O(^EDP(230,"ADUP",EDPSITE,AREA,X,IEN)) Q:'IEN S CNT=CNT+1
4569"RTN","EDPQLP",42,0)
4570 . S DUP(X)=CNT
4571"RTN","EDPQLP",43,0)
4572 Q
4573"RTN","EDPQLP",44,0)
4574SIM(NAME,LAST4,DUP) ; Return true if similar patient name/last4
4575"RTN","EDPQLP",45,0)
4576 I $L(LAST4),$G(DUP(LAST4))>1 Q 1
4577"RTN","EDPQLP",46,0)
4578 I $G(DUP($P(NAME,",")))>1 Q 1
4579"RTN","EDPQLP",47,0)
4580 Q 0
4581"RTN","EDPQLP",48,0)
4582 ;
4583"RTN","EDPQLP",49,0)
4584CLOSED(AREA,PARTIAL) ; find matches on name
4585"RTN","EDPQLP",50,0)
4586 S PARTIAL=$$UP^XLFSTR(PARTIAL)
4587"RTN","EDPQLP",51,0)
4588 Q:PARTIAL=""
4589"RTN","EDPQLP",52,0)
4590 ;
4591"RTN","EDPQLP",53,0)
4592 N IEN,NAME,X
4593"RTN","EDPQLP",54,0)
4594 S NAME=$O(^EDP(230,"PN",EDPSITE,AREA,PARTIAL),-1)
4595"RTN","EDPQLP",55,0)
4596 F S NAME=$O(^EDP(230,"PN",EDPSITE,AREA,NAME)) Q:$E(NAME,1,$L(PARTIAL))'=PARTIAL Q:NAME="" D
4597"RTN","EDPQLP",56,0)
4598 . S IEN=0 F S IEN=$O(^EDP(230,"PN",EDPSITE,AREA,NAME,IEN)) Q:'IEN D
4599"RTN","EDPQLP",57,0)
4600 . . S X("id")=IEN,X("name")=NAME,X("inTS")=$P(^EDP(230,IEN,0),U,8)
4601"RTN","EDPQLP",58,0)
4602 . . D XML^EDPX($$XMLA^EDPX("visit",.X))
4603"RTN","EDPQLP",59,0)
4604 Q
4605"RTN","EDPRPT")
46060^30^B8892171
4607"RTN","EDPRPT",1,0)
4608EDPRPT ;SLC/MKB - Reports
4609"RTN","EDPRPT",2,0)
4610 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
4611"RTN","EDPRPT",3,0)
4612 ;
4613"RTN","EDPRPT",4,0)
4614EN(BEG,END,RPT,ID,CSV) ; Get RPT data for EDPSITE by date range
4615"RTN","EDPRPT",5,0)
4616 I BEG,END D ;check
4617"RTN","EDPRPT",6,0)
4618 . N X I END<BEG S X=BEG,BEG=END,END=X ;switch
4619"RTN","EDPRPT",7,0)
4620 . S:$L(END,".")<2 END=END_".2359"
4621"RTN","EDPRPT",8,0)
4622 S RPT=$$UP^XLFSTR($G(RPT))
4623"RTN","EDPRPT",9,0)
4624 ; switch on report type
4625"RTN","EDPRPT",10,0)
4626 I RPT="EXPOSURE" D EXP^EDPRPT7(ID) G CONT
4627"RTN","EDPRPT",11,0)
4628 I BEG<1 D ERR(2300012) G CONT
4629"RTN","EDPRPT",12,0)
4630 I RPT="SHIFT" D SFT^EDPRPT5(BEG) G CONT
4631"RTN","EDPRPT",13,0)
4632 I END<1 D ERR(2300012) G CONT
4633"RTN","EDPRPT",14,0)
4634 I RPT="ACTIVITY" D ACT^EDPRPT1(BEG,END) G CONT
4635"RTN","EDPRPT",15,0)
4636 I RPT["DELAY" D DEL^EDPRPT2(BEG,END) G CONT
4637"RTN","EDPRPT",16,0)
4638 I RPT="SUMMARY" D SUM^EDPRPT4(BEG,END) G CONT
4639"RTN","EDPRPT",17,0)
4640 I RPT="MISSEDOP" D MO^EDPRPT3(BEG,END) G CONT
4641"RTN","EDPRPT",18,0)
4642 I RPT="PROVIDER" D PRV^EDPRPT6(BEG,END) G CONT
4643"RTN","EDPRPT",19,0)
4644 I RPT="ACUITY" D ACU^EDPRPT8(BEG,END) G CONT
4645"RTN","EDPRPT",20,0)
4646 I RPT="PATIENT" D XRF^EDPRPT9(BEG,END) G CONT
4647"RTN","EDPRPT",21,0)
4648 I RPT="ADMISSIONS" D ADM^EDPRPT10(BEG,END) G CONT
4649"RTN","EDPRPT",22,0)
4650 I RPT="INTAKE" D CNT^EDPRPT11(BEG,END) G CONT
4651"RTN","EDPRPT",23,0)
4652 ; else
4653"RTN","EDPRPT",24,0)
4654 D ERR(2300011)
4655"RTN","EDPRPT",25,0)
4656CONT ; end switch
4657"RTN","EDPRPT",26,0)
4658 Q
4659"RTN","EDPRPT",27,0)
4660 ;
4661"RTN","EDPRPT",28,0)
4662ERR(MSG) ; -- return error MSG
4663"RTN","EDPRPT",29,0)
4664 N X S X=$$MSG^EDPX(MSG)
4665"RTN","EDPRPT",30,0)
4666 I $G(CSV) D ADD^EDPCSV(X) Q
4667"RTN","EDPRPT",31,0)
4668 D XML^EDPX("<error msg='"_X_"' />")
4669"RTN","EDPRPT",32,0)
4670 Q
4671"RTN","EDPRPT",33,0)
4672 ;
4673"RTN","EDPRPT",34,0)
4674NOW() ; -- Return local value of NOW, based on EDPSITE
4675"RTN","EDPRPT",35,0)
4676 N TA,OFF,NOW
4677"RTN","EDPRPT",36,0)
4678 S TA=+$O(^EDPB(231.9,"C",+$G(EDPSITE),0)),OFF=$P($G(^EDPB(231.9,TA,0)),U,3)
4679"RTN","EDPRPT",37,0)
4680 S NOW=$$NOW^XLFDT S:OFF NOW=$$FMADD^XLFDT(NOW,,,OFF) ;time zone
4681"RTN","EDPRPT",38,0)
4682 Q NOW
4683"RTN","EDPRPT",39,0)
4684 ;
4685"RTN","EDPRPT",40,0)
4686PROV(MD) ; add list of assigned providers to XML
4687"RTN","EDPRPT",41,0)
4688 N I,X0,X
4689"RTN","EDPRPT",42,0)
4690 D XML^EDPX("<providers>")
4691"RTN","EDPRPT",43,0)
4692 S I=0 F S I=$O(MD(I)) Q:I<1 D
4693"RTN","EDPRPT",44,0)
4694 . S X0=$G(^EDPB(231.7,I,0)),X="<md id='"_I_"' name='"_$$ESC^EDPX($P(X0,U))_"' initials='"_$$ESC^EDPX($P(X0,U,2))_"'/>"
4695"RTN","EDPRPT",45,0)
4696 . D XML^EDPX(X)
4697"RTN","EDPRPT",46,0)
4698 D XML^EDPX("</providers>")
4699"RTN","EDPRPT",47,0)
4700 Q
4701"RTN","EDPRPT",48,0)
4702 ;
4703"RTN","EDPRPT",49,0)
4704ECODE(IEN) ; Return external value for a Code
4705"RTN","EDPRPT",50,0)
4706 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,3) ;code
4707"RTN","EDPRPT",51,0)
4708 Q ""
4709"RTN","EDPRPT",52,0)
4710 ;
4711"RTN","EDPRPT",53,0)
4712EPERS(IEN) ; Return external value for a Person (file 200)
4713"RTN","EDPRPT",54,0)
4714 Q:IEN $P($G(^EDPB(231.7,IEN,0)),U)
4715"RTN","EDPRPT",55,0)
4716 Q ""
4717"RTN","EDPRPT",56,0)
4718 ;
4719"RTN","EDPRPT",57,0)
4720EDATE(FMDT) ; Return external value for a Date/Time
4721"RTN","EDPRPT",58,0)
4722 Q:FMDT $TR($$FMTE^XLFDT(FMDT,"2M"),"@"," ") ;MM/DD/YY HH:MM
4723"RTN","EDPRPT",59,0)
4724 Q ""
4725"RTN","EDPRPT",60,0)
4726 ;
4727"RTN","EDPRPT",61,0)
4728ETIME(MINS) ; Return #minutes as HH:MM
4729"RTN","EDPRPT",62,0)
4730 N H,M,Y
4731"RTN","EDPRPT",63,0)
4732 S H=MINS\60,M=MINS#60
4733"RTN","EDPRPT",64,0)
4734 S Y=H_":"_$S($L(M)=1:"0"_M,1:M)
4735"RTN","EDPRPT",65,0)
4736 Q Y
4737"RTN","EDPRPT",66,0)
4738 ;
4739"RTN","EDPRPT",67,0)
4740ASSIGNED(LOG,PCE) ; Return time PCE was first assigned
4741"RTN","EDPRPT",68,0)
4742 N D,I,Y S Y=""
4743"RTN","EDPRPT",69,0)
4744 S D=0 F S D=$O(^EDP(230.1,"ADF",LOG,D)) Q:D<1 S I=+$O(^(D,0)) I $P($G(^EDP(230.1,I,3)),U,PCE)'="" S Y=D Q
4745"RTN","EDPRPT",70,0)
4746 Q Y
4747"RTN","EDPRPT",71,0)
4748 ;
4749"RTN","EDPRPT",72,0)
4750NWBED(LOG) ; Return 1st time non-wait bed was assigned
4751"RTN","EDPRPT",73,0)
4752 N D,I,X,Y,BED S Y=""
4753"RTN","EDPRPT",74,0)
4754 S D=0 F S D=$O(^EDP(230.1,"ADF",LOG,D)) Q:D<1 S I=+$O(^(D,0)) D Q:Y
4755"RTN","EDPRPT",75,0)
4756 . S BED=+$P($G(^EDP(230.1,I,3)),U,4)
4757"RTN","EDPRPT",76,0)
4758 . S X=$P($G(^EDPB(231.8,BED,0)),U,9) ;allow multiple assignments?
4759"RTN","EDPRPT",77,0)
4760 . I X=0!(X="false") S Y=D Q
4761"RTN","EDPRPT",78,0)
4762 Q Y
4763"RTN","EDPRPT",79,0)
4764 ;
4765"RTN","EDPRPT",80,0)
4766ADMSTS(LOG) ; Return 1st time admit status was assigned
4767"RTN","EDPRPT",81,0)
4768 N D,I,X3,X,Y S Y=""
4769"RTN","EDPRPT",82,0)
4770 S D=0 F S D=$O(^EDP(230.1,"ADF",LOG,D)) Q:D<1 S I=+$O(^(D,0)) D Q:Y
4771"RTN","EDPRPT",83,0)
4772 . S X3=$G(^EDP(230.1,I,3))
4773"RTN","EDPRPT",84,0)
4774 . I $P(X3,U,2),$P($G(^EDPB(233.1,+$P(X3,U,2),0)),U,5)["A" S Y=D
4775"RTN","EDPRPT",85,0)
4776 Q Y
4777"RTN","EDPRPT1")
47780^31^B33830475
4779"RTN","EDPRPT1",1,0)
4780EDPRPT1 ;SLC/MKB - Activity Report
4781"RTN","EDPRPT1",2,0)
4782 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
4783"RTN","EDPRPT1",3,0)
4784 ;
4785"RTN","EDPRPT1",4,0)
4786ACT(BEG,END) ; Get Activity Report for EDPSITE by date range
4787"RTN","EDPRPT1",5,0)
4788 N LOG,X,X0,X1,X3,X4,IN,OUT,ROW,PROV,I,NOW
4789"RTN","EDPRPT1",6,0)
4790 N ELAPSE,TRIAGE,WAIT,ADMDEC,ADMDEL,ALL,ADM,NOT,DISP
4791"RTN","EDPRPT1",7,0)
4792 D INIT ;set counters, sums to 0
4793"RTN","EDPRPT1",8,0)
4794 D:'$G(CSV) XML^EDPX("<logEntries>") I $G(CSV) D ;headers
4795"RTN","EDPRPT1",9,0)
4796 . N TAB S TAB=$C(9)
4797"RTN","EDPRPT1",10,0)
4798 . S X="ED"_TAB_"Time In"_TAB_"Time Out"_TAB_"Complaint"_TAB_"MD"_TAB_"Acuity"_TAB_"Elapsed"_TAB_"Triage"_TAB_"Wait"_TAB_"Dispo"_TAB_"Adm Dec"_TAB_"Adm Delay"_TAB_"Arrival"_TAB_"Diagnosis"_TAB_"ICD9"
4799"RTN","EDPRPT1",11,0)
4800 . D ADD^EDPCSV(X)
4801"RTN","EDPRPT1",12,0)
4802 S IN=BEG-.000001
4803"RTN","EDPRPT1",13,0)
4804 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
4805"RTN","EDPRPT1",14,0)
4806 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
4807"RTN","EDPRPT1",15,0)
4808 . S OUT=$P(X0,U,9)
4809"RTN","EDPRPT1",16,0)
4810 . K ROW S ROW("id")=LOG,ALL=ALL+1
4811"RTN","EDPRPT1",17,0)
4812 . S ROW("inTS")=$$EDATE^EDPRPT(IN)
4813"RTN","EDPRPT1",18,0)
4814 . S ROW("outTS")=$$EDATE^EDPRPT(OUT)
4815"RTN","EDPRPT1",19,0)
4816 . S ROW("complaint")=$P(X1,U)
4817"RTN","EDPRPT1",20,0)
4818 . S DISP=$$ECODE^EDPRPT($P(X1,U,2)),ROW("disposition")=DISP
4819"RTN","EDPRPT1",21,0)
4820 . S ROW("arrival")=$$ECODE($P(X1,U,10))
4821"RTN","EDPRPT1",22,0)
4822 . S ROW("acuity")=$$ECODE^EDPRPT($P(X3,U,3))
4823"RTN","EDPRPT1",23,0)
4824 . S ROW("md")=$$EPERS^EDPRPT($P(X3,U,5))
4825"RTN","EDPRPT1",24,0)
4826 . S:$P(X3,U,5) PROV(+$P(X3,U,5))=""
4827"RTN","EDPRPT1",25,0)
4828 . S ROW("dx")=$P(X4,U),ROW("icd")=$P(X4,U,2)
4829"RTN","EDPRPT1",26,0)
4830 . S:'$L(DISP) DISP="none" ;need as subscript
4831"RTN","EDPRPT1",27,0)
4832 . S DISP(DISP)=DISP(DISP)+1
4833"RTN","EDPRPT1",28,0)
4834 . ;
4835"RTN","EDPRPT1",29,0)
4836A1 . ; calculate times
4837"RTN","EDPRPT1",30,0)
4838 . S:OUT="" OUT=NOW ;for calculations
4839"RTN","EDPRPT1",31,0)
4840 . S ELAPSE=($$FMDIFF^XLFDT(OUT,IN,2)\60)
4841"RTN","EDPRPT1",32,0)
4842 . S ROW("elapsed")=ELAPSE_$S(ELAPSE>359:" *",1:"")
4843"RTN","EDPRPT1",33,0)
4844 . S ALL("elapsed")=ALL("elapsed")+ELAPSE
4845"RTN","EDPRPT1",34,0)
4846 . S DISP(DISP,"elapsed")=DISP(DISP,"elapsed")+ELAPSE
4847"RTN","EDPRPT1",35,0)
4848 . ;
4849"RTN","EDPRPT1",36,0)
4850 . S X=$$ASSIGNED^EDPRPT(LOG,3),TRIAGE=0 ;acuity
4851"RTN","EDPRPT1",37,0)
4852 . S TRIAGE=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0),ROW("triage")=TRIAGE
4853"RTN","EDPRPT1",38,0)
4854 . S ALL("triage")=ALL("triage")+TRIAGE
4855"RTN","EDPRPT1",39,0)
4856 . S DISP(DISP,"triage")=DISP(DISP,"triage")+TRIAGE
4857"RTN","EDPRPT1",40,0)
4858 . ;
4859"RTN","EDPRPT1",41,0)
4860 . S X=$$NWBED^EDPRPT(LOG),WAIT=0
4861"RTN","EDPRPT1",42,0)
4862 . S WAIT=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0),ROW("wait")=WAIT
4863"RTN","EDPRPT1",43,0)
4864 . S ALL("wait")=ALL("wait")+WAIT
4865"RTN","EDPRPT1",44,0)
4866 . S DISP(DISP,"wait")=DISP(DISP,"wait")+WAIT
4867"RTN","EDPRPT1",45,0)
4868 . ;
4869"RTN","EDPRPT1",46,0)
4870 . S X=$$ADMSTS^EDPRPT(LOG) I X<1 D
4871"RTN","EDPRPT1",47,0)
4872 .. S NOT=NOT+1,NOT("elapsed")=NOT("elapsed")+ELAPSE
4873"RTN","EDPRPT1",48,0)
4874 .. S NOT("triage")=NOT("triage")+TRIAGE
4875"RTN","EDPRPT1",49,0)
4876 .. S NOT("wait")=NOT("wait")+WAIT
4877"RTN","EDPRPT1",50,0)
4878 . E D ;decision to admit
4879"RTN","EDPRPT1",51,0)
4880 .. S ADMDEC=($$FMDIFF^XLFDT(X,IN,2)\60),ROW("admDec")=ADMDEC
4881"RTN","EDPRPT1",52,0)
4882 .. S ADMDEL=($$FMDIFF^XLFDT(OUT,X,2)\60),ROW("admDel")=ADMDEL
4883"RTN","EDPRPT1",53,0)
4884 .. S ADM=ADM+1,ADM("elapsed")=ADM("elapsed")+ELAPSE
4885"RTN","EDPRPT1",54,0)
4886 .. S ADM("triage")=ADM("triage")+TRIAGE
4887"RTN","EDPRPT1",55,0)
4888 .. S ADM("wait")=ADM("wait")+WAIT
4889"RTN","EDPRPT1",56,0)
4890 .. S ADM("admDec")=ADM("admDec")+ADMDEC
4891"RTN","EDPRPT1",57,0)
4892 .. S ADM("admDel")=ADM("admDel")+ADMDEL
4893"RTN","EDPRPT1",58,0)
4894 .. S DISP(DISP,"admDec")=DISP(DISP,"admDec")+ADMDEC
4895"RTN","EDPRPT1",59,0)
4896 .. S DISP(DISP,"admDel")=DISP(DISP,"admDel")+ADMDEL
4897"RTN","EDPRPT1",60,0)
4898 . ;
4899"RTN","EDPRPT1",61,0)
4900 . I '$G(CSV) S X=$$XMLA^EDPX("log",.ROW) D XML^EDPX(X) Q
4901"RTN","EDPRPT1",62,0)
4902 . S X=ROW("id")
4903"RTN","EDPRPT1",63,0)
4904 . F I="inTS","outTS","complaint","md","acuity","elapsed","triage","wait","disposition","admDec","admDel","arrival","dx","icd" S X=X_$C(9)_$G(ROW(I))
4905"RTN","EDPRPT1",64,0)
4906 . D ADD^EDPCSV(X)
4907"RTN","EDPRPT1",65,0)
4908 D:'$G(CSV) XML^EDPX("</logEntries>")
4909"RTN","EDPRPT1",66,0)
4910 ;
4911"RTN","EDPRPT1",67,0)
4912A2 ; calculate & include averages
4913"RTN","EDPRPT1",68,0)
4914 Q:ALL<1 ;no visits found
4915"RTN","EDPRPT1",69,0)
4916 S ALL("type")="All Patients",NOT("type")="Not Admitted",ADM("type")="Admitted"
4917"RTN","EDPRPT1",70,0)
4918 F I="elapsed","triage","wait" S ALL(I)=$$ETIME^EDPRPT(ALL(I)\ALL)
4919"RTN","EDPRPT1",71,0)
4920 F I="elapsed","triage","wait" S NOT(I)=$S(NOT:$$ETIME^EDPRPT(NOT(I)\NOT),1:"00:00")
4921"RTN","EDPRPT1",72,0)
4922 F I="elapsed","triage","wait","admDec","admDel" S ADM(I)=$S(ADM:$$ETIME^EDPRPT(ADM(I)\ADM),1:"00:00")
4923"RTN","EDPRPT1",73,0)
4924 F I="admDec","admDel" S ALL(I)=ADM(I)
4925"RTN","EDPRPT1",74,0)
4926 S ALL("total")=ALL,NOT("total")=NOT,ADM("total")=ADM
4927"RTN","EDPRPT1",75,0)
4928 S X="" F S X=$O(DISP(X)) Q:X="" I DISP(X) D
4929"RTN","EDPRPT1",76,0)
4930 . S DISP(X,"total")=DISP(X),DISP(X,"type")=X
4931"RTN","EDPRPT1",77,0)
4932 . F I="elapsed","triage","wait","admDec","admDel" S DISP(X,I)=$$ETIME^EDPRPT(DISP(X,I)\DISP(X))
4933"RTN","EDPRPT1",78,0)
4934 ;
4935"RTN","EDPRPT1",79,0)
4936A3 I $G(CSV) D Q ;CSV format
4937"RTN","EDPRPT1",80,0)
4938 . N TAB,D S TAB=$C(9)
4939"RTN","EDPRPT1",81,0)
4940 . D BLANK^EDPCSV
4941"RTN","EDPRPT1",82,0)
4942 . S X=TAB_"Total Patients"_TAB_ALL_TAB_TAB_TAB_TAB_ALL("elapsed")_TAB_ALL("triage")_TAB_ALL("wait")_TAB_TAB_ALL("admDec")_TAB_ALL("admDel")
4943"RTN","EDPRPT1",83,0)
4944 . D ADD^EDPCSV(X),BLANK^EDPCSV
4945"RTN","EDPRPT1",84,0)
4946 . S X=TAB_TAB_TAB_TAB_"Total"_TAB_"Visit"_TAB_"Triage"_TAB_"Wait"_TAB_"Adm Dec"_TAB_"Adm Del"
4947"RTN","EDPRPT1",85,0)
4948 . D ADD^EDPCSV(X),BLANK^EDPCSV
4949"RTN","EDPRPT1",86,0)
4950 . S X=TAB_TAB_TAB_"Patients Not Admitted"_TAB_NOT_TAB_NOT("elapsed")_TAB_NOT("triage")_TAB_NOT("wait")
4951"RTN","EDPRPT1",87,0)
4952 . D ADD^EDPCSV(X),BLANK^EDPCSV
4953"RTN","EDPRPT1",88,0)
4954 . S X=TAB_TAB_TAB_"Patients Admitted"_TAB_ADM_TAB_ADM("elapsed")_TAB_ADM("triage")_TAB_ADM("wait")_TAB_ADM("admDec")_TAB_ADM("admDel")
4955"RTN","EDPRPT1",89,0)
4956 . D ADD^EDPCSV(X),BLANK^EDPCSV
4957"RTN","EDPRPT1",90,0)
4958 . S X=TAB_TAB_TAB_"Disposition" D ADD^EDPCSV(X)
4959"RTN","EDPRPT1",91,0)
4960 . S D="" F S D=$O(DISP(D)) Q:D="" I DISP(D) D
4961"RTN","EDPRPT1",92,0)
4962 .. S X=D_TAB_DISP(D)_TAB_DISP(D,"elapsed")_TAB_DISP(D,"triage")_TAB_DISP(D,"wait")_TAB_DISP(D,"admDec")_TAB_DISP(D,"admDel")
4963"RTN","EDPRPT1",93,0)
4964 .. D ADD^EDPCSV(X)
4965"RTN","EDPRPT1",94,0)
4966 D XML^EDPX("<averages>")
4967"RTN","EDPRPT1",95,0)
4968 S X=$$XMLA^EDPX("average",.ALL) D XML^EDPX(X)
4969"RTN","EDPRPT1",96,0)
4970 S X=$$XMLA^EDPX("average",.NOT) D XML^EDPX(X)
4971"RTN","EDPRPT1",97,0)
4972 S X=$$XMLA^EDPX("average",.ADM) D XML^EDPX(X)
4973"RTN","EDPRPT1",98,0)
4974 S I="" F S I=$O(DISP(I)) Q:I="" I DISP(I) K ROW M ROW=DISP(I) S X=$$XMLA^EDPX("average",.ROW) D XML^EDPX(X)
4975"RTN","EDPRPT1",99,0)
4976 D XML^EDPX("</averages>")
4977"RTN","EDPRPT1",100,0)
4978 ; include list of providers assigned
4979"RTN","EDPRPT1",101,0)
4980 I $O(PROV(0)) D PROV^EDPRPT(.PROV)
4981"RTN","EDPRPT1",102,0)
4982 Q
4983"RTN","EDPRPT1",103,0)
4984 ;
4985"RTN","EDPRPT1",104,0)
4986INIT ; Initialize counters and sums
4987"RTN","EDPRPT1",105,0)
4988 N I,NM S (ALL,ADM,NOT)=0
4989"RTN","EDPRPT1",106,0)
4990 F I="elapsed","triage","wait" S (ALL(I),NOT(I),ADM(I))=0
4991"RTN","EDPRPT1",107,0)
4992 F I="admDec","admDel" S ADM(I)=0
4993"RTN","EDPRPT1",108,0)
4994 S NM="" F S NM=$O(^EDPB(233.1,"B",NM)) Q:NM="" I $P(NM,".",2)="disposition" S I=+$O(^(NM,0)) D
4995"RTN","EDPRPT1",109,0)
4996 . S X=$P($G(^EDPB(233.1,I,0)),U,3),DISP(X)=0
4997"RTN","EDPRPT1",110,0)
4998 . F I="elapsed","triage","wait","admDec","admDel" S DISP(X,I)=0
4999"RTN","EDPRPT1",111,0)
5000 S DISP("none")=0 F I="elapsed","triage","wait","admDec","admDel" S DISP("none",I)=0
5001"RTN","EDPRPT1",112,0)
5002 S NOW=$$NOW^EDPRPT
5003"RTN","EDPRPT1",113,0)
5004 Q
5005"RTN","EDPRPT1",114,0)
5006 ;
5007"RTN","EDPRPT1",115,0)
5008ECODE(IEN) ; Return external value for a Code
5009"RTN","EDPRPT1",116,0)
5010 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,2) ;name
5011"RTN","EDPRPT1",117,0)
5012 Q ""
5013"RTN","EDPRPT10")
50140^32^B19054284
5015"RTN","EDPRPT10",1,0)
5016EDPRPT10 ;SLC/MKB - Admissions Report
5017"RTN","EDPRPT10",2,0)
5018 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
5019"RTN","EDPRPT10",3,0)
5020 ;
5021"RTN","EDPRPT10",4,0)
5022ADM(BEG,END) ; Get Admissions Report for EDPSITE by date range
5023"RTN","EDPRPT10",5,0)
5024 N IN,OUT,LOG,X,X0,X1,X3,X4,DISP,ROW,NOW,TAB
5025"RTN","EDPRPT10",6,0)
5026 N ELAPSE,TRIAGE,WAIT,ADMDEC,ADMDEL
5027"RTN","EDPRPT10",7,0)
5028 D INIT ;set counters, sums to 0
5029"RTN","EDPRPT10",8,0)
5030 D:'$G(CSV) XML^EDPX("<logEntries>") I $G(CSV) D ;headers
5031"RTN","EDPRPT10",9,0)
5032 . S TAB=$C(9)
5033"RTN","EDPRPT10",10,0)
5034 . S X="ED"_TAB_"Time Out"_TAB_"Complaint"_TAB_"MD"_TAB_"Acuity"_TAB_"Dispo"_TAB_"Adm Dec"_TAB_"Adm Delay"_TAB_"Diagnosis"_TAB_"ICD9" ;_TAB_"ER Spec Visit"
5035"RTN","EDPRPT10",11,0)
5036 . D ADD^EDPCSV(X)
5037"RTN","EDPRPT10",12,0)
5038 S IN=BEG-.000001
5039"RTN","EDPRPT10",13,0)
5040 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
5041"RTN","EDPRPT10",14,0)
5042 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
5043"RTN","EDPRPT10",15,0)
5044 . S DISP=$$ECODE^EDPRPT($P(X1,U,2)) Q:'$D(CNT(DISP))
5045"RTN","EDPRPT10",16,0)
5046 . S OUT=$P(X0,U,9)
5047"RTN","EDPRPT10",17,0)
5048 . K ROW S ROW("id")=LOG
5049"RTN","EDPRPT10",18,0)
5050 . S ROW("outTS")=$$EDATE^EDPRPT(OUT)
5051"RTN","EDPRPT10",19,0)
5052 . S ROW("complaint")=$P(X1,U)
5053"RTN","EDPRPT10",20,0)
5054 . S ROW("md")=$$EPERS^EDPRPT($P(X3,U,5))
5055"RTN","EDPRPT10",21,0)
5056 . S ROW("acuity")=$$ECODE^EDPRPT($P(X3,U,3))
5057"RTN","EDPRPT10",22,0)
5058 . S ROW("disposition")=DISP
5059"RTN","EDPRPT10",23,0)
5060 . S ROW("dx")=$P(X4,U),ROW("icd")=$P(X4,U,2)
5061"RTN","EDPRPT10",24,0)
5062 . ; ER Special Visit ?? -- ck ^DPT dispositions
5063"RTN","EDPRPT10",25,0)
5064 . S CNT("ALL")=CNT("ALL")+1,CNT(DISP)=CNT(DISP)+1
5065"RTN","EDPRPT10",26,0)
5066 . ;
5067"RTN","EDPRPT10",27,0)
5068A1 . ; calculate times
5069"RTN","EDPRPT10",28,0)
5070 . S:OUT="" OUT=NOW
5071"RTN","EDPRPT10",29,0)
5072 . S ELAPSE=($$FMDIFF^XLFDT(OUT,IN,2)\60)
5073"RTN","EDPRPT10",30,0)
5074 . F I="ALL",DISP S MIN(I,"elapsed")=MIN(I,"elapsed")+ELAPSE
5075"RTN","EDPRPT10",31,0)
5076 . ;
5077"RTN","EDPRPT10",32,0)
5078 . S X=$$ASSIGNED^EDPRPT(LOG,3) ;acuity assigned
5079"RTN","EDPRPT10",33,0)
5080 . S TRIAGE=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0)
5081"RTN","EDPRPT10",34,0)
5082 . F I="ALL",DISP S MIN(I,"triage")=MIN(I,"triage")+TRIAGE
5083"RTN","EDPRPT10",35,0)
5084 . ;
5085"RTN","EDPRPT10",36,0)
5086 . S X=$$NWBED^EDPRPT(LOG) ;non-wait bed assigned
5087"RTN","EDPRPT10",37,0)
5088 . S WAIT=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0)
5089"RTN","EDPRPT10",38,0)
5090 . F I="ALL",DISP S MIN(I,"wait")=MIN(I,"wait")+WAIT
5091"RTN","EDPRPT10",39,0)
5092 . ;
5093"RTN","EDPRPT10",40,0)
5094 . S X=$$ADMSTS^EDPRPT(LOG) ;decision to admit
5095"RTN","EDPRPT10",41,0)
5096 . S ADMDEC=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0)
5097"RTN","EDPRPT10",42,0)
5098 . F I="ALL",DISP S MIN(I,"admDec")=MIN(I,"admDec")+ADMDEC
5099"RTN","EDPRPT10",43,0)
5100 . S ROW("admDec")=ADMDEC
5101"RTN","EDPRPT10",44,0)
5102 . ;
5103"RTN","EDPRPT10",45,0)
5104 . S ADMDEL=$S(X:($$FMDIFF^XLFDT(OUT,X,2)\60),1:0)
5105"RTN","EDPRPT10",46,0)
5106 . F I="ALL",DISP S MIN(I,"admDel")=MIN(I,"admDel")+ADMDEL
5107"RTN","EDPRPT10",47,0)
5108 . S ROW("admDel")=ADMDEL
5109"RTN","EDPRPT10",48,0)
5110 . ;
5111"RTN","EDPRPT10",49,0)
5112 . I '$G(CSV) S X=$$XMLA^EDPX("log",.ROW) D XML^EDPX(X) Q
5113"RTN","EDPRPT10",50,0)
5114 . S X=ROW("id")
5115"RTN","EDPRPT10",51,0)
5116 . F I="outTS","complaint","md","acuity","disposition","admDec","admDel","dx","icd" S X=X_$C(9)_$G(ROW(I))
5117"RTN","EDPRPT10",52,0)
5118 . D ADD^EDPCSV(X)
5119"RTN","EDPRPT10",53,0)
5120 D:'$G(CSV) XML^EDPX("</logEntries>")
5121"RTN","EDPRPT10",54,0)
5122 ;
5123"RTN","EDPRPT10",55,0)
5124A2 ; calculate & include averages
5125"RTN","EDPRPT10",56,0)
5126 Q:CNT("ALL")<1 ;no visits found
5127"RTN","EDPRPT10",57,0)
5128 I $G(CSV) D Q ;return as CSV
5129"RTN","EDPRPT10",58,0)
5130 . S X=TAB_TAB_TAB_" Activity Summary"_TAB_"Total"_TAB_"Visit"_TAB_"Triage"_TAB_"Wait"_TAB_"Adm Dec"_TAB_"Adm Delay"
5131"RTN","EDPRPT10",59,0)
5132 . D BLANK^EDPCSV,ADD^EDPCSV(X),BLANK^EDPCSV
5133"RTN","EDPRPT10",60,0)
5134 . S X=TAB_TAB_TAB_"Total Patients VA Admitted"_TAB_CNT("ALL")
5135"RTN","EDPRPT10",61,0)
5136 . F I="elapsed","triage","wait","admDec","admDel" D
5137"RTN","EDPRPT10",62,0)
5138 .. S Y=MIN("ALL",I)\CNT("ALL"),X=X_TAB_$S(Y:$$ETIME^EDPRPT(Y),1:"0:00")
5139"RTN","EDPRPT10",63,0)
5140 . D ADD^EDPCSV(X),BLANK^EDPCSV
5141"RTN","EDPRPT10",64,0)
5142 . S X=TAB_TAB_TAB_" Disposition" D ADD^EDPCSV(X)
5143"RTN","EDPRPT10",65,0)
5144 . S DISP="" F S DISP=$O(CNT(DISP)) Q:DISP="" I DISP'="ALL",CNT(DISP) D
5145"RTN","EDPRPT10",66,0)
5146 .. S X=TAB_TAB_TAB_DISP_TAB_CNT(DISP)
5147"RTN","EDPRPT10",67,0)
5148 .. F I="elapsed","triage","wait","admDec","admDel" D
5149"RTN","EDPRPT10",68,0)
5150 ... S Y=MIN(DISP,I)\CNT(DISP),X=X_TAB_$S(Y:$$ETIME^EDPRPT(Y),1:"0:00")
5151"RTN","EDPRPT10",69,0)
5152 .. D ADD^EDPCSV(X)
5153"RTN","EDPRPT10",70,0)
5154 ; or as XML
5155"RTN","EDPRPT10",71,0)
5156 D XML^EDPX("<averages>")
5157"RTN","EDPRPT10",72,0)
5158 S DISP="" F S DISP=$O(CNT(DISP)) Q:DISP="" I CNT(DISP) D
5159"RTN","EDPRPT10",73,0)
5160 . S MIN(DISP,"type")=$S(DISP="ALL":"Total Patients VA Admitted",1:DISP)
5161"RTN","EDPRPT10",74,0)
5162 . S MIN(DISP,"total")=CNT(DISP)
5163"RTN","EDPRPT10",75,0)
5164 . F I="elapsed","triage","wait","admDec","admDel" D
5165"RTN","EDPRPT10",76,0)
5166 .. S X=MIN(DISP,I)\CNT(DISP)
5167"RTN","EDPRPT10",77,0)
5168 .. S MIN(DISP,I)=$S(X:$$ETIME^EDPRPT(X),1:"0:00")
5169"RTN","EDPRPT10",78,0)
5170 . K ROW M ROW=MIN(DISP)
5171"RTN","EDPRPT10",79,0)
5172 . S X=$$XMLA^EDPX("average",.ROW) D XML^EDPX(X)
5173"RTN","EDPRPT10",80,0)
5174 D XML^EDPX("</averages>")
5175"RTN","EDPRPT10",81,0)
5176 Q
5177"RTN","EDPRPT10",82,0)
5178 ;
5179"RTN","EDPRPT10",83,0)
5180INIT ; Initialize counters and sums
5181"RTN","EDPRPT10",84,0)
5182 N D,N,I
5183"RTN","EDPRPT10",85,0)
5184 ;F D="VA","T","ICU","OBS","ALL" D
5185"RTN","EDPRPT10",86,0)
5186 S D="" F S D=$O(^EDPB(233.1,"AB","disposition",D)) Q:D="" D
5187"RTN","EDPRPT10",87,0)
5188 . S N=0 F S N=$O(^EDPB(233.1,"AB","disposition",D,N)) Q:N<1 D
5189"RTN","EDPRPT10",88,0)
5190 .. Q:$P($G(^EDPB(233.1,N,0)),U,5)'["A"
5191"RTN","EDPRPT10",89,0)
5192 .. S CNT(D)=0
5193"RTN","EDPRPT10",90,0)
5194 .. F I="elapsed","triage","wait","admDec","admDel" S MIN(D,I)=0
5195"RTN","EDPRPT10",91,0)
5196 S CNT("ALL")=0
5197"RTN","EDPRPT10",92,0)
5198 F I="elapsed","triage","wait","admDec","admDel" S MIN("ALL",I)=0
5199"RTN","EDPRPT10",93,0)
5200 S NOW=$$NOW^EDPRPT
5201"RTN","EDPRPT10",94,0)
5202 Q
5203"RTN","EDPRPT10",95,0)
5204 ;
5205"RTN","EDPRPT10",96,0)
5206ECODE(IEN) ; Return external value for a Code
5207"RTN","EDPRPT10",97,0)
5208 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,2) ;name
5209"RTN","EDPRPT10",98,0)
5210 Q ""
5211"RTN","EDPRPT11")
52120^33^B8284389
5213"RTN","EDPRPT11",1,0)
5214EDPRPT11 ;SLC/MKB - Patient Intake Report
5215"RTN","EDPRPT11",2,0)
5216 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
5217"RTN","EDPRPT11",3,0)
5218 ;
5219"RTN","EDPRPT11",4,0)
5220CNT(BEG,END) ; Get Patient Intake Report for EDPSITE by date range
5221"RTN","EDPRPT11",5,0)
5222 ; CNT = counters
5223"RTN","EDPRPT11",6,0)
5224 N IN,LOG,LAST,X,CNT,DAY,%H,%T,%Y,T,D,ROW,NM,NMA,TAB
5225"RTN","EDPRPT11",7,0)
5226 D INIT S LAST="" ;set counters to 0
5227"RTN","EDPRPT11",8,0)
5228 S IN=BEG-.000001,TAB=$C(9)
5229"RTN","EDPRPT11",9,0)
5230 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
5231"RTN","EDPRPT11",10,0)
5232 . S X=$P($G(^EDP(230,LOG,0)),U,8) Q:X<1
5233"RTN","EDPRPT11",11,0)
5234 . D H^%DTC S T=%T\3600,D=%Y
5235"RTN","EDPRPT11",12,0)
5236 . S CNT=CNT+1,CNT(T)=CNT(T)+1,CNT(T,D)=CNT(T,D)+1
5237"RTN","EDPRPT11",13,0)
5238 . S CNT("D",D)=CNT("D",D)+1
5239"RTN","EDPRPT11",14,0)
5240 . I LAST=""!(LAST'=D) S DAY(D)=DAY(D)+1
5241"RTN","EDPRPT11",15,0)
5242C1 ; return counts and averages
5243"RTN","EDPRPT11",16,0)
5244 D:'$G(CSV) XML^EDPX("<averages>") I $G(CSV) D ;headers
5245"RTN","EDPRPT11",17,0)
5246 . S X="Time/Day"_TAB_"Sunday"_TAB_"Avg/Sun"_TAB_"Monday"_TAB_"Avg/Mon"_TAB_"Tuesday"_TAB_"Avg/Tue"_TAB_"Wednesday"_TAB_"Avg/Wed"_TAB_"Thursday"_TAB_"Avg/Thu"_TAB_"Friday"_TAB_"Avg/Fri"_TAB_"Saturday"_TAB_"Avg/Sat"_TAB_"Totals"_TAB_"Avg/Day"
5247"RTN","EDPRPT11",18,0)
5248 . D ADD^EDPCSV(X),BLANK^EDPCSV
5249"RTN","EDPRPT11",19,0)
5250 F T=0:1:23 D
5251"RTN","EDPRPT11",20,0)
5252 . K ROW S ROW("time")=$$TIME(T)_"-"_$$TIME(T+1)
5253"RTN","EDPRPT11",21,0)
5254 . S ROW=ROW("time") ;CSV
5255"RTN","EDPRPT11",22,0)
5256 . F D=0:1:6 S NM=$$DAY(D) D
5257"RTN","EDPRPT11",23,0)
5258 .. S ROW(NM)=CNT(T,D),NMA="avg"_$E(NM,1,3)
5259"RTN","EDPRPT11",24,0)
5260 .. S X=$S(DAY(D):CNT(T,D)/DAY(D),1:0)
5261"RTN","EDPRPT11",25,0)
5262 .. S ROW(NMA)=$$ROUND(X)
5263"RTN","EDPRPT11",26,0)
5264 .. S ROW=ROW_TAB_ROW(NM)_TAB_ROW(NMA) ;CSV
5265"RTN","EDPRPT11",27,0)
5266 . S ROW("total")=CNT(T),ROW("average")=$$ROUND(CNT(T)/24)
5267"RTN","EDPRPT11",28,0)
5268 . I '$G(CSV) S X=$$XMLA^EDPX("row",.ROW) D XML^EDPX(X) Q
5269"RTN","EDPRPT11",29,0)
5270 . S ROW=ROW_TAB_ROW("total")_TAB_ROW("average") D ADD^EDPCSV(ROW)
5271"RTN","EDPRPT11",30,0)
5272 ; totals row
5273"RTN","EDPRPT11",31,0)
5274 K ROW S ROW("time")="Totals",ROW=ROW("time")
5275"RTN","EDPRPT11",32,0)
5276 F D=0:1:6 S NM=$$DAY(D) D
5277"RTN","EDPRPT11",33,0)
5278 . S ROW(NM)=CNT("D",D),NMA="avg"_$E(NM,1,3)
5279"RTN","EDPRPT11",34,0)
5280 . S X=$S(DAY(D):CNT("D",D)/DAY(D),1:0)
5281"RTN","EDPRPT11",35,0)
5282 . S ROW(NMA)=$$ROUND(X)
5283"RTN","EDPRPT11",36,0)
5284 . S ROW=ROW_TAB_ROW(NM)_TAB_ROW(NMA) ;CSV
5285"RTN","EDPRPT11",37,0)
5286 S ROW("total")=CNT,ROW=ROW_TAB_ROW("total")
5287"RTN","EDPRPT11",38,0)
5288 I $G(CSV) D BLANK^EDPCSV,ADD^EDPCSV(ROW) Q
5289"RTN","EDPRPT11",39,0)
5290 S X=$$XMLA^EDPX("row",.ROW) D XML^EDPX(X)
5291"RTN","EDPRPT11",40,0)
5292 D XML^EDPX("</averages>")
5293"RTN","EDPRPT11",41,0)
5294 Q
5295"RTN","EDPRPT11",42,0)
5296 ;
5297"RTN","EDPRPT11",43,0)
5298INIT ; Initialize counters and sums
5299"RTN","EDPRPT11",44,0)
5300 N T,D S CNT=0
5301"RTN","EDPRPT11",45,0)
5302 F T=0:1:23 S CNT(T)=0 F D=0:1:6 S CNT(T,D)=0
5303"RTN","EDPRPT11",46,0)
5304 F D=0:1:6 S CNT("D",D)=0,DAY(D)=0
5305"RTN","EDPRPT11",47,0)
5306 Q
5307"RTN","EDPRPT11",48,0)
5308 ;
5309"RTN","EDPRPT11",49,0)
5310ROUND(X) ; Round X to nearest integer
5311"RTN","EDPRPT11",50,0)
5312 N Y S Y=+$E($P(X,".",2)),X=X\1
5313"RTN","EDPRPT11",51,0)
5314 S:Y>4 X=X+1
5315"RTN","EDPRPT11",52,0)
5316 Q X
5317"RTN","EDPRPT11",53,0)
5318 ;
5319"RTN","EDPRPT11",54,0)
5320TIME(X) ; Return 0000 form of hour# X
5321"RTN","EDPRPT11",55,0)
5322 N Y S Y=$S($L(X)=1:"0"_X,1:X)_"00"
5323"RTN","EDPRPT11",56,0)
5324 Q Y
5325"RTN","EDPRPT11",57,0)
5326 ;
5327"RTN","EDPRPT11",58,0)
5328DAY(X) ; Return name of day# X
5329"RTN","EDPRPT11",59,0)
5330 I X=1 Q "Monday"
5331"RTN","EDPRPT11",60,0)
5332 I X=2 Q "Tuesday"
5333"RTN","EDPRPT11",61,0)
5334 I X=3 Q "Wednesday"
5335"RTN","EDPRPT11",62,0)
5336 I X=4 Q "Thursday"
5337"RTN","EDPRPT11",63,0)
5338 I X=5 Q "Friday"
5339"RTN","EDPRPT11",64,0)
5340 I X=6 Q "Saturday"
5341"RTN","EDPRPT11",65,0)
5342 Q "Sunday"
5343"RTN","EDPRPT2")
53440^34^B16939211
5345"RTN","EDPRPT2",1,0)
5346EDPRPT2 ;SLC/MKB - Delay Report
5347"RTN","EDPRPT2",2,0)
5348 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
5349"RTN","EDPRPT2",3,0)
5350 ;
5351"RTN","EDPRPT2",4,0)
5352DEL(BEG,END) ; Get Delay Report for EDPSITE by date range
5353"RTN","EDPRPT2",5,0)
5354 ; CNT = counters
5355"RTN","EDPRPT2",6,0)
5356 ; MIN = accumulate #minutes
5357"RTN","EDPRPT2",7,0)
5358 N IN,OUT,LOG,X,X0,X1,X3,X4,ELAPSE,ADMDEC,ADMDEL,DISP,VADISP,CNT,MIN,DEL,ACU,NOW
5359"RTN","EDPRPT2",8,0)
5360 D INIT ;set counters, sums to 0
5361"RTN","EDPRPT2",9,0)
5362 D:'$G(CSV) XML^EDPX("<logEntries>") I $G(CSV) D ;headers
5363"RTN","EDPRPT2",10,0)
5364 . N TAB S TAB=$C(9)
5365"RTN","EDPRPT2",11,0)
5366 . S X="ED IEN"_TAB_"Time In"_TAB_"Elapsed"_TAB_"Dispo"_TAB_"Delay Reason"_TAB_"MD"_TAB_"Adm Dec"_TAB_"Adm Delay"_TAB_"Acuity"_TAB_"Diagnosis"
5367"RTN","EDPRPT2",12,0)
5368 . D ADD^EDPCSV(X)
5369"RTN","EDPRPT2",13,0)
5370 S IN=BEG-.000001
5371"RTN","EDPRPT2",14,0)
5372 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
5373"RTN","EDPRPT2",15,0)
5374 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
5375"RTN","EDPRPT2",16,0)
5376 . S ACU=$$ECODE^EDPRPT($P(X3,U,3)),DEL=+$P(X1,U,5),CNT=CNT+1
5377"RTN","EDPRPT2",17,0)
5378 . S DISP=$$ECODE^EDPRPT($P(X1,U,2)),VADISP=$$ADMIT(DISP)
5379"RTN","EDPRPT2",18,0)
5380 . S OUT=$P(X0,U,9) S:OUT="" OUT=NOW
5381"RTN","EDPRPT2",19,0)
5382 . S ELAPSE=($$FMDIFF^XLFDT(OUT,IN,2)\60),MIN=MIN+ELAPSE
5383"RTN","EDPRPT2",20,0)
5384D1 . ; all admissions
5385"RTN","EDPRPT2",21,0)
5386 . S (ADMDEC,ADMDEL)=0
5387"RTN","EDPRPT2",22,0)
5388 . S X=$$ADMSTS^EDPRPT(LOG) I X D
5389"RTN","EDPRPT2",23,0)
5390 .. S ADMDEC=$$FMDIFF^XLFDT(X,IN,2)\60
5391"RTN","EDPRPT2",24,0)
5392 .. S:ADMDEC CNT("DEC")=CNT("DEC")+1,MIN("DEC")=MIN("DEC")+ADMDEC
5393"RTN","EDPRPT2",25,0)
5394 .. S ADMDEL=$$FMDIFF^XLFDT(OUT,X,2)\60
5395"RTN","EDPRPT2",26,0)
5396D2 . ; VA admissions only
5397"RTN","EDPRPT2",27,0)
5398 . I VADISP D
5399"RTN","EDPRPT2",28,0)
5400 .. S CNT("VA")=CNT("VA")+1
5401"RTN","EDPRPT2",29,0)
5402 .. S MIN("VA")=MIN("VA")+ELAPSE
5403"RTN","EDPRPT2",30,0)
5404 .. S MIN("VADEC")=MIN("VADEC")+ADMDEC
5405"RTN","EDPRPT2",31,0)
5406 .. S MIN("VADEL")=MIN("VADEL")+ADMDEL
5407"RTN","EDPRPT2",32,0)
5408 .. S:ADMDEL>359 CNT("VADEL6")=CNT("VADEL6")+1
5409"RTN","EDPRPT2",33,0)
5410D3 . ; elapsed visit time >=6 hrs
5411"RTN","EDPRPT2",34,0)
5412 . S:ELAPSE>1380 CNT("23+")=CNT("23+")+1
5413"RTN","EDPRPT2",35,0)
5414 . I ELAPSE>359 D
5415"RTN","EDPRPT2",36,0)
5416 .. S CNT("6+")=CNT("6+")+1
5417"RTN","EDPRPT2",37,0)
5418 .. S:VADISP CNT("VA6")=CNT("VA6")+1
5419"RTN","EDPRPT2",38,0)
5420 .. N ROW S ROW("id")=LOG,ROW("inTS")=$$EDATE^EDPRPT(IN)
5421"RTN","EDPRPT2",39,0)
5422 .. S ROW("elapsed")=$$ETIME^EDPRPT(ELAPSE)_" *"
5423"RTN","EDPRPT2",40,0)
5424 .. S ROW("disposition")=DISP
5425"RTN","EDPRPT2",41,0)
5426 .. S ROW("acuity")=ACU
5427"RTN","EDPRPT2",42,0)
5428 .. S ROW("delayReason")=$$ECODE(DEL)
5429"RTN","EDPRPT2",43,0)
5430 .. S ROW("md")=$$EPERS^EDPRPT($P(X3,U,5))
5431"RTN","EDPRPT2",44,0)
5432 .. S ROW("dx")=$P(X4,U)
5433"RTN","EDPRPT2",45,0)
5434 .. S ROW("admDec")=ADMDEC
5435"RTN","EDPRPT2",46,0)
5436 .. S ROW("admDel")=ADMDEL
5437"RTN","EDPRPT2",47,0)
5438 .. I '$G(CSV) S X=$$XMLA^EDPX("log",.ROW) D XML^EDPX(X) Q
5439"RTN","EDPRPT2",48,0)
5440 .. S X=ROW("id")
5441"RTN","EDPRPT2",49,0)
5442 .. F I="inTS","elapsed","disposition","delayReason","md","admDec","admDel","acuity","dx" S X=X_$C(9)_$G(ROW(I))
5443"RTN","EDPRPT2",50,0)
5444 .. D ADD^EDPCSV(X)
5445"RTN","EDPRPT2",51,0)
5446 . S:ACU="" ACU="none"
5447"RTN","EDPRPT2",52,0)
5448 . S:DEL CNT(DEL,ACU)=+$G(CNT(DEL,ACU))+1,CNT(DEL)=+$G(CNT(DEL))+1
5449"RTN","EDPRPT2",53,0)
5450 D:'$G(CSV) XML^EDPX("</logEntries>")
5451"RTN","EDPRPT2",54,0)
5452 Q
5453"RTN","EDPRPT2",55,0)
5454 ;
5455"RTN","EDPRPT2",56,0)
5456D4 ; return counts and averages
5457"RTN","EDPRPT2",57,0)
5458 D XML^EDPX("<averages>")
5459"RTN","EDPRPT2",58,0)
5460 S X="<average type='All Patients' total='"_CNT_"' avgTime='"_$$ETIME^EDPRPT(MIN/CNT)_"' num6hr='"_CNT("6+")_"' num23hr='"_CNT("23+")_"' avgAdmDec='"_$$ETIME^EDPRPT(MIN("DEC")/CNT("DEC"))_"' />"
5461"RTN","EDPRPT2",59,0)
5462 D XML^EDPX(X)
5463"RTN","EDPRPT2",60,0)
5464 S X="<average type='Not VA Admitted' total='"_(CNT-CNT("VA"))_"' avgTime='"_$$ETIME^EDPRPT((MIN-MIN("VA")/(CNT-CNT("VA"))))_"' />"
5465"RTN","EDPRPT2",61,0)
5466 D XML^EDPX(X)
5467"RTN","EDPRPT2",62,0)
5468 S X="<average type='VA Admitted' total='"_CNT("VA")_"' num6hr='"_CNT("VA6")_"' numAdmDel6hr='"_CNT("VADEL6")_"' avgAdmDel='"_$$ETIME^EDPRPT(MIN("VADEL")/CNT("VA"))_"' avgAdmDec='"_$$ETIME^EDPRPT(MIN("VADEC")/CNT("VA"))_"' />"
5469"RTN","EDPRPT2",63,0)
5470 D XML^EDPX(X)
5471"RTN","EDPRPT2",64,0)
5472 I $G(SUMONLY) S DEL=0 F S DEL=$O(CNT(DEL)) Q:+DEL'=DEL D
5473"RTN","EDPRPT2",65,0)
5474 . S CNT(DEL,"reason")=$$ECODE(DEL)
5475"RTN","EDPRPT2",66,0)
5476 . S CNT(DEL,"total")=CNT(DEL)
5477"RTN","EDPRPT2",67,0)
5478 . K ROW M ROW=CNT(DEL)
5479"RTN","EDPRPT2",68,0)
5480 . S X=$$XMLA^EDPX("delay",.ROW) D XML^EDPX(X)
5481"RTN","EDPRPT2",69,0)
5482 D XML^EDPX("</averages>")
5483"RTN","EDPRPT2",70,0)
5484 Q
5485"RTN","EDPRPT2",71,0)
5486 ;
5487"RTN","EDPRPT2",72,0)
5488INIT ; Initialize counters and sums
5489"RTN","EDPRPT2",73,0)
5490 N I S (CNT,MIN)=0
5491"RTN","EDPRPT2",74,0)
5492 F I="DEC","VA","VA6","VADEL6","6+","23+" S CNT(I)=0
5493"RTN","EDPRPT2",75,0)
5494 F I="DEC","VA","VADEC","VADEL" S MIN(I)=0
5495"RTN","EDPRPT2",76,0)
5496 S NOW=$$NOW^EDPRPT
5497"RTN","EDPRPT2",77,0)
5498 Q
5499"RTN","EDPRPT2",78,0)
5500 ;
5501"RTN","EDPRPT2",79,0)
5502ECODE(IEN) ; Return external value for a Code
5503"RTN","EDPRPT2",80,0)
5504 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,2) ;name
5505"RTN","EDPRPT2",81,0)
5506 Q ""
5507"RTN","EDPRPT2",82,0)
5508 ;
5509"RTN","EDPRPT2",83,0)
5510ADMIT(X) ; -- Return 1 or 0, if disposition indicates a VA admission
5511"RTN","EDPRPT2",84,0)
5512 N I,Y S Y=0
5513"RTN","EDPRPT2",85,0)
5514 S I=+$O(^EDPB(233.1,"AB","disposition",X,0))
5515"RTN","EDPRPT2",86,0)
5516 S:$P($G(^EDPB(233.1,I,0)),U,5)["A" Y=1
5517"RTN","EDPRPT2",87,0)
5518 Q Y
5519"RTN","EDPRPT3")
55200^35^B6932750
5521"RTN","EDPRPT3",1,0)
5522EDPRPT3 ;SLC/MKB - Missed Opportunity Report
5523"RTN","EDPRPT3",2,0)
5524 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
5525"RTN","EDPRPT3",3,0)
5526 ;
5527"RTN","EDPRPT3",4,0)
5528MO(BEG,END) ; Get Missed Opp Report for EDPSITE by date range
5529"RTN","EDPRPT3",5,0)
5530 ; CNT = counters
5531"RTN","EDPRPT3",6,0)
5532 N IN,OUT,LOG,DISP,X,X0,X1,X3,X4,ADMDEC,ADMDEL,CNT,ROW,NOW
5533"RTN","EDPRPT3",7,0)
5534 S CNT=0 F X="L","AMA","E" S CNT(X)=0
5535"RTN","EDPRPT3",8,0)
5536 S NOW=$$NOW^EDPRPT
5537"RTN","EDPRPT3",9,0)
5538 D:'$G(CSV) XML^EDPX("<logEntries>") I $G(CSV) D ;headers
5539"RTN","EDPRPT3",10,0)
5540 . N TAB S TAB=$C(9)
5541"RTN","EDPRPT3",11,0)
5542 . S X="ED"_TAB_"Time In"_TAB_"Complaint"_TAB_"MD"_TAB_"Acuity"_TAB_"Elapsed"_TAB_"Triage"_TAB_"Wait"_TAB_"Dispo"_TAB_"Adm Dec"
5543"RTN","EDPRPT3",12,0)
5544 . D ADD^EDPCSV(X)
5545"RTN","EDPRPT3",13,0)
5546 S IN=BEG-.000001
5547"RTN","EDPRPT3",14,0)
5548 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
5549"RTN","EDPRPT3",15,0)
5550 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
5551"RTN","EDPRPT3",16,0)
5552 . S DISP=$$ECODE^EDPRPT($P(X1,U,2)) Q:"^L^AMA^E^"'[(U_DISP_U)
5553"RTN","EDPRPT3",17,0)
5554 . S OUT=$P(X0,U,9) S:OUT="" OUT=NOW
5555"RTN","EDPRPT3",18,0)
5556 . K ROW S ROW("id")=LOG
5557"RTN","EDPRPT3",19,0)
5558 . S ROW("inTS")=$$EDATE^EDPRPT(IN)
5559"RTN","EDPRPT3",20,0)
5560 . S ROW("complaint")=$P(X1,U)
5561"RTN","EDPRPT3",21,0)
5562 . S ROW("acuity")=$$ECODE^EDPRPT($P(X3,U,3))
5563"RTN","EDPRPT3",22,0)
5564 . S ROW("md")=$$EPERS^EDPRPT($P(X3,U,5))
5565"RTN","EDPRPT3",23,0)
5566 . S ROW("disposition")=DISP,CNT(DISP)=CNT(DISP)+1
5567"RTN","EDPRPT3",24,0)
5568 . ;calculate times
5569"RTN","EDPRPT3",25,0)
5570 . S ROW("elapsed")=($$FMDIFF^XLFDT(OUT,IN,2)\60)
5571"RTN","EDPRPT3",26,0)
5572 . S X=$$ASSIGNED^EDPRPT(LOG,3),ROW("triage")=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0) ;acuity
5573"RTN","EDPRPT3",27,0)
5574 . S X=$$NWBED^EDPRPT(LOG),ROW("wait")=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0) ;non-wait bed
5575"RTN","EDPRPT3",28,0)
5576 . S X=$$ADMSTS^EDPRPT(LOG)
5577"RTN","EDPRPT3",29,0)
5578 . S ROW("admDec")=$S(X:($$FMDIFF^XLFDT(X,IN,2)\60),1:0)
5579"RTN","EDPRPT3",30,0)
5580 . I '$G(CSV) S X=$$XMLA^EDPX("log",.ROW) D XML^EDPX(X) Q
5581"RTN","EDPRPT3",31,0)
5582 . S X=ROW("id")
5583"RTN","EDPRPT3",32,0)
5584 . F I="inTS","complaint","md","acuity","elapsed","triage","wait","disposition","admDec" S X=X_$C(9)_$G(ROW(I))
5585"RTN","EDPRPT3",33,0)
5586 . D ADD^EDPCSV(X)
5587"RTN","EDPRPT3",34,0)
5588 D:'$G(CSV) XML^EDPX("</logEntries>")
5589"RTN","EDPRPT3",35,0)
5590 ;
5591"RTN","EDPRPT3",36,0)
5592 ; return totals, as XML or CSV
5593"RTN","EDPRPT3",37,0)
5594 I '$G(CSV) S X=$$XMLA^EDPX("totals",.CNT) D XML^EDPX(X) Q
5595"RTN","EDPRPT3",38,0)
5596 N TAB S TAB=$C(9)
5597"RTN","EDPRPT3",39,0)
5598 D BLANK^EDPCSV
5599"RTN","EDPRPT3",40,0)
5600 S X=TAB_TAB_TAB_TAB_"Total Left without being Seen: "_CNT("L")
5601"RTN","EDPRPT3",41,0)
5602 D ADD^EDPCSV(X),BLANK^EDPCSV
5603"RTN","EDPRPT3",42,0)
5604 S X=TAB_TAB_TAB_TAB_"Total Left AMA: "_CNT("AMA")
5605"RTN","EDPRPT3",43,0)
5606 D ADD^EDPCSV(X),BLANK^EDPCSV
5607"RTN","EDPRPT3",44,0)
5608 S X=TAB_TAB_TAB_TAB_"Total Eloped: "_CNT("E") D ADD^EDPCSV(X)
5609"RTN","EDPRPT3",45,0)
5610 Q
5611"RTN","EDPRPT4")
56120^36^B21986629
5613"RTN","EDPRPT4",1,0)
5614EDPRPT4 ;SLC/MKB - Delay Summary Report
5615"RTN","EDPRPT4",2,0)
5616 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
5617"RTN","EDPRPT4",3,0)
5618 ;
5619"RTN","EDPRPT4",4,0)
5620SUM(BEG,END) ; Get Delay Report for EDPSITE by date range
5621"RTN","EDPRPT4",5,0)
5622 ; CNT = counters
5623"RTN","EDPRPT4",6,0)
5624 ; MIN = accumulate #minutes
5625"RTN","EDPRPT4",7,0)
5626 N IN,OUT,LOG,X,X0,X1,X3,X4,ELAPSE,ADMDEC,ADMDEL,DISP,VADISP,CNT,MIN,PROV,DEL,ACU,Y,NOW
5627"RTN","EDPRPT4",8,0)
5628 D INIT ;set counters, sums to 0
5629"RTN","EDPRPT4",9,0)
5630 S IN=BEG-.000001
5631"RTN","EDPRPT4",10,0)
5632 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
5633"RTN","EDPRPT4",11,0)
5634 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
5635"RTN","EDPRPT4",12,0)
5636 . S DISP=$$ECODE^EDPRPT($P(X1,U,2)),VADISP=$$ADMIT^EDPRPT2(DISP)
5637"RTN","EDPRPT4",13,0)
5638 . S ACU=$$ECODE($P(X3,U,3))
5639"RTN","EDPRPT4",14,0)
5640 . S DEL=+$P(X1,U,5),CNT=CNT+1
5641"RTN","EDPRPT4",15,0)
5642 . S OUT=$P(X0,U,9) S:OUT="" OUT=NOW
5643"RTN","EDPRPT4",16,0)
5644 . S ELAPSE=($$FMDIFF^XLFDT(OUT,IN,2)\60),MIN=MIN+ELAPSE
5645"RTN","EDPRPT4",17,0)
5646D1 . ; all admissions
5647"RTN","EDPRPT4",18,0)
5648 . S (ADMDEC,ADMDEL)=0
5649"RTN","EDPRPT4",19,0)
5650 . S X=$$ADMSTS^EDPRPT(LOG) I X D
5651"RTN","EDPRPT4",20,0)
5652 .. S ADMDEC=$$FMDIFF^XLFDT(X,IN,2)\60
5653"RTN","EDPRPT4",21,0)
5654 .. S:ADMDEC CNT("DEC")=CNT("DEC")+1,MIN("DEC")=MIN("DEC")+ADMDEC
5655"RTN","EDPRPT4",22,0)
5656 .. S ADMDEL=$$FMDIFF^XLFDT(OUT,X,2)\60
5657"RTN","EDPRPT4",23,0)
5658D2 . ; VA admissions only
5659"RTN","EDPRPT4",24,0)
5660 . I VADISP D
5661"RTN","EDPRPT4",25,0)
5662 .. S CNT("VA")=CNT("VA")+1
5663"RTN","EDPRPT4",26,0)
5664 .. S MIN("VA")=MIN("VA")+ELAPSE
5665"RTN","EDPRPT4",27,0)
5666 .. S MIN("VADEC")=MIN("VADEC")+ADMDEC
5667"RTN","EDPRPT4",28,0)
5668 .. S MIN("VADEL")=MIN("VADEL")+ADMDEL
5669"RTN","EDPRPT4",29,0)
5670 .. S:ADMDEL>359 CNT("VADEL6")=CNT("VADEL6")+1
5671"RTN","EDPRPT4",30,0)
5672D3 . ; elapsed visit time >=6 hrs
5673"RTN","EDPRPT4",31,0)
5674 . S:ELAPSE>1380 CNT("23+")=CNT("23+")+1
5675"RTN","EDPRPT4",32,0)
5676 . I ELAPSE>359 D
5677"RTN","EDPRPT4",33,0)
5678 .. S CNT("6+")=CNT("6+")+1
5679"RTN","EDPRPT4",34,0)
5680 .. S:VADISP CNT("VA6")=CNT("VA6")+1
5681"RTN","EDPRPT4",35,0)
5682 . S:DEL CNT(DEL,ACU)=+$G(CNT(DEL,ACU))+1,CNT(DEL)=+$G(CNT(DEL))+1
5683"RTN","EDPRPT4",36,0)
5684 ;
5685"RTN","EDPRPT4",37,0)
5686D4 ; return counts and averages as CSV
5687"RTN","EDPRPT4",38,0)
5688 I $G(CSV) D Q
5689"RTN","EDPRPT4",39,0)
5690 . N TAB S TAB=$C(9)
5691"RTN","EDPRPT4",40,0)
5692 . S X=TAB_TAB_"Delay Reason"_TAB_"0"_TAB_"1"_TAB_"2"_TAB_"3"_TAB_"4"_TAB_"5"_TAB_"Total"
5693"RTN","EDPRPT4",41,0)
5694 . D ADD^EDPCSV(X) ;headers
5695"RTN","EDPRPT4",42,0)
5696 . S X="Total ED Visits: "_CNT_TAB
5697"RTN","EDPRPT4",43,0)
5698 . S X=X_"Average ED Visit Time: "_$S(CNT:$$ETIME^EDPRPT(MIN\CNT),1:0)
5699"RTN","EDPRPT4",44,0)
5700 . D ADD^EDPCSV(X),BLANK^EDPCSV
5701"RTN","EDPRPT4",45,0)
5702 . S X="Total Visits Over 6 Hours: "_CNT("6+")_TAB
5703"RTN","EDPRPT4",46,0)
5704 . S X=X_"Total Visits Over 23 Hours: "_CNT("23+")
5705"RTN","EDPRPT4",47,0)
5706 . D ADD^EDPCSV(X),BLANK^EDPCSV
5707"RTN","EDPRPT4",48,0)
5708 . S Y=CNT-CNT("VA"),X="Total Visits Not VA Admitted: "_Y_TAB
5709"RTN","EDPRPT4",49,0)
5710 . S X=X_"Average Visit Time for Not VA Admitted: "_$S(Y:$$ETIME^EDPRPT((MIN-MIN("VA")\Y)),1:0)
5711"RTN","EDPRPT4",50,0)
5712 . D ADD^EDPCSV(X),BLANK^EDPCSV
5713"RTN","EDPRPT4",51,0)
5714 . S Y=CNT("VA"),X="Total VA Admits: "_Y_TAB
5715"RTN","EDPRPT4",52,0)
5716 . S X=X_"Total VA Admit Delay Over 6 Hours: "_CNT("VADEL6")
5717"RTN","EDPRPT4",53,0)
5718 . D ADD^EDPCSV(X),BLANK^EDPCSV
5719"RTN","EDPRPT4",54,0)
5720 . S X="Average VA Admit Decision Time: "_$S(Y:$$ETIME^EDPRPT(MIN("VADEC")\Y),1:0)_TAB
5721"RTN","EDPRPT4",55,0)
5722 . S X=X_"Average VA Admit Delay Time: "_$S(Y:$$ETIME^EDPRPT(MIN("VADEL")\Y),1:0)
5723"RTN","EDPRPT4",56,0)
5724 . D ADD^EDPCSV(X),BLANK^EDPCSV
5725"RTN","EDPRPT4",57,0)
5726 . S Y=CNT("DEC"),X="Average All Admit Decision Time: "_$S(Y:$$ETIME^EDPRPT(MIN("DEC")\Y),1:0)
5727"RTN","EDPRPT4",58,0)
5728 . D ADD^EDPCSV(X),BLANK^EDPCSV
5729"RTN","EDPRPT4",59,0)
5730 . S X=TAB_TAB_"Delay Chart" D ADD^EDPCSV(X),BLANK^EDPCSV
5731"RTN","EDPRPT4",60,0)
5732 . S X=TAB_TAB_"Acuity"_TAB_"None"_TAB_"1"_TAB_"2"_TAB_"3"_TAB_"4"_TAB_"5"_TAB_"Total"
5733"RTN","EDPRPT4",61,0)
5734 . D ADD^EDPCSV(X),BLANK^EDPCSV
5735"RTN","EDPRPT4",62,0)
5736 . S DEL=0 F S DEL=$O(CNT(DEL)) Q:+DEL'=DEL D
5737"RTN","EDPRPT4",63,0)
5738 .. S X=TAB_TAB_$$ENAME(DEL)
5739"RTN","EDPRPT4",64,0)
5740 .. F I="none","one","two","three","four","five" S X=X_TAB_+$G(CNT(DEL,I))
5741"RTN","EDPRPT4",65,0)
5742 .. S X=X_TAB_CNT(DEL) D ADD^EDPCSV(X)
5743"RTN","EDPRPT4",66,0)
5744D5 ; or return counts and averages as XML
5745"RTN","EDPRPT4",67,0)
5746 D XML^EDPX("<averages>")
5747"RTN","EDPRPT4",68,0)
5748 S X="<average type='All Patients' total='"_CNT
5749"RTN","EDPRPT4",69,0)
5750 S X=X_"' avgTime='"_$S(CNT:$$ETIME^EDPRPT(MIN\CNT),1:0)
5751"RTN","EDPRPT4",70,0)
5752 S X=X_"' num6hr='"_CNT("6+")_"' num23hr='"_CNT("23+"),Y=CNT("DEC")
5753"RTN","EDPRPT4",71,0)
5754 S X=X_"' avgAdmDec='"_$S(Y:$$ETIME^EDPRPT(MIN("DEC")\Y),1:0)_"' />"
5755"RTN","EDPRPT4",72,0)
5756 D XML^EDPX(X)
5757"RTN","EDPRPT4",73,0)
5758 S Y=CNT-CNT("VA")
5759"RTN","EDPRPT4",74,0)
5760 S X="<average type='Not VA Admitted' total='"_Y_"' avgTime='"_$S(Y:$$ETIME^EDPRPT((MIN-MIN("VA")\Y)),1:0)_"' />"
5761"RTN","EDPRPT4",75,0)
5762 D XML^EDPX(X)
5763"RTN","EDPRPT4",76,0)
5764 S Y=CNT("VA"),X="<average type='VA Admitted' total='"_Y
5765"RTN","EDPRPT4",77,0)
5766 S X=X_"' num6hr='"_CNT("VA6")_"' numAdmDel6hr='"_CNT("VADEL6")
5767"RTN","EDPRPT4",78,0)
5768 S X=X_"' avgAdmDel='"_$S(Y:$$ETIME^EDPRPT(MIN("VADEL")\Y),1:0)
5769"RTN","EDPRPT4",79,0)
5770 S X=X_"' avgAdmDec='"_$S(Y:$$ETIME^EDPRPT(MIN("VADEC")\Y),1:0)_"' />"
5771"RTN","EDPRPT4",80,0)
5772 D XML^EDPX(X)
5773"RTN","EDPRPT4",81,0)
5774 D XML^EDPX("</averages>")
5775"RTN","EDPRPT4",82,0)
5776 D XML^EDPX("<delayChart>")
5777"RTN","EDPRPT4",83,0)
5778 S DEL=0 F S DEL=$O(CNT(DEL)) Q:+DEL'=DEL D
5779"RTN","EDPRPT4",84,0)
5780 . S CNT(DEL,"reason")=$$ENAME(DEL)
5781"RTN","EDPRPT4",85,0)
5782 . S CNT(DEL,"total")=CNT(DEL)
5783"RTN","EDPRPT4",86,0)
5784 . F I="none","one","two","three","four","five" S CNT(DEL,I)=+$G(CNT(DEL,I))
5785"RTN","EDPRPT4",87,0)
5786 . K ROW M ROW=CNT(DEL)
5787"RTN","EDPRPT4",88,0)
5788 . S X=$$XMLA^EDPX("delay",.ROW) D XML^EDPX(X)
5789"RTN","EDPRPT4",89,0)
5790 D XML^EDPX("</delayChart>")
5791"RTN","EDPRPT4",90,0)
5792 Q
5793"RTN","EDPRPT4",91,0)
5794 ;
5795"RTN","EDPRPT4",92,0)
5796INIT ; Initialize counters and sums
5797"RTN","EDPRPT4",93,0)
5798 N I S (CNT,MIN)=0
5799"RTN","EDPRPT4",94,0)
5800 F I="DEC","VA","VA6","VADEL6","6+","23+" S CNT(I)=0
5801"RTN","EDPRPT4",95,0)
5802 F I="DEC","VA","VADEC","VADEL" S MIN(I)=0
5803"RTN","EDPRPT4",96,0)
5804 S NOW=$$NOW^EDPRPT
5805"RTN","EDPRPT4",97,0)
5806 Q
5807"RTN","EDPRPT4",98,0)
5808 ;
5809"RTN","EDPRPT4",99,0)
5810ECODE(IEN) ; Return external value for an Acuity code
5811"RTN","EDPRPT4",100,0)
5812 N X,Y S X=$P($G(^EDPB(233.1,+IEN,0)),U,3) ;code
5813"RTN","EDPRPT4",101,0)
5814 S Y=$S(X="":"none",'X:X,X=1:"one",X=2:"two",X=3:"three",X=4:"four",X=5:"five",1:"X")
5815"RTN","EDPRPT4",102,0)
5816 Q Y
5817"RTN","EDPRPT4",103,0)
5818 ;
5819"RTN","EDPRPT4",104,0)
5820ENAME(IEN) ; Return external value for a Code
5821"RTN","EDPRPT4",105,0)
5822 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,2) ;name
5823"RTN","EDPRPT4",106,0)
5824 Q ""
5825"RTN","EDPRPT5")
58260^37^B33876185
5827"RTN","EDPRPT5",1,0)
5828EDPRPT5 ;SLC/MKB - Shift Report
5829"RTN","EDPRPT5",2,0)
5830 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
5831"RTN","EDPRPT5",3,0)
5832 ;
5833"RTN","EDPRPT5",4,0)
5834SFT(DAY) ; Get Shift Report for EDPSITE on DAY
5835"RTN","EDPRPT5",5,0)
5836 N BEG,END,IN,OUT,LOG,X,X0,X1,X3,X4,S,SOUT,SHIFT,NOW
5837"RTN","EDPRPT5",6,0)
5838 N CNT,VA,DX,OTH,HR6,TRG,OCB,MO,DIE,UNK,PREV,NEXT,SUB
5839"RTN","EDPRPT5",7,0)
5840 N ELAPSE,ADMDEC,STS,DISP,COL
5841"RTN","EDPRPT5",8,0)
5842 D INIT ;set counters to 0, SHIFT(#) = start time in seconds
5843"RTN","EDPRPT5",9,0)
5844 I 'SHIFT D ERR^EDPRPT(2300013) Q
5845"RTN","EDPRPT5",10,0)
5846 S BEG=$S(SHIFT(1)>0:$$FMADD^XLFDT(DAY,-1,,,SHIFT(SHIFT)),1:DAY)
5847"RTN","EDPRPT5",11,0)
5848 S END=$S(SHIFT(1)>0:$$FMADD^XLFDT(DAY,,,,SHIFT(SHIFT)),1:DAY_".2359")
5849"RTN","EDPRPT5",12,0)
5850 S IN=BEG-.000001 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END D
5851"RTN","EDPRPT5",13,0)
5852 . S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
5853"RTN","EDPRPT5",14,0)
5854 .. S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
5855"RTN","EDPRPT5",15,0)
5856 .. S STS=$$ECODE^EDPRPT($P(X3,U,2))
5857"RTN","EDPRPT5",16,0)
5858 .. S DISP=$$ECODE^EDPRPT($P(X1,U,2))
5859"RTN","EDPRPT5",17,0)
5860 .. S OUT=$P(X0,U,9) S:OUT="" OUT=NOW
5861"RTN","EDPRPT5",18,0)
5862 .. S ELAPSE=($$FMDIFF^XLFDT(OUT,IN,2)\60) ;#min
5863"RTN","EDPRPT5",19,0)
5864 .. S ADMDEC=$$ADMSTS^EDPRPT(LOG)
5865"RTN","EDPRPT5",20,0)
5866D1 .. ; all visits
5867"RTN","EDPRPT5",21,0)
5868 .. S S=$$SHIFT(IN,1),SOUT=$$SHIFT(OUT,1)
5869"RTN","EDPRPT5",22,0)
5870 .. S CNT(S)=CNT(S)+1
5871"RTN","EDPRPT5",23,0)
5872 .. S:'$P(X3,U,3) TRG(S)=TRG(S)+1
5873"RTN","EDPRPT5",24,0)
5874 .. S:ELAPSE>359 HR6(S)=HR6(S)+1
5875"RTN","EDPRPT5",25,0)
5876 .. S:DISP="O" OTH(S)=OTH(S)+1
5877"RTN","EDPRPT5",26,0)
5878 .. S:DISP="D" DIE(S)=DIE(S)+1
5879"RTN","EDPRPT5",27,0)
5880 .. S:(DISP="AMA")!(DISP="L")!(DISP="E") MO(S)=MO(S)+1
5881"RTN","EDPRPT5",28,0)
5882 .. S:DISP="" UNK(S)=UNK(S)+1
5883"RTN","EDPRPT5",29,0)
5884 .. I $L(STS),$$UP^XLFSTR(STS)'="GONE",S'=SOUT S OCB(S)=OCB(S)+1
5885"RTN","EDPRPT5",30,0)
5886D2 S OUT=BEG-.000001 F S OUT=$O(^EDP(230,"ATO",EDPSITE,OUT)) Q:'OUT Q:OUT>END D
5887"RTN","EDPRPT5",31,0)
5888 . S LOG=0 F S LOG=+$O(^EDP(230,"ATO",EDPSITE,OUT,LOG)) Q:LOG<1 D
5889"RTN","EDPRPT5",32,0)
5890 .. S DX(SOUT)=DX(SOUT)+1,IN=$P(X0,U,8)
5891"RTN","EDPRPT5",33,0)
5892 .. S:IN<BEG PREV=PREV+1
5893"RTN","EDPRPT5",34,0)
5894 .. I ADMDEC,ADMDEC>BEG,"^VA^ICU^T^"[(U_DISP_U) S S=$$SHIFT(ADMDEC,1),VA(S)=VA(S)+1
5895"RTN","EDPRPT5",35,0)
5896D3 ; calculate #carried over
5897"RTN","EDPRPT5",36,0)
5898 S S=SUB(SHIFT),NEXT(S)=PREV+CNT(S)-DX(S)
5899"RTN","EDPRPT5",37,0)
5900 S PREV("one")=NEXT(S),PREV(S)=PREV
5901"RTN","EDPRPT5",38,0)
5902 F I=1:1:(SHIFT-1) S S=SUB(I),X=SUB($S(I>1:I-1,1:SHIFT)),NEXT(S)=NEXT(X)+CNT(S)-DX(S)
5903"RTN","EDPRPT5",39,0)
5904 F I=2:1:(SHIFT-1) S PREV(SUB(I))=NEXT(SUB(I-1))
5905"RTN","EDPRPT5",40,0)
5906 ;S NEXT("three")=PREV+CNT("three")-DX("three")
5907"RTN","EDPRPT5",41,0)
5908 ;S NEXT("one")=NEXT("three")+CNT("one")-DX("one")
5909"RTN","EDPRPT5",42,0)
5910 ;S NEXT("two")=NEXT("one")+CNT("two")-DX("two")
5911"RTN","EDPRPT5",43,0)
5912 ;S PREV("one")=NEXT("three"),PREV("two")=NEXT("one"),PREV("three")=PREV
5913"RTN","EDPRPT5",44,0)
5914D4 ; return column info
5915"RTN","EDPRPT5",45,0)
5916 F I=1:1:SHIFT D ;convert #seconds to HH[:MM]
5917"RTN","EDPRPT5",46,0)
5918 . N X,Y S X=SHIFT(I)
5919"RTN","EDPRPT5",47,0)
5920 . S Y=X\3600 S:Y=0 Y=12 S:Y>12 Y=Y-12
5921"RTN","EDPRPT5",48,0)
5922 . S SHIFT(I)=Y_$S(X#3600:":"_(X#3600)\60,1:"")
5923"RTN","EDPRPT5",49,0)
5924 F I=1:1:SHIFT D ;build column captions
5925"RTN","EDPRPT5",50,0)
5926 . S COL(I,"name")=SHIFT(I)_" to "_SHIFT($S(I+1>SHIFT:1,1:I+1))
5927"RTN","EDPRPT5",51,0)
5928 . S COL(I,"shiftId")=SUB(I)
5929"RTN","EDPRPT5",52,0)
5930 ;S COL(1,"name")="7 to 3",COL(1,"shiftId")="one"
5931"RTN","EDPRPT5",53,0)
5932 ;S COL(2,"name")="3 to 11",COL(2,"shiftId")="two"
5933"RTN","EDPRPT5",54,0)
5934 ;S COL(3,"name")="11 to 7",COL(3,"shiftId")="three"
5935"RTN","EDPRPT5",55,0)
5936 I $G(CSV) D CSV Q
5937"RTN","EDPRPT5",56,0)
5938 D XML^EDPX("<columns>")
5939"RTN","EDPRPT5",57,0)
5940 F S=1:1:SHIFT K X M X=COL(S) S X=$$XMLA^EDPX("column",.X) D XML^EDPX(X)
5941"RTN","EDPRPT5",58,0)
5942 D XML^EDPX("</columns>")
5943"RTN","EDPRPT5",59,0)
5944D5 ; return counts and averages as XML
5945"RTN","EDPRPT5",60,0)
5946 D XML^EDPX("<categories>")
5947"RTN","EDPRPT5",61,0)
5948 S X=$$XMLA^EDPX("category",.PREV) D XML^EDPX(X)
5949"RTN","EDPRPT5",62,0)
5950 S X=$$XMLA^EDPX("category",.CNT) D XML^EDPX(X)
5951"RTN","EDPRPT5",63,0)
5952 S X=$$XMLA^EDPX("category",.DX) D XML^EDPX(X)
5953"RTN","EDPRPT5",64,0)
5954 S X=$$XMLA^EDPX("category",.VA) D XML^EDPX(X)
5955"RTN","EDPRPT5",65,0)
5956 S X=$$XMLA^EDPX("category",.OTH) D XML^EDPX(X)
5957"RTN","EDPRPT5",66,0)
5958 S X=$$XMLA^EDPX("category",.HR6) D XML^EDPX(X)
5959"RTN","EDPRPT5",67,0)
5960 S X=$$XMLA^EDPX("category",.TRG) D XML^EDPX(X)
5961"RTN","EDPRPT5",68,0)
5962 S X=$$XMLA^EDPX("category",.OCB) D XML^EDPX(X)
5963"RTN","EDPRPT5",69,0)
5964 S X=$$XMLA^EDPX("category",.MO) D XML^EDPX(X)
5965"RTN","EDPRPT5",70,0)
5966 S X=$$XMLA^EDPX("category",.DIE) D XML^EDPX(X)
5967"RTN","EDPRPT5",71,0)
5968 S X=$$XMLA^EDPX("category",.UNK) D XML^EDPX(X)
5969"RTN","EDPRPT5",72,0)
5970 S X=$$XMLA^EDPX("category",.NEXT) D XML^EDPX(X)
5971"RTN","EDPRPT5",73,0)
5972 D XML^EDPX("</categories>")
5973"RTN","EDPRPT5",74,0)
5974 Q
5975"RTN","EDPRPT5",75,0)
5976 ;
5977"RTN","EDPRPT5",76,0)
5978CSV ; Return headers, counts and averages as CSV
5979"RTN","EDPRPT5",77,0)
5980 N X,TAB S TAB=$C(9)
5981"RTN","EDPRPT5",78,0)
5982 S X="Category"_TAB_COL(SHIFT,"name")
5983"RTN","EDPRPT5",79,0)
5984 F I=1:1:(SHIFT-1) S X=X_TAB_COL(I,"name")
5985"RTN","EDPRPT5",80,0)
5986 D ADD^EDPCSV(X) ;headers
5987"RTN","EDPRPT5",81,0)
5988 D ROW("Carried Over at Report Start",.PREV)
5989"RTN","EDPRPT5",82,0)
5990 D ROW("Number of New Patients",.CNT)
5991"RTN","EDPRPT5",83,0)
5992 D ROW("Number of Patients Discharged",.DX)
5993"RTN","EDPRPT5",84,0)
5994 D ROW("Number Dec to Admit to Va",.VA)
5995"RTN","EDPRPT5",85,0)
5996 D ROW("Number Dec to Admit to Other",.OTH)
5997"RTN","EDPRPT5",86,0)
5998 D ROW("Number Over 6 Hours",.HR6)
5999"RTN","EDPRPT5",87,0)
6000 D ROW("Number Waiting for Triage",.TRG)
6001"RTN","EDPRPT5",88,0)
6002 D ROW("Number of Occupied Beds",.OCB)
6003"RTN","EDPRPT5",89,0)
6004 D ROW("Number of Missed Opportunities",.MO)
6005"RTN","EDPRPT5",90,0)
6006 D ROW("Number Deceased",.DIE)
6007"RTN","EDPRPT5",91,0)
6008 D ROW("Number With No Disposition",.UNK)
6009"RTN","EDPRPT5",92,0)
6010 D ROW("Carry Over to Next Shift",.NEXT)
6011"RTN","EDPRPT5",93,0)
6012 Q
6013"RTN","EDPRPT5",94,0)
6014 ;
6015"RTN","EDPRPT5",95,0)
6016ROW(NAME,LIST) ; add row
6017"RTN","EDPRPT5",96,0)
6018 N S,I
6019"RTN","EDPRPT5",97,0)
6020 S S=SUB(SHIFT),X=NAME_TAB_LIST(S)
6021"RTN","EDPRPT5",98,0)
6022 F I=1:1:(SHIFT-1) S S=SUB(I),X=X_TAB_LIST(S)
6023"RTN","EDPRPT5",99,0)
6024 D ADD^EDPCSV(X)
6025"RTN","EDPRPT5",100,0)
6026 Q
6027"RTN","EDPRPT5",101,0)
6028 ;
6029"RTN","EDPRPT5",102,0)
6030INIT ; Initialize counters and sums
6031"RTN","EDPRPT5",103,0)
6032 N I,S
6033"RTN","EDPRPT5",104,0)
6034 S PREV=0,DAY=$P(DAY,".")
6035"RTN","EDPRPT5",105,0)
6036 D SETUP F I=1:1:SHIFT D
6037"RTN","EDPRPT5",106,0)
6038 . S S=$$WORD(I),SUB(I)=S
6039"RTN","EDPRPT5",107,0)
6040 . S CNT(S)=0,CNT("category")="Number of New Patients"
6041"RTN","EDPRPT5",108,0)
6042 . S DX(S)=0,DX("category")="Number of Patients Discharged"
6043"RTN","EDPRPT5",109,0)
6044 . S VA(S)=0,VA("category")="Number Dec to Admit to VA"
6045"RTN","EDPRPT5",110,0)
6046 . S OTH(S)=0,OTH("category")="Number Dec to Admit to Other"
6047"RTN","EDPRPT5",111,0)
6048 . S HR6(S)=0,HR6("category")="Number Over 6 Hours"
6049"RTN","EDPRPT5",112,0)
6050 . S TRG(S)=0,TRG("category")="Number Waiting for Triage" ;no acuity
6051"RTN","EDPRPT5",113,0)
6052 . S OCB(S)=0,OCB("category")="Number of Occupied Beds"
6053"RTN","EDPRPT5",114,0)
6054 . S MO(S)=0,MO("category")="Number of Missed Opportunities"
6055"RTN","EDPRPT5",115,0)
6056 . S DIE(S)=0,DIE("category")="Number Deceased"
6057"RTN","EDPRPT5",116,0)
6058 . S UNK(S)=0,UNK("category")="Number With No Disposition"
6059"RTN","EDPRPT5",117,0)
6060 . S PREV(S)=0,PREV("category")="Carried Over at Report Start"
6061"RTN","EDPRPT5",118,0)
6062 . S NEXT(S)=0,NEXT("category")="Carry Over to Next Shift"
6063"RTN","EDPRPT5",119,0)
6064 S NOW=$$NOW^EDPRPT
6065"RTN","EDPRPT5",120,0)
6066 Q
6067"RTN","EDPRPT5",121,0)
6068 ;
6069"RTN","EDPRPT5",122,0)
6070WORD(X) ; Return name of number X
6071"RTN","EDPRPT5",123,0)
6072 N Y S Y=$S(X=1:"one",X=2:"two",X=3:"three",X=4:"four",X=5:"five",X=6:"six",X=7:"seven",X=8:"eight",X=9:"nine",X=10:"ten",X=11:"eleven",X=12:"twelve",1:"none")
6073"RTN","EDPRPT5",124,0)
6074 Q Y
6075"RTN","EDPRPT5",125,0)
6076 ;
6077"RTN","EDPRPT5",126,0)
6078SETUP ; Create SHIFT(#) list of shift times
6079"RTN","EDPRPT5",127,0)
6080 N TA,X1,X,DUR
6081"RTN","EDPRPT5",128,0)
6082 S TA=+$O(^EDPB(231.9,"C",EDPSITE,0)),X1=$G(^EDPB(231.9,TA,1))
6083"RTN","EDPRPT5",129,0)
6084 S X=$P(X1,U,6),DUR=$P(X1,U,7)*60 I DUR'>0 S SHIFT=0 Q
6085"RTN","EDPRPT5",130,0)
6086 S SHIFT=1,SHIFT(1)=X*60 ;seconds
6087"RTN","EDPRPT5",131,0)
6088 F S X=SHIFT(SHIFT)+DUR Q:X>86340 S SHIFT=SHIFT+1,SHIFT(SHIFT)=X
6089"RTN","EDPRPT5",132,0)
6090 Q
6091"RTN","EDPRPT5",133,0)
6092 ;
6093"RTN","EDPRPT5",134,0)
6094SHIFT(X,TXT) ; Return shift # for time X using SHIFT(#)
6095"RTN","EDPRPT5",135,0)
6096 N TM,Y
6097"RTN","EDPRPT5",136,0)
6098 S TM=$P($$FMTH^XLFDT(X),",",2) ;#seconds since midnight
6099"RTN","EDPRPT5",137,0)
6100 I TM<SHIFT(1)!(TM>=SHIFT(SHIFT)) S Y=SHIFT
6101"RTN","EDPRPT5",138,0)
6102 E F I=2:1:SHIFT I TM<SHIFT(I) S Y=I-1 Q
6103"RTN","EDPRPT5",139,0)
6104 S:$G(TXT) Y=$$WORD(Y)
6105"RTN","EDPRPT5",140,0)
6106 ;S Y=$S(TM<25200:"three",TM<54000:"one",TM<82800:"two",1:"three")
6107"RTN","EDPRPT5",141,0)
6108 Q Y
6109"RTN","EDPRPT5",142,0)
6110 ;
6111"RTN","EDPRPT5",143,0)
6112ECODE(IEN) ; Return external value for an Acuity code
6113"RTN","EDPRPT5",144,0)
6114 N X,Y S X=$P($G(^EDPB(233.1,IEN,0)),U,3) ;code
6115"RTN","EDPRPT5",145,0)
6116 S Y=$S(X="":"none",'X:X,X=1:"one",X=2:"two",X=3:"three",X=4:"four",X=5:"five",1:"X")
6117"RTN","EDPRPT5",146,0)
6118 Q Y
6119"RTN","EDPRPT6")
61200^38^B9535777
6121"RTN","EDPRPT6",1,0)
6122EDPRPT6 ;SLC/MKB - Provider Report
6123"RTN","EDPRPT6",2,0)
6124 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
6125"RTN","EDPRPT6",3,0)
6126 ;
6127"RTN","EDPRPT6",4,0)
6128PRV(BEG,END) ; Get Provider Report for EDPSITE by date range
6129"RTN","EDPRPT6",5,0)
6130 N IN,LOG,X,X0,X1,X3,X4,MD,MDTIME,DISP,S,ACU
6131"RTN","EDPRPT6",6,0)
6132 N CNT,IN2MD,MD2DS,ROW,SHIFT
6133"RTN","EDPRPT6",7,0)
6134 S IN=BEG-.000001 D SETUP^EDPRPT5 ;build SHIFT(#)
6135"RTN","EDPRPT6",8,0)
6136 I 'SHIFT D ERR^EDPRPT(2300013) Q
6137"RTN","EDPRPT6",9,0)
6138 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
6139"RTN","EDPRPT6",10,0)
6140 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
6141"RTN","EDPRPT6",11,0)
6142 . S MD=$P(X3,U,5) Q:MD<1 ;no provider
6143"RTN","EDPRPT6",12,0)
6144 . S DISP=$P(X1,U,3),ACU=$$ACUITY($P(X3,U,3))
6145"RTN","EDPRPT6",13,0)
6146 . S MDTIME=$$ASSIGNED^EDPRPT(LOG,5)
6147"RTN","EDPRPT6",14,0)
6148 . D INIT(MD) ;set counters,sums to 0 per provider
6149"RTN","EDPRPT6",15,0)
6150D1 . ; all visits
6151"RTN","EDPRPT6",16,0)
6152 . S S=$$SHIFT^EDPRPT5(MDTIME)
6153"RTN","EDPRPT6",17,0)
6154 . S CNT(MD)=CNT(MD)+1,CNT(MD,S,ACU)=CNT(MD,S,ACU)+1
6155"RTN","EDPRPT6",18,0)
6156 . S IN2MD=$$FMDIFF^XLFDT(MDTIME,IN,2)\60
6157"RTN","EDPRPT6",19,0)
6158 . S IN2MD(MD)=IN2MD(MD)+IN2MD,IN2MD(MD,S,ACU)=IN2MD(MD,S,ACU)+IN2MD
6159"RTN","EDPRPT6",20,0)
6160 . S MD2DS=$S(DISP:$$FMDIFF^XLFDT(DISP,MDTIME,2)\60,1:0)
6161"RTN","EDPRPT6",21,0)
6162 . S MD2DS(MD)=MD2DS(MD)+MD2DS,MD2DS(MD,S,ACU)=MD2DS(MD,S,ACU)+MD2DS
6163"RTN","EDPRPT6",22,0)
6164D2 ; calculate & return averages as CSV
6165"RTN","EDPRPT6",23,0)
6166 I $G(CSV) D Q
6167"RTN","EDPRPT6",24,0)
6168 . N TAB,NM,SFT S TAB=$C(9)
6169"RTN","EDPRPT6",25,0)
6170 . S X="MD Name"_TAB_"Shift"_TAB_"Acuity"_TAB_"# Patients"_TAB_"Time In to MD Assigned"_TAB_"MD Assign to Dispo"
6171"RTN","EDPRPT6",26,0)
6172 . D ADD^EDPCSV(X)
6173"RTN","EDPRPT6",27,0)
6174 . S MD=0 F S MD=$O(CNT(MD)) Q:MD<1 I CNT(MD) D
6175"RTN","EDPRPT6",28,0)
6176 .. S NM=$$EPERS^EDPRPT(MD) F S=1:1:SHIFT D
6177"RTN","EDPRPT6",29,0)
6178 ... S SFT=S F ACU=0:1:5 I CNT(MD,S,ACU) D
6179"RTN","EDPRPT6",30,0)
6180 .... S X=NM_TAB_SFT_TAB_ACU_TAB_CNT(MD,S,ACU)
6181"RTN","EDPRPT6",31,0)
6182 .... S X=X_TAB_$$ETIME^EDPRPT(IN2MD(MD,S,ACU)/CNT(MD,S,ACU))
6183"RTN","EDPRPT6",32,0)
6184 .... S X=X_TAB_$$ETIME^EDPRPT(MD2DS(MD,S,ACU)/CNT(MD,S,ACU))
6185"RTN","EDPRPT6",33,0)
6186 .... D ADD^EDPCSV(X) S (NM,SFT)=""
6187"RTN","EDPRPT6",34,0)
6188 .. S X=" MD TOTALS"_TAB_TAB_TAB_CNT(MD)
6189"RTN","EDPRPT6",35,0)
6190 .. S X=X_TAB_$$ETIME^EDPRPT(IN2MD(MD)/CNT(MD))
6191"RTN","EDPRPT6",36,0)
6192 .. S X=X_TAB_$$ETIME^EDPRPT(MD2DS(MD)/CNT(MD))
6193"RTN","EDPRPT6",37,0)
6194 .. D ADD^EDPCSV(X)
6195"RTN","EDPRPT6",38,0)
6196D3 ; or as XML
6197"RTN","EDPRPT6",39,0)
6198 D XML^EDPX("<providers>")
6199"RTN","EDPRPT6",40,0)
6200 S MD=0 F S MD=$O(CNT(MD)) Q:MD<1 I CNT(MD) D
6201"RTN","EDPRPT6",41,0)
6202 . K ROW S ROW("name")=$$EPERS^EDPRPT(MD),ROW("total")=CNT(MD)
6203"RTN","EDPRPT6",42,0)
6204 . S ROW("timeMD")=$$ETIME^EDPRPT(IN2MD(MD)/CNT(MD))
6205"RTN","EDPRPT6",43,0)
6206 . S ROW("timeDisp")=$$ETIME^EDPRPT(MD2DS(MD)/CNT(MD))
6207"RTN","EDPRPT6",44,0)
6208 . S X=$$XMLA^EDPX("md",.ROW),X=$TR(X,"/") D XML^EDPX(X)
6209"RTN","EDPRPT6",45,0)
6210 . D XML^EDPX("<shifts>")
6211"RTN","EDPRPT6",46,0)
6212 . F S=1:1:SHIFT D
6213"RTN","EDPRPT6",47,0)
6214 .. F ACU=0:1:5 I CNT(MD,S,ACU) D
6215"RTN","EDPRPT6",48,0)
6216 ... K ROW S ROW("total")=CNT(MD,S,ACU)
6217"RTN","EDPRPT6",49,0)
6218 ... S ROW("number")=S,ROW("acuity")=ACU
6219"RTN","EDPRPT6",50,0)
6220 ... S ROW("timeMD")=$$ETIME^EDPRPT(IN2MD(MD,S,ACU)/CNT(MD,S,ACU))
6221"RTN","EDPRPT6",51,0)
6222 ... S ROW("timeDisp")=$$ETIME^EDPRPT(MD2DS(MD,S,ACU)/CNT(MD,S,ACU))
6223"RTN","EDPRPT6",52,0)
6224 ... S X=$$XMLA^EDPX("shift",.ROW) D XML^EDPX(X)
6225"RTN","EDPRPT6",53,0)
6226 . D XML^EDPX("</shifts>"),XML^EDPX("</md>")
6227"RTN","EDPRPT6",54,0)
6228 D XML^EDPX("</providers>")
6229"RTN","EDPRPT6",55,0)
6230 Q
6231"RTN","EDPRPT6",56,0)
6232 ;
6233"RTN","EDPRPT6",57,0)
6234INIT(DR) ; Initialize counters and sums
6235"RTN","EDPRPT6",58,0)
6236 N S,A
6237"RTN","EDPRPT6",59,0)
6238 S (CNT(DR),IN2MD(DR),MD2DS(DR))=0
6239"RTN","EDPRPT6",60,0)
6240 F S=1:1:SHIFT D
6241"RTN","EDPRPT6",61,0)
6242 . F A=0:1:5 S (CNT(DR,S,A),IN2MD(DR,S,A),MD2DS(DR,S,A))=0
6243"RTN","EDPRPT6",62,0)
6244 Q
6245"RTN","EDPRPT6",63,0)
6246 ;
6247"RTN","EDPRPT6",64,0)
6248ACUITY(IEN) ; Return external value [0-5] for an Acuity code
6249"RTN","EDPRPT6",65,0)
6250 N X0,Y S X0=$G(^EDPB(233.1,+IEN,0))
6251"RTN","EDPRPT6",66,0)
6252 S Y=$P(X0,U,3) S:Y<1 Y=+$P(X0,U,4) ;code or nat'l code
6253"RTN","EDPRPT6",67,0)
6254 Q Y
6255"RTN","EDPRPT7")
62560^39^B21032834
6257"RTN","EDPRPT7",1,0)
6258EDPRPT7 ;SLC/MKB - Exposure Report
6259"RTN","EDPRPT7",2,0)
6260 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
6261"RTN","EDPRPT7",3,0)
6262 ;
6263"RTN","EDPRPT7",4,0)
6264EXP(IEN) ; Get Exposure Report for IEN at EDPSITE
6265"RTN","EDPRPT7",5,0)
6266 S IEN=+$G(IEN) Q:IEN<1 Q:'$D(^EDP(230,IEN,0))
6267"RTN","EDPRPT7",6,0)
6268 I $G(CSV) D EXP^EDPRPT7C(IEN) Q ;CSV format instead
6269"RTN","EDPRPT7",7,0)
6270 N BEG,END,LIST,LOG,IN,OUT,X,X0,Y,WAIT,RLIST,TREAT,OTHER,MD,RN,RES,I,J
6271"RTN","EDPRPT7",8,0)
6272 N SHIFT D SETUP^EDPRPT5 ;build SHIFT(#)
6273"RTN","EDPRPT7",9,0)
6274 I 'SHIFT D ERR^EDPRPT(2300013) Q
6275"RTN","EDPRPT7",10,0)
6276 S X0=^EDP(230,IEN,0),BEG=$P(X0,U,8),END=$P(X0,U,9)
6277"RTN","EDPRPT7",11,0)
6278 S:'BEG BEG=$P(X0,U) S:'END END=$$NOW^EDPRPT
6279"RTN","EDPRPT7",12,0)
6280 S WAIT=$$NWBED^EDPRPT(IEN) D ROOMS(IEN,END)
6281"RTN","EDPRPT7",13,0)
6282 ; put IEN info into XML
6283"RTN","EDPRPT7",14,0)
6284 D XML^EDPX("<patient>")
6285"RTN","EDPRPT7",15,0)
6286 D ADD(IEN),STAFF(IEN)
6287"RTN","EDPRPT7",16,0)
6288 D XML^EDPX("</patient>")
6289"RTN","EDPRPT7",17,0)
6290 ; look for patients also in ED between BEG and END
6291"RTN","EDPRPT7",18,0)
6292 D FIND(BEG,END) ;create LIST(#) list of ien's to check
6293"RTN","EDPRPT7",19,0)
6294 S LOG=0 F S LOG=+$O(LIST(LOG)) Q:'LOG I LOG'=IEN D
6295"RTN","EDPRPT7",20,0)
6296 . S X0=$G(^EDP(230,LOG,0)),IN=$P(X0,U,8),OUT=$P(X0,U,9)
6297"RTN","EDPRPT7",21,0)
6298 . D ROOMS(LOG,OUT)
6299"RTN","EDPRPT7",22,0)
6300 . ; in waiting room at same time?
6301"RTN","EDPRPT7",23,0)
6302 . I WAIT,(BEG<=IN)&(IN<=WAIT) S WAIT(LOG)="" Q ;in
6303"RTN","EDPRPT7",24,0)
6304 . S X=$$NWBED^EDPRPT(LOG)
6305"RTN","EDPRPT7",25,0)
6306 . I X,(BEG<=X)&(X<=WAIT) S WAIT(LOG)="" Q ;out
6307"RTN","EDPRPT7",26,0)
6308 . ; compare treatment rooms
6309"RTN","EDPRPT7",27,0)
6310 . S I=1 F S I=$O(RLIST(IEN,I)) Q:I<1 D
6311"RTN","EDPRPT7",28,0)
6312 .. N RIN,ROUT S RIN=$P(RLIST(IEN,I),U,2),ROUT=$P(RLIST(IEN,I),U,3)
6313"RTN","EDPRPT7",29,0)
6314 .. S J=0 F S J=$O(RLIST(LOG,J)) Q:J<1 I $P(RLIST(IEN,I),U)=$P(RLIST(LOG,J),U) D
6315"RTN","EDPRPT7",30,0)
6316 ... S X=$P(RLIST(LOG,J),U,2) ;in to treatment room
6317"RTN","EDPRPT7",31,0)
6318 ... I (RIN<=X)&(X<=ROUT) S TREAT(LOG)="" Q
6319"RTN","EDPRPT7",32,0)
6320 ... S X=$P(RLIST(LOG,J),U,3) ;out of treatment room
6321"RTN","EDPRPT7",33,0)
6322 ... I (RIN<=X)&(X<=ROUT) S TREAT(LOG)="" Q
6323"RTN","EDPRPT7",34,0)
6324 . I '$D(TREAT(LOG)) S OTHER(LOG)=""
6325"RTN","EDPRPT7",35,0)
6326E1 ; return waiting room patients
6327"RTN","EDPRPT7",36,0)
6328 I $O(WAIT(0)) D
6329"RTN","EDPRPT7",37,0)
6330 . D XML^EDPX("<waitingRoom>")
6331"RTN","EDPRPT7",38,0)
6332 . S LOG=0 F S LOG=$O(WAIT(LOG)) Q:LOG<1 D ADD(LOG),STAFF(LOG)
6333"RTN","EDPRPT7",39,0)
6334 . D XML^EDPX("</waitingRoom>")
6335"RTN","EDPRPT7",40,0)
6336 ; return treatment room patients
6337"RTN","EDPRPT7",41,0)
6338 I $O(TREAT(0)) D
6339"RTN","EDPRPT7",42,0)
6340 . D XML^EDPX("<treatmentRoom>")
6341"RTN","EDPRPT7",43,0)
6342 . S LOG=0 F S LOG=$O(TREAT(LOG)) Q:LOG<1 D ADD(LOG),STAFF(LOG)
6343"RTN","EDPRPT7",44,0)
6344 . D XML^EDPX("</treatmentRoom>")
6345"RTN","EDPRPT7",45,0)
6346 ; return other ED patients
6347"RTN","EDPRPT7",46,0)
6348 I $O(OTHER(0)) D
6349"RTN","EDPRPT7",47,0)
6350 . D XML^EDPX("<otherPatients>")
6351"RTN","EDPRPT7",48,0)
6352 . S LOG=0 F S LOG=$O(OTHER(LOG)) Q:LOG<1 D ADD(LOG),STAFF(LOG)
6353"RTN","EDPRPT7",49,0)
6354 . D XML^EDPX("</otherPatients>")
6355"RTN","EDPRPT7",50,0)
6356E2 ; return staff on duty
6357"RTN","EDPRPT7",51,0)
6358 D XML^EDPX("<onDutyStaff>")
6359"RTN","EDPRPT7",52,0)
6360 I $O(MD(0)) D
6361"RTN","EDPRPT7",53,0)
6362 . D XML^EDPX("<doctors>")
6363"RTN","EDPRPT7",54,0)
6364 . S I=0 F S I=$O(MD(I)) Q:I<1 D
6365"RTN","EDPRPT7",55,0)
6366 .. S X="<md name='"_$$ESC^EDPX(MD(I))_"' />"
6367"RTN","EDPRPT7",56,0)
6368 .. D XML^EDPX(X)
6369"RTN","EDPRPT7",57,0)
6370 . D XML^EDPX("</doctors>")
6371"RTN","EDPRPT7",58,0)
6372 I $O(RN(0)) D
6373"RTN","EDPRPT7",59,0)
6374 . D XML^EDPX("<nurses>")
6375"RTN","EDPRPT7",60,0)
6376 . S I=0 F S I=$O(RN(I)) Q:I<1 D
6377"RTN","EDPRPT7",61,0)
6378 .. S X="<rn name='"_$$ESC^EDPX(RN(I))_"' />"
6379"RTN","EDPRPT7",62,0)
6380 .. D XML^EDPX(X)
6381"RTN","EDPRPT7",63,0)
6382 . D XML^EDPX("</nurses>")
6383"RTN","EDPRPT7",64,0)
6384 I $O(RES(0)) D
6385"RTN","EDPRPT7",65,0)
6386 . D XML^EDPX("<residents>")
6387"RTN","EDPRPT7",66,0)
6388 . S I=0 F S I=$O(RES(I)) Q:I<1 D
6389"RTN","EDPRPT7",67,0)
6390 .. S X="<md name='"_$$ESC^EDPX(RES(I))_"' />"
6391"RTN","EDPRPT7",68,0)
6392 .. D XML^EDPX(X)
6393"RTN","EDPRPT7",69,0)
6394 . D XML^EDPX("</residents>")
6395"RTN","EDPRPT7",70,0)
6396 D XML^EDPX("</onDutyStaff>")
6397"RTN","EDPRPT7",71,0)
6398 Q
6399"RTN","EDPRPT7",72,0)
6400 ;
6401"RTN","EDPRPT7",73,0)
6402FIND(IN,OUT) ; create LIST(#) of visits at same time
6403"RTN","EDPRPT7",74,0)
6404 N IDX,TIME,I K LIST
6405"RTN","EDPRPT7",75,0)
6406 F IDX="ATI","ATO" D
6407"RTN","EDPRPT7",76,0)
6408 . S TIME=IN
6409"RTN","EDPRPT7",77,0)
6410 . F S TIME=$O(^EDP(230,IDX,EDPSITE,TIME)) Q:TIME<1!(TIME>OUT) D
6411"RTN","EDPRPT7",78,0)
6412 .. S I=0 F S I=$O(^EDP(230,IDX,EDPSITE,TIME,I)) Q:I<1 S LIST(I)=""
6413"RTN","EDPRPT7",79,0)
6414 Q
6415"RTN","EDPRPT7",80,0)
6416 ;
6417"RTN","EDPRPT7",81,0)
6418ROOMS(LOG,OUT) ; Return RLIST(LOG,n)= room ^ time in ^ time out
6419"RTN","EDPRPT7",82,0)
6420 N D,I,N,X S N=0
6421"RTN","EDPRPT7",83,0)
6422 S D=0 F S D=$O(^EDP(230.1,"ADF",LOG,D)) Q:D<1 S I=+$O(^(D,0)) D
6423"RTN","EDPRPT7",84,0)
6424 . S X=+$P($G(^EDP(230.1,I,3)),U,4) Q:'X ;no location change
6425"RTN","EDPRPT7",85,0)
6426 . S:N $P(RLIST(LOG,N),U,3)=D ;time out = time in of next room
6427"RTN","EDPRPT7",86,0)
6428 . S N=N+1,RLIST(LOG,N)=X_U_D
6429"RTN","EDPRPT7",87,0)
6430 I N,'$P(RLIST(LOG,N),U,3) S $P(RLIST(LOG,N),U,3)=OUT
6431"RTN","EDPRPT7",88,0)
6432 Q
6433"RTN","EDPRPT7",89,0)
6434 ;
6435"RTN","EDPRPT7",90,0)
6436ADD(LOG) ; Add row to XML for each room used during visit
6437"RTN","EDPRPT7",91,0)
6438 N EDPI,EDPX,ROW,LABS,XRAY
6439"RTN","EDPRPT7",92,0)
6440 S EDPI=0 F S EDPI=$O(RLIST(LOG,EDPI)) Q:EDPI<1 S EDPX=RLIST(LOG,EDPI) D
6441"RTN","EDPRPT7",93,0)
6442 . K ROW S ROW("id")=LOG ;only return for EDPI=1 ??
6443"RTN","EDPRPT7",94,0)
6444 . S ROW("bed")=$P($G(^EDPB(231.8,+EDPX,0)),U)
6445"RTN","EDPRPT7",95,0)
6446 . S X=$P(EDPX,U,2)
6447"RTN","EDPRPT7",96,0)
6448 . S ROW("shiftTimeIn")=$$SHIFT^EDPRPT5(X)_" - "_$$EDATE^EDPRPT(X)
6449"RTN","EDPRPT7",97,0)
6450 . S X=$P(EDPX,U,3)
6451"RTN","EDPRPT7",98,0)
6452 . S ROW("shiftTimeOut")=$$SHIFT^EDPRPT5(X)_" - "_$$EDATE^EDPRPT(X)
6453"RTN","EDPRPT7",99,0)
6454 . S ROW("dx")=$P($G(^EDP(230,LOG,4,1,0)),U)
6455"RTN","EDPRPT7",100,0)
6456 . S X=$P($G(^EDP(230,LOG,1)),U,2),ROW("disposition")=$$ECODE^EDPRPT(X)
6457"RTN","EDPRPT7",101,0)
6458 . S X=$P($G(^EDP(230,LOG,0)),U,10),ROW("arrival")=$$ECODE(X)
6459"RTN","EDPRPT7",102,0)
6460 . S LABS=$D(^EDP(230,LOG,8,"AC","L")),XRAY=$D(^("R")),X=""
6461"RTN","EDPRPT7",103,0)
6462 . I LABS!XRAY D S X=X_" ordered"
6463"RTN","EDPRPT7",104,0)
6464 .. I LABS&XRAY S X="Labs and Imaging" Q
6465"RTN","EDPRPT7",105,0)
6466 .. S:LABS X="Labs" S:XRAY X="Imaging"
6467"RTN","EDPRPT7",106,0)
6468 . S ROW("notes")=X
6469"RTN","EDPRPT7",107,0)
6470 . S X=$$XMLA^EDPX("row",.ROW) D XML^EDPX(X)
6471"RTN","EDPRPT7",108,0)
6472 Q
6473"RTN","EDPRPT7",109,0)
6474 ;
6475"RTN","EDPRPT7",110,0)
6476STAFF(LOG) ; save staff involved in patient care
6477"RTN","EDPRPT7",111,0)
6478 N D,I,X,ACT S LOG=+$G(LOG)
6479"RTN","EDPRPT7",112,0)
6480 S D=0 F S D=$O(^EDP(230.1,LOG,D)) Q:D<1 S I=+$O(^(D,0)) D
6481"RTN","EDPRPT7",113,0)
6482 . S ACT=$G(^EDP(230.1,I,3))
6483"RTN","EDPRPT7",114,0)
6484 . S X=+$P(ACT,U,5) S:X MD(X)=$$EPERS^EDPRPT(X)
6485"RTN","EDPRPT7",115,0)
6486 . S X=+$P(ACT,U,6) S:X RN(X)=$$EPERS^EDPRPT(X)
6487"RTN","EDPRPT7",116,0)
6488 . S X=+$P(ACT,U,7) S:X RES(X)=$$EPERS^EDPRPT(X)
6489"RTN","EDPRPT7",117,0)
6490 Q
6491"RTN","EDPRPT7",118,0)
6492 ;
6493"RTN","EDPRPT7",119,0)
6494ECODE(IEN) ; Return external value for a Code
6495"RTN","EDPRPT7",120,0)
6496 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,2) ;name
6497"RTN","EDPRPT7",121,0)
6498 Q ""
6499"RTN","EDPRPT7C")
65000^40^B21231553
6501"RTN","EDPRPT7C",1,0)
6502EDPRPT7C ;SLC/MKB - Exposure Report (CSV format)
6503"RTN","EDPRPT7C",2,0)
6504 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
6505"RTN","EDPRPT7C",3,0)
6506 ;
6507"RTN","EDPRPT7C",4,0)
6508EXP(IEN) ; Get Exposure Report for IEN at EDPSITE
6509"RTN","EDPRPT7C",5,0)
6510 S IEN=+$G(IEN) Q:IEN<1 Q:'$D(^EDP(230,IEN,0))
6511"RTN","EDPRPT7C",6,0)
6512 N BEG,END,LIST,LOG,IN,OUT,X,X0,Y,WAIT,RLIST,TREAT,OTHER,MD,RN,RES,I,J,TAB
6513"RTN","EDPRPT7C",7,0)
6514 N SHIFT D SETUP^EDPRPT5 ;build SHIFT(#)
6515"RTN","EDPRPT7C",8,0)
6516 I 'SHIFT D ERR^EDPRPT(2300013) Q
6517"RTN","EDPRPT7C",9,0)
6518 S X0=^EDP(230,IEN,0),BEG=$P(X0,U,8),END=$P(X0,U,9),TAB=$C(9)
6519"RTN","EDPRPT7C",10,0)
6520 S:'BEG BEG=$P(X0,U) S:'END END=$$NOW^EDPRPT
6521"RTN","EDPRPT7C",11,0)
6522 S WAIT=$$NWBED^EDPRPT(IEN) D ROOMS(IEN,END)
6523"RTN","EDPRPT7C",12,0)
6524 ; put IEN info into CSV
6525"RTN","EDPRPT7C",13,0)
6526 S X="ED"_TAB_"Bed"_TAB_"Shift - Time In"_TAB_"Shift - Time Out"_TAB_"Diagnosis"_TAB_"Dispo"_TAB_"Arr Mode"_TAB_"Notes"
6527"RTN","EDPRPT7C",14,0)
6528 D ADD^EDPCSV(X) ;headers
6529"RTN","EDPRPT7C",15,0)
6530 S X=TAB_TAB_"Contagious Patient Information"
6531"RTN","EDPRPT7C",16,0)
6532 D ADD^EDPCSV(X),BLANK^EDPCSV
6533"RTN","EDPRPT7C",17,0)
6534 D ADD(IEN),STAFF(IEN)
6535"RTN","EDPRPT7C",18,0)
6536 D BLANK^EDPCSV
6537"RTN","EDPRPT7C",19,0)
6538 ; look for patients also in ED between BEG and END
6539"RTN","EDPRPT7C",20,0)
6540 D FIND(BEG,END) ;create LIST(#) list of ien's to check
6541"RTN","EDPRPT7C",21,0)
6542 S LOG=0 F S LOG=+$O(LIST(LOG)) Q:'LOG I LOG'=IEN D
6543"RTN","EDPRPT7C",22,0)
6544 . S X0=$G(^EDP(230,LOG,0)),IN=$P(X0,U,8),OUT=$P(X0,U,9)
6545"RTN","EDPRPT7C",23,0)
6546 . D ROOMS(LOG,OUT)
6547"RTN","EDPRPT7C",24,0)
6548 . ; in waiting room at same time?
6549"RTN","EDPRPT7C",25,0)
6550 . I WAIT,(BEG<=IN)&(IN<=WAIT) S WAIT(LOG)="" Q ;in
6551"RTN","EDPRPT7C",26,0)
6552 . S X=$$NWBED^EDPRPT(LOG)
6553"RTN","EDPRPT7C",27,0)
6554 . I X,(BEG<=X)&(X<=WAIT) S WAIT(LOG)="" Q ;out
6555"RTN","EDPRPT7C",28,0)
6556 . ; compare treatment rooms
6557"RTN","EDPRPT7C",29,0)
6558 . S I=1 F S I=$O(RLIST(IEN,I)) Q:I<1 D
6559"RTN","EDPRPT7C",30,0)
6560 .. N RIN,ROUT S RIN=$P(RLIST(IEN,I),U,2),ROUT=$P(RLIST(IEN,I),U,3)
6561"RTN","EDPRPT7C",31,0)
6562 .. S J=0 F S J=$O(RLIST(LOG,J)) Q:J<1 I $P(RLIST(IEN,I),U)=$P(RLIST(LOG,J),U) D
6563"RTN","EDPRPT7C",32,0)
6564 ... S X=$P(RLIST(LOG,J),U,2) ;in to treatment room
6565"RTN","EDPRPT7C",33,0)
6566 ... I (RIN<=X)&(X<=ROUT) S TREAT(LOG)="" Q
6567"RTN","EDPRPT7C",34,0)
6568 ... S X=$P(RLIST(LOG,J),U,3) ;out of treatment room
6569"RTN","EDPRPT7C",35,0)
6570 ... I (RIN<=X)&(X<=ROUT) S TREAT(LOG)="" Q
6571"RTN","EDPRPT7C",36,0)
6572 . I '$D(TREAT(LOG)) S OTHER(LOG)=""
6573"RTN","EDPRPT7C",37,0)
6574E1 ; return waiting room patients
6575"RTN","EDPRPT7C",38,0)
6576 D ADD^EDPCSV(TAB_TAB_"Exposed in the Waiting Room"),BLANK^EDPCSV
6577"RTN","EDPRPT7C",39,0)
6578 I '$O(WAIT(0)) D ADD^EDPCSV(TAB_TAB_" None")
6579"RTN","EDPRPT7C",40,0)
6580 E S LOG=0 F S LOG=$O(WAIT(LOG)) Q:LOG<1 D ADD(LOG),STAFF(LOG)
6581"RTN","EDPRPT7C",41,0)
6582 D BLANK^EDPCSV
6583"RTN","EDPRPT7C",42,0)
6584 ; return treatment room patients
6585"RTN","EDPRPT7C",43,0)
6586 D ADD^EDPCSV(TAB_TAB_"Exposed in Treatment Room"),BLANK^EDPCSV
6587"RTN","EDPRPT7C",44,0)
6588 I '$O(TREAT(0)) D ADD^EDPCSV(TAB_TAB_" None")
6589"RTN","EDPRPT7C",45,0)
6590 E S LOG=0 F S LOG=$O(TREAT(LOG)) Q:LOG<1 D ADD(LOG),STAFF(LOG)
6591"RTN","EDPRPT7C",46,0)
6592 D BLANK^EDPCSV
6593"RTN","EDPRPT7C",47,0)
6594 ; return other ED patients
6595"RTN","EDPRPT7C",48,0)
6596 D ADD^EDPCSV(TAB_TAB_"Other ED Patients"),BLANK^EDPCSV
6597"RTN","EDPRPT7C",49,0)
6598 I '$O(OTHER(0)) D ADD^EDPCSV(TAB_TAB_" None")
6599"RTN","EDPRPT7C",50,0)
6600 E S LOG=0 F S LOG=$O(OTHER(LOG)) Q:LOG<1 D ADD(LOG),STAFF(LOG)
6601"RTN","EDPRPT7C",51,0)
6602 D BLANK^EDPCSV
6603"RTN","EDPRPT7C",52,0)
6604E2 ; return staff on duty
6605"RTN","EDPRPT7C",53,0)
6606 N MAX,MORE D ADD^EDPCSV(TAB_TAB_"On Duty Staff")
6607"RTN","EDPRPT7C",54,0)
6608 D ADD^EDPCSV(TAB_"Doctors"_TAB_"Nurses"_TAB_"Residents")
6609"RTN","EDPRPT7C",55,0)
6610 S MAX=+$G(RN) S:$G(MD)>MAX MAX=+MD S:$G(RES)>MAX MAX=+RES
6611"RTN","EDPRPT7C",56,0)
6612 S MORE=1,(MD,RN,RES)=0 F D Q:'MORE
6613"RTN","EDPRPT7C",57,0)
6614 . S:MD'="" MD=$O(MD(MD)) S:RN'="" RN=$O(RN(RN))
6615"RTN","EDPRPT7C",58,0)
6616 . S:RES'="" RES=$O(RES(RES)) ;get next
6617"RTN","EDPRPT7C",59,0)
6618 . I MD="",RN="",RES="" S MORE=0 Q ;done
6619"RTN","EDPRPT7C",60,0)
6620 . S X=TAB_$S(MD:MD(MD),1:"")_TAB_$S(RN:RN(RN),1:"")_TAB_$S(RES:RES(RES),1:"")
6621"RTN","EDPRPT7C",61,0)
6622 . D ADD^EDPCSV(X)
6623"RTN","EDPRPT7C",62,0)
6624 Q
6625"RTN","EDPRPT7C",63,0)
6626 ;
6627"RTN","EDPRPT7C",64,0)
6628FIND(IN,OUT) ; create LIST(#) of visits at same time
6629"RTN","EDPRPT7C",65,0)
6630 N IDX,TIME,I K LIST
6631"RTN","EDPRPT7C",66,0)
6632 F IDX="ATI","ATO" D
6633"RTN","EDPRPT7C",67,0)
6634 . S TIME=IN
6635"RTN","EDPRPT7C",68,0)
6636 . F S TIME=$O(^EDP(230,IDX,EDPSITE,TIME)) Q:TIME<1!(TIME>OUT) D
6637"RTN","EDPRPT7C",69,0)
6638 .. S I=0 F S I=$O(^EDP(230,IDX,EDPSITE,TIME,I)) Q:I<1 S LIST(I)=""
6639"RTN","EDPRPT7C",70,0)
6640 Q
6641"RTN","EDPRPT7C",71,0)
6642 ;
6643"RTN","EDPRPT7C",72,0)
6644ROOMS(LOG,OUT) ; Return RLIST(LOG,n)= room ^ time in ^ time out
6645"RTN","EDPRPT7C",73,0)
6646 N D,I,N,X S N=0
6647"RTN","EDPRPT7C",74,0)
6648 S D=0 F S D=$O(^EDP(230.1,"ADF",LOG,D)) Q:D<1 S I=+$O(^(D,0)) D
6649"RTN","EDPRPT7C",75,0)
6650 . S X=+$P($G(^EDP(230.1,I,3)),U,4) Q:'X ;no location change
6651"RTN","EDPRPT7C",76,0)
6652 . S:N $P(RLIST(LOG,N),U,3)=D ;time out = time in of next room
6653"RTN","EDPRPT7C",77,0)
6654 . S N=N+1,RLIST(LOG,N)=X_U_D
6655"RTN","EDPRPT7C",78,0)
6656 I N,'$P(RLIST(LOG,N),U,3) S $P(RLIST(LOG,N),U,3)=OUT
6657"RTN","EDPRPT7C",79,0)
6658 Q
6659"RTN","EDPRPT7C",80,0)
6660 ;
6661"RTN","EDPRPT7C",81,0)
6662ADD(LOG) ; Add row to CSV for each room used during visit
6663"RTN","EDPRPT7C",82,0)
6664 N EDPI,EDPX,ROW,LABS,XRAY,X
6665"RTN","EDPRPT7C",83,0)
6666 S EDPI=0 F S EDPI=$O(RLIST(LOG,EDPI)) Q:EDPI<1 S EDPX=RLIST(LOG,EDPI) D
6667"RTN","EDPRPT7C",84,0)
6668 . S ROW=$S(EDPI=1:LOG,1:"")_TAB_$P($G(^EDPB(231.8,+EDPX,0)),U)
6669"RTN","EDPRPT7C",85,0)
6670 . S X=$P(EDPX,U,2) ;shiftTimeIn
6671"RTN","EDPRPT7C",86,0)
6672 . S ROW=ROW_TAB_$$SHIFT^EDPRPT5(X)_" - "_$$EDATE^EDPRPT(X)
6673"RTN","EDPRPT7C",87,0)
6674 . S X=$P(EDPX,U,3) ;shiftTimeOut
6675"RTN","EDPRPT7C",88,0)
6676 . S ROW=ROW_TAB_$$SHIFT^EDPRPT5(X)_" - "_$$EDATE^EDPRPT(X)
6677"RTN","EDPRPT7C",89,0)
6678 . S ROW=ROW_TAB_$P($G(^EDP(230,LOG,4,1,0)),U) ;Dx
6679"RTN","EDPRPT7C",90,0)
6680 . S X=$P($G(^EDP(230,LOG,1)),U,2),ROW=ROW_TAB_$$ECODE^EDPRPT(X) ;dis
6681"RTN","EDPRPT7C",91,0)
6682 . S X=$P($G(^EDP(230,LOG,0)),U,10),ROW=ROW_TAB_$$ECODE(X) ;arrival
6683"RTN","EDPRPT7C",92,0)
6684 . S LABS=$D(^EDP(230,LOG,8,"AC","L")),XRAY=$D(^("R")),X=""
6685"RTN","EDPRPT7C",93,0)
6686 . I LABS!XRAY D S X=X_" ordered"
6687"RTN","EDPRPT7C",94,0)
6688 .. I LABS&XRAY S X="Labs and Imaging" Q
6689"RTN","EDPRPT7C",95,0)
6690 .. S:LABS X="Labs" S:XRAY X="Imaging"
6691"RTN","EDPRPT7C",96,0)
6692 . S ROW=ROW_TAB_X ;notes
6693"RTN","EDPRPT7C",97,0)
6694 . D ADD^EDPCSV(ROW)
6695"RTN","EDPRPT7C",98,0)
6696 Q
6697"RTN","EDPRPT7C",99,0)
6698 ;
6699"RTN","EDPRPT7C",100,0)
6700STAFF(LOG) ; save staff involved in patient care
6701"RTN","EDPRPT7C",101,0)
6702 N D,I,X,ACT S LOG=+$G(LOG)
6703"RTN","EDPRPT7C",102,0)
6704 S D=0 F S D=$O(^EDP(230.1,LOG,D)) Q:D<1 S I=+$O(^(D,0)) D
6705"RTN","EDPRPT7C",103,0)
6706 . S ACT=$G(^EDP(230.1,I,3))
6707"RTN","EDPRPT7C",104,0)
6708 . S X=+$P(ACT,U,5) S:X MD(X)=$$EPERS^EDPRPT(X)
6709"RTN","EDPRPT7C",105,0)
6710 . S X=+$P(ACT,U,6) S:X RN(X)=$$EPERS^EDPRPT(X)
6711"RTN","EDPRPT7C",106,0)
6712 . S X=+$P(ACT,U,7) S:X RES(X)=$$EPERS^EDPRPT(X)
6713"RTN","EDPRPT7C",107,0)
6714 Q
6715"RTN","EDPRPT7C",108,0)
6716 ;
6717"RTN","EDPRPT7C",109,0)
6718ECODE(IEN) ; Return external value for a Code
6719"RTN","EDPRPT7C",110,0)
6720 Q:IEN $P($G(^EDPB(233.1,IEN,0)),U,2) ;name
6721"RTN","EDPRPT7C",111,0)
6722 Q ""
6723"RTN","EDPRPT8")
67240^41^B15368168
6725"RTN","EDPRPT8",1,0)
6726EDPRPT8 ;SLC/MKB - Acuity Report
6727"RTN","EDPRPT8",2,0)
6728 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
6729"RTN","EDPRPT8",3,0)
6730 ;
6731"RTN","EDPRPT8",4,0)
6732ACU(BEG,END) ; Get Acuity Report for EDPSITE by date range
6733"RTN","EDPRPT8",5,0)
6734 ; CNT = counters for admissions
6735"RTN","EDPRPT8",6,0)
6736 ; MIN = accumulate #minutes
6737"RTN","EDPRPT8",7,0)
6738 ; ACU = counters by acuity
6739"RTN","EDPRPT8",8,0)
6740 ; VA = counters for disposition=VA only
6741"RTN","EDPRPT8",9,0)
6742 N IN,OUT,X,X0,X1,X3,X4,DISP,CNT,MIN,ACU,VA,TOT,ROW,NOW
6743"RTN","EDPRPT8",10,0)
6744 D INIT ;set counters, sums to 0
6745"RTN","EDPRPT8",11,0)
6746 S IN=BEG-.000001
6747"RTN","EDPRPT8",12,0)
6748 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
6749"RTN","EDPRPT8",13,0)
6750 . S X0=^EDP(230,LOG,0),X1=$G(^(1)),X3=$G(^(3)),X4=$G(^(4,1,0))
6751"RTN","EDPRPT8",14,0)
6752 . S DISP=$$ECODE^EDPRPT($P(X1,U,2)),ACU=$$ECODE($P(X3,U,3)),TOT=TOT+1
6753"RTN","EDPRPT8",15,0)
6754 . ; all admissions
6755"RTN","EDPRPT8",16,0)
6756 . S (ADMDEC,ADMDEL)=0
6757"RTN","EDPRPT8",17,0)
6758 . S X=$$ADMSTS^EDPRPT(LOG) I X S CNT=CNT+1 D:$L(ACU) ;decision to admit
6759"RTN","EDPRPT8",18,0)
6760 .. S CNT(ACU)=CNT(ACU)+1
6761"RTN","EDPRPT8",19,0)
6762 .. S ADMDEC=$$FMDIFF^XLFDT(X,IN,2)\60
6763"RTN","EDPRPT8",20,0)
6764 .. S:ADMDEC MIN("DEC")=MIN("DEC")+ADMDEC,MIN("DEC",ACU)=MIN("DEC",ACU)+ADMDEC
6765"RTN","EDPRPT8",21,0)
6766 .. S OUT=$P(X0,U,9) S:OUT="" OUT=NOW
6767"RTN","EDPRPT8",22,0)
6768 .. S ADMDEL=$$FMDIFF^XLFDT(OUT,X,2)\60
6769"RTN","EDPRPT8",23,0)
6770 .. ;S:ADMDEL MIN("DEL",ACU)=MIN("DEL",ACU)+ADMDEL
6771"RTN","EDPRPT8",24,0)
6772 . I $L(ACU) S ACU(ACU)=ACU(ACU)+1 D:$$ADMIT^EDPRPT2(DISP) ;VA adm
6773"RTN","EDPRPT8",25,0)
6774 .. S VA=VA+1,VA(ACU)=VA(ACU)+1
6775"RTN","EDPRPT8",26,0)
6776 .. S MIN(ACU)=MIN(ACU)+ADMDEC
6777"RTN","EDPRPT8",27,0)
6778 .. S MIN("VADEC")=MIN("VADEC")+ADMDEC
6779"RTN","EDPRPT8",28,0)
6780 .. S MIN("VADEC",ACU)=MIN("VADEC",ACU)+ADMDEC
6781"RTN","EDPRPT8",29,0)
6782 .. S MIN("VADEL")=MIN("VADEL")+ADMDEL
6783"RTN","EDPRPT8",30,0)
6784 .. S MIN("VADEL",ACU)=MIN("VADEL",ACU)+ADMDEL
6785"RTN","EDPRPT8",31,0)
6786A1 ; return counts and averages
6787"RTN","EDPRPT8",32,0)
6788 S I="" F S I=$O(ACU(I)) Q:I="" D ;avg #min admit dec by acuity
6789"RTN","EDPRPT8",33,0)
6790 . S MIN("DEC",I)=$S(CNT(I):$$ETIME(MIN("DEC",I)\CNT(I)),1:0)
6791"RTN","EDPRPT8",34,0)
6792 . S MIN("VADEC",I)=$S(VA(I):$$ETIME(MIN("VADEC",I)\VA(I)),1:0)
6793"RTN","EDPRPT8",35,0)
6794 . S MIN("VADEL",I)=$S(VA(I):$$ETIME(MIN("VADEL",I)\VA(I)),1:0)
6795"RTN","EDPRPT8",36,0)
6796 S ACU("total")=TOT,CNT("total")=CNT,VA("total")=VA
6797"RTN","EDPRPT8",37,0)
6798 S ACU("type")="Number of Patients",CNT("type")="Number Admitted",VA("type")="Number VA Admitted"
6799"RTN","EDPRPT8",38,0)
6800 S MIN("DEC","type")="Avg All Admit Dec Time",MIN("VADEC","type")="Avg VA Admit Dec Time",MIN("VADEL","type")="Avg VA Admit Delay Time"
6801"RTN","EDPRPT8",39,0)
6802 S MIN("DEC","total")=$S(CNT:$$ETIME(MIN("DEC")\CNT),1:0)
6803"RTN","EDPRPT8",40,0)
6804 S MIN("VADEC","total")=$S(VA:$$ETIME(MIN("VADEC")\VA),1:0)
6805"RTN","EDPRPT8",41,0)
6806 S MIN("VADEL","total")=$S(VA:$$ETIME(MIN("VADEL")\VA),1:0)
6807"RTN","EDPRPT8",42,0)
6808 ; as CSV
6809"RTN","EDPRPT8",43,0)
6810 I $G(CSV) D Q
6811"RTN","EDPRPT8",44,0)
6812 . N TAB S TAB=$C(9)
6813"RTN","EDPRPT8",45,0)
6814 . S X="Acuity->"_TAB_"0"_TAB_"1"_TAB_"2"_TAB_"3"_TAB_"4"_TAB_"5"_TAB_"Total/Average"
6815"RTN","EDPRPT8",46,0)
6816 . D ADD^EDPCSV(X)
6817"RTN","EDPRPT8",47,0)
6818 . D ROW("Number of Patients",.ACU)
6819"RTN","EDPRPT8",48,0)
6820 . D ROW("Number Admitted",.CNT)
6821"RTN","EDPRPT8",49,0)
6822 . D ROW("Number VA Admitted",.VA)
6823"RTN","EDPRPT8",50,0)
6824 . M ROW=MIN("DEC") D ROW("Avg All Admit Dec Time",.ROW) K ROW
6825"RTN","EDPRPT8",51,0)
6826 . M ROW=MIN("VADEC") D ROW("Avg VA Admit Dec Time",.ROW) K ROW
6827"RTN","EDPRPT8",52,0)
6828 . M ROW=MIN("VADEL") D ROW("Avg VA Admit Delay Time",.ROW) K ROW
6829"RTN","EDPRPT8",53,0)
6830 ; or as XML
6831"RTN","EDPRPT8",54,0)
6832 D XML^EDPX("<statistics>")
6833"RTN","EDPRPT8",55,0)
6834 S X=$$XMLA^EDPX("row",.ACU) D XML^EDPX(X)
6835"RTN","EDPRPT8",56,0)
6836 S X=$$XMLA^EDPX("row",.CNT) D XML^EDPX(X)
6837"RTN","EDPRPT8",57,0)
6838 S X=$$XMLA^EDPX("row",.VA) D XML^EDPX(X)
6839"RTN","EDPRPT8",58,0)
6840 M ROW=MIN("DEC") S X=$$XMLA^EDPX("row",.ROW) D XML^EDPX(X) K ROW
6841"RTN","EDPRPT8",59,0)
6842 M ROW=MIN("VADEC") S X=$$XMLA^EDPX("row",.ROW) D XML^EDPX(X) K ROW
6843"RTN","EDPRPT8",60,0)
6844 M ROW=MIN("VADEL") S X=$$XMLA^EDPX("row",.ROW) D XML^EDPX(X) K ROW
6845"RTN","EDPRPT8",61,0)
6846 D XML^EDPX("</statistics>")
6847"RTN","EDPRPT8",62,0)
6848 Q
6849"RTN","EDPRPT8",63,0)
6850 ;
6851"RTN","EDPRPT8",64,0)
6852ROW(NAME,LIST) ; add line
6853"RTN","EDPRPT8",65,0)
6854 N I S X=NAME
6855"RTN","EDPRPT8",66,0)
6856 F I="none","one","two","three","four","five","total" S X=X_TAB_LIST(I)
6857"RTN","EDPRPT8",67,0)
6858 D ADD^EDPCSV(X)
6859"RTN","EDPRPT8",68,0)
6860 Q
6861"RTN","EDPRPT8",69,0)
6862 ;
6863"RTN","EDPRPT8",70,0)
6864INIT ; Initialize acuity counters
6865"RTN","EDPRPT8",71,0)
6866 N X S (TOT,CNT,VA)=0
6867"RTN","EDPRPT8",72,0)
6868 F X="none","one","two","three","four","five" D
6869"RTN","EDPRPT8",73,0)
6870 . S (CNT(X),VA(X),ACU(X),MIN(X),MIN("DEC",X),MIN("VADEC",X),MIN("VADEL",X))=0
6871"RTN","EDPRPT8",74,0)
6872 F X="DEC","DEL","VADEC","VADEL" S MIN(X)=0
6873"RTN","EDPRPT8",75,0)
6874 S NOW=$$NOW^EDPRPT
6875"RTN","EDPRPT8",76,0)
6876 Q
6877"RTN","EDPRPT8",77,0)
6878 ;
6879"RTN","EDPRPT8",78,0)
6880ECODE(IEN) ; Return external value for an Acuity code
6881"RTN","EDPRPT8",79,0)
6882 N X0,X,Y S X0=$G(^EDPB(233.1,+IEN,0))
6883"RTN","EDPRPT8",80,0)
6884 S X=$P(X0,U,3) S:X<1 X=$P(X0,U,4) ;code or nat'l code
6885"RTN","EDPRPT8",81,0)
6886 S Y=$S(X=1:"one",X=2:"two",X=3:"three",X=4:"four",X=5:"five",1:"none")
6887"RTN","EDPRPT8",82,0)
6888 Q Y
6889"RTN","EDPRPT8",83,0)
6890 ;
6891"RTN","EDPRPT8",84,0)
6892ETIME(MINS) ; Return #minutes as HH:MM
6893"RTN","EDPRPT8",85,0)
6894 N H,M,Y
6895"RTN","EDPRPT8",86,0)
6896 S H=MINS\60,M=MINS#60
6897"RTN","EDPRPT8",87,0)
6898 S Y=$E("0"_H,1,2)_":"_$E("0"_M,1,2)
6899"RTN","EDPRPT8",88,0)
6900 Q Y
6901"RTN","EDPRPT9")
69020^42^B1592058
6903"RTN","EDPRPT9",1,0)
6904EDPRPT9 ;SLC/MKB - Patient Xref Report
6905"RTN","EDPRPT9",2,0)
6906 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
6907"RTN","EDPRPT9",3,0)
6908 ;
6909"RTN","EDPRPT9",4,0)
6910XRF(BEG,END) ; Get Patient Xref Report for EDPSITE by date range
6911"RTN","EDPRPT9",5,0)
6912 ; CNT = counters
6913"RTN","EDPRPT9",6,0)
6914 N IN,LOG,DFN,ID,X,ROW,TAB
6915"RTN","EDPRPT9",7,0)
6916 D:'$G(CSV) XML^EDPX("<patients>") I $G(CSV) D ;headers
6917"RTN","EDPRPT9",8,0)
6918 . S TAB=$C(9),X="ED"_TAB_"Patient ID"_TAB_"Patient DFN"
6919"RTN","EDPRPT9",9,0)
6920 . D ADD^EDPCSV(X)
6921"RTN","EDPRPT9",10,0)
6922 S IN=BEG-.000001
6923"RTN","EDPRPT9",11,0)
6924 F S IN=$O(^EDP(230,"ATI",EDPSITE,IN)) Q:'IN Q:IN>END S LOG=0 F S LOG=+$O(^EDP(230,"ATI",EDPSITE,IN,LOG)) Q:LOG<1 D
6925"RTN","EDPRPT9",12,0)
6926 . S DFN=$P($G(^EDP(230,LOG,0)),U,6),ID=$P($G(^(0)),U,11) Q:DFN<1
6927"RTN","EDPRPT9",13,0)
6928 . I $G(CSV) S X=LOG_TAB_ID_TAB_DFN D ADD^EDPCSV(X) Q
6929"RTN","EDPRPT9",14,0)
6930 . K ROW S ROW("id")=LOG
6931"RTN","EDPRPT9",15,0)
6932 . S ROW("patientDfn")=DFN
6933"RTN","EDPRPT9",16,0)
6934 . S ROW("patientId")=ID
6935"RTN","EDPRPT9",17,0)
6936 . S X=$$XMLA^EDPX("patient",.ROW) D XML^EDPX(X)
6937"RTN","EDPRPT9",18,0)
6938 D:'$G(CSV) XML^EDPX("</patients>")
6939"RTN","EDPRPT9",19,0)
6940 Q
6941"RTN","EDPX")
69420^46^B6480298
6943"RTN","EDPX",1,0)
6944EDPX ;SLC/KCM - Common Utilities
6945"RTN","EDPX",2,0)
6946 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
6947"RTN","EDPX",3,0)
6948 ;
6949"RTN","EDPX",4,0)
6950ESC(X) ; Escape for XML transmission
6951"RTN","EDPX",5,0)
6952 Q $ZCONVERT(X,"O","HTML")
6953"RTN","EDPX",6,0)
6954 ;
6955"RTN","EDPX",7,0)
6956UES(X) ; Unescape XML
6957"RTN","EDPX",8,0)
6958 Q $ZCONVERT(X,"I","HTML")
6959"RTN","EDPX",9,0)
6960 ;
6961"RTN","EDPX",10,0)
6962UESREQ(REQ) ; Unescape HTTP post
6963"RTN","EDPX",11,0)
6964 N I,X
6965"RTN","EDPX",12,0)
6966 S X="" F S X=$O(REQ(X)) Q:X="" D
6967"RTN","EDPX",13,0)
6968 . S I=0 F S I=$O(REQ(X,I)) Q:'I D
6969"RTN","EDPX",14,0)
6970 . . S REQ(X,I)=$ZCONVERT(REQ(X,I),"I","HTML")
6971"RTN","EDPX",15,0)
6972 Q
6973"RTN","EDPX",16,0)
6974VAL(X,R) ; Returns parameter value or null
6975"RTN","EDPX",17,0)
6976 ; HTTP passes HTML-escaped values in an array as REC(param,1)
6977"RTN","EDPX",18,0)
6978 Q $G(R(X,1))
6979"RTN","EDPX",19,0)
6980 ;
6981"RTN","EDPX",20,0)
6982NVPARSE(LST,IN) ; Parses tab delimited name-value pairs into array
6983"RTN","EDPX",21,0)
6984 N I,X,TAB,NM,VAL
6985"RTN","EDPX",22,0)
6986 S TAB=$C(9)
6987"RTN","EDPX",23,0)
6988 F I=1:1:$L(IN,TAB) S X=$P(IN,TAB,I),NM=$P(X,"="),VAL=$P(X,"=",2,999) S:$L(NM) LST(NM)=VAL
6989"RTN","EDPX",24,0)
6990 Q
6991"RTN","EDPX",25,0)
6992XMLS(TAG,DATA,LBL) ; Return XML node as <TAG data="9" label="XXX" />
6993"RTN","EDPX",26,0)
6994 Q "<"_TAG_" data="""_$$ESC(DATA)_""" label="""_$$ESC(LBL)_""" />"
6995"RTN","EDPX",27,0)
6996 ;
6997"RTN","EDPX",28,0)
6998XMLA(TAG,ATT,END) ; Return XML node as <TAG att1="a" att2="b"... />
6999"RTN","EDPX",29,0)
7000 N NODE S NODE="<"_TAG_" "
7001"RTN","EDPX",30,0)
7002 N X
7003"RTN","EDPX",31,0)
7004 S X="" F S X=$O(ATT(X)) Q:X="" I $L(ATT(X)) S NODE=NODE_X_"="""_$$ESC(ATT(X))_""" "
7005"RTN","EDPX",32,0)
7006 S NODE=NODE_$G(END,"/")_">"
7007"RTN","EDPX",33,0)
7008 Q NODE
7009"RTN","EDPX",34,0)
7010 ;
7011"RTN","EDPX",35,0)
7012XMLE(SRC) ; Append list to XML array as elements
7013"RTN","EDPX",36,0)
7014 N X,NODE
7015"RTN","EDPX",37,0)
7016 S X="" F S X=$O(SRC(X)) Q:X="" D
7017"RTN","EDPX",38,0)
7018 . S NODE="<"_X_">"_$$ESC(SRC(X))_"</"_X_">"
7019"RTN","EDPX",39,0)
7020 . D XML(NODE)
7021"RTN","EDPX",40,0)
7022 Q
7023"RTN","EDPX",41,0)
7024XML(X) ; Add a line of XML to be returned
7025"RTN","EDPX",42,0)
7026 S EDPXML=$G(EDPXML)+1
7027"RTN","EDPX",43,0)
7028 S EDPXML(EDPXML)=X
7029"RTN","EDPX",44,0)
7030 Q
7031"RTN","EDPX",45,0)
7032CODE(X) ; Return internal value for a code
7033"RTN","EDPX",46,0)
7034 Q $O(^EDPB(233.1,"B",X,0))
7035"RTN","EDPX",47,0)
7036 ;
7037"RTN","EDPX",48,0)
7038MSG(MSG) ; Write out error message
7039"RTN","EDPX",49,0)
7040 I MSG=1 S X="some error"
7041"RTN","EDPX",50,0)
7042 I MSG=2300001 S X="Station Number is missing"
7043"RTN","EDPX",51,0)
7044 I MSG=2300002 S X="Patient is already active in log"
7045"RTN","EDPX",52,0)
7046 I MSG=2300003 S X="Unable to create lock for new record"
7047"RTN","EDPX",53,0)
7048 I MSG=2300004 S X="Error creating new record"
7049"RTN","EDPX",54,0)
7050 I MSG=2300005 S X="Error creating sub-record"
7051"RTN","EDPX",55,0)
7052 I MSG=2300006 S X="Missing log record"
7053"RTN","EDPX",56,0)
7054 I MSG=2300007 S X="Missing log IEN"
7055"RTN","EDPX",57,0)
7056 I MSG=2300008 S X="Error updating record"
7057"RTN","EDPX",58,0)
7058 I MSG=2300009 S X="Error updating sub-record"
7059"RTN","EDPX",59,0)
7060 I MSG=2300010 S X="Command missing or not recognized"
7061"RTN","EDPX",60,0)
7062 I MSG=2300011 S X="Unknown report type"
7063"RTN","EDPX",61,0)
7064 I MSG=2300012 S X="Missing or invalid date range"
7065"RTN","EDPX",62,0)
7066 I MSG=2300013 S X="Shift times not defined for this site"
7067"RTN","EDPX",63,0)
7068 Q $$ESC^EDPX(X)
7069"RTN","EDPYSRV")
70700^^B257666
7071"RTN","EDPYSRV",1,0)
7072EDPYSRV ;SLC/KCM - Post-init for server install
7073"RTN","EDPYSRV",2,0)
7074 ;;1.0;EMERGENCY DEPARTMENT;;Dec 31, 2007;Build 7
7075"RTN","EDPYSRV",3,0)
7076 ;
7077"RTN","EDPYSRV",4,0)
7078PROXY ; Create proxy user
7079"RTN","EDPYSRV",5,0)
7080 Q:$O(^VA(200,"B","EDPTRACKING,PROXY",0))
7081"RTN","EDPYSRV",6,0)
7082 N X
7083"RTN","EDPYSRV",7,0)
7084 S X=$$CREATE^XUSAP("EDPTRACKING,PROXY","","EDPS TRACKING CONTEXT")
7085"RTN","EDPYSRV",8,0)
7086 Q
7087"SEC","^DIC",230,230,0,"AUDIT")
7088@
7089"SEC","^DIC",230,230,0,"DD")
7090@
7091"SEC","^DIC",230,230,0,"DEL")
7092@
7093"SEC","^DIC",230,230,0,"LAYGO")
7094@
7095"SEC","^DIC",230,230,0,"RD")
7096@
7097"SEC","^DIC",230,230,0,"WR")
7098@
7099"SEC","^DIC",230.1,230.1,0,"AUDIT")
7100@
7101"SEC","^DIC",230.1,230.1,0,"DD")
7102@
7103"SEC","^DIC",230.1,230.1,0,"DEL")
7104@
7105"SEC","^DIC",230.1,230.1,0,"LAYGO")
7106@
7107"SEC","^DIC",230.1,230.1,0,"RD")
7108@
7109"SEC","^DIC",230.1,230.1,0,"WR")
7110@
7111"SEC","^DIC",231.7,231.7,0,"AUDIT")
7112@
7113"SEC","^DIC",231.7,231.7,0,"DD")
7114@
7115"SEC","^DIC",231.7,231.7,0,"DEL")
7116@
7117"SEC","^DIC",231.7,231.7,0,"LAYGO")
7118@
7119"SEC","^DIC",231.7,231.7,0,"RD")
7120@
7121"SEC","^DIC",231.7,231.7,0,"WR")
7122@
7123"SEC","^DIC",231.8,231.8,0,"AUDIT")
7124@
7125"SEC","^DIC",231.8,231.8,0,"DD")
7126@
7127"SEC","^DIC",231.8,231.8,0,"DEL")
7128@
7129"SEC","^DIC",231.8,231.8,0,"LAYGO")
7130@
7131"SEC","^DIC",231.8,231.8,0,"RD")
7132@
7133"SEC","^DIC",231.8,231.8,0,"WR")
7134@
7135"SEC","^DIC",231.9,231.9,0,"AUDIT")
7136@
7137"SEC","^DIC",231.9,231.9,0,"DD")
7138@
7139"SEC","^DIC",231.9,231.9,0,"DEL")
7140@
7141"SEC","^DIC",231.9,231.9,0,"LAYGO")
7142@
7143"SEC","^DIC",231.9,231.9,0,"RD")
7144@
7145"SEC","^DIC",231.9,231.9,0,"WR")
7146@
7147"SEC","^DIC",233.1,233.1,0,"AUDIT")
7148@
7149"SEC","^DIC",233.1,233.1,0,"DD")
7150@
7151"SEC","^DIC",233.1,233.1,0,"DEL")
7152@
7153"SEC","^DIC",233.1,233.1,0,"LAYGO")
7154@
7155"SEC","^DIC",233.1,233.1,0,"RD")
7156@
7157"SEC","^DIC",233.1,233.1,0,"WR")
7158@
7159"SEC","^DIC",233.2,233.2,0,"AUDIT")
7160@
7161"SEC","^DIC",233.2,233.2,0,"DD")
7162@
7163"SEC","^DIC",233.2,233.2,0,"DEL")
7164@
7165"SEC","^DIC",233.2,233.2,0,"LAYGO")
7166@
7167"SEC","^DIC",233.2,233.2,0,"RD")
7168@
7169"SEC","^DIC",233.2,233.2,0,"WR")
7170@
7171"VER")
71728.0^22.0
7173"^DD",230,230,0)
7174FIELD^^.12^27
7175"^DD",230,230,0,"DT")
71763071227
7177"^DD",230,230,0,"IX","B",230,.01)
7178
7179"^DD",230,230,0,"NM","ED LOG")
7180
7181"^DD",230,230,0,"PT",230.1,.01)
7182
7183"^DD",230,230,.01,0)
7184LOG ENTRY TIME^RD^^0;1^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X
7185"^DD",230,230,.01,1,0)
7186^.1
7187"^DD",230,230,.01,1,1,0)
7188230^B
7189"^DD",230,230,.01,1,1,1)
7190S ^EDP(230,"B",$E(X,1,30),DA)=""
7191"^DD",230,230,.01,1,1,2)
7192K ^EDP(230,"B",$E(X,1,30),DA)
7193"^DD",230,230,.01,3)
7194
7195"^DD",230,230,.01,"DT")
71963070721
7197"^DD",230,230,.02,0)
7198STATION NUMBER^F^^0;2^K:$L(X)>15!($L(X)<1) X
7199"^DD",230,230,.02,1,0)
7200^.1^^0
7201"^DD",230,230,.02,3)
7202Answer must be 1-15 characters in length.
7203"^DD",230,230,.02,"DT")
72043071221
7205"^DD",230,230,.03,0)
7206AREA^P231.9'^EDPB(231.9,^0;3^Q
7207"^DD",230,230,.03,1,0)
7208^.1^^0
7209"^DD",230,230,.03,"DT")
72103071216
7211"^DD",230,230,.04,0)
7212PATIENT NAME^F^^0;4^K:$L(X)>40!($L(X)<3) X
7213"^DD",230,230,.04,3)
7214Answer must be 3-40 characters in length.
7215"^DD",230,230,.04,"DT")
72163071216
7217"^DD",230,230,.05,0)
7218PATIENT SSN^F^^0;5^K:$L(X)>10!($L(X)<1) X
7219"^DD",230,230,.05,1,0)
7220^.1^^0
7221"^DD",230,230,.05,3)
7222Answer must be 1-10 characters in length.
7223"^DD",230,230,.05,"DT")
72243070920
7225"^DD",230,230,.06,0)
7226PATIENT ID^F^^0;6^K:$L(X)>20!($L(X)<1) X
7227"^DD",230,230,.06,3)
7228Answer must be 1-20 characters in length.
7229"^DD",230,230,.06,"DT")
72303071115
7231"^DD",230,230,.07,0)
7232CLOSED^S^1:YES;0:NO;^0;7^Q
7233"^DD",230,230,.07,1,0)
7234^.1^^0
7235"^DD",230,230,.07,5,1,0)
7236230^3.2^1
7237"^DD",230,230,.07,9)
7238^
7239"^DD",230,230,.07,"DT")
72403071129
7241"^DD",230,230,.08,0)
7242TIME IN^D^^0;8^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7243"^DD",230,230,.08,"DT")
72443071120
7245"^DD",230,230,.09,0)
7246TIME OUT^D^^0;9^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7247"^DD",230,230,.09,"DT")
72483071018
7249"^DD",230,230,.1,0)
7250ARRIVAL MODE^P233.1'^EDPB(233.1,^0;10^Q
7251"^DD",230,230,.1,"DT")
72523070913
7253"^DD",230,230,.11,0)
7254PATIENT BRIEF ID^F^^0;11^K:$L(X)>10!($L(X)<4) X
7255"^DD",230,230,.11,3)
7256Answer must be 4-10 characters in length.
7257"^DD",230,230,.11,"DT")
72583071129
7259"^DD",230,230,.12,0)
7260TIME ZONE DIFFERENCE^NJ3,0^^0;12^K:+X'=X!(X>720)!(X<-720)!(X?.E1"."1N.N) X
7261"^DD",230,230,.12,3)
7262Type a Number between -720 and 720, 0 Decimal Digits
7263"^DD",230,230,.12,21,0)
7264^^1^1^3071227^
7265"^DD",230,230,.12,21,1,0)
7266Minutes difference between the server time zone and the local time zone.
7267"^DD",230,230,.12,"DT")
72683071227
7269"^DD",230,230,1.1,0)
7270COMPLAINT^F^^1;1^K:$L(X)>50!($L(X)<1) X
7271"^DD",230,230,1.1,3)
7272Answer must be 1-50 characters in length.
7273"^DD",230,230,1.1,"DT")
72743070720
7275"^DD",230,230,1.2,0)
7276DISPOSITION^P233.1'^EDPB(233.1,^1;2^Q
7277"^DD",230,230,1.2,"DT")
72783070720
7279"^DD",230,230,1.3,0)
7280DISPOSITION TIME^D^^1;3^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7281"^DD",230,230,1.3,"DT")
72823070720
7283"^DD",230,230,1.4,0)
7284DIAGNOSIS TIME^D^^1;4^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7285"^DD",230,230,1.4,3)
7286
7287"^DD",230,230,1.4,"DT")
72883070720
7289"^DD",230,230,1.5,0)
7290DELAY^P233.1'^EDPB(233.1,^1;5^Q
7291"^DD",230,230,1.5,"DT")
72923070720
7293"^DD",230,230,2,0)
7294COMPLAINT (LONG)^F^^2;1^K:$L(X)>220!($L(X)<1) X
7295"^DD",230,230,2,3)
7296Answer must be 1-220 characters in length.
7297"^DD",230,230,2,"DT")
72983070720
7299"^DD",230,230,3.2,0)
7300STATUS^P233.1'^EDPB(233.1,^3;2^Q
7301"^DD",230,230,3.2,1,0)
7302^.1
7303"^DD",230,230,3.2,1,1,0)
7304^^TRIGGER^230^.07
7305"^DD",230,230,3.2,1,1,1)
7306K DIV S DIV=X,D0=DA,DIV(0)=D0 S Y(1)=$S($D(^EDP(230,D0,0)):^(0),1:"") S X=$P(Y(1),U,7),X=X S DIU=X K Y S X=DIV S X=$$ISGONE^EDPDD(X) S DIH=$G(^EDP(230,DIV(0),0)),DIV=X S $P(^(0),U,7)=DIV,DIH=230,DIG=.07 D ^DICR
7307"^DD",230,230,3.2,1,1,2)
7308Q
7309"^DD",230,230,3.2,1,1,"CREATE VALUE")
7310S X=$$ISGONE^EDPDD(X)
7311"^DD",230,230,3.2,1,1,"DELETE VALUE")
7312NO EFFECT
7313"^DD",230,230,3.2,1,1,"FIELD")
7314CLOSED
7315"^DD",230,230,3.2,"DT")
73163071129
7317"^DD",230,230,3.3,0)
7318ACUITY^P233.1'^EDPB(233.1,^3;3^Q
7319"^DD",230,230,3.3,"DT")
73203071129
7321"^DD",230,230,3.4,0)
7322LOC^P231.8'^EDPB(231.8,^3;4^Q
7323"^DD",230,230,3.4,"DT")
73243071129
7325"^DD",230,230,3.5,0)
7326MD ASSIGNED^F^^3;5^K:$L(X)>20!($L(X)<1) X
7327"^DD",230,230,3.5,3)
7328Answer must be 1-20 characters in length.
7329"^DD",230,230,3.5,"DT")
73303071129
7331"^DD",230,230,3.6,0)
7332NURSE ASSIGNED^F^^3;6^K:$L(X)>20!($L(X)<1) X
7333"^DD",230,230,3.6,3)
7334Answer must be 1-20 characters in length.
7335"^DD",230,230,3.6,"DT")
73363071129
7337"^DD",230,230,3.7,0)
7338RESIDENT ASSIGNED^F^^3;7^K:$L(X)>20!($L(X)<1) X
7339"^DD",230,230,3.7,3)
7340Answer must be 1-20 characters in length.
7341"^DD",230,230,3.7,"DT")
73423071129
7343"^DD",230,230,3.8,0)
7344COMMENT^F^^3;8^K:$L(X)>80!($L(X)<1) X
7345"^DD",230,230,3.8,3)
7346Answer must be 1-80 characters in length.
7347"^DD",230,230,3.8,"DT")
73483071129
7349"^DD",230,230,4,0)
7350DISCHARGE DIAGNOSIS^230.04A^^4;0
7351"^DD",230,230,8,0)
7352ORDERS^230.08A^^8;0
7353"^DD",230,230.04,0)
7354DISCHARGE DIAGNOSIS SUB-FIELD^^.02^2
7355"^DD",230,230.04,0,"DT")
73563070720
7357"^DD",230,230.04,0,"IX","B",230.04,.01)
7358
7359"^DD",230,230.04,0,"NM","DISCHARGE DIAGNOSIS")
7360
7361"^DD",230,230.04,0,"UP")
7362230
7363"^DD",230,230.04,.01,0)
7364DISCHARGE DIAGNOSIS^MF^^0;1^K:$L(X)>50!($L(X)<1) X
7365"^DD",230,230.04,.01,1,0)
7366^.1
7367"^DD",230,230.04,.01,1,1,0)
7368230.04^B
7369"^DD",230,230.04,.01,1,1,1)
7370S ^EDP(230,DA(1),4,"B",$E(X,1,30),DA)=""
7371"^DD",230,230.04,.01,1,1,2)
7372K ^EDP(230,DA(1),4,"B",$E(X,1,30),DA)
7373"^DD",230,230.04,.01,3)
7374Answer must be 1-50 characters in length.
7375"^DD",230,230.04,.01,"DT")
73763070720
7377"^DD",230,230.04,.02,0)
7378ICD9 CODE^F^^0;2^K:$L(X)>20!($L(X)<1) X
7379"^DD",230,230.04,.02,3)
7380Answer must be 1-20 characters in length.
7381"^DD",230,230.04,.02,"DT")
73823070720
7383"^DD",230,230.08,0)
7384ORDERS SUB-FIELD^^.05^5
7385"^DD",230,230.08,0,"DT")
73863071115
7387"^DD",230,230.08,0,"IX","AC",230.08,.02)
7388
7389"^DD",230,230.08,0,"IX","B",230.08,.01)
7390
7391"^DD",230,230.08,0,"NM","ORDERS")
7392
7393"^DD",230,230.08,0,"UP")
7394230
7395"^DD",230,230.08,.01,0)
7396ORDER^MF^^0;1^K:$L(X)>30!($L(X)<1) X
7397"^DD",230,230.08,.01,1,0)
7398^.1
7399"^DD",230,230.08,.01,1,1,0)
7400230.08^B
7401"^DD",230,230.08,.01,1,1,1)
7402S ^EDP(230,DA(1),8,"B",$E(X,1,30),DA)=""
7403"^DD",230,230.08,.01,1,1,2)
7404K ^EDP(230,DA(1),8,"B",$E(X,1,30),DA)
7405"^DD",230,230.08,.01,3)
7406Answer must be 1-30 characters in length.
7407"^DD",230,230.08,.01,"DT")
74083070918
7409"^DD",230,230.08,.02,0)
7410SERVICE^S^M:medication;L:lab;R:radiology;C:consult;A:all other;^0;2^Q
7411"^DD",230,230.08,.02,1,0)
7412^.1
7413"^DD",230,230.08,.02,1,1,0)
7414230.08^AC
7415"^DD",230,230.08,.02,1,1,1)
7416S ^EDP(230,DA(1),8,"AC",$E(X,1,30),DA)=""
7417"^DD",230,230.08,.02,1,1,2)
7418K ^EDP(230,DA(1),8,"AC",$E(X,1,30),DA)
7419"^DD",230,230.08,.02,1,1,"%D",0)
7420^^2^2^3071115^
7421"^DD",230,230.08,.02,1,1,"%D",1,0)
7422Allows quick check for the existence of various types of orders for this
7423"^DD",230,230.08,.02,1,1,"%D",2,0)
7424ED visit.
7425"^DD",230,230.08,.02,1,1,"DT")
74263071115
7427"^DD",230,230.08,.02,"DT")
74283071115
7429"^DD",230,230.08,.03,0)
7430STATUS^S^N:new;A:active;C:complete;^0;3^Q
7431"^DD",230,230.08,.03,"DT")
74323070911
7433"^DD",230,230.08,.04,0)
7434STAT^S^1:stat;^0;4^Q
7435"^DD",230,230.08,.04,"DT")
74363070911
7437"^DD",230,230.08,.05,0)
7438RELEASE TIME^D^^0;5^S %DT="ESTXR" D ^%DT S X=Y K:Y<1 X
7439"^DD",230,230.08,.05,"DT")
74403071115
7441"^DD",230.1,230.1,0)
7442FIELD^^3.8^21
7443"^DD",230.1,230.1,0,"DT")
74443071129
7445"^DD",230.1,230.1,0,"IX","B",230.1,.01)
7446
7447"^DD",230.1,230.1,0,"NM","ED LOG HISTORY")
7448
7449"^DD",230.1,230.1,.01,0)
7450LOG ENTRY^RP230'^EDP(230,^0;1^Q
7451"^DD",230.1,230.1,.01,1,0)
7452^.1
7453"^DD",230.1,230.1,.01,1,1,0)
7454230.1^B
7455"^DD",230.1,230.1,.01,1,1,1)
7456S ^EDP(230.1,"B",$E(X,1,30),DA)=""
7457"^DD",230.1,230.1,.01,1,1,2)
7458K ^EDP(230.1,"B",$E(X,1,30),DA)
7459"^DD",230.1,230.1,.01,3)
7460
7461"^DD",230.1,230.1,.01,"DT")
74623071129
7463"^DD",230.1,230.1,.02,0)
7464TIME^D^^0;2^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7465"^DD",230.1,230.1,.02,"DT")
74663071129
7467"^DD",230.1,230.1,.03,0)
7468ENTERED BY^F^^0;3^K:$L(X)>12!($L(X)<1) X
7469"^DD",230.1,230.1,.03,3)
7470Answer must be 1-12 characters in length.
7471"^DD",230.1,230.1,.03,"DT")
74723071123
7473"^DD",230.1,230.1,.04,0)
7474PATIENT NAME^F^^0;4^K:$L(X)>40!($L(X)<3) X
7475"^DD",230.1,230.1,.04,3)
7476Answer must be 3-40 characters in length.
7477"^DD",230.1,230.1,.04,"DT")
74783071123
7479"^DD",230.1,230.1,.05,0)
7480PATIENT SSN^F^^0;5^K:$L(X)>10!($L(X)<1) X
7481"^DD",230.1,230.1,.05,3)
7482Answer must be 1-10 characters in length.
7483"^DD",230.1,230.1,.05,"DT")
74843071123
7485"^DD",230.1,230.1,.06,0)
7486PATIENT ID^F^^0;6^K:$L(X)>20!($L(X)<1) X
7487"^DD",230.1,230.1,.06,3)
7488Answer must be 1-20 characters in length.
7489"^DD",230.1,230.1,.06,"DT")
74903071123
7491"^DD",230.1,230.1,.07,0)
7492COMPLAINT^F^^0;7^K:$L(X)>50!($L(X)<1) X
7493"^DD",230.1,230.1,.07,3)
7494Answer must be 1-50 characters in length.
7495"^DD",230.1,230.1,.07,"DT")
74963071123
7497"^DD",230.1,230.1,.08,0)
7498TIME IN^D^^0;8^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7499"^DD",230.1,230.1,.08,"DT")
75003071123
7501"^DD",230.1,230.1,.09,0)
7502TIME OUT^D^^0;9^S %DT="ETXR" D ^%DT S X=Y K:Y<1 X
7503"^DD",230.1,230.1,.09,"DT")
75043071123
7505"^DD",230.1,230.1,.1,0)
7506ARRIVAL MODE^P233.1'^EDPB(233.1,^0;10^Q
7507"^DD",230.1,230.1,.1,"DT")
75083071123
7509"^DD",230.1,230.1,.11,0)
7510DISPOSITION^P233.1'^EDPB(233.1,^0;11^Q
7511"^DD",230.1,230.1,.11,"DT")
75123071123
7513"^DD",230.1,230.1,.12,0)
7514DELAY^P233.1'^EDPB(233.1,^0;12^Q
7515"^DD",230.1,230.1,.12,"DT")
75163071123
7517"^DD",230.1,230.1,1,0)
7518COMPLAINT (LONG)^F^^1;1^K:$L(X)>220!($L(X)<1) X
7519"^DD",230.1,230.1,1,3)
7520Answer must be 1-220 characters in length.
7521"^DD",230.1,230.1,1,"DT")
75223071123
7523"^DD",230.1,230.1,2,0)
7524COMPLAINT (LONG)^F^^2;1^K:$L(X)>220!($L(X)<1) X
7525"^DD",230.1,230.1,2,3)
7526Answer must be 1-220 characters in length.
7527"^DD",230.1,230.1,2,"DT")
75283071129
7529"^DD",230.1,230.1,3.2,0)
7530STATUS^P233.1'^EDPB(233.1,^3;2^Q
7531"^DD",230.1,230.1,3.2,"DT")
75323071129
7533"^DD",230.1,230.1,3.3,0)
7534ACUITY^P233.1'^EDPB(233.1,^3;3^Q
7535"^DD",230.1,230.1,3.3,"DT")
75363071129
7537"^DD",230.1,230.1,3.4,0)
7538LOC^P231.8'^EDPB(231.8,^3;4^Q
7539"^DD",230.1,230.1,3.4,"DT")
75403071129
7541"^DD",230.1,230.1,3.5,0)
7542MD ASSIGNED^F^^3;5^K:$L(X)>20!($L(X)<1) X
7543"^DD",230.1,230.1,3.5,3)
7544Answer must be 1-20 characters in length.
7545"^DD",230.1,230.1,3.5,"DT")
75463071129
7547"^DD",230.1,230.1,3.6,0)
7548NURSE ASSIGNED^F^^3;6^K:$L(X)>20!($L(X)<1) X
7549"^DD",230.1,230.1,3.6,3)
7550Answer must be 1-20 characters in length.
7551"^DD",230.1,230.1,3.6,"DT")
75523071129
7553"^DD",230.1,230.1,3.7,0)
7554RESIDENT ASSIGNED^F^^3;7^K:$L(X)>20!($L(X)<1) X
7555"^DD",230.1,230.1,3.7,3)
7556Answer must be 1-20 characters in length.
7557"^DD",230.1,230.1,3.7,"DT")
75583071129
7559"^DD",230.1,230.1,3.8,0)
7560COMMENT^F^^3;8^K:$L(X)>80!($L(X)<1) X
7561"^DD",230.1,230.1,3.8,3)
7562Answer must be 1-80 characters in length.
7563"^DD",230.1,230.1,3.8,"DT")
75643071129
7565"^DD",231.7,231.7,0)
7566FIELD^^.08^8
7567"^DD",231.7,231.7,0,"DT")
75683071221
7569"^DD",231.7,231.7,0,"IX","B",231.7,.01)
7570
7571"^DD",231.7,231.7,0,"NM","TRACKING STAFF")
7572
7573"^DD",231.7,231.7,.01,0)
7574NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X
7575"^DD",231.7,231.7,.01,1,0)
7576^.1
7577"^DD",231.7,231.7,.01,1,1,0)
7578231.7^B
7579"^DD",231.7,231.7,.01,1,1,1)
7580S ^EDPB(231.7,"B",$E(X,1,30),DA)=""
7581"^DD",231.7,231.7,.01,1,1,2)
7582K ^EDPB(231.7,"B",$E(X,1,30),DA)
7583"^DD",231.7,231.7,.01,3)
7584NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
7585"^DD",231.7,231.7,.01,"DT")
75863071124
7587"^DD",231.7,231.7,.02,0)
7588STATION NUMBER^F^^0;2^K:$L(X)>15!($L(X)<1) X
7589"^DD",231.7,231.7,.02,3)
7590Answer must be 1-15 characters in length.
7591"^DD",231.7,231.7,.02,"DT")
75923071221
7593"^DD",231.7,231.7,.03,0)
7594AREA^P231.9'^EDPB(231.9,^0;3^Q
7595"^DD",231.7,231.7,.03,"DT")
75963071127
7597"^DD",231.7,231.7,.04,0)
7598INACTIVE^S^0:ACTIVE;1:INACTIVE;^0;4^Q
7599"^DD",231.7,231.7,.04,"DT")
76003071124
7601"^DD",231.7,231.7,.05,0)
7602LOCAL ID^F^^0;5^K:$L(X)>12!($L(X)<1) X
7603"^DD",231.7,231.7,.05,3)
7604Answer must be 1-12 characters in length.
7605"^DD",231.7,231.7,.05,"DT")
76063071127
7607"^DD",231.7,231.7,.06,0)
7608ROLE^S^P:provider;R:resident;N:nurse;^0;6^Q
7609"^DD",231.7,231.7,.06,"DT")
76103071124
7611"^DD",231.7,231.7,.07,0)
7612INITIALS^F^^0;7^K:$L(X)>7!($L(X)<1) X
7613"^DD",231.7,231.7,.07,3)
7614Answer must be 1-7 characters in length.
7615"^DD",231.7,231.7,.07,"DT")
76163071124
7617"^DD",231.7,231.7,.08,0)
7618COLOR^F^^0;8^K:$L(X)>20!($L(X)<1) X
7619"^DD",231.7,231.7,.08,3)
7620Answer must be 1-20 characters in length.
7621"^DD",231.7,231.7,.08,"DT")
76223071124
7623"^DD",231.8,231.8,0)
7624FIELD^^.12^12
7625"^DD",231.8,231.8,0,"DT")
76263071221
7627"^DD",231.8,231.8,0,"IX","B",231.8,.01)
7628
7629"^DD",231.8,231.8,0,"NM","TRACKING ROOM-BED")
7630
7631"^DD",231.8,231.8,0,"PT",230,3.4)
7632
7633"^DD",231.8,231.8,0,"PT",230.1,3.4)
7634
7635"^DD",231.8,231.8,.01,0)
7636NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X
7637"^DD",231.8,231.8,.01,1,0)
7638^.1
7639"^DD",231.8,231.8,.01,1,1,0)
7640231.8^B
7641"^DD",231.8,231.8,.01,1,1,1)
7642S ^EDPB(231.8,"B",$E(X,1,30),DA)=""
7643"^DD",231.8,231.8,.01,1,1,2)
7644K ^EDPB(231.8,"B",$E(X,1,30),DA)
7645"^DD",231.8,231.8,.01,3)
7646NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
7647"^DD",231.8,231.8,.02,0)
7648STATION NUMBER^F^^0;2^K:$L(X)>15!($L(X)<1) X
7649"^DD",231.8,231.8,.02,3)
7650Answer must be 1-15 characters in length.
7651"^DD",231.8,231.8,.02,"DT")
76523080111
7653"^DD",231.8,231.8,.03,0)
7654AREA^P231.9'^EDPB(231.9,^0;3^Q
7655"^DD",231.8,231.8,.03,"DT")
76563080111
7657"^DD",231.8,231.8,.04,0)
7658INACTIVE^S^0:ACTIVE;1:INACTIVE;^0;4^Q
7659"^DD",231.8,231.8,.04,"DT")
76603070911
7661"^DD",231.8,231.8,.05,0)
7662SEQUENCE^NJ7,2^^0;5^K:+X'=X!(X>9999)!(X<1)!(X?.E1"."3N.N) X
7663"^DD",231.8,231.8,.05,3)
7664Type a Number between 1 and 9999, 2 Decimal Digits
7665"^DD",231.8,231.8,.05,"DT")
76663070911
7667"^DD",231.8,231.8,.06,0)
7668DISPLAY NAME^F^^0;6^K:$L(X)>30!($L(X)<1) X
7669"^DD",231.8,231.8,.06,3)
7670Answer must be 1-30 characters in length.
7671"^DD",231.8,231.8,.06,"DT")
76723080111
7673"^DD",231.8,231.8,.07,0)
7674DISPLAY WHEN^S^0:OCCUPIED;1:ALWAYS;2:NEVER;^0;7^Q
7675"^DD",231.8,231.8,.07,"DT")
76763070912
7677"^DD",231.8,231.8,.08,0)
7678DEFAULT STATUS^P233.1'^EDPB(233.1,^0;8^Q
7679"^DD",231.8,231.8,.08,"DT")
76803070911
7681"^DD",231.8,231.8,.09,0)
7682MULTIPLE ASSIGN^S^0:NO;1:YES;^0;9^Q
7683"^DD",231.8,231.8,.09,"DT")
76843070911
7685"^DD",231.8,231.8,.1,0)
7686SHARED NAME^F^^0;10^K:$L(X)>30!($L(X)<1) X
7687"^DD",231.8,231.8,.1,3)
7688Answer must be 1-30 characters in length.
7689"^DD",231.8,231.8,.1,"DT")
76903070911
7691"^DD",231.8,231.8,.11,0)
7692BOARD^F^^0;11^K:$L(X)>30!($L(X)<1) X
7693"^DD",231.8,231.8,.11,3)
7694Answer must be 1-30 characters in length.
7695"^DD",231.8,231.8,.11,"DT")
76963071030
7697"^DD",231.8,231.8,.12,0)
7698COLOR^F^^0;12^K:$L(X)>20!($L(X)<1) X
7699"^DD",231.8,231.8,.12,3)
7700Answer must be 1-20 characters in length.
7701"^DD",231.8,231.8,.12,"DT")
77023071123
7703"^DD",231.9,231.9,0)
7704FIELD^^.04^15
7705"^DD",231.9,231.9,0,"DT")
77063071228
7707"^DD",231.9,231.9,0,"IX","B",231.9,.01)
7708
7709"^DD",231.9,231.9,0,"IX","C",231.9,.02)
7710
7711"^DD",231.9,231.9,0,"NM","TRACKING AREA")
7712
7713"^DD",231.9,231.9,0,"PT",230,.03)
7714
7715"^DD",231.9,231.9,0,"PT",231.7,.03)
7716
7717"^DD",231.9,231.9,0,"PT",231.8,.03)
7718
7719"^DD",231.9,231.9,.01,0)
7720NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X
7721"^DD",231.9,231.9,.01,1,0)
7722^.1
7723"^DD",231.9,231.9,.01,1,1,0)
7724231.9^B
7725"^DD",231.9,231.9,.01,1,1,1)
7726S ^EDPB(231.9,"B",$E(X,1,30),DA)=""
7727"^DD",231.9,231.9,.01,1,1,2)
7728K ^EDPB(231.9,"B",$E(X,1,30),DA)
7729"^DD",231.9,231.9,.01,3)
7730NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
7731"^DD",231.9,231.9,.02,0)
7732STATION NUMBER^F^^0;2^K:$L(X)>15!($L(X)<1) X
7733"^DD",231.9,231.9,.02,1,0)
7734^.1
7735"^DD",231.9,231.9,.02,1,1,0)
7736231.9^C
7737"^DD",231.9,231.9,.02,1,1,1)
7738S ^EDPB(231.9,"C",$E(X,1,30),DA)=""
7739"^DD",231.9,231.9,.02,1,1,2)
7740K ^EDPB(231.9,"C",$E(X,1,30),DA)
7741"^DD",231.9,231.9,.02,1,1,"DT")
77423070913
7743"^DD",231.9,231.9,.02,3)
7744Answer must be 1-15 characters in length.
7745"^DD",231.9,231.9,.02,"DT")
77463071221
7747"^DD",231.9,231.9,.03,0)
7748TIME ZONE DIFFERENCE^NJ3,0^^0;3^K:+X'=X!(X>720)!(X<-720)!(X?.E1"."1N.N) X
7749"^DD",231.9,231.9,.03,3)
7750Type a Number between -720 and 720, 0 Decimal Digits
7751"^DD",231.9,231.9,.03,"DT")
77523071227
7753"^DD",231.9,231.9,.04,0)
7754MAIL DOMAIN^F^^0;4^K:$L(X)>45!($L(X)<3) X
7755"^DD",231.9,231.9,.04,3)
7756Answer must be 3-45 characters in length.
7757"^DD",231.9,231.9,.04,"DT")
77583071228
7759"^DD",231.9,231.9,1.1,0)
7760DIAGNOSIS REQUIRED^S^0:NO;1:YES;^1;1^Q
7761"^DD",231.9,231.9,1.1,"DT")
77623071015
7763"^DD",231.9,231.9,1.2,0)
7764CODED DIAGNOSIS^S^0:NO;1:YES;^1;2^Q
7765"^DD",231.9,231.9,1.2,"DT")
77663071015
7767"^DD",231.9,231.9,1.3,0)
7768DISPOSITION REQUIRED^S^0:NO;1:YES;^1;3^Q
7769"^DD",231.9,231.9,1.3,"DT")
77703071015
7771"^DD",231.9,231.9,1.4,0)
7772DELAY REQUIRED^S^0:NO;1:YES;^1;4^Q
7773"^DD",231.9,231.9,1.4,"DT")
77743071015
7775"^DD",231.9,231.9,1.5,0)
7776DELAY MINUTES^NJ4,0^^1;5^K:+X'=X!(X>9999)!(X<1)!(X?.E1"."1N.N) X
7777"^DD",231.9,231.9,1.5,3)
7778Type a Number between 1 and 9999, 0 Decimal Digits
7779"^DD",231.9,231.9,1.5,"DT")
77803071015
7781"^DD",231.9,231.9,1.6,0)
7782FIRST SHIFT START^NJ5,0^^1;6^K:+X'=X!(X>86400)!(X<0)!(X?.E1"."1N.N) X
7783"^DD",231.9,231.9,1.6,3)
7784Type a Number between 0 and 86400, 0 Decimal Digits
7785"^DD",231.9,231.9,1.6,"DT")
77863071130
7787"^DD",231.9,231.9,1.7,0)
7788SHIFT DURATION^NJ5,0^^1;7^K:+X'=X!(X>86400)!(X<0)!(X?.E1"."1N.N) X
7789"^DD",231.9,231.9,1.7,3)
7790Type a Number between 0 and 86400, 0 Decimal Digits
7791"^DD",231.9,231.9,1.7,"DT")
77923071130
7793"^DD",231.9,231.9,1.8,0)
7794PROMPT RESIDENTS^S^0:NO;1:YES;^1;8^Q
7795"^DD",231.9,231.9,1.8,"DT")
77963071130
7797"^DD",231.9,231.9,2,0)
7798DISPLAY BOARD SPEC^231.92^^2;0
7799"^DD",231.9,231.9,3,0)
7800COLOR SPEC^231.93^^3;0
7801"^DD",231.9,231.9,230.1,0)
7802TRACKING UPDATED^F^^230;1^K:$L(X)>30!($L(X)<1) X
7803"^DD",231.9,231.9,230.1,3)
7804Answer must be 1-30 characters in length.
7805"^DD",231.9,231.9,230.1,"DT")
78063071006
7807"^DD",231.9,231.92,0)
7808DISPLAY BOARD SPEC SUB-FIELD^^.01^1
7809"^DD",231.9,231.92,0,"DT")
78103071022
7811"^DD",231.9,231.92,0,"NM","DISPLAY BOARD SPEC")
7812
7813"^DD",231.9,231.92,0,"UP")
7814231.9
7815"^DD",231.9,231.92,.01,0)
7816DISPLAY BOARD SPEC^WL^^0;1^Q
7817"^DD",231.9,231.92,.01,"DT")
78183071022
7819"^DD",231.9,231.93,0)
7820COLOR SPEC SUB-FIELD^^.01^1
7821"^DD",231.9,231.93,0,"DT")
78223071027
7823"^DD",231.9,231.93,0,"NM","COLOR SPEC")
7824
7825"^DD",231.9,231.93,0,"UP")
7826231.9
7827"^DD",231.9,231.93,.01,0)
7828COLOR SPEC^WL^^0;1^Q
7829"^DD",231.9,231.93,.01,"DT")
78303071027
7831"^DD",233.1,233.1,0)
7832FIELD^^2^6
7833"^DD",233.1,233.1,0,"DT")
78343080102
7835"^DD",233.1,233.1,0,"IX","B",233.1,.01)
7836
7837"^DD",233.1,233.1,0,"NM","TRACKING CODE")
7838
7839"^DD",233.1,233.1,0,"PT",230,.06)
7840
7841"^DD",233.1,233.1,0,"PT",230,.1)
7842
7843"^DD",233.1,233.1,0,"PT",230,1.2)
7844
7845"^DD",233.1,233.1,0,"PT",230,1.5)
7846
7847"^DD",233.1,233.1,0,"PT",230,3.2)
7848
7849"^DD",233.1,233.1,0,"PT",230,3.3)
7850
7851"^DD",233.1,233.1,0,"PT",230.1,.1)
7852
7853"^DD",233.1,233.1,0,"PT",230.1,.11)
7854
7855"^DD",233.1,233.1,0,"PT",230.1,.12)
7856
7857"^DD",233.1,233.1,0,"PT",230.1,3.2)
7858
7859"^DD",233.1,233.1,0,"PT",230.1,3.3)
7860
7861"^DD",233.1,233.1,0,"PT",231.41,.03)
7862
7863"^DD",233.1,233.1,0,"PT",231.8,.05)
7864
7865"^DD",233.1,233.1,0,"PT",231.8,.08)
7866
7867"^DD",233.1,233.1,0,"PT",233.1,.04)
7868
7869"^DD",233.1,233.1,0,"PT",233.21,.02)
7870
7871"^DD",233.1,233.1,.01,0)
7872NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X
7873"^DD",233.1,233.1,.01,1,0)
7874^.1
7875"^DD",233.1,233.1,.01,1,1,0)
7876233.1^B
7877"^DD",233.1,233.1,.01,1,1,1)
7878S ^EDPB(233.1,"B",$E(X,1,30),DA)=""
7879"^DD",233.1,233.1,.01,1,1,2)
7880K ^EDPB(233.1,"B",$E(X,1,30),DA)
7881"^DD",233.1,233.1,.01,3)
7882NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
7883"^DD",233.1,233.1,.01,"DT")
78843080122
7885"^DD",233.1,233.1,.02,0)
7886DISPLAY NAME^F^^0;2^K:$L(X)>60!($L(X)<1) X
7887"^DD",233.1,233.1,.02,3)
7888Answer must be 1-60 characters in length.
7889"^DD",233.1,233.1,.02,"DT")
78903080122
7891"^DD",233.1,233.1,.03,0)
7892ABBREVIATION^F^^0;3^K:$L(X)>30!($L(X)<1) X
7893"^DD",233.1,233.1,.03,3)
7894Answer must be 1-30 characters in length.
7895"^DD",233.1,233.1,.03,"DT")
78963080122
7897"^DD",233.1,233.1,.04,0)
7898NATIONAL CODE^P233.1'^EDPB(233.1,^0;4^Q
7899"^DD",233.1,233.1,.04,"DT")
79003070719
7901"^DD",233.1,233.1,.05,0)
7902FLAGS^F^^0;5^K:$L(X)>5!($L(X)<1) X
7903"^DD",233.1,233.1,.05,3)
7904Answer must be 1-5 characters in length.
7905"^DD",233.1,233.1,.05,"DT")
79063080102
7907"^DD",233.1,233.1,2,0)
7908DESCRIPTION^233.12^^2;0
7909"^DD",233.1,233.12,0)
7910DESCRIPTION SUB-FIELD^^.01^1
7911"^DD",233.1,233.12,0,"DT")
79123070720
7913"^DD",233.1,233.12,0,"NM","DESCRIPTION")
7914
7915"^DD",233.1,233.12,0,"UP")
7916233.1
7917"^DD",233.1,233.12,.01,0)
7918DESCRIPTION^W^^0;1^Q
7919"^DD",233.1,233.12,.01,"DT")
79203070720
7921"^DD",233.2,233.2,0)
7922FIELD^^1^2
7923"^DD",233.2,233.2,0,"DT")
79243071229
7925"^DD",233.2,233.2,0,"IX","B",233.2,.01)
7926
7927"^DD",233.2,233.2,0,"NM","TRACKING CODE SET")
7928
7929"^DD",233.2,233.2,.01,0)
7930NAME^RF^^0;1^K:$L(X)>30!(X?.N)!($L(X)<3)!'(X'?1P.E) X
7931"^DD",233.2,233.2,.01,1,0)
7932^.1
7933"^DD",233.2,233.2,.01,1,1,0)
7934233.2^B
7935"^DD",233.2,233.2,.01,1,1,1)
7936S ^EDPB(233.2,"B",$E(X,1,30),DA)=""
7937"^DD",233.2,233.2,.01,1,1,2)
7938K ^EDPB(233.2,"B",$E(X,1,30),DA)
7939"^DD",233.2,233.2,.01,3)
7940NAME MUST BE 3-30 CHARACTERS, NOT NUMERIC OR STARTING WITH PUNCTUATION
7941"^DD",233.2,233.2,1,0)
7942CODES^233.21A^^1;0
7943"^DD",233.2,233.21,0)
7944CODES SUB-FIELD^^.05^5
7945"^DD",233.2,233.21,0,"DT")
79463071229
7947"^DD",233.2,233.21,0,"IX","B",233.21,.01)
7948
7949"^DD",233.2,233.21,0,"NM","CODES")
7950
7951"^DD",233.2,233.21,0,"UP")
7952233.2
7953"^DD",233.2,233.21,.01,0)
7954SEQUENCE^MNJ4,0^^0;1^K:+X'=X!(X>9999)!(X<1)!(X?.E1"."1N.N) X
7955"^DD",233.2,233.21,.01,1,0)
7956^.1
7957"^DD",233.2,233.21,.01,1,1,0)
7958233.21^B
7959"^DD",233.2,233.21,.01,1,1,1)
7960S ^EDPB(233.2,DA(1),1,"B",$E(X,1,30),DA)=""
7961"^DD",233.2,233.21,.01,1,1,2)
7962K ^EDPB(233.2,DA(1),1,"B",$E(X,1,30),DA)
7963"^DD",233.2,233.21,.01,3)
7964Type a Number between 1 and 9999, 0 Decimal Digits
7965"^DD",233.2,233.21,.01,"DT")
79663070719
7967"^DD",233.2,233.21,.02,0)
7968CODE^P233.1'^EDPB(233.1,^0;2^Q
7969"^DD",233.2,233.21,.02,"DT")
79703070719
7971"^DD",233.2,233.21,.03,0)
7972INACTIVE^S^1:INACTIVE;0:ACTIVE;^0;3^Q
7973"^DD",233.2,233.21,.03,"DT")
79743071228
7975"^DD",233.2,233.21,.04,0)
7976NAME AT SITE^F^^0;4^K:$L(X)>60!($L(X)<1) X
7977"^DD",233.2,233.21,.04,3)
7978Answer must be 1-60 characters in length.
7979"^DD",233.2,233.21,.04,"DT")
79803080102
7981"^DD",233.2,233.21,.05,0)
7982ABBREVIATION AT SITE^F^^0;5^K:$L(X)>30!($L(X)<1) X
7983"^DD",233.2,233.21,.05,3)
7984Answer must be 1-30 characters in length.
7985"^DD",233.2,233.21,.05,"DT")
79863080102
7987"^DIC",230,230,0)
7988ED LOG^230
7989"^DIC",230,230,0,"GL")
7990^EDP(230,
7991"^DIC",230,"B","ED LOG",230)
7992
7993"^DIC",230.1,230.1,0)
7994ED LOG HISTORY^230.1
7995"^DIC",230.1,230.1,0,"GL")
7996^EDP(230.1,
7997"^DIC",230.1,"B","ED LOG HISTORY",230.1)
7998
7999"^DIC",231.7,231.7,0)
8000TRACKING STAFF^231.7
8001"^DIC",231.7,231.7,0,"GL")
8002^EDPB(231.7,
8003"^DIC",231.7,"B","TRACKING STAFF",231.7)
8004
8005"^DIC",231.8,231.8,0)
8006TRACKING ROOM-BED^231.8
8007"^DIC",231.8,231.8,0,"GL")
8008^EDPB(231.8,
8009"^DIC",231.8,"B","TRACKING ROOM-BED",231.8)
8010
8011"^DIC",231.9,231.9,0)
8012TRACKING AREA^231.9
8013"^DIC",231.9,231.9,0,"GL")
8014^EDPB(231.9,
8015"^DIC",231.9,"B","TRACKING AREA",231.9)
8016
8017"^DIC",233.1,233.1,0)
8018TRACKING CODE^233.1
8019"^DIC",233.1,233.1,0,"GL")
8020^EDPB(233.1,
8021"^DIC",233.1,"B","TRACKING CODE",233.1)
8022
8023"^DIC",233.2,233.2,0)
8024TRACKING CODE SET^233.2
8025"^DIC",233.2,233.2,0,"GL")
8026^EDPB(233.2,
8027"^DIC",233.2,"B","TRACKING CODE SET",233.2)
8028
8029**END**
8030**END**
Note: See TracBrowser for help on using the repository browser.