1 | SCRPW304 ; BPFO/JRC - Performance Monitors National Summary Report; 30 Jul 2003 ; 2/5/04 7:13am
|
---|
2 | ;;5.3;SCHEDULING;**292,335,337**;AUG 13, 1993
|
---|
3 | ;
|
---|
4 | EN ;Main Entry Point
|
---|
5 | ;Declare variable(s) and arrays
|
---|
6 | N SCRNARR,SORTARR
|
---|
7 | S SCRNARR="^TMP(""SCRPW"",$J,""SCRNARR"")"
|
---|
8 | S SORTARR="^TMP(""SCRPW"",$J,""SORTARR"")"
|
---|
9 | K @SCRNARR,@SORTARR
|
---|
10 | ;Set national screen/sort
|
---|
11 | D ROLLUP^SCRPW303(SCRNARR,SORTARR)
|
---|
12 | ;Get date frame
|
---|
13 | I $$DATE^SCRPW302("","",SCRNARR)=0 D EX1 Q
|
---|
14 | ;Queue report
|
---|
15 | W !!
|
---|
16 | N ZTDESC,ZTIO,ZTSAVE,TMP
|
---|
17 | S ZTIO=""
|
---|
18 | S ZTDESC="Performance Monitor National Summary Report"
|
---|
19 | S ZTSAVE("SCRNARR")=""
|
---|
20 | S TMP=$$OREF^DILF(SCRNARR)
|
---|
21 | S ZTSAVE(TMP)=""
|
---|
22 | I $D(@SCRNARR)#2 S ZTSAVE(SCRNARR)=""
|
---|
23 | S ZTSAVE("SORTARR")=""
|
---|
24 | S TMP=$$OREF^DILF(SORTARR)
|
---|
25 | S ZTSAVE(TMP)=""
|
---|
26 | I $D(@SORTARR)#2 S ZTSAVE(SORTARR)=""
|
---|
27 | D EN^XUTMDEVQ("EN1^SCRPW304",ZTDESC,.ZTSAVE)
|
---|
28 | D EX1
|
---|
29 | Q
|
---|
30 | ;
|
---|
31 | EN1 ;Tasked entry point
|
---|
32 | ;Input : SCRNARR - Screen array
|
---|
33 | ; SORTARR - Sort array
|
---|
34 | ;Output : None
|
---|
35 | ;
|
---|
36 | N OUTARR,STOP,PAGENUM,STOP,SUMNODE,PINODE,DIV
|
---|
37 | S OUTARR="^TMP(""SCRPW"",$J,""OUTARR"")"
|
---|
38 | S STOP=0
|
---|
39 | K @OUTARR
|
---|
40 | S PAGENUM=1
|
---|
41 | ;Get data
|
---|
42 | D GETDATA^SDPMUT1(SCRNARR,SORTARR,OUTARR)
|
---|
43 | ;Print summary for facility
|
---|
44 | S DIV=""
|
---|
45 | D PRTHEAD
|
---|
46 | S SUMNODE=$G(@OUTARR@("SUMMARY"))
|
---|
47 | S PINODE=$G(@OUTARR@("SUMMARY","PI"))
|
---|
48 | I '$$S^%ZTLOAD() D PRTSUMS
|
---|
49 | D WAIT^SCRPW301 I STOP D EXIT Q
|
---|
50 | ;Print divisional summaries
|
---|
51 | S DIV="" F S DIV=$O(@OUTARR@("SUBTOTAL",DIV)) Q:DIV="" D Q:STOP
|
---|
52 | .D PRTHEAD
|
---|
53 | .S SUMNODE=$G(@OUTARR@("SUBTOTAL",DIV))
|
---|
54 | .S PINODE=$G(@OUTARR@("SUBTOTAL",DIV,"PI"))
|
---|
55 | .D PRTSUMS
|
---|
56 | .D WAIT^SCRPW301 I STOP Q
|
---|
57 | ;Cleanup and quit
|
---|
58 | D EXIT
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | PRTHEAD ;Page Header
|
---|
62 | ;Input : OUTARR - Data array
|
---|
63 | ; SCRNARR - Screen array
|
---|
64 | ; PAGENUM - Page number
|
---|
65 | ; DIV - Division Name ^ Division Number
|
---|
66 | ; - NULL if facility name/number should be used
|
---|
67 | ;Output : None
|
---|
68 | ; PAGENUM is incremented by 1
|
---|
69 | ;
|
---|
70 | N TMP,LINE,VISN
|
---|
71 | W @IOF
|
---|
72 | W !,"Performance Monitor National Summary Report",?70,"Page: ",PAGENUM
|
---|
73 | S LINE="Division: "_$P(DIV,U,1)_" ("_$P(DIV,U,2)_")"
|
---|
74 | I DIV="" D
|
---|
75 | .S TMP=$$SITE^VASITE()
|
---|
76 | .D PARENT^XUAF4("VISN","`"_$P(TMP,U,1)) ; SD*5.3*337
|
---|
77 | .S VISN="",VISN=$O(VISN("P",VISN)) Q:VISN="" ; SD*5.3*337
|
---|
78 | .S LINE="Facility: "_$P(TMP,U,2)_" ("_$P(TMP,U,3)_")"_" "_$P($G(VISN("P",VISN)),U,1)
|
---|
79 | W !!,LINE
|
---|
80 | W !,"Run Date: ",$$HTE^XLFDT($H)
|
---|
81 | W !,"Encounter Date Range: ",$$FMTE^XLFDT($P(@SCRNARR@("RANGE"),U,1))
|
---|
82 | W " to ",$$FMTE^XLFDT($P(@SCRNARR@("RANGE"),U,2))
|
---|
83 | I DIV="" S LINE=+$G(@OUTARR@("SUMMARY"))
|
---|
84 | I DIV'="" S LINE=+$G(@OUTARR@("SUBTOTAL",DIV))
|
---|
85 | W !,"Total number of encounters (denominator): ",LINE
|
---|
86 | W !!,"Total number of encounters in the denominator are those included in the"
|
---|
87 | W !,"Performance Monitor cohort"
|
---|
88 | S PAGENUM=PAGENUM+1
|
---|
89 | Q
|
---|
90 | ;
|
---|
91 | PRTSUMS ;Print summaries
|
---|
92 | ;Input : SUMNODE - Summary node from OUTARR
|
---|
93 | ; PINODE - PI node from OUTARR
|
---|
94 | ;Output : None
|
---|
95 | ;
|
---|
96 | I (SUMNODE="")&(PINODE="") D Q
|
---|
97 | .W !
|
---|
98 | .W !,"***********************************************"
|
---|
99 | .W !,"* NOTHING TO REPORT FOR SELECTED DATE FRAME *"
|
---|
100 | .W !,"***********************************************"
|
---|
101 | N VAL,DASH6,TOTENC,CMPENC,PRCNT,TMP,SCANNED,NPN
|
---|
102 | S $P(DASH6,"-",6)="-"
|
---|
103 | S $P(PRCNT,U,11)=""
|
---|
104 | ;Get general totals
|
---|
105 | S TOTENC=+$P(SUMNODE,U,1)
|
---|
106 | S CMPENC=+$P(SUMNODE,U,2)
|
---|
107 | S SCANNED=+$P(SUMNODE,U,7)
|
---|
108 | S NPN=+$P(SUMNODE,U,9)
|
---|
109 | ;Calculate compliance percentages
|
---|
110 | I TOTENC S VAL=0 F TMP=1:1:11 D
|
---|
111 | .I (TOTENC-SCANNED)>0 S VAL=100*($P(PINODE,U,TMP)/(TOTENC-SCANNED))
|
---|
112 | .S $P(PRCNT,U,TMP)=$TR($J(VAL,3,0)," ")_"%"
|
---|
113 | ;Part 1
|
---|
114 | W !!,"Signed",?21,"Elapsed Time (Days)"
|
---|
115 | W !,"within",?14,"0-1",?22,">1-2",?31,">2-3",?39,">3-4",?47,">4-5"
|
---|
116 | W ?55,">5-6",?63,">6-7",?71,">7-8"
|
---|
117 | W !,?13,DASH6,?21,DASH6,?30,DASH6,?38,DASH6,?46,DASH6,?54,DASH6
|
---|
118 | W ?62,DASH6,?70,DASH6
|
---|
119 | W !,"Encounters",?13,+$P(PINODE,U,1),?21,+$P(PINODE,U,2)
|
---|
120 | W ?30,+$P(PINODE,U,3),?38,+$P(PINODE,U,4),?46,+$P(PINODE,U,5)
|
---|
121 | W ?54,+$P(PINODE,U,6),?62,+$P(PINODE,U,7),?70,+$P(PINODE,U,8)
|
---|
122 | W !,"Percentage",?13,$P(PRCNT,U,1),?21,$P(PRCNT,U,2)
|
---|
123 | W ?30,$P(PRCNT,U,3),?38,$P(PRCNT,U,4),?46,$P(PRCNT,U,5)
|
---|
124 | W ?54,$P(PRCNT,U,6),?62,$P(PRCNT,U,7),?70,$P(PRCNT,U,8)
|
---|
125 | ;Part 2
|
---|
126 | W !!,"Signed",?21,"Elapsed Time (Days)",?45,"Pending",?60,"Scanned"
|
---|
127 | W !,"within",?14,">8-9",?22,">9-10",?32,">10",?38,"Signatures"
|
---|
128 | W ?50,"Notes",?59,"Note Only"
|
---|
129 | W !,?13,DASH6,?21,DASH6,?30,DASH6,?38,DASH6_"----"
|
---|
130 | W ?50,DASH6,?59,DASH6_"---"
|
---|
131 | W !,"Encounters",?13,+$P(PINODE,U,9),?21,+$P(PINODE,U,10)
|
---|
132 | W ?30,+$P(PINODE,U,11),?38,TOTENC-CMPENC-NPN-SCANNED-(+$P(PINODE,U,11))
|
---|
133 | W ?50,NPN,?59,SCANNED
|
---|
134 | W !,"Percentage",?13,$P(PRCNT,U,9),?21,$P(PRCNT,U,10)
|
---|
135 | W ?30,$P(PRCNT,U,11)
|
---|
136 | S (VAL,NPNVAL)=0
|
---|
137 | I (TOTENC-SCANNED)>0 S NPNVAL=100*(NPN/(TOTENC-SCANNED))
|
---|
138 | S NPNVAL=$TR($J(NPNVAL,3,0)," ")_"%"
|
---|
139 | I (TOTENC-SCANNED)>0 S VAL=100*((TOTENC-SCANNED-CMPENC-NPN-(+$P(PINODE,U,11)))/TOTENC)
|
---|
140 | S VAL=$TR($J(VAL,3,0)," ")_"%"
|
---|
141 | W ?38,VAL,?50,NPNVAL,?59,"N/A"
|
---|
142 | Q
|
---|
143 | ;
|
---|
144 | EXIT ;Kill temporary arrays
|
---|
145 | K @OUTARR
|
---|
146 | EX1 K @SORTARR,@SCRNARR
|
---|
147 | Q
|
---|