Skip to main content

Year End HSEQ Review

The Year End HSEQ Review module allows admin users to create annual review documents that summarize the year's MOC activity, assess effectiveness, and document improvement actions.

Overview

This module is accessible only to Admin users from the sidebar under "Year End HSEQ Review".

Feature location: src/features/year_end_review/

Creating a Review

Navigate to Year End HSEQ Review → Create New to start a new review document.

The review editor presents a structured document with the following sections:

SectionContent
Purpose and ScopeEditable rich text (pre-filled with template content)
BSM Procedure 023Reference to the BSM procedure governing MOC
TMSA Element 7Reference to the TMSA element for management of change
ParticipantsTable of assigned participants for the review
MOCs GeneratedAuto-populated table of MOCs created during the review year
EffectivenessNarrative assessment of the year's MOC effectiveness
ImprovementsList of improvements identified (multi-entry input)
Issues NoticedList of issues encountered (multi-entry input)
ActionsList of actions to be taken (multi-entry input)
Review MetadataPrepared by, department name, reviewed by, date of review

The document sections are pre-filled with template content defined in:

src/features/year_end_review/utils/end_of_year_json.tsx

Editing a Review

Navigate to Year End HSEQ Review → Recent Reviews to see all previously created reviews. Click on a review to open it in edit mode.

In edit mode, the same editor is displayed with the saved data pre-populated. Changes can be saved with or without full validation.

Document Structure

The review document uses a split layout:

  • Main editor — Rich text sections rendered through EndOfYearWrapperEditor
  • Sidebar — Sticky table of contents for quick section navigation via EndOfYearReviewTableOfContentsComponent

Data Model

Year-end reviews are stored using a flexible schema (src/models/end_year.ts) with strict: false, allowing any fields to be stored. The key data structure is:

interface FinalYearEndData {
effectiveness: string;
improvements: string[];
issuesNoticed: string[];
actions: string[];
reviewMinutesPreparedBy: string;
departmentName: string;
reviewByDepartmentHead: string;
dateOfReview: string;
}

API

MethodEndpointPurpose
GET/api/year-end-reviewFetch all reviews or a specific review by id query param
POST/api/year-end-reviewCreate a new review
PUT/api/year-end-review?id={id}Update an existing review