1 / 33

Making a Publication-quality Graph in SAS

Making a Publication-quality Graph in SAS. Bill O’Brien COLMR Analysis Guild Presentation February 15, 2013. Outline for presentation. A quick look at the Pacificare 30 day readmission measure. Visually examine one aspect of the performance of the model.

norman
Download Presentation

Making a Publication-quality Graph in SAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Making a Publication-quality Graph in SAS Bill O’Brien COLMR Analysis Guild Presentation February 15, 2013

  2. Outline for presentation • A quick look at the Pacificare 30 day readmission measure. • Visually examine one aspect of the performance of the model. • Show the steps to make the graph ready for journal submission.

  3. Pacificare Readmissions Measure • Endorsed by NQF • Logit(Pi) = а + b * RWi+ ei • Pi -> binary variable indicating if index admission i resulted in readmission (1) or no readmission (0) • RWi -> DRG weight for claim i

  4. Is DRG weight predictive of readmission? DRG RateType Rate 90 Actual 2.13% 90 Predicted 13.70% 605 Actual 13.97% 605 Predicted 13.70% 641 Actual 13.82% 641 Predicted 13.70% 688 Actual 17.45% • Predicted 13.70% [...] Model predicts anyone with DRG 605 has a 13.97% probability of readmission Patients with DRG 605 were readmitted 13.70% of the time.

  5. Illustrating correlation between predicted and actual outcome

  6. Default graph ods rtf; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType; run;quit; ods rtf close;

  7. This graph needs work • Size of chart area • Title • Axes scale, labels, units • Plot symbols • Legend • Horizontal lines • Font • Borders

  8. Size of chart area goptions device=gif hsize=7 vsize=4; ods rtf; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType; run;quit; ods rtf close;

  9. Title goptions device=gif hsize=7 vsize=4; ods rtf; title h=1 'Figure 1. Predicted and observed readmission rates for 718 DRGs in VA Hospitals, FY08'; footnote ; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType; run;quit; ods rtf close;

  10. Axes goptions device=gif hsize=7 vsize=4; ods rtf; title h=1 'Figure 1. Predicted and observed readmission rates for 718 DRGs in VA Hospitals, FY08'; footnote ; axis1 label=(a=90 'Readmission Rate'); axis2 order=1 to 718 by 1 label=('DRGs in Order of Predicted Rate') value=none major=none; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2; format rate percent7.0; run;quit; ods rtf close;

  11. Symbols goptions device=gif hsize=7 vsize=4; ods rtf; title h=1 'Figure 1. Predicted and observed readmission rates for 718 DRGs in VA Hospitals, FY08'; footnote ; axis1 label=(a=90 'Readmission Rate'); axis2 order=1 to 718 by 1 label=('DRGs in Order of Predicted Rate') value=none major=none; symbol1 color=green width=1 value=x height=1; symbol2 color=blue width=1 value=dot height=1; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2; format rate percent7.0; run;quit; ods rtf close;

  12. Legend legend1 label=('') value=('Observed Rate' 'Predicted Rate') position=(top left inside) across=1 down=2 cborder=black; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2 legend=legend1; format rate percent7.0; run;quit;

  13. Legend (alternative) legend1 label=('') value=('Observed Rate' 'Predicted Rate') position=(bottom center outside) across=2 down=1; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2 legend=legend1; format rate percent7.0; run;quit;

  14. Horizontal lines proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2 legend=legend1 vref=(.1,.2,.3,.4,.5,.6); format rate percent7.0; run;quit;

  15. Horizontal lines (understated) proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2 legend=legend1 vref=(.1,.2,.3,.4,.5,.6) cvref=ligr; format rate percent7.0; run;quit;

  16. Font goptions device=gif hsize=7 vsize=4 ftext=simplex;

  17. Borders goptions device=gif hsize=7 vsize=4 ftext=arial border; [...] proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2 legend=legend1 vref=(.1,.2,.3,.4,.5,.6) cvref=ligr noframe ; format rate percent7.0; run;quit;

  18. Does it work in grayscale? symbol1 color=dagr width=1 value=x height=1; symbol2 color=black width=1 value=dot height=1;

  19. Before and after

  20. Journal screenshot Am J Med Qual. 2012 Jul-Aug;27(4):341-4. doi: 10.1177/1062860611428091. Epub 2012 Feb 9. Inappropriate use of payment weights to risk adjust readmission rates. Fuller RL, Goldfield NI, Averill RF, Hughes JS.

  21. SAS code for reference goptions device=gif hsize=7 vsize=4 ftext=duplex border; ods rtf; title h=1 bold 'Figure 1. Predicted and observed readmission rates for 718 DRGs in VA Hospitals, FY08'; footnote ; axis1 label=(a=90 'Readmission Rate') ; axis2 order=1 to 718 by 1 label=('DRGs in Order of Predicted Rate') value=none major=none; symbol1 color=dagr width=1 value=x height=1; symbol2 color=black width=1 value=dot height=1; legend1 label=('') value=('Observed Rate' 'Predicted Rate') position=(bottom center outside) across=2 down=1; proc gplot data=analysis.graph1t; plot rate*DRG_order=RateType /vaxis=axis1 haxis=axis2 legend=legend1 vref=(.1,.2,.3,.4,.5,.6,.7) cvref=ligr noframe ; format rate percent7.0; run;quit; ods rtf close;

More Related