A key internal validation design goal is to verify the
content of each SASReferences data set. Each SAS Clinical Standards
Toolkit process requires the use of a SASReferences data set. The
SASReferences data set identifies all of the inputs that are required
and the outputs that are created by the process. Each process might
have its own unique SASReferences data set.
For a
description of the content and usage of SASReferences data sets, see SASReferences File.
In most driver modules
that are provided by SAS, a call to the cstutil_processsetup macro
initiates a series of steps to establish the environment to perform
a subsequent task, such as validating a study or building a define.xml
file. SAS file and library references are allocated. Updates to the
SAS autocall and format search paths are completed. These steps are
completed based solely on the content of a SASReferences data set.
With the SAS Clinical
Standards Toolkit 1.5, the SASReferences data set is automatically
validated through a series of calls to the cstutilvalidatesasreferences
macro. These calls to cstutilvalidatesasreferences are made within
macros called in the cstutil_processsetup macro workflow. The following
error conditions are reported by default:
SASReferences Data Set Error Conditions Reported by the cstutilvalidatesasreferences
Macro
|
|
|
|
The data set is structurally
incorrect.
|
A structural comparison
with the template that is provided by SAS is performed using %cstutilcomparestructure.
Minor differences involving labels, informats, and formats are generally
ignored.
|
|
An unknown standard
or standardversion exists.
|
The standard and standardversion
must be registered in the <global standards
library directory>/metadata/standards data
set.
|
|
A referenced input or
output file or folder cannot be accessed.
|
If filetype=“input”
or “both”, the file or folder must exist. If filetype=“output”,
Write access to the output folder must be enabled.
|
|
A required look-through
to the global standards library defaults fails.
|
You might elect to leave
the path or memname blank in your SASReferences data set, which indicates
that you want to use the defaults as specified in the standard-specific
StandardSASReferences data set. If the path or memname remains blank
(unresolved) after the final call to cstutilvalidatesasreferences
in cstutil_allocatesasreferences, this error is reported.
|
|
One or more discrete
character field values cannot be found in the Standardlookup data
set.
|
Columns with discrete
values (reftype, type+subtype combinations, iotype, filetype, allowoverwrite)
must have values as defined in the standard-specific Standardlookup
data set.
|
|
For the given context,
path or memname macro variables are not resolved.
|
If macro variables are
used as part of the path or memname value, they must resolve to an
accessible folder or file.
|
|
Multiple fmtsearch records
exist, but valid ordering is not provided.
|
To properly set the
format search path, an unambiguous ordering of multiple type=fmtsearch
records must be provided.
|
|
Multiple autocall records
exist, but valid ordering is not provided.
|
To properly set the
autocall path, an unambiguous ordering of multiple type=autocall records
must be provided.
|
The occurrence of any
of these errors causes the process to terminate. The rationale is
that if the process setup is incomplete, and the SAS Clinical Standards
Toolkit cannot recognize a SASReferences column value or find a specified
file, the process output might be unreliable. Correct problems reported
in the process results data set (as typically defined by the _cstResultsDS
global macro variable) and resubmit the process.