1 | ORWORDG ; SLC/KCM/JLI - Organize display groups;11:25 AM 11 Mar 1998 3/2/02 4PM
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10,141**;Dec 17, 1997
|
---|
3 | ;
|
---|
4 | MAPSEQ(Y) ; similar to GRPSEQB, for 32bit
|
---|
5 | N C,I,X
|
---|
6 | D GRPSEQ(.X)
|
---|
7 | S C=0,I=0
|
---|
8 | F S I=$O(X(I)) Q:I="" S C=C+1,Y(C)=I_"="_X(I)_U_$P(^ORD(100.98,I,0),U,2)
|
---|
9 | Q
|
---|
10 | GRPSEQB(Y) ;
|
---|
11 | ; Call GRPSEQ, format for broker:
|
---|
12 | ; Y(n)=Ptr to Display Group ^ Sequence ^ Top Level Display Group Name
|
---|
13 | N C,I,X
|
---|
14 | D GRPSEQ(.X)
|
---|
15 | S C=0,I=0
|
---|
16 | F S I=$O(X(I)) Q:I="" S C=C+1,Y(C)=I_U_X(I)
|
---|
17 | Q
|
---|
18 | GRPSEQ(BYGRP) ;
|
---|
19 | ; Expanded list of display groups with sequence as value
|
---|
20 | N I,ORY,TOPINFO
|
---|
21 | D GETLST^XPAR(.ORY,"ALL","ORWOR CATEGORY SEQUENCE")
|
---|
22 | S I=0 F S I=$O(ORY(I)) Q:I="" D
|
---|
23 | . S BYGRP($P(ORY(I),U,2))=$P(ORY(I),U,1)_U_$P(^ORD(100.98,$P(ORY(I),U,2),0),U,2)
|
---|
24 | S I=0 F S I=$O(BYGRP(I)) Q:I="" S TOPINFO=BYGRP(I) D EXPAND(I)
|
---|
25 | Q
|
---|
26 | EXPAND(GROUP) ;
|
---|
27 | ; (used by GRPSEQ)
|
---|
28 | N I,CHILD
|
---|
29 | S I=0 F S I=$O(^ORD(100.98,GROUP,1,I)) Q:I<1 D
|
---|
30 | . S CHILD=$P(^ORD(100.98,GROUP,1,I,0),"^",1)
|
---|
31 | . I '$D(BYGRP(CHILD)) S BYGRP(CHILD)=TOPINFO D EXPAND(CHILD)
|
---|
32 | Q
|
---|
33 | ALLTREE(LST) ; Return the tree for all display groups
|
---|
34 | N ROOT,ILST
|
---|
35 | S ILST=0,ROOT=$O(^ORD(100.98,"B","ALL",0))
|
---|
36 | S ILST=ILST+1,LST(ILST)=ROOT_U_"ALL SERVICES^0^+"
|
---|
37 | D LSTCHLD(ROOT)
|
---|
38 | Q
|
---|
39 | LSTCHLD(PARENT) ; list descendends of this node (recursive)
|
---|
40 | N CHILD,I
|
---|
41 | S I=0 F S I=$O(^ORD(100.98,PARENT,1,I)) Q:'I D
|
---|
42 | . S CHILD=+^ORD(100.98,PARENT,1,I,0)
|
---|
43 | . S ILST=ILST+1,LST(ILST)=CHILD_U_$P(^ORD(100.98,CHILD,0),U)_U_PARENT
|
---|
44 | . I $D(^ORD(100.98,CHILD,1))>1 D
|
---|
45 | . . S LST(ILST)=LST(ILST)_"^+"
|
---|
46 | . . D LSTCHLD(CHILD)
|
---|
47 | Q
|
---|
48 | REVSTS(LST) ; Return the status flags available for review orders
|
---|
49 | ;N I,X,T S ILST=0
|
---|
50 | ;F I=1:1 S T="ORDSTS+"_I_"^ORCHANG2" S X=$T(@T) Q:$P(X,";",4)="ZZZZ" D
|
---|
51 | ;. S ILST=ILST+1,LST(ILST)=$P(X,";",3)_U_$P(X,";",4)
|
---|
52 | D STSLST^ORCHANG2(.LST)
|
---|
53 | Q
|
---|
54 | IEN(VAL,X) ; Return IEN for a display group
|
---|
55 | S VAL=$O(^ORD(100.98,"B",X,0))
|
---|
56 | Q
|
---|