Demographics and baseline characteristics table is common for any Clinical Summary Report (CSR). Without this table a CSR is incomplete at many levels for many customers (internal & external). Each Demographics summary table has some common elements for which the same code is needed to copied and modified according to analysis plan. I got two …
Author Archives: Shrey Virmani
To Transpose or not!
For any type of data, transposition is quite an important and frequently needed utility. In SAS this can be achieved in many ways including but not limited to Proc transpose and arrays. Proc transpose has a wonderful ID statement by which you can create varialbles that can house the transposed data. In some cases there …
Mean (SD) Plots for ADAM BDS structure
Mean (SD) plots are a very important part of a clinical SAS programmer’s work. With ADAM in place for standardization an organization can develop a generic common code to create common types of summaries and graphs using the ADAM BDS structure. The below macro creates Mean (SD) plots for all parameters distinct (PARAMCD and PARAM) …
SDTM codelist->XML mapper-> SAS formats
I was just experimenting with XML mapper. The CDISC website has codelists for CDASH, SDTM and ADAM in different formats including XML. Once I downloaded this file and loaded it into XML mapper I got .map file. This XML and .map files were read in SAS. It created SAS datasets with all the codelists provided …
Significant Digits
With ADAM implementation we can be sure that BDS structure is same for each sponsor. And that is a blessing I must tell you. We can be sure about the structure of data variables and values within it. We are sure that paramcd contains name of parameter not exceeding 8 characters and aval will contain …
Maximum length of character variable
In the CDISC guidelines it can be read that the authority frequently gets character variables in data which are 200 in length and handling this large variable size has become an issue in XPT files. Such issues won’t arise if the data is in XML format. Till the industry completely shifts to Dataset.xml from XPT …
Dataset.xml (Not Define.xml)
From CDISC Webiste – “CDISC developed Dataset-XML v1.0 as a drop-in replacement for SAS V5 XPORT to enable testing using existing processes. Dataset-XML is a truly non-proprietary, global standard, removing many SAS V5 Transport file restrictions (the current file format required by the FDA and PMDA), such as 8-character variable names and 200-character text fields. Dataset-XML …
Ordering, labeling and sorting according to SDTM submission
In order for your submission to pass many checks need to be taken care of. Some of those are ordering the variables according to SDTM 1.4 (as emulated by Pinnacle 21), label, codelists, sort variables etc. I have tried to create a generic macro that makes that data compliant on three levels (labels, sort and …
Continue reading “Ordering, labeling and sorting according to SDTM submission”
Mapping to SDTM
This macro requires metadata in form of excel sheet. example And SDTM meta data example The program performs three types of mapping. Rename, straight and transpose. Please have a look at the input and output LB datset %macro mapper(ds=); proc datasets lib=work nolist kill; quit; run; proc import datafile=”/folders/myfolders/SDTM_META” out=&ds._meta DBMS=xlsx replace; sheet=”&ds”; getnames=yes; run; …
Log Check
As a SAS programmer in a regulated environment we all know the importance of Log checks. I have written a utility macro to do that. In the code you need to mentioned what kind of text string needs to be checked. Input name of log and path. Internal macro modification necessary. %let pgmnane=Program1.sas; %put &pgmnane; …