User Tools

Site Tools


odm_referencedata

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

odm_referencedata [2015/06/18 21:22]
manager
odm_referencedata [2015/06/18 22:09] (current)
manager
Line 14: Line 14:
  
     <​ItemGroupData ItemGroupOID="​IG.VSNORMALVALUES">​     <​ItemGroupData ItemGroupOID="​IG.VSNORMALVALUES">​
-        <​ItemData ItemOID="​IT.DIABP" Value="​80">​+        <​ItemData ItemOID="​IT.DIABP_EXP" Value="​80">​
             <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​             <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​
         </​ItemData>​         </​ItemData>​
-        <​ItemData ItemOID="​IT.SYSBP" Value="​120">​+        <​ItemData ItemOID="​IT.SYSBP_EXP" Value="​120">​
             <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​             <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​
         </​ItemData>​         </​ItemData>​
-        <​ItemData ItemOID="​IT.HR" Value="​70">​+        <​ItemData ItemOID="​IT.HR_EXP" Value="​70">​
             <​MeasurementUnitRef MeasurementUnitOID="​MU.BPM"/>​             <​MeasurementUnitRef MeasurementUnitOID="​MU.BPM"/>​
         </​ItemData>​         </​ItemData>​
Line 52: Line 52:
             <!-- we only define ItemGroups here all with IsReferenceData="​Yes"​ -->             <!-- we only define ItemGroups here all with IsReferenceData="​Yes"​ -->
             <​ItemGroupDef OID="​IG.VSNORMALVALUES"​ Name="​Vital Signs Normal Values"​ Repeating="​No"​ IsReferenceData="​Yes">​             <​ItemGroupDef OID="​IG.VSNORMALVALUES"​ Name="​Vital Signs Normal Values"​ Repeating="​No"​ IsReferenceData="​Yes">​
-                <ItemRef ItemOID="​IT.SYSBP" Mandatory="​No"/>​ +                <ItemRef ItemOID="​IT.SYSBP_NORM" Mandatory="​No"/>​ 
-                <ItemRef ItemOID="​IT.DIABP" Mandatory="​No"/>​ +                <ItemRef ItemOID="​IT.DIABP_NORM" Mandatory="​No"/>​ 
-                <ItemRef ItemOID="​IT.HR" Mandatory="​No"/>​+                <ItemRef ItemOID="​IT.HR_NORM" Mandatory="​No"/>​
             </​ItemGroupDef>​             </​ItemGroupDef>​
             <!-- correspobnding ItemDefs -->             <!-- correspobnding ItemDefs -->
-                ​<ItemDef OID="​IT.SYSBP" Name="​Systolic Blood Pressure"​ DataType="​integer"​ Length="​3"> ​               +            ​<ItemDef OID="​IT.SYSBP_NORM" Name="Normal ​Systolic Blood Pressure"​ DataType="​integer"​ Length="​3"> ​               
-                    <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​ +                <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​ 
-                </​ItemDef>​ +            </​ItemDef>​ 
-                <ItemDef OID="​IT.DIABP" Name="​Diastolic Blood Pressure"​ DataType="​integer"​ Length="​3">​ +            <ItemDef OID="​IT.DIABP_NORM" Name="Normal ​Diastolic Blood Pressure"​ DataType="​integer"​ Length="​3">​ 
-                    <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​ +                <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​ 
-                </​ItemDef>​ +            </​ItemDef>​ 
-                <ItemDef OID="​IT.HR" Name="​Heart Rate" DataType="​integer"​ Length="​3">​ +            <ItemDef OID="​IT.HR_NORM" Name="Normal ​Heart Rate" DataType="​integer"​ Length="​3">​ 
-                    <​MeasurementUnitRef MeasurementUnitOID="​MU.BPM"/>​ +                <​MeasurementUnitRef MeasurementUnitOID="​MU.BPM"/>​ 
-                </​ItemDef>​ +            </​ItemDef
-            </​MetaDataVersion>​ +        </​MetaDataVersion>​ 
-        </​Study>​+    </​Study>​ 
 + 
 +So this "​study"​ only has definitions of reference data, no actual clincal data. Of course we can add the reference data in the same file, resulting in something like (only the main things displayed):​ 
 + 
 +    <Study OID="​ReferenceDataStudy">​ 
 +        <​MetaDataVersion OID="​MV.REFDATA"​ Name="​Study-metadata only containing reference data definitions"​
 +            ​<!-- here come the definitions as shown before --> 
 +        ​</​MetaDataVersion
 +    </​Study>​ 
 +    <​ReferenceData StudyOID="​ReferenceDataStudy"​ MetaDataVersionOID="​MV.REFDATA"​
 +        ​<!-- here come the ItemGroupData elements, as shown before --> 
 +    ​</ReferenceData>​ 
 +     
 +If we also want to transport the reference data together with a real study, we can easily do so for as well the definitions,​ as for the reference data themselves, the definitions being incorporated through the "​[[the_include_mechanism_in_cdisc_odm_study_descriptions|Include]]"​ element: 
 + 
 +    <Study OID="​MyRealStudy"​> 
 +        <​MetaDataVersion OID="​MV.001"​ Name="​first metadata version of study MyRealStudy">​ 
 +            <Include StudyOID="​ReferenceDataStudy"​ MetaDataVersionOID="​MV.REFDATA"​ /> 
 +            <!-- here come all the normal Protocol, StudyEventDef,​ FormDef, 
 +            ItemGroupDef,​ ItemDef, CodeList, ConditionDef,​ MethodDef, ... elements 
 +            containing the design of our study --> 
 +        </​MetaDataVersion>​ 
 +    </​Study>​ 
 +    <​ReferenceData StudyOID="​MyRealStudy"​ MetaDataVersionOID="​MV.001">​ 
 +        <!-- here come the ItemGroupData elements, as shown before --> 
 +    </​ReferenceData>​ 
 +    <!-- possibly clinical data too ... --> 
 +    <​ClinicalData StudyOID="​MyRealStudy"​ MetaDataVersionOID="​MV.001">​ 
 +        <!-- here come all subject related clinical data --> 
 +    </​ClinicalData>​ 
 +     
 +Remark that "​ReferenceData"​ is now referencing the Study with OID "​MyRealStudy",​ as also the reference data definitions have been imported into study "​MyRealStudy"​ 
 + 
 +What can we do with this? 
 + 
 +Not much, except filling a table in the receiving system'​s data base. 
 + 
 +What is missing, is the formal relationship with things like the "​normal value",​ or "upper expected value" and "lower expected value"​. Of course we could rely on naming conventions like: 
 + 
 +    <ItemDef OID="​IT.SYSBP"​ Name="​Really measured subject'​s systolic blood pressure"​ ...>​...</​ItemDef>​ 
 +     
 +But it is something I do not like at all, as it is implementation dependent. 
 + 
 +Or for normal ranges, in the "​ReferenceData"​ section: 
 + 
 +    <​ItemData ItemOID="​IT.SYSBP_LOWER_LIMIT"​ Value="​100"​ /> 
 +    <​ItemData ItemOID="​IT.SYSBP_HIGHER_LIMIT Value="​140"​ /> 
 +     
 +However, for a real implementation,​ we do have the "​[[using_rangechecks_in_odm_1.3|RangeCheck]]"​ element on "​ItemDef"​. For example: 
 + 
 +    <ItemDef OID="​IT.SYSBP"​ Name="​Systolic blood pressure"​ ...> 
 +        <​RangeCheck Comparator="​GE"​ SoftHard="​Soft">​ 
 +            <​CheckValue>​100</​CheckValue>​ 
 +            <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​ 
 +            <​ErrorMessage><​TranslatedText>​The value is below 100, are you sure?</​TranslatedText></​ErrorMessage>​ 
 +        </​RangeCheck>​ 
 +        <​RangeCheck Comparator="​LE"​ SoftHard="​Soft">​ 
 +            <​CheckValue>​140</​CheckValue>​ 
 +            <​MeasurementUnitRef MeasurementUnitOID="​MU.MMHG"/>​ 
 +            <​ErrorMessage><​TranslatedText>​The value is below 100, are you sure?</​TranslatedText></​ErrorMessage>​ 
 +        </​RangeCheck>​ 
 +    </​ItemDef>​ 
 + 
 +stating that the value for the blood pressure is expected to be between 100 and 140 mmHg, otherwise a warning is issued ("​soft"​). 
 + 
 +The use case might however be another than for "​ReferenceData"​. Whereas "​RangeCheck"​ is probably mostly used for checks at the data input level, the use case for "​ReferenceData"​ may be another. 
 + 
 +Maybe we should extend ItemDef with something as follows (and maybe EDC/CTMS vendors already have done so): 
 + 
 +    <ItemDef OID="​IT.SYSBP"​ Name="​Systolic blood pressure"​ ...> 
 +        <!-- the usual RangeCheck elements for data entry checking --> 
 +        <​RangeCheck ...>​...</​RangeCheck>​ 
 +        <​RangeCheck ...>​...</​RangeCheck>​ 
 +        <!-- new stuff referencing "​ReferenceData"​ --> 
 +        <​ReferenceDataRef ReferenceDataOID="​IT.SYSBP_NORM"​ Comparator="​EQ"​ Interpretation="​Normal"/>​ 
 +        <​ReferenceDataRef ReferenceDataOID="​IT.SYSBP_LOWER_LIMIT"​ Comparator="​LE"​ Interpretation="​Low"/>​ 
 +        <​ReferenceDataRef ReferenceDataOID="​IT.SYSBP_HIGHER_LIMIT"​ Comparator="​GE"​ Interpretation="​High"/>​ 
 +    </​ItemDef>​ 
 + 
 +The "​ReferenceDataRef"​ just stating that there is some __predefined__ reference data about how data should be interpreted. 
 + 
 +Now, these are just some first, unpolished ideas, so any comments are highly appreciated. Please send them to Jozef.Aerts-at-XML4Pharma.com.
  
  
odm_referencedata.1434655378.txt.gz · Last modified: 2015/06/18 21:22 by manager