﻿<?xml version="1.0" encoding="UTF-8"?>

<!-- SAMP-101 (Samplestra) Example ODM File.


     Copyright eClinicalOpinion
     www.eclinicalopinion.blogger.com

     v1.2
        - Updated to change encoding to UTF-8 and to remove schema location
          references per suggestion of Jozef Aerts XML4Pharma.

     v1.1
        - Updated after comments from Jozef Aerts regarding required ordering
          of elements in the ODM file (caused by definition of schema)

     v1.0
        - First version.

 -->
<ODM xmlns="http://www.cdisc.org/ns/odm/v1.3"
     xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xml="http://www.w3.org/XML/1998/namespace"
     ODMVersion="1.3" FileOID="000-00-0000" FileType="Snapshot" CreationDateTime="2009-02-20T06:56:00">
  <Study OID="ST.001">
    <GlobalVariables>
      <StudyName>SAMP-101</StudyName>
      <StudyDescription>A sample study to determine the usefulness of the CDISC ODM 1.3 Snapshot MetaData Standard</StudyDescription>
      <ProtocolName>SAMPLESTRA (SAMP-101)</ProtocolName>
    </GlobalVariables>
    <BasicDefinitions>
      <MeasurementUnit Name="Centimeters" OID="MU.CM">
        <Symbol>
          <TranslatedText xml:lang="en">
              cm
            </TranslatedText>
        </Symbol>
      </MeasurementUnit>
      <MeasurementUnit Name="Kilograms" OID="MU.KG">
        <Symbol>
          <TranslatedText xml:lang="en">
              kg
            </TranslatedText>
        </Symbol>
      </MeasurementUnit>
      <MeasurementUnit Name="Beats/Minute" OID="MU.BPM">
        <Symbol>
          <TranslatedText xml:lang="en">
              bpm
            </TranslatedText>
        </Symbol>
      </MeasurementUnit>
      <MeasurementUnit Name="Degrees C" OID="MU.DEG_C">
        <Symbol>
          <TranslatedText xml:lang="en">
                °C
            </TranslatedText>
        </Symbol>
      </MeasurementUnit>
      <MeasurementUnit Name="Millimeters of Mercury" OID="MU.MMHG">
        <Symbol>
          <TranslatedText xml:lang="en">
                mmHG
            </TranslatedText>
        </Symbol>
      </MeasurementUnit>
    </BasicDefinitions>
    <MetaDataVersion OID="MD.001" Name="Study Version 1">
      <Protocol>
        <StudyEventRef OrderNumber="1" StudyEventOID="SE.INIT" Mandatory="Yes"/>
        <StudyEventRef OrderNumber="2" StudyEventOID="SE.VISIT2" Mandatory="Yes" CollectionExceptionConditionOID="CD.NOT_CONT_LAST_VISIT"/>
        <StudyEventRef OrderNumber="3" StudyEventOID="SE.VISIT3" Mandatory="Yes" CollectionExceptionConditionOID="CD.NOT_CONT_LAST_VISIT"/>
        <StudyEventRef OrderNumber="4" StudyEventOID="SE.CM" Mandatory="Yes"/>
        <StudyEventRef OrderNumber="5" StudyEventOID="SE.AE" Mandatory="Yes"/>
      </Protocol>
      <StudyEventDef OID="SE.INIT" Name="Initiation" Repeating="No" Type="Scheduled" Category="Screening">
        <FormRef OrderNumber="1" FormOID="FD.VISITINFO" Mandatory="Yes"/>
        <FormRef OrderNumber="2" FormOID="FD.DEMOG" Mandatory="Yes"/>
        <FormRef OrderNumber="3" FormOID="FD.PREG" Mandatory="Yes" CollectionExceptionConditionOID="CD.IS_NOT_FERTILE_FEMALE"/>
        <FormRef OrderNumber="4" FormOID="FD.VITALS" Mandatory="Yes"/>
      </StudyEventDef>
      <StudyEventDef OID="SE.VISIT2" Name="Visit 2" Repeating="No" Type="Scheduled" Category="Treatment">
        <FormRef OrderNumber="1" FormOID="FD.VISITINFO" Mandatory="Yes"/>
        <FormRef OrderNumber="2" FormOID="FD.VITALS" Mandatory="Yes"/>
      </StudyEventDef>
      <StudyEventDef OID="SE.VISIT3" Name="Visit 3" Repeating="No" Type="Scheduled" Category="Treatment">
        <FormRef OrderNumber="1" FormOID="FD.VISITINFO" Mandatory="Yes"/>
        <FormRef OrderNumber="2" FormOID="FD.VITALS" Mandatory="Yes"/>
      </StudyEventDef>
      <StudyEventDef OID="SE.CM" Name="Concomitant Medications" Repeating="No" Type="Common" Category="Treatment">
        <Description>
          <TranslatedText xml:lang="en">All Concomitant Medications are collected in this event.</TranslatedText>
        </Description>
        <FormRef OrderNumber="1" FormOID="FD.CM" Mandatory="Yes"/>
      </StudyEventDef>
      <StudyEventDef OID="SE.AE" Name="Adverse Events" Repeating="No" Type="Common" Category="Treatment">
        <Description>
          <TranslatedText xml:lang="en">All Adverse Reactions are collected in this event.</TranslatedText>
        </Description>
        <FormRef OrderNumber="1" FormOID="FD.AE" Mandatory="Yes"/>
      </StudyEventDef>
      <!--

         Visit Info Form

      -->
      <FormDef OID="FD.VISITINFO" Name="Visit Information" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">The Visit Info form.</TranslatedText>
        </Description>
        <ItemGroupRef ItemGroupOID="IG.VISITINFO" Mandatory="Yes"/>
      </FormDef>
      <FormDef OID="FD.CM" Name="Concomitant Medications" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">
             Concomitant Medications Form
          </TranslatedText>
        </Description>
        <ItemGroupRef OrderNumber="1" ItemGroupOID="IG.ANYCONMED" Mandatory="Yes"/>
        <ItemGroupRef OrderNumber="2" ItemGroupOID="IG.CONMED" Mandatory="Yes" CollectionExceptionConditionOID="CD.NO_CONMEDS"/>
      </FormDef>
      <FormDef OID="FD.DEMOG" Name="Demography" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Subject Demography Form</TranslatedText>
        </Description>
        <ItemGroupRef ItemGroupOID="IG.DEMOG" Mandatory="Yes"/>
      </FormDef>
      <FormDef OID="FD.PREG" Name="Pregnancy Test" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Pregnancy Test Form</TranslatedText>
        </Description>
        <ItemGroupRef ItemGroupOID="IG.PREG" Mandatory="Yes"/>
      </FormDef>
      <FormDef OID="FD.VITALS" Name="Vital Signs" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Vital Signs Form</TranslatedText>
        </Description>
        <ItemGroupRef OrderNumber="1" ItemGroupOID="IG.HEIGHTWEIGHT" Mandatory="Yes"/>
        <ItemGroupRef OrderNumber="2" ItemGroupOID="IG.BLOODVITALS" Mandatory="Yes"/>
        <ItemGroupRef OrderNumber="3" ItemGroupOID="IG.BODYTEMP" Mandatory="Yes"/>
      </FormDef>
      <FormDef OID="FD.AE" Name="Adverse Events" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">
             Adverse Events Form
          </TranslatedText>
        </Description>
        <ItemGroupRef OrderNumber="1" ItemGroupOID="IG.ANYAE" Mandatory="Yes"/>
        <ItemGroupRef OrderNumber="2" ItemGroupOID="IG.AE" Mandatory="Yes" CollectionExceptionConditionOID="CD.NO_AES"/>
      </FormDef>
      <ItemGroupDef OID="IG.VISITINFO" Name="Visit Information" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Visit Information</TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.CNTR" Mandatory="Yes"/>
        <ItemRef OrderNumber="2" ItemOID="ID.SUBID" Mandatory="Yes"/>
        <ItemRef OrderNumber="3" ItemOID="ID.VDAT" Mandatory="Yes"/>
        <ItemRef OrderNumber="4" ItemOID="ID.FEEL" Mandatory="Yes"/>
        <ItemRef OrderNumber="5" ItemOID="ID.CONT" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.DEMOG" Name="Demography" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Demography</TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.DOB" Mandatory="Yes"/>
        <!-- Age is calculated by Method MD.AGE -->
        <ItemRef OrderNumber="2" ItemOID="ID.AGE" Mandatory="Yes" MethodOID="MD.AGE"/>
        <ItemRef OrderNumber="3" ItemOID="ID.SEX" Mandatory="Yes"/>
        <ItemRef OrderNumber="4" ItemOID="ID.FERTILE" Mandatory="Yes" CollectionExceptionConditionOID="CD.IS_NOT_MALE"/>
        <ItemRef OrderNumber="6" ItemOID="ID.RACE" Mandatory="Yes"/>
        <ItemRef OrderNumber="7" ItemOID="ID.RACEOTH" Mandatory="Yes" CollectionExceptionConditionOID="CD.RACE_NOT_OTH"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.PREG" Name="Pregnancy Test" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Pregnancy Test</TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.TESTPERFORMED" Mandatory="Yes"/>
        <ItemRef OrderNumber="2" ItemOID="ID.TESTRESULT" Mandatory="Yes" CollectionExceptionConditionOID="CD.PREG_NOT_TESTED"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.BLOODVITALS" Name="Vitals: Blood" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Blood-related vital signs</TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.PULSE" Mandatory="Yes"/>
        <ItemRef OrderNumber="2" ItemOID="ID.SYS" Mandatory="Yes"/>
        <ItemRef OrderNumber="3" ItemOID="ID.DIA" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.HEIGHTWEIGHT" Name="Vitals: Height &amp; Weight" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Vital Signs: Height &amp; Weight</TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.HEIGHT" Mandatory="Yes"/>
        <ItemRef OrderNumber="2" ItemOID="ID.WEIGHT" Mandatory="Yes"/>
        <ItemRef OrderNumber="3" ItemOID="ID.BMI" Mandatory="Yes" MethodOID="MD.BMI"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.BODYTEMP" Name="Vitals: Body Temperature" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">Vital Signs: Body temperature</TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.TEMP" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.ANYCONMED" Name="Any Conmeds" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">
             Concomitant Medication Question
          </TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.ANYCONMED" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.CONMED" Name="Concomitant Medications" Repeating="Yes">
        <Description>
          <TranslatedText xml:lang="en">
             Concomitant Medications detail
          </TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.DRUGNUM" Mandatory="Yes" MethodOID="MD.ASSIGN_DRUGNUM" KeySequence="1"/>
        <ItemRef OrderNumber="2" ItemOID="ID.DRUGNAME" Mandatory="Yes"/>
        <ItemRef OrderNumber="3" ItemOID="ID.DOSE" Mandatory="Yes"/>
        <ItemRef OrderNumber="4" ItemOID="ID.DOSEUNITS" Mandatory="Yes"/>
        <ItemRef OrderNumber="5" ItemOID="ID.FREQ" Mandatory="Yes"/>
        <ItemRef OrderNumber="6" ItemOID="ID.STARTDAT" Mandatory="Yes"/>
        <ItemRef OrderNumber="7" ItemOID="ID.ENDDAT" Mandatory="Yes"/>
        <ItemRef OrderNumber="8" ItemOID="ID.DRUGCONT" Mandatory="Yes"/>
        <ItemRef OrderNumber="9" ItemOID="ID.DIAGNOSIS" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.AE" Name="Adverse Events" Repeating="Yes">
        <Description>
          <TranslatedText xml:lang="en">
             Adverse Events detail
          </TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.AENUM" Mandatory="Yes" MethodOID="MD.ASSIGN_AENUM" KeySequence="1"/>
        <ItemRef OrderNumber="2" ItemOID="ID.AEDESC" Mandatory="Yes"/>
        <ItemRef OrderNumber="3" ItemOID="ID.AESTARTDAT" Mandatory="Yes"/>
        <ItemRef OrderNumber="4" ItemOID="ID.AEENDDAT" Mandatory="Yes"/>
        <ItemRef OrderNumber="5" ItemOID="ID.AECONT" Mandatory="Yes"/>
        <ItemRef OrderNumber="6" ItemOID="ID.AESEVERITY" Mandatory="Yes"/>
        <ItemRef OrderNumber="7" ItemOID="ID.AESERIOUS" Mandatory="Yes"/>
        <ItemRef OrderNumber="8" ItemOID="ID.AERELATION" Mandatory="Yes"/>
        <ItemRef OrderNumber="9" ItemOID="ID.AEACTION" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemGroupDef OID="IG.ANYAE" Name="Any Adverse Events" Repeating="No">
        <Description>
          <TranslatedText xml:lang="en">
             Any Adverse Events Question
          </TranslatedText>
        </Description>
        <ItemRef OrderNumber="1" ItemOID="ID.ANYAE" Mandatory="Yes"/>
      </ItemGroupDef>
      <ItemDef OID="ID.CNTR" Name="Center Number" DataType="text" Length="4">
        <Description>
          <TranslatedText xml:lang="en">
               Center Number
            </TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">
                CENTER
            </TranslatedText>
        </Question>
        <!--  Comparator is not used for FormalExpressions,
              bug in ODM 1.3 means it is required
         -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Center number must be all digits.
             IsNumeric(:this)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Center number must be four digits.
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.SUBID" Name="Subject Number" DataType="text" Length="5">
        <Description>
          <TranslatedText xml:lang="en">
               Subject Number
            </TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">
                Subject Number
            </TranslatedText>
        </Question>
        <!--  Comparator is not used for FormalExpressions,
               bug in ODM 1.3 means it is required
         -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Subject number must be all digits.
             IsNumeric(:this)
           ]]></FormalExpression>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.VDAT" Name="Visit Date" DataType="date">
        <Description>
          <TranslatedText xml:lang="en">Date of visit</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Visit Date</TranslatedText>
        </Question>
        <!--  Comparator is not used for FormalExpressions,
              bug in ODM 1.3 means it is required
         -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be a future date
             not(:this > :localtime)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Visit date cannot be a future date!
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.FEEL" Name="Subject Feeling Report" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Subject Reported Feeling</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Subject Reported Feeling</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.SUB_FEELING"/>
      </ItemDef>
      <ItemDef OID="ID.CONT" Name="Continue to next visit" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Continue to next visit?</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Will the subject continue to the next visit?</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <!--

           Demography Form

      -->
      <ItemDef OID="ID.DOB" Name="Date of Birth" DataType="date">
        <Description>
          <TranslatedText xml:lang="en">Date of Birth</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Date of Birth</TranslatedText>
        </Question>
        <!--  Comparator is not used for FormalExpressions,
              bug in ODM 1.3 means it is required
         -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be a future date
             not(:this > :localtime)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Date of Birth cannot be a future date!
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.AGE" Name="Subject age at visit date" DataType="integer" Length="3">
        <Description>
          <TranslatedText xml:lang="en">Age at visit date</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Age</TranslatedText>
        </Question>
        <RangeCheck SoftHard="Soft" Comparator="GE">
          <CheckValue>18</CheckValue>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Subject should be at least 18 years
                of age at this visit
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
        <RangeCheck SoftHard="Soft" Comparator="LE">
          <CheckValue>120</CheckValue>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Subject should be less than 120 years
                of age at this visit
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.SEX" Name="Sex" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Sex</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Sex</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.SEX"/>
      </ItemDef>
      <ItemDef OID="ID.FERTILE" Name="Fertile Female" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Female of childbearing potential</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">If Female, of childbearing potential</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <ItemDef OID="ID.RACE" Name="Race" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Race</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Race</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.RACE"/>
      </ItemDef>
      <ItemDef OID="ID.RACEOTH" Name="Race Other Specify" DataType="text" Length="40">
        <Description>
          <TranslatedText xml:lang="en">Race Other Specify</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">If Race Other, Specify:</TranslatedText>
        </Question>
      </ItemDef>
      <!--

         Pregnancy Test Form

      -->
      <ItemDef OID="ID.TESTRESULT" Name="Pregnancy Test Result" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Test result</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Test result</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.POSNEG"/>
      </ItemDef>
      <ItemDef OID="ID.TESTPERFORMED" Name="Pregnancy Test Performed" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Pregnancy Test Performed</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Was a pregnancy test performed?</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <!--

        Vitals Form

      -->
      <ItemDef OID="ID.HEIGHT" Name="Height" DataType="float" Length="5" SignificantDigits="2">
        <Question>
          <TranslatedText xml:lang="en">Height</TranslatedText>
        </Question>
        <MeasurementUnitRef MeasurementUnitOID="MU.CM"/>
      </ItemDef>
      <ItemDef OID="ID.WEIGHT" Name="Weight" DataType="float" Length="4" SignificantDigits="1">
        <Question>
          <TranslatedText xml:lang="en">Weight</TranslatedText>
        </Question>
        <MeasurementUnitRef MeasurementUnitOID="MU.KG"/>
      </ItemDef>
      <ItemDef OID="ID.BMI" Name="Height" DataType="float" Length="3" SignificantDigits="1">
        <Question>
          <TranslatedText xml:lang="en">BMI</TranslatedText>
        </Question>
      </ItemDef>
      <ItemDef OID="ID.PULSE" Name="Pulse" DataType="integer" Length="3">
        <Question>
          <TranslatedText xml:lang="en">Pulse</TranslatedText>
        </Question>
        <MeasurementUnitRef MeasurementUnitOID="MU.BPM"/>
      </ItemDef>
      <ItemDef OID="ID.SYS" Name="Systolic Blood Pressure" DataType="integer" Length="3">
        <Question>
          <TranslatedText xml:lang="en">Sys</TranslatedText>
        </Question>
        <MeasurementUnitRef MeasurementUnitOID="MU.MMHG"/>
      </ItemDef>
      <ItemDef OID="ID.DIA" Name="Diastolic Blood Pressure" DataType="integer" Length="3">
        <Question>
          <TranslatedText xml:lang="en">Dia</TranslatedText>
        </Question>
        <MeasurementUnitRef MeasurementUnitOID="MU.MMHG"/>
      </ItemDef>
      <ItemDef OID="ID.TEMP" Name="Body Temperature" DataType="float" Length="3" SignificantDigits="1">
        <Question>
          <TranslatedText xml:lang="en">Body Temperature</TranslatedText>
        </Question>
        <MeasurementUnitRef MeasurementUnitOID="MU.DEG_C"/>
      </ItemDef>
      <!--

           Concomitant Medications Form

       -->
      <ItemDef OID="ID.ANYCONMED" Name="Any Concomitant Medications" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Any Concomitant Medications</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">
             Is the Subject taking any Concomitant Medications?
          </TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <ItemDef OID="ID.DRUGNUM" Name="Drug #" DataType="integer" Length="4">
        <Description>
          <TranslatedText xml:lang="en">Drug repeat number</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">#</TranslatedText>
        </Question>
      </ItemDef>
      <!-- ItemDefs for all CM elements-->
      <ItemDef OID="ID.DRUGNAME" Name="Drug name" DataType="text" Length="50">
        <Description>
          <TranslatedText xml:lang="en">Drug name</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Drug Name</TranslatedText>
        </Question>
      </ItemDef>
      <ItemDef OID="ID.DOSE" Name="Drug Dose" DataType="text" Length="4">
        <Description>
          <TranslatedText xml:lang="en">Drug dose</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Dose</TranslatedText>
        </Question>
      </ItemDef>
      <ItemDef OID="ID.DOSEUNITS" Name="Dose Units" DataType="text" Length="4">
        <Description>
          <TranslatedText xml:lang="en">Dose units</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Units</TranslatedText>
        </Question>
      </ItemDef>
      <ItemDef OID="ID.FREQ" Name="Frequency" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Dosing Frequency</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Frequency</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.DOSEFREQ"/>
      </ItemDef>
      <ItemDef OID="ID.STARTDAT" Name="Medication Start Date" DataType="date">
        <Description>
          <TranslatedText xml:lang="en">Date medication started</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Start Date</TranslatedText>
        </Question>
        <!--
            Comparator not required for FormalExpression type range check
            but bug in ODM 1.3 requires it.
          -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be a future date
             not(:this > :localtime)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Medication Start Date cannot be a future date!
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.ENDDAT" Name="Medication End Date" DataType="date">
        <Description>
          <TranslatedText xml:lang="en">Date medication ended</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">End Date</TranslatedText>
        </Question>
        <!--
            Comparator required because of bug in ODM 1.3 specification
            Should not be required for a FormalExpression check
         -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be a future date
             not(:this > :localtime)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Medication End Date cannot be a future date!
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
        <!--
            Comparator required because of bug in ODM 1.3 specification
            Should not be required for a FormalExpression check
         -->
        <RangeCheck SoftHard="Soft" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be prior to start date
             not(:this < :this.itemgroup.field(name->"ID.STARTDAT"))
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Medication End Date cannot be prior to Start Date
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.DRUGCONT" Name="Drug Continuing" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Drug continuing</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Continuing?</TranslatedText>
        </Question>
        <!--
            Comparator required because of bug in ODM 1.3 specification
            Should not be required for a FormalExpression check
         -->
        <RangeCheck SoftHard="Soft" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Must not be continuing if End Date Supplied

             (Decode(:this) == "Yes")
             AND
             Not Empty(:this.itemgroup.field(name->"ID.ENDDAT"))
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Cannot be continuing if End Date is set.
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <ItemDef OID="ID.DIAGNOSIS" Name="Diagnosis" DataType="text" Length="100">
        <Description>
          <TranslatedText xml:lang="en">Diagnosis</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Diagnosis</TranslatedText>
        </Question>
      </ItemDef>
      <!--

           Adverse Events Form

       -->
      <ItemDef OID="ID.ANYAE" Name="Any Adverse Events" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Any Adverse Events</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">
             Have any Adverse Events been reported?
          </TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <ItemDef OID="ID.AENUM" Name="AE #" DataType="integer" Length="4">
        <Description>
          <TranslatedText xml:lang="en">AE repeat number</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">#</TranslatedText>
        </Question>
      </ItemDef>
      <ItemDef OID="ID.AEDESC" Name="Adverse Event Description" DataType="text" Length="50">
        <Description>
          <TranslatedText xml:lang="en">Adverse Event Description</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">AE Description</TranslatedText>
        </Question>
      </ItemDef>
      <ItemDef OID="ID.AESTARTDAT" Name="AE Start Date" DataType="date">
        <Description>
          <TranslatedText xml:lang="en">Date AE started</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Start Date</TranslatedText>
        </Question>
        <!--
            Comparator not required for FormalExpression type range check
            but bug in ODM 1.3 requires it.
          -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be a future date
             not(:this > :localtime)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Adverse Event Start Date cannot be a future date!
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.AEENDDAT" Name="AE End Date" DataType="date">
        <Description>
          <TranslatedText xml:lang="en">Date AE ended</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">End Date</TranslatedText>
        </Question>
        <!--
            Comparator required because of bug in ODM 1.3 specification
            Should not be required for a FormalExpression check
         -->
        <RangeCheck SoftHard="Hard" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be a future date
             not(:this > :localtime)
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Adverse Event End Date cannot be a future date!
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
        <!--
            Comparator required because of bug in ODM 1.3 specification
            Should not be required for a FormalExpression check
         -->
        <RangeCheck SoftHard="Soft" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Cannot be prior to start date
             not(:this < :this.itemgroup.field(name->"ID.AESTARTDAT"))
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Adverse Event Date cannot be prior to Start Date
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
      </ItemDef>
      <ItemDef OID="ID.AECONT" Name="AE Continuing" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Adverse Event continuing</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Continuing?</TranslatedText>
        </Question>
        <!--
            Comparator required because of bug in ODM 1.3 specification
            Should not be required for a FormalExpression check
         -->
        <RangeCheck SoftHard="Soft" Comparator="EQ">
          <FormalExpression Context="ISVL"><![CDATA[
             //Must not be continuing if End Date Supplied

             (Decode(:this) == "Yes")
             AND
             Not Empty(:this.itemgroup.field(name->"ID.AEENDDAT"))
           ]]></FormalExpression>
          <ErrorMessage>
            <TranslatedText xml:lang="en">
                Cannot be continuing if End Date is set.
              </TranslatedText>
          </ErrorMessage>
        </RangeCheck>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <ItemDef OID="ID.AESEVERITY" Name="AE Severity" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Adverse Event Severity</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Severity</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.AESEVERITY"/>
      </ItemDef>
      <ItemDef OID="ID.AESERIOUS" Name="Is AE Serious" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Is Adverse Event classified Serious?</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Serious</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.YESNO"/>
      </ItemDef>
      <ItemDef OID="ID.AERELATION" Name="AE Relationship=" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Adverse Event Relationship to
          Study Drug</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Relationship</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.AERELATION"/>
      </ItemDef>
      <ItemDef OID="ID.AEACTION" Name="AE Action Taken" DataType="text" Length="1">
        <Description>
          <TranslatedText xml:lang="en">Action taken on Adverse Event</TranslatedText>
        </Description>
        <Question>
          <TranslatedText xml:lang="en">Action Taken</TranslatedText>
        </Question>
        <CodeListRef CodeListOID="CL.AEACTION"/>
      </ItemDef>
      <CodeList OID="CL.YESNO" Name="Yes No Codelist" DataType="text">
        <CodeListItem CodedValue="Y" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Yes</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="N" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">No</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.SEX" Name="Sex" DataType="text">
        <CodeListItem CodedValue="1" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Male</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">Female</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.SUB_FEELING" Name="Subject Feeling" DataType="text">
        <CodeListItem CodedValue="1" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">
         Much Worse than usual
     </TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">
         Worse than usual
     </TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="3" Rank="3">
          <Decode>
            <TranslatedText xml:lang="en">
         Average
     </TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="4" Rank="4">
          <Decode>
            <TranslatedText xml:lang="en">
         Better than usual
     </TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="5" Rank="5">
          <Decode>
            <TranslatedText xml:lang="en">
         Much Better than usual
     </TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.RACE" Name="Race" DataType="text">
        <CodeListItem CodedValue="0" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Caucasian</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="1" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">African</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="3">
          <Decode>
            <TranslatedText xml:lang="en">Asian</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="3" Rank="4">
          <Decode>
            <TranslatedText xml:lang="en">Other</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.POSNEG" Name="Positive/Negative" DataType="text">
        <CodeListItem CodedValue="+" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Positive</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="-" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">Negative</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.DOSEFREQ" Name="Dose Frequency" DataType="text">
        <CodeListItem CodedValue="1" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">QID</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">BID</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="3" Rank="3">
          <Decode>
            <TranslatedText xml:lang="en">TID</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.AESEVERITY" Name="Adverse Event Severity" DataType="text">
        <CodeListItem CodedValue="1" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Mild</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">Moderate</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="3" Rank="3">
          <Decode>
            <TranslatedText xml:lang="en">Severe</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.AERELATION" Name="Adverse Event Relationship" DataType="text">
        <CodeListItem CodedValue="1" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Unrelated</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">Unlikely Related</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="3" Rank="3">
          <Decode>
            <TranslatedText xml:lang="en">Likely Related</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="4" Rank="4">
          <Decode>
            <TranslatedText xml:lang="en">Related</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <CodeList OID="CL.AEACTION" Name="Adverse Event Action" DataType="text">
        <CodeListItem CodedValue="1" Rank="1">
          <Decode>
            <TranslatedText xml:lang="en">Continued</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="2" Rank="2">
          <Decode>
            <TranslatedText xml:lang="en">Dose Changed</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="3" Rank="3">
          <Decode>
            <TranslatedText xml:lang="en">Temporary Withdrawal</TranslatedText>
          </Decode>
        </CodeListItem>
        <CodeListItem CodedValue="4" Rank="4">
          <Decode>
            <TranslatedText xml:lang="en">Permanent Withdrawal</TranslatedText>
          </Decode>
        </CodeListItem>
      </CodeList>
      <ConditionDef OID="CD.IS_NOT_MALE" Name="Is not male">
        <Description>
          <TranslatedText xml:lang="en">
             Returns True if the subject is not male (i.e. they are female)
          </TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             Decode(event->"SE.INIT",
                    form->"FD.DEMOG",
                    item->"ID.SEX") != "Male"
           ]]></FormalExpression>
      </ConditionDef>
      <ConditionDef OID="CD.RACE_NOT_OTH" Name="Is not Other Race">
        <Description>
          <TranslatedText xml:lang="en">
             Returns True if the subject is not of "Other" Race
          </TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             Decode(event->"SE.INIT",
                    form->"FD.DEMOG",
                    item->"ID.RACE") != "Other"
           ]]></FormalExpression>
      </ConditionDef>
      <ConditionDef OID="CD.PREG_NOT_TESTED" Name="Pregnancy was not tested">
        <Description>
          <TranslatedText xml:lang="en">
             Returns True if pregnancy test was not performed
          </TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Decode of item ID.TESTPERFORMED in form FD.PREG in the SE.INIT
             //event equals "No"
             Decode(event->"SE.INIT",
                    form->"FD.PREG",
                    item->"ID.TESTPERFORMED") == "No"
           ]]></FormalExpression>
      </ConditionDef>
      <ConditionDef OID="CD.IS_NOT_FERTILE_FEMALE" Name="Is not of childbearing potential">
        <Description>
          <TranslatedText xml:lang="en">
             Returns True if the subject is not a female of childbearing
             potential.
          </TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Return true if:
             // Decode of item ID.SEX in form "FD.DEMOG"
             // in the event "SE.INIT" equals "male"
             //OR
             //Decode of item ID.FERTILE in form "FD.DEMOG"
             // in the event "FD" equals "No"
             (
               Decode(event->"SE.INIT",
                      form->"FD.DEMOG",
                      item->"ID.SEX") == "Male"
             )
               OR
             (
               Decode(event->"SE.INIT",
                      form->"FD.DEMOG",
                      item->"ID.FERTILE") == "No"
             )
           ]]></FormalExpression>
      </ConditionDef>
      <ConditionDef OID="CD.NOT_CONT_LAST_VISIT" Name="Did Not Continue Last Visit">
        <Description>
          <TranslatedText xml:lang="en">
             Returns True if the subject did not elect to continue in the
             previous visit.
          </TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Decode of item ID.CONT in form "FD.VISITINFO" in the previous event equals "No"
             Decode(event->:previous,form->"FD.VISITINFO",item->"ID.CONT") == "No"
           ]]></FormalExpression>
      </ConditionDef>
      <MethodDef OID="MD.ASSIGN_AENUM" Name="Assign AE repeat number" Type="Computation">
        <Description>
          <TranslatedText xml:lang="en">Assign an AE repeat number
            unique within the repeats of the ItemGroup.</TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Get the next available number

             itemnums = Select(event->"SE.AE",
                            form->"FD.AE",
                            item->"ID.AENUM")

             aenum = 1
             while true {
               if not In(daenum,itemnums) {
                 break
               }
               aenum += 1

             }

             //return the new number
             aenum

           ]]></FormalExpression>
      </MethodDef>
      <MethodDef OID="MD.ASSIGN_DRUGNUM" Name="Assign drug ref. number" Type="Computation">
        <Description>
          <TranslatedText xml:lang="en">Assign a drug reference number,
            unique within the repeats of the ItemGroup.</TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Get the next available number

             itemnums = Select(event->"SE.CM",
                            form->"FD.CM",
                            item->"ID.DRUGNUM")

             drugnum = 1
             while true {
               if not In(drugnum,itemnums) {
                 break
               }
               drugnum += 1

             }

             //return the new number
             drugnum

           ]]></FormalExpression>
      </MethodDef>
      <MethodDef OID="MD.BMI" Name="Body Mass Index" Type="Computation">
        <Description>
          <TranslatedText xml:lang="en">
              Body Mass Index Calculation:
              Weight (kg) / Height(m)^2
            </TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Return BMI calculation.

             itemgroup = this.itemgroup
             height = itemgroup.fields(name->"ID.HEIGHT")
             weight = itemgroup.fields(name->"ID.WEIGHT")

             weight / square(height / 100)

           ]]></FormalExpression>
      </MethodDef>
      <MethodDef OID="MD.AGE" Name="Age at Visit Calculation" Type="Computation">
        <Description>
          <TranslatedText xml:lang="en">Age at visit date</TranslatedText>
        </Description>
        <FormalExpression Context="ISVL"><![CDATA[
             //Return difference in years between ID.VDAT and ID.DOB

             itemgroup = this.itemgroup
             dob = itemgroup.fields(name->"ID.DOB")

             //VDAT comes from Visit Info form
              vdat = Select(event->"SE.INIT",
                            form->"FD.VISITINFO",
                            item->"ID.VDAT")

             TimeSpan(vdat,dob).years

           ]]></FormalExpression>
      </MethodDef>
    </MetaDataVersion>
  </Study>
</ODM>





