This topic describes how to load clinical data in the CDISC ODM XML file format into a LabKey Study. For example, data collected using DFdiscover can be exported in this format. The data loading process is based on a File Watcher processing pipeline configured to read CDISC_ODM XML files.
A summary of the data loading process:
This File Watcher supports two modes of watching for content in a specified location.
The Import Study Data from a CDISC ODM XML File integration can use either the single file method (in which case a default configuration is applied) or the use of the folder approach in order to specify the configuration in a separate file uploaded with the data.
In the mode where only the data files are provided to the watched location, the default configuration is used:
When the data file(s) and a configuration file are provided together in a folder, that configuration file can contain different options, such as importing some files as lists or with specific key field settings etc. You will specify the name of this configuration file in the File Watcher definition, and it must conform to the CDISC XML Schema.
<?xml version="1.0" encoding="UTF-8"?>
<cdiscConfig xmlns="http://labkey.org/cdisc/xml">
<timepointType>visit</timepointType>
<studyLabel>CDISC Visit Study</studyLabel>
<forms>
<form>
<formOID>FORM.DEMOG</formOID>
<demographic>true</demographic>
</form>
<form>
<formOID>FORM.VITPHYEX</formOID>
<keyFieldOID>IT.REC_ID</keyFieldOID>
</form>
<form>
<formOID>FORM.PHARMVIT</formOID>
<keyFieldOID>LK_MANAGED_KEY</keyFieldOID>
</form>
<form>
<formOID>FORM.AE</formOID>
<exportAsList>true</exportAsList>
</form>
</forms>
</cdiscConfig>
The settings available in a configuration file are downloadable in this file.
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://labkey.org/cdisc/xml"
targetNamespace="http://labkey.org/cdisc/xml"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:annotation>
<xsd:documentation xml:lang="en">CDISC ODM Export Configuration</xsd:documentation>
</xsd:annotation>
<xsd:element name="cdiscConfig">
<xsd:complexType>
<xsd:all>
<xsd:element name="timepointType" type="xsd:string" minOccurs="0"/>
<xsd:element name="studyLabel" type="xsd:string" minOccurs="0"/>
<xsd:element name="importAll" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="visitFieldName" type="xsd:string" minOccurs="0"/>
<xsd:element name="keyFieldOID" type="xsd:string" minOccurs="0"/>
<xsd:element name="defaultSequenceNum" type="xsd:double" minOccurs="0"/>
<xsd:element name="disableLookups" type="xsd:boolean" minOccurs="0" default="false"/>
<xsd:element name="forms" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="form">
<xsd:complexType>
<xsd:all>
<xsd:element name="formOID" type="xsd:string"/>
<xsd:element name="visitFieldName" type="xsd:string" minOccurs="0"/>
<xsd:element name="demographic" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="exportAsList" type="xsd:boolean" minOccurs="0"/>
<xsd:element name="keyFieldOID" type="xsd:string" minOccurs="0"/>
<xsd:element name="defaultSequenceNum" type="xsd:double"/>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
To set up the File Watcher pipeline, follow these steps:
Next, determine whether you need to customize the configuration in a file and if necessary, create that file. Both options are shown in these File Watcher configuration steps: