1 | SCUTBK4 ;ALB/JLU;BROKER UTILITIES
|
---|
2 | ;;5.3;Scheduling;**148,157**;AUG 13, 1993
|
---|
3 | ACTPOS(RESULTS,SCARY) ;
|
---|
4 | ;
|
---|
5 | ;This broker entry point returns an array of active positions for a
|
---|
6 | ;patient on a specific team.
|
---|
7 | ;
|
---|
8 | ;INPUTS SCARY - Contains the following subscripted elements
|
---|
9 | ; DFN - DFN of the patient.
|
---|
10 | ; BEGIN - The beginning date range.
|
---|
11 | ; END - The ending date range.
|
---|
12 | ; TEAM - The team associated with the patient.
|
---|
13 | ;
|
---|
14 | ;OUTPUTS RESULTS - The array of active positions. The following
|
---|
15 | ; is a description of the piece structure.
|
---|
16 | ; PIECE - Description
|
---|
17 | ; 1 IEN of TEAM POSITION FILE(#404.57)
|
---|
18 | ; 2 NAME of Position
|
---|
19 | ; 3 Current effective date
|
---|
20 | ; 4 Pointer to role (403.46)
|
---|
21 | ; 5 Name of Standard role
|
---|
22 | ; 6 Pointer to User Class
|
---|
23 | ; 7 Name of User Class
|
---|
24 | ; 8 IEN of 404.43
|
---|
25 | ;
|
---|
26 | N SCOK,SCDT,SCDFN,SCTEAM,SCPOS,LP,CNT,SCERR
|
---|
27 | ;
|
---|
28 | D CHK^SCUTBK
|
---|
29 | D TMP^SCUTBK
|
---|
30 | ;
|
---|
31 | D PARSE(.SCARY) ;parse array for inputs
|
---|
32 | K ^TMP($J,"ACTLST")
|
---|
33 | ;gets a list o positions for this patient
|
---|
34 | S SCOK=$$TPPT^SCAPMC(SCDFN,.SCDT,"","","","","","SCPOS","SCBKERR")
|
---|
35 | I 'SCOK G EXIT
|
---|
36 | S CNT=1
|
---|
37 | ;
|
---|
38 | ;loop through positions only getting the ones associated with the team
|
---|
39 | ;and that are active.
|
---|
40 | ;
|
---|
41 | F LP=0:0 S LP=$O(SCPOS(LP)) Q:'LP DO
|
---|
42 | .I $P(SCPOS(LP),U,3)'=SCTEAM Q
|
---|
43 | .I $P(SCPOS(LP),U,6)]"" Q
|
---|
44 | .S ^TMP($J,"ACTLST",CNT)=$P(SCPOS(LP),U,1)_U_$P(SCPOS(LP),U,2)_U_$P(SCPOS(LP),U,5)_U_$P(SCPOS(LP),U,7)_U_$P(SCPOS(LP),U,8)_U_$P(SCPOS(LP),U,9)_U_$P(SCPOS(LP),U,10)_U_$P(SCPOS(LP),U,4)
|
---|
45 | .S CNT=CNT+1
|
---|
46 | .Q
|
---|
47 | ;
|
---|
48 | EXIT S RESULTS=$NA(^TMP($J,"ACTLST"))
|
---|
49 | Q
|
---|
50 | ;
|
---|
51 | PARSE(ARY) ;parses the input parameters from the broker.
|
---|
52 | ;
|
---|
53 | S SCDFN=$G(ARY("DFN"))
|
---|
54 | S SCDT("BEGIN")=$G(ARY("BEGIN"))
|
---|
55 | S SCDT("END")=$G(ARY("END"))
|
---|
56 | S SCTEAM=$G(ARY("TEAM"))
|
---|
57 | Q
|
---|
58 | ;
|
---|
59 | PARIEN(RESULT) ;returns the ien for 404.91
|
---|
60 | ;used by SCMC GET PARAMETER IEN (rpc)
|
---|
61 | ;
|
---|
62 | N RES
|
---|
63 | S RES=$O(^SD(404.91,0))
|
---|
64 | S RESULT=$S(RES="":0,1:+RES)
|
---|
65 | Q
|
---|