Skip to main content

For environmental monitoring programs

Environmental data management software.

Load, validate, and standardize lab and field data on a defensible, tamper-evident record — your as-reported values are never overwritten, and every import prints an audit report of what it did.

We run your own deliverable and send the audit report back. Nothing moves until you say so.

As reported → canonical

Illustrative — sample data

Example analytical results showing the as-reported value preserved alongside the derived canonical value.
Analyte As reported Canonical Factor Status
Trichloroethylene 79-01-6 0.0047 mg/L 4.7 ug/L ×1000.0 Converted
Tetrachloroethene 127-18-4 <0.5 UG/L Non-detect <0.5 ug/L ×1.0 Unit normalized
Benzene 71-43-2 12 ug/L Estimated 12 ug/L ×1.0 Already canonical

Conversion registry 2026-07-20.1 · as-reported values are stored unmodified · canonical values are derived, not written over the original

CHEMDAS by the numbers

deliverable formats read end to end, each with its own parser
3
tables and sheets routed by declared content signature, not by filename
30
EPA-aligned sample classifications, including field and lab QC
24
measurement dimensions in the canonical unit registry
14

Every figure above is read from the running system when this page renders · canonical unit registry 2026-07-20.1

See what each one does

Proof, every run

Nothing commits until it's checked — and every run proves what it did.

On a lab deliverable, severity-tiered rules hold the commit until every row passes. When a run finishes, it prints an Import Audit Report you can hand a reviewer.

Regulatory criteria screening

Compare every result against the standard that governs it.

A live engine screens your results against the regulatory criteria sets you choose and a land-use scenario — flagging each result above or below its screening level.

How criteria screening works
  • Screened, not typed

    MCLs, RSLs, and state screening levels are compared by the engine — not by hand in a spreadsheet.

  • Every exceedance flagged

    Results with no applicable standard are counted separately rather than quietly passing.

  • Frozen for the record

    Freeze a whole-project pass as a write-once official determination for reporting.

The economics

Most of what you're quoted isn't software.

In the proposals we've seen, roughly two-thirds of the annual price isn't the licence — it's a vendor's desk hand-keying your data, every quarter, forever.

If you're a consultant

CHEMDAS automates the keying, not the judgment. Those are the lowest-rate hours on the invoice — you still bill the quarter.

Coming off GIS\Key

We read all 22 tables — not just the results file.

QC class is encoded by which file a row sits in. Read CResult.dbf alone and the blanks, spikes and duplicates that make your results defensible quietly vanish.

Bring us a deliverable. We'll run it and send back the audit report.

Send a GIS\Key 3.1 export, a GIS\Key 3.1 EDD, or a native spreadsheet. We'll run it on your data and send the audit report back — before you move anything.

  1. You send a deliverable

    A GIS\Key 3.1 export, a GIS\Key 3.1 EDD, or a native spreadsheet. Client identifiers can be stripped first.

  2. We run the real pipeline

    The same validate, standardize and commit path a customer runs — no bespoke handling.

  3. You get the report back

    The Import Audit Report for your own data, and the answer to whether it commits clean.