...
Much of the CDISC ODM defines a schema for structuring data, and this is of course the foundation for ClinSpark’s data and object model. In addition to this static data structure guidance, the 1.3.0 CDISC ODM specification also defines a number of optional elements which support specifying dynamic behaviors for the model. This addition supports powerful use cases beyond what is possible with purely static data structure definitions. The ODM specification and it identifies 3 types that may be supported:
Name | Description | Supported by ClinSpark? | Where Defined in CDISC ODM Spec |
---|---|---|---|
MethodDef | A MethodDef describes how a data value can be obtained from a collection of other data values. This allows calculated or derived values to be dynamically generated during data capture. | Yes | Section 3.1.1.3.9 |
RangeCheck | A RangeCheck defines a constraint on the value of the enclosing item. It may defined as an explicit 1 or 2 sided range or as an expression that evaluates to True when the ItemData value is valid or False when the ItemData value is invalid. | Yes. We call them “Edit Checks” | Section 3.1.1.3.6.4 |
ConditionDef | Indicates that the referenced element may be omitted if the Condition evaluates to true. | No | Section 3.1.1.3.11 |
The ODM specification does not define how to implement these behaviors. It defines data fields called Formal Expressions to hold computer code and specifies inputs and outputs. But it does not require or even suggest an implementation model. It is up to the implementation to define how this Formal Expression instruction gets executed to perform the desired operation.
...
Methods are top-level CRF Design elements which can be attached to zero to many items, and the value returned by a Method is set as the value of the attached ItemData. Edit Checks are essentially validation scripts, and the return value can determine whether an ItemData can be Complete or nonconformant. Both Methods and Edit Checks execute once each time data is collected.
Type | Reusable within a study? | Outcome | Return Type | In CDISC |
---|---|---|---|---|
Method | Yes. Can be attached to multiple Items | Sets the value of the attached ItemData | Return type MUST match the datatype of the attached item. | MethodDef |
Edit Check | No. Must be copy/pasted each time onto the appropriate Item | Decides whether an Item is conformant | Boolean. True = valid value, False = invalid. | RangeCheck |
Formal Expressions are Javascript
...