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.

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 →