One Project, Two Teams: The Unblind Leading the Blind

Similar documents
Automate Clinical Trial Data Issue Checking and Tracking

How to write ADaM specifications like a ninja.

A Breeze through SAS options to Enter a Zero-filled row Kajal Tahiliani, ICON Clinical Research, Warrington, PA

Matt Downs and Heidi Christ-Schmidt Statistics Collaborative, Inc., Washington, D.C.

Why organizations need MDR system to manage clinical metadata?

The Benefits of Traceability Beyond Just From SDTM to ADaM in CDISC Standards Maggie Ci Jiang, Teva Pharmaceuticals, Great Valley, PA

PharmaSUG Paper AD09

Data Edit-checks Integration using ODS Tagset Niraj J. Pandya, Element Technologies Inc., NJ Vinodh Paida, Impressive Systems Inc.

PharmaSUG Paper DS-24. Family of PARAM***: PARAM, PARAMCD, PARAMN, PARCATy(N), PARAMTYP

Clinical Data Visualization using TIBCO Spotfire and SAS

PharmaSUG 2014 PO16. Category CDASH SDTM ADaM. Submission in standardized tabular form. Structure Flexible Rigid Flexible * No Yes Yes

Programming checks: Reviewing the overall quality of the deliverables without parallel programming

Making the most of SAS Jobs in LSAF

SDTM Implementation Guide Clear as Mud: Strategies for Developing Consistent Company Standards

How to review a CRF - A statistical programmer perspective

CC13 An Automatic Process to Compare Files. Simon Lin, Merck & Co., Inc., Rahway, NJ Huei-Ling Chen, Merck & Co., Inc., Rahway, NJ

An Efficient Solution to Efficacy ADaM Design and Implementation

Working with Composite Endpoints: Constructing Analysis Data Pushpa Saranadasa, Merck & Co., Inc., Upper Gwynedd, PA

Submission-Ready Define.xml Files Using SAS Clinical Data Integration Melissa R. Martinez, SAS Institute, Cary, NC USA

PharmaSUG Paper TT11

SAS Drug Development Program Portability

Missing Pages Report. David Gray, PPD, Austin, TX Zhuo Chen, PPD, Austin, TX

Creating output datasets using SQL (Structured Query Language) only Andrii Stakhniv, Experis Clinical, Ukraine

ABSTRACT INTRODUCTION WHERE TO START? 1. DATA CHECK FOR CONSISTENCIES

Why SAS Programmers Should Learn Python Too

PhUSE Giuseppe Di Monaco, UCB BioSciences GmbH, Monheim, Germany

LST in Comparison Sanket Kale, Parexel International Inc., Durham, NC Sajin Johnny, Parexel International Inc., Durham, NC

Don t Get Blindsided by PROC COMPARE Joshua Horstman, Nested Loop Consulting, Indianapolis, IN Roger Muller, Data-to-Events.

Interactive Programming Using Task in SAS Studio

PharmaSUG Paper PO12

Advanced Visualization using TIBCO Spotfire and SAS

Preparing the Office of Scientific Investigations (OSI) Requests for Submissions to FDA

TLFs: Replaying Rather than Appending William Coar, Axio Research, Seattle, WA

SAS (Statistical Analysis Software/System)

THE DATA DETECTIVE HINTS AND TIPS FOR INDEPENDENT PROGRAMMING QC. PhUSE Bethan Thomas DATE PRESENTED BY

Real Time Clinical Trial Oversight with SAS

A SAS Macro Utility to Modify and Validate RTF Outputs for Regional Analyses Jagan Mohan Achi, PPD, Austin, TX Joshua N. Winters, PPD, Rochester, NY

Scrambling of Un-Blinded Data without Scrambling Data Integrity! Jaya Baviskar, Pharmanet/i3, Mumbai, India

An Alternate Way to Create the Standard SDTM Domains

An Approach Finding the Right Tolerance Level for Clinical Data Acceptance

Automated Checking Of Multiple Files Kathyayini Tappeta, Percept Pharma Services, Bridgewater, NJ

Statistics and Data Analysis. Common Pitfalls in SAS Statistical Analysis Macros in a Mass Production Environment

Planning to Pool SDTM by Creating and Maintaining a Sponsor-Specific Controlled Terminology Database

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

JMP Clinical. Release Notes. Version 5.0

Migration to SAS Grid: Steps, Successes, and Obstacles for Performance Qualification Script Testing

The Implementation of Display Auto-Generation with Analysis Results Metadata Driven Method

Harmonizing CDISC Data Standards across Companies: A Practical Overview with Examples

An Efficient Tool for Clinical Data Check

Customized Project Tracking with SAS and Jira

Organizing Deliverables for Clinical Trials The Concept of Analyses and its Implementation in EXACT

Quick Data Definitions Using SQL, REPORT and PRINT Procedures Bradford J. Danner, PharmaNet/i3, Tennessee

Tips on Creating a Strategy for a CDISC Submission Rajkumar Sharma, Nektar Therapeutics, San Francisco, CA

SAS Application to Automate a Comprehensive Review of DEFINE and All of its Components

Reducing SAS Dataset Merges with Data Driven Formats

186 Statistics, Data Analysis and Modeling. Proceedings of MWSUG '95

So Much Data, So Little Time: Splitting Datasets For More Efficient Run Times and Meeting FDA Submission Guidelines

Applying ADaM Principles in Developing a Response Analysis Dataset

Quick and Efficient Way to Check the Transferred Data Divyaja Padamati, Eliassen Group Inc., North Carolina.

SECURE DATA OFFICE: AN INDEPENDENT TEAM THAT CAN COME TO THE RESCUE IN BLINDED TRIALS

Assessing superiority/futility in a clinical trial: from multiplicity to simplicity with SAS

A Simple Interface for defining, programming and managing SAS edit checks

PhUSE US Connect 2019

Keeping Track of Database Changes During Database Lock

Module I: Clinical Trials a Practical Guide to Design, Analysis, and Reporting 1. Fundamentals of Trial Design

Creating Forest Plots Using SAS/GRAPH and the Annotate Facility

ADaM Compliance Starts with ADaM Specifications

Anatomy of a Merge Gone Wrong James Lew, Compu-Stat Consulting, Scarborough, ON, Canada Joshua Horstman, Nested Loop Consulting, Indianapolis, IN, USA

The Dataset Diet How to transform short and fat into long and thin

BreakOnWord: A Macro for Partitioning Long Text Strings at Natural Breaks Richard Addy, Rho, Chapel Hill, NC Charity Quick, Rho, Chapel Hill, NC

An Efficient Method to Create Titles for Multiple Clinical Reports Using Proc Format within A Do Loop Youying Yu, PharmaNet/i3, West Chester, Ohio

Streamline SDTM Development and QC

OUT= IS IN: VISUALIZING PROC COMPARE RESULTS IN A DATASET

Making a List, Checking it Twice (Part 1): Techniques for Specifying and Validating Analysis Datasets

Traceability in the ADaM Standard Ed Lombardi, SynteractHCR, Inc., Carlsbad, CA

It s Proc Tabulate Jim, but not as we know it!

SDTM Automation with Standard CRF Pages Taylor Markway, SCRI Development Innovations, Carrboro, NC

A Tool to Compare Different Data Transfers Jun Wang, FMD K&L, Inc., Nanjing, China

PharmaSUG2014 Paper DS09

Automation of makefile For Use in Clinical Development Nalin Tikoo, BioMarin Pharmaceutical Inc., Novato, CA

Implementing CDISC Using SAS. Full book available for purchase here.

A Macro for Generating the Adverse Events Summary for ClinicalTrials.gov

PharmaSUG Paper PO10

Automated Creation of Submission-Ready Artifacts Silas McKee, Accenture, Pennsylvania, USA Lourdes Devenney, Accenture, Pennsylvania, USA

Get SAS sy with PROC SQL Amie Bissonett, Pharmanet/i3, Minneapolis, MN

PharmaSUG Paper PO22

PharmaSUG Paper SP04

CFB: A Programming Pattern for Creating Change from Baseline Datasets Lei Zhang, Celgene Corporation, Summit, NJ

Quality Control of Clinical Data Listings with Proc Compare

How to validate clinical data more efficiently with SAS Clinical Standards Toolkit

Programmatic Automation of Categorizing and Listing Specific Clinical Terms

Using PROC SQL to Generate Shift Tables More Efficiently

From Implementing CDISC Using SAS. Full book available for purchase here. About This Book... xi About The Authors... xvii Acknowledgments...

Want to Do a Better Job? - Select Appropriate Statistical Analysis in Healthcare Research

PharmaSUG Paper PO03

AUTOMATED CREATION OF SUBMISSION-READY ARTIFACTS SILAS MCKEE

Patricia Guldin, Merck & Co., Inc., Kenilworth, NJ USA

Improving Metadata Compliance and Assessing Quality Metrics with a Standards Library

It s All About Getting the Source and Codelist Implementation Right for ADaM Define.xml v2.0

PharmaSUG China 2018 Paper AD-62

Transcription:

ABSTRACT PharmaSUG 2017 - Paper BB01 One Project, Two Teams: The Unblind Leading the Blind Kristen Reece Harrington, Rho, Inc. In the pharmaceutical world, there are instances where multiple independent programming teams exist to ensure blinded treatments are maintained by the appropriate parties. For the purposes of this discussion, blinded corresponds to fake data and unblinded corresponds to actual data. Within these projects, blinded programmers use temporary fake data to create programs which produce both blinded and unblinded results. To ensure the blind is maintained and ethics are upheld, only the blinded programming team produces and modifies the programs. While robust programming is key, another major contributing factor for success is communication. This discussion will explore the process of initializing a project supported by blinded and unblinded teams, successful communication techniques when real data comes into play, and ways to effectively troubleshoot validation issues without providing unblinding information. INTRODUCTION AND GENERAL ASSUMPTIONS This discussion focuses on studies requiring both blinded and unblinded deliverables produced by the same vendor. Typically, this dual team approach is required for safety review meetings (ex. DSMB) where both blinded and unblinded reports are delivered during the course of the study. To facilitate this discussion, let s agree on the following assumptions: The work supports a DSMB Programs are on one network, rather than multiple servers o Main directory will contain blinded data o RESTRICTED directory will contain unblinded data IT restricts access to the RESTRICTED directory o The RESTRICTED directory is nested within the Main directory. Both directories have same structure All programs utilize a single setup program and switch macros There are two teams o Blinded Team hence forth referred to as Team B o Unblinded Team hence forth referred to as Team U Team B writes and maintains all programs Team U s programs are simple %includes of Team B s programs Unblinding occurs at the SDTM level UAT data are available for initial programming and study setup 1

TEAM PLANNING The initial step for success is team planning. Appropriate staffing is essential. Team B should have a least one biostatistician and two programmers. The blinded programmers should have strong macro experience and robust programming skills. The unblinded team should have at least one programmer and one biostatistician. While the unblinded programmer will not be modifying any code for ethnical reasons, this programmer should have exceptional communication and validation skills. We ll address these skill sets further along in our discussion. Team B is responsible for all programming activities, including creation of the setup program and switch macros. The setup program consists of all appropriate libnames, SAS options for automatic inclusions and all appropriate output paths. All paths within the setup program should contain macro variables specified within the Switch macro. The Switch macro should be a very simple macro program containing a minimum of two macro variables. The first macro variable specifies what type of data are used. The second specifies the paths. Additionally, these macro variables can be used to efficiently macrotize the treatment columns within displays. Basic good programming practice dictates that macro programs should contain well documented header blocks. This is extremely true for the Switch macro. Furthermore, additional documentation within the Switch macro is strongly encouraged. Example: /*----------------------------------------------------------------------* PROJECT: MACRO: PURPOSE: Specify your study Switch.sas SWITCH BETWEEN DSMB OPEN AND CLOSED DISPLAYS ARGUMENTS: 1st => <FAKE, DSMB> FAKE=scrambled codes,dsmb=real codes> 2nd => <Date of restricted directory for DSMB YYYY-MM-DD> RETURNS: USAGE: GLOBAL MACRO VARIABLES: SwitchDir => DSBM Subdirectory (e.g. \RESTRICTED\<DATE>) Includes leading \ for easy substitution into path specification %*Switch(FAKE,); *Goes to Main study folders; %*Switch(DSMB,2017-05-17); *Goes to Restricted folders; Called by %Setup_TLF PROGRAM HISTORY: DATE PROGRAMMER DESCRIPTION --------- --------------- ------------------------------------------ 01May2017 KHarrington created *----------------------------------------------------------------------*/ %macro switch(blind,date_); %GLOBAL Switch SwitchDIR TrtLbl1 TrtLbl2 ; %let SWITCH = %upcase(&blind); /*EXCECUTE THIS CODE WITH DUMMY DATA*/ %if %upcase(&blind) = FAKE %then %do; %let SwitchDir = \RESTRICTED\&Date_; %let TrtLbl1 = Group A; %let TrtLbl2 = Group B; 2

/*EXECUTE THIS CODE WITH REAL TREATMENTS*/ %if %upcase(&blind) = DSMB %then %do; %let SwitchDir = ; %let TrtLbl1 = Control; %let TrtLbl2 = Actual Treatment Label; %mend switch; %*Switch(FAKE,); /*Goes to Main Study Folder*/ %Switch(DSMB,2017-05-16); /*Goes to Restricted Directory*/ The Switch macro is included using an %include statement within the Setup macro program. The &SwitchDir macro variable created in the Switch macro should be utilized for all path specifications, such that the appropriate libnames are utilized and all files are written out to the appropriate locations. All SDTM, ADaM, Table, Listing, and Figure (TLF) programs will include the Setup macro by way of an %include statement. PREPARATION PRE-DATA Once both teams are identified, it is important to meet internally to discuss the key elements of the study prior to receipt of any data. The entire team should know exactly what data are blinded, and consequently what data have unblinding potential. Potential unblinding items can be domain specific, as well as analysis specific. For example, the SDTM domains EX and EC are typically blinded as they contain dosing information. Usually, this means that these domains are empty on the blinded side. Robust programming is required to ensure a smooth transition from blinded to unblinded when working with these types of data. Some statistical analyses are population specific; therefore, they too have unblinding potential. For example, Fisher s exact test may be used if the population of either treatment group is below five patients. Logistic Regression may be used when the population of either treatment group is above five patients. This information is important for the blinded programmers; however, it is imperative to the unblinded programmer as it directly relates to how non-validating items are communicated as well as ensuring the appropriate analyses are being executed. Both teams should understand the requirements for the deliverables. Do the blinded displays only contain a Total column? Will they have the same number of treatments as the unblinded displays? Will they contain fewer treatments? This information is critical for both robust programming, and for QC. Both teams should be well versed not only in the method of running both the blinded and unblinded programs, but in the overall process, including locations of required files. As previously agreed upon, unblinding occurs at the SDTM level. This requires macro coding to ensure the appropriate treatments are assigned for both the blinded and unblinded program runs. Utilizing the Switch macro is the easiest approach. The blinded programmer needs to understand this process to ensure robust programming. It is important for the unblinded programmer to be familiar with this process to aid in communicating validation discrepancies. At this point in planning, all individuals should be aware of the first deliverable timeline. It is crucial to set internal timelines for both teams. These internal timelines should allow sufficient time for several rounds of program execution for both teams. As you begin a study, it is important to be mindful of the full SDTM through TLF run time on the blinded side. This will help you set internal timelines that allow for program execution, log cleaning and validation investigation. Adequate testing of your macro code or macro variables that are specific to treatment codes and directory paths should be done prior to IT restricting any directories. Dummy data, or UAT data, should be utilized to run simple programs. Checks that logs and output are directed to the appropriate locations dependent on the macros should be thoroughly vetted. This ensures that the basic concepts of your macro code are executing appropriately, and allows both teams to focus on the data once it arrives. Once IT restricts the directories, this process should be repeated to ensure all programs are still working as expected. Once this is verified, the team is ready for data! 3

POST-DATA As programming with the clinical data begins, it is important to run tests between the Team B and Team U. While Trial Design domains are typically the first programs developed, the critical starting point for testing is the SDTM domain DM. Once the production DM domain and validation programs are stable within Team B, Team U should run the programs to ensure the Switch macro and subsequent macro variables are working as expected. This is also the best time to test that the handling of the blinded vs unblinded treatments is correct. This can be done by the Team U programmer utilizing a PROC FREQ on both the blinded DM dataset and the unblinded DM dataset and comparing the results. The results from the unblinded DM dataset should then be cross checked against the randomization data. The Team B programmer should do similar cross checks against the SAP to ensure the fake data has the expected treatment distribution. These cross checks should be independently vetted by the Biostatisticians from both teams as well. Once SDTM programming and validation are complete within Team B, the programs should be run by Team U. Ensuring that SDTM domains validate within both teams prior to initializing ADaM programming ensures smoother transitions throughout the project. This process should be repeated once ADaM programming is complete within Team B, prior to TLF programming, as well. VALIDATION COMMUNICATION Communication is critical to every project. For projects with blinded and unblinded teams, appropriate communication is absolutely necessary. Ensuring that no unblinding information is relayed is of the upmost importance. As Team U cannot modify programs, it is imperative for the Team U programmer to refer back to the discussion regarding potentially unblinding domains/data before beginning to relay validation discrepancies to Team B. At the beginning of a study, when data are sparse, communicating validation discrepancies without inadvertently unblinding can be tricky. This is where Team U s effective communication and strong validation skills come into play. With some studies, simply communicating that the production output has values where the validation output is completely empty can be unblinding due to study critical subsets. Knowing your study and your data facilitates maintaining the blind. In these types of instances, the Team U programmer must lead the Team B programmers to the correct updates without providing any unblinding information. At times the simple answer is for Team B programmers to check their subsets, while at other times the answer is more complex. In more complex scenarios, reviewing the program logs may lead the Team U programmer to some clues as to where the discrepancies are occurring. There may be instances where different model statements are being used between production and validation, or an incorrect analysis is performed based on sample size. These discrepancies are difficult to communicate without potentially unblinding the team. Asking Team B to add notes that output to the log specifying which population dependent analyses are executing is a helpful check for the blinded programmers to note whether they ve added dependent code without providing unblinding information. Example: PROC SQL NOPRINT; Select count(*) from AnalysisDS into: trtobs1 where trt = 1; Select count(*) from AnalysisDS into: trtobs2 where trt = 2; QUIT; %if 0 < &TrtObs1 < 5 or 0 <&TrtObs2 < 5 %then %do; %put PERFORMING FISHERS EXACT BASED ON &TrtObs1 AND &TrtObs2 ; <additional code> 4

%if &TrtObs1 > 5 and &TrtObs2 > 5 %then %do; %put PERFORMING LOGISTIC REGRESSION BASED &TrtObs1 AND &TrtObs2; <additional code> By checking the log of a program containing notes similar to the above example, one can easily determine whether the appropriate analysis was performed. CONCLUSION Prior to the first data transfer, targeted planning needs to occur. Staffing, communication plans, identification of potentially unblinding material, clearly documented macros, and internal timelines need to be thoroughly discussed to ensure success throughout the project. After the initial data transfer, additional testing should take place to ensure the appropriate foundation has been laid. Once the programs are in place for both teams, the focus shifts to validation. As Team U cannot modify programs, communicating discrepancies between Teams B and U must be done with full knowledge of potentially unblinding data in order to maintain the blind. This is where Team U leads Team B. Communication and strategic planning significantly impact the success of a study. Resourcing Team B with programmers who can make programmatic updates based off of very little instruction is essential. Resourcing Team U with individuals who have exceptional communication and data investigation skills is vital. Planning and communicating all aspects of programming ensures success. CONTACT INFORMATION Your comments and questions are valued and encouraged. Contact the author at: Kristen Reece Harrington Rho, Inc. 919-595-6377 Kristen_Harrington@rhoworld.com SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies 5