QEHSQEHS

migration

Moving from a legacy EHS system

Standard patterns for exporting from a legacy EHS product (no vendor names) and landing cleanly in QEHS.

12 min read · 3 sections

High-level approach

Treat the cutover as three waves: (1) historical records read-only, (2) active records for continuity, (3) open workflow items for business continuity. Most customers keep the legacy system in read-only mode for 30–90 days so auditors can still reach old records directly.

Standard export formats and mapping

Legacy entityTarget moduleNotes
Incidents / InjuriesIncidentsMap severity codes via lookup list
Observations / Near-missObservationsPreserve OBS number as external_id
Audits / InspectionsAudits / InspectionsSplit by audit type
Actions / CAPAActionsPreserve parent linkage
PermitsPermitsImport only permits still within validity
Training recordsTrainingMap courses via training catalog
Users / RolesVia SCIMPreferred over flat CSV

Cutover checklist

  1. Freeze the legacy system for new record creation 1–2 days before cutover.
  2. Export all open/active records + last 2 years of closed records.
  3. Import into a QEHS sandbox. Validate 10-20 high-risk records manually.
  4. Import into production during maintenance window.
  5. Run dashboards side-by-side for a week. Expect small discrepancies from date-time/timezone normalisation.
  6. After 30 days, decommission legacy write path and move it to archive access only.
Tags: migration · ehs · legacy · cutover