Validating a SASReferences Data Set

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
Error Flag
Error Condition
Details
CHK01
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.
CHK02
An unknown standard or standardversion exists.
The standard and standardversion must be registered in the <global standards library directory>/metadata/standards data set.
CHK03
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.
CHK04
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.
CHK05
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.
CHK06
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.
CHK07
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.
CHK08
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.