Geotechnical report analysis
software

Automated CoA screening from UK lab PDFs. Determinands in, screening criteria applied, exceedances flagged. No invented contamination values.

What a CoA actually is

A site investigation produces soil and groundwater samples. An MCERTS-accredited laboratory returns a Certificate of Analysis: sample IDs, matrices, determinands, methods, limits of detection, and results — usually as a PDF that looks like a spreadsheet and behaves like a poster. The geoenvironmental consultant then screens those results against Generic Assessment Criteria, S4ULs, C4SLs, or site-specific assessment criteria under LCRM (the Environment Agency’s land contamination risk management guidance, which replaced CLR11).

The bottleneck is not the science. It is re-keying arsenic as As, TPH CWG bands, PAH-16, asbestos ID, pH and SOM from four different lab house styles into one schedule — then praying a column did not shift.

How software should solve it

Geotechnical report analysis software is not “upload PDF, get a chat summary.” It is a pipeline:

  1. Identify the lab template (Chemtest, i2 Analytical, DETS, Element, SOCOTEC, Envirolab, and the one-off scan from 2019).
  2. Extract sample ID, determinand, unit, result, LOD, and method. Keep the association when a header wraps or a table is borderless.
  3. Normalise units (mg/kg vs µg/kg vs % w/w) before any comparison.
  4. Screen against the criteria set for that site and land use.
  5. Emit an exceedance schedule and an exception list — cells the parser would not certify.

If a cell cannot be read with confidence, the system refuses to guess. Inventing 17 mg/kg of lead is worse than leaving a blank for a human. That is the design rule we shipped in SI Report Analyser.

What a build involves

We take a bounded corpus — typically four lab formats you actually receive — and build a gold set of hand-verified cells. Commercial table extractors (lattice/stream, generic OCR tables) fail on borderless columns; we cluster pdf.js word positions into columns and dual-check two parsers. You get a screening UI, an export that matches your schedule, and an audit of every mapped cell. Related work: lab PDF data extraction for non-geo corpora.

First slice in 30 days if the labs are known. Adding a fifth lab is retainer work, not a rewrite.

Questions

What is automated CoA screening?

Software reads a laboratory Certificate of Analysis, extracts determinands (for example arsenic, lead, TPH, PAHs, asbestos, pH, SOM) with units and sample IDs, then compares results to agreed screening criteria such as GAC, S4ULs or C4SLs. Exceedances are flagged. Missing or unreadable cells are not filled in.

Why do commercial table parsers fail on lab PDFs?

Many UK lab CoAs use borderless columns, wrapped headers, and sample IDs that repeat across pages. Lattice and stream table extractors merge or split those columns. We cluster pdf.js word positions into columns and dual-check parsers instead of trusting a single OCR table.

For the technical detail of getting lab results out of PDFs and into AGS4, read how to extract AGS data from lab PDFs.

Send two ugly CoAs

We will say whether automated CoA screening is honest for your labs.

→ Book a call

Read the SI Report Analyser case study →