1 | DGPTODCM ;ALB/JAT - PTF DRG CASE MIX REPORT ; 9/14/01 10:35am
|
---|
2 | ;;5.3;Registration;**375**;Aug 13,1993
|
---|
3 | ; called from DGPTOD1
|
---|
4 | N DGREF,DGDEF,DGWGT,DGS,DGB,DGP,DGSVC,DGBED,DGPRO
|
---|
5 | N DGPASS,X,Y,B1,B2,B3,B4,T1,T2,T3,T4
|
---|
6 | N E,P,P3,%,DGCPG,DGFLAG,DGTCH,DGSNM
|
---|
7 | S DGREF=$NA(^UTILITY("DGPTOD1","CASEMIX"))
|
---|
8 | S DGDEF=$TR(DGREF,")",",")
|
---|
9 | F S DGREF=$Q(@DGREF) Q:DGREF="" Q:$E(DGREF,1,$L(DGDEF))'=DGDEF D
|
---|
10 | .S DGWGT=$P(@DGREF,U,2),DGS=$P(@DGREF,U,3)
|
---|
11 | .S DGB=$P(@DGREF,U,4),DGP=$P(@DGREF,U,5)
|
---|
12 | .I DGS="" S DGS="ZZ"
|
---|
13 | .I DGB="" S DGB=0
|
---|
14 | .I DGP="" S DGP=0
|
---|
15 | .; set up table by Service
|
---|
16 | .I '$D(DGSVC(DGS)) S DGSVC(DGS)=DGWGT_U_1
|
---|
17 | .E S $P(DGSVC(DGS),U)=$P(DGSVC(DGS),U)+DGWGT,$P(DGSVC(DGS),U,2)=$P(DGSVC(DGS),U,2)+1
|
---|
18 | .; set up table by Specialty (bed section)
|
---|
19 | .I '$D(DGBED(DGB)) S DGBED(DGB)=DGWGT_U_1
|
---|
20 | .E S $P(DGBED(DGB),U)=$P(DGBED(DGB),U)+DGWGT,$P(DGBED(DGB),U,2)=$P(DGBED(DGB),U,2)+1
|
---|
21 | .; set up table by Provider
|
---|
22 | .I '$D(DGPRO(DGP)) S DGPRO(DGP)=DGWGT_U_1
|
---|
23 | .E S $P(DGPRO(DGP),U)=$P(DGPRO(DGP),U)+DGWGT,$P(DGPRO(DGP),U,2)=$P(DGPRO(DGP),U,2)+1
|
---|
24 | ;
|
---|
25 | ; start printing
|
---|
26 | S (DGPASS,P)=0
|
---|
27 | S DGFLAG="Medical Center",P3="DRG"
|
---|
28 | D COVER,HEAD
|
---|
29 | S (T2,T3)=0
|
---|
30 | D UNLOAD
|
---|
31 | K ^UTILITY("DGPTOD1","CASEMIX")
|
---|
32 | Q
|
---|
33 | COVER ; cover page
|
---|
34 | S DGCPG(1)="DRG Case Mix Summary for "_DGFLAG
|
---|
35 | S DGCPG(2)=$S(DGD:"for Discharge Dates Between ",1:"Active Admissions")
|
---|
36 | I DGD S Y=DGSD+.1 X ^DD("DD") S %=Y,Y=$P(DGED,".") X ^DD("DD") S DGCPG(2)=DGCPG(2)_%_" to "_Y,DGCPG(3)=$S('DGB:"not ",1:"")_"including TRANSFER DRGs"
|
---|
37 | S DGTCH="CASE MIX SUMMARY by DRG^"_P3_"^PAGE #" D C^DGUTL
|
---|
38 | Q
|
---|
39 | HEAD ; top of page
|
---|
40 | I P S %=IOSL-14 F E=$Y:1:% W !
|
---|
41 | I P W !,?10,"Total Weight: Sum of all DRGs",!!
|
---|
42 | W:P ?62,"-",P,"-" W @IOF,!,"DRG Case Mix Summary for ",$S(DGFLAG'["M":G2_" SERVICE",1:"MEDICAL CENTER"),$S(DGFLAG["Spec":" by Specialty",1:"") I 'DGD W " for Active Admissions"
|
---|
43 | I DGD W !,"Discharge Dates from " S Y=DGSD+.1 X ^DD("DD") W $P(Y,"@",1)," to " S Y=DGED X ^DD("DD") W $P(Y,"@",1)
|
---|
44 | W ?110,"Printed: " S Y=DT D DT^DIQ W !?15,$S('DGB:"not ",1:""),"including TRANSFER DRGs"
|
---|
45 | I DGPASS=0 D
|
---|
46 | .W !!,"By Service:",!!
|
---|
47 | .W ?5,"Service",?40,"Total Weight",?55,"Total # Discharges",?80,"Average Weight",!
|
---|
48 | I DGPASS=1 D
|
---|
49 | .W !!,"By Specialty (bed section):",!!
|
---|
50 | .W ?5,"Specialty",?40,"Total Weight",?55,"Total # Discharges",?80,"Average Weight",!
|
---|
51 | I DGPASS=2 D
|
---|
52 | .W !!,"By Provider:",!!
|
---|
53 | .W ?5,"Provider",?40,"Total Weight",?55,"Total # Discharges",?80,"Average Weight",!
|
---|
54 | K E S $P(E,"=",133)="" W E K E
|
---|
55 | S P=P+1 Q
|
---|
56 | UNLOAD ;
|
---|
57 | I $D(DGSVC) S X="" D
|
---|
58 | .F S X=$O(DGSVC(X)) Q:X="" D
|
---|
59 | ..D SVC S B1=DGSNM
|
---|
60 | ..S B2=$P(DGSVC(X),U),B3=$P(DGSVC(X),U,2),B4=B2/B3
|
---|
61 | ..D PRINT
|
---|
62 | .D TOT
|
---|
63 | .S DGPASS=1 D HEAD
|
---|
64 | I $D(DGBED) S X="" D
|
---|
65 | .F S X=$O(DGBED(X)) Q:X="" D
|
---|
66 | ..S B1=$P($G(^DIC(42.4,X,0)),U) I X=0 S B1="UNKNOWN"
|
---|
67 | ..S B2=$P(DGBED(X),U),B3=$P(DGBED(X),U,2),B4=B2/B3
|
---|
68 | ..D PRINT
|
---|
69 | .D TOT
|
---|
70 | .S DGPASS=2 D HEAD
|
---|
71 | I $D(DGPRO) S X="" D
|
---|
72 | .F S X=$O(DGPRO(X)) Q:X="" D
|
---|
73 | ..S B1=$P($G(^VA(200,X,0)),U) I X=0 S B1="UNKNOWN"
|
---|
74 | ..S B2=$P(DGPRO(X),U),B3=$P(DGPRO(X),U,2),B4=B2/B3
|
---|
75 | ..D PRINT
|
---|
76 | .D TOT
|
---|
77 | I P S %=IOSL-14 F E=$Y:1:% W !
|
---|
78 | I P W !,?10,"Total Weight: Sum of all DRGs",!!
|
---|
79 | W:P ?62,"-",P,"-" W @IOF,!
|
---|
80 | Q
|
---|
81 | PRINT ; print a line
|
---|
82 | D HEAD:$Y>(IOSL-14)
|
---|
83 | W !,?5,B1,?38,$J(B2,12,2),?58,$J(B3,10),?75,$J(B4,14,2)
|
---|
84 | S T2=T2+B2,T3=T3+B3,T4=T2/T3
|
---|
85 | Q
|
---|
86 | TOT ; print totals
|
---|
87 | W !!,?5,"TOTALS",?38,$J(T2,12,2),?58,$J(T3,10),?75,$J(T4,14,2)
|
---|
88 | S (T2,T3)=0
|
---|
89 | Q
|
---|
90 | SVC ; Service names
|
---|
91 | S DGSNM=$S(X="M":"MEDICINE",X="S":"SURGERY",X="P":"PSYCHIATRY",X="NE":"NEUROLOGY",X="R":"REHAB MEDICINE",X="NH":"NHCU",X="I":"INTERMEDIATE MED",X="SCI":"SPINAL CORD INJURY",X="D":"DOMICILIARY",X="B":"BLIND REHAB",1:"RESPITE CARE")
|
---|
92 | Q
|
---|