1 | SCRPBK5 ;MJK/ALB - RPC Broker Utilities ; 27 FEB 96
|
---|
2 | ;;5.3;Scheduling;**41**;AUG 13, 1993
|
---|
3 | ;
|
---|
4 | PARSE(SCQDEF,SCQREC) ; -- parse incoming raw broker array
|
---|
5 | ; -- return formatted query record
|
---|
6 | ;
|
---|
7 | ; -- SEE BOTTOM OF SCRPBK FOR VARIABLE DEFINITIONS
|
---|
8 | ;
|
---|
9 | N SCINC,X
|
---|
10 | ;
|
---|
11 | ; -- build internal formatted variables
|
---|
12 | S SCINC=1,X=SCQDEF(SCINC)
|
---|
13 | S SCQREC("NAME")=$P(X,U)
|
---|
14 | S SCQREC("CREATORID")=+$P(X,U,2)
|
---|
15 | S SCQREC("ACCESSID")=+$P(X,U,3)
|
---|
16 | S SCQREC("REPORTID")=+$P(X,U,4)
|
---|
17 | ;
|
---|
18 | ; -- build external formatted variables
|
---|
19 | S SCINC=2,X=SCQDEF(SCINC)
|
---|
20 | S SCQREC("QUERYID")=$P(X,U)
|
---|
21 | S SCQREC("CREATOR")=$P(X,U,2)
|
---|
22 | S SCQREC("ACCESS")=$P(X,U,3)
|
---|
23 | S SCQREC("REPORT")=$P(X,U,4)
|
---|
24 | ;
|
---|
25 | F S SCINC=$O(SCQDEF(SCINC)) Q:'SCINC S X=$G(SCQDEF(SCINC)) D
|
---|
26 | . IF X="[Description]" D DESC(.SCINC,.SCQDEF,.SCQREC)
|
---|
27 | . ; -- get fields
|
---|
28 | . IF X="[Fields]" D FIELDS(.SCINC,.SCQDEF,.SCQREC)
|
---|
29 | . ; -- get files
|
---|
30 | . IF X="[Selections]" D SELECT(.SCINC,.SCQDEF,.SCQREC)
|
---|
31 | Q
|
---|
32 | ;
|
---|
33 | DESC(SCINC,SCQDEF,SCQREC) ; -- build query description
|
---|
34 | N I,X
|
---|
35 | S I=0
|
---|
36 | F S SCINC=$O(SCQDEF(SCINC)) Q:'SCINC S X=$G(SCQDEF(+SCINC)) Q:X="$$END" D
|
---|
37 | . S I=I+1,SCQREC("DESCRIPTION",I,0)=X
|
---|
38 | Q
|
---|
39 | ;
|
---|
40 | FIELDS(SCINC,SCQRY,SCQREC) ; -- build field answeredk
|
---|
41 | N X
|
---|
42 | F S SCINC=$O(SCQDEF(SCINC)) Q:'SCINC S X=$G(SCQDEF(+SCINC)) Q:X="$$END" D
|
---|
43 | . S SCQREC("FIELDS",$P(X,U))=$P(X,U,2)
|
---|
44 | Q
|
---|
45 | ;
|
---|
46 | SELECT(SCINC,SCQRY,SCQREC) ; -- build file entries selected
|
---|
47 | N X
|
---|
48 | F S SCINC=$O(SCQDEF(SCINC)) Q:'SCINC S X=$G(SCQDEF(+SCINC)) Q:X="$$END" D
|
---|
49 | . S SCQREC("SELECTIONS",$P(X,U,2),$$SEL(X))=""
|
---|
50 | Q
|
---|
51 | ;
|
---|
52 | SEL(SEL) ; -- set vp for selection
|
---|
53 | N Y,IEN,SCTYPE
|
---|
54 | S SCTYPE=$P(SEL,U,2),IEN=+$P(SEL,U,3),Y="NOT VALID: "_SCTYPE
|
---|
55 | IF SCTYPE="DIVISION" S Y="DIC(4," G SELQ
|
---|
56 | IF SCTYPE="TEAM" S Y="SCTM(404.51," G SELQ
|
---|
57 | IF SCTYPE="PRACTITIONER" S Y="VA(200," G SELQ
|
---|
58 | IF SCTYPE="ROLE" S Y="SD(403.46," G SELQ
|
---|
59 | IF SCTYPE="CLINIC" S Y="SC(" G SELQ
|
---|
60 | IF SCTYPE="USERCLASS" S Y="USR(8930," G SELQ
|
---|
61 | SELQ Q IEN_";"_Y
|
---|
62 | ;
|
---|