Interactive Graphs Kriss Harris worked at Glaxo Smith

  • Slides: 68
Download presentation
Interactive Graphs • Kriss Harris worked at Glaxo. Smith. Kline for almost 6 years

Interactive Graphs • Kriss Harris worked at Glaxo. Smith. Kline for almost 6 years from 2005 to 2011 as a Statistician supporting drug discovery. Since then Kriss has moved on to become an independent Statistical Programmer and has consulted at Eli Lilly and Eisai. Currently Kriss is consulting at Eli Lilly supporting early phase Oncology. • Richann Watson is an independent statistical programmer and CDISC consultant based in Ohio. She has been using SAS since 1996 with most of her experience being in the life sciences industry. She specializes in analyzing clinical trial data and implementing CDISC standards. Additionally, she is a member of the CDISC ADa. M team and various sub-teams.

Agenda • Introduction • Drill-Down Examples • Labs • Adverse Event • Drop-Down Selection

Agenda • Introduction • Drill-Down Examples • Labs • Adverse Event • Drop-Down Selection Menu

Introduction

Introduction

Benefits of Drill-Down Feature • You’re able to interrogate your graphs • Understand your

Benefits of Drill-Down Feature • You’re able to interrogate your graphs • Understand your data better

Requirements • Main Requirements • Must produce graph in HTML • Knowing how to

Requirements • Main Requirements • Must produce graph in HTML • Knowing how to create graphs using SG procedures or GTL • Knowing how you want the drill-down process to work • Additional Requirements • Use ODS OUTPUT HTML for outputs • Use URL = option on plot statements • Use IMAGEMAP = ON within ODS GRAPHICS statement

Lab Drill-Down Example

Lab Drill-Down Example

Desired Lab Drill-Down Output https: //www. krissharris. co. uk/sgf/2019/3261/output/labs/all _labs. html

Desired Lab Drill-Down Output https: //www. krissharris. co. uk/sgf/2019/3261/output/labs/all _labs. html

Interactive Lab Example

Interactive Lab Example

Drill-Down Capabilities for Labs What is the End Goal? • Select from 1 of

Drill-Down Capabilities for Labs What is the End Goal? • Select from 1 of 3 lab parameters • Select what data value type to use • Create series plot of the means with +/- one standard deviation, ‘whiskers’ over time for selected parameter and data value type

Drill-Down Capabilities for Labs What is the End Goal? • For series plot •

Drill-Down Capabilities for Labs What is the End Goal? • For series plot • Select a mean value at any time point and treatment and see underlying data • Select time point to see boxplots overlaid with scatterplots by treatment • For boxplots • Select a treatment and see underlying data

Process Flow Selection Menu • • ALT, AST or GGT Analysis value (AVAL) or

Process Flow Selection Menu • • ALT, AST or GGT Analysis value (AVAL) or Change from Baseline (CHG) Series plot • • Overall timepoint – opens a boxplot Mean value – opens a listing Boxplot / Scatterplot • Opens a listing Listing

Process Flow – Working Backwards Listing Boxplot / Scatterplot Series plot Selection Menu

Process Flow – Working Backwards Listing Boxplot / Scatterplot Series plot Selection Menu

Working Backwards Create Supporting Listings • What should the listing contain? • Should there

Working Backwards Create Supporting Listings • What should the listing contain? • Should there be different listings for series plot and boxplot? • Do we need a different listing for each data type?

Desired Layout of Listings

Desired Layout of Listings

Exercise 1 Creating the Severity Bar Charts Lab Drill Down

Exercise 1 Creating the Severity Bar Charts Lab Drill Down

Exercise 1 Creating the Listings • Preliminaries - Open and run the SETUP program

Exercise 1 Creating the Listings • Preliminaries - Open and run the SETUP program • Open program LB_EX 1 • Open and examine ADAM. ADLBC data set • Edit PRM_VIS_TRT so that it will contain the URL names for each listing • Specify the file type in the URLIST variable • Run program and check outputs

Create all Supporting Listings • Number of Listings Needed = 45 • 3 parameters

Create all Supporting Listings • Number of Listings Needed = 45 • 3 parameters • 3 treatments • 5 visits • Create a standard naming convention • Assign a URL for each combination PARAMC D ALT ALT ALT ALT AVISITN TRTAN 0 0 0 54 0 81 2 0 2 54 2 81 4 0 4 54 4 81 6 0 6 54 6 81 8 0 8 54 8 81 PRM_VIS_TRT ALT_0_0 ALT_0_54 ALT_0_81 ALT_2_0 ALT_2_54 ALT_2_81 ALT_4_0 ALT_4_54 ALT_4_81 ALT_6_0 ALT_6_54 ALT_6_81 ALT_8_0 ALT_8_54 ALT_8_81 URLLIST ALT_0_0. html ALT_0_54. html ALT_0_81. html ALT_2_0. html ALT_2_54. html ALT_2_81. html ALT_4_0. html ALT_4_54. html ALT_4_81. html ALT_6_0. html ALT_6_54. html ALT_6_81. html ALT_8_0. html ALT_8_54. html ALT_8_81. html

Working Backwards Create Supporting Graphs • What type of supporting graphs are needed? •

Working Backwards Create Supporting Graphs • What type of supporting graphs are needed? • If more than one type of supporting graph, which one do we produce first? • Do we need a different graph for each data type?

Desired Layout of Boxplot w/ Scatterplot Overlay

Desired Layout of Boxplot w/ Scatterplot Overlay

Exercise 2 a Creating the Supporting Graphs Lab Drill Down

Exercise 2 a Creating the Supporting Graphs Lab Drill Down

Exercise 2 a Creating the Supporting Graphs • Open program LB_EX 2 a •

Exercise 2 a Creating the Supporting Graphs • Open program LB_EX 2 a • Create a variable that will contain the URL names for each boxplot/scatterplot graph • Specify the file type • Run program and check outputs

Create all Supporting Graphs Boxplot with Scatterplot Overlay • Number of Graphs Needed =

Create all Supporting Graphs Boxplot with Scatterplot Overlay • Number of Graphs Needed = 27 • 2 data types • 3 parameters • 5 visits • Create a standard naming convention • Assign a URL for each combination PARAMCD AVISITN PRM_VIS_AVAL ALT 0 ALT_0_AVAL ALT 2 ALT_2_AVAL ALT 4 ALT_4_AVAL ALT 6 ALT_6_AVAL ALT 8 ALT_8_AVAL PARAMCD AVISITN PRM_VIS_CHG ALT 2 ALT_2_CHG ALT 4 ALT_4_CHG ALT 6 ALT_6_CHG ALT 8 ALT_8_CHG URL 1 AVAL ALT_0_AVAL. html ALT_2_AVAL. html ALT_4_AVAL. html ALT_6_AVAL. html ALT_8_AVAL. html URL 1 CHG ALT_2_CHG. html ALT_4_CHG. html ALT_6_CHG. html ALT_8_CHG. html

SAS Won’t Do What We Want • Boxplot does not have URL feature •

SAS Won’t Do What We Want • Boxplot does not have URL feature • Scatterplot does have URL feature • Problem • We want the entire boxplot area to be the link to the listing • Applying drill-down capability to the scatterplot will apply for ALL points so there would be URLs for every single point

“Trick” SAS to Do What We Want • Overlay desired graph with a “ghost”

“Trick” SAS to Do What We Want • Overlay desired graph with a “ghost” graph • Highlow plot has URL option • Highlow plot • Will span entire boxplot and scatterplot by using the minimum and maximum value for each parameter, visit and data type combination • Will be transparent

Determining Minimum and Maximum For Analysis Value and Change from Baseline USUBJID 01 -701

Determining Minimum and Maximum For Analysis Value and Change from Baseline USUBJID 01 -701 -1015 01 -701 -1023 01 -701 -1047 01 -701 -1118 01 -701 -1130 01 -701 -1153 01 -701 -1203 01 -701 -1234 01 -701 -1345 01 -701 -1363 01 -701 -1387 01 -701 -1392 TRTAN AVISITN 0 0 0 0 0 0 PARAMCD ALT ALT ALT AVAL MIN MAX 27 7 69 23 7 69 22 7 69 15 7 69 13 7 69 18 7 69 13 7 69 9 7 69 12 7 69 23 7 69 CHG MIN MAX 14 -14 54 7 -14 54 -6 -14 54 -8 -14 54 -1 -14 54 12 -14 54 -4 -14 54 2 -14 54 0 -14 54 -3 -14 54

Exercise 2 b Creating the Supporting Graphs Lab Drill Down

Exercise 2 b Creating the Supporting Graphs Lab Drill Down

Exercise 2 b Creating the Supporting Graphs • Open program LB_EX 2 b •

Exercise 2 b Creating the Supporting Graphs • Open program LB_EX 2 b • Specify the DRILLTARGET : “_self” • Specify the variable name that contains the drill-down file name • Run program and check outputs • Modify the DRILLTARGET: “_blank” • Modify DATATRANSPARENCY, ROLENAME and TIP

Working Backwards Create Main Graphs • What type of graphs are needed? • Do

Working Backwards Create Main Graphs • What type of graphs are needed? • Do we need a different graph for each data type?

Desired Layout of Series Plot

Desired Layout of Series Plot

Exercise 3 Creating the Main Graphs Lab Drill Down

Exercise 3 Creating the Main Graphs Lab Drill Down

Exercise 3 Creating the Main Graphs • Open program LB_EX 3 • Specify the

Exercise 3 Creating the Main Graphs • Open program LB_EX 3 • Specify the DRILLTARGET • Specify the variable name that contains the drill-down file name – HINT: Look at macro runmean found in Exercise 2 a • Set TRANSPARENCY so that the HIGHLOWPLOT is slightly visible • Run program and check outputs

Create all Primary Graphs Series Plot • Number of Graphs Needed =6 • 2

Create all Primary Graphs Series Plot • Number of Graphs Needed =6 • 2 data types • 3 parameters PARAM Gamma Glutamyl Transferase (U/L) Aspartate Aminotransferase (U/L) Alanine Aminotransferase (U/L) • Create a standard naming convention • Assign a URL for each combination PARAMC D GGT AST ALT ORD 1 1 2 2 3 3 VAR AVAL CHG VARLBL Analyis Value Change from Baseline URLMENU GGT_AVAL. html GGT_CHG. html AST_AVAL. html AST_CHG. html ALT_AVAL. html ALT_CHG. html

Building the Selection Menu Desired Layout of Selection Menu

Building the Selection Menu Desired Layout of Selection Menu

Exercise 4 Building the Selection Menu Lab Drill Down

Exercise 4 Building the Selection Menu Lab Drill Down

Exercise 4 Building the Selection Menu • Open program LB_EX 4 • Specify the

Exercise 4 Building the Selection Menu • Open program LB_EX 4 • Specify the variables for the BLOCKPLOT used to build the menu • Specify the variable name that contains the drill-down file name • Run program and check outputs

Building a Table of Contents Desired Layout of Selection Menu

Building a Table of Contents Desired Layout of Selection Menu

Exercise 5 Building a Table of Contents Lab Drill Down

Exercise 5 Building a Table of Contents Lab Drill Down

Exercise 5 Building a Table of Contents • Open program LB_EX 5 • On

Exercise 5 Building a Table of Contents • Open program LB_EX 5 • On ODS HTML statement specify the name of the CONTENTS, BODY and FRAME • On ODS PROCLABEL statement specify the label for the procedure • In PROC SORT and in PROC SGRENDER indicate what variable should be used to create separate pages • Run program and check outputs • Modify DRILLTARGET to various options

Adverse Event (AE) Drill-Down Example

Adverse Event (AE) Drill-Down Example

Desired AE Drill-Down Output https: //www. krissharris. co. uk/sgf/2019/3261/output/aes. ht ml

Desired AE Drill-Down Output https: //www. krissharris. co. uk/sgf/2019/3261/output/aes. ht ml

Interactive AE Example

Interactive AE Example

Drill-Down Capabilities for Adverse Events (AE) What is the End Goal? • Create a

Drill-Down Capabilities for Adverse Events (AE) What is the End Goal? • Create a bar chart for Dermatological AE by treatment group • For each AE and treatment bar • Select a treatment to see a breakdown by severity • For each severity bar • Select a severity and see underlying data

Interactive AE Example Process Flow Main Bar Chart • Percentages of subjects with at

Interactive AE Example Process Flow Main Bar Chart • Percentages of subjects with at least one AE, by AE and treatment group. Severity Bar Charts • Graphs of the AE counts (of subjects), for each AE, treatment and severity group Listings • Listings for each AE, treatment and severity group

Interactive AE Example Code Flow Main Bar Chart • Percentages of subjects with at

Interactive AE Example Code Flow Main Bar Chart • Percentages of subjects with at least one AE, by AE and treatment group. Severity Bar Charts • Graphs of the AE counts (of subjects), for each AE, treatment and severity group Listings • Listings for each AE, treatment and severity group

Starting with AE Listings • What information is needed? Subject identifier • Start and

Starting with AE Listings • What information is needed? Subject identifier • Start and end date of AE as well as duration • Seriousness • Relation to study drug • Outcome • • What level of granularity do we want the listings? For each AE? • For each treatment? • For each severity? • • For each unique combination of AE, treatment and severity?

Interactive AE Example Output of PROC REPORT Code for Listings

Interactive AE Example Output of PROC REPORT Code for Listings

Exercise 1 Creating the Listings AE Drill Down

Exercise 1 Creating the Listings AE Drill Down

Exercise 1 Creating the Listings • Open and run program AE_EX 1 a and

Exercise 1 Creating the Listings • Open and run program AE_EX 1 a and examine the outputs • Open program AE_EX 1 b • Specify the variable and corresponding value that will subset for nonrelated AEs • Specify the file name suffix to distinguish between all AEs and nonrelated AEs • Bonus question – Why is a where clause used in the PROC SQL statement?

Working Backwards Create Supporting Graphs • What type of supporting graphs are needed? •

Working Backwards Create Supporting Graphs • What type of supporting graphs are needed? • Do we need a different graph for each treatment group?

Interactive AE Example Output of Severity Bar Charts

Interactive AE Example Output of Severity Bar Charts

Exercise 2 Creating the Severity Bar Charts AE Drill Down

Exercise 2 Creating the Severity Bar Charts AE Drill Down

Exercise 2 Creating the Severity Bar Charts • Open and run program AE_EX 2

Exercise 2 Creating the Severity Bar Charts • Open and run program AE_EX 2 a and examine the outputs • Open program AE_EX 2 b • Specify the variable and corresponding value that will subset for nonrelated AEs • Specify the suffix for the URLs associated with the listings for nonrelated Aes • Examine of the bar charts and check the link to the corresponding listing

Interactive AE Example Output of Main Bar Chart

Interactive AE Example Output of Main Bar Chart

Exercise 3 Creating the Main Bar Chart AE Drill Down

Exercise 3 Creating the Main Bar Chart AE Drill Down

Exercise 3 Creating the Main Bar Charts • Open and run program AE_EX 3

Exercise 3 Creating the Main Bar Charts • Open and run program AE_EX 3 a and examine the output • Open program AE_EX 3 b • Specify the suffix for the URLs associated with the listings for nonrelated AEs • Examine the bar chart and drill down to the severity bar charts down to the supporting listing

Final AE Drill-Down Output https: //www. krissharris. co. uk/sgf/2019/3261/output/aes. ht ml

Final AE Drill-Down Output https: //www. krissharris. co. uk/sgf/2019/3261/output/aes. ht ml

Drop-Down Selection Menu

Drop-Down Selection Menu

Desired Drop-Down Selection Menu https: //www. krissharris. co. uk/sgf/2019/3261/output/filter/S OFA_all. html

Desired Drop-Down Selection Menu https: //www. krissharris. co. uk/sgf/2019/3261/output/filter/S OFA_all. html

Filter Example - Graphs

Filter Example - Graphs

Filter Example - Graphs

Filter Example - Graphs

Drop-Down Selection Menu Creating Graphs for Each Region - Macro %macro genchart(product=, regioncls=, outname=);

Drop-Down Selection Menu Creating Graphs for Each Region - Macro %macro genchart(product=, regioncls=, outname=); ods graphics / reset=all imagemap=on imagename="&product. _&outname"; ods _all_ close; ods html path=outp file="&product. _&outname. . html" text="&filterlink. " headtext='<script src="my. Script. js"></script> <link rel="stylesheet" type="text/css" href="my. Script. css">'; proc sgrender data=sales template=drilldown; where product = "&product" and &regioncls. ; dynamic product="&product" region="&region"; run; ods html close; %mend genchart;

Drop-Down Selection Menu Creating Graphs for Each Region – Macro Calls /* Use the

Drop-Down Selection Menu Creating Graphs for Each Region – Macro Calls /* Use the macro to generate the supporting graphs. */ %genchart(product=SOFA, region=%str(West and East), regioncls=%str(region in ('EAST', 'WEST')), outname=all); %genchart(product=SOFA, region=%str(West), regioncls=%str(region in ('WEST')), outname=west); %genchart(product=SOFA, region=%str(East), regioncls=%str(region in ('EAST')), outname=east);

Exercise 1 Creating the Filtering Menu Drop-Down Selection Menu

Exercise 1 Creating the Filtering Menu Drop-Down Selection Menu

Exercise 1 Creating the Filtering Menu • Open and run program FILTER_EX 1 a

Exercise 1 Creating the Filtering Menu • Open and run program FILTER_EX 1 a and examine the output • Open program FILTER_EX 1 b • Modify to allow for filtering on SOUTH region (use new_sales data set)

Final Drop-Down Selection Menu https: //www. krissharris. co. uk/sgf/2019/3261/output/filter/S OFA_all. html

Final Drop-Down Selection Menu https: //www. krissharris. co. uk/sgf/2019/3261/output/filter/S OFA_all. html

Conclusion

Conclusion

Conclusions • SAS can produce interactive graphics when it is combined with HTML. •

Conclusions • SAS can produce interactive graphics when it is combined with HTML. • Interactive graphics allow you to drill-down or filter your graphs and allow you to understand the data better.

Thank you! Contact Information Kriss Harris: italjet 125@yahoo. com Richann Watson: richann. Watson@datarichconsulting. com

Thank you! Contact Information Kriss Harris: italjet 125@yahoo. com Richann Watson: richann. Watson@datarichconsulting. com