A ConditionDef defines a boolean condition.
Element Name | ConditionDef |
---|---|
Parent Elements | MetaDataVersion |
Element XPath(s) | /ODM/Study/MetaDataVersion/ConditionDef |
Element Textual Value | None |
Attributes | OID, Name, CommentOID |
Child Elements | (Description, MethodSignature, FormalExpression*, Alias*)
|
Usage/Business Rules |
|
Attribute | Schema Datatype or Enumeration | Usage | Definition | Business Rules |
---|---|---|---|---|
OID | oid | Required | Unique identifier. | Must be unique within the Study/MetaDataVersion. |
Name | name | Required | Human-readable name for the Condition. | Must be unique with the set of ConditionDef elements in the Study. |
CommentOID | oidref | Optional | Reference to a CommentDef element. | Must match the OID attribute for a CommentDef element in this Study/MetaDataVersion. |
The Description element must be provided and should include a prose description. The MethodSignature element must also be provided and identifies the input parameter and return values for the ConditionDef. The MethodSignature ReturnValue for ConditionDef must always equal boolean. The Description and MethodSignature are the normative content of the ConditionDef. The ConditionDef is referenced by the CollectionExceptionConditionOID attribute within a study metadata component which may be omitted under circumstances defined by the condition, i.e., when the FormalExpression evaluates to True.
If a FormalExpression is provided, it must contain a machine-readable expression that will evaluate to True or False. Multiple FormalExpressions can be provided if each has a different Context attribute, allowing the same expression to be represented in forms appropriate to multiple systems.
If an application cannot interpret any of the FormalExpressions or does not normally support conditional data collection, data for the referencing study metadata component should be collected as though no Condition is specified.
In cases where a MethodSignature element exists without an associated FormalExpression, the MethodSignature supports improved traceability. It also serves the case where one role defines the MethodDef or ConditionDef, but another role provides the executable FormalExpression.
Example: ConditionDef Example
<ItemGroupDef OID="INCLUSION" Name="Inclusion Criteria" Repeating="No" Type="Section"> <ItemRef ItemOID="ID.GENDER" Mandatory="Yes"> <Origin Type="Collected" Source="Sponsor"></Origin> </ItemRef> <ItemRef ItemOID="ID.ISPREG" Mandatory="Yes" CollectionExceptionConditionOID="CECID.ISMALE"/> <Origin Type="Collected" Source="Sponsor"> <SourceItems> <SourceItem> <Resource Type="ODM" Name="ItemDef" Label="Gender"> <Selection Path="../../ItemDef[@OID='ID.GENDER']/@Value"></Selection> </Resource> </SourceItem> </SourceItems> </Origin> </ItemGroupDef> ... <ConditionDef OID="CECID.ISMALE" Name="Subject's gender is Male"> <Description> <TranslatedText xml:lang="en" Type="text/plain">Do not collect data for Male subjects</TranslatedText> </Description> <MethodSignature> <Parameter Name="Gender" DataType="text"/> <ReturnValue Name="IsMale" DataType="boolean"/> </MethodSignature> <FormalExpression Context="PL/SQL"> <Code>IsMale = (Gender := 'Male')</Code> </FormalExpression> </ConditionDef>