SAS Clinical Standards Toolkit 1.7 Migration Guide

SAS Clinical Standards Toolkit 1.7 Migration Guide
SAS Clinical Standards
Toolkit 1.7
®
Migration Guide
SAS® Documentation
The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2015. SAS® Clinical Standards Toolkit 1.7:
Migration Guide. Cary, NC: SAS Institute Inc.
SAS® Clinical Standards Toolkit 1.7: Migration Guide
Copyright © 2015, SAS Institute Inc., Cary, NC, USA
All rights reserved. Produced in the United States of America.
For a hard-copy book: No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic, mechanical, photocopying, or otherwise, without the prior written permission of the
publisher, SAS Institute Inc.
For a web download or e-book: Your use of this publication shall be governed by the terms established by the vendor at
the time you acquire this publication.
The scanning, uploading, and distribution of this book via the Internet or any other means without the permission of the
publisher is illegal and punishable by law. Please purchase only authorized electronic editions and do not participate in or
encourage electronic piracy of copyrighted materials. Your support of others' rights is appreciated.
U.S. Government License Rights; Restricted Rights: The Software and its documentation is commercial computer
software developed at private expense and is provided with RESTRICTED RIGHTS to the United States Government. Use,
duplication or disclosure of the Software by the United States Government is subject to the license terms of this Agreement
pursuant to, as applicable, FAR 12.212, DFAR 227.7202-1(a), DFAR 227.7202-3(a) and DFAR 227.7202-4 and, to the extent
required under U.S. federal law, the minimum restricted rights as set out in FAR 52.227-19 (DEC 2007). If FAR 52.227-19 is
applicable, this provision serves as notice under clause (c) thereof and no other notice is required to be affixed to the
Software or documentation. The Government's rights in Software and documentation shall be only those set forth in this
Agreement.
SAS Institute Inc., SAS Campus Drive, Cary, North Carolina 27513-2414.
February 2015
SAS provides a complete selection of books and electronic products to help customers use SAS® software to its fullest
potential. For more information about our offerings, visit support.sas.com/bookstore or call 1-800-727-3228.
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.
Contents
Using This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Chapter 1 • Installation Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
!sasroot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Global Standards Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample Study Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
2
3
Chapter 2 • SAS Deployment Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Introduction to the SAS Deployment Wizard . . . . . . . . . . . . . . . . . . . . 5
Upgrade to SAS Clinical Standards Toolkit 1.7 in SAS 9.4 . . . . . . . . . 6
Upgrade to SAS Clinical Standards Toolkit 1.7 By
Installing SAS 9.4 in Conjunction with SAS 9.3 . . . . . . . . . . . . . . . 9
Chapter 3 • Tools to Identify Differences between Versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Compare Current User Customizations to the
Previous Version of the SAS Clinical Standards
Toolkit Using Checksums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Compare Two Registered Controlled Terminology Packages . . . . . . 21
Compare Two Codelist Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Compare Two Macro Autocall Libraries . . . . . . . . . . . . . . . . . . . . . . 25
Compare Two Property Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Compare Two Folder Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Copy a Folder Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Chapter 4 • Tools to Migrate Source Metadata from CRT-DDS 1.0.0 to Define-XML 2.0.0 . . . . . . . 35
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Study Source Metadata Migration Driver Programs . . . . . . . . . . . . . 37
vi Contents
Chapter 5 • Frequently Asked Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Installation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Migration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standards Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Library Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
45
46
46
48
vii
Using This Book
Audience
This document provides guidance on migrating from one version of the SAS Clinical
Standards Toolkit to another.
The intended audience is users who have installed and customized a previous version
of the SAS Clinical Standards Toolkit and now want to install version 1.7.
If you are installing the SAS Clinical Standards Toolkit for the first time and it is version
1.7, or if you have installed previous versions of the SAS Clinical Standards Toolkit but
did not customize them, you do not need to review this document or use any of the
information when you install the SAS Clinical Standards Toolkit 1.7.
However, if you plan to subsequently customize the SAS Clinical Standards Toolkit, this
document offers a preview of the issues that you might want to consider in the future as
you migrate to later versions of the SAS Clinical Standards Toolkit.
viii Using This Book
1
1
Installation Locations
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
!sasroot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Global Standards Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Sample Study Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Introduction
The installation process of the SAS Clinical Standards Toolkit puts files in these
locations:
n
!sasroot
n
global standards library
n
sample study library
!sasroot
Generic (cross-standard or standard-independent) framework SAS macros are installed
in the !sasroot/cstframework/sasmacro directory (Microsoft Windows) or in
the !sasroot/sasautos directory (UNIX).
2
Chapter 1 / Installation Locations
These primary autocall locations are the same for both SAS 9.3 and SAS 9.4 as well as
for previous versions of the SAS Clinical Standards Toolkit and version 1.7. During
installation of the SAS Clinical Standards Toolkit, SAS performs the following tasks:
n
adds macros that are new to version 1.7
n
overwrites macros that have been modified in version 1.7
n
leaves in place macros that have been deprecated with version 1.7
CAUTION! If the timestamp of a macro in !sasroot is later than the timestamp of
the SAS Clinical Standards Toolkit 1.7 macro to be installed, the installation
process does not replace the macro in the !sasroot location. If you have
modified !sasroot macros, you assume responsibility for reconciling your changes with
newer versions of those macros. Your code management processes must include
backing up files so that you do not risk having your changes overwritten when newer
macros are installed. There are several tools that help you identify changes in the
framework autocall macros.
TIP Best Practice Recommendation: Do not modify the macros in the autocall
locations. Make a copy of each macro to modify, modify the copy, and save the copy
in another folder. Add the folder to the SAS autocall path.
Global Standards Library
The primary function of the SAS Clinical Standards Toolkit global standards library is to
provide the metadata that defines each standard that is supported by the SAS Clinical
Standards Toolkit.
The location of the global standards library is specified during installation, but it can be
moved to another location. By default, this location is set to the
C:\cstGlobalLibrary directory (Microsoft Windows) or to the /usr/local/
cstGlobalLibrary directory (UNIX).
If the global standards library of a previous version of the SAS Clinical Standards Toolkit
was installed in the default location, the installation process asks you to specify another
Sample Study Library
3
location for the global standards library for version 1.7. (For more information, see
Chapter 2, “SAS Deployment Wizard,” on page 5.) You can rename or move the
global standards library for the previous version before starting the installation of version
1.7.
The global standards library directory/metadata directory contains the
cumulative metadata for every standard that is registered to the SAS Clinical Standards
Toolkit. The metadata/standards.sas7bdat data set contains records for each
supported standard. The number of records varies with each release because support
for new standards is added or deprecated.
If you have customized a previous version of the SAS Clinical Standards Toolkit to add
your own standards, you must register those customized standards to the SAS Clinical
Standards Toolkit version 1.7. This process is described in the “Framework” chapter in
the SAS Clinical Standards Toolkit User’s Guide.
Sample Study Library
The SAS Clinical Standards Toolkit sample study library includes a sample folder for
each standard. Each sample folder contains the files that represent a sample SAS
implementation of the specific standard, sample study data sets, and sample programs
and results that illustrate SAS Clinical Standards Toolkit functionality.
The location of the sample study library is specified during installation, but it can be
moved to another location. By default, this location is set to the
C:\cstSampleLibrary directory (Microsoft Windows) or to the /usr/local/
cstSampleLibrary directory (UNIX).
As a part of each standard definition that is supplied by SAS, the global standards
library directory/standards/standard and version/control/
standards.sas7bdat data set contains a column named studylibraryrootpath. By
default, this column has been set to the root path of the sample study for that standard.
You can use this column to point to the root path of another study hierarchy within your
organization. If you have modified this path for any of the standards supplied by SAS,
you must ensure that mapping is retained after migrating from a previous version of the
SAS Clinical Standards Toolkit to version 1.7.
4
Chapter 1 / Installation Locations
5
2
SAS Deployment Wizard
Introduction to the SAS Deployment Wizard . . . . . . . . . . . . . . . . . . . . . . . . . 5
Upgrade to SAS Clinical Standards Toolkit 1.7 in SAS 9.4 . . . . . . . . 6
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Uninstall a Previous Version of the SAS Clinical
Standards Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Install the SAS Clinical Standards Toolkit 1.7 for SAS 9.4 . . . . . . . . . 8
Upgrade to SAS Clinical Standards Toolkit 1.7
By Installing SAS 9.4 in Conjunction with SAS 9.3 . . . . . . . . . . . . . . . . . . 9
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Install the SAS Clinical Standards Toolkit 1.7 for SAS 9.4 . . . . . . . . . 9
Introduction to the SAS Deployment
Wizard
This chapter describes the installation of the SAS Clinical Standards Toolkit 1.7 on
Windows 7 Enterprise x64 (Service Pack 1) using the SAS Deployment Wizard in two
different scenarios:
n
Upgrade to SAS Clinical Standards Toolkit 1.7 in SAS 9.4
n
Upgrade to SAS Clinical Standards Toolkit 1.7 by installing SAS 9.4 in conjunction
with SAS 9.3 that already has a previous version of the SAS Clinical Standards
Toolkit installed
6 Chapter 2 / SAS Deployment Wizard
Note: Usually, you use only one of these scenarios, depending on your situation.
Upgrade to SAS Clinical Standards
Toolkit 1.7 in SAS 9.4
Overview
If you have modified any file that is part of a previous version of the SAS Clinical
Standards Toolkit, your code management processes should include file backups. File
backups minimize these risks:
n
A modified file is deleted when you uninstall the previous version of the SAS Clinical
Standards Toolkit.
n
A modified file is overwritten when you install the SAS Clinical Standards Toolkit 1.7.
SAS recommends that you uninstall the previous version of the SAS Clinical Standards
Toolkit in SAS 9.4 before installing version 1.7in SAS 9.4.
If you do not uninstall the previous version of the SAS Clinical Standards Toolkit in SAS
9.4, you risk having files that contain deprecated macros (that are not part of the SAS
Clinical Standards Toolkit 1.7) left behind in the !sasroot/cstframework/
sasmacro directory. Here are examples of macros that were present in previous
releases of the SAS Clinical Standards Toolkit that do not exist in version 1.7:
n
cst_createds.sas
n
cst_createemptytables.sas
n
cst_getstandardmetadatas.sas
n
cstcheck_java.sas
n
cstutil_createunixsubdir.sas
n
csutilwriteresultsintro.sas
Upgrade to SAS Clinical Standards Toolkit 1.7 in SAS 9.4
7
CAUTION! Driver programs in a previous version of the SAS Clinical Standards
Toolkit that call these macros and that are migrated to version 1.7 might give
unexpected results.
Uninstall a Previous Version of the SAS
Clinical Standards Toolkit
To uninstall a previous version of the SAS Clinical Standards Toolkit, perform the
following steps:
1 In the Windows Control Panel, uninstall SAS 9.4.
The Choose Language dialog box appears.
2 Select a language, and then click OK.
The Select SAS Products to Uninstall page of the SAS Deployment Wizard appears.
3 Select these products:
n
SAS Clinical Standards Toolkit Global Standards Library
n
SAS Clinical Standards Toolkit Sample Library
n
SAS Clinical Standards Toolkit Framework JAR File
n
SAS Foundation 9.4
4 Click Next.
SAS prepares to uninstall the products. The Checking System page appears.
5 Click Next, and then click Start.
Once the uninstall process is complete, the !sasroot/cstframework/sasmacro
folder is deleted.
6 If the !sasroot/cstframework/sasmacro folder has not been deleted
automatically, delete it manually.
8 Chapter 2 / SAS Deployment Wizard
If it has not been deleted, old macros remain in the folder. If you previously updated
any of the macros in this folder, the old macros were not deleted.
CAUTION! Ensure that you have backed up the SAS Clinical Standards
Toolkit macros that you want to preserve.
7 If the global standards library folder and the sample study library folder exist,
manually delete them.
These folders might contain previous installation information that is not needed.
The default locations for these folders are C:\cstGlobalLibrary and
C:\cstSampleLibrary.
Install the SAS Clinical Standards Toolkit 1.7
for SAS 9.4
To install the SAS Clinical Standards Toolkit 1.7 for SAS 9.4, perform the following
steps:
1 Run setup.exe, which is located in the new SAS Software Install Depot.
The Choose Language dialog box appears.
2 Select a language, and then click OK.
The Select Deployment Task page of the SAS Deployment Wizard appears.
3 Select Install SAS software, and then click Next.
The Select Products to Install page appears.
4 Select SAS Foundation, and then click Next.
The Select SAS Foundation Products page appears.
5 Select SAS Clinical Standards Toolkit Framework, and then click Next.
The Specify SAS Installation Data File page appears.
6 Enter the path to the SAS installation data file, and then click Next.
Upgrade to SAS Clinical Standards Toolkit 1.7 By Installing SAS 9.4 in Conjunction with SAS
The Select Language Support page appears.
9.3
7 Select one or more languages, and then click Next.
The Specify SAS Clinical Standards Toolkit Libraries page appears.
8 Enter the locations of the global standards library and the sample study library.
Note: The locations cannot be the same. And, the locations cannot already exist;
they must be created by the SAS Deployment Wizard.
9 Click Next twice.
The installation begins.
Upgrade to SAS Clinical Standards
Toolkit 1.7 By Installing SAS 9.4 in
Conjunction with SAS 9.3
Overview
This scenario assumes that you have installed SAS 9.3 with a previous version of the
SAS Clinical Standards Toolkit. You can keep this installation and install SAS 9.4 with
the SAS Clinical Standards Toolkit 1.7 in a separate environment.
Install the SAS Clinical Standards Toolkit 1.7
for SAS 9.4
To install the SAS Clinical Standards Toolkit 1.7 for SAS 9.4, perform the following
steps:
1 Run setup.exe, which is located in the new SAS Software Install Depot.
The Choose Language dialog box appears.
2 Select a language, and then click OK.
9
10 Chapter 2 / SAS Deployment Wizard
The Select Deployment Task page of the SAS Deployment Wizard appears.
3 Select Install SAS software, and then click Next.
The Specify SAS Home page appears because SAS 9.3 is installed. The SAS
Deployment Wizard requires you to specify a different location for SASHome for
SAS 9.4.
4 Enter a location for SASHome.
On Windows 7 Enterprise x64 (Service Pack 1), the default location is
C:\Program Files\SASHome2.
5 Click Next.
The Select Deployment Type page appears.
6 Select Install SAS Foundation and Related Software, and then click Next.
The Select Products to Install page appears.
7 Select SAS Foundation, and then click Next.
The Select SAS Foundation Products page appears.
8 Select SAS Clinical Standards Toolkit Framework, and then click Next.
The Specify SAS Installation Data File page appears.
9 Enter the path to the SAS installation data file, and click Next.
The Select Language Support page appears.
10 Select one or more languages, and then click Next.
The Select Regional Settings page appears.
11 Specify the regional settings, and then click Next.
The Default Product for SAS File Types page appears.
12 Specify the default product to use to open SAS file types, and then click Next.
The Specify SAS Clinical Standards Toolkit Libraries page appears.
Upgrade to SAS Clinical Standards Toolkit 1.7 By Installing SAS 9.4 in Conjunction with SAS
9.3
11
13 Enter the locations of the global standards library and the sample study library, and
then click Next.
Note: The locations cannot be the same. And, the locations cannot already exist;
they must be created by the SAS Deployment Wizard.
14 Click Next.
The Checking System page appears.
15 Click Next.
The Deployment Summary page appears.
16 Click Start.
The installation begins.
After the installation is complete, the Deployment Complete page appears.
17 Click Next.
The Additional Resources page appears.
18 Click Finish.
12 Chapter 2 / SAS Deployment Wizard
13
3
Tools to Identify Differences between
Versions
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Compare Current User Customizations to the
Previous Version of the SAS Clinical Standards
Toolkit Using Checksums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
cstutilgeneratechecksums Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
cstutilcomparechecksums Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
compare_checksums.sas Driver Program . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Examples: Compare Checksum Files for !sasroot . . . . . . . . . . . . . . . . . 17
Example: Compare Checksum Files for the
Global Standards Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Example: Compare Checksum Files for the
Sample Study Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Compare Two Registered Controlled Terminology Packages . . . 21
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
cstutilcompareregisteredct Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Compare Two Codelist Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
cstutilcomparecodelists Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Compare Two Macro Autocall Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
cstutilcompareautocallmacros Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
14 Chapter 3 / Tools to Identify Differences between Versions
Compare Two Property Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
cstutilcompareproperties Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Compare Two Folder Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
cstutilcomparefolderhierarchy Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Example 1: Compare Global Standards Library
Folder Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Example 2: Compare Global Standards Library Files . . . . . . . . . . . . . 31
Copy a Folder Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
cstutilcopyfolderhierarchy Macro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Introduction
SAS supplies tools to identify and report differences between two entities, such as
folders or controlled terminology packages.
Note: Reconciliation of differences is outside the scope of this document.
The macros mentioned in this chapter are located in the !sasroot/cstframework/
sasmacro folder.
Compare Current User Customizations
to the Previous Version of the SAS
Compare Current User Customizations to the Previous Version of the SAS Clinical Standards
Clinical Standards Toolkit Using
Checksums
Toolkit Using Checksums
15
Overview
As described in Chapter 1, “Installation Locations,” on page 1, the SAS Clinical
Standards Toolkit places files in three locations: !sasroot, the global standards library,
and the sample study library. To help you determine whether the files in the installation
locations for a previous version of the SAS Clinical Standards Toolkit have been
modified from the files that were originally supplied by SAS, SAS supplies checksum
files for previous versions.
The cstmigration.zip file contains checksum files for the following versions of the SAS
Clinical Standards Toolkit:
Table 3.1
Checksum Files for Versions of the SAS Clinical Standards Toolkit
Checksum File From the Root Path
Version
\cstMigration\checksums\productionchecksums\
1.5
checksums_cst15_cstframework.xml
checksums_cst15_cstgblstdlib.xml
checksums_cst15_cstsamplelib.xml
1.5.1
checksums_cst151_cstframework.xml
checksums_cst151_cstgblstdlib.xml
checksums_cst151_cstsamplelib.xml
1.6
checksums_cst16_cstframework.xml
checksums_cst16_cstgblstdlib.xml
checksums_cst16_cstsamplelib.xml
1.7
checksums_cst17_cstframework.xml
checksums_cst17_cstgblstdlib.xml
checksums_cst17_cstsamplelib.xml
16 Chapter 3 / Tools to Identify Differences between Versions
cstutilgeneratechecksums Macro
The cstutilgeneratechecksums macro creates a checksum file for the specified folder.
You usually specify the folder that contains customized files in your version of the SAS
Clinical Standards Toolkit. This checksum file is used by the cstutilcomparechecksums
macro to compare against another checksum file.
The following example illustrates the use of the cstutilgeneratechecksums macro to
create a checksum file for the folder C:/myCustomGlobalLibrary:
libname custom "<user location for generated checksum XML file>";
%cstutilgeneratechecksums(
_cstFolder=C:/myCustomGlobalLibrary,
_cstXMLFile=%sysfunc(pathname(custom))/checksums_cst15_myCustomGlobalLibrary.xml,
_cstProdCode=cstgblstdlib,
_cstLabel=CST 1.5 Custom Global Library
);
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
cstutilcomparechecksums Macro
The cstutilcomparechecksums macro compares two checksum files that were created
by the cstutilgeneratechecksums macro.
The following example illustrates the use of the cstutilcomparechecksums macro to
compare the checksum file created in the previous example to the checksum file for the
SAS Clinical Standards Toolkit 1.6 as supplied by SAS:
%cstutilcomparechecksums(
_cstBaseXMLFile=%sysfunc(pathname(chksums))/checksums_cst16_cstlib.xml,
_cstCompXMLFile=%sysfunc(pathname(chksums))/checksums_cst15_myCustomGlobalLibrary.xml,
_cstCompResults=work.cstlib,
_cstOutReportPath=%sysfunc(pathname(chksums)),
_cstOutReportFile=cstlib_myCustomGlobalLibrary_16.html
);
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
Compare Current User Customizations to the Previous Version of the SAS Clinical Standards
Toolkit Using Checksums
17
compare_checksums.sas Driver Program
The compare_checksums.sas driver program illustrates using the
cstutilgeneratechecksums macro and the cstutilcomparechecksums macro to compare
the checksum files for !sasroot, the global standards library, and the sample study
library. The compare_checksums.sas driver program is located in the global
standards library directory/standards/cst-framework-1.7/
utilities/checksums folder.
The checksum files for these versions of the SAS Clinical Standards Toolkit are
compared in the compare_checksums.sas driver program:
n
1.5 to 1.5.1
n
1.5.1 to 1.6
n
1.5 to 1.6
Note: The results of running the compare_checksums.sas driver program are located
in the global standards library directory/standards/cstframework-1.7/utilities/checksums/results folder. The results shown in the
following examples assume that the installed files have not been customized.
Examples: Compare Checksum Files
for !sasroot
The following example in the compare_checksums.sas driver program compares the
checksum files for the cstframework autocall library in !sasroot of the SAS Clinical
Standards Toolkit 1.5 to 1.5.1:
%cstutilcomparechecksums(
_cstBaseXMLFile=%sysfunc(pathname(chksums))/checksums_cst15_cstframework.xml,
_cstCompXMLFile=%sysfunc(pathname(chksums))/checksums_cst151_cstframework.xml,
_cstCompResults=work.cstframework,
_cstOutReportPath=&_cstMigrationPath/results,
_cstOutReportFile=cstframework_15_151.html
);
18 Chapter 3 / Tools to Identify Differences between Versions
The results are written to the location that is specified by the _cstOutReportPath
parameter.
Note: This location is used by all of the cstutilcomparechecksums macro examples.
The cstutilcomparechecksums macro creates two lists: one lists the files that are
different and one lists the files that are identical.
The following display shows the list of files that are different:
Display 3.1
Different Files between the SAS Clinical Standards Toolkit 1.5 and 1.5.1
Note: The list of files that are identical is not shown.
The compare_checksums.sas driver program also compares the checksum files
between major versions. Such a comparison identifies more differences. For example,
comparing the cstframework autocall library for SAS Clinical Standards Toolkit 1.5.1 to
1.6 creates three lists: one lists the files that are different, one lists the files that are
missing, and one lists the files that are identical.
The list of the files that are different between major versions is longer than the list of the
files that are different between minor versions.
Note: Most of the changes to the files that are different between major versions
generally involve only the macro headers, not the functionality of the macros. So, the list
is not shown.
Compare Current User Customizations to the Previous Version of the SAS Clinical Standards
Toolkit Using Checksums
The following display shows the list of files that are missing between the SAS Clinical
Standards Toolkit 1.5.1 and 1.6:
Display 3.2
19
Files Missing between the SAS Clinical Standards Toolkit 1.5.1 and 1.6
This list identifies the files that are no longer in the SAS Clinical Standards Toolkit 1.6
(File not found in COMP) and the files that are new to 1.6 (File not found in
BASE).
Note: The list of files that are identical between the two versions is not shown.
20 Chapter 3 / Tools to Identify Differences between Versions
Example: Compare Checksum Files for the
Global Standards Library
The following example in the compare_checksums.sas driver program compares
checksum files for the global standards library of the SAS Clinical Standards Toolkit
1.51 to 1.6:
%cstutilcomparechecksums(
_cstBaseXMLFile=%sysfunc(pathname(chksums))/checksums_cst151_cstgblstdlib.xml,
_cstCompXMLFile=%sysfunc(pathname(chksums))/checksums_cst16_cstgblstdlib.xml,
_cstCompResults=work.cstgblstdlib,
_cstOutReportPath=&_cstMigrationPath/results,
_cstOutReportFile=cstgblstdlib_151_16.html
);
Example: Compare Checksum Files for the
Sample Study Library
The following example in the compare_checksums.sas driver program compares
checksum files for the sample study library of the SAS Clinical Standards Toolkit 1.51 to
1.6:
%cstutilcomparechecksums(
_cstBaseXMLFile=%sysfunc(pathname(chksums))/checksums_cst151_cstlib.xml,
_cstCompXMLFile=%sysfunc(pathname(chksums))/checksums_cst16_cstlib.xml,
_cstCompResults=work.cstlib,
_cstOutReportPath=&_cstMigrationPath/results,
_cstOutReportFile=cstlib_151_16.html
);
Compare Two Registered Controlled Terminology Packages
21
Compare Two Registered Controlled
Terminology Packages
Overview
To help you determine whether new controlled terminology packages are available with
the latest version of SAS Clinical Standards Toolkit, SAS supplies the
cstutilcompareregisteredct macro.
cstutilcompareregisteredct Macro
The cstutilcompareregisteredct macro compares records in one SAS Clinical Standards
Toolkit standardsubtypes data set with records in another standardsubtypes data set
(such as in two different versions of the SAS Clinical Standards Toolkit). The default
folder for the standardsubtypes data set is global standards library
directory/standards/cdisc-terminology-SAS Clinical Standards
Toolkit version/control.
This example compares the SAS Clinical Standards Toolkit 1.6 standardsubtypes data
set to the 1.5 standardsubtypes data set:
libname newct 'C:\cstGlobalLibrary\standards\cdisc-terminology-1.6\control';
libname oldct 'C:\cstGlobalLibrary15\standards\cdisc-terminology-1.5\control';
%cstutilcompareregisteredct(
_cstBaseCT=oldct.standardsubtypes,
_cstNewCT=newct.standardsubtypes,
_cstRptType=DATASET,
_cstRptDS=work.CTchanges,
_cstOverwrite=Y
);
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
22 Chapter 3 / Tools to Identify Differences between Versions
The following display shows the data set created by the cstutilcompareregisteredct
macro (not all columns are shown):
Display 3.3 Controlled Terminology Package Differences Reported by the
cstutilcompareregisteredct Macro
Compare Two Codelist Sources
Overview
To help you determine the differences between two codelists, SAS supplies the
cstutilcomparecodelists macro.
cstutilcomparecodelists Macro
The following example compares the SAS Clinical Standards Toolkit 1.6 codelist data
set to the 1.5 codelist data set:
libname newct 'C:\cstGlobalLibrary\standards\cdisc-terminology-1.6\control';
Compare Two Codelist Sources
23
libname oldct 'C:\cstGlobalLibrary15\standards\cdisc-terminology-1.5\control';
%cstutilcomparecodelists(
_cstFileType=DATASET,
_cstBaseCT=oldct.cterms,
_cstNewCT=newct.cterms,
_cstCompareCL=Y,
_cstCLVar=codelist,
_cstCompareCLI=Y,
_cstCLValueVar=cdisc_submission_value,
_cstRptType=_CSTRESULTSDS
);
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
24 Chapter 3 / Tools to Identify Differences between Versions
The following display shows the data set created by the cstutilcomparecodelists macro:
Display 3.4 Controlled Terminology Package Differences Reported by the
cstutilcomparecodelists Macro
Rows 2 through 10 indicate that the AGESPAN codelist (including all values) has been
removed from the CDISC-SDTM 201312 controlled terminology package. A comparison
of rows 11 through 13 to rows 17 through 19 suggest that the CCINVCTYP codelist has
been renamed CCINVTYP.
Compare Two Macro Autocall Libraries
25
Compare Two Macro Autocall Libraries
Overview
To help you determine the differences in a library of SAS macros between two versions
of the SAS Clinical Standards Toolkit, SAS supplies the cstutilcompareautocallmacros
macro.
cstutilcompareautocallmacros Macro
The cstutilcompareautocallmacros macro creates a list of the contents of the directory
for each of the two macro libraries.
The cstutilcompareautocallmacros macro compares the two lists and identifies any file
that is contained in one library but not the other library. For each file that is common to
both macro libraries, the macro indicates any changes in the macro signature.
The following example compares a customized framework macro library to the
framework macro library for the installed version of the SAS Clinical Standards Toolkit:
%cstutilcompareautocallmacros(
_cstBasePath=C:\Program Files\SASHome\SASFoundation\9.4\
cstframework_1.5customized\sasmacro,
_cstNewPath=C:\Program Files\SASHome\SASFoundation\9.4\cstframework
\sasmacro,
_cstRptType=_CSTRESULTSDS,
_cstOverwrite=N
);
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
26 Chapter 3 / Tools to Identify Differences between Versions
The following display shows the data set created by the cstutilcompareautocallmacros
macro (not all columns and rows are shown):
Display 3.5
Sample Results Data Set Created with the cstutilcompareautocallmacros Macro
Rows 21 and 22 indicate that there are differences in the files in the two macro libraries.
The following display shows that rows 23 and 24 indicate that the macro signatures
have changed. These changes are itemized in the WORK.MACRODIFFS data set.
Display 3.6
Macro
Macro Signature Differences Identified by the cstutilcompareautocallmacros
Compare Two Property Files
Overview
A key element of the SAS Clinical Standards Toolkit is the set of global macro variables
built into and used by the SAS Clinical Standards Toolkit. These global macro variables
are primarily defined in property files.
Compare Two Property Files
27
For example, the global standards library directory/standards/cdiscsdtm-3.1.3-1.7/programs/initialize.properties file includes the following
name-value pairs that become global macro variables:
_cstStandard=CDISC-SDTM
_cstStandardVersion=3.1.3
_cstSubjectColumns=studyid usubjid
_cstTableMetadata=work._csttablemetadata
_cstColumnMetadata=work._cstcolumnmetadata
To help you determine whether there are changes in the global macro variables from
one version of the SAS Clinical Standards Toolkit to another version, SAS supplies the
cstutilcompareproperties macro.
cstutilcompareproperties Macro
The cstutilcompareproperties macro translates property files into SAS data sets for
comparison.
The following example compares the initialize.properties file for CDISC SDTM 3.1.3 to
3.2 in the SAS Clinical Standards Toolkit 1.7:
%cstutilcompareproperties(
_cstBasePath=C:\cstGlobalLibrary\standards\
cdisc-sdtm-3.1.3-1.7\programs\initialize.properties,
_cstNewPath=C:\cstGlobalLibrary\standards\cdisc-sdtm-3.2-1.7\
programs\initialize.properties
);
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
The following example macro call outputs a message similar to this one in the SAS log
file:
[CSTLOGMESSAGE] NOTE: The following properties differ between the two property files:
Property values different between BASE and NEW.
Name: _cstStandardVersion Base Value: 3.1.3 New Value: 3.2
28 Chapter 3 / Tools to Identify Differences between Versions
Compare Two Folder Hierarchies
Overview
To help you determine whether two directories contain the same folder hierarchy
(including subfolders), SAS supplies the cstutilcomparefolderhierarchy macro.
TIP For the best results, the subfolders in each directory must share a similar naming
convention or structure, although this is not required.
cstutilcomparefolderhierarchy Macro
The cstutilcomparefolderhierarchy macro can compare these items:
n
folders
The macro identifies the presence or absence of subfolders in the two folder
hierarchies.
n
files
The macro identifies the presence or absence of files in the two folder hierarchies.
n
data sets
The macro identifies, based on the output of PROC COMPARE, the differences in
the data sets that are common in the two folder hierarchies.
These comparisons can be run individually or simultaneously.
Example 1: Compare Global Standards
Library Folder Hierarchies
The following example compares the SAS Clinical Standards Toolkit 1.5 global
standards library folder hierarchy (C:\cstGlobalLibrary15custom) to the 1.6 folder
Compare Two Folder Hierarchies
hierarchy (C:\cstGlobalLibrary) to determine which folders differ in the two
versions:
%cstutilcomparefolderhierarchy(
_cstBaseFolder=C:\cstGlobalLibrary,
_cstBaseVersion=1.6,
_cstCompFolder=C:\cstGlobalLibrary15custom,
_cstCompVersion=1.5,
_cstRptDiff=work.foldercomp,
_cstRptDiffType=FOLDER,
_cstOverwrite=y,
_cstOutReportPath=C:\,
_cstOutReportFile=globallibrarydiff15.htm,
);
Note: It does not matter which folder is _cstBaseFolder or _cstCompFolder.
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
29
30 Chapter 3 / Tools to Identify Differences between Versions
The following display shows part of the work.foldercomp data set created by the
example:
Display 3.7
Part of the work.foldercomp Data Set Created by the Example
Note: Data shown might not be on your computer.
The first 19 rows identify the new folders in the base folder hierarchy. These folders
represent new content in the SAS Clinical Standards Toolkit 1.6 that is not in 1.5.
Rows 20, 21, 25, 27, and 29 identify the folders in the comparison folder hierarchy (in
the COMP Folder name column) that are not in the base folder hierarchy. (See the
highlighted text in the previous display.)
For example, C:\cstGlobalLibrary15Custom\standards\cdiscterminology-1.5\cdisc-cdash\201104Extended\formats (row 20) does not
have a corresponding folder structure in 1.6 because this subfolder was created by the
user to contain extended controlled terminology packages.
Compare Two Folder Hierarchies
31
Likewise, C:\cstGlobalLibrary15Custom\standards\cdiscterminology-1.5\cdisc-cdash\201104\formats (row 21) does not have a
corresponding folder structure in 1.6 because it was deprecated and replaced with a
newer version (\201312).
Note: It is important to identify differences because you must decide whether to migrate
these files into the SAS Clinical Standards Toolkit 1.7 or replace them with the newer
1.7 files. There are many factors to consider. For example, do the previous controlled
terminology packages contain extended codelists? Are the previous controlled
terminology packages customized for your organization or for a set of studies?
Example 2: Compare Global Standards
Library Files
The following example compares the SAS Clinical Standards Toolkit 1.5 global
standards library folder hierarchy (C:\cstGlobalLibrary15Custom) to the 1.6 folder
hierarchy (C:\cstGlobalLibrary) to determine which files differ in the two versions:
%cstutilcomparefolderhierarchy(
_cstBaseFolder=C:\cstGlobalLibrary,
_cstBaseVersion=1.6,
_cstCompFolder=C:\cstGlobalLibrary15Custom,
_cstCompVersion=1.5,
_cstRptDiff=work.filecomp,
_cstReportType=FILE,
_cstOverwrite=y
);
Note: It does not matter which folder is _cstBaseFolder or _cstCompFolder.
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
32 Chapter 3 / Tools to Identify Differences between Versions
The following display shows rows 86 through 98 of the work.filecomp data set created
by the example:
Display 3.8
Rows 86 through 98 of the work.filecomp Data Set Created by the Example
Note: Data shown might not be on your computer.
Rows 86 through 90 identify the new files in the base folder hierarchy. These files
represent new content in the SAS Clinical Standards Toolkit 1.6 that is not in 1.5.
Rows 91 through 96 identify the files from the two folders in the previous example. (See
row 20 and 21 Display 3.7 on page 30.) Six files are not in the base folder hierarchy
(1.6).
Note: It is important to identify differences because you must decide whether to migrate
such files into the SAS Clinical Standards Toolkit 1.7. If these files are unchanged and
have been replaced by the files in 1.7, you probably do not need to migrate them.
However, if you have customized these files for certain studies or organizational
standards, you might need to migrate these files.
Rows 97 and 98 identify the new files in the base folder hierarchy. These files represent
new content in the SAS Clinical Standards Toolkit 1.6 that is not in 1.5.
The following display illustrates rows 1 through 6 of the work.filecomp data set created
by the example:
Display 3.9
Rows 1 through 6 of the work.filecomp Data Set Created by the Example
Copy a Folder Hierarchy
33
Rows 1 through 4 and 6 identify the new files in the base folder hierarchy. These files
represent new content in the SAS Clinical Standards Toolkit 1.6 that is not in 1.5.
Note: You must decide whether these files must be migrated to 1.7.
Row 5 identifies the ODM1-2-2-clean.xml file that is not in 1.6.
Copy a Folder Hierarchy
Overview
To help you copy a folder, all of its subfolders, and all content, SAS supplies the
cstutilcopyfolderhierarchy macro.
Although you can copy a folder hierarchy using operating system commands or tools,
the cstutilcopyfolderhierarchy macro provides useful options, such as itemization of the
folders and files copied and summarization of the actions performed.
cstutilcopyfolderhierarchy Macro
The cstutilcopyfolderhierarchy macro creates a list of the folders and files contained by
a folder hierarchy. Two data sets are created: one that contains the folders and one that
contains the files. You can use these data sets for other programs, such as renaming
the folders and files.
The macro offers an option to copy only the source folder hierarchy without also copying
the files contained in the source folders.
The following example copies the source folder hierarchy \\d78398\public
\cstGlobalLibrary to C:\cstGlobalLibrary15:
%cstutilcopyfolderhierarchy(
_cstSourceFolder=\\d78398\public\cstGlobalLibrary,
_cstNewFolder=C:\cstGlobalLibrary15,
_cstFolderDS=work.folders,
_cstFileDS=work.files,
_cstBuildFoldersOnly=N
);
34 Chapter 3 / Tools to Identify Differences between Versions
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
The example macro call outputs a message similar to this one in the SAS log file:
NOTE: [CSTLOGMESSAGE] 191 folders were created.
NOTE: [CSTLOGMESSAGE] 1049 files were copied.
The following display shows the data set that contains the folders copied by the
example:
Display 3.10 Sample Data Set That Contains the Folders Copied by the
cstutilcopyfolderhierarchy Macro
The following display shows the data set that contains the files copied by the example:
Display 3.11 Sample Data Set That Contains the Files Copied by the
cstutilcopyfolderhierarchy Macro
35
4
Tools to Migrate Source Metadata from
CRT-DDS 1.0.0 to Define-XML 2.0.0
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Study Source Metadata Migration Driver Programs . . . . . . . . . . . . . . . 37
Introduction
SAS supplies tools to support the migration of study source metadata that was created
for a CRT-DDS 1.0.0 define.xml file to study source metadata to be used to create a
Define-XML 2.0.0 define.xml file.
Note: Be aware that the use of these tools results only in an approximation of DefineXML 2.0.0 study source metadata. No assumptions should be made that the results
completely represent the study source metadata. Incomplete reference metadata might
not enable imputation of missing metadata. Some metadata must be added or updated
through a user-defined process. In particular, ValueList definitions and WHERE clauses
are converted from value-level metadata definitions in CRT-DDS 1.0 that have implicit
assumptions about the variable that is described or the variable that defines the
condition.
The macros mentioned in this chapter are located in the global standards
library directory/standards/cdisc-definexml-2.0.0-1.7/macros
folder.
36 Chapter 4 / Tools to Migrate Source Metadata from CRT-DDS 1.0.0 to Define-XML 2.0.0
You can find an overview of the changes from the CRT-DDS 1.0.0 model to the DefineXML 2.0.0 model in the document Define-XML v2 – What’s New, which is located at
http://www.lexjansen.com/phuse/2013/cd/CD05.pdf.
Overview
When the SAS Clinical Standards Toolkit creates a define.xml file for CRT-DDS 1.0.0 or
Define-XML 2.0.0, this is the process:
1 Create data sets that contain the study source metadata.
2 Convert the study source metadata into the SAS representation of the CRT-DDS
1.0.0 or Define-XML 2.0.0 model.
3 Extend the SAS representation of the model, if needed.
For Define-XML 2.0.0, this step is not usually needed because in most cases the
study source metadata can contain the complete metadata content for the creation
of the Define-XML 2.0.0 file. The tools in this chapter assume that there are data
sets with study source metadata for an ADaM or SDTM study to use to create a
CRT-DDS 1.0.0 define.xml file.
Note: If the SAS representation of the model was extended to create a define.xml
file for CRT-DDS 1.0.0, you must ensure that the study source metadata created by
this step is added to the Define-XML 2.0.0 study source metadata. The conversion
tool uses only the study source metadata data sets, not the SAS representation of
the CRT-DDS 1.0.0 model.
4 Create a define.xml file from the SAS representation of the CRT-DDS 1.0.0 or
Define-XML 2.0.0 model.
For CRT-DDS 1.0.0, the following study source metadata data sets are defined in the
SAS Clinical Standards Toolkit 1.5 or later:
n
source_study
n
source_tables
Study Source Metadata Migration Driver Programs
n
source_columns
n
source_values
n
source_documents
37
For Define-XML 2.0.0, a new study source metadata data set (source_codelists) has
been defined. The source_codelists data set was not part of the CRT-DDS 1.0.0 study
source metadata data sets because SAS formats were used as input. The
source_codelists data set contains all metadata needed to create the codelists in the
define.xml file, including the external codelists (for example, MedDRA and WHODRUG)
and NCI metadata (for example, the so-called C-codes). The cstutilgetncimetadata
macro creates the source_codelists data set from a list of SAS format catalogs that
define the study formats and also a SAS data set that contains CDISC/NCI codelist
metadata.
Study Source Metadata Migration Driver
Programs
To provide an example of migrating CRT-DDS 1.0.0 source metadata to Define-XML
2.0.0 source metadata, SAS supplies the migrate_crtdds_to_definexml_adam.sas and
migrate_crtdds_to_definexml_sdtm.sas driver programs. These driver programs are
located in the sample study library directory/cdiscdefinexml-2.0.0-1.7/programs folder.
Note: The driver programs for ADaM and SDTM are similar in structure, so this
example addresses only the SDTM driver program.
After the driver program performs the initial setup (which you can review in the driver
program), the following librefs are defined:
%**********************************************************************************;
%* Define libnames for input
*;
%**********************************************************************************;
%* Original CRT-DDS v1 source metadata for SDTM 3.1.3;
libname crtdds "&studyRootPath/sascstdemodata/metadata";
%**********************************************************************************;
38 Chapter 4 / Tools to Migrate Source Metadata from CRT-DDS 1.0.0 to Define-XML 2.0.0
%* Define libnames for output
*;
%**********************************************************************************;
%* Migrated Define-XML v2 source metadata;
libname defv2 "&studyOutputPath/derivedstudymetadata_crtdds/
%lowcase(&_cstTrgStandard)-&_cstTrgStandardVersion";
%**********************************************************************************;
%* Define formats
*;
%**********************************************************************************;
%* SDTM Study formats in CST 1.7;
libname studyfmt "&studyRootPath/sascstdemodata/terminology/formats";
%* CDISC-NCI Terminology to be used in CST 1.7;
%cst_getstandardsubtypes(_cstStandard=CDISC-TERMINOLOGY,_cstOutputDS=work._cstStdSubTypes);
data _null_;
set work._cstStdSubTypes (where=(standardversion="&_cstTrgStandard" and isstandarddefault='Y'));
* User can override CT version of interest by specifying a different where clause:
*;
* Example: (where=(standardversion="&_cstTrgStandard" and standardsubtypeversion='201104'))*;
call symputx('_cstCTPath',path);
call symputx('_cstCTMemname',memname);
run;
proc datasets lib=work nolist;
delete _cstStdSubTypes;
quit;
%* CDISC-NCI Terminology to be used in CST 1.7;
libname ncisdtm "&_cstCTPath";
%* Formats to be used for SDTM;
options fmtsearch = (studyfmt.formats ncisdtm.&_cstCTMemname);
Note: You might need to change these librefs.
Some of the CRT-DDS 1.0.0 metadata must be mapped to the values expected by
Define-XML 2.0.0. It is likely that you must change the formats based on your specific
data values. It is important to use the format names as specified because these formats
are used by the conversion macros.
%**********************************************************************************;
%* Create some formats for mapping
*;
%**********************************************************************************;
proc format;
value $_cststd
/* Maps from CRT-DDS values to required Define-XML v2 values */
"CDISC SDTM"="SDTM-IG"
Study Source Metadata Migration Driver Programs
"CDISC SEND"="SEND-IG"
"CDISC ADAM"="ADAM-IG"
;
value $_cstdom
/* Map to ItemGroup/@Domain attribute */
"QSCG" = "QS"
"QSCS" = "QS"
"QSMM" = "QS"
;
value $_cstdomd
/* Map to ItemGroup/Alias[@Context='DomainDescription']/@Name attribute */
"QSCG" = "Questionnaires"
"QSCS" = "Questionnaires"
"QSMM" = "Questionnaires"
;
value $_cstcls
/* Maps from CRT-DDS values to required Define-XML v2 values */
"SPECIAL PURPOSE DOMAINS" = "SPECIAL PURPOSE"
"SPECIAL PURPOSE DATASETS" = "SPECIAL PURPOSE"
"FINDINGS ABOUT" = "FINDINGS"
"ADSL" = "SUBJECT LEVEL ANALYSIS DATASET"
"ADAE" = "ADAM OTHER"
"BDS" = "BASIC DATA STRUCTURE"
;
value $_cstvlm
/* For SDTM maps to variables that are being described by Value Level Metadata */
"EG.EGTESTCD" = "EGORRES"
"IE.IETESTCD" = "IEORRES"
"TI.IETESTCD" = "IECAT"
"LB.LBTESTCD" = "LBORRES"
"PE.PETESTCD" = "PEORRES"
"SC.SCTESTCD" = "SCORRES"
"VS.VSTESTCD" = "VSORRES"
"SUPPAE.QNAM" = "QVAL"
;
run;
Now, the metadata is converted.
%**********************************************************************************;
%* Define the studyversion macro variable.
*;
%* This will become the MetaDataVersion/@OID attribute
*;
%* In CRT-DDS this was the source_study.definedocumentname column
*;
%* Also define the SASRef macro variable to use for the SASRef column in the
*;
%* source_xxx data sets.
*;
%**********************************************************************************;
proc sql noprint;
select definedocumentname, SASRef into :studyversion, :SASRef
39
40 Chapter 4 / Tools to Migrate Source Metadata from CRT-DDS 1.0.0 to Define-XML 2.0.0
from crtdds.source_study;
quit;
%**********************************************************************************;
%* Migrate source tables
*;
%**********************************************************************************;
%cstutilmigratecrtdds2define(
_cstSrcLib=crtdds, _cstSrcDS=source_study, _cstTrgDS=defv2.source_study,
_cstStudyVersion=&studyversion, _cstStandard=&_cstTrgStandard), _cstCheckValues=Y;
%cstutilmigratecrtdds2define(_cstSrcLib=crtdds, _cstSrcDS=source_tables,
_cstTrgDS=defv2.source_tables, _cstStudyVersion=&studyversion,
_cstStandard=&_cstTrgStandard), _cstCheckValues=Y;
%cstutilmigratecrtdds2define(_cstSrcLib=crtdds, _cstSrcDS=source_columns,
_cstTrgDS=defv2.source_columns, _cstStudyVersion=&studyversion,
_cstStandard=&_cstTrgStandard), _cstCheckValues=Y;
%cstutilmigratecrtdds2define(_cstSrcLib=crtdds, _cstSrcDS=source_values,
_cstTrgDS=defv2.source_values, _cstStudyVersion=&studyversion,
_cstStandard=&_cstTrgStandard), _cstCheckValues=Y;
%cstutilmigratecrtdds2define(_cstSrcLib=crtdds, _cstSrcDS=source_documents,
_cstTrgDS=defv2.source_documents, _cstStudyVersion=&studyversion,
_cstStandard=&_cstTrgStandard, _cstCheckValues=Y
);
Now, the source_codelists table is created. This is a separate process because this
table was not in the CRT-DDS 1.0.0 source metadata.
%**********************************************************************************;
%* Create source_codelists
*;
%**********************************************************************************;
%* Get formats ;
%cstutilgetncimetadata(
_cstFormatCatalogs=,
_cstNCICTerms=ncisdtm.cterms,
_cstLang=en,
_cstStudyVersion=&studyversion,
_cstStandard=&_cstTrgStandard,
_cstStandardVersion=&_cstTrgStandardVersion,
_cstFmtDS=work._cstformats,
_cstSASRef=&SASRef,
_cstReturn=_cst_rc,
_cstReturnMsg=_cst_rcmsg
);
%* Create a data set with all applicable formats. ;
data work.cl_column_value(keep=xmlcodelist);
set defv2.source_columns defv2.source_values;
xmlcodelist=upcase(xmlcodelist);
Study Source Metadata Migration Driver Programs
41
if xmlcodelist ne '';
run;
proc sort data=work.cl_column_value nodupkey;
by xmlcodelist;
run;
%* Only keep applicable formats. ;
proc sql;
create table defv2.source_codelists
as select
nci.*
from
work._cstformats nci, work.cl_column_value cv
where (upcase(compress(nci.sasformatname, '$')) =
upcase(compress(cv.xmlcodelist, '$')))
;
quit;
Note: The _cstFormatCatalogs parameter is blank. This indicates that the format
catalogs that define the codelists to include in the source_codelists table are taken from
the value specified for the FMTSEARCH option.
Finally, the metadata for external controlled terminology is added to the
source_codelists data set.
%**********************************************************************************;
%* Updates for External Controlled Terminology
*;
%**********************************************************************************;
proc sql;
insert into defv2.source_codelists
(sasref, codelist, codelistname, codelistdatatype, dictionary, version,
studyversion, standard, standardversion)
values ("&SASRef", "CL.AEDICT", "Adverse Event Dictionary", "text", "MEDDRA", "8.0",
"&studyversion", "&_cstTrgStandard", "&_cstTrgStandardVersion")
values ("&SASRef", "CL.DRUGDCT", "Drug Dictionary", "text", "WHODRUG", "200204",
"&studyversion", "&_cstTrgStandard", "&_cstTrgStandardVersion")
;
quit;
data defv2.source_columns;
set defv2.source_columns;
if table="AE" and column in ("AEDECOD" "AEBODSYS") then xmlcodelist="CL.AEDICT";
if table="CM" and column in ("CMDECOD" "CMCLAS" "CMCLASCD")
then xmlcodelist="CL.DRUGDCT";
run;
42 Chapter 4 / Tools to Migrate Source Metadata from CRT-DDS 1.0.0 to Define-XML 2.0.0
For more information about the macros and their parameters, see the SAS Clinical
Standards Toolkit: Macro API Documentation.
43
5
Frequently Asked Questions
Installation Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Backup Copies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Overwrite Previous Versions of the SAS Clinical
Standards Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Install the SAS Clinical Standards Toolkit 1.7 in
Conjunction with a Previous Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Upgrade Prior Versions of the SAS Clinical Standards Toolkit . . . 45
Migration Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Order of Migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Standards Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Unused Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Library Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Delete Sample Study Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Maintain Metadata Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
cstGlobalLibrary Standards Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Update Customized Standard Metadata across
Global Standards Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Other Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Driver Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
44 Chapter 5 / Frequently Asked Questions
Installation Issues
Backup Copies
Is it necessary to back up my copy of a previous version of the SAS Clinical Standards
Toolkit before I install version 1.7? If I have customized my SAS Clinical Standards
Toolkit, what must I change in the configuration file?
If you have customized any of the three locations that the SAS Clinical Standards
Toolkit writes to during the installation process, you must back up the files. (For more
information about these locations, see Chapter 1, “Installation Locations,” on page 1.)
A new installation of SAS does not typically replace the old configuration file. If you have
concerns about modifications that you made to the configuration file, back up the file to
ensure that you can restore it.
Overwrite Previous Versions of the SAS
Clinical Standards Toolkit
Will an installation of the SAS Clinical Standards Toolkit 1.7 overwrite my previous
version?
Only partially. As described in the Chapter 1, “Installation Locations,” on page 1, the
SAS Clinical Standards Toolkit places files in three locations. Only files in the !sasroot
location can be overwritten.
For a full description of an installation process that requires you to install the global
standards library and sample study library to other locations, see the Chapter 2, “SAS
Deployment Wizard,” on page 5.
Install the SAS Clinical Standards Toolkit 1.7
in Conjunction with a Previous Version
Can I install the SAS Clinical Standards Toolkit 1.7 in conjunction with a previous
version?
Migration Process
45
Yes. For more information, see “Upgrade to SAS Clinical Standards Toolkit 1.7 By
Installing SAS 9.4 in Conjunction with SAS 9.3” on page 9.
Upgrade Prior Versions of the SAS Clinical
Standards Toolkit
I am running a previous version of the SAS Clinical Standards Toolkit. Do I need to
separately upgrade to each version to get up-to-date to version 1.7?
No. If you did not customize a previous version of the SAS Clinical Standards Toolkit,
and you do not require access to any functionality that has been deprecated (such as
framework autocall macros and older controlled terminology packages), you can use the
full functionality provided by the SAS Clinical Standards Toolkit 1.7.
Note: Deprecations are generally noted in the “What’s New” section of the SAS Clinical
Standards Toolkit: User's Guide for each version.
If you customized a previous version of the SAS Clinical Standards Toolkit, run the
migration tools to identify file differences that you might need to address.
Migration Process
Order of Migration
Is there a suggested order to migrate data? Is all or most of the work centered on the
SAS Clinical Standards Toolkit global standards library?
Yes, this is the suggested order to migrate data:
1 Migrate user customizations that affect the global standards library. New standards
or customized versions of standards are registered in the global standards library.
Copy these user customizations into the SAS Clinical Standards Toolkit global
standards library folder hierarchy and register them to the current version.
2 If recommended best practices were not followed, migrate user customizations to
the !sasroot autocall library.
46 Chapter 5 / Frequently Asked Questions
3 Migrate changes to the sample study library. These changes are least likely to be
impacted unless you have chosen to build a sample study for your customized
standards or you have modified the driver programs. A typical modification to a
driver program is to reference a new sample study root path location.
Standards Management
Unused Standards
Can I delete from the global standards library any unused standards that are supplied
with the SAS Clinical Standards Toolkit? If I delete the folders, does this affect any of my
metadata files in the framework?
Run the cst_unregisterstandard macro for each unwanted standard and
standardversion. This macro does not remove the associated folder hierarchies from the
global standards library and the sample study library. You can delete the folder
hierarchies later.
Some framework sample driver programs that support internal validation include
references to all standards and standard versions that are supplied by SAS. These
references typically appear in WHERE clauses. These WHERE clauses return fewer
records (standards or standard versions) to validate.
Library Issues
Delete Sample Study Library
Do I need the SAS Clinical Standards Toolkit cstSampleLibrary or can I delete it?
The sample study library provides sample study implementations (including metadata,
data, and code) to demonstrate the SAS Clinical Standards Toolkit functionality for
various standards that are supplied by SAS. Without the sample study implementations,
Library Issues 47
all sample processes and internal validation checks fail. Furthermore, product
documentation assumes its presence.
However, the sample study library is not necessary in a mature SAS Clinical Standards
Toolkit environment in which users have their own processes that point to their own
study data. The studylibraryrootpath column in the global standards library
directory/metadata/standards data set (if used) is probably set to some study
repository root path location outside the sample study library folder hierarchy.
Maintain Metadata Attributes
I have used the default global standards library for metadata attributes in all of my
studies. For example, I populated my source_* data sets with default information. What
must I do to maintain the changes to the source metadata that I have?
Most changes in the reference metadata representations of each CDISC standard
reflect updates made by CDISC. If you do not already have a process in place to
identify and review these changes with each CDISC standard version, you can compare
a previous version of the SAS Clinical Standards Toolkit and version 1.7 reference
metadata for each standard or standardversion of interest. After the changes are
identified and reviewed, update any source_* data sets to reflect the changes.
A suite of tools to identify differences in folder hierarchies and files is described in
Chapter 3, “Tools to Identify Differences between Versions,” on page 14.
cstGlobalLibrary Standards Folder
I notice in the cstGlobalLibrary standards folder that the SAS Clinical Standards Toolkit
version is appended to the folder. I have many changes to the SDTM 3.1.3 standard
folder in my previous version of the SAS Clinical Standards Toolkit. Can I continue to
use that folder and ignore the SDTM 3.1.3 standard folder in version 1.7 because I want
to preserve my changes?
Yes. Consider copying and registering the SDTM 3.1.3 standard folder in your previous
version of the SAS Clinical Standards Toolkit as a custom version of SDTM 3.1.3 in
version 1.7. No structural changes to metadata in the SAS Clinical Standards Toolkit
versions 1.5, 1.6, and 1.7 should interfere with this strategy.
48 Chapter 5 / Frequently Asked Questions
Update Customized Standard Metadata
across Global Standards Libraries
I work at a CRO. We have more than 30 global standards libraries that contain
customized standard metadata for customers. What is the easiest way for me to update
any information that is specific to the SAS Clinical Standards Toolkit 1.7 across these
global standards libraries? Is it a manual process? Are there any available tools that can
aid in this process?
It is not possible to provide definitive migration guidance without knowing what
metadata has been customized and whether these customizations are in the SAS
deployment locations for the SAS Clinical Standards Toolkit.
However, your migration process will be simpler if you have standardized your
customizations across global standards libraries and if your customizations have not
been made to the SAS deployment locations for the SAS Clinical Standards Toolkit.
Other Issues
Driver Programs
Will the driver programs that I created for my studies in a previous version of the SAS
Clinical Standards Toolkit run without any changes in version 1.7? If not, what do I need
to look for?
Although it is not possible to answer this question with confidence without knowing the
details of your driver program customizations, SAS expects most driver programs to
work in the most recent versions and the current version with no or minimal
modification.
These coding changes might be required, depending on your coding style and macro
use:
Other Issues 49
n
If you have hardcoded the SAS Clinical Standards Toolkit version or if you have
hardcoded the location of the sample study library, consider replacing the hardcoded
locations with code such as this:
%cstutil_setcstsroot;
data _null_;
call symput('studyRootPath',cats("&_cstSRoot",
"/cdisc-sdtm-&_cstStandardVersion-&_cstVersion/sascstdemodata"));
call symput('studyOutputPath',cats("&_cstSRoot",
"/cdisc-sdtm-&_cstStandardVersion-&_cstVersion/sascstdemodata"));
run;
n
If your driver program references deprecated macros or deprecated controlled
terminology packages, you must reference alternatives.
n
If your SASReferences file includes any paths that are no longer valid, correct the
paths.
50 Chapter 5 / Frequently Asked Questions
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement