Validation Checks

validation_master Data Set

A total of 137 validation checks are provided in support of internal validation for the SAS Clinical Standards Toolkit. These can be found in global standards library directory/standards/cst-framework-1.7/validation/control/validation_master.sas7bdat.
The validation_master data set column checktype is used to specify the primary focus of each check. The following table shows the distribution of records by checktype:
Distribution of Internal Validation Checks by Checktype
Focus
Checktype
Total Number of Checks (Unique)
Global standards library metadata
GLMETA
64 (62)
Standard-specific metadata in global standards library and sample library
STDIQOQ
73 (30)
Standard-specific content
STD
23(8)
The 137 validation checks use 11 of the SAS Clinical Standards Toolkit framework check macros. The following table shows the distribution of these checks by check macro:
Distribution of Internal Validation Checks by Check Macro
Check Macro
Number of Records
%CSTCHECK_COLUMN
38
%CSTCHECK_COLUMNCOMPARE
50
%CSTCHECK_COMPAREDOMAINS
8
%CSTCHECK_DSMISMATCH
7
%CSTCHECK_NOTCONSISTENT
5
%CSTCHECK_NOTINCODELIST
2
%CSTCHECK_NOTUNIQUE
2
%CSTCHECK_RECMISMATCH
4
%CSTCHECK_RECNOTFOUND
11
%CSTCHECK_ZEROOBS
3
%CSTCHECKENTITYNOTFOUND
7
A review of the validation_master tablescope and columnscope values shows a reference to the dynamically derived table and column metadata that is shown in Sample of Dynamically Derived work.reference_tables** and Sample of Dynamically Derived work.reference_columns**.
Note: work.source_tables is a copy of the derived work.reference_tables. work.source_columns is a copy of the derived work.reference_columns.
For internal validation, using the SAS libref is usually required in the validation_master tablescope value. Each SAS libref is associated with a specific SAS library through the SASReferences record that identifies the library (or specific SAS file) as an input to the process.
As with all validation check data sets in the SAS Clinical Standards Toolkit, you can add your own checks or modify existing checks to meet your validation requirements.

validation_control SAS Views

As with any SAS Clinical Standards Toolkit validation process, a key step is the specification of a validation_control data set, which is the definition of a subset of defined validation checks that are the focus of that specific validation process. For internal validation, multiple SAS views have been defined against the superset of internal validation checks that are provided with the SAS Clinical Standards Toolkit.
These SAS views have been created with the code shown in SAS Code to Build Internal Validation Views, where SAS librefs have been defined based on the SASReferences data set references as follows:
libname refcntl 'c:/cstGlobalLibrary/standards/cst-framework-1.7/validation/
                    control';
libname cstcntl 'c:/cstSampleLibrary/cst-framework-1.7/control';
(The SAS Clinical Standards Toolkit global standards library and sample study library have been set to the path that is indicated.)
Note: The SASReferences filetype column should be set to “view”.
SAS Code to Build Internal Validation Views
proc sql;
  create view cstcntl.validation_control_glmeta
    as select *
    from cstrcntl.validation_master as a
    where upcase(a.checktype)="GLMETA";

  create view cstcntl.validation_control_std
    as select *
    from cstrcntl.validation_master as a
    where upcase(a.checktype) in ("STD","STDIQOQ");

  create view cstcntl.validation_control_stdiqoq
    as select *
    from cstrcntl.validation_master as a
    where upcase(a.checktype) in ("STDIQOQ");
quit;
The location of the views can vary based on where your global standards library and sample study library are located.

Example Internal Validation Check: CSTV026

Validation check CSTV026 reports the following condition:
Root path does not exist for standard as defined in metadata standards data set
This check reports each instance where the Standards data set column rootpath cannot be found. This value is important to support the use of relative paths, which are indicated by a non-null value in the SASReferences relpathprefix column.
The following display shows a portion of the check metadata for this check:
Internal Validation Check CSTV026 Metadata from validation_master
Internal Validation Check CSTV026 Metadata from validation_master
Each of the column values shown in Internal Validation Check CSTV026 Metadata from validation_master is explained in the following table:
Column Descriptions for Internal Validation Check CSTV026**
Column
Value
Description
checkid
CSTV026
Specifies the check identifier used to return the correct message from the CST-FRAMEWORK messages data set.
checkseverity
Error
Specifies that the condition is deemed to be serious, which warrants an Error condition.
checktype
GLMETA
Indicates that this check targets the global standards library metadata folder contents. This check is included in the validation_control_glmeta SAS view.
codesource
cstcheck_columncompare
Indicates the check macro to use for processing. All check macros can be found in the primary SAS Clinical Standards Toolkit autocall library.
usesourcemetadata
N
Specifies that the check macro should use work.reference_tables and work.reference_columns to find the tablescope and columnscope values.
tablescope
glmeta.standards
Indicates the specific data set of interest. The SAS libref has been defined in the SASReferences data set (row 10 in Sample of Dynamically Derived work.reference_tables**) and is included in work.reference_tables.
columnscope
[rootpath][standard]
Specifies the two columns of primary interest in glmeta.standards. The syntax matches what is expected by the %CSTCHECK_COLUMNCOMPARE check macro.
codelogic
%cstcheckutilcheckfolder;
Uses a new check utility macro included in Autocall Macros That Support Internal Validation.
Note: **Not all check metadata columns are described.