[613] | 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
|
---|