Skip to main content

JSA Preparation Workflow

Last Updated: 2026-02-17 Status: Production


Overview

The JSA Preparation workflow allows the Contractor to prepare Job Safety Analysis (JSA) documents for an approved project. The system creates 3 default JSA forms, and the Contractor can add more as needed. Once ready, the Contractor submits them for co-review by the Work Owner (WO) and Safety Officer (SO). Both reviewers must individually approve every JSA document before approving the task.

Prerequisite: An approved Project Registration is required before starting this workflow.


Workflow Overview

Co-Review

Both WO and SO must approve all documents independently. Request Change clears all approvals. Only one active JSA per project.


Co-Review Sequence Diagram

The following sequence diagram shows the dual-role approval flow in detail:


Step-by-Step

Step 1: Contractor Prepares JSA (จัดเตรียม JSA)

ItemDetails
ResponsibleContractor (ผู้รับเหมา)
StatePrepare JSA (จัดเตรียม JSA)
Actions availableFill JSA data, add/remove JSA forms, sign
Editable documentsAll JSA forms
Reference documents (read-only)Project Registration, Pre-Work Procedures

What the Contractor does:

  1. Open the JSA Preparation task from "My Tasks" (งานของฉัน)
  2. The system creates 3 default JSA forms based on work type:
    • Hot Work — Welding, Cutting, Grinding, Drilling (งานเชื่อม งานตัด งานเจียร งานเจาะ)
    • Work at Height (การทำงานบนที่สูง)
    • Elevated Platform (งานรถกระเช้า)
  3. Fill in each form: work area, activities, potential hazards, control measures
  4. Add more JSA forms by clicking "Add JSA" (เพิ่ม JSA) if needed
  5. Sign in the "Prepared by (Contractor)" (ผู้จัดทำ) signature field
  6. When ready, click "Submit JSA" (ส่ง JSA) — the task moves to WO and SO simultaneously

Available commands:

CommandThaiIconResult
Submit JSAส่ง JSAsendSend to WO + SO for co-review
CancelยกเลิกblockCancel the JSA task

Step 2: WO + SO Co-Review (ตรวจสอบร่วม)

ItemDetails
ResponsibleWork Owner (WO) + Safety Officer (SO)
StateCo-Review (ตรวจสอบร่วม)
JSA documentsRead-only (cannot edit)
Command buttonsOnly visible when viewing a JSA document (not on the document list)
Document-Level Approval (การอนุมัติเอกสารรายฉบับ)

The system uses document-level approval — reviewers must approve every JSA document individually before they can approve the task.

  • Open each JSA document → click the "Approve Document" (อนุมัติเอกสาร) button on the document toolbar
  • Approved documents show a green "Approved" (อนุมัติแล้ว) button and a green background in the document list
  • You can revoke approval by clicking the green "Approved" button again
  • WO and SO must approve documents independently (WO's approvals don't count for SO, and vice versa)

What the reviewer does:

  1. Open the JSA task from "My Tasks"
  2. Open each JSA document to review the content (documents are read-only)
  3. If the content is correct → click "Approve Document" (อนุมัติเอกสาร) on the document toolbar
  4. Repeat for all JSA documents
  5. Once all documents are approved → click "Approve JSA" (อนุมัติ JSA)
  6. If not all documents are approved → the system shows an error: "Please approve all JSA documents before approving the task" with the count of approved documents

Available commands:

CommandThaiIconConditionResult
Approve JSAอนุมัติ JSAcheck_circleAll documents must be approved firstRecords approval (waits until both roles approve → Approved)
Request Changeส่งกลับแก้ไขreplayNo document approval requiredSends back to Contractor (clears all document approvals)
Request Change does not require document approvals

The Request Change command can be used immediately without approving any JSA documents first.


Step 3: Approved (อนุมัติแล้ว)

Once both WO and SO have approved the JSA, the status automatically changes to "Approved" (อนุมัติแล้ว).

  • All JSA documents become read-only
  • Contractor, WO, and SO can save JSA forms as personal templates for reuse

Co-Review: Dual-Role Approval

OrderReviewerWhat to doStatus after approval
1WO or SO (either first)Approve all documents → click "Approve JSA"Waiting for the other role
2The remaining roleApprove all documents → click "Approve JSA"Approved (both roles complete)

Key points:

  • Order doesn't matter — WO or SO can approve first
  • Each role must approve documents independently (not shared between roles)
  • After approval, the reviewer's signature appears on the JSA documents
  • The other reviewer can see signatures from the person who already approved

Request Change Behavior

When WO or SO clicks "Request Change" (ส่งกลับแก้ไข):

What happensDetails
Status changes toPrepare JSA (back to Step 1)
Document approvalsAll cleared (both WO and SO approvals)
SignaturesRetained (not deleted)
ContractorMust revise and resubmit
WO + SOMust re-approve all documents from scratch

All States

StateThai NameDescriptionResponsible
Prepare JSAจัดเตรียม JSAContractor fills in JSA dataContractor
Co-Reviewตรวจสอบร่วมWO + SO review and approve all documentsWO + SO
Approvedอนุมัติแล้วJSA approved by both roles
CancelledยกเลิกContractor cancelled the task

Documents in JSA Task

System-Generated Documents

DocumentDescriptionEditable
JSA forms 1–3 (default)Job Safety Analysis documentsContractor can edit during "Prepare JSA" step
Additional JSA formsAdded as needed via "Add JSA" buttonContractor can edit during "Prepare JSA" step

Reference Documents (Read-Only)

DocumentSource
Project Registration (ใบลงทะเบียนโครงการ)From the approved Project Registration task
Pre-Work Procedures (ระเบียบปฏิบัติงาน)From the approved Project Registration task

Edit Permissions by State

StateJSA DocumentsReference Documents
Prepare JSAEditable (Contractor)Read-only
Co-ReviewRead-onlyRead-only
ApprovedRead-onlyRead-only
CancelledRead-onlyRead-only

Signatures

Each JSA document has 3 signature positions:

PositionThaiRoleWhen
Prepared by (Contractor)ผู้จัดทำ (ผู้รับเหมา)ContractorDuring "Prepare JSA" step
Approved by (Safety Officer)ผู้อนุมัติ (เจ้าหน้าที่ความปลอดภัย)SODuring "Co-Review" when clicking "Approve JSA"
Approved by (Work Owner)ผู้อนุมัติ (เจ้าของงาน)WODuring "Co-Review" when clicking "Approve JSA"

Auto-signature: Internal users (WO, SO) who have saved their signature in personal settings will have it filled automatically without entering a password.


JSA Template Save

After a JSA task is approved, participants can save JSA forms as templates for reuse in future tasks:

RoleTemplate TypeWhere to Manage
ContractorContractor templatePersonal templates
Work Owner (WO)System templateTools → JSA Templates
Safety Officer (SO)System templateTools → JSA Templates

Workflow Ecosystem

JSA Preparation is part of the larger workflow process:

Project Registration
│ Approved
├──► JSA Preparation ◄── You are here
│ │ Approved
│ └──► Work Permit Request

└──► Tool List Preparation
│ Approved
└──► Work Permit Request

Note: A Work Permit Request requires an approved JSA. If none exists, the system will show a warning.


Test Scenarios

Scenario 1: Submit and Approve Successfully (Happy Path)

StepActorActionExpected Result
1ContractorCreate "JSA Preparation" taskSee 3 default JSA forms
2ContractorFill in data and signData auto-saves
3ContractorClick "Submit JSA"Status changes to "Co-Review"
4WOOpen each JSA documentDocuments are read-only
5WOClick "Approve Document" on eachButton turns green "Approved"
6WOClick "Approve JSA"WO approval recorded (waiting for SO)
7SOSame as steps 4–5Approves documents independently from WO
8SOClick "Approve JSA"Both roles complete → status "Approved"

Scenario 2: Approve JSA Without Approving Documents First

StepActorActionExpected Result
1WO/SOOpen task in "Co-Review" state
2WO/SOClick "Approve JSA" immediately (no doc approvals)Error dialog: "Please approve all JSA documents"
3WO/SOApprove some documents → click "Approve JSA"Error dialog with count: "Approved 1 of 3 documents"

Scenario 3: Request Change

StepActorActionExpected Result
1WO/SOClick "Request Change"Status returns to "Prepare JSA"
2ContractorRevise and resubmitStatus changes to "Co-Review"
3WO/SOOpen taskAll previous document approvals cleared; must approve again

Scenario 4: Add New JSA Form

StepActorActionExpected Result
1ContractorClick "Add JSA"New JSA form appears in the list
2ContractorFill in the new formData auto-saves
3ContractorSubmit JSAWO/SO must approve all JSA documents (including the new one)

Scenario 5: Save as Template

StepActorActionExpected Result
1Any participantOpen an approved JSA taskDocuments read-only, "Save as Template" button visible
2Any participantClick "Save as Template"Template saved (type depends on role)

Scenario 6: Cancel

StepActorActionExpected Result
1ContractorClick "Cancel" during "Prepare JSA" stepStatus changes to "Cancelled"
2All documents become read-only

Tester Checklist

Basics

  • Create a new JSA task successfully
  • See 3 default JSA forms
  • Can add new JSA forms
  • Project data displayed as read-only (project name, contractor, PO, dates)
  • Auto-save works

Document-Level Approval

  • "Approve Document" button appears on JSA document toolbar (left side)
  • JSA documents are read-only during review (cannot edit, add rows, or delete)
  • Click approve → button turns green "Approved"
  • Document list shows green background for approved documents
  • Click green "Approved" button again → revokes approval (back to gray)

Co-Review

  • WO approves documents + clicks "Approve JSA" → waiting for SO
  • SO opens same task → must approve documents independently (not shared with WO)
  • SO approves documents + clicks "Approve JSA" → both roles complete → "Approved"

Hard Validation

  • Click "Approve JSA" without approving documents → error dialog shown
  • Error dialog shows count: "Approved N of M documents"

Request Change

  • Click "Request Change" → status returns to "Prepare JSA"
  • All document approvals cleared (both WO and SO)
  • Contractor revises and resubmits → WO/SO must re-approve all documents

Signatures

  • 3 signature positions: Prepared by (Contractor), Approved by (SO), Approved by (WO)
  • WO/SO with saved personal signature → auto-filled, no password required

Templates

  • Approved JSA task → "Save as Template" button visible
  • Save succeeds → template available for selection in new tasks