1 | ACKQWLD ;AUG/JLTP BIR/PTD-Print A&SP Capitation Report ; [ 03/28/96 10:45 AM ]
|
---|
2 | ;;3.0;QUASAR;;Feb 11, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine SHOULD NOT be modified.
|
---|
4 | OPTN ;Introduce option.
|
---|
5 | W @IOF,!,"This option produces a four-part capitation report.",!,"It includes demographic, diagnostic, procedure, and CDR data.",!
|
---|
6 | D GETDT^ACKQWL G:$D(DIRUT) EXIT D INIT^ACKQWL
|
---|
7 | DEV W !!,"The right margin for this report is 80.",!,"You can queue it to run at a later time.",!
|
---|
8 | K %ZIS,IOP S %ZIS="QM",%ZIS("B")="" D ^%ZIS I POP W !,"NO DEVICE SELECTED OR REPORT PRINTED." G EXIT
|
---|
9 | I $D(IO("Q")) K IO("Q") S ZTRTN="DQ^ACKQWLD",ZTDESC="QUASAR - Print A&SP Capitation Report",ZTSAVE("ACK*")="" D ^%ZTLOAD D HOME^%ZIS K ZTSK G EXIT
|
---|
10 | DQ ;Entry point when queued.
|
---|
11 | U IO
|
---|
12 | D NOW^%DTC S ACKCDT=$$NUMDT^ACKQUTL(%)_" at "_$$FTIME^ACKQUTL(%),ACKPG=0 K ^TMP("ACKQWLD",$J)
|
---|
13 | D COMPILE,PRINT
|
---|
14 | EXIT ;ALWAYS EXIT HERE
|
---|
15 | K %I,ACKBFY,ACKCDT,ACKDA,ACKEM,ACKM,ACKPG,AS,CDR,CPT,DIR,DIRUT,DTOUT,DUOUT,I,ICD,LN,T,X,XAS,Y,ZIP,^TMP("ACKQWLD",$J)
|
---|
16 | W:$E(IOST)'="C" @IOF D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
|
---|
17 | Q
|
---|
18 | ;
|
---|
19 | COMPILE ;Compile properly sorted data in ^TMP global.
|
---|
20 | N AS,CPT,ICD,XAS,ZIP
|
---|
21 | ;For all visits.
|
---|
22 | S I=0 F S I=$O(^ACK(509850.7,ACKDA,3,I)) Q:'I D
|
---|
23 | .S X=^ACK(509850.7,ACKDA,3,I,0)
|
---|
24 | .S ^TMP("ACKQWLD",$J,1,$P(X,U,5),$P(X,U))=$P(X,U,2,4)
|
---|
25 | .Q
|
---|
26 | ;For ICD statistics.
|
---|
27 | S I=0 F S I=$O(^ACK(509850.7,ACKDA,1,I)) Q:'I D
|
---|
28 | .S X=^ACK(509850.7,ACKDA,1,I,0)
|
---|
29 | .S ^TMP("ACKQWLD",$J,2,$P(X,U,4),$P(X,U),$P(X,U,5))=$P(X,U,2,3)
|
---|
30 | .Q
|
---|
31 | ;For CPT statistics.
|
---|
32 | S I=0 F S I=$O(^ACK(509850.7,ACKDA,2,I)) Q:'I D
|
---|
33 | .S X=^ACK(509850.7,ACKDA,2,I,0)
|
---|
34 | .S ^TMP("ACKQWLD",$J,3,$P(X,U,4),+X,$P(X,U,5))=$P(X,U,2,3)
|
---|
35 | .Q
|
---|
36 | Q
|
---|
37 | PRINT ;Print/display results.
|
---|
38 | D DHD I '$O(^TMP("ACKQWLD",$J,0)) D LINE W !!,"No data found for report specifications." Q
|
---|
39 | D HD1
|
---|
40 | ZIP ;For all visits.
|
---|
41 | S AS=0 F S AS=$O(^TMP("ACKQWLD",$J,1,AS)) Q:'AS!($D(DIRUT)) D
|
---|
42 | .I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD1
|
---|
43 | .S XAS=$S(AS=203:"Audiology",1:"Speech")
|
---|
44 | .W !!,XAS,":"
|
---|
45 | .S (ZIP,T)="" F S ZIP=$O(^TMP("ACKQWLD",$J,1,AS,ZIP)) Q:ZIP=""!($D(DIRUT)) D
|
---|
46 | ..I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD1
|
---|
47 | ..S X=^TMP("ACKQWLD",$J,1,AS,ZIP)
|
---|
48 | ..W !,ZIP,?20,$J($P(X,U,2),5),?30,$J($P(X,U,3),5),?40,$J($P(X,U),5)
|
---|
49 | ..S $P(T,U)=T+X,$P(T,U,2)=$P(T,U,2)+$P(X,U,2),$P(T,U,3)=$P(T,U,3)+$P(X,U,3)
|
---|
50 | .Q:$D(DIRUT)
|
---|
51 | .S $P(LN,"-",48)="" W !,LN
|
---|
52 | .W !,XAS," Total: ",?20,$J($P(T,U,2),5),?30,$J($P(T,U,3),5),?40,$J(+T,5)
|
---|
53 | Q:$D(DIRUT)
|
---|
54 | ICD ;For ICD statistics.
|
---|
55 | D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD2
|
---|
56 | S AS=0 F S AS=$O(^TMP("ACKQWLD",$J,2,AS)) Q:'AS!($D(DIRUT)) D
|
---|
57 | .I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD2
|
---|
58 | .S XAS=$S(AS=203:"Audiology",1:"Speech")
|
---|
59 | .W !!,XAS,":"
|
---|
60 | .S ICD="" F S ICD=$O(^TMP("ACKQWLD",$J,2,AS,ICD)) Q:ICD=""!($D(DIRUT)) D
|
---|
61 | ..S (ZIP,X)="" F S ZIP=$O(^TMP("ACKQWLD",$J,2,AS,ICD,ZIP)) Q:ZIP=""!($D(DIRUT)) D
|
---|
62 | ...I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD2
|
---|
63 | ...S Y=^TMP("ACKQWLD",$J,2,AS,ICD,ZIP) F I=1,2 S $P(X,U,I)=$P(X,U,I)+$P(Y,U,I)
|
---|
64 | ..Q:$D(DIRUT)
|
---|
65 | ..W !,ICD,?20,$J($P(X,U),5),?30,$J($P(X,U,2),5)
|
---|
66 | .Q:$D(DIRUT)
|
---|
67 | Q:$D(DIRUT)
|
---|
68 | CPT ;For CPT statistics.
|
---|
69 | D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD3
|
---|
70 | S AS=0 F S AS=$O(^TMP("ACKQWLD",$J,3,AS)) Q:'AS!($D(DIRUT)) D
|
---|
71 | .I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD3
|
---|
72 | .S XAS=$S(AS=203:"Audiology",1:"Speech")
|
---|
73 | .W !!,XAS,":"
|
---|
74 | .S CPT=0 F S CPT=$O(^TMP("ACKQWLD",$J,3,AS,CPT)) Q:'CPT!($D(DIRUT)) D
|
---|
75 | ..S (ZIP,X)="" F S ZIP=$O(^TMP("ACKQWLD",$J,3,AS,CPT,ZIP)) Q:ZIP=""!($D(DIRUT)) D
|
---|
76 | ...I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD3
|
---|
77 | ...S Y=^TMP("ACKQWLD",$J,3,AS,CPT,ZIP) F I=1,2 S $P(X,U,I)=$P(X,U,I)+$P(Y,U,I)
|
---|
78 | ..Q:$D(DIRUT)
|
---|
79 | ..W !,CPT,?20,$J($P(X,U),5),?30,$J($P(X,U,2),5)
|
---|
80 | .Q:$D(DIRUT)
|
---|
81 | Q:$D(DIRUT)
|
---|
82 | CDR ;For CDR information.
|
---|
83 | D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD4
|
---|
84 | S (CDR,T)=0 F S CDR=$O(^ACK(509850.7,ACKDA,4,CDR)) Q:'CDR!($D(DIRUT)) D
|
---|
85 | .I $Y>(IOSL-5) D:$E(IOST)="C" PAUSE^ACKQUTL Q:$D(DIRUT) D DHD,HD4
|
---|
86 | .S X=^ACK(509850.7,ACKDA,4,CDR,0)
|
---|
87 | .S Y=$O(^ACK(509850,"B",$P(X,U),0))
|
---|
88 | .S Y=$P($G(^ACK(509850,+Y,0)),U,2)
|
---|
89 | .W !,$P(X,U),?10,Y,?60,$J($P(X,U,2),6,2)
|
---|
90 | .S T=T+$P(X,U,2)
|
---|
91 | Q:$D(DIRUT)
|
---|
92 | W !,"Total:",?60,$J(T,6,2),!!
|
---|
93 | Q
|
---|
94 | DHD ;
|
---|
95 | N X
|
---|
96 | S ACKPG=ACKPG+1 W @IOF,"Printed: ",ACKCDT,?(IOM-8),"Page: ",ACKPG,!
|
---|
97 | F X="Audiology & Speech Pathology","Capitation Report","for",$$XDAT^ACKQUTL(ACKM) W ! D CNTR^ACKQUTL(X)
|
---|
98 | W ! Q
|
---|
99 | HD1 ;Header for all visits.
|
---|
100 | N X
|
---|
101 | W !,"ZIP CODE",?21,"VISITS",?31,"UNIQUE",?42,"C&P"
|
---|
102 | D LINE
|
---|
103 | Q
|
---|
104 | HD2 ;Header for ICD statistics.
|
---|
105 | N X
|
---|
106 | W !,"ICD",?21,"VISITS",?31,"UNIQUE"
|
---|
107 | D LINE
|
---|
108 | Q
|
---|
109 | HD3 ;Header for CPT statistics.
|
---|
110 | N X
|
---|
111 | W !,"CPT",?21,"VISITS",?31,"UNIQUE"
|
---|
112 | D LINE
|
---|
113 | Q
|
---|
114 | HD4 ;Header for CDR statistics.
|
---|
115 | N X
|
---|
116 | W !,"CDR ACCOUNT",?58,"% WORKLOAD"
|
---|
117 | D LINE
|
---|
118 | Q
|
---|
119 | LINE S X="",$P(X,"-",IOM)="-" W !,X Q
|
---|