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
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)
| Item | Details |
|---|---|
| Responsible | Contractor (ผู้รับเหมา) |
| State | Prepare JSA (จัดเตรียม JSA) |
| Actions available | Fill JSA data, add/remove JSA forms, sign |
| Editable documents | All JSA forms |
| Reference documents (read-only) | Project Registration, Pre-Work Procedures |
What the Contractor does:
- Open the JSA Preparation task from "My Tasks" (งานของฉัน)
- The system creates 3 default JSA forms based on work type:
- Hot Work — Welding, Cutting, Grinding, Drilling (งานเชื่อม งานตัด งานเจียร งานเจาะ)
- Work at Height (การทำงานบนที่สูง)
- Elevated Platform (งานรถกระเช้า)
- Fill in each form: work area, activities, potential hazards, control measures
- Add more JSA forms by clicking "Add JSA" (เพิ่ม JSA) if needed
- Sign in the "Prepared by (Contractor)" (ผู้จัดทำ) signature field
- When ready, click "Submit JSA" (ส่ง JSA) — the task moves to WO and SO simultaneously
Available commands:
| Command | Thai | Icon | Result |
|---|---|---|---|
| Submit JSA | ส่ง JSA | send | Send to WO + SO for co-review |
| Cancel | ยกเลิก | block | Cancel the JSA task |
Step 2: WO + SO Co-Review (ตรวจสอบร่วม)
| Item | Details |
|---|---|
| Responsible | Work Owner (WO) + Safety Officer (SO) |
| State | Co-Review (ตรวจสอบร่วม) |
| JSA documents | Read-only (cannot edit) |
| Command buttons | Only visible when viewing a JSA document (not on the document list) |
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:
- Open the JSA task from "My Tasks"
- Open each JSA document to review the content (documents are read-only)
- If the content is correct → click "Approve Document" (อนุมัติเอกสาร) on the document toolbar
- Repeat for all JSA documents
- Once all documents are approved → click "Approve JSA" (อนุมัติ JSA)
- 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:
| Command | Thai | Icon | Condition | Result |
|---|---|---|---|---|
| Approve JSA | อนุมัติ JSA | check_circle | All documents must be approved first | Records approval (waits until both roles approve → Approved) |
| Request Change | ส่งกลับแก้ไข | replay | No document approval required | Sends back to Contractor (clears all 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
| Order | Reviewer | What to do | Status after approval |
|---|---|---|---|
| 1 | WO or SO (either first) | Approve all documents → click "Approve JSA" | Waiting for the other role |
| 2 | The remaining role | Approve 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 happens | Details |
|---|---|
| Status changes to | Prepare JSA (back to Step 1) |
| Document approvals | All cleared (both WO and SO approvals) |
| Signatures | Retained (not deleted) |
| Contractor | Must revise and resubmit |
| WO + SO | Must re-approve all documents from scratch |
All States
| State | Thai Name | Description | Responsible |
|---|---|---|---|
| Prepare JSA | จัดเตรียม JSA | Contractor fills in JSA data | Contractor |
| Co-Review | ตรวจสอบร่วม | WO + SO review and approve all documents | WO + SO |
| Approved | อนุมัติแล้ว | JSA approved by both roles | — |
| Cancelled | ยกเลิก | Contractor cancelled the task | — |
Documents in JSA Task
System-Generated Documents
| Document | Description | Editable |
|---|---|---|
| JSA forms 1–3 (default) | Job Safety Analysis documents | Contractor can edit during "Prepare JSA" step |
| Additional JSA forms | Added as needed via "Add JSA" button | Contractor can edit during "Prepare JSA" step |
Reference Documents (Read-Only)
| Document | Source |
|---|---|
| Project Registration (ใบลงทะเบียนโครงการ) | From the approved Project Registration task |
| Pre-Work Procedures (ระเบียบปฏิบัติงาน) | From the approved Project Registration task |
Edit Permissions by State
| State | JSA Documents | Reference Documents |
|---|---|---|
| Prepare JSA | Editable (Contractor) | Read-only |
| Co-Review | Read-only | Read-only |
| Approved | Read-only | Read-only |
| Cancelled | Read-only | Read-only |
Signatures
Each JSA document has 3 signature positions:
| Position | Thai | Role | When |
|---|---|---|---|
| Prepared by (Contractor) | ผู้จัดทำ (ผู้รับเหมา) | Contractor | During "Prepare JSA" step |
| Approved by (Safety Officer) | ผู้อนุมัติ (เจ้าหน้าที่ความปลอดภัย) | SO | During "Co-Review" when clicking "Approve JSA" |
| Approved by (Work Owner) | ผู้อนุมัติ (เจ้าของงาน) | WO | During "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:
| Role | Template Type | Where to Manage |
|---|---|---|
| Contractor | Contractor template | Personal templates |
| Work Owner (WO) | System template | Tools → JSA Templates |
| Safety Officer (SO) | System template | Tools → 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)
| Step | Actor | Action | Expected Result |
|---|---|---|---|
| 1 | Contractor | Create "JSA Preparation" task | See 3 default JSA forms |
| 2 | Contractor | Fill in data and sign | Data auto-saves |
| 3 | Contractor | Click "Submit JSA" | Status changes to "Co-Review" |
| 4 | WO | Open each JSA document | Documents are read-only |
| 5 | WO | Click "Approve Document" on each | Button turns green "Approved" |
| 6 | WO | Click "Approve JSA" | WO approval recorded (waiting for SO) |
| 7 | SO | Same as steps 4–5 | Approves documents independently from WO |
| 8 | SO | Click "Approve JSA" | Both roles complete → status "Approved" |
Scenario 2: Approve JSA Without Approving Documents First
| Step | Actor | Action | Expected Result |
|---|---|---|---|
| 1 | WO/SO | Open task in "Co-Review" state | — |
| 2 | WO/SO | Click "Approve JSA" immediately (no doc approvals) | Error dialog: "Please approve all JSA documents" |
| 3 | WO/SO | Approve some documents → click "Approve JSA" | Error dialog with count: "Approved 1 of 3 documents" |
Scenario 3: Request Change
| Step | Actor | Action | Expected Result |
|---|---|---|---|
| 1 | WO/SO | Click "Request Change" | Status returns to "Prepare JSA" |
| 2 | Contractor | Revise and resubmit | Status changes to "Co-Review" |
| 3 | WO/SO | Open task | All previous document approvals cleared; must approve again |
Scenario 4: Add New JSA Form
| Step | Actor | Action | Expected Result |
|---|---|---|---|
| 1 | Contractor | Click "Add JSA" | New JSA form appears in the list |
| 2 | Contractor | Fill in the new form | Data auto-saves |
| 3 | Contractor | Submit JSA | WO/SO must approve all JSA documents (including the new one) |
Scenario 5: Save as Template
| Step | Actor | Action | Expected Result |
|---|---|---|---|
| 1 | Any participant | Open an approved JSA task | Documents read-only, "Save as Template" button visible |
| 2 | Any participant | Click "Save as Template" | Template saved (type depends on role) |
Scenario 6: Cancel
| Step | Actor | Action | Expected Result |
|---|---|---|---|
| 1 | Contractor | Click "Cancel" during "Prepare JSA" step | Status changes to "Cancelled" |
| 2 | — | — | All 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