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 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.
Two automations carry the work
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.
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.
From raw records to a signed package
- 01
Collect
Pull checklist and equipment records from the PIMS API; import the 3WLA list.
- 02
Validate
Aggregate by subsystem, filter unpackaged checksheets, check fields against the rules.
- 03
Assemble
Generate the PDF and Excel report; download HOP documents from Aconex.
- 04
Sign off
Upload metadata and files into PIMS and sign the readiness certificates.
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.
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.