Part of: Industrial commissioning automation
Flagship build · case study

PIMS & RFCC Automation

Manual report and readiness-package work, replaced with code.

On a large-scale industrial commissioning project, building reports and signing off readiness packages used to be hours of pulling records, formatting, and chasing documents by hand. I rebuilt that work as automation: Python, Playwright, and the PIMS API doing the collection, validation, and sign-off.

Live mining project · case study

PIMS recordsvalidatePDF + XLSXHOP docsSIGNED
What it is

PIMS is the engineering data platform of record on the project: tens of thousands of equipment and instrument records, checklists, and commissioning data. The day-to-day work is repetitive and high-stakes. Pull the right records, validate them, format a report, assemble a readiness package, sign it off. Get one field wrong and a correction cycle costs days.

I write the software that takes that work off my hands. Two automations carry most of it: a CLI that generates subsystem-readiness reports straight from the PIMS API, and an end-to-end RFCC sign-off flow that imports the 3WLA list, pulls HOP documents from Aconex, uploads the metadata and files back into PIMS, and signs the readiness certificates.

What it does

Two automations carry the work

Subsystem readinessby work package100%76%90%READY

Subsystem-readiness reports

A Python CLI fetches checklist data from the PIMS API, aggregates it by subsystem, and outputs a formatted PDF and Excel in one run. It flags which subsystems are 100% ready and which are almost there, grouping checksheets by work package. Checksheets with no package assignment are excluded by design so completion percentages stay honest.

RFCCXXXX-XX3WLA imported · HOP uploadedSIGNED

RFCC sign-off flow

One command runs the whole readiness-certificate cycle. It imports the 3WLA CSV, downloads the HOP documents from Aconex with Playwright, uploads the metadata and files into PIMS, and signs the RFCCs. What used to be a manual, multi-system slog is now a single automated pass.

How it flows

From raw records to a signed package

  1. 01

    Collect

    Pull checklist and equipment records from the PIMS API; import the 3WLA list.

  2. 02

    Validate

    Aggregate by subsystem, filter unpackaged checksheets, check fields against the rules.

  3. 03

    Assemble

    Generate the PDF and Excel report; download HOP documents from Aconex.

  4. 04

    Sign off

    Upload metadata and files into PIMS and sign the readiness certificates.

Under the hood

How it works

  • Python CLI core: pims_client.py fetches, report_logic.py aggregates, pdf_export.py and excel_export.py render.
  • Playwright drives Aconex to export the document register and download HOP files.
  • Power Query M shapes the supporting data feeds that the reports lean on.
  • Config-driven thresholds: the readiness cutoff and grouping rules live in one place, not in the code paths.
  • Runs daily against live project data, not a sandbox.
What changed

Outcomes

  • Report creation dropped from hours of manual pulling and formatting to a single command.
  • Cleaner data and fewer correction cycles, because validation runs the same way every time.
  • Faster turnaround on readiness packages, so sign-off is not the bottleneck.

Real field work, taken off my hands by code.

The code stays private. The capability is the point. See the rest of what Lucas builds.

Back to projects