1 | ECXAPRO1 ;ALB/JAP - PRO Extract Audit Report (cont) ; Nov 16, 1998
|
---|
2 | ;;3.0;DSS EXTRACTS;**9,21**;Dec 22, 1997
|
---|
3 | ;
|
---|
4 | DISP ;entry point
|
---|
5 | N DIC,DA,DR,DIRUT,DTOUT,DUOUT,JJ,SS,LN,PG,QFLG,STN,TYPE
|
---|
6 | N A1,A2,A3,CA,CB,CC,GCA,GCB,GCC,GRP,GRPHEAD,LINE,LINEP
|
---|
7 | U IO
|
---|
8 | S (QFLG,PG)=0,$P(LN,"-",80)=""
|
---|
9 | F TYPE="N","R" S STN="",STN=$O(^TMP($J,TYPE,STN)) D Q:QFLG
|
---|
10 | .D HEADER
|
---|
11 | .D CDATA Q:QFLG
|
---|
12 | I $E(IOST)'="C" D
|
---|
13 | .W @IOF S PG=PG+1
|
---|
14 | .W !,ECXARRAY("TYPE")_" ("_ECXHEAD_") Extract Audit Report"
|
---|
15 | .W !,"DSS Extract Log #: "_ECXEXT
|
---|
16 | .W !,"Date Range of Audit: "_ECXARRAY("START")_" to "_ECXARRAY("END")
|
---|
17 | .W !,"Report Run Date/Time: "_ECXRUN,?68,"Page: ",PG
|
---|
18 | .W !!,LN,!!
|
---|
19 | .S DIC="^ECX(727.1,",DA=ECXARRAY("DEF"),DR="1" D EN^DIQ
|
---|
20 | .W @IOF
|
---|
21 | I $D(IO(0)) I IO(0)'=IO D ^%ZISC
|
---|
22 | D HOME^%ZIS
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | CDATA ;accummulate data within each nppd group
|
---|
26 | S (LINE,LINEP)=""
|
---|
27 | S (GCA,GCB,GCC)=0
|
---|
28 | S (CA,CB,CC)=0
|
---|
29 | I '$D(^TMP($J,TYPE)) D Q
|
---|
30 | .W !,?26,"No data available.",!
|
---|
31 | .I $E(IOST)="C",'QFLG D
|
---|
32 | ..S SS=22-$Y F JJ=1:1:SS W !
|
---|
33 | ..S DIR(0)="E" D ^DIR K DIR
|
---|
34 | F S LINE=$O(^TMP($J,TYPE,STN,LINE)) Q:LINE="" D Q:QFLG
|
---|
35 | .S GRP=$E(LINE,1,3) D Q:QFLG
|
---|
36 | ..I TYPE="R",GRP["R9" S GRP="R90"
|
---|
37 | ..S GRPHEAD=^TMP($J,"RMPRCODE",GRP)
|
---|
38 | ..I LINEP="" D
|
---|
39 | ...D:($Y+5>IOSL) HEADER Q:QFLG
|
---|
40 | ...W !,GRPHEAD
|
---|
41 | .I $E(LINE,0,3)'=$E(LINEP,0,3),LINEP'="" D Q:QFLG
|
---|
42 | ..D:($Y+5>IOSL) HEADER Q:QFLG
|
---|
43 | ..W !,LN,!
|
---|
44 | ..W ?26,$J(CA,5,0),?34,$J(CB,5,0),?42,$J((CA+CB),5,0),?51,$J(CC,7,0),!
|
---|
45 | ..S (CA,CB,CC)=0
|
---|
46 | ..D:($Y+5>IOSL) HEADER Q:QFLG
|
---|
47 | ..W:LINE'["R99" !,GRPHEAD
|
---|
48 | .D:($Y+3>IOSL) HEADER Q:QFLG
|
---|
49 | .W !,LINE,?6,$E($P(^TMP($J,TYPE,STN,LINE),U,15),1,15)
|
---|
50 | .S A1=+$P(^TMP($J,TYPE,STN,LINE),U,1),A2=+$P(^(LINE),U,2),A3=+$P(^(LINE),U,3)
|
---|
51 | .W ?26,$J(A1,5,0) S CA=CA+A1,GCA=GCA+A1
|
---|
52 | .W ?34,$J(A2,5,0) S CB=CB+A2,GCB=GCB+A2
|
---|
53 | .W ?42,$J(A1+A2,5,0)
|
---|
54 | .W ?51,$J(A3,7,0) S CC=CC+A3,GCC=GCC+A3
|
---|
55 | .W:A2>0 ?61,$J(A3/A2,6,0)
|
---|
56 | .S LINEP=LINE
|
---|
57 | Q:QFLG
|
---|
58 | D SUM
|
---|
59 | Q
|
---|
60 | ;
|
---|
61 | SUM ;print summary for type
|
---|
62 | D:($Y+7>IOSL) HEADER Q:QFLG
|
---|
63 | W:TYPE="N" !!!,"STATION SUMMARY (NEW)"
|
---|
64 | W:TYPE="R" !!!,"STATION SUMMARY (REPAIR)"
|
---|
65 | W !,?28,"VA",?36,"Com",?44,"Total",?54,"Cost ($)"
|
---|
66 | W !,LN
|
---|
67 | W !,?26,$J(GCA,5,0),?34,$J(GCB,5,0),?42,$J((GCA+GCB),5,0),?51,$J(GCC,7,0)
|
---|
68 | W !,LN
|
---|
69 | Q
|
---|
70 | ;
|
---|
71 | HEADER ;header and page control
|
---|
72 | I $E(IOST)="C" D
|
---|
73 | .S SS=20-$Y F JJ=1:1:SS W !
|
---|
74 | .I PG>0 S DIR(0)="E" D ^DIR K DIR S:'Y QFLG=1
|
---|
75 | Q:QFLG
|
---|
76 | W:$Y!($E(IOST)="C") @IOF S PG=PG+1
|
---|
77 | W ECXARRAY("TYPE")_" ("_ECXHEAD_") Extract Audit Report",?64,"Page "_PG
|
---|
78 | W !,"DSS Extract Log #: "_ECXEXT
|
---|
79 | W !,"Date Range of Audit: "_ECXARRAY("START")_" to "_ECXARRAY("END")
|
---|
80 | W !,"Station (#): "_$P(ECXDIV,U,2)_" ("_$P(ECXDIV,U,3)_")"
|
---|
81 | W !,"Report Run Date/Time: "_ECXRUN
|
---|
82 | W:TYPE="N" !!,"REPORT OF NEW PROSTHETICS ACTIVITIES"
|
---|
83 | W:TYPE="R" !!,"REPORT OF REPAIR PROSTHETICS ACTIVITIES"
|
---|
84 | W !,"Line",?6,"Item",?28,"VA",?36,"Com",?44,"Total",?54,"Cost ($)",?64,"Ave Com ($)"
|
---|
85 | W !,LN,!
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | CODE ;setup nppd codes
|
---|
89 | ;intended to duplicate code^rmprn63
|
---|
90 | N NULINE
|
---|
91 | F I=1:1 S NULINE=$P($T(TEXT+I^ECXAPRO3),";;",2) Q:NULINE["QUIT" D
|
---|
92 | .I $L($P(NULINE,";",1))>3,STN]"" D
|
---|
93 | ..I $E(NULINE,0,1)'="R" S:$D(^TMP($J,"N",STN,$P(NULINE,";",1))) $P(^TMP($J,"N",STN,$P(NULINE,";",1)),U,15)=$P(NULINE,";",2)
|
---|
94 | ..I $E(NULINE,0,1)="R" S:$D(^TMP($J,"R",STN,$P(NULINE,";",1))) $P(^TMP($J,"R",STN,$P(NULINE,";",1)),U,15)=$P(NULINE,";",2)
|
---|
95 | .S ^TMP($J,"RMPRCODE",$P(NULINE,";",1))=$P(NULINE,";",2)
|
---|
96 | Q
|
---|