ESdat Electronic Lab Data Format v2e:

The purpose of the ESdat Electronic Lab Data Format (ELDF) is to enable transfer of results from a laboratory to ESdat users in a format which allows validation and direct import into ESdat*.

Other file formats to facilitate advanced integration of eCOC and eSRN information between the laboratory and ESdat are available. See LSPECS Integration

The ELDF files contain laboratory report, sample and result information, including comprehensive quality assurance data. The ELDF consists of three files:

  • Header File
  • Sample File
  • Chemistry File (which contains the results).

The file names are of the format: Project Name as provided by the users; a full stop; a laboratory file identifier; a full stop; the text "Header", "Sample2e" or "Chemistry2e" as appropriate and the file extension (".xml"or ".csv" as appropriate). An example of a file set would be

  • Project1.LabFile01.Header.xml
  • Project1.LabFile01.Sample2e.csv
  • Project1.LabFile01.Chemistry2e.csv
  • COC and COA in PDF Format as well as other files usually provided by the laboratory.

Header File:

The Header File xml specifications are fully described here

Sample File:

Within the csv export files Line 1 lists the data fields, line 2 and onwards contains the data for those fields:

One record for each field and laboratory sample.

Primary Key

Field

Description

Req'd

Data Type

*

SampleCode

Unique Identifier for each sample *

Y

Text(40)

Sampled_Date_Time

From COC

Date with optional time

Field_ID

From COC (Normal samples only)

Text(40)

Depth

From COC

Number or Number - (dash) Number

Matrix_Type

Y

List of Soil, Water, Gas, SoilGas, Other or as provided on the COC

Sample_Type

Description of sample as from the field or a lab QC sample.

Y

List of :
Normal,
MS, (Matrix Spike)
MS_D, (Matrix Spike Duplicate)
Trip_B, (Trip Blank)
MB, (Method Blank)
SB, (Storage Blank)
LCS, (Lab Control Sample)
LCS_D, (LCS Duplicate)
SRM, (Standard Reference Material)
CRM, (Certified Reference Material)
LAB_D (Duplicate)
LAB_T (Triplicate)
NCP (Non-Client Parent - for duplicates or spikes from another client in the same sample analysis batch)

Parent_Sample

For duplicates, give the SampleCode of the original

Text(40)

SDG

Sample Delivery Group, Use the COC Number from the COC or if not available use "Lab Name Date Received".

Lab QA Samples should be given the same SDG as the field Samples, or the value should be left blank.

Y

Text(20)

Lab_Name

Y

Text(20)

Lab_SampleID

Laboratory Sample ID

Y

Text(20)

Lab_Comments

Lab Comments specific to a sample

N

Text(255)

Lab_Report_Number

Y

Text(20)

*The SampleCode should be constructed using the following syntax. [Lab_Report_Number]_[LabSampleID]. Other methods may also be used so long as each Sample (even Samples reported in a different Report) have a unique SampleCode which is < 40 characters

**Fields Blank1, Blank2 etc.. are placeholder columns to maintain consistency with previous versions of the export. They do not need to be populated and will eventually be removed.

*** The records in the file should be sorted by Sample_Type DESC.  This means the "Normal" samples will appear first.  A secondary sort should be by Field_ID ASC.  This makes it easy for users to identify their QA Samples.

Chemistry File:

Within the csv export files Line 1 lists the data fields, line 2 and onwards contains the data for those fields:

One record for each result.

Primary Key

Field

Description

Req'd

Data Type

*

SampleCode

Unique Identifier for each sample (as per Sample File)

Y

Text(40)

*

ChemCode

Unique Identifier for each analyte (eg. CAS number)

Y

Text(20)

OriginalChemName

The name for the Analyte as given in the laboratories Certificate of Analysis

Y

Text(50)

Prefix

if below detection limit

"<" or ">"

Result

The reported result applicable for the result unit.

Y

Number

Result_Unit

Should use SI Units where possible. A dash should be specified where units are not applicable, such as for pH or text results.

Y

Text(15)

*

Total_or_Filtered

Either Total or Filtered, if blank will default to T.

Y

List of
T (Total)
F (Filtered)

*

Result_Type

Y

Restricted to:
REG (regular result)
leached_REG (regular leached results)
SUR (Surrogate)
leached_SUR (leached surrogate)
SC (Spike Compound)
SC (Spike Compound Duplicate)

Method_Type

Y

Text(50):
PAH
Pesticides
Inorganic
Metals...

Etc as indicated on the CoC.

If a suitable value isn’t available then the name of the Method is most suitable, ie for the method “EG005T: Total Metals by ICP-AES”, the Name “Total Metals by ICP-AES” or similar would be most suitable.

 

*

Method_Name

Method or Test Code, eg SW-846 or 8260B.

Y

Text(70)

Extraction_Date

Date extracted

if possible

Date

Analysed_Date

Date analyzed

if possible

Date

EQL

Quantitation Limit

Y

Number

EQL_Units

Quantitation Limit Units

Y

Text(15)

Comments

Lab Comments specific to a result.

N

Text(255)

Lab_Qualifier*

N

Text **

UCL

Upper Confidence Limit used for QA recoveries

N

Number

LCL

Lower Confidence Limit used for QA recoveries

N

Number

LCL

Lower Confidence Limit used for QA recoveries

N

Number

*The Lab_Qualifier may be populated with a data qualifier (U,J,J+,J-,R,UJ) as described in various USEPA documents, for example: https://www.epa.gov/sites/production/files/2015-06/documents/g8-final.pdf , / Data Qualifier Definitions

** Multiple Lab Qualifiers to be separated with a semi colon ";"

File Format

The fields and data in the csv files may optionally be surrounded by quotation marks.

Duplicates

Lab duplicates and triplicates should have a different sample code to the original sample, (typically the same code ending in _D, _T or similar, ie each sample code is unique). The Sample_Type field should indicate whether it is a duplicate or triplicate. The original sample code for duplicates or triplicates should go in the field "Parent_Sample".

Leachate Tests

Leaching test results are not given a separate SampleCode, (ie are not treated as a separate sample). Results are indicated in the chemistry file, and are identified in the Result_Type field.

Date Formats

Dates should be in the format dd mmm yyyy (eg 3 Jan 2007). This avoids confusion between users with different regional settings. If time is included it should be hh:mm AM/PM.

Tentatively Identified Compounds

Tentatively Identified Compounds should be reported with the ChemCode of the TIC, and be identified as such in the Comments field of the chemistry file. If the laboratory is using Lab Qualifiers a suitable Lab Qualifier should be reported.

Text Results

Asbestos and some other analyses are often reported as text. These results should be reported as follows, which allows consistent filtering, mapping and analysis of data as well as reporting of the text result:

A non detect should be reported with a Result value of 0; A detect with a result value of 1. The Result_Unit should be "Detect". The text (usually Yes or No, but can be anything)is inserted into the Lab_Comments field.

The EQL and the EQL Unit should remain as normal for an EQL, for example: 1 g/kg.

Aborted Analysis

Aborted analyses can be reported, a value of -999 should be entered as a result, and a comment entered into the Comments field in the Results file.

Laboratory QA Samples

Matrix Spikes

The Sample Type should be reported as MS.
The SampleCode of the pre-spike sample indicated in the Parent Sample Column.
The results should be reported as per all Spike results, ie the % recovery should be reported in the Result column with Result Units of '%'.

Trip Spikes

The Sample Type should be reported as Trip_S.
The results should be reported as per all Spike results, ie the % recovery should be reported in the Result column with Result Units of '%'.

Laboratory Control Sample, Certified Reference Material, Standard Reference Material

The Sample Type should be reported as LCS, CRM, SRM as appropriate.
The results should be reported as per all Spike results, ie the % recovery should be reported in the Result column with Result Units of '%'.

Duplicates

Duplicates should have a different sample code to the original sample, (ie each sample code is unique). The Sample_Type field should indicate the kind of duplicate. The original sample code for duplicates or triplicates should be reported in the "Parent_Sample" column.

Laboratory QC performed on other clients field samples.

If the Lab Duplicate or Matrix spike used for Analysis Batch QC is on a field sample from another client the QC results on the parent and duplicate or spiked sample should still be reported.
The Field ID and Depth and any client provided information for these samples should not be reported.
The Sample Type of the Parent Sample should be set to NCP (Non Client Parent).

Matrix Spike Duplicates and Laboratory Control Sample Duplicates

The Sample Type should be reported as MS_D or LCS_D as appropriate.
The SampleCode of the primary Matrix Spike sample indicated in the Parent Sample Column.
The results should be reported as per all Spike results, ie :
The % recovery should be reported in the Result column with Result Units of '%'

Laboratory Duplicates

The Sample Type should be reported as Lab_D for intralaboratory duplicates (from the same lab) or Lab_T for interlaboratory triplicates (duplicates sent to a different lab).
The SampleCode of the Parent Sample should be reported in the Parent_Sample column.
The results should be reported as normal measured concentrations.

Trip, Method and Storage Blanks

The Sample Type should be reported as Trip_B, MB or SB as appropriate.
The results should be reported as normal measured concentrations.

*The ESdat ELDF format is a continuously maintained and evolving proprietry format for receipt of laboratory results by organisations with an active ESdat maintenance agreement, account or subscription and subsequent processing, storage or other use without limitation. Third party software or development organisations wishing to use the ESdat format for other commercial or bespoke software should contact EScIS to arrange a licence agreement.