A MethodDef defines how a data value can be obtained from a collection of other data values.
Element Name | MethodDef |
---|---|
Parent Elements | MetaDataVersion |
Element XPath(s) | /ODM/Study/MetaDataVersion/MethodDef |
Element Textual Value | None |
Attributes | OID, Name, Type, CommentOID |
Child Elements | (Description, MethodSignature, FormalExpression*, Alias*, DocumentRef*) 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 MethodDef. The Description and MethodSignature are the normative content of the MethodDef. If a FormalExpression is provided, it must contain a machine-readable expression that implements the Description and MethodSignature. 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. A FormalExpression can reference an external code library such that it can be retrieved for execution at run-time. If MethodDef execution order must be specified then use workflows for this purpose. |
Usage/Business Rules |
|
Attribute | Schema Datatype or Enumeration | Usage | Definition | Business Rules |
---|---|---|---|---|
OID | oid | Required | Unique identifer for the MethodDef element. | The OID attribute value must be unique within the Study/MetaDataVersion. |
Name | name | Required | Human readable name for the method. | The Name attribute must be unique within the set of MethodDef elements within a Study/MetadataVersion. |
Type | (Computation | Imputation | Transpose | Preload) | Optional | Computation: derivation involving one or more variables. Imputation: derivation based on other observations. Transpose: conversion of rows to columns or vice versa. Preload: retrieve and populate data from an external source. | Type="Preload" is the default value when a MethodDef is referenced from an ItemGroup. |
CommentOID | oidref | Optional | Reference to a CommentDef with information related to this MethodDef. | Must match the OID attribute of a CommentDef element within 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 MethodDef. The Description and MethodSignature are the normative content of the MethodDef.
If a FormalExpression is provided, it must contain a machine-readable expression that implements the Description and MethodSignature. 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. A FormalExpression can reference an external code library such that it can be retrieved for execution at run-time. If MethodDef execution order must be specified then use workflows for this purpose.
Example: BMI MethodDef Example
<!-- Value Level Metadata --> <ValueListDef OID="VL.VS.VSORRES"> <ItemRef ItemOID="IT.VS.VSORRES.DIABP" OrderNumber="1" Mandatory="Yes"> <Origin Type="Collected" Source="Investigator"> <DocumentRef leafID="LF.acrf"> <PDFPageRef PageRefs="11" Type="PhysicalRef"/> </DocumentRef> </Origin> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.DIABP"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSORRES.FRMSIZE" OrderNumber="2" Mandatory="No"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.FRMSIZE"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSORRES.HEIGHT" OrderNumber="3" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.HEIGHT"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSORRES.PULSE" OrderNumber="4" Mandatory="No"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.PULSE"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSORRES.SYSBP" OrderNumber="5" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.SYSBP"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSORRES.WEIGHT" OrderNumber="6" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.WEIGHT"/> </ItemRef> </ValueListDef> <ValueListDef OID="VL.VS.VSSTRESC"> <ItemRef ItemOID="IT.VS.VSSTRESC.DIABP" OrderNumber="1" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.DIABP"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSSTRESC.FRMSIZE" OrderNumber="2" Mandatory="No"> <Origin Type="Collected" Source="Investigator"> <DocumentRef leafID="LF.acrf"> <PDFPageRef PageRefs="11" Type="PhysicalRef"/> </DocumentRef> </Origin> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.FRMSIZE"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSSTRESC.HEIGHT" OrderNumber="3" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.BMI"/> </ItemRef> </ValueListDef> <ValueListDef OID="VL.VS.VSSTRESN"> <ItemRef ItemOID="IT.VS.VSSTRESN.DIABP" OrderNumber="1" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.DIABP"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSSTRESN.HEIGHT" OrderNumber="3" Mandatory="Yes"> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.HEIGHT"/> </ItemRef> <ItemRef ItemOID="IT.VS.VSSTRESN.BMI" OrderNumber="7" Mandatory="Yes" MethodOID="MT.BMISN"> <Origin Type="Derived" Source="Sponsor"> <Description> <TranslatedText xml:lang="en" type="text/plain">EDC System</TranslatedText> </Description> <DocumentRef leafID="LF.acrf"> <PDFPageRef PageRefs="11" Type="PhysicalRef"/> </DocumentRef> </Origin> <WhereClauseRef WhereClauseOID="WC.VS.VSTESTCD.BMI"/> </ItemRef> </ValueListDef> <!-- Dataset Definition (VS) --> <ItemGroupDef OID="IG.VS" Domain="VS" Name="VS" Type="Dataset" Repeating="Simple" IsReferenceData="No" Structure="One record per vital sign measurement per visit per subject" Purpose="Tabulation" ArchiveLocationID="LF.VS"> <Description> <TranslatedText xml:lang="en" Type="text/plain">Vital Signs</TranslatedText> </Description> <Class Name="FINDINGS"/> <ItemRef ItemOID="IT.STUDYID" Mandatory="Yes" OrderNumber="1" KeySequence="1"/> <ItemRef ItemOID="IT.VS.DOMAIN" Mandatory="Yes" OrderNumber="2"/> <ItemRef ItemOID="IT.USUBJID" Mandatory="Yes" OrderNumber="3" KeySequence="2" MethodOID="MT.USUBJID"/> <ItemRef ItemOID="IT.VS.VSORRES" Mandatory="No" OrderNumber="8"> <Origin Type="Collected" Source="Investigator"> <DocumentRef leafID="LF.acrf"> <PDFPageRef PageRefs="11" Type="PhysicalRef"/> </DocumentRef> </Origin> </ItemRef> <ItemRef ItemOID="IT.VS.VSORRESU" Mandatory="No" OrderNumber="9"> <Origin Type="Collected" Source="Investigator"> <DocumentRef leafID="LF.acrf"> <PDFPageRef PageRefs="11" Type="PhysicalRef"/> </DocumentRef> </Origin> </ItemRef> <ItemRef ItemOID="IT.VS.VSSTRESC" Mandatory="Yes" OrderNumber="10" MethodOID="MT.VSSTRESC"/> <ItemRef ItemOID="IT.VS.VSSTRESN" Mandatory="No" OrderNumber="11" MethodOID="MT.VSSTRESN"/> <ItemRef ItemOID="IT.VS.VSSTRESU" Mandatory="No" OrderNumber="12"/> <Alias Context="SAS" Name="VS"/> <Leaf ID="LF.VS" xlink:href="vs.xpt"> <Title>vs.xpt</Title> </Leaf> </ItemGroupDef> <ItemDef OID="IT.VS.VSORRES" Name="VSORRES" DataType="text" Length="30"> <Description> <TranslatedText xml:lang="en" Type="text/plain">Result or Finding in Original Units</TranslatedText> </Description> <ValueListRef ValueListOID="VL.VS.VSORRES"/> <Alias Context="SAS" Name="VSORRES"/> </ItemDef> <ItemDef OID="IT.VS.VSORRESU" Name="VSORRESU" DataType="text" Length="20"> <Description> <TranslatedText xml:lang="en" Type="text/plain">Original Units</TranslatedText> </Description> <ValueListRef ValueListOID="VL.VS.VSORRESU"/> <Alias Context="SAS" Name="VSORRESU"/> </ItemDef> <ItemDef OID="IT.VS.VSORRES.DIABP" Name="VSORRES1" DataType="integer" Length="2"> <Description> <TranslatedText xml:lang="en" Type="text/plain">Diastolic Blood Pressure in Orig U</TranslatedText> </Description> <Alias Context="SAS" Name="DIABPOR"/> </ItemDef> <ItemDef OID="IT.VS.VSORRES.FRMSIZE" Name="VSORRES2" DataType="text" Length="6"> <Description> <TranslatedText xml:lang="en" Type="text/plain">Body Frame Size - Orig</TranslatedText> </Description> <CodeListRef CodeListOID="CL.SIZE"/> <Alias Context="SAS" Name="FRMSZOR"/> </ItemDef> <ItemDef OID="IT.VS.VSSTRESN.BMI" Name="VSSTRESN6" DataType="float" Length="6" DisplayFormat="6.2"> <Description> <TranslatedText xml:lang="en" Type="text/plain">BMI Num in Std U</TranslatedText> </Description> <Alias Context="SAS" Name="BMISN"/> </ItemDef> <MethodDef OID="MT.BMISC" Name="Algorithm to derive BMISC" Type="Computation"> <Description> <TranslatedText xml:lang="en" Type="text/plain">character value of VSSTRESN</TranslatedText> </Description> <FormalExpression Context=">=SAS 9.0"> <Code>putc(bmi_numeric_value,best.)</Code> </FormalExpression> <FormalExpression Context="R"> <Code>toString(bmi_numeric_value, witdth=NULL)</Code> </FormalExpression> </MethodDef> <MethodDef OID="MT.BMISN" Name="Algorithm to derive BMISN" Type="Computation"> <Description> <TranslatedText xml:lang="en" Type="text/plain">round((VSSTRESN for weight/ (VSSTRESN for height / 100)^2), .01). Note: height and weight at the closest visit collected.</TranslatedText> </Description> <FormalExpression Context="SAS 9.0+"> <Code>%bmisn_versionx(weight=retrieved_weight_closest_visit,height=retrieved_height_closest_visit)</Code> </FormalExpression> <FormalExpression Context="SAS 9.0+"> <Code>%bmisn_versiony(weight=retrieved_weight_closest_visit,height=retrieved_height_closest_visit)</Code> </FormalExpression> </MethodDef> <Leaf ID="LF.acrf" xlink:href="acrf.pdf"> <Title>Annotated CRF</Title> </Leaf>