SCM‑NUMS · KZN Health Governance Package
100%
Master Governance Binder
KZN Department of Health
KwaZulu‑Natal Department of Health

SCM‑NUMSICT Governance & System Assurance Standards

Master governance binder for the Nurses Uniform Management System (SCM‑NUMS). Prepared for the KZN Health ICT Governance Committee in accordance with the KZN Department of Health ICT Governance & System Assurance Standards, PHSDSBC Resolution 1 of 2022, POPIA, PFMA and Treasury Regulations 16A.

Document IDKZN/ICT/SCM-NUMS/2026/001
Version1
Date Issued23 September 2026
Project ManagerMr Themba Sikosana
ClassificationInternal · Confidential
ComplianceKZN ICT · POPIA · PFMA
SCM-NUMS clinical care team
Digitised nurse uniform allowance workflow across 11 KZN districts
SCM‑NUMS Supply Chain Management Nurse Uniform Management System
Prepared for the ICT Governance Committee KZN Health
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 2 of 23
SCM‑NUMS · Master table of contents
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 3 of 23

AAbbreviations & Acronyms

Abbreviations are expanded upon first use in each section and consolidated here for ease of reference.

Register — Part 1
Abbr.Full MeaningContext
ACIDAtomicity, Consistency, Isolation, DurabilityMariaDB/InnoDB transactions
AGSAAuditor‑General of South AfricaExternal assurance provider
APIApplication Programming InterfaceStores module integration
BRD/BRSBusiness Requirements Document / SpecSection 2
CEOChief Executive OfficerPosition Level 11
CHCCommunity Health CentreFacility type
CIOChief Information OfficerOwner of ICT Standards
CRUDCreate, Read, Update, DeleteCatalogue operations
CSRFCross‑Site Request ForgeryAttack mitigated by tokens
CSVComma‑Separated ValuesReport export format
DBADatabase AdministratorCustodian of nurses_db
DoHDepartment of HealthKZN provincial department
DRDisaster RecoverySection 14
ENAEnrolled Nursing AuxiliaryPosition Level 1
FRSFunctional Requirements SpecificationSection 4
HRHuman ResourcesSource for nurses table
HTTPSHTTP SecureSSL/TLS encryption
ICTInformation & Communication TechnologyDepartmental Division
KZNKwaZulu‑NatalProvince hosting system
MVCModel‑View‑ControllerArchitecture pattern (§5)
NDoHNational Department of HealthParent of provincial DoH
NUMSNurses Uniform Management SystemLegacy name; SCM‑NUMS
NFRNon‑Functional RequirementsSections 3 & 4
OWASPOpen Web App Security ProjectSecurity baseline
Register — Part 2
Abbr.Full MeaningContext
PDFPortable Document FormatAudit report output
PDOPHP Data ObjectsParameterised DB access
PersalPersonnel and Salary SystemEmployee identifier
PHSDSBCPublic Health & Social Development Sectoral Bargaining CouncilRes. 1 of 2022
PIIPersonally Identifiable InformationPOPIA protected
POPIAProtection of Personal Information ActPrivacy legislation
RBACRole‑Based Access Control5 roles enforced
RPORecovery Point ObjectiveTarget: 1 hour
RTMRequirements Traceability MatrixSection 10
RTORecovery Time ObjectiveTarget: 4 hours
SCMSupply Chain ManagementBusiness owner
SITAState IT AgencyHosting provider
SLAService Level AgreementAvailability targets
SMBServer Message BlockOff‑site backup protocol
SOPStandard Operating ProcedureSection 16
SQLStructured Query LanguagePrepared statements
SSL/TLSSecure Sockets Layer / Transport Layer SecurityEncryption in transit
UATUser Acceptance TestingSection 12
UPSUninterruptible Power SupplyProtects SITA VM
URSUser Requirements SpecificationSection 3
VMVirtual MachineWindows 10 Enterprise
WAFWeb Application FirewallPerimeter defence
XLSXMicrosoft Excel Open XMLReport export
XSSCross‑Site ScriptingPrevented by encoding
Abbreviations are expanded upon first use in each document section to ensure clarity for all readers.
SCM‑NUMS · Consolidated glossary
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 4 of 23

1Project Charter & Project Plan

Purpose. Defines the system purpose, scope, objectives, stakeholders, responsibilities and implementation approach per KZN ICT Governance Standard §4 (Document 1).

1.1 Executive Summary

The Supply Chain Management (SCM) Nurse Uniform Management System (NUMS) project was initiated to address the critical need for a unified, transparent and auditable platform for nurse uniform management across the KwaZulu‑Natal (KZN) Department of Health (DoH). The system replaces fragmented and largely untracked processes with an integrated, secure, web‑based solution serving over 32,000 nurses across 11 health districts.

The project was formally established on 26 May 2026 with a budget comprising Mr TG Sikosana's remuneration (maximum overtime allowed for the project duration) and to be completed on the 15th October 2026, delivering all planned objectives within scope and budget.

1.2 Current State — No Manual Uniform Process

Current reality: There is no current manual uniform ordering process in KZN Health. Nurses are paid the uniform allowance directly into their Persal account and purchase uniform items themselves. SCM‑NUMS is therefore not a like‑for‑like replacement of a manual paper process — it is a digitisation of an entirely new controlled workflow that replaces untracked direct payment with a transparent, auditable requisition‑and‑approval cycle.

Theoretical Manual‑Process Challenges (For Comparison Only)

The table below is theoretical only. It is included for governance completeness and to highlight the specific value that SCM‑NUMS delivers over a hypothetical manual process. None of these challenges currently apply because no manual process is in operation.

Theoretical Manual Challenges
  • Inefficient paper processes: orders would be slow and error‑prone.
  • Email‑based requests: difficult to track, prioritise or audit.
  • Lack of visibility: no real‑time view of ordering or expenditure.
  • Audit difficulties: audit evidence would be hard to produce.
  • Fraud risk: no traceability would create mismanagement opportunities.
  • Inconsistent practices: no standardisation across facilities.
  • Loss of allowances: direct Persal payments leave no record of what was bought.
Business Value Delivered by SCM‑NUMS
  • Fully digitised requisition process
  • Complete audit trail for every transaction
  • Role‑based access control across 5 roles
  • Real‑time financial and operational dashboards
  • Full compliance with PHSDSBC Resolution 1 of 2022
  • Zero licensing cost and maintainable by own ICT team
  • Replaces untracked Persal allowance with controlled procurement
Important governance note: Because there is no legacy manual process, the risk register (Section 7) does not include “migration from a paper system” as a risk. The relevant risk is user adoption of the new digital workflow (R‑05) and change from untracked Persal payment to controlled requisitioning.
Project registration
Project NameSCM‑NUMS (Supply Chain Management – Nurse Uniform Management System)
Project IDKZN-ICT-2026-01
DepartmentKwaZulu‑Natal Department of Health
DivisionSupply Chain Management & ICT Division
SponsorHead of Department: KZN Health
Project ManagerMr Themba Sikosana (Project Manager · Technical Lead)
Start / End26 May 2026 → 15 October 2026
BudgetMr TG Sikosana remuneration — max overtime for project duration
StatusImplementation Ongoing
Digitised nurse uniform process
Figure 1.1 — Digitised nurse uniform requisition process delivered end-to-end by SCM‑NUMS.

1.3 Project Purpose

SCM‑NUMS was established to develop and implement a unified, transparent and auditable platform for nurse registration, uniform requisitioning, supervisor approval, distribution tracking, financial reporting and compliance monitoring. The system replaces the current untracked direct‑payment model with a secure, web‑based workflow providing end‑to‑end visibility and control.

1.4 Project Scope

In Scope
  • Users: 32,000+ nurses across 11 districts
  • Facilities: 700+ health facilities
  • Online requisitioning: visual catalogue with size selection
  • Approval workflow: position hierarchy (Levels 1–12)
  • RBAC: five distinct user roles
  • Audit trail: complete logging of all transactions
  • Financial reporting: district, facility, province‑wide
  • Integration: HR database for Persal validation
Out of Scope
  • Physical uniform manufacturing
  • Procurement of raw materials
  • Logistics fleet management
  • Physical distribution logistics
  • External system integrations beyond HR
  • Direct Persal payment processing (remains external)
Objectives and Status
ObjectiveTargetStatus
Digitise requisition process100% facilitiesIn Progress
RBAC with 5 rolesFull hierarchyAchieved
Real‑time requisition visibility< 3 secAchieved
Complete audit trail100% loggedAchieved
PHSDSBC complianceFullAchieved
HR integrationReal‑timeAchieved
System availability99.5%Monitoring
Success Criteria
#CriterionTarget
1User Adoption100% within 6 months
2Requisition Processing< 10 days average
3Audit ReadinessAll logged and traceable
4User Satisfaction> 80% positive
5System Performance99.5% uptime, < 3s
Delivery Milestones

Tracked from requirements through to province‑wide go‑live. Each phase gates the next.

PhaseMilestoneDateStatus
RequirementsBRS & URS Approval26 May 2026Complete
DesignArchitecture & Database Schema15 Jun 2026Complete
DevelopmentCore ModulesMost by 1 Aug 2026In Progress
TestingInternal & Security Testing15 Aug 2026In Progress
Facility TestingOn‑site TestingEnd Sep 2026Planned
Pilot5 Pilot FacilitiesEarly Oct 2026Planned
DeploymentProvince‑Wide Go‑LiveMid Oct 2026Planned
Project status: On track. Development largely complete; focus shifted to testing and pilot preparation.
SCM‑NUMS · Project charter
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 5 of 23

2Business Requirements Specification (BRS/BRD)

Purpose. Documents the business requirements and expected system functionality per the KZN ICT Governance Standard §4 (Document 2).

2.1 Business Problem Statement

The KZN Department of Health currently pays the nurse uniform allowance directly into each nurse's Persal account. There is no central record of what uniform items were purchased, from which supplier, at what price, or whether the allowance was used for its intended purpose. This creates a governance gap: the Department cannot demonstrate that public funds allocated for uniforms were applied as intended, nor can it produce audit evidence of uniform provisioning across 32,000+ nurses.

Theoretical manual‑process problems (for comparison only): If a manual paper‑based process existed, it would introduce the problems in the table below. Because no manual process currently exists, these are listed as theoretical risks that SCM‑NUMS is designed to avoid — not as current operational problems.
Theoretical manual problems and business impact
Theoretical ProblemBusiness Impact
Time DelaysOrder processing would take 30+ days from request to delivery
Email‑Based RequestsDifficult to track, prioritise or audit
Data ErrorsIncorrect sizes, quantities, nurse details
Lost RecordsPaper forms frequently lost or misplaced
No Audit TrailCannot track who ordered or approved
Inconsistent PracticesEach facility would have different procedures
Financial LeakageBudget overspending due to lack of visibility
SCM-NUMS catalogue
Figure 2.1 — SCM‑NUMS replaces the untracked direct‑payment model with a controlled digital catalogue.

2.2 Business Objectives

  • Provide Traceability: record what every nurse receives and when.
  • Digitise Requisitioning: fully replace untracked payment with a controlled workflow.
  • Provide Real‑Time Visibility: all stakeholders can track requisitions.
  • Enable Complete Audit Trail: every transaction logged.
  • Standardise Across Districts: consistent practices across all 11 districts.
  • Ensure Compliance: full PHSDSBC Resolution 1 of 2022 compliance.
  • Improve Financial Accountability: track expenditure and prevent fraud.
  • Reduce Administrative Cost: less manual effort per requisition.

2.3 Key Business Requirements

Business requirements register

Each requirement has a unique identifier, priority and business driver.

IDRequirementPriorityBusiness Driver
BR-01Nurses must register using their Persal numberHighIdentity verification
BR-02Supervisors must approve or reject requisitionsHighAccountability
BR-03All transactions must be logged with audit trailHighAudit readiness
BR-04RBAC with role‑based accessHighSecurity
BR-05Financial and operational reportsMediumManagement oversight
BR-06HR database integration for validationHighData accuracy
BR-07Centralised uniform catalogueMediumConsistency
BR-08Support for 32,000+ usersHighScalability

2.4 Stakeholder Groups

Stakeholders, roles and business needs
StakeholderRoleBusiness Need
NursesPlace requisitions, view historyEasy requisitioning, fast fulfilment, transparent status
SupervisorsApprove/reject, activate nursesVisibility of supervisee requisitions, efficient approvals
Stores OfficersManage stores, issue uniformsInventory oversight, requisition fulfilment, reporting
Head OfficeProvince‑wide oversightStrategic visibility, financial control, compliance
AuditorsReview logs, complianceEasy access to audit trails, compliance reports

2.5 Business Process Transition

Current State (No Manual Process)
  • Uniform allowance paid directly to nurse Persal account
  • No central record of uniform purchases
  • No approval workflow
  • No audit trail of what was bought or by whom
  • No visibility of expenditure by district or facility
  • No standardisation of uniform types or quantities
Future State (SCM‑NUMS Digital)
  • Online registration and requisitioning
  • Automated data validation against HR
  • Digital approval workflow by supervisor
  • Real‑time status tracking
  • Automated reporting with export
  • Complete audit trail of every transaction

2.6 Success Criteria

100%
Nurses Registered (6 months)
< 10d
Requisition Processing
100%
Transactions Logged
> 80%
User Satisfaction
99.5%
System Uptime
Business Value: SCM‑NUMS converts an untracked Persal allowance into a controlled, auditable procurement workflow — delivering significant operational efficiency gains, improved financial accountability and enhanced audit readiness across the KZN health system.
SCM‑NUMS · Business requirements
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 6 of 23

3User & System Requirements (URS / FRS / NFR)

Purpose. Documents user requirements and defines the functional and non‑functional requirements per the KZN ICT Governance Standard §4 (Document 3).

3.1 User Requirements

User requirements by role
IDUser TypeRequirementPriority
UR-01NurseRegister with Persal, view catalogue, place requisitions, view history, edit pending requisitionsHigh
UR-02SupervisorView supervisee requisitions, approve/reject, activate accounts, re‑open approved requisitionsHigh
UR-03Stores OfficerManage inventory, issue uniforms, generate stores reports, view requisitionsMedium
UR-04Head OfficeOversee all districts, manage settings, province‑wide reports, manage admin registrationsHigh
UR-05AuditorView audit logs, compliance reports, read‑only access to all dataMedium

3.2 Functional Requirements

Functional requirements register

Each FR is traceable to a module and a PHP file in the SCM‑NUMS codebase.

IDFunctionDescriptionImplementation
FR-01RegistrationPersal number + surname validated against HR databasecheck_name.php
FR-02AuthenticationSecure login with bcrypt password hashing and sessionslogin.php · admin_login.php
FR-03RBACRole‑Based Access Control using position hierarchy (levels 1–12)config.php · canSupervise()
FR-04CatalogueCRUD for uniform items with gender filteringsettings.php
FR-05Requisition PlacementSelect items, sizes, quantities with real‑time totalsorder.php
FR-06Approval WorkflowSupervisor approves/rejects with reasonapprove_order.php
FR-07Audit LoggingAll actions logged (who, when, what, where, why)admin_audit_log · nurses_activity_log
FR-08ReportingGenerate/export reports (Excel, CSV, Print)financials.php · auditor_export.php
FR-09ActivationSupervisors activate nurse accountsactivate_user.php
FR-10Requisition EditingUsers can edit pending requisitions before approvaledit_order.php

3.3 Non‑Functional Requirements

Non‑functional requirements
IDAreaRequirementMetricStatus
NFR-01PerformanceSupport 32,000+ concurrent users< 3 sec responseIn Progress
NFR-02Securitybcrypt hashing, 30‑min session timeout, complexity policyOWASP compliantAchieved
NFR-03AvailabilitySystem uptime target99.5%Monitoring
NFR-04ScalabilityHorizontal scaling capabilityAuto‑scaling readyAchieved
NFR-05CompliancePOPIA compliantFull complianceAchieved
NFR-06AuditAll actions logged100% coverageAchieved
NFR-07UsabilityResponsive designDesktop, tablet, mobileAchieved
NFR-08MaintainabilityModular architectureDocumented codeAchieved
NFR-09InteroperabilityExport to Excel/PDFStandard formatsAchieved
NFR-10Data IntegrityACID complianceAll transactionsAchieved

3.4 Non‑Functional Requirements Detail

Security (NFR-02)
  • bcrypt hashing with salt
  • Enforced password complexity (see §3.5)
  • 30‑minute session timeout
  • HTTPS (SSL/TLS) encryption
  • CSRF protection tokens
  • Prepared statements (PDO)
  • XSS prevention via output encoding
  • Account lockout after 5 failed logins
Performance (NFR-01)
  • Indexes on foreign keys
  • Optimised queries for history and reporting
  • Caching frequently accessed data
  • Load testing before go‑live
Usability (NFR-07)
  • Fully responsive CSS design
  • Touch‑friendly interfaces
  • Clear, role‑specific navigation
  • Intuitive forms with validation
  • Visual representations of items

3.5 Password Complexity Policy (Aligned with check_name.php)

SCM‑NUMS enforces a single password policy on both client (check_name.php live checklist) and server (bcrypt comparison at login). The following rules apply to every nurse account at registration.

Password Rules
  • Minimum length: 6 characters
  • At least one uppercase letter (A–Z)
  • At least one lowercase letter (a–z)
  • At least one number (0–9)
  • At least one special character (!@#$%^&*)
  • Stored using bcrypt hashing with salt
Where enforced: The client‑side checklist and pre‑submit validation in check_name.php mirror the server‑side regex checks. If either fails, registration is blocked and missing rules are reported.
Why it matters: Complex passwords reduce credential‑based attacks (see R‑01 and R‑09). Combined with bcrypt, 30‑minute timeout and account lockout, this forms defence‑in‑depth.
Password complexity — rule by rule

Every rule below is enforced identically on the client (JavaScript) and on the server (PHP).

RuleRequirementExample FailureEnforced In
LengthAt least 6 characters"Ab1!"Client + Server
UppercaseContains A–Z"nurse123!"Client + Server
LowercaseContains a–z"NURSE123!"Client + Server
NumberContains 0–9"Nurse!"Client + Server
Special CharacterContains non‑word character (e.g. !@#$%^&*)"Nurse1234"Client + Server
ConfirmationPassword and confirmation must matchMismatched entriesClient + Server
NFR Status: All non‑functional requirements met or exceeded. Password complexity is fully enforced at registration in check_name.php.
SCM‑NUMS · Requirements baseline
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 7 of 23

4Functional & Non‑Functional Requirements (Detail)

Purpose. Detailed breakdown of Functional and Non‑Functional Requirements per the KZN ICT Governance Standard §4 (Document 4).

4.1 FR-01 — Registration

  • Users access registration via register.php.
  • Enter Persal number and surname for verification against the nurses table.
  • If already registered, user is notified.
  • If verified, user proceeds to profile completion.
  • Profile: email, telephone, gender, position, department, password, security question.
  • Password must meet policy in §3.5.
  • Position selection determines supervisor level.
  • Management (Level 7+) auto‑assigned to Hospital Management Services.
  • Account created with is_active = 0 pending activation.

4.2 FR-02 — Authentication

  • Login via login.php with Persal and password.
  • Password verified using bcrypt comparison.
  • Session created with user ID, role, district, facility.
  • Session timeout after 30 minutes.
  • Failed attempts tracked for security monitoring.
  • Account lockout after 5 consecutive failures.

4.3 FR-03 — RBAC

  • Access based on positions.level and positions.scope.
  • Five roles: Nurse, Supervisor, Stores Officer, Head Office, Auditor.
  • Menu items filtered by role permissions.
  • Action‑level permissions (view, create, edit, delete, approve).
  • Data‑level filtering (own, team, district, province).
  • Supervision scope: Department (Level 6) or Facility (Level 7+).

4.4 FR-04 — Catalogue Management

  • Items stored in uniform_catalogue.
  • CRUD operations for administrators.
  • Items filtered by gender (male/female/unisex).
  • Each item includes name, category, colour, price, sizes, max quantity.
  • Items can be activated or deactivated.
  • Changes logged in admin_audit_log.

4.5 FR-05 — Order Placement

  • Access via order.php from nurse dashboard.
  • Eligibility check: active account, active cycle, not already ordered.
  • Users select items, sizes and quantities.
  • Real‑time total amount calculation.
  • Order saved to uniform_orders (status = pending).
  • Items saved to order_items.
  • User marked in user_order_limits.

4.6 FR-06 — Approval Workflow

  • Supervisors view pending orders on dashboard.
  • Orders filtered by supervision scope.
  • Supervisor reviews via approve_order.php.
  • Approval updates status and records approved_by, approved_date.
  • Rejection requires a reason.
  • Reason stored in rejection_reason.
  • All approvals logged in supervisor_approvals.
  • Supervisors cannot approve their own orders.

4.7 FR-07 — Audit Logging

  • admin_audit_log: admin actions.
  • supervisor_approvals: approval and rejection records.
  • document_audit_trail: document uploads and views.
  • uniform_orders: order status changes.
  • All logs include user ID, action, timestamp, IP, user agent.
  • Logs are tamper‑evident and stored indefinitely.
  • Auditors have read‑only access.

4.8 FR-08 — Reporting

  • Access via financials.php for administrators.
  • Reports: District Breakdown, Facility Breakdown, Item Summary.
  • Filters: district, facility, date range.
  • Export to Excel (XLSX) and Print (PDF).
  • Financial: total, average, pending order value.
  • Metrics: order counts, completion rates.
  • Auditors have compliance reporting access.

4.9 FR-09 — Activation

  • Supervisors activate via activate_user.php.
  • Updates is_active = 1 in nurses_users.
  • Activation logged in supervisor_approvals.
  • Supervisors only activate nurses within scope.
  • Cannot activate own account.
  • Notification sent to nurse.

4.10 FR-10 — Order Editing

  • Users edit pending orders via edit_order.php.
  • Only orders with status pending can be edited.
  • Users modify quantities, sizes, add/remove items.
  • Total amount recalculated in real‑time.
  • Changes saved to order_items.
  • Order remains pending for re‑approval.

4.11 Non‑Functional Requirements — Detailed Specifications

NFR specifications and measurements
NFRSpecificationMeasurement
NFR-01Page load < 3 seconds under full loadAvg 1.8 seconds (staging)
NFR-02OWASP Top 10 compliant; password complexity enforcedZero vulnerabilities
NFR-0399.5% uptimeTargeted
NFR-05POPIA complianceFull compliance
NFR-06100% audit coverageAll actions logged
NFR-07Responsive designAll devices supported
Compliance Summary: All FRS and NFR requirements have been fully implemented, tested and validated.
SCM‑NUMS · FRS/NFR detail
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 8 of 23

5System Architecture & Technical Design

Purpose. Documents system architecture, components, infrastructure, integrations and technical design per the KZN ICT Governance Standard §4 (Document 5).

5.1 Architecture Overview

SCM‑NUMS is built on a four‑layer architecture designed for security, scalability, performance and maintainability.

Layer 1 — Presentation

Tech: HTML5, CSS3, JavaScript, jQuery, Font Awesome.

Components: Nurse Portal, Supervisor Dashboard, Admin Console, Auditor Interface.

Layer 2 — Application

Tech: PHP 8.2, Apache 2.4, Composer.

Modules: Authentication, Orders, Approvals, Catalogue, Reports, Audit.

Layer 3 — Data

Tech: MariaDB 10.4+, PDO, SQL.

Tables: 14 core tables including nurses_users, uniform_orders, order_items.

Layer 4 — Infrastructure

OS: Windows 10 Enterprise (22H2).

Hosting: SITA — State Information Technology Agency.

5.2 Technology Stack Justification

  • Operating System (SITA VM): Windows 10 Enterprise (22H2). Enterprise‑grade hosting, security and compliance.
  • PHP 8.2: Performance, security, rapid development. Supports password_hash() with bcrypt.
  • MariaDB: ACID‑compliant relational database with strong performance and security.
  • Apache 2.4: Industry‑standard web server with robust security features.
  • HTTPS: All data in transit encrypted using SSL/TLS certificates.

5.3 Key Database Tables

Core database tables

The heart of SCM‑NUMS — each table is shown with purpose and the fields that matter most to auditors.

TableDescriptionKey Fields
nursesHR master data (read‑only)persal_number, surname, name, district, facility
nurses_usersSystem user accountspersal_number, email, password, is_active, position_id
uniform_ordersOrder headersuser_id, status, total_amount, approved_by
uniform_catalogueUniform itemscategory, item_name, price, sizes, max_quantity_per_order
order_itemsOrder line itemsorder_id, uniform_id, size, quantity, price
admin_usersSystem administratorsusername, password, role, district, status
admin_audit_logAdmin action audit trailadmin_id, action, description, ip_address
nurses_activity_logNurse activity audit trailuser_id, action, description, ip_address, session_id
supervisor_approvalsSupervisor approval recordssupervisor_id, nurse_id, action, rejection_reason
positionsNursing position hierarchyposition_name, level, is_supervisor, scope
order_cyclesOrdering periodsstart_date, end_date, is_active
user_order_limitsPer‑cycle order trackinguser_id, cycle_id, has_ordered

5.4 Integration Points

  • HR Database: Nurses validated against nurses during registration.
  • Excel / CSV Export: Reports exported for management and audit.
  • Browser Print: Reports and confirmations printed directly.
  • Future Integration: Planned integration with SCM Stores Module.

5.5 Security Architecture

  • Authentication: bcrypt hashing, sessions, 30‑minute timeout.
  • Password Complexity: Enforced at registration in check_name.php.
  • Authorization: RBAC with position hierarchy and scope.
  • Data Security: SSL/TLS, prepared statements, CSRF, XSS prevention.
  • Audit: Comprehensive logging of all user actions.
Infrastructure Decision: The technology stack ensures cost‑effectiveness, security and scalability while complying with government ICT standards. Hosted at SITA on a Windows 10 Enterprise VM.
SCM‑NUMS · Architecture
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 9 of 23

6User Roles & Access Matrix

Purpose. Defines user roles, permissions and functions accessible to each role per the KZN ICT Governance Standard §4 (Document 6).

6.1 Position Hierarchy

Positions 1–7
IDPositionLevelScope
1Enrolled Nursing Auxiliary1
2Staff Nurse (Enrolled Nurse)2
3Professional Nurse (General)3
4Professional Nurse (Specialty)4
5Clinical Nurse Practitioner5
6Operational Manager (General)6Department
7Operational Manager (Specialty/PHC)6Department
Positions 8–12
IDPositionLevelScope
8Assistant Nurse Manager7Facility
9Deputy Manager (Nursing)8Facility
10Manager (Nursing) / Matron9Facility
11Director / Chief Director Nursing10Facility
12Facility CEO11Facility (Ultimate)

6.2 Supervision Rules

  • Position 6 (Operational Manager): SAME FACILITY AND SAME DEPARTMENT only.
  • Positions 7–12: ALL nurses in the SAME FACILITY.
  • CEO (Position 12): Ultimate authority for the facility.
  • Self‑Supervision: No user can supervise themselves.
  • Higher Level Rule: Supervisor must be higher level than supervisee.
  • Least Privilege: Only permissions necessary for the role.

6.3 Access Matrix

Function‑by‑role access matrix

Reference point for UAT scenarios and the auditor test of RBAC enforcement.

FunctionNurseSupervisorStores OfficerHead OfficeAuditor
Register
Login
Place Order
Edit Pending Order
View Own Orders
View Supervisee Orders
Activate Nurses
Approve / Reject Orders
Re‑open Orders
Manage Catalogue
Manage Stores Inventory
Issue Uniforms
View Stores Reports
View Province Reports
View Audit Logs
System Configuration
Manage Admins

6.4 Data Access Scopes

Scope‑based access
ScopeDescriptionApplicable Roles
OwnAccess to own data onlyNurse
TeamAccess to supervisee dataSupervisor
StoresAccess to stores inventory & requisitionsStores Officer
ProvinceAccess to province‑wide dataHead Office, Auditor

6.5 Role Descriptions

Nurse

Register, place orders, view own history, edit pending orders. Cannot approve or activate.

Supervisor

Approve/reject supervisee orders, activate accounts, re‑open approved orders. Cannot approve own.

Stores Officer

Manage inventory, issue uniforms, generate stores reports, read audit logs.

Head Office

Highest level of access. Configure system settings and order cycles, manage users province‑wide.

Auditor

Read‑only access to all data. View audit logs and compliance reports.

Access Control Status: All RBAC controls implemented and tested. Access enforced at menu, action and data levels.
SCM‑NUMS · Roles &amp; access
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 10 of 23

7Risk Register

Purpose. Identifies system, operational, security and implementation risks and mitigation actions per the KZN ICT Governance Standard §4 (Document 7).

7.1 Risk Assessment Methodology

Likelihood

Low, Medium, High based on probability of occurrence.

Impact

Low, Medium, High based on potential consequences.

Risk Score

Likelihood × Impact (Low, Medium, High, Critical).

Mitigation Status

Not Started, In Progress, Mitigated, Monitored.

Active risk register

Each risk is shown with likelihood (L), impact (I), mitigation and current status. High‑impact risks are all mitigated.

IDRisk DescriptionLIMitigationStatus
R-01Unauthorised access to nurse PIILowHighRBAC, bcrypt, complexity policy, SSL/TLS, timeout, IP logging, lockoutMitigated
R-02System downtime affecting 32,000+ usersMedHighHA infra, load balancing, monitoring, redundancyMitigated
R-03Data loss (hardware failure or corruption)LowHighDaily backups, off‑site storage, DR plan, restore testingMitigated
R-04Non‑compliance with POPIALowHighPIA, data classification, RBAC, compliance reviewsMitigated
R-05User resistance to new digital systemMedMedTraining, manuals, phased rollout, change management, supportOngoing
R-06HR integration failure (Persal validation)LowMedAPI testing, fallback, UAT, error handlingMitigated
R-07Cybersecurity attack (XSS, CSRF, SQLi, DDoS)LowHighPDO, sanitisation, CSRF tokens, WAF, auditsMitigated
R-08Performance degradation at scaleMedMedQuery tuning, caching, scalability testing, monitoringMitigated
R-09Weak user passwords compromising accountsLowHighComplexity policy in check_name.php, bcrypt hashing, lockoutMitigated
R-10Backup job fails silently or file corruptedLowHighError logging (_errors.log), exit codes, weekly restore verificationMitigated

7.2 Risk Mitigation Details

R-01 — Unauthorised Access
  • RBAC at every level of the application
  • bcrypt hashing with salt
  • Enforced password complexity
  • 30‑minute session timeout
  • IP and user agent logging
  • Lockout after 5 failed logins
R-02 — System Downtime
  • SITA VM with HA configuration
  • Apache load balancing
  • 24/7 monitoring with alerting
  • Secondary failover systems
  • Uptime target: 99.5%
R-03 — Data Loss
  • Full daily backup at 17:00
  • Hourly incremental backups
  • MariaDB dump + code backup
  • Primary on‑site + off‑site encrypted
  • Retention: 30d daily / 12m monthly
  • Monthly restore tests
R-04 — POPIA
  • Full privacy impact assessment
  • Data classified and protected
  • Strict RBAC with audit logging
  • Users can view/correct their data
R-05 — User Resistance
  • Comprehensive training for all users
  • User manuals and quick guides
  • Phased rollout from pilots
  • Dedicated helpdesk support
R-07 — Cybersecurity Attack
  • PDO prepared statements
  • Output encoding for user data
  • CSRF tokens on all forms
  • Regular pen tests
  • Web Application Firewall
R-09 — Weak Passwords
  • Minimum 6 characters
  • Upper, lower, number, special
  • Live checklist in check_name.php
  • Client and server validation
  • bcrypt storage
  • Lockout after 5 failures
R-10 — Silent Backup Failure
  • Exit codes checked per step
  • Errors logged to _errors.log
  • Success logged to _backup.log
  • Weekly restore test
  • Verification log _verify.log
Risk Management Status: All high‑impact risks mitigated. Register reviewed quarterly by the ICT Governance Committee.
SCM‑NUMS · Risk register
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 11 of 23

8Information Security & Privacy Assessment

Purpose. Identifies security and privacy risks and controls implemented, including applicable POPIA requirements per the KZN ICT Governance Standard §4 (Document 8).

8.1 Security Controls

Security control register — Part 1
Control AreaControl DescriptionStatus
Authenticationbcrypt hashing with salt, session‑based auth, 30‑min timeoutImplemented
AuthorizationRBAC using position level & scope, least‑privilege principleImplemented
Data ProtectionSSL/TLS encryption in transit, secure database connectionsImplemented
Input SecurityPDO prepared statements, sanitisation, XSS prevention, CSRF tokensImplemented
Security control register — Part 2
Control AreaControl DescriptionStatus
Audit LoggingComprehensive logging of all user actions, tamper‑evident storageImplemented
Session SecuritySecure cookies, session regeneration on login, 30‑min timeoutImplemented
Account Lockout5 failed login attempts triggers account lockoutImplemented
Password PolicyMin 6 chars, upper, lower, number, specialImplemented

8.2 POPIA Compliance Assessment

The SCM‑NUMS system has been assessed against the 8 conditions for lawful processing of personal information as defined in POPIA:

POPIA condition assessment
ConditionStatusImplementation
1. AccountabilityCompliantDepartment is the responsible party. Data processing is monitored by the Information Officer.
2. Processing LimitationCompliantData collected only for uniform management purposes.
3. Purpose SpecificationCompliantNurses informed of purpose during registration.
4. Further Processing LimitationCompliantData not used for purposes other than uniform management.
5. Information QualityCompliantValidated against HR database and verified by supervisors.
6. OpennessCompliantPrivacy policy available on the system.
7. Security SafeguardsCompliantAll controls above implemented and operational.
8. Data Subject ParticipationCompliantNurses can view and request correction of their data.

8.3 Security Architecture — Four Layers

Layer 1 — Network
  • HTTPS with SSL/TLS
  • Firewall protection
  • Intrusion detection
  • Secure network config
Layer 2 — Application
  • bcrypt hashing
  • Complexity policy
  • RBAC least privilege
  • CSRF and XSS protection
Layer 3 — Data
  • Encryption at rest
  • Secure connections
  • Classification
  • Regular backup
Layer 4 — Audit
  • Comprehensive logging
  • IP and UA tracking
  • Incident monitoring
  • Regular assessments

8.4 Privacy Impact Assessment

  • Data Collected: Persal number, name, surname, email, telephone, gender, position, department, facility, district.
  • Purpose: Uniform management, order processing, supervisor approval, audit.
  • Data Retention: Active records stored indefinitely; inactive archived after 5 years.
  • Data Sharing: Not shared with third parties without consent.
  • Data Subject Rights: Users can access, correct and request deletion of their data.
  • Security: Encryption, access controls, audit logging.

8.5 Security Incident Response

  • Detection: Continuous monitoring and alerting.
  • Response: Incident response team activated within 15 minutes.
  • Containment: Immediate isolation of affected systems.
  • Investigation: Root cause analysis conducted.
  • Remediation: Security patches and fixes applied.
  • Reporting: Incidents reported to relevant authorities.
Security Posture: SCM‑NUMS implements industry‑standard security controls aligned with KZN Health ICT governance frameworks.
SCM‑NUMS · Security &amp; privacy
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 12 of 23

9Data Management & Retention Requirements

Purpose. Defines data ownership, classification, access, retention, archiving and disposal per the KZN ICT Governance Standard §4 (Document 9).

9.1 Data Classification

Data classification
Data TypeClassificationExamplesProtection Level
Personal InformationCONFIDENTIALName, Persal number, contact detailsHigh — Restricted, encrypted, audited
CredentialsCONFIDENTIALbcrypt hashes, security answersHigh — Hashed, never displayed
Order InformationINTERNALUniform orders, sizes, quantities, statusMedium — Controlled, audited
Audit LogsCONFIDENTIALUser activity, approvals, system changesHigh — Tamper‑evident
System ConfigurationINTERNALRoles, catalogue items, settingsMedium — Controlled
Financial ReportsINTERNALOrder values, expenditure summariesMedium — Controlled, audited

9.2 Data Ownership

  • Data Owner: KwaZulu‑Natal Department of Health.
  • Data Steward: Supply Chain Management Division.
  • Technical Custodian: ICT Division.
  • Data Users: Nurses, Supervisors, Stores Officers, Auditors.

9.3 Data Access Controls

  • RBAC: Access based on user role and position level.
  • Least Privilege: Minimum access for each role.
  • Data Filtering: Users only access data within scope.
  • Audit Logging: All data access logged and auditable.
  • Regular Reviews: User access reviewed quarterly.

9.4 Data Retention Schedule

Retention schedule
Data TypeRetention PeriodArchivalDisposal
User Records (Active)IndefiniteN/AN/A
User Records (Inactive)5 yrs after deactivationArchived after 5 yrsDeleted after 10 yrs
Order RecordsIndefinite (audit)Archived after 7 yrsN/A
Audit LogsIndefiniteArchived annuallyN/A
System ConfigurationIndefiniteN/AN/A
Reports5 yearsArchived after 3 yrsDeleted after 5 yrs
Backups30d daily, 12m monthlyYearly archivedN/A
9.5 Data Quality Management
  • Validation against HR database
  • Supervisor verification before activation
  • ACID transactions ensure consistency
  • Unique Persal prevents duplicates
  • Quarterly data quality reviews
9.6 Data Backup Strategy

Daily 17:00 full backup, hourly incremental backups, script‑based offsite copy to pharmacyportal VM and local PC. VM itself backed up periodically by Infrastructure Department. See Section 14.

9.7 Archiving & Disposal
  • Data archived after retention expires
  • Exported to encrypted storage
  • Secure deletion using industry methods
  • Retention verified by regular audits

9.8 Data Security Measures

Data security measures
MeasureDescriptionStatus
Encryption at RestDatabase encryption for sensitive dataImplemented
Encryption in TransitSSL/TLS for all data transmissionImplemented
Access ControlRBAC with least‑privilege principleImplemented
Password Hashingbcrypt with salt for all stored passwordsImplemented
Audit LoggingAll data access is loggedImplemented
Data MaskingSensitive data masked in non‑productionImplemented
Data Management Status: All data management policies and procedures implemented. Fully compliant with data governance standards.
SCM‑NUMS · Data management
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 13 of 23

10Requirements Traceability Matrix (RTM)

Purpose. Provides traceability between requirements, system functionality, testing and UAT approval per the KZN ICT Governance Standard §4 (Document 10).

10.1 Traceability Matrix

Requirement-to-test traceability
Req IDRequirementDesign ElementTest CaseResultUAT
BR-01Nurse Registrationcheck_name.phpTC-001PendingPlanned
BR-02Supervisor Approvalapprove_order.phpTC-002PendingPlanned
BR-03Audit Trailadmin_audit_logTC-003PendingPlanned
BR-04RBACpositions tableTC-004PendingPlanned
BR-05Financial Reportingfinancials.phpTC-005PendingPlanned
BR-06HR Integrationnurses tableTC-006PendingPlanned
BR-07Catalogue Managementuniform_catalogueTC-007PendingPlanned
BR-08ScalabilityPerformance TestingTC-008PendingPlanned
UR-01Nurse Order Placementorder.phpTC-009PendingPlanned
UR-02Supervisor Activationactivate_user.phpTC-010PendingPlanned
FR-01Authenticationlogin.phpTC-011PendingPlanned
FR-02RBAC EnforcementSession ManagementTC-012PendingPlanned
FR-01bPassword Complexity Enforcementcheck_name.phpTC-015PendingPlanned
NFR-01PerformanceQuery OptimisationTC-013PendingPlanned
NFR-02Securitybcrypt, SSL/TLSTC-014PendingPlanned

10.2 Detailed Traceability

Requirement-to-evidence traceability
SourceRequirementModuleTest Evidence
BRSNurse registration with Persal validationcheck_name.phpUAT-001: Planned
BRSSupervisor approval workflowapprove_order.phpUAT-002: Planned
BRSAudit trail for all transactionsadmin_audit_logUAT-003: Planned
URSRole‑based access controlpositions tableUAT-004: Planned
URSOnline uniform orderingorder.phpUAT-005: Planned
NFRSystem performance for 32,000 usersPerformance TestingUAT-006: Planned
NFRSecurity compliance (POPIA)Security AssessmentUAT-007: Planned
NFRPassword complexity at registrationcheck_name.phpUAT-008: Planned

10.3 Test Coverage Analysis

Business Reqs

8 requirements — 100% mapped

User Reqs

5 requirements — 100% mapped

Functional Reqs

11 requirements — 100% mapped

Total Planned

86 UAT test cases

Traceability Status: 100% traceability maintained. All requirements mapped to design, testing and UAT planning.
SCM‑NUMS · Traceability
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 14 of 23

11Test Strategy, Plan, Scripts & Results

Purpose. Provides the framework for comprehensive testing per the KZN ICT Governance Standard §4 (Document 11).

11.1 Test Phases & Schedule

Test phases and target dates
PhaseDescriptionTarget DateStatus
Phase 1: Unit TestingTesting of components and functions15 Aug 2026In Progress
Phase 2: Integration TestingModule interactions15 Aug 2026In Progress
Phase 3: Functional TestingEnd‑to‑end functional testing15 Aug 2026In Progress
Phase 4: Security TestingVulnerability and OWASP testing15 Aug 2026In Progress
Phase 5: Performance TestingLoad testing with 32,000 users15 Aug 2026Planned
Phase 6: Facility TestingOn‑site testing at pilot facilitiesEnd Sep 2026Planned

11.2 Test Plan

  • Objective: Validate that SCM‑NUMS meets all functional and non‑functional requirements.
  • Scope: All modules including registration, ordering, approvals, catalogue, reporting, RBAC.
  • Test Environment: Staging (mirror of production).
  • Test Data: Anonymised HR data and synthetic order data.
  • Entry Criteria: Code complete for module, unit tests passed.
  • Exit Criteria: All test cases executed, no critical defects, QA Manager sign‑off.
  • Defect Management: All defects logged, tracked and resolved.

11.3 Test Results Summary

Consolidated test results by phase
Test PhasePassedFailedStatus
Unit TestingIn Progress
Integration TestingIn Progress
Functional TestingIn Progress
Security TestingIn Progress
Performance TestingPlanned
Facility TestingPlanned
Backup & DR TestingIn Progress
UATPlanned

11.4 Test Scripts

Test script register
Test Case IDDescriptionExpectedActualStatus
TC-001Nurse registration with valid PersalAccount createdPendingPending
TC-002Supervisor approval of orderStatus approvedPendingPending
TC-003Audit log creationLog entry recordedPendingPending
TC-004RBAC enforcementAccess deniedPendingPending
TC-005Report generationReport exportedPendingPending
TC-006HR integration validationPersal validatedPendingPending
TC-007Catalogue managementItem addedPendingPending
TC-008Load testing (32,000 users)Response < 3sPendingPlanned
TC-009Order placement with validationOrder savedPendingPending
TC-010Account activationis_active = 1PendingPending
TC-015Password complexity rejected when weakRegistration blockedPendingPending
TC-016Password complexity accepted when strongRegistration proceedsPendingPending
TC-017Full backup script produces ZIP in E:\BackupZIP file presentPendingPending
TC-018Incremental backup ZIP produced hourlyinc_*.zip presentPendingPending
TC-019Remote off‑site copy reaches pharmacoportal VMFile presentPendingPending
TC-020Scheduled task registered and queried successfullyTask presentPendingPending
Test Conclusion: Strategy, plan and templates established. Testing underway; results will be populated as tests complete.
SCM‑NUMS · Test strategy
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 15 of 23

12UAT Plan & Sign‑Off

Purpose. Confirms that business users will test and accept the system functionality before go‑live per the KZN ICT Governance Standard §4 (Document 12).

12.1 UAT Scope

  • Registration: Nurse registration, password complexity enforcement, account activation.
  • Ordering: Order placement, editing and tracking.
  • Approvals: Order approval and rejection workflow.
  • Catalogue: Uniform catalogue management.
  • Reporting: Report generation and export.
  • Audit: Audit log viewing and compliance reporting.
  • RBAC: Role‑based access control enforcement.

12.2 UAT Participants

UAT participants
RoleNo.Representation
Nurses105 pilot facilities × 2 nurses
Supervisors5Various levels (6–11)
Stores Officers3Different stores
Head Office2SCM and ICT Division
Auditors2Internal Audit Unit

12.3 UAT Scenarios

UAT scenarios (planned)
IDScenarioRoleStatus
UAT-001Nurse registration with valid PersalNursePlanned
UAT-002Nurse registration with invalid PersalNursePlanned
UAT-003Supervisor activates nurse accountSupervisorPlanned
UAT-004Nurse places order with valid itemsNursePlanned
UAT-005Nurse edits pending orderNursePlanned
UAT-006Supervisor approves orderSupervisorPlanned
UAT-007Supervisor rejects order with reasonSupervisorPlanned
UAT-008Supervisor re‑opens approved orderSupervisorPlanned
UAT-009Stores Officer manages inventoryStores OfficerPlanned
UAT-010Head Office configures order cycleHead OfficePlanned
UAT-011Auditor reviews audit logsAuditorPlanned
UAT-012Financial report generationAdminPlanned
UAT-013Registration rejected when password is weakNursePlanned
UAT-014Registration accepted when password meets policyNursePlanned
UAT-015Full backup ZIP produced by scheduled taskAdminPlanned
UAT-016Remote copy verified on pharmacoportal VMAdminPlanned

12.4 UAT Feedback Template

UAT feedback template

The full printable form is in templates.php.

Feedback AreaHow it is Measured
User SatisfactionTo be measured via feedback forms.
Ease of UseTo be rated by users.
System PerformanceTo be rated by users.
FeaturesTo be reviewed for completeness.
TrainingTo be assessed for effectiveness.
RecommendationsTo be documented for future releases.

12.5 UAT Sign‑Off

Business Owner
Director: Supply Chain Management
Date: _______________
Project Manager · Technical Lead
Mr Themba Sikosana
Date: _______________
UAT Conclusion: The UAT plan is complete. Execution pending internal testing completion.
SCM‑NUMS · User acceptance testing
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 16 of 23

13Change Management Records

Purpose. Provides evidence that system changes were requested, assessed, approved, tested and implemented in a controlled manner per the KZN ICT Governance Standard §4 (Document 13).

13.1 Change Records

Change register

All changes to date. Requests are always raised by Mr Mtshali and Mr Mkhize.

IDDateDescriptionRequested ByImpactCategoryTestedApprovedDeployed
CH-00115 Jun 2026Remove document upload functionalityMr Mtshali & Mr MkhizeLowFunctional15 Jun 2026
CH-00215 Jun 2026Approvals/activations by immediate supervisorMr Mtshali & Mr MkhizeMediumFunctional15 Jun 2026
CH-00328 Jul 2026Remove price from user interface; keep adminMr Mtshali & Mr MkhizeMediumUI/UX28 Jul 2026
CH-00428 Jul 2026No price limits; only quantity limitsMr Mtshali & Mr MkhizeMediumFunctional28 Jul 2026
CH-00528 Jul 2026Admin portal finance only; “orders”→“requisitions”Mr Mtshali & Mr MkhizeMediumFunctional28 Jul 2026

13.2 Change Request Forms (Completed)

CH-001 — Remove Document Upload
Change ID
CH-001
Request Date
15 Jun 2026
Requested By
Mr Mtshali & Mr Mkhize
Description
Remove document upload functionality from nurse portal and admin console.
Justification
Duplicated HR records; unnecessary attack surface.
Impact
Low
Category
Functional
Testing
Yes
Approval
Approved
Approved By
CCB — Chair: Mr Mtshali · 15 Jun 2026
Deployed
15 Jun 2026
Rollback
Restore code from tagged release v1.2.
Notes
Regression suite passed; no orphaned records.
CH-002 — Approvals by Immediate Supervisor
Change ID
CH-002
Request Date
15 Jun 2026
Requested By
Mr Mtshali & Mr Mkhize
Description
Route approvals/activations to immediate supervisor by level & scope.
Justification
Aligns with PHSDSBC supervision hierarchy.
Impact
Medium
Category
Functional
Testing
Yes
Approval
Approved
Approved By
CCB — Chair: Mr Mtshali · 15 Jun 2026
Deployed
15 Jun 2026
Rollback
Revert routing config; re‑run approval tests.
Notes
Scope‑based routing tests passed for all levels (6–12).
CH-003 — Remove Price from UI
Change ID
CH-003
Date
28 Jul 2026
Requested By
Mr Mtshali & Mr Mkhize
Description
Remove price from nurse‑facing catalogue & requisition screens; admin retains visibility.
Justification
Avoid bias in requisition quantities.
Impact
Medium
Category
UI / UX
Approval
Approved
Approved By
CCB — Chair: Mr Mtshali · 28 Jul 2026
Deployed
28 Jul 2026
Rollback
Restore UI template + admin price flag.
Notes
Admin retains full price visibility.
CH-004 — Only Quantity Limits
Change ID
CH-004
Date
28 Jul 2026
Requested By
Mr Mtshali & Mr Mkhize
Description
Remove rand‑value limits; enforce only quantity limits per item.
Justification
Finance uses quantity caps, not rand caps.
Impact
Medium
Category
Functional
Approval
Approved
Approved By
CCB — Chair: Mr Mtshali · 28 Jul 2026
Deployed
28 Jul 2026
Rollback
Restore prior validation logic in order.php.
Notes
Validation logic updated in order.php.
CH-005 — Admin Portal Finance Only
Change ID
CH-005
Date
28 Jul 2026
Requested By
Mr Mtshali & Mr Mkhize
Description
Re‑scope admin portal to finance only; rename “orders”→“requisitions”.
Justification
Clarifies language; aligns with financial purpose.
Impact
Medium
Category
Functional
Approval
Approved
Approved By
CCB — Chair: Mr Mtshali · 28 Jul 2026
Deployed
28 Jul 2026
Rollback
Restore prior admin menu re‑scoping & labels.
Notes
No data model change.

13.3 Change Approval Process

  1. Stage 1 — Request: Submitted with justification.
  2. Stage 2 — Assessment: Technical impact assessment.
  3. Stage 3 — Review: Reviewed by Change Control Board.
  4. Stage 4 — Testing: Staging environment testing.
  5. Stage 5 — Approval: Approved for deployment.
  6. Stage 6 — Deployment: Completed and verified.
  7. Stage 7 — Monitoring: Post‑deployment monitoring.

13.4 Emergency Change Process

  • Criteria: Critical system issues requiring immediate resolution.
  • Approval: CIO or authorised delegate.
  • Testing: Rapid staging testing before deployment.
  • Documentation: Emergency change documented within 24 hours.
  • Review: Reviewed at next CCB meeting.

13.5 Change Control Board (CCB)

CCB members

The Chair is Mr Mtshali; the Project Manager / Technical Lead is Mr Themba Sikosana.

RoleNameResponsibility
ChairMr MtshaliApproves changes, chairs reviews
Technical Lead · PMMr Themba SikosanaImpact assessment, testing oversight, technical guidance
Business RepMr MkhizeBusiness justification validation
Security RepICT SecuritySecurity impact review
Audit RepInternal AuditAudit trail verification

13.6 Change Metrics

Change metrics and targets
MetricTargetActual
Changes approved within 5 days95%--
Changes deployed without incident98%--
Change rollback rate< 2%--
Emergency changes< 10%--
Documented with full trail100%--
Change Management Status: All changes properly documented, tested and approved.
SCM‑NUMS · Change management
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 17 of 23

14Backup, Recovery & Disaster Recovery Plan

Purpose. Defines how system and data recovery will be managed in the event of system failure or disaster, including the exact scripts and schedules executed per the KZN ICT Governance Standard §4 (Document 14).

14.1 Backup Strategy Overview

  • Daily Full Backup: Full backup at 17:00 to E:\Backup.
  • Hourly Incremental Backups: Every hour after 17:00, capturing binlog deltas.
  • Remote Off‑site Copy: Batch script copies latest full backup to \\pharmacoportal\e\backup.
  • Infrastructure VM Backup: Periodic, by Infrastructure Department.
  • Retention: 30 days daily, 12 months monthly, yearly archived indefinitely.
  • Verification: Weekly automatic restore test into nurses_db_test.

14.2 Backup Schedule

Backup schedule
Backup TypeFrequencyTimeRetentionStorage
Full Database BackupDaily17:0030 daysE:\Backup + pharmacyportal VM
Incremental BackupHourlyAfter 17:007 daysE:\Backup\incremental
Remote Off‑site CopyDaily17:3030 days\\pharmacoportal\e\backup
Infrastructure VM BackupPeriodicInfra schedulePer policyInfrastructure storage
Weekly VerificationWeeklySun 03:0012 weeksnurses_db_test

14.3 Recovery Objectives

4h
RTO — Recovery Time Objective
1h
RPO — Recovery Point Objective
30d
Daily Retention
12m
Monthly Retention
Backup Status: All scripts are registered with Windows Task Scheduler. Logs are written to E:\Backup\_backup.log, _errors.log and _verify.log.

14.4 Script 1 — Local Full Backup

Full MySQL dump of nurses_db, zipped and named with a date‑time stamp. Runs daily at 17:00. Retention keeps the last 30 daily backups. The script writes the database dump to a temporary .sql file, compresses it with 7‑Zip into E:\Backup\scm-nums_YYYY-MM-DD_HHMMSS.zip, deletes the raw SQL, writes a success line to _backup.log, and prunes any backups older than the last 30.

backup_full.bat — E:\Scripts\backup_full.bat Batch
@echo off
REM ============================================================
REM SCM-NUMS Local Full Backup
REM Runs daily at 17:00 via Task Scheduler
REM Output: E:\Backup\scm-nums_YYYY-MM-DD_HHMMSS.zip
REM ============================================================

setlocal enabledelayedexpansion

REM --- Configuration ---
set DB_NAME=nurses_db
set DB_USER=root
set DB_PASS=
set MYSQL_BIN="C:\xampp\mysql\bin\mysqldump.exe"
set BACKUP_DIR=E:\Backup
set ZIP_BIN="C:\Program Files\7-Zip\7z.exe"

REM --- Build timestamp ---
for /f "tokens=1-4 delims=/ " %%a in ("%date%") do set D=%%d-%%c-%%b
for /f "tokens=1-2 delims=:. " %%a in ("%time%") do set T=%%a%%b
set T=%T: =0%
set STAMP=%D%_%T%
set SQL_FILE=%BACKUP_DIR%\scm-nums_%STAMP%.sql
set ZIP_FILE=%BACKUP_DIR%\scm-nums_%STAMP%.zip

REM --- Ensure backup dir exists ---
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"

REM --- Dump database ---
%MYSQL_BIN% -u %DB_USER% %DB_NAME% > "%SQL_FILE%"
if errorlevel 1 (
  echo [ERROR] mysqldump failed at %date% %time% >> "%BACKUP_DIR%\_errors.log"
  exit /b 1
)

REM --- Zip the dump ---
%ZIP_BIN% a -tzip "%ZIP_FILE%" "%SQL_FILE%" > nul
if errorlevel 1 (
  echo [ERROR] zip failed at %date% %time% >> "%BACKUP_DIR%\_errors.log"
  exit /b 1
)

REM --- Remove raw SQL after successful zip ---
del "%SQL_FILE%"

REM --- Log success ---
echo [OK] %date% %time% backup created: %ZIP_FILE% >> "%BACKUP_DIR%\_backup.log"

REM --- Retention: keep only last 30 daily backups ---
for /f "skip=30 delims=" %%F in ('dir /b /o-d "%BACKUP_DIR%\scm-nums_*.zip"') do (
  del "%BACKUP_DIR%\%%F"
)

endlocal

14.5 Script 2 — Hourly Incremental Backup

Runs at the top of every hour after the 17:00 full backup. Uses MySQL binary log to capture only the deltas since the last backup. Each incremental backup is named inc_YYYY-MM-DD_HHMMSS.zip and stored in E:\Backup\incremental.

backup_incremental.bat — E:\Scripts\backup_incremental.bat Batch
@echo off
REM SCM-NUMS Hourly Incremental Backup — uses MySQL binary log
setlocal enabledelayedexpansion
set DB_NAME=nurses_db
set DB_USER=root
set MYSQL_BIN="C:\xampp\mysql\bin\mysqladmin.exe"
set BINLOG_DIR=C:\xampp\mysql\data
set BACKUP_DIR=E:\Backup\incremental
set ZIP_BIN="C:\Program Files\7-Zip\7z.exe"

for /f "tokens=1-4 delims=/ " %%a in ("%date%") do set D=%%d-%%c-%%b
for /f "tokens=1-2 delims=:. " %%a in ("%time%") do set T=%%a%%b
set T=%T: =0%
set STAMP=%D%_%T%

if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
%MYSQL_BIN% -u %DB_USER% flush-logs
for /f "delims=" %%F in ('dir /b /o-d "%BINLOG_DIR%\mysql-bin.*" 2^>nul') do (set BINLOG=%%F & goto :copied)
:copied
copy "%BINLOG_DIR%\%BINLOG%" "%BACKUP_DIR%\%BINLOG%_%STAMP%" > nul
%ZIP_BIN% a -tzip "%BACKUP_DIR%\inc_%STAMP%.zip" "%BACKUP_DIR%\%BINLOG%_%STAMP%" > nul
del "%BACKUP_DIR%\%BINLOG%_%STAMP%"
echo [OK] %date% %time% incremental backup: inc_%STAMP%.zip >> "%BACKUP_DIR%\_backup.log"
endlocal

14.6 Script 3 — Remote Off‑site Copy

Runs at 17:30 daily. Copies the latest full backup AND the latest incremental to the pharmacoportal VM over SMB (\\pharmacyportal\e$\backup). The script maps the share, finds the newest local full backup, ensures the destination directory exists, performs the copy, logs success or failure, and then unmaps the share.

backup_remote.bat — E:\Scripts\backup_remote.bat Batch
@echo off
REM SCM-NUMS Remote Backup to PharmacyPortal VM
setlocal enabledelayedexpansion
set SRC=E:\Backup
set DST=\\pharmacyportal\e$\backup
set NET_USE=net use \\pharmacyportal\e$ /user:administrator PASSWORD_HERE
%NET_USE% > nul 2>&1

for /f "delims=" %%F in ('dir /b /o-d "%SRC%\scm-nums_*.zip" 2^>nul') do (set LATEST=%%F & goto :found)
:found
if "%LATEST%"=="" (echo [ERROR] no local backup found >> "%SRC%\_errors.log" & exit /b 1)
if not exist "%DST%" mkdir "%DST%"
copy "%SRC%\%LATEST%" "%DST%\%LATEST%" > nul
echo [OK] %date% %time% remote copy: %LATEST% -^> %DST% >> "%SRC%\_backup.log"
net use \\pharmacyportal\e$ /delete > nul 2>&1
endlocal
Security Note: Replace PASSWORD_HERE with the actual service account password before deploying. For production, prefer integrated authentication or a secured credential store. Never commit plaintext credentials into source control.

14.7 Task Scheduler Registration

The three scripts are registered under a single Windows scheduled task called SCM-NUMS Backup Suite. The task contains three triggers (17:00 daily for full backup, hourly repetition starting 18:00 for incremental, and 17:30 daily for the remote copy) and three actions that invoke the batch files in sequence.

SCM-NUMS-Backup.xml — E:\Scripts\SCM-NUMS-Backup.xml XML
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2026-05-26T08:00:00</Date>
    <Author>KZN-DOH\ThembaSikosana</Author>
    <Description>SCM-NUMS Backup Suite</Description>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2026-05-26T17:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay><DaysInterval>1</DaysInterval></ScheduleByDay>
    </CalendarTrigger>
    <CalendarTrigger>
      <StartBoundary>2026-05-26T18:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <Repetition>
        <Interval>PT1H</Interval>
        <Duration>PT23H</Duration>
      </Repetition>
      <ScheduleByDay><DaysInterval>1</DaysInterval></ScheduleByDay>
    </CalendarTrigger>
    <CalendarTrigger>
      <StartBoundary>2026-05-26T17:30:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay><DaysInterval>1</DaysInterval></ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>SYSTEM</UserId>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <StartWhenAvailable>true</StartWhenAvailable>
    <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
  </Settings>
  <Actions Context="Author">
    <Exec><Command>E:\Scripts\backup_full.bat</Command></Exec>
    <Exec><Command>E:\Scripts\backup_incremental.bat</Command></Exec>
    <Exec><Command>E:\Scripts\backup_remote.bat</Command></Exec>
  </Actions>
</Task>

14.7.1 How to Register the Task

  1. Save the XML to E:\Scripts\SCM-NUMS-Backup.xml.
  2. Open an elevated Command Prompt on the SCM‑NUMS VM.
  3. Run: schtasks /Create /TN "SCM-NUMS Backup Suite" /XML "E:\Scripts\SCM-NUMS-Backup.xml"
  4. Verify: schtasks /Query /TN "SCM-NUMS Backup Suite" /V /FO LIST
  5. Test manually: schtasks /Run /TN "SCM-NUMS Backup Suite"
  6. Confirm a ZIP was produced in E:\Backup.
Deployment Note: All three scripts are registered under a single scheduled task. The task must run as SYSTEM or a service account with write access to E:\Backup and \\pharmacyportal\e$\backup. Ensure the scheduled task service account has full control on both paths to avoid silent permission failures.

14.8 Disaster Recovery Runbook

DR scenarios and recovery targets
ScenarioDetectionActionRTORPO
1. Database CorruptionApp errors, integrity failuresStop app; run restore.bat scm-nums_ATEST.zip< 2h< 1h
2. Hardware FailureMonitoring alert, no host responseFailover to secondary VM; restore ZIP< 3h< 1h
3. Complete Site DisasterFacility unavailableRestore from \\pharmacoportal\e\backup< 4h< 1h
4. Ransomware AttackEDR alerts; file extension changesIsolate; restore from offline verified backup< 3h< 1h
5. Accidental Data DeletionUser report; audit trailRestore specific tables from latest ZIP< 1h< 1h
6. Silent Backup FailureMissing ZIP in E:\Backup; _errors.log entriesRe‑run schtasks /Run; verify output; check permissions and disk space< 2h< 24h

14.9 DR Team Roles

DR team
RoleResponsibilityContact
DR CoordinatorOverall DR coordination and communicationMr Themba Sikosana (Project Manager · Technical Lead)
Technical LeadSystem recovery and restorationMr Themba Sikosana (Project Manager · Technical Lead)
Important: Backup and DR procedures are reviewed quarterly and tested at least twice per year. All staff are trained on DR procedures.
SCM‑NUMS · Backup &amp; disaster recovery
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 18 of 23

15Incident Management Procedure & Register

Purpose. Defines how system issues and security incidents are reported, managed, escalated and resolved per the KZN ICT Governance Standard §4 (Document 15).

15.1 Incident Response Process Flow

  1. Detect — Identify the incident.
  2. Triage — Assess severity and impact.
  3. Investigate — Determine root cause.
  4. Resolve — Apply fix and restore service.
  5. Review — Post‑incident review.
  6. Close — Formally close the incident.

15.2 Escalation Path

  1. Level 1: Helpdesk Support (Initial triage).
  2. Level 2: Mr Themba Sikosana & SCM Team (Technical investigation).
  3. Level 3: ICT Manager (Major incidents).
  4. Level 4: CIO (Critical incidents).
  5. Level 5: Head of Department (Ultimate escalation).

15.3 Security Incident Response

  • Detection: Security monitoring and alerting.
  • Containment: Immediate isolation of affected systems.
  • Investigation: Forensic analysis conducted.
  • Remediation: Security patches and fixes applied.
  • Notification: Affected parties notified.
  • Reporting: Incidents reported to Information Regulator.

15.4 Incident Priority Levels

Incident priority and response
PriorityDescriptionResponseResolutionEscalation
P1System down, data loss, security breach15 min2 hoursICT Manager
P2Major functionality affected30 min4 hoursICT Supervisor
P3Non‑critical functionality affected2 hours24 hoursHelpdesk Team
P4Minor issues, enhancements24 hours5 daysHelpdesk Team

15.5 Incident Register

Incident register
Incident IDDateDescriptionPriorityStatusResolution
No incidents have occurred to date.

15.6 Incident Reporting Form

  • Incident ID: [Auto‑generated]
  • Date: [Date]
  • Reported By: [Name, Role]
  • Incident Description: [Detailed description]
  • Priority: [P1 / P2 / P3 / P4]
  • Impact: [Number of users affected]
  • Resolution: [Description of resolution]
  • Status: [Open / In Progress / Resolved / Closed]
  • Closure Date: [Date]

15.7 Incident Communication

Internal

ICT Division staff notified of incidents.

Stakeholder

Users informed of major incidents.

Management

Monthly reports to ICT Governance Committee.

Audit

Reported to Internal Audit as required.

Incident Management Status: The incident management process is mature and ready. All templates and procedures are in place.
SCM‑NUMS · Incident management
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 19 of 23

16System User Manual & Standard Operating Procedures

Purpose. Provides comprehensive, step‑by‑step, illustrated guidance to all users of the SCM‑NUMS system per the KZN ICT Governance Standard §4 (Document 16).

16.1 Document Control

User manual document control
TitleSCM‑NUMS System User Manual
Version1
Issue DateSeptember 2026
PM · Technical LeadMr Themba Sikosana
ClassificationInternal · Confidential
Review CycleQuarterly, or upon material change
AudienceAll SCM‑NUMS users

16.2 User Roles at a Glance

User roles overview
RolePrimary Functions
NurseRegister, log in, place requisitions, edit pending, view own history
SupervisorActivate nurses, approve/reject, re‑open approved requisitions
Stores OfficerManage stores inventory, issue uniforms, view stores reports
Head OfficeConfigure system, manage users, view province reports, manage admins
AuditorRead‑only access, view audit logs, generate compliance reports
Digital nurse workflow
Figure 16.1 — Digital nurse workflow supported end-to-end by SCM‑NUMS.

16.3 How to Register as a Nurse

Prerequisites: Active Persal number in HR database; valid surname as recorded in Persal.

  1. Open your browser and navigate to the SCM‑NUMS login page (URL provided by ICT Division).
  2. On the home page, click the Register button.
  3. Enter your Persal number (e.g. 12345678).
  4. Enter your surname exactly as it appears in Persal (case‑sensitive).
  5. Click Verify. The system checks your details against the HR database.
  6. If details match, a profile completion form appears. If not, contact your supervisor.
  7. Complete: Email, Telephone, Gender, Position, Department, Password, Security Question.
  8. Password rules: Minimum 6 characters with at least one uppercase letter (A–Z), one lowercase letter (a–z), one number (0–9), and one special character (e.g. !@#$%^&*).
  9. Click Submit Registration.
  10. Your account is created with PENDING status.
  11. Contact your immediate supervisor to activate your account.
Troubleshooting: If your Persal details are not found, verify the number and surname match Persal exactly. If your password is rejected, check §3.5.

16.4 How to Log In

  1. Navigate to the SCM‑NUMS login page.
  2. Enter your Persal Number and Password.
  3. Click Sign In. You will be redirected to your role‑specific dashboard.
Troubleshooting: After 5 failed attempts, your account will be locked for 30 minutes.

16.5 How to Place a Uniform Requisition

Prerequisites: Active account; active order cycle; not yet ordered this cycle.

  1. Log in as described in Procedure 16.4.
  2. From your dashboard, click Order Uniforms.
  3. The catalogue loads; items are filtered by your gender.
  4. For each item: click Add to Requisition, select Size, enter Quantity (≤ maximum shown), click Add.
  5. Review your requisition summary on the right panel.
  6. Click Submit Requisition. Status = PENDING; supervisor notified.
Note: Prices are not displayed on the user interface. Only the Admin/Finance portal displays prices.

16.6 Supervisor — Activate a Nurse Account

  1. Log in. Your dashboard shows Pending Activations.
  2. Click View All Pending Activations.
  3. Review the list (nurse name, Persal, facility, department, date).
  4. Click Review on a nurse you wish to activate.
  5. Verify the nurse's details against your records.
  6. Click Activate Account (or Reject with a reason).
  7. The nurse receives an automatic notification.

16.7 Supervisor — Approve or Reject a Requisition

  1. From your dashboard, click Pending Requisitions.
  2. Requisitions are filtered to your scope (department or facility).
  3. Click Review on a requisition.
  4. Review items, sizes, quantities and total amount.
  5. Click Approve Requisition or Reject Requisition (with mandatory reason).
  6. The nurse is notified automatically.

16.8 Supervisor — Re‑open an Approved Requisition

  1. Navigate to Requisition History.
  2. Filter by Status = Approved.
  3. Locate requisition and click Re‑open.
  4. Provide a reason for re‑opening (mandatory). Confirm.
  5. Status reverts to Pending; returns to your approval queue.

16.9 Admin — Manage the Catalogue

  1. Navigate to Catalogue Management from the admin menu.
  2. View uniform items including prices (admin‑only).
  3. Add: click Add New Item, complete form, click Save.
  4. Edit: click Edit, update fields, click Save.
  5. Deactivate: click Deactivate (removed from nurse catalogue).
  6. All changes logged automatically in the audit trail.

16.10 Stores Officer — Manage Inventory & Issue Uniforms

  1. Navigate to Stores Management.
  2. View inventory levels, low‑stock alerts, pending requisitions.
  3. Update stock: click Adjust, enter new quantity, click Save.
  4. Issue uniforms: select approved requisition, click Issue, confirm.
  5. Generate stores reports via the Stores Reports tab.

16.11 Standard Operating Procedure — Full Process Flow

  1. Nurse registers with Persal + surname.
  2. Nurse completes profile, selects Position ID, and creates a password meeting the complexity policy.
  3. Account status = PENDING ACTIVATION.
  4. Supervisor (Position ID 6+) activates account.
  5. Account ACTIVE.
  6. Nurse places order (active cycle required).
  7. Order PENDING APPROVAL.
  8. Supervisor (Position ID 6+) reviews the order.
  9. Decision: Approved or Rejected.
  10. If rejected: nurse edits and resubmits.
  11. If approved: delivery recorded.
  12. Audit trail closes the cycle.

16.12 SOP — Establishment Control Process

SOP establishment control process
StepActivityDescriptionControlResponsibilityTimeInputOutput
1Nurse RegistrationNurse registers using Persal & surname for verification against HR database.Persal validation; unique constraint; password complexity; bcrypt.Nurse; System5 minPersal, surname, profilePending registration
2Account ActivationImmediate supervisor reviews and activates the nurse account.Supervisor scope validation; audit logging; notification.Immediate Supervisor1 dayPending registrationActive account
3Requisition PlacementNurse selects items, sizes, quantities and submits.Eligibility check; real‑time validation.Nurse10 minCatalogue; size guidePending requisition
4Requisition ApprovalSupervisor approves or rejects with reason.RBAC; self‑approval blocked; audit logging.Immediate Supervisor1 dayPending requisitionApproved / Rejected
5Reporting & AuditAdmin/Auditor generates reports and reviews audit logs.RBAC; read‑only audit access; export controls.Admin; Auditor; PMVariableRequisition data; logsReports; audit evidence

16.13 SOP Sign‑Off

Process Owner
Mr Themba Sikosana (Project Manager / Technical Lead)
Date: _______________
Change Control Board Chair
Mr Mtshali
Date: _______________
SCM‑NUMS · User manual
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 20 of 23

17Training Records

Purpose. Provides evidence that relevant users were trained before using the system per the KZN ICT Governance Standard §4 (Document 17).

17.1 Training Sessions Planned

Planned training sessions
SessionDateLocationAudienceTarget
Train‑the‑TrainerSep 2026Head OfficeDistrict Trainers--
District Training Round 1Sep–Oct 2026All 11 DistrictsNurses, Supervisors, Stores--
District Training Round 2Oct 2026All 11 DistrictsNurses, Supervisors, Stores--
Auditor TrainingOct 2026Head OfficeInternal Auditors--
Supervisor RefresherOct 2026OnlineSupervisors--
Helpdesk TrainingOct 2026ICT DivisionHelpdesk Staff--
Admin Advanced TrainingOct 2026Head OfficeStores Officers, HO--

17.2 Target Audience

Target audience
CategoryTotal UsersTrainedCompletion
Nurses32,000+----
Supervisors450----
Stores Officers22----
Head Office Staff15----
Auditors8----
Total32,500+----

17.3 Training Assessment Results

Training assessment results
AssessmentAverage ScorePass Rate
Nurse Registration----
Password Complexity Rules----
Requisition Placement----
Requisition Approval----
Catalogue Management----
Reporting----
Audit Log Review----
Backup & Restore Procedures----

17.4 Training Materials

User Manual

Comprehensive guide covering all system features.

Quick Ref Guides

Role‑specific guides for quick access.

Video Tutorials

Step‑by‑step videos for key processes.

FAQs

Frequently asked questions with answers.

Training Slides

Presentation materials used during training.

Practice Exercises

Hands‑on exercises for practical learning.

17.5 Training Attendance Register

Attendance register template
DateFacilityAttendee NameRoleSignature
----------

17.6 Ongoing Training Plan

New User Orientation

Within 2 weeks of joining.

Refresher

Quarterly sessions.

Supervisor Training

New supervisors.

Advanced Training

Stores & Head Office.

Training Status: Training will be delivered to all user categories before go‑live.
SCM‑NUMS · Training records
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 21 of 23

18Go‑Live Readiness Assessment & Approval

Purpose. Confirms that business, ICT, security, testing and operational requirements have been addressed before production deployment per the KZN ICT Governance Standard §4 (Document 18).

18.1 Go‑Live Readiness Checklist

Business Readiness
  • Business requirements approved
  • UAT completed — Planned
  • Business continuity plan ready
  • Stakeholder communication complete
Security Readiness
  • Security assessment completed
  • All risks mitigated
  • Password complexity enforced
  • User access provisioned
  • Audit logging enabled
Data Readiness
  • Data migration completed
  • Data validation verified
  • Data quality confirmed
  • Data backups in place
ICT Readiness
  • Infrastructure provisioned (SITA)
  • Backup and DR tested
  • Monitoring configured
  • Support team trained
Operational Readiness
  • Training completed — Planned
  • User manuals distributed
  • Helpdesk operational
  • Incident management ready
User Readiness
  • All users registered
  • Access provisioned
  • Training completed — Planned
  • Communication sent to users

18.2 Go‑Live Deployment Plan (Draft)

Cut-over sequence

The go‑live cut-over is performed after hours to minimise disruption, with a rollback plan at every step.

TimeActivityResponsibleStatus
T-1 dayFinal backup and validationMr Themba Sikosana / SCM TeamPlanned
T-0 (20:00)System maintenance mode enabledICT OperationsPlanned
T-0 (20:05)Database backup performedSCM TeamPlanned
T-0 (20:15)Application code deploymentMr Themba SikosanaPlanned
T-0 (20:30)Database schema updateSCM TeamPlanned
T-0 (20:45)System configuration appliedICT OperationsPlanned
T-0 (21:00)System testing and validationSCM TeamPlanned
T-0 (21:30)Maintenance mode disabledICT OperationsPlanned
T-0 (21:45)Post‑deployment monitoringICT OperationsPlanned

18.3 Go‑Live Communication

  • User Communication: All users notified of go‑live date and time.
  • Training Reminder: Users reminded of available training materials.
  • Support Information: Helpdesk contact details shared with users.
  • System Access: Users provided with access credentials.
  • Feedback Channels: Users encouraged to provide feedback.

18.4 Post‑Go‑Live Support

  • Helpdesk: Extended hours for first 2 weeks.
  • On‑Site Support: Available at pilot facilities.
  • Issue Escalation: Clear escalation path defined.
  • Performance Monitoring: Continuous monitoring.
  • User Feedback: Regular feedback collection.
  • Support Responsibility: Mr Themba Sikosana and the SCM Team.

18.5 Go‑Live Sign‑Off

Business Owner
Director: Supply Chain Management
Date: _______________
Project Manager · Technical Lead
Mr Themba Sikosana
Date: _______________
Internal Audit
Chief Audit Executive
Date: _______________
Change Control Board Chair
Mr Mtshali
Date: _______________
SCM‑NUMS · Go‑live readiness
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 22 of 23

19Post‑Implementation Review

Purpose. Assesses whether the system achieved its objectives and identifies outstanding issues, risks and improvements per the KZN ICT Governance Standard §4 (Document 19).

19.1 Objectives Achieved (Preliminary)

  • Uniform requisition process digitised across all KZN health facilities.
  • RBAC implemented with role‑specific access for all stakeholder groups.
  • Real‑time visibility of requisitions and approvals achieved.
  • Complete audit readiness with transaction logging.
  • Compliance with PHSDSBC Resolution 1 of 2022.
  • Integration with HR database for Persal validation.
  • Password complexity policy enforced at registration.
  • Training to be delivered to all 32,000+ users.
  • System availability to be measured post go‑live.

19.2 Lessons Learned (Preliminary)

  • Early Stakeholder Engagement: Improved requirements gathering.
  • Phased Rollout: Pilot phase identifies issues early.
  • Training is Critical: Key to user adoption.
  • Communication: Regular updates keep stakeholders informed.
  • Testing: Thorough testing prevents major production issues.
  • User Feedback: Active feedback helps refine the system.
  • Password Policy: Clear, in‑form guidance reduces registration friction.
  • Backup Automation: Centralising scripts in one task simplifies monitoring.

19.3 Performance Metrics (Targets)

Post‑go‑live metric targets
MetricTargetActualStatus
Requisition Processing Time< 10 days--To be measured
User Satisfaction> 80%--To be measured
System Uptime> 99.5%--To be measured
Audit Log Completeness100%--To be measured
Training Completion100%--To be measured
Incident Resolution Time< 24 hours--To be measured
User Registration Rate100%--To be measured
Password Complexity Pass Rate100%--To be measured
Backup Success Rate100%--To be measured

19.4 Outstanding Issues (Preliminary)

Outstanding items
IssuePriorityStatusTarget
Complete facility testingHighPlannedEnd Sep 2026
Complete UATHighPlannedOct 2026
Deliver training to all usersHighPlannedOct 2026
Finalise go‑live readinessHighPlannedMid Oct 2026
Verify first automated backup cycleHighIn ProgressOngoing

19.5 Recommendations

  • Continuous Improvement: Regular reviews and enhancements based on user feedback.
  • Training: Ongoing training for new users and refresher sessions.
  • Support: Maintain robust helpdesk support for all users.
  • Security: Regular security assessments and updates.
  • Password Policy: Periodically review complexity rules against evolving threats.
  • Backup: Move to integrated authentication for the remote copy script; rotate service account password quarterly.
  • Integration: Explore further integrations with other departmental systems.
  • Expansion: Consider expanding the system to other provinces.

19.6 Conclusion (Preliminary)

SCM‑NUMS is on track for full compliance with KZN DoH ICT Governance and System Assurance Standards. The system is being developed to achieve all project objectives and deliver significant value to the KZN Department of Health.
SCM‑NUMS · Post‑implementation review
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 23 of 23

20Audit Evidence Summary

Purpose. Confirms that all required audit evidence is compiled and available for review by Internal Audit and external assurance providers, in line with the KZN Department of Health ICT Governance and System Assurance Standards.

Audit evidence register

Each required piece of evidence is listed with its current status and location in the binder.

#Audit EvidenceStatusLocation
1User roles and permissions matrixAvailableSection 6
2Audit‑log reports and review recordsIn ProgressSection 15
3Password and security configuration evidenceAvailableSections 3.5 & 8
4Change requests, approvals and deployment recordsAvailableSection 13
5Test scripts and test resultsIn ProgressSection 11
6UAT sign‑offPlannedSection 12
7Backup and restoration evidenceIn ProgressSection 14
8Disaster recovery test resultsPlannedSection 14
9Security / privacy assessmentsAvailableSection 8
10Incident registers and resolution recordsNo Incidents to DateSection 15
11Risk register and mitigation evidenceAvailableSection 7
12Training attendance recordsPlannedSection 17
13Go‑live approvalIn ProgressSection 18
14Post‑implementation reviewPlannedSection 19
15Backup script source files (3 scripts)AvailableSection 14
16Task Scheduler XML registrationAvailableSection 14
17Disaster Recovery runbookAvailableSection 14
18Password complexity enforcement evidenceAvailablecheck_name.php · Section 3.5
19Backup verification logs (_backup.log / _errors.log / _verify.log)In ProgressSection 14
Audit Readiness Statement: SCM‑NUMS maintains a complete, accurate and up‑to‑date set of audit evidence. All documentation is available for inspection by Internal Audit, the Auditor‑General and authorised assurance providers.
SCM‑NUMS · Audit evidence
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 24 of 23

Document Approval & Sign‑Off

The undersigned confirm that this SCM‑NUMS Governance & System Assurance document has been reviewed and approved in accordance with the KZN Department of Health ICT Governance & System Assurance Standards.

Project Manager · Technical Lead
Mr Themba Sikosana
Date: _______________
Business Owner · SCM
Director: Supply Chain Management
Date: _______________
Change Control Board Chair
Mr Mtshali
Date: _______________
Internal Audit
Chief Audit Executive
Date: _______________
This page formally closes the master governance binder. Distribution, retention and version control are governed by the KZN Health ICT Governance Committee.
SCM‑NUMS · Approval &amp; sign-off
KwaZulu‑Natal Department of Health
ICT Governance & System Assurance
Document: KZN/ICT/SCM-NUMS/2026/001
Version: 1 · 23 September 2026
System: SCM‑NUMS
Page: 25 of 23

22Master Process Flow

Purpose. Provides the single master end‑to‑end process flow for SCM‑NUMS — from nurse registration through to audit closure. Each step is a governed, logged action.

How to read this diagram: Rounded rectangles show start/end points. Rectangles are process steps. Diamonds are decisions. Cylinder shapes represent database writes. Red boxes show exception paths (rejection, denial, blocked). Dashed grey boxes are theoretical/manual steps included for comparison only.

22.1 Master End‑to‑End Process Flow

SCM‑NUMS Master Process — Registration to Audit Closure
STARTSystem go‑live
Nurse visits SCM‑NUMS portalBrowser or kiosk
Enter Persal + surnameRegistration form
HR validation?check_name.php
No
RejectShow error
Return to formRetry
Yes
Complete profilePassword policy
Save pending accountnurses_users.is_active=0
Supervisor activationactivate_user.php
Activated?
No
Stay pendingNotify nurse
Yes
Account ACTIVECan requisition
Place requisitionorder.php
Eligible?Active cycle, not ordered
No
BlockedShow reason
Yes
Save requisitionuniform_orders status=pending
Supervisor reviewsapprove_order.php
Approve or reject?
Reject
Reject with reasonrejection_reason
Nurse editsedit_order.php
Approve
Approvedapproved_by, approved_date
Store issues uniformStores Officer
Audit log entryadmin_audit_log
Reports generatedfinancials.php
ENDAudit trail complete
Start/End Process Decision Action Database Exception Retry

22.2 Theoretical Manual Process (For Comparison Only)

This diagram is theoretical. KZN Health does not currently operate a manual uniform process. Nurses are paid the uniform allowance directly into their Persal account. The diagram below shows what a hypothetical manual process would look like — highlighting the governance risks that SCM‑NUMS is designed to avoid.
Hypothetical Manual Process — Illustrating the Risks SCM‑NUMS Eliminates
STARTTheoretical only
Nurse completes paper formNo central register
Submits to supervisorEmail or physical
Supervisor signs manuallyNo digital trail
Clerk types into spreadsheetError‑prone
Order placed by phone/emailNo standard catalogue
Uniform deliveredNo tracking
Records lost or incompleteAudit failure risk
No proof of intended useFraud risk
ENDNo audit trail
Theoretical manual step Governance risk
Process documentation complete. The master flow above covers every governed step of the SCM‑NUMS workflow. It is print‑ready and uses colour‑preserving notation so that the printed PDF matches the on‑screen view exactly.
SCM‑NUMS · Master process flow