Skip to main content

11.2 Process Workflows

This section shows the main operational workflows used by the MoH Helpdesk platform. The diagrams focus on the business flow and handover understanding rather than implementation code.

11.2.1 Facility User Ticket Creation Flow

100%
50%300%
Facility user ticket creation flow

A Facility User creates a ticket from the self-service portal by entering the issue title, description, category, facility/device context, and optional attachments. The system validates the input, stores the ticket, generates the ticket number, applies category-to-team routing, assigns the ticket when possible, and publishes the creation event for notification handling.

StageDescription
User submissionFacility User enters the ticket information and submits it.
ValidationRequired fields and attachment rules are checked.
Ticket creationTicketing Service stores the new incident and ticket number.
RoutingCategory mapping selects the responsible support team.
AssignmentThe ticket is assigned to an available/team-lead expert or sent to triage.
NotificationTicket-created event triggers email or other enabled alerts.

11.2.2 Ticket Assignment Flow

100%
50%300%
Ticket assignment flow

Ticket assignment starts when a Service Desk user opens the ticket details page and selects an eligible expert. The system records the assignment, updates the ticket state, and uses the latest active assignment as the ticket owner for workflow, reporting, and filtering.

StageDescription
Ticket reviewService Desk reviews the ticket details.
Expert selectionEligible experts are loaded from the team/user access context.
Assignment saveAssignment data is stored against the ticket.
Status updateThe ticket moves into the active handling state.
Visibility updateUI and reports reflect the latest assignment.

11.2.3 Ticket Reassignment Flow

100%
50%300%
Ticket reassignment flow

Ticket reassignment is used when a ticket must move from one expert to another. The system validates the new expert, stores the reassignment as assignment history, and sends notifications to the new owner. This preserved history supports escalation and technician reports.

StageDescription
Reassignment requestService Desk chooses a new expert from the ticket details page.
ValidationThe new expert must be active and valid for the selected team/context.
History updateThe new assignment is recorded without losing the previous assignment trail.
NotificationThe new owner receives the reassignment alert.
Reporting impactReassignment history contributes to escalation and technician performance reports.

11.2.4 Ticket Resolution Flow

100%
50%300%
Ticket resolution flow

Ticket resolution is completed by the assigned expert after entering clear resolution details. The system validates the resolution note, closes the ticket, stores the resolution message, publishes a closure event, and starts the reopen/finalization logic.

StageDescription
Resolution entryExpert provides resolution details.
ValidationThe note must be meaningful enough for audit and user communication.
Ticket closureTicket status and resolved date are updated.
Thread updateResolution message is appended to the ticket conversation.
User notificationReporter receives the closure notification.
Reopen/finalizeThe ticket can be reopened within policy or finalized after the allowed window.

11.2.5 Notification Engine Flow

100%
50%300%
Notification engine flow

The notification engine keeps user-facing commands fast by handling alerts asynchronously. Ticket commands publish events, background workers consume them, templates are rendered using event data, and messages are delivered through configured channels such as SMTP or other enabled gateways.

StageDescription
Event creationTicket workflow creates an event such as created, assigned, reassigned, closed, or reopened.
Event publishKafka receives the event without blocking the UI response.
Worker processingBackground consumers read the event and decide who should be notified.
Template renderingMessage body is generated from the configured template and event data.
DeliverySMTP or another enabled channel sends the notification.