F. Average Cost Estimates
5. How can I use SAS to extract utilization data from PTF to find cost of VA rehabilitation and long-term care units?
The following SAS programs demonstrate how I extracted utilization data from the VA Patient Treatment File (PTF) and assigned them a cost. These programs were conducted for an economic study for a clinic trail called VA Non Q-Wave Myocardinal Infarction (VANQWISH).
Program 1 (TSO)This program links the clinical trail data to PTF Bed section file in order to obtain utilization data. The PTF "Bed section" file (PB) gives diagnostic and length of stay information in each bed section during the episode. Extended care patient episodes (in domiciliary or VA community nursing homes) are reported in XB files for Bed section. Program 1 extracts all FY 1995 utilization data from PB95 and XB95. Program 2 organizes the utilization data extracted by Program 1 and assigns cost for rehabilitation and long-term care utilization. PTF data describe the care provided by VA medical centers, but do not include cost. Days of rehabilitation and long-term care are multiplied by the national average cost of a day of stay and applied to estimate cost of care.
000001 //S640SC25 JOB TSOUNKA8,S640SC2,
000002 // NOTIFY=&SYSUID,MSGCLASS=I
000003 //* THIS JOBCARD GENERATED BY REXX
000004 //* JCL IN S640SC2.VANQ.DATA(BED95)
000005 //*MAIN LINES=(60,W)
000006 //************************************************************;
000007 //STEP1 EXEC SAS
000008 //IN1 DD DSN=MDPPRD.MDP.SAS.PB95,DISP=SHR
000009 //IN2 DD DSN=MDPPRD.MDP.SAS.XB95,DISP=SHR
000010 //IN3 DD DSN=S640SC2.VANQWISH.SAS.MASTER1,DISP=SHR
000011 //OUT DD DSN=S640SC2.VANQWISH.SAS.BED95,
000012 // SPACE=(CYL,(200,100),RLSE),UNIT=RMTINT,
000013 // DISP=(NEW,CATLG,DELETE)
000014 //LIBRARY DD DSN=MDPPRD.MDP.FMTLIB6,DISP=SHR
000015 //SYSIN DD *
000016
000017 OPTIONS NOCENTER LS=80 PS=66;
000018 ********************************************;
000019 **OBTAIN UTILIZATION DATA OF ACUTE AND EXTENDED
000020 **CARE FOR VAQWISH STUDY SUBJECT IN 1995
000021 ********************************************;
000022
000023 PROC SORT DATA=IN3.MASTER1 OUT=MASTER1;
000024 BY SCRSSN; /*MASTER1 CONTAINS PATIENT INDENTIFER
000025 INFORMATION FROM VANQWISH TRIAL*/
000026
000027 DATA PB95;
000028 MERGE IN1.PB95 (IN=IN1) MASTER1 (N=IN2);
000029 BY SCRSSN;
000030 IF IN1 AND IN2;
000031 KEEP SCRSSN SRTKEY STA3N ADMITDAY DISDAY ADTIME
000032 BSINDAY BSOUTDAY BSSQ BEDSECN LSB PASSB LVB DXLSB
000033 DXLSB32 DXLSB120 DXB2-DXB5 DRGB;
000034
000035 DATA XB95;
000036 MERGE IN2.XB95 (IN=IN1) MASTER1 (N=IN2);
000037 BY SCRSSN;
000038 IF IN1 AND IN2;
000039 KEEP SCRSSN SRTKEY STA3N ADMITDAY DISDAY ADTIME
000040 BSINDAY BSOUTDAY BSSQ BEDSECN LSB PASSB LVB DXLSB
000041 DXLSB32 DXLSB120 DXB2-DXB5 DRGB;
000042
000043 DATA OUT.BED95;
000044 SET PB95 XB95;
000045
000046 PROC CONTENTS DATA=OUT.BED95;
000047 TITLE "UTILIZATION DATA IN 1995";
000048
000049 PROC MEANS MIN MEAN MAX SUM DATA=OUT.BED95;
This program groups the bed sections into 10 categories and then assigns the national average cost per day of every stay in each inpatient care category. This assumes that every day of stay had the same cost; or that costs are proportionate to the length of stay. Average cost per day was found by merging the VA Cost Distribution Report (CDR) and PTF utilization data. The cost of stay in medicine and surgery bed sections were found based on the Medicare "weight" assigned to the DRG. The estimate of such costs is not included here.
libname in1 '~schen/vanqwish/vanqdat';
options
nocenter nofmterr ps=58 ls=80;
/*VANQWISH
Study*/ /
*This
program groups 1995 inpatient utilizations
into 10 categories and assign them a cost*/
data
inpt95;
set in1.bed95 (keep=scrssn bedsecn bsoutday lsb month
strategy admitday adtime
disday sta3n drg);
by scrssn admitday adtime disday sta3n;
format sta3n bedsecn bsoutday drg;
lscat1=0; lscat2=0; lscat3=0;
lscat4=0; lscat5=0; lscat6=0;
lscat7=0; lscat8=0; lscat9=0; lscat10=0;
select;
when ((bedsecn ge 1 and bedsecn le 12) or .../*bedsecn
indicates where care was
provided*/
(bedsecn ge 14 and bedsecn le 17)
or
bedsecn eq 19 or bedsecn
eq 31 or
bedsecn eq 34 or bedsecn
eq 35 or
bedsecn eq 75 or bedsecn
eq 83)
lscat1=lsb;
when (bedsecn eq 20) lscat2=lsb;
when (bedsecn eq 21) lscat3=lsb;
when (bedsecn eq 22) lscat4=lsb;
when (bedsecn ge 50 and bedsecn le 63)
lscat5=lsb;
when (bedsecn eq 25 or bedsecn eq 26 or
bedsecn
eq 28 or bedsecn eq 33 or
bedsecn eq 70 or bedsecn eq 71
or
bedsecn eq 76 or bedsecn eq
77 or
bedsecn eq 79 or bedsecn eq
89 or
.bedsecn
eq 91 or bedsecn eq 92 or
bedsecn eq 93) lscat6=lsb;
when (bedsecn eq 27 or bedsecn eq 29 or
.(bedsecn
ge 72 and bedsecn le 74) or
bedsecn eq 84 or bedsecn eq 90)
lscat7=lsb;
when (bedsecn eq 32 or bedsecn eq 40)
lscat8=lsb;
when (bedsecn ge 85 and bedsecn le 88)
lscat9=lsb;
when (bedsecn eq 80 or bedsecn eq 81)
lscat10=lsb; end;
label lscat1 = 'IP MEDICINE'
lscat2 = 'IP REHABILITATION'
lscat3 = 'IP BLIND REHABILITATION'
lscat4 = 'IP SPINAL CORD'
lscat5 = 'IP SURGERY'
lscat6 = 'IP PSYCH'
lscat7 = 'IP SUBSTANCE ABUSE'
lscat8 = 'IP INTERMEDIATE'
lscat9 = 'IP DOMICILIARY'
lscat10 ='IP LONG TERM CARE';
/*Assign
median cost per day of stay for inpatient
category 2,3,4,6,7,8,9, and 10. Category 1 and 5
will be allocated by DRG weight, not by length of
the stay. Inflation has been considered in terms of
Consumer Price Index.*/
rhbcost=(555.14*lscat2+691.85*lscat3
+645.92*lscat4+387.02*lscat6+298.86*lscat7+317.27*lscat8
+115.28*lscat9+209.93*lscat10)*(156.9/152.4);
proc
contents data=inpt95;
title "Care categories for VAQWISH Study in FY95";
Proc means min mean max sum data=inpt95;
ReferencesBeattie, C.B, Ralph, W.S, and Tomko, L.A. (1993). Department of Veterans Affairs Databases Resource Guide. Volume II: Patient Treatment File (PTF). VA HSR&D Center for healthcare Evaluation, VA Palo Alto healthcare System, CA 94025

