1 | SCRPW302 ;BPFO/JRC - Performance Monitor Report Utils; 30 Jul 2003
|
---|
2 | ;;5.3;SCHEDULING;**292**;AUG 13, 2003
|
---|
3 | ;
|
---|
4 | TLMT(SCRNARR) ; Set Time Limit into screen array
|
---|
5 | ;Input : SCRNARR - Screen array full global reference
|
---|
6 | ;Output : 1 = OK 0 = User abort/timeout
|
---|
7 | ; @SCRNARR@("TLMT") = Time Limit (days)
|
---|
8 | ;Note : @SCRNARR@("TLMT") is initialized (KILLed) on input
|
---|
9 | ;
|
---|
10 | ; Declare variables
|
---|
11 | N DIR,X,Y,DIRUT,DIROUT,DTOUT,DUOUT
|
---|
12 | K @SCRNARR@("TLMT")
|
---|
13 | ; Prompt user for number of days
|
---|
14 | S DIR(0)="N^2:100:0"
|
---|
15 | S DIR("A")="Enter number of days for Elapsed Time: "
|
---|
16 | S DIR("B")=10
|
---|
17 | D ^DIR
|
---|
18 | I $D(DIRUT) Q 0
|
---|
19 | S @SCRNARR@("TLMT")=X
|
---|
20 | Q 1
|
---|
21 | ;
|
---|
22 | DATE(MIN,MAX,SCRNARR) ; Set Date Range into screen array
|
---|
23 | ;Input : SCRNARR - Screen array full global reference
|
---|
24 | ; MIN - Minimum date (FileMan) (default to MAX - time limit)
|
---|
25 | ; MAX - Maximum date (FileMan) (default to T - time limit)
|
---|
26 | ; @SCRNARR@("TLMT") - Time limit (optional - default to 10)
|
---|
27 | ;Output : 1 = OK 0 = User abort/timeout
|
---|
28 | ; @SCRNARR@("RANGE") = StartDate^EndDate
|
---|
29 | ;Note : @SCRNARR@("RANGE") is initialized (KILLed) on input
|
---|
30 | ;
|
---|
31 | ;Declare variables
|
---|
32 | N STDATE,ENDDATE,DATE,DIR,X,Y,TLMT,DIRUT,DIROUT,DTOUT,DUOUT
|
---|
33 | K @SCRNARR@("RANGE")
|
---|
34 | S MIN=$P($G(MIN),".",1)
|
---|
35 | S MAX=$P($G(MAX),".",1)
|
---|
36 | ;Get time limit out of screen array (default to 10)
|
---|
37 | S TLMT=+$G(@SCRNARR@("TLMT")) S:'TLMT TLMT=10
|
---|
38 | ;Maximum date can't be more then Today minus time limit
|
---|
39 | S DATE=$$FMADD^XLFDT($$DT^XLFDT(),-TLMT)
|
---|
40 | I ('MAX)!(MAX>DATE) S MAX=DATE
|
---|
41 | ;Minimum date can't be after maximum date
|
---|
42 | I (MAX'>MIN) S MIN=$$FMADD^XLFDT(MAX,-TLMT)
|
---|
43 | ;Prompt user for start date
|
---|
44 | S DIR(0)="D^"_MIN_":"_MAX_":PEX"
|
---|
45 | S DIR("A")="Enter Report Start Date"
|
---|
46 | S DATE=$S('MIN:$$FMADD^XLFDT(MAX,-TLMT),1:MIN)
|
---|
47 | S DIR("B")=$$FMTE^XLFDT(DATE,"5D")
|
---|
48 | D ^DIR
|
---|
49 | I $D(DIRUT) Q 0
|
---|
50 | S STDATE=Y
|
---|
51 | ;Prompt user for end date
|
---|
52 | K DIR,X,Y
|
---|
53 | S MIN=STDATE
|
---|
54 | S DIR(0)="D^"_MIN_":"_MAX_":PEX"
|
---|
55 | S DIR("A")="Enter Report Stop Date"
|
---|
56 | S DIR("B")=$$FMTE^XLFDT($$FMADD^XLFDT(STDATE,TLMT),"5D")
|
---|
57 | D ^DIR
|
---|
58 | I $D(DIRUT) K @SCRNARR@("RANGE") Q 0
|
---|
59 | S ENDDATE=Y
|
---|
60 | S @SCRNARR@("RANGE")=STDATE_"^"_ENDDATE
|
---|
61 | Q 1
|
---|
62 | DIV(SCRNARR) ; Set Divisions into screen array (prompt is one/many/all)
|
---|
63 | ;Input : SCRNARR - Screen array full global reference
|
---|
64 | ;Output : 1 = OK 0 = User abort/timeout
|
---|
65 | ; @SCRNARR@("DIVISION") = User pick all divisions ?
|
---|
66 | ; 1 = Yes (all) 0 = No
|
---|
67 | ; @SCRNARR@("DIVISION",PtrDiv) = Division name
|
---|
68 | ;Note : @SCRNARR@("DIVISION") is initialized (KILLed) on input
|
---|
69 | ; : @SCRNARR@("DIVISION",PtrDiv) is only set when the user
|
---|
70 | ; picked individual divisions (i.e. didn't pick all)
|
---|
71 | ;
|
---|
72 | ;Declare variables
|
---|
73 | N VAUTD,Y
|
---|
74 | K @SCRNARR@("DIVISION")
|
---|
75 | ;Get division selection
|
---|
76 | D DIVISION^VAUTOMA
|
---|
77 | I Y<0 Q 0
|
---|
78 | M @SCRNARR@("DIVISION")=VAUTD
|
---|
79 | Q 1
|
---|
80 | ;
|
---|
81 | PROV(SCRNARR) ; Set Providers into screen array (prompt is one/many/all)
|
---|
82 | ;Input : SCRNARR - Screen array full global reference
|
---|
83 | ;Output : 1 = OK 0 = User abort/timeout
|
---|
84 | ; @SCRNARR@("PROVIDERS") = User pick all providers ?
|
---|
85 | ; 1 = Yes (all) 0 = No
|
---|
86 | ; @SCRNARR@("PROVIDERS",PtrProvider) = Provider name
|
---|
87 | ;Note : @SCRNARR@("PROVIDERS") is initialized (KILLed) on input
|
---|
88 | ; : @SCRNARR@("PROVIDERS",PtrProvider) is only set when the user
|
---|
89 | ; picked individual providers (i.e. didn't pick all)
|
---|
90 | ;
|
---|
91 | ;Declare variables
|
---|
92 | N DIC,VAUTSTR,VAUTVB,VAUTNI,SCANARR,Y
|
---|
93 | K @SCRNARR@("PROVIDERS")
|
---|
94 | ;Get provider selection
|
---|
95 | S DIC="^VA(200,"
|
---|
96 | S VAUTSTR="PROVIDER"
|
---|
97 | S VAUTVB="SCANARR"
|
---|
98 | S VAUTNI=2
|
---|
99 | D FIRST^VAUTOMA
|
---|
100 | I Y<0 Q 0
|
---|
101 | M @SCRNARR@("PROVIDERS")=SCANARR
|
---|
102 | Q 1
|
---|
103 | ;
|
---|
104 | SCAN(SCRNARR) ; Set Scanned Notes into screen array
|
---|
105 | ;Input : SCRNARR - Screen array full global reference
|
---|
106 | ;Output : 1 = OK 0 = User abort/timeout
|
---|
107 | ; @SCRNARR@("SCANNED") = Include count of encounters with
|
---|
108 | ; scanned notes 1 = Yes 0 = No
|
---|
109 | ;Note : @SCRNARR@("SCANNED") is initialized (KILLed) on input
|
---|
110 | ;
|
---|
111 | ;Declare variables
|
---|
112 | N DIR,X,Y,DIRUT,DIROUT,DTOUT,DUOUT
|
---|
113 | K @SCRNARR@("SCANNED")
|
---|
114 | ;Prompt user
|
---|
115 | S DIR(0)="Y"
|
---|
116 | S DIR("B")="NO"
|
---|
117 | S DIR("A")="Would you like to include SCANNED notes "
|
---|
118 | D ^DIR
|
---|
119 | I $D(DIRUT) Q 0
|
---|
120 | S @SCRNARR@("SCANNED")=Y
|
---|
121 | Q 1
|
---|