A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets. Venkata N Madhira Senior Statistical.

Slides:



Advertisements
Similar presentations
SDTM Implementation Guide Version 3.1.2
Advertisements

Copyright © 2008 SAS Institute Inc. All rights reserved. SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks.
Introducing JavaScript
CDISC ADaM 2.1 Implementation: A Challenging Next Step in the Process Presented by Tineke Callant
 2005 Pearson Education, Inc. All rights reserved Introduction.
2440: 211 Interactive Web Programming JavaScript Fundamentals.
Introduction to C Programming
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
XP Tutorial 1 New Perspectives on JavaScript, Comprehensive1 Introducing JavaScript Hiding Addresses from Spammers.
Best Practices for Including Enumerated Value Domains in UML Models What are the mechanics of creating CDEs associated with enumerated value domains in.
Statistical Discovery. TM From SAS. JMP ® Software: Introduction to Categorical Data Analysis.
Module 1: Introduction to C# Module 2: Variables and Data Types
SAS Workshop Lecture 1 Lecturer: Annie N. Simpson, MSc.
What is Sure BDCs? BDC stands for Batch Data Communication and is also known as Batch Input. It is a technique for mass input of data into SAP by simulating.
Confidential - Property of Navitas Accelerate define.xml using defineReady - Saravanan June 17, 2015.
Introduction to SAS. What is SAS? SAS originally stood for “Statistical Analysis System”. SAS is a computer software system that provides all the tools.
Copyright © 2010, SAS Institute Inc. All rights reserved. Applied Analytics Using SAS ® Enterprise Miner™
Multiple Uses for a Simple SQL Procedure Rebecca Larsen University of South Florida.
%rtf2data: A utility macro to convert RTF Table to SAS® dataset
1 JavaScript in Context. Server-Side Programming.
History of C 1950 – FORTRAN (Formula Translator) 1959 – COBOL (Common Business Oriented Language) 1971 – Pascal Between Ada.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
Introduction to Programming with RAPTOR
Advanced Topics- Functions Introduction to MATLAB 7 Engineering 161.
What is PHP? PHP stands for PHP: Hypertext Preprocessor PHP is a server-side scripting language, like ASP PHP scripts are executed on the server PHP supports.
Introduction to Database Tonga Institute of Higher Education NOS 215.
1 SDS&ADaM sub-team 28 January 2004 Mineko FUJIMOTO Rieko ICHIHARA Kazue TOMITA Hiroaki MATSUDA.
Research Study Data Standards Standards for research study data for submission to regulatory authorities Standard development divided into three parts:
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
IS2802 Introduction to Multimedia Applications for Business Lecture 4: JavaScript, Loops, and Conditional Statements Rob Gleasure
Working Efficiently with Large SAS® Datasets Vishal Jain Senior Programmer.
Better Metadata Through SAS® II: %SYSFUNC, PROC DATASETS, and Dictionary Tables.
Understanding SPSS II Workshop Series August 9, 2016.
WORKING OF SCHEDULER IN OS
LINGO TUTORIAL.
Journal of Mountain Science (JMS)
Tips for Mastering Relational Databases Using SAS/ACCESS®
A need for prescriptive define.xml
Advantages of sas for reporting
Understanding SPSS II Workshop Series July 19, 2017.
Introduction to Programming
Introduction to Classes and Objects
Poster Title Author #1 name, ABC Corporation, City, Country Author #2 name, ABC Corporation, City, Country Abstract A brief abstract at the beginning summarizes.
A brief introduction to the topic
Accelerate define.xml using defineReady - Saravanan June 17, 2015.
CSCI 161: Introduction to Programming Function
Some ways to encourage quality programming
Quality Control of SDTM Domain Mappings from Electronic Case Report Forms Noga Meiry Lewin, MS Senior SAS Programmer The Emmes Corporation Target: 38th.
ECONOMETRICS ii – spring 2018
Poster Title Author #1 name, ABC Corporation, City, Country Author #2 name, ABC Corporation, City, Country Abstract A brief abstract at the beginning summarizes.
Tamara Arenovich Tony Panzarella
Freundschaft Konferenz
SAS and all other SAS Institute Inc
PROC DOC III: Self-generating Codebooks Using SAS®
ELECTRONIC MAIL SECURITY
Introduction to SAS A SAS program is a list of SAS statements executed in order Every SAS statement ends with a semicolon! SAS statements can be in caps.
To change this title, go to Notes Master
Introduction to Classes and Objects
%SUBMIT R A SAS® Macro to Interface SAS and R
PHP.
ELECTRONIC MAIL SECURITY
Architecture + system-based How to assign passwords
Fundamentals of Python: First Programs
Automate Repetitive Programming Tasks: Effective SAS® Code Generators
Stata Basic Course Lab 2.
Venkata N Madhira Senior Statistical Programmer
An FDA Statistician’s Perspective on Standardized Data Sets
Final Thoughts.
CLINICAL DATA ANALYST INTERNSHIP, AT DATAPLUS PHARMA SERVICES
Presentation transcript:

A Macro Tool to Find and/or Split Variable Text String Greater Than 200 Characters for Regulatory Submission Datasets. Venkata N Madhira Senior Statistical Programmer, Shionogi Inc. Western Users of SAS® Software - 2018

Introduction For the studies started after 17DEC2016, it is the FDA requirement that the clinical trails data should be submitted electronically and following CDISC guidelines. All submission datasets must comply with CDISC guidelines (Version 5 SAS transport file format). V5 SAS transport file is compatible for the variable with value length less than or equal to 200 characters. One of the challenging tasks in following CDISC guidelines is, ensuring the variable text string in a submission dataset should not exceed 200 characters.

Splitting Variable Using CDISC Guidelines For general observation class domains: --TERM with value length 550 First 200 characters to be stored in --.--TERM The next 200 characters to be stored in SUPP--: where QNAM = “--TERM1” The next 150 characters to be stored in SUPP--: where QNAM= “--TERM2” -- is Domain Name (Eg: MH,DV..)

Splitting Variable Using CDISC Guidelines For Special-Purpose Domain (CO), Trial Design Domain (TS): --VAL (Parameter Value) with value length 550 The first 200 characters to be stored in parent domain variable (--VAL) The next 200 characters to be stored in a new variable (--VAL1), in the parent domain The remaining 150 characters to be stored in a new variable ( --VAL2) in the parent domain -- is Domain Name (Eg: CO,TS)

How to Split the Long Text ? For a programmer, it is tedious and cumbersome process to search each dataset in a library for the variables with text value greater than 200 characters. If so, it’s a challenging task to split them into additional variables without breaking the word, in a readable manner and complying CDISC standards.

Macro Tool FINDSPLIT The Advantages of this Macro Tool are: To get this complicated task done swiftly, created a macro tool FINDSPLIT. The Advantages of this Macro Tool are: (i) It is very easy to use (just a couple of parameters to be passed). (ii) Finds the variables in datasets with text string greater than 200 characters in a given specific library irrespective of number of datasets. (iii) Provides the summary in html window.

Macro Tool FINDSPLIT (iv) Splitting occurs for the variables, if the text string is greater than 200 characters in any dataset within the specified library. (v) Splitting occurs in a readable manner and comply with CDISC standards for the submission purpose. (vi) It saves a lot of programmer’s precious time and expedites the submission activities.

Mechanism of FINDSPLIT Macro %findsplit (libnme=, split=) Keyword Parameter Parameter Value Description libnme The library name in which your datasets are stored (eg: WORK, Raw…) Eg: %findsplit (libnme=work, split=) When keyword parameter value is N (Possible values are Y, N only) Eg: %findsplit (libnme=work, split=N) split Variable value length information in each dataset with more than 200 characters within the specified library will be given in html window.

FINDSPLIT Macro Tool Output %findsplit (libnme=work, split=N)

Mechanism of FINDSPLIT Macro Keyword Parameter Parameter Value Description split When keyword parameter value is Y (Possible values are Y, N only) %findsplit (libnme=work, split=Y) (a) Variable value length information in each dataset with more than 200 characters within specified library will be given in html window.

Mechanism of FINDSPLIT Macro Keyword Parameter Parameter Value Description split When keyword parameter value is Y (Possible values are Y, N only) (b) Stores the variable long text value into additional variables in a readable way with each new variable length is less than or equal to 200 characters. The scope of this process is all datasets within a specified library .

FINDSPLIT Macro Tool Output %findsplit (libnme=work, split=Y) _1 Dataset Before Macro Execution: (734) (335) _1 Dataset After Macro Execution:

Tips for Macro Execution Make sure that the dataset names in your library should not be same as given below. _TEMPCONT1 _TEMPLEN1 _TEMPLEN2 _TEMPLEN_DSN SASHELPVCOLUMN _TEMPORARY_VAR_LEN_DSN _TEMPORARY_VAR_NOLEN_DSN _TEMPORARY_INDSN_CONTENTS If so macro stops execution, and will be notified in log as a WARNING message.

Tips for Macro Execution Make sure both keyword parameters should have values for the macro execution. Keyword parameter SPLIT should have a value of either Y or N. The macro stops execution if: Any of the keyword parameters value is missing and the reason will be notified in log as a WARNING message. Keyword parameter SPLIT has a value of Y and the preexistence of following variables : X, LENGTHA in your dataset. and the reason will be notified in log as a WARNING message.

Summary of FINDSPLIT Macro Using the macro FINDSPLIT, variable with text string greater than 200 characters can be identified and/or split into additional variables in a readable way complying CDISC standards. The scope of this macro is for all datasets in a specified library. It is very easy to use and saves a lot of programmer’s precious time.

Acknowledgement I would like to thank Malla Reddy Boda, Associate Director, Shionogi Inc, for his review and invaluable comments.

Thank You

Contact Information Venkata N Madhira E-mail: venkatanmadhira@gmail.com Harish Yeluguri E-mail: harish.yeluguri@gmail.com

References CDISC SDTMIG V3.2 https://www.pharmasug.org/proceedings/2015/SS/PharmaSUG-2015-SS06.pdf https://www.fda.gov/downloads/Drugs/DevelopmentApprovalProcess/FormsSubmissionRequirements/ElectronicSubmissions/UCM511237.pdf 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 trademarks of their respective companies.

Questions?