The Automated Metadata-driven Table Generation Process (TFLGen) at Amgen Inc.

Similar documents
Streamline SDTM Development and QC

The Submission Data File System Automating the Creation of CDISC SDTM and ADaM Datasets

Formatting a Report with Word 2010

QRG: Using the WYSIWYG Editor

Flowlogic. User Manual Version GraphLogic: Developed by scientists, for scientists. Graphing and Statistical Analysis.

PharmaSUG China 2018 Paper AD-62

Creating and Using an Excel Table

Overview 14 Table Definitions and Style Definitions 16 Output Objects and Output Destinations 18 ODS References and Resources 20

Reference Services Division Presents. Microsoft Word 2

Reference Services Division Presents. Microsoft Word 2

TEACHER: CREATE PRACTICE QUIZ

Microsoft Office Excel

Gloucester County Library System EXCEL 2007

Report Templates in Action Webinar Questions

Microsoft Certified Application Specialist Exam Objectives Map

Liberate, a component-based service orientated reporting architecture

Tutorial 5: Working with Excel Tables, PivotTables, and PivotCharts. Microsoft Excel 2013 Enhanced

Microsoft Excel 2013: Part 3 More on Formatting Cells And Worksheet Basics. To apply number formatting:

SAS Online Training: Course contents: Agenda:

Excel 2016: Core Data Analysis, Manipulation, and Presentation; Exam

CitiDirect for Securities New Features February 2019

Asset Arena InvestOne

CounselLink Reporting. Designer

Excel Level Three. You can also go the Format, Column, Width menu to enter the new width of the column.

Basic Computer Course

AUTOMATED CREATION OF SUBMISSION-READY ARTIFACTS SILAS MCKEE

Window Designer. Opening Screen: When you start Window Designer, you will see the Opening Screen. Here you will be choosing from 4 options:

B.E. Publishing Correlations to The Office Specialist.com, 2E to Microsoft Office Specialist Word 2016 Core (77-725)

Ms excel. The Microsoft Office Button. The Quick Access Toolbar

Miami User Group. Threading Workflows and Discussion. kcura LLC. All rights reserved.

STUDENT NAME ECDL: EXCEL MR BENNELL. This is an example of how to use this checklist / evidence document

Word processing software

Importing Excel into SAS: A Robust Approach for Difficult-To-Read Worksheets

CATEGORY SKILL SET REF. TASK ITEM. 1.1 Working with Spreadsheets Open, close a spreadsheet application. Open, close spreadsheets.

Doctor's Prescription to Re-engineer Process of Pinnacle 21 Community Version Friendly ADaM Development

New Perspectives on Microsoft Excel Module 5: Working with Excel Tables, PivotTables, and PivotCharts

Create a new document based on default template, other available template like: memo, fax, agenda.

MS Word Professional Document Alignment

StatTrak Address Manager Business Edition User Manual

Introduction to Microsoft Office 2007

ECDL / ICDL Spreadsheets Level 1 Syllabus Version 1.0 (UK)

Chapter 2 The SAS Environment

Using Microsoft Excel

Microsoft Excel 2010 Level 1

Spreadsheet Software

Introduction to Microsoft Excel

(Updated 29 Oct 2016)

P3e REPORT WRITER CREATING A BLANK REPORT

The following is the Syllabus for Module 4, Spreadsheets, which provides the basis for the practice-based test in this module.

Quick Reference Card Business Objects Toolbar Design Mode

DETAILED SYLLABUS 1. INTRODUCTION TO COMPUTER

New Perspectives on Microsoft Excel Module 1: Getting Started with Excel

ACT! Calendar to Excel

Microsoft Word 2007 Essential Skills

Appendix A Microsoft Office Specialist exam objectives

Unit 2 Fine-tuning Spreadsheets, Functions (AutoSum)

SHOW ME THE NUMBERS: DESIGNING YOUR OWN DATA VISUALIZATIONS PEPFAR Applied Learning Summit September 2017 A. Chafetz

Teach Yourself Microsoft Excel Topic 5: Revision, Headers & Footers, Metadata

Speeding Up the Validation Process of Clinical Trials Data. Ali Dootson PAREXEL International Limited

Excel 2007 New Features Table of Contents

POWERPOINT Build a Presentation to Remember

General Methods to Use Special Characters Dennis Gianneschi, Amgen Inc., Thousand Oaks, CA

BASICS BEFORE STARTING SAS DATAWAREHOSING Concepts What is ETL ETL Concepts What is OLAP SAS. What is SAS History of SAS Modules available SAS

Figure 1. Table shell

I, J. text boxes, 51 Word, Excel and PowerPoint, Gridlines, 155, ,

A Macro to replace PROC REPORT!?

CMBI. Australian Census Power Bi Sample. Business intelligence consultancy CMBI Business Intelligence Services. Power BI Samples.

Exporting Data in Version 3.6

ECDL Module 4 REFERENCE MANUAL

Getting Started with. Office 2008

SAS Viewer giving way to Universal Viewer Steve Wright, Quintiles, RTP, NC

Unit 2 Fine-tuning Spreadsheets, Functions (AutoSum)

SPREADSHEETS GENERAL FORMATTING & PRINTING.

FlowJo Software Lecture Outline:

ehepqual- HCV Quality of Care Performance Measure Program

EXCEL BASICS: MICROSOFT OFFICE 2010

SEE GRADING CRITERIA AT THE BOTTOM. Database Tables Lookup Wizard Relationships Forms Queries Reports

A SAS and Java Application for Reporting Clinical Trial Data. Kevin Kane MSc Infoworks (Data Handling) Limited

SUBSIDIARY ICT PAPER II

Working with Tables in Word 2010

Introduction Accessing MICS Compiler Learning MICS Compiler CHAPTER 1: Searching for Data Surveys Indicators...

Lesson 19 Organizing and Enhancing Worksheets

EXCEL BASICS: MICROSOFT OFFICE 2007

Excel 2016 Basics for Windows

Introduction to Microsoft Excel 2007

Excel Training Guide. For Graff Diamonds, Inc. USA

Data Standardisation, Clinical Data Warehouse and SAS Standard Programs

APPLIED COMPUTING 1P01 Fluency with Technology

Microsoft Excel 2010

Excel 2013 Essentials Syllabus

Content Module. ActiveModeler Avantage. Managing Enterprise Documentation. Version 1.2, 6 May KAISHA-Tec What does the Content Module do?

IT Skills. May Examination Paper. Time: 2 hours

Word 2010 Mail Merge. by Usman on March 05, 2010

Template Versatility Using SAS Macro Language to Generate Dynamic RTF Reports Patrick Leon, MPH

Printing spreadsheets is easy. Microsoft Excel has lots of options available so you can print exactly what you want.

Introduction to Excel Excel Chapter 1 Robert Tureman

Setting Up a Paper in APA Style Using Microsoft Word 2008 for MACs

One-PROC-Away: The Essence of an Analysis Database Russell W. Helms, Ph.D. Rho, Inc.

Excel 2010 Level 1: The Excel Environment

INFORMATION AND COMMUNICATION TECHNOLOGY 0417/03. Paper 3 Data Analysis and Website Authoring For examination from 2020

Transcription:

Paper TS08 The Automated Metadata-driven Table Generation Process (TFLGen) at Amgen Inc. Neil Lyon Amgen Inc., Uxbridge, UK

The Problem Existing libraries of standard reporting code are 10+ years old They are difficult to use and maintain Requirements have been layered on Redundant code as functionality has been replaced AE tiered table macro has 9554 lines of code, a 60 page user manual, up to 76 input parameters with a log >100,000 lines! Code is duplicated across programs leading to: Duplicated maintenance Inconsistency when a change is made in one program but not others Bug fixes & enhancements are time consuming: Teams unnecessarily developing their own solutions Staff can be hard to move between teams

The Solution A suite of macros that have a single specific function Macros are combined and built upon to form modular macros that can be used to build any table New problem Lots of new macros that need to be understood Requirements for a better solution Could we simplify the use of these new macros? Flexible enough to produce most tables? Maximize the re-use of information, reducing duplication of effort? Something intuitive? Maybe a nice WYSIWYG interface? Fully validated to reduce burden of QC?

The Anatomy of a Table Titles Footnotes File names Font size Page orientation Output Specific Population and subsets Treatment column headers File locations Statistics Decimal precision Labels By-processing Blank rows Analysis Level Table Shell

Table Shell Information As metadata in Excel

Tiered Table Template METADATA = Keyword for metadata stored in row T1 = Metadata values + leftmost table column labels TREATMENTS = Treatment column labels + decimal precision metadata STATISTIC = Keywords for statistics INDENT = Indentation for leftmost table column DATA_SET = Name of dataset containing variable to derive statistics from VARIABLE = Name of variable to derive statistics from SORT_SECTION/SORT_DIRECTION = Sorting metadata

Base Table Template QUANT = Quantifying value for categorical statistic WHERE_CLAUSE = SAS clauses for categorical statistics or to limit data DENOMINATOR = SAS clause for alternative denominators BY_DISPLAY_VARIABLE = Decode variable when by-processing

Pre-TFLGen Process Flow SAS Programmer SAS Program RTF Table Program Index (PI) Plaintext

Analysis Level: Populations/Subsets Populations Subsets of Populations Population/Subset = Names of populations and subsets Where Clause = SAS expressions to describe them

Analysis Level: Treatment Columns Treatment Column Headers Header = Name of header Span Labels = Labels above multiple treatment group columns Treatment = Number showing treatment group column order Column Label = Label for each treatment group column Data Set = Containing data that describes each treatment group Variable/Quant = Describes each treatment group Where Clause = Describes treatment group using SAS expressions Column Width = Width in inches Column Alignment = Centre, left or right

Analysis Level: File Locations Table Template Locations Template Location = Name given to template locations UNIX Directory = UNIX paths for each specified location General Information Item = Keyword for metadata stored in the row Description = To let users know what the keywords refers to Value = Value of the metadata

Extending the PI: Linking the Metadata Linking TFLGen metadata with output level metadata Population = Drop-down list created from populations worksheet Subset = Drop-down list created from subsets worksheet Numerator Where = Limits all data used for statistic generation Header = Drop-down list created from headers worksheet Template Location = Drop-down list from template location worksheet Template = Name of the template required for the table Sort Section = Describes table sorting based on numbers Sort Source Treatment = Describes table sorting based on numbers Body Font Height = Font size to use in main body of table Orientation = Landscape or portrait

TFLGen Process Flow Table Template SAS Program TFLGen RTF Table Program Index Formatting Metadata

TFLGen Report

Problem 1: Too Many Templates Too many near-identical table templates being generated Changeable parameters similar to SAS macro variables New worksheet on Program Index Base Output Name = Output that parameter to be resolved in Parameter = Name of parameter to be resolved Value = String to replace parameter with Description = To aid recall

Problems 2: TFLGen Too Rigid Users limited to using data sets directly from a library Allow users to enter custom code that runs at start of generated program Create work data sets for use within generated program Create macro variables that can resolve when program runs Base Output Name = Output that custom code required for Custom Code to Include at Start of Program = Custom code

Problem 3: Simplifying QC How to QC programs generated by TFLGen? Black text shows data that is displayed Red text shows underlying metadata Blue highlighting shows changes to metadata since last created

Problem 4: Programming and Testing Developing many interconnected macros Hard for multiple developers to work on modules Decisions have ramifications for other developers work One programmer oversaw the primary development Areas of commonality identified and distributed amongst team Avoid tramping macro parameters Data sets were used to pass information across macros Testing TFLGen for robustness, reliability and validity It must run without problems, generating the expected numbers every time Every module is unit tested to ensure that it follows requirements Once complete, integration testing was performed Program Index and table templates to test all functions The results were dual-programmed for validity Limited production roll-out

Example: Demography

Example: Demography

Conclusion TFLGen increases consistency, maintainability and reusability Easily extensible through modularization Table templates can be re-used across analyses QC requirements have been minimized Increases resource portability between teams TFLGen is expected to produce > 65% of tables Single programmer 462 out 697 (66%) tables only 3 days 37 templates Feedback for TFLGen has been overwhelmingly positive Teams reporting quicker table production and QC

Q&A I would like to thank my colleagues Neville Cope, Jack Fuller, Benno Kurch and Chris St Peter for their invaluable help in designing and coding TFLGen. I would also like to thank David Edwards and Mark Stetz for their patience and support in bringing TFLGen to fruition.