Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ORWORDG

ORWORDG.m

Go to the documentation of this file.
  1. ORWORDG ; SLC/KCM/JLI - Organize display groups;11:25 AM 11 Mar 1998 3/2/02 4PM
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**10,141**;Dec 17, 1997
  1. ;
  1. MAPSEQ(Y) ; similar to GRPSEQB, for 32bit
  1. N C,I,X
  1. D GRPSEQ(.X)
  1. S C=0,I=0
  1. 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)
  1. Q
  1. GRPSEQB(Y) ;
  1. ; Call GRPSEQ, format for broker:
  1. ; Y(n)=Ptr to Display Group ^ Sequence ^ Top Level Display Group Name
  1. N C,I,X
  1. D GRPSEQ(.X)
  1. S C=0,I=0
  1. F S I=$O(X(I)) Q:I="" S C=C+1,Y(C)=I_U_X(I)
  1. Q
  1. GRPSEQ(BYGRP) ;
  1. ; Expanded list of display groups with sequence as value
  1. N I,ORY,TOPINFO
  1. D GETLST^XPAR(.ORY,"ALL","ORWOR CATEGORY SEQUENCE")
  1. S I=0 F S I=$O(ORY(I)) Q:I="" D
  1. . 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)
  1. S I=0 F S I=$O(BYGRP(I)) Q:I="" S TOPINFO=BYGRP(I) D EXPAND(I)
  1. Q
  1. EXPAND(GROUP) ;
  1. ; (used by GRPSEQ)
  1. N I,CHILD
  1. S I=0 F S I=$O(^ORD(100.98,GROUP,1,I)) Q:I<1 D
  1. . S CHILD=$P(^ORD(100.98,GROUP,1,I,0),"^",1)
  1. . I '$D(BYGRP(CHILD)) S BYGRP(CHILD)=TOPINFO D EXPAND(CHILD)
  1. Q
  1. ALLTREE(LST) ; Return the tree for all display groups
  1. N ROOT,ILST
  1. S ILST=0,ROOT=$O(^ORD(100.98,"B","ALL",0))
  1. S ILST=ILST+1,LST(ILST)=ROOT_U_"ALL SERVICES^0^+"
  1. D LSTCHLD(ROOT)
  1. Q
  1. LSTCHLD(PARENT) ; list descendends of this node (recursive)
  1. N CHILD,I
  1. S I=0 F S I=$O(^ORD(100.98,PARENT,1,I)) Q:'I D
  1. . S CHILD=+^ORD(100.98,PARENT,1,I,0)
  1. . S ILST=ILST+1,LST(ILST)=CHILD_U_$P(^ORD(100.98,CHILD,0),U)_U_PARENT
  1. . I $D(^ORD(100.98,CHILD,1))>1 D
  1. . . S LST(ILST)=LST(ILST)_"^+"
  1. . . D LSTCHLD(CHILD)
  1. Q
  1. REVSTS(LST) ; Return the status flags available for review orders
  1. ;N I,X,T S ILST=0
  1. ;F I=1:1 S T="ORDSTS+"_I_"^ORCHANG2" S X=$T(@T) Q:$P(X,";",4)="ZZZZ" D
  1. ;. S ILST=ILST+1,LST(ILST)=$P(X,";",3)_U_$P(X,";",4)
  1. D STSLST^ORCHANG2(.LST)
  1. Q
  1. IEN(VAL,X) ; Return IEN for a display group
  1. S VAL=$O(^ORD(100.98,"B",X,0))
  1. Q