eCoC file schema definition
Table of Contents
Target Namespace
|
http://www.escis.com.au/2013/XML/CoC
|
Version |
1.1 |
Element and Attribute Namespaces |
- Global element and attribute declarations belong to this schema's target namespace.
- By default, local element declarations belong to this schema's target namespace.
- By default, local attribute declarations have no namespace.
|
Schema Composition |
-
This schema imports schema(s) from the following namespace(s):
-
http://www.escis.com.au/2013/XML (at ESdatFileType.xsd)
|
Documentation |
The eCoC (electronic chain of custody) files are generated by LSPECS and sent to the Laboratories from the user interface of the application.
After submitting the physical samples to the lab, the user will enter all associated information (chain of custody information, sample details, requested analyses, associated lab quote details, billing…)
into the system and ‘submit’ this information to the lab.
The generated file (xml format) contains all this information and is sent as an email attachment to the designated lab email address.
Upon receiving this file the lab can process the contained information and automatically import it into their LIMS (or equivalent) system.
|
Declared Namespaces
Prefix |
Namespace |
xml
|
http://www.w3.org/XML/1998/namespace |
xsi
|
http://www.w3.org/2001/XMLSchema-instance |
xs
|
http://www.w3.org/2001/XMLSchema |
local
|
http://www.escis.com.au/2013/XML/CoC
|
Schema Component Representation
<
xs:schema attributeFormDefault="
unqualified"
elementFormDefault="
qualified"
targetNamespace="
http://www.escis.com.au/2013/XML/CoC"
version="
1.1">
<xs:import namespace="http://www.escis.com.au/2013/XML" schemaLocation="ESdatFileType.xsd"/>
...
</
xs:schema>
Super-types: |
None |
Sub-types: |
None |
Name |
Additional_Contacts |
Abstract
|
no |
Documentation |
Collection of additional client contacts.
All contacts will be notified of the reception of the eSRN and the eLabReport form the lab depending on the attribute flags.
|
Schema Component Representation
<
xs:complexType name="
Additional_Contacts">
<
xs:sequence>
<
xs:element name="
Contact"
type="
local:Contact
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Name |
Analysis_Group |
Abstract
|
no |
Documentation |
First level of the hierarchy in terms of analysis organisation.
One analysis group can contain one or many suites.
|
XML Instance Representation
<...
WasSelectedAtThisLevel="
xs:boolean
[1] ?"
Name="
xs:string
[1] ?"
Description="
xs:string
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
Analysis_Group">
<
xs:sequence>
</
xs:sequence>
<
xs:attribute name="
WasSelectedAtThisLevel"
type="
xs:boolean
"
use="
required"/>
<
xs:attribute name="
Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Description"
type="
xs:string
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Schema Component Representation
<
xs:complexType name="
Analysis_Groups">
<
xs:sequence>
<
xs:element name="
Analysis_Group"
type="
local:Analysis_Group
"
maxOccurs="
unbounded"
minOccurs="
0"/>
</
xs:sequence>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Schema Component Representation
<
xs:complexType name="
Analysis_Request">
<
xs:sequence>
</
xs:sequence>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Schema Component Representation
<
xs:complexType name="
Analysis_Requests">
<
xs:sequence>
<
xs:element name="
Analysis_Request"
type="
local:Analysis_Request
"
maxOccurs="
unbounded"
minOccurs="
0"/>
</
xs:sequence>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
WasSelectedAtThisLevel="
xs:boolean
[1] ?"
Name="
xs:string
[1] ?"
ESdat_Code="
xs:string
[1] ?"
Unit="
xs:string
[1] ?"
Detection_Limit="
xs:decimal
[0..1] ?"
Quatitiation_Limit="
xs:decimal
[0..1] ?"
Quantitiation_Limit="
xs:decimal
[0..1] ?"
/>
Schema Component Representation
<
xs:complexType name="
Analyte">
<
xs:attribute name="
WasSelectedAtThisLevel"
type="
xs:boolean
"
use="
required"/>
<
xs:attribute name="
Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
ESdat_Code"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Unit"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Detection_Limit"
type="
xs:decimal
"
use="
optional"/>
<
xs:attribute name="
Quatitiation_Limit"
type="
xs:decimal
"
use="
optional"/>
<
xs:attribute name="
Quantitiation_Limit"
type="
xs:decimal
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Name |
Analytes |
Abstract
|
no |
Documentation |
Collection of Analytes.
|
Schema Component Representation
<
xs:complexType name="
Analytes">
<
xs:sequence>
<
xs:element name="
Analyte"
type="
local:Analyte
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
Email="
xs:string
[1] ?"
Send_SRN="
xs:boolean
[1] ?"
Send_COA="
xs:boolean
[1] ?"
Send_QC="
xs:boolean
[1] ?"
Send_QCI="
xs:boolean
[1] ?"
/>
Schema Component Representation
<
xs:complexType name="
Contact">
<
xs:attribute name="
Email"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Send_SRN"
type="
xs:boolean
"
use="
required"/>
<
xs:attribute name="
Send_COA"
type="
xs:boolean
"
use="
required"/>
<
xs:attribute name="
Send_QC"
type="
xs:boolean
"
use="
required"/>
<
xs:attribute name="
Send_QCI"
type="
xs:boolean
"
use="
required"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
Name="
xs:string
[1] ?"
Lab_Ref="
xs:string
[0..1] ?"
Colour="
xs:string
[0..1] ?"
Preservative="
xs:string
[0..1] ?"
Filtered="
xs:boolean
[0..1] ?"
Holding_Time="
xs:string
[0..1] ?"
Holding_Time_Units="
xs:string
[0..1] ?"
Volume="
xs:string
[0..1] ?"
ID="
xs:string
[1] ?"
/>
Schema Component Representation
<
xs:complexType name="
Container">
<
xs:attribute name="
Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Lab_Ref"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Colour"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Preservative"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Filtered"
type="
xs:boolean
"
use="
optional"/>
<
xs:attribute name="
Holding_Time"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Holding_Time_Units"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Volume"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
ID"
type="
xs:string
"
use="
required"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Schema Component Representation
<
xs:complexType name="
Containers">
<
xs:sequence>
<
xs:element name="
Container"
type="
local:Container
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
Complex Type: eCoC
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
Project_Number="
xs:string
[1] ?"
Project_ID="
xs:string
[1] ?"
SDG_ID="
xs:unsignedInt
[1] ?"
CoC_Number="
xs:string
[1] ?"
Destination_Lab="
xs:string
[1] ?"
Lab_Contact_Name="
xs:string
[1] ?"
Lab_Contact_Email="
xs:string
[1] ?"
Lab_Contact_Phone="
xs:string
[0..1] ?"
Client_Primary_Contact_Name="
xs:string
[0..1] ?"
Client_Primary_Contact_Email="
xs:string
[0..1] ?"
Client_Primary_Contact_Phone="
xs:string
[0..1] ?"
Client_Secondary_Contact_Name="
xs:string
[0..1] ?"
Client_Secondary_Contact_Email="
xs:string
[0..1] ?"
Client_Secondary_Contact_Phone="
xs:string
[0..1] ?"
Relinquished_By_Name="
xs:string
[1] ?"
Relinquished_By_Date="
xs:dateTime
[1] ?"
Relinquished_By_Company="
xs:string
[1] ?"
Cooled="
xs:string
[0..1] ?"
Number_Delivery_Boxes="
xs:unsignedInt
[0..1] ?"
Conn_Note="
xs:string
[1] ?"
AutomatedProcessingEmailAddress="
xs:string
[0..1] ?"
AutomatedProcessingWebServiceUri="
xs:string
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
eCoC">
<
xs:sequence>
</
xs:sequence>
<
xs:attribute name="
Project_Number"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Project_ID"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
SDG_ID"
type="
xs:unsignedInt
"
use="
required"/>
<
xs:attribute name="
CoC_Number"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Destination_Lab"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Lab_Contact_Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Lab_Contact_Email"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Lab_Contact_Phone"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Client_Primary_Contact_Name"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Client_Primary_Contact_Email"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Client_Primary_Contact_Phone"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Client_Secondary_Contact_Name"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Client_Secondary_Contact_Email"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Client_Secondary_Contact_Phone"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Relinquished_By_Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Relinquished_By_Date"
type="
xs:dateTime
"
use="
required"/>
<
xs:attribute name="
Relinquished_By_Company"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Cooled"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Number_Delivery_Boxes"
type="
xs:unsignedInt
"
use="
optional"/>
<
xs:attribute name="
Conn_Note"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
AutomatedProcessingEmailAddress"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
AutomatedProcessingWebServiceUri"
type="
xs:string
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Name |
Lab_Request |
Abstract
|
no |
Documentation |
A lab request includes a user defined (in LSPECS) group of analyses to be performed on the samples.
User can send multiple lab (analyses) requests for the same batch of samples. This allow the user to request further analyses from the lab.
LSPECS also supports multiple versions of the same request, allowing the user to correct mistakes when requesting the samples.
|
XML Instance Representation
<...
ID="
xs:unsignedInt
[1] ?"
Number="
xs:unsignedInt
[1] ?"
Version="
xs:unsignedInt
[1] ?"
Turnaround_Date="
xs:string
[0..1] ?"
IsFastTurnaround="
xs:boolean
[0..1] ?"
Purchase_Order_Number="
xs:string
[1] ?"
Org_To_Be_Billed="
xs:string
[0..1] ?"
Bill_To_Name="
xs:string
[0..1] ?"
Bill_To_Email="
xs:string
[0..1] ?"
Submitted_By_Name="
xs:string
[1] ?"
Submitted_By_Org="
xs:string
[1] ?"
Submitted_By_Date="
xs:dateTime
[1] ?"
Special_Instructions="
xs:string
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
Lab_Request">
<
xs:sequence>
</
xs:sequence>
<
xs:attribute name="
ID"
type="
xs:unsignedInt
"
use="
required"/>
<
xs:attribute name="
Number"
type="
xs:unsignedInt
"
use="
required"/>
<
xs:attribute name="
Version"
type="
xs:unsignedInt
"
use="
required"/>
<
xs:attribute name="
Turnaround_Date"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
IsFastTurnaround"
type="
xs:boolean
"
use="
optional"/>
<
xs:attribute name="
Purchase_Order_Number"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Org_To_Be_Billed"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Bill_To_Name"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Bill_To_Email"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
Submitted_By_Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Submitted_By_Org"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Submitted_By_Date"
type="
xs:dateTime
"
use="
required"/>
<
xs:attribute name="
Special_Instructions"
type="
xs:string
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Name |
Lab_Requests |
Abstract
|
no |
Documentation |
Collection of Lab Requests associated with the physical samples identified by this eCoC.
|
Schema Component Representation
<
xs:complexType name="
Lab_Requests">
<
xs:sequence>
<
xs:element name="
Lab_Request"
type="
local:Lab_Request
"
maxOccurs="
unbounded"
minOccurs="
0"/>
</
xs:sequence>
</
xs:complexType>
Complex Type: Method
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
Name="
xs:string
[1] ?"
Code="
xs:string
[1] ?"
Lab_Ref="
xs:string
[1] ?"
Matrix="
xs:string
[1] ?"
Description="
xs:string
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
Method">
<
xs:sequence>
<
xs:element name="
Analytes"
type="
local:Analytes
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Code"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Lab_Ref"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Matrix"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Description"
type="
xs:string
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Schema Component Representation
<
xs:complexType name="
Methods">
<
xs:sequence>
<
xs:element name="
Method"
type="
local:Method
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
Complex Type: Quote
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
Quote_Number="
xs:string
[1] ?"
Quote_Name="
xs:string
[1] ?"
Expiry_Date="
xs:dateTime
[0..1] ?"
Created_Date="
xs:dateTime
[1] ?"
Client_Name="
xs:string
[1] ?"
Client_Ref="
xs:string
[1] ?"
Client_Manager="
xs:string
[0..1] ?"
IsPrimaryQuote="
xs:boolean
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
Quote">
<
xs:sequence>
</
xs:sequence>
<
xs:attribute name="
Quote_Number"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Quote_Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Expiry_Date"
type="
xs:dateTime
"
use="
optional"/>
<
xs:attribute name="
Created_Date"
type="
xs:dateTime
"
use="
required"/>
<
xs:attribute name="
Client_Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Client_Ref"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Client_Manager"
type="
xs:string
"
use="
optional"/>
<
xs:attribute name="
IsPrimaryQuote"
type="
xs:boolean
"
use="
optional"/>
</
xs:complexType>
Complex Type: Quotes
Super-types: |
None |
Sub-types: |
None |
Name |
Quotes |
Abstract
|
no |
Documentation |
Any special instructions for the laboratory, associated with the analyses request.
|
Schema Component Representation
<
xs:complexType name="
Quotes">
<
xs:sequence>
<
xs:element name="
Quote"
type="
local:Quote
"
maxOccurs="
unbounded"
minOccurs="
0"/>
</
xs:sequence>
</
xs:complexType>
Complex Type: Sample
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
Sample_ID="
xs:string
[1] ?"
Matrix_Type="
xs:string
[1] ?"
DateTime="
xs:dateTime
[1] ?"
Comments="
xs:string
[1] ?"
Hold="
xs:boolean
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
Sample">
<
xs:sequence>
</
xs:sequence>
<
xs:attribute name="
Sample_ID"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Matrix_Type"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
DateTime"
type="
xs:dateTime
"
use="
required"/>
<
xs:attribute name="
Comments"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Hold"
type="
xs:boolean
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Schema Component Representation
<
xs:complexType name="
Samples">
<
xs:sequence>
<
xs:element name="
Sample"
type="
local:Sample
"
maxOccurs="
unbounded"
minOccurs="
0"/>
</
xs:sequence>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
XML Instance Representation
<...
WasSelectedAtThisLevel="
xs:boolean
[1] ?"
Name="
xs:string
[1] ?"
Description="
xs:string
[0..1] ?"
>
</...>
Schema Component Representation
<
xs:complexType name="
Schedule_Suite">
<
xs:sequence>
<
xs:element name="
Methods"
type="
local:Methods
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
WasSelectedAtThisLevel"
type="
xs:boolean
"
use="
required"/>
<
xs:attribute name="
Name"
type="
xs:string
"
use="
required"/>
<
xs:attribute name="
Description"
type="
xs:string
"
use="
optional"/>
</
xs:complexType>
Super-types: |
None |
Sub-types: |
None |
Name |
Schedule_Suites |
Abstract
|
no |
Documentation |
Collection of Analysis Suites in cluded in the Analysis Group.
|
Schema Component Representation
<
xs:complexType name="
Schedule_Suites">
<
xs:sequence>
<
xs:element name="
Schedule_Suite"
type="
local:Schedule_Suite
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
Complex Type: Site
Super-types: |
None |
Sub-types: |
None |
Complex Type: Sites
Super-types: |
None |
Sub-types: |
None |
Name |
Sites |
Abstract
|
no |
Documentation |
Sites Associated with the submitted samples.
|
Schema Component Representation
<
xs:complexType name="
Sites">
<
xs:sequence>
<
xs:element name="
Site"
type="
xs:string
"
maxOccurs="
unbounded"
minOccurs="
0"/>
</
xs:sequence>
</
xs:complexType>
Complex Type:
Schema Component Type
AusAddress
Schema Component Name
Super-types: |
Address < AusAddress (by extension)
|
Sub-types: |
-
QLDAddress (by restriction)
|
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
The table above displays the properties of this schema component.
XML Instance Representation
<...
country="Australia"
>
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice
[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode>
string <<pattern = [1-9][0-9]{3}>>
</postcode> [1]
?
</...>
The XML Instance Representation table above shows the schema component's content as an XML instance.
- The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
- Model group information are shown in gray, e.g. Start Choice ... End Choice.
-
For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
- If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
-
Otherwise, the type of the element/attribute is displayed.
- If the element/attribute's type is in the schema, a link is provided to it.
-
For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
- If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Schema Component Representation
<complexType
name="AusAddress">
<complexContent>
<extension
base="
Address
">
<sequence>
<element
name="state" type="
AusStates
"/>
<element
name="postcode">
<simpleType>
<restriction
base="
string
">
<pattern
value="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attribute
name="country" type="
string
" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)