If the task to perform
the primary SAS Clinical Standards Toolkit action begins (that is,
the standard-specific validation macro, such as %sdtm_validate or
%crtdds_validate, is found and begins processing), then setup has
completed successfully. The remaining process failures are likely
because of problems with the various validation components.
Most errors that halt
a validation process are reported in the Results data set. As a general
rule, these Results data set fields signal process failures and provide
information about the cause of the failure:
-
the Process status field (_cst_rc),
when the value is set to a nonzero value
-
the Problem detected field (resultflag),
when the value is set to -1
-
the Source Data field (srcdata)
identifies the macro reporting the problem
-
the Resolved Message text field
(message) provides a problem cause
-
the Basis for Result field (resultdetails)
can provide additional information pertinent to the problem
Depending on the severity
of the problem and when it occurs, the Results data set might not
be saved to the persisted location if that location was requested
using a type=results record in the SASReferences data set. In this
case, the Results data set defined with the &_cstResultsDS global
macro variable might be referenced for the previous information. By
default, &_cstResultsDS is set to work._cstresults.
Generally, the SAS Clinical
Standards Toolkit does not halt the validation process when an error
is detected in a specific check. The error is noted in the Results
data set, the resultflag value for that check is set to -1, _cst_rc
is set to 0, and processing continues with the next check. A validation
process is most likely to be halted (by setting _cst_rc to 1) when
there is a significant metadata error that suggests subsequent checks
would likely fail to run.
This table lists some
common causes for premature process failure or the failure of specific
checks to run.
Debugging Validation Process Errors
|
Resultid in Results
Data Set
|
Possible Cause or Corrective
Action
|
No tables evaluated-check
validation control data set.
|
|
No tables interpreted
from the tablescope value could be found in the work._csttablemetadata
data set.
|
<Data set> could
not be found
|
|
This error usually indicates
that a specific source column or data set could not be found. The
code loops through a set of domains or columns built from the source
metadata data sets. This error might result when the source metadata
does not accurately reflect the source data.
|
No columns evaluated-check
Validation Control specification.
|
|
No columns interpreted
from the columnscope value could be found in the work._cstcolumnmetadata
data set.
The SAS Clinical Standards
Toolkit looks at the union of both tablescope and columnscope to build
work._cstcolumnmetadata. The specified column might exist in a domain,
but not in any column specified in a tablescope domain.
|
Lookup to SASreferences
control data set failed.
|
|
The SAS Clinical Standards
Toolkit code has a call to the cstutil_getsasreference utility macro
for a type or type and subtype combination that cannot be found in
the SASReferences data set. This indicates that SASReferences has
been incompletely defined for the SAS Clinical Standards Toolkit validation
process.
|
Validation control parsing
of tablescope/column results in inconsistent sublist lengths.
|
|
This check involves
a comparison of tables or columns, as indicated by multiple sets of
brackets in tablescope or columnscope. Each set of brackets constitutes
a sublist. However, the number of items in the specified sublist is
inconsistent or unexpected by the check macro. Options typically include
a more accurate specification of sublist items, either using explicit
table or column names or more restrictive tablescope syntax (that
is, removing the domain causing the inconsistency using minus sign
(-) syntax, such as _ALL_-DM).
|
One or more check metadata
column values is invalid.
|
|
A value in the Validation
Control data set for the check being run is invalid in the context
of the specific check macro. Examples include conditions that are
required by the check macro but are not found, such as no code logic
found, an unexpected usesourcemetadata value, or no lookuptype or
lookupsource for valid value assessments.
|
Code failed due to SAS
error-see log.
|
|
A SAS DATA step or SAS
procedure failed and the cause is reported in the SAS log. This most
commonly occurs because of missing data sets, missing columns, incorrectly
sorted data sets, and unexpected macro variable values.
|
<Message lookup failed
to find matching record>
|
|
The check macro code
generates a resultid value that does not find a match in the Messages
data set. Either the wrong resultid has been specified, or the standard-specific
Messages data set has not been updated to include the resultid.
|