1 | ORRHCO ; SLC/KCM - CPRS Query Tools - Orders ; [4/4/02 2:07pm]
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**153,242**;Dec 17, 1997;Build 6
|
---|
3 | ;
|
---|
4 | NXT() ; Increment ILST
|
---|
5 | S ILST=ILST+1
|
---|
6 | Q ILST
|
---|
7 | ;
|
---|
8 | ORDITM(Y,FROM,DIR,XREF) ; Return a subset of orderable items
|
---|
9 | ; .Return Array, Starting Text, Direction, Cross Reference (B or S.x)
|
---|
10 | ; ^ORD(101.43,"S.xxx",UpperCase,DA)=Mne^MixedCase^InactvDt^.01IfMne
|
---|
11 | ; Y(n)=IEN^.01 Name^.01 Name -or- IEN^Synonym <.01 Name>^.01 Name
|
---|
12 | ; similar to ORDITM^ORWDX but does not screen inactives
|
---|
13 | N I,X,IEN,CNT,SKIP S I=0,CNT=44,SKIP=0
|
---|
14 | F Q:I'<CNT S FROM=$O(^ORD(101.43,XREF,FROM),DIR) Q:FROM="" D
|
---|
15 | . S IEN="" F S IEN=$O(^ORD(101.43,XREF,FROM,IEN),DIR) Q:'IEN D
|
---|
16 | . . I XREF="B" D
|
---|
17 | . . . I $D(^ORD(101.43,XREF,FROM,IEN))=1 S X=FROM
|
---|
18 | . . . E S X=FROM_" <"_$P(^ORD(101.43,IEN,0),U,1)_">"
|
---|
19 | . . . S I=I+1,Y(I)=IEN_U_X
|
---|
20 | . . E D
|
---|
21 | . . . S X=^ORD(101.43,XREF,FROM,IEN)
|
---|
22 | . . . I 'X S X=$P(X,U,2)
|
---|
23 | . . . E S X=$P(X,U,2)_" <"_$P(X,U,4)_">"
|
---|
24 | . . . I (XREF="S.CSLT"),($$UP^XLFSTR(X)["ALL SERVICE") Q
|
---|
25 | . . . E S I=I+1,Y(I)=IEN_U_X
|
---|
26 | Q
|
---|
27 | CGRP(ORY) ;Return Consult Display Group
|
---|
28 | S ORY="ALL SERVICES"_U_$O(^ORD(100.98,"B","CSLT",0))
|
---|
29 | Q
|
---|
30 | OISETS(LST) ; Return a list of sets for orderable items
|
---|
31 | N DGNM,IEN,SHORT,IDX
|
---|
32 | S LST(1)="^(no limit)",IDX=1
|
---|
33 | S DGNM="" F S DGNM=$O(^ORD(100.98,"B",DGNM)) Q:DGNM="" D
|
---|
34 | . S IEN=0 F S IEN=$O(^ORD(100.98,"B",DGNM,IEN)) Q:'IEN D
|
---|
35 | . . I ^ORD(100.98,"B",DGNM,IEN)=1 Q
|
---|
36 | . . S SHORT=$P(^ORD(100.98,IEN,0),U,3)
|
---|
37 | . . I $D(^ORD(101.43,"S."_SHORT)) S IDX=IDX+1,LST(IDX)=SHORT_U_DGNM
|
---|
38 | Q
|
---|
39 | ORDSTS(LST) ; List order statuses
|
---|
40 | N ILST,X,IEN S ILST=0
|
---|
41 | S X="" F S X=$O(^ORD(100.01,"B",X)) Q:X="" D
|
---|
42 | . S IEN=0 F S IEN=$O(^ORD(100.01,"B",X,IEN)) Q:'IEN D
|
---|
43 | . . Q:$$SCREEN^XTID(100.01,,IEN_",") ;inactive VUID
|
---|
44 | . . S LST($$NXT)=IEN_U_X
|
---|
45 | Q
|
---|
46 | SIGNSTS(LST) ; List order signature statuses
|
---|
47 | S LST(1)="0^ON CHART w/written orders"
|
---|
48 | S LST(2)="1^ELECTRONIC"
|
---|
49 | S LST(3)="2^NOT SIGNED"
|
---|
50 | S LST(4)="3^NOT REQUIRED"
|
---|
51 | S LST(5)="4^ON CHART w/printed orders"
|
---|
52 | S LST(6)="5^NOT REQUIRED due to cancel"
|
---|
53 | S LST(7)="6^SERVICE CORRECTION to signed order"
|
---|
54 | S LST(8)="7^DIGITALLY SIGNED"
|
---|
55 | Q
|
---|
56 | ABSTRT(Y,NIL) ;Return abnormal result start date
|
---|
57 | S Y=$$GET^XPAR("SYS^PKG","ORHEPC ABNORMAL START",1,"I")
|
---|
58 | Q
|
---|