Model Documentation
The abstract WhereClauseCompoundExpression class provides a template for classes that are used to define compound expressions in the compoundExpression attribute of the WhereClause class (and any other data selection classes). There are 3 specializations of the WhereClauseCompoundExpression class:
- The CompoundSetExpression specialization is used to define compound expressions in the AnalysisSet class, as shown in the AnalysisSet section.
- The CompoundSubsetExpression specialization is used to define compound expressions in the DataSubset class, as shown in the DataSubset section.
- The CompoundGroupExpression specialization class is used to define compound expressions in the Group class, as shown in the GroupingFactor section.
In each instance of a WhereClauseCompoundExpression class:
- The logicalOperator attribute contains a value from the ExpressionLogicalOperatorEnum enumeration:
- "AND" or "OR" are used in compound expressions that combine 2 or more subclauses, each of which may be a simple condition, another compound expression, or a reference to an instance of an identified WhereClause class (see below).
- "NOT" is used in compound expressions that negate another (single) subclause. The subclause will be either another compound expression or a reference to an identified WhereClause class (see below). Note that a compound expression should generally not be created to negate a single simple condition; another simple condition using the inverse comparator should be created instead (i.e., using "NE" vs. "EQ", "LT" vs. "GE", "GT" vs. "LE", or "NOTIN" vs. "IN").
- The whereClauses attribute contains either the 2 or more subclauses being combined by the compound expression, or the single subclause being negated. Each subclause contains the level and order attributes (to position the subclause relative to other subclauses) and 1 of the following attributes:
- condition, from an instance of the WhereClause class defining the subclause as a simple condition,
- compoundExpression, from an instance of the WhereClause class defining the subclause as another compound expression,
- subClauseId, from an instance of one of the specializations of the ReferencedWhereClause class (see below) and containing the identifier value of a referenced instance of an identified WhereClause class.
The abstract ReferencedWhereClause class provides a template for the 3 classes that are each used to reference instances of 1 of the identified WhereClause classes:
- The ReferencedAnalysisSet class is used in whereClauses attribute of the CompoundSetExpression class to reference an instance of the AnalysisSet class.
- The ReferencedDataSubset class is used in whereClauses attribute of the CompoundSubsetExpression class to reference an instance of the DataSubset class.
- The ReferencedGroup class is used in whereClauses attribute of the CompoundGroupExpression class to reference an instance of the Group class.
Each instance of a ReferencedWhereClause class contains the level and order attributes, and the subClauseId attribute which holds the identifier value for the referenced instance of the identified WhereClause class.
Example
Example
Example
Note that the ARS Model is designed to support the specification of analyses of data in ADaM datasets, which are expected to be "analysis-ready." In analysis-ready datasets, any complex criteria needed to define either subject populations or the grouping of data for analysis will usually have been applied to create flagging or grouping variables. These flagging and grouping variables can usually then be referenced in the specification of simple conditions, so compound expressions should generally not be required for the definition of subject populations (using the AnalysisSet class) or groups within grouping factors (using either the AnalysisGroup or DataGroup specialization of the Group class).