DF_ICschema

DF_ICschema — Check database schema for common errors and inconsistencies

Synopsis

DF_ICschema {study} [-P #, #-#] [-a] [-e] [-w] [-SAS #]

Description

DF_ICschema checks the database schema for common errors and inconsistencies, reporting both errors (schema definitions that will definitely lead to problems) and warnings (schema definitions that may lead to problems).

DF_ICschema should be used as a companion to DFsetup during study schema development. While DFsetup attempts to identify errors as they are made, it cannot catch everything; thus it is important to run DF_ICschema after the setup is complete. It may also be useful to run DF_ICschema periodically during a study setup, for example after setup has been completed for each plate. Ideally, DF_ICschema should report no errors or warnings before the study is started, and thereafter.

All schema definitions that fail DF_ICschema checks are listed in the report output. Each failed check is categorized as either Error or Warning. An Error categorization indicates a definition that will definitely lead to problems. A Warning categorization indicates a definition that may or may not lead to problems, and hence should be investigated further.

Errors

DF_ICschema currently detects the following Error conditions:

  • Key fields that have not been defined as essential fields,
  • Key field formats that contain non-numeric values (i.e. any character other than ns or fixed digits 0-9),
  • Key fields that do not use a numeric field type (number, choice or check),
  • Key fields defined as type choice or check, in which the codes are not unique and legal,
  • Key field formats that are longer than 5 characters for visit/sequence numbers and 15 characters for subject ID fields
  • Key field store lengths that are not between 1-5 for visit/sequence numbers and 1-15 for subject ID fields,
  • Malformed or illegal range specifications,
  • If legal values are specified for key field definitions, they must be between 0-65535 for visit/sequence fields and 0-281474976710655 for subject ID fields,
  • The $(ids) meta-word can be used to indicate that the legal values come from the sites database. This meta-word can only be used to define legal values for the ID field, and can not be combined with any other legal range specification.
  • Fields that define a store or display length of 0,
  • Choice codes that are repeated within a field definition,
  • Failure to define a code for no box checked, in check and choice fields,
  • Variable descriptions that are missing or not unique within a plate,
  • Total of all store values on a plate that is greater than 16384 characters, the maximum allowed for a single data record. This assumes that all of the data is ASCII characters. If the data contains UNICODE characters, the limit is reduced to 4096.

Warnings

DF_ICschema currently checks for the following Warning conditions:

  • Inconsistent definition of ID fields across plates, i.e. differences in store length, format and/or legal range.
  • Fields that define a display length greater than the store length,
  • Field names that are not also valid SAS® variable names
  • Variable names that exceed 8 characters in length if SAS® version 6 has been specified,
  • Fields that define a format length less than the store length
  • Variable descriptions that are longer than 40 characters, if 40 character descriptions are enabled in DFsetup preferences; otherwise, descriptions that are longer than 25 characters.

Options

-P #, #-#

Select plates to be checked (default=all).

-a

Check field alias (instead of name) for SAS® compatibility

-e

Report errors.

-w

Report warnings.

-SAS #

Select the version of SAS® to be used in applying variable naming rules. The default is SAS® version 7.