Laboratory Specifications

Description

ESdat Electronic Lab Data Format:

The ESdat Electronic Lab Data Format (ELDF) enables direct import and validation of results from laboratories to ESdat*.

The specifications on this page relate to ELDF 2e. ELDF 4 was released in Dec 2020 and captures additional QA information where it is required. Both 2e and 4 will be supported on an ongoing basis, but it is recommended a laboratory only offer one or the other, not both. If a laboratory offers ELDF 4 there is no need to also offer 2e, which is a sub-set of 4. ELDF 4 specifications can be found here

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

ELDF 2e:

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.ESdatHeader.xml

Project1.LabFile01.ESdatSample2e.csv

Project1.LabFile01.ESdatChemistry2e.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. Text is permitted for asbestos analyses or other specific results.
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.

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
*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.

Leachate Tests

Leaching test results are not given a separate SampleCode, (i.e. 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

TIC, or unknown compounds should be identified as specifically as possible.

Each specific TIC needs a unique ChemCode, numbered from 1 for the first TIC for each category as shown below, and incremented for each additional TIC in the same category. The most specific TIC ChemCode applicable should be used.

Unknown Compound ChemCode
Unknown Alkane
UnkAlkane1, UnkAlkane2 etc..
Unknown Aromatic
UnkAromatic1, UnkAromatic2 etc..
Unknown Volatile
UnkVol1 , UnkVol2 etc..
Unknown Semi Volatile
UnkSemiVol1, UnkSemiVol2 etc..
Unknown
Unk1, Unk2 etc..

If a TIC belongs to a compound group not given above, a request for a new TIC ChemCode for that compound group should be forwarded to ESdat support.

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. Reporting as Text is supported for specific analytes.

For other analytes, a non-detect should be reported with a Result value of 0; adetect 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.

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, i.e. 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, i.e. the % recovery should be reported in the Result column with Result Units of '%'.

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, i.e. :
The % recovery should be reported in the Result column with Result Units of '%'

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.

Trip Spikes

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

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).

Laboratory Duplicates

The Sample Type should be reported as Lab_D or Lab_T for laboratory duplicates or triplicates.
The SampleCode of the Parent Sample should be reported in the Parent_Sample column.
The results should be reported as normal measured concentrations.

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

Have questions?

Helping YOU do, what YOU want, with YOUR data
1Personal details
2Complete