Skip to main content

Work Order QMS Module — User Experience & Journey Architecture

Classification: Internal — Product & Design
Date: 2026-02-13
Artifact: 68 of WO System Series
Status: Proposed
Source Artifacts: 09-go-to-market-strategy.md §4, 12-sdd.md §1, 22-rbac-permissions-matrix.md, 28-quick-start-guide.md


1. Persona-Journey Matrix

1.1 Persona Definitions

PersonaRole (RBAC)Daily ContextTechnical SkillPrimary ValueFrequency
Sam — System OwnerSYSTEM_OWNERManages 5–20 validated systems, coordinates change control, accountable to QAModerate (domain expert, not developer)Compliance confidence, reduced paperworkDaily
Priya — QA ManagerQAReviews WOs for regulatory compliance, approves with e-signature, prepares for auditsLow–Moderate (regulatory expert)Audit readiness, first-pass approval rateDaily
Marco — IT TechnicianASSIGNEEExecutes work: installs software, calibrates instruments, configures systemsHigh (technical hands-on)Clear task scope, no ambiguityDaily
Dr. Chen — Compliance DirectorAUDITOR + QAExecutive oversight of compliance posture, reviews audit trends, manages FDA interactionsLow (reads reports, not creates them)Risk visibility, audit preparation timeWeekly
Aisha — Vendor TechnicianVENDORExternal contractor: performs IQ/OQ, installs equipment, submits evidenceVariableSelf-service access, clear deliverablesPer-WO
Jordan — Lab ManagerORIGINATOR + ASSIGNERCreates change requests, plans work, assigns to team membersModerateSpeed of request creation, visibility into statusDaily
AI AgentAGENT (system)Autonomously plans, assigns, executes, validates WO tasksN/AAccuracy, compliance, speedContinuous

1.2 Critical Journey Maps

Journey 1: Sam Creates a Master WO for HPLC Firmware Upgrade

Sam's Goal: Upgrade firmware on 3 HPLCs with minimal production downtime

Step 1: CREATE CHANGE REQUEST [5 min]
├─ Sam opens WO module → "New Work Order"
├─ Selects: Type=Preventive, Regulatory=Yes, System=HPLC-Lab-A
├─ AI agent suggests: "Based on similar upgrades, recommend Master WO
│ with 3 linked WOs (one per HPLC) + 1 OQ validation WO"
├─ Sam accepts suggestion → Master WO + 4 linked WOs auto-created
└─ FRICTION POINTS: system category selection, regulatory flag uncertainty

Step 2: PLAN THE WORK [15 min]
├─ Agent pre-populates Job Plans from template library
├─ Sam reviews: tools needed, experience requirements, estimated hours
├─ Sam adjusts schedule: HPLC-1 Monday, HPLC-2 Tuesday, HPLC-3 Wednesday
├─ Agent checks resource availability → flags: "Marco unavailable Tuesday"
├─ Sam reassigns HPLC-2 to alternative technician
└─ FRICTION POINTS: template doesn't match exactly, need to customize

Step 3: SUBMIT FOR APPROVAL [2 min]
├─ Sam clicks "Submit for Approval"
├─ System routes to: Sam (System Owner approval) + Priya (QA approval)
├─ E-signature prompt: Sam re-authenticates, signs with meaning
└─ FRICTION POINTS: re-authentication interrupts flow

Step 4: MONITOR PROGRESS [Ongoing, 1 min/check]
├─ Dashboard shows: Master WO progress bar, linked WO status cards
├─ Real-time updates as Marco completes tasks
├─ Notification: "HPLC-2 blocked — calibration tool unavailable"
├─ Sam acknowledges block, coordinates resolution
└─ FRICTION POINTS: notification noise (too many updates)

Step 5: CLOSE AND DOCUMENT [10 min]
├─ All linked WOs completed → Master WO auto-advances to COMPLETED
├─ Agent generates compliance evidence package
├─ Sam reviews, signs final closure
├─ Audit trail + evidence archived automatically
└─ FRICTION POINTS: reviewing auto-generated evidence, trusting agent output

Total time: ~35 minutes active + monitoring
Without CODITECT: ~4–8 hours (manual WO creation, paper job plans, email coordination, manual evidence compilation)

Journey 2: Priya Reviews and Approves a Regulatory WO

Priya's Goal: Verify compliance and approve WO within SLA

Step 1: REVIEW QUEUE [1 min]
├─ Priya opens "My Approvals" → sorted by deadline
├─ Badge shows: 3 pending, 1 urgent (deadline today)
├─ Clicks urgent WO → full context loads
└─ DESIGN: Approval queue is Priya's landing page (role-based default)

Step 2: COMPLIANCE REVIEW [5–8 min]
├─ Compliance summary card: all guards passed ✅, no violations
├─ Linked documents: Job Plan, tool requirements, experience verification
├─ Audit trail: timeline of all actions, actors, timestamps
├─ AI compliance assistant: "This WO follows the same pattern as WO-2023-087
│ which passed FDA audit. Key difference: new firmware version."
├─ Priya clicks "View Differences" → highlighted delta from template
└─ FRICTION POINTS: information overload, trust in AI summary accuracy

Step 3: APPROVE WITH E-SIGNATURE [1 min]
├─ Priya clicks "Approve"
├─ Re-authentication modal (password or biometric)
├─ Signature meaning displayed: "QA Approval of WO-2024-0042"
├─ Priya confirms → cryptographic signature generated
├─ WO advances to ASSIGNED (both approvals collected)
└─ FRICTION POINTS: re-auth feels slow; meaning text sometimes generic

Step 4: REJECTION PATH (ALTERNATE) [3 min]
├─ Priya clicks "Reject" → required: select reason category + free text
├─ Categories: Incomplete documentation, Missing approval, Compliance gap,
│ Scope concern, Resource inadequacy
├─ WO returns to DRAFT with rejection reason visible to originator
├─ Notification to Sam with specific remediation guidance
└─ DESIGN: Rejection is constructive, not punitive; clear path to resubmit

Journey 3: Marco Executes a Work Order Task

Marco's Goal: Complete assigned task correctly and on time

Step 1: VIEW ASSIGNMENTS [30 sec]
├─ Marco opens "My Work" → active assignments sorted by priority
├─ Each card shows: WO title, system, location, deadline, job plan summary
└─ DESIGN: Mobile-friendly cards; Marco may be on lab floor with tablet

Step 2: START WORK [1 min]
├─ Marco taps "Start" → WO transitions IN_PROGRESS
├─ Timer starts (actual hours tracking)
├─ Job Plan checklist loads: step-by-step instructions
├─ Required tools displayed with location/availability status
└─ DESIGN: Checklist is the primary work interface, not a form

Step 3: EXECUTE AND DOCUMENT [Variable]
├─ Marco checks off steps as completed
├─ For evidence-required steps: camera button → photo upload
├─ For measurement steps: numeric input with range validation
├─ If blocked: "Report Issue" → selects reason → WO transitions BLOCKED
│ → Notification to Sam + agent evaluates alternative resolution
└─ FRICTION POINTS: photo upload on slow lab WiFi, measurement formatting

Step 4: COMPLETE [2 min]
├─ All checklist items checked → "Complete Task" enabled
├─ Marco reviews summary of actual work performed
├─ Time entry auto-calculated from start/stop (manual override available)
├─ Marco submits → task completes → linked WO updates
└─ FRICTION POINTS: time entry rounding, forgotten photo uploads

Journey 4: Aisha (Vendor) Completes IQ/OQ Documentation

Aisha's Goal: Submit qualification evidence through vendor portal

Step 1: RECEIVE ASSIGNMENT [1 min]
├─ Email notification with secure portal link
├─ Aisha clicks link → SSO or one-time-password login
├─ Sees only her assigned WOs (scoped vendor view per RBAC)
└─ DESIGN: No app installation required; web-based portal

Step 2: REVIEW SCOPE [5 min]
├─ WO details: what to qualify, acceptance criteria, deadline
├─ Job Plan with vendor-specific steps
├─ Required deliverables list: IQ protocol, IQ report, OQ protocol, OQ report
└─ FRICTION POINTS: acceptance criteria ambiguity, template format confusion

Step 3: UPLOAD EVIDENCE [10 min]
├─ Drag-and-drop file upload (PDF, DOCX, images)
├─ File automatically scanned: size, type, virus, PHI detection
├─ Each upload mapped to a specific deliverable in the checklist
├─ Version tracking: re-uploads create new version, old version preserved
└─ FRICTION POINTS: file size limits, format rejection, slow upload

Step 4: SUBMIT FOR REVIEW [1 min]
├─ Aisha clicks "Submit" → evidence package sent to QA review queue
├─ Status visible in portal: "Submitted — Awaiting Review"
├─ Notification to Priya (QA) with evidence package link
└─ DESIGN: Vendor can see status but cannot see internal discussions

Journey 5: Dr. Chen Prepares for FDA Audit

Dr. Chen's Goal: Confidence that all compliance records are audit-ready

Step 1: OPEN COMPLIANCE DASHBOARD [30 sec]
├─ Role-based landing: compliance overview with KPIs
├─ Cards: Open WOs, Overdue WOs, Compliance Score, Recent Violations
└─ DESIGN: Executive-level summary, not detail

Step 2: RUN AUDIT READINESS CHECK [2 min]
├─ Click "Audit Readiness" → system scans all WOs from selected period
├─ Report: signature completeness, audit trail integrity, training currency
├─ Traffic lights: 🟢 All signatures valid, 🟡 2 training gaps, 🔴 1 overdue WO
└─ FRICTION POINTS: scan takes time for large date ranges; results need context

Step 3: DRILL INTO FINDINGS [5 min]
├─ Click yellow/red items → detailed finding with remediation path
├─ "2 training gaps" → shows persons, required training, expiry dates
├─ "1 overdue WO" → shows WO, current state, assignee, escalation history
├─ One-click: "Generate WO to remediate" → auto-creates corrective action WO
└─ DESIGN: Every finding has an action; no dead-end screens

Step 4: GENERATE EVIDENCE PACKAGE [1 min]
├─ Select date range + system scope → "Generate Package"
├─ Agent compiles: all WOs, audit trails, signatures, training records
├─ Output: PDF evidence package + machine-readable JSON
├─ Package includes table of contents, cross-reference matrix
└─ FRICTION POINTS: package generation time (async; notification when ready)

2. Information Architecture

2.1 Navigation Model

WO System — Global Navigation

┌─────────────────────────────────────────────────────────────┐
│ [Logo] Home Work Orders Compliance Reports Admin [?] │
├─────────────────────────────────────────────────────────────┤
│ │
│ Role-Based Landing: │
│ ┌─────────────────┐ │
│ │ System Owner: │ → My Systems (WO list filtered) │
│ │ QA Manager: │ → Approval Queue │
│ │ IT Technician: │ → My Assignments │
│ │ Compliance Dir: │ → Compliance Dashboard │
│ │ Vendor: │ → Vendor Portal (scoped view) │
│ │ Lab Manager: │ → Team Queue │
│ └─────────────────┘ │
│ │
│ Work Orders ─┬─ My Assignments │
│ ├─ Team Queue │
│ ├─ All Work Orders (role-filtered) │
│ ├─ Master WO Tracker │
│ └─ Create New │
│ │
│ Compliance ──┬─ Audit Trail Search │
│ ├─ Compliance Dashboard │
│ ├─ Audit Readiness Check │
│ ├─ Evidence Library │
│ └─ Policy Management │
│ │
│ Reports ─────┬─ WO Metrics (cycle time, throughput) │
│ ├─ Resource Utilization │
│ ├─ Compliance Score Trend │
│ ├─ Agent Performance │
│ └─ Export / Schedule Reports │
│ │
│ Admin ───────┬─ Users & Roles │
│ ├─ Teams & Vendors │
│ ├─ Systems & Assets │
│ ├─ Approval Chain Config │
│ ├─ Job Plan Templates │
│ ├─ Integrations │
│ ├─ Tenant Settings │
│ └─ Security & Audit │
│ │
└─────────────────────────────────────────────────────────────┘

2.2 Design Principles

PrincipleImplementationRationale
Role-based default viewsEach persona lands on their highest-value page after loginReduces time-to-action; QA doesn't need to navigate to approval queue
Progressive disclosureSummary → detail on demand; never show everything at onceLab managers on tablets need quick views; detail available on click
Contextual actionsRelevant buttons appear where the user needs them (approve button on approval screen, not in a menu)Reduces click count for primary actions
Consistent patternsEvery list: filter bar → sortable table → detail panel; every form: inline validation → summary → confirmReduces learning curve across WO types
Deep linkingEvery WO, approval, audit entry has a shareable URLEnables email/Slack references: "see WO-2024-0042"
BreadcrumbsAlways show: Home > Work Orders > WO-2024-0042 > Job PlanUsers never feel lost; back navigation always available

3. Onboarding Architecture

3.1 First-Run Experience

Account Activation → Role Selection → Guided Setup → First Real Task

Step 1: ROLE SELECTION
"Welcome to CODITECT WO. What's your primary role?"
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ System Owner │ │ QA / Quality │ │ IT / Ops │
│ I manage │ │ I review and │ │ I execute │
│ validated │ │ approve │ │ work orders │
│ systems │ │ changes │ │ │
└──────────────┘ └──────────────┘ └──────────────┘

Sets: default landing page, notification preferences, dashboard layout

Step 2: GUIDED SETUP (role-specific, 5-10 minutes)
System Owner path:
→ Register your first validated system (name, type, criticality)
→ Create a sample WO for that system (pre-filled template)
→ See: state machine visualization, approval chain, audit trail
→ Milestone: "You created your first compliant change request"

QA Manager path:
→ Review a sample WO (pre-populated)
→ Practice e-signature (real auth, demo WO)
→ See: audit trail generated, compliance summary
→ Milestone: "You approved your first work order"

IT Technician path:
→ View your sample assignment
→ Walk through job plan checklist
→ Mark steps complete, upload sample evidence
→ Milestone: "You completed your first task"

Step 3: FIRST REAL TASK (contextual prompt within 24 hours)
"Ready to create your first real work order?"
→ Offers to convert guided setup learnings into production use
→ Measures: Time to First Value (TTFV)

3.2 Time-to-Value Metrics

MetricTargetMeasurementAlert Threshold
TTFV (System Owner)< 30 min from login to first real WO createdTimestamp delta: account_activated → first_wo_created> 2 hours
TTFV (QA Manager)< 15 min from login to first real approvalTimestamp delta: account_activated → first_approval_signed> 1 hour
TTFV (IT Technician)< 10 min from login to first task startedTimestamp delta: account_activated → first_task_started> 30 min
Onboarding completion> 85% complete guided setupSteps completed / total steps< 60%
7-day retention> 90% of users active at day 7Users with activity in days 1–7 / total onboarded< 75%
Feature discovery (30d)> 60% of key features usedDistinct features used / key feature list< 40%

3.3 Progressive Disclosure Schedule

WeekFeatures RevealedTrigger
Week 1WO creation, approval, basic checklist, notificationsAccount activation
Week 2Master/linked WOs, dependency tracking, resource matchingFirst WO completed
Week 3Agent automation, PM scheduling, compliance dashboard5+ WOs completed
Week 4Custom templates, webhook integrations, API accessAdmin requests or power user signals

4. Accessibility Requirements (WCAG 2.1 AA)

4.1 Standards Compliance

WCAG PrincipleRequirementWO System ImplementationTesting
PerceivableText alternatives for non-text contentAll icons have aria-label; status indicators use color + text + iconaxe-core automated
PerceivableColor is not sole conveyor of infoStatus: 🟢 Ready + "Ready" text, 🟡 Partial + "Partial" text, 🔴 Gap + "Gap" textManual review
PerceivableContrast ratio ≥ 4.5:1 (normal text), ≥ 3:1 (large text)Per JSX design system: text ≥ #374151 on white (#FFFFFF) = 5.7:1Contrast checker
OperableAll functionality keyboard accessibleTab order follows visual layout; Enter/Space activate; Escape closes modalsManual keyboard testing
OperableFocus visible on all interactive elements2px solid blue outline on focus; never outline: none without replacementManual testing
OperableNo time-based content without controlSession timeout: 2-minute warning with extend option; no auto-advancing carouselsManual testing
UnderstandableError identification with suggestionInline validation: "WO title is required" next to field; not just red borderaxe-core + manual
UnderstandableConsistent navigation across pagesSame nav bar, same patterns, same icons across all viewsDesign review
RobustARIA landmarks for screen readers<main>, <nav>, <aside>, role="search", aria-live for status updatesNVDA/VoiceOver testing

4.2 Specific WO System Accessibility

ComponentAccessibility FeatureImplementation
State machine visualizationText alternative describing current state and available transitionsaria-label="Work order WO-2024-0042 is in APPROVED state. Available transitions: ASSIGNED."
Approval e-signature modalFocus trapped in modal; keyboard-operable authentication; screen reader announces required actionrole="dialog", aria-modal="true", focus management
Job Plan checklistCheckbox states announced; progress announced on changearia-checked, aria-label="Step 3 of 7: Install firmware. Not completed."
Audit trail timelineTimeline readable as ordered list; timestamps in human-readable format<ol> structure; <time> elements; aria-label per entry
Dashboard KPI cardsValues announced with contextaria-label="Open work orders: 12. 3 overdue."
File upload (vendor portal)Drag-and-drop has keyboard alternative; upload progress announcedFallback file input; aria-live="polite" for progress

4.3 Accessibility Testing Plan

Test TypeToolFrequencyScope
Automated scanaxe-core (CI integration)Every PRAll pages
Keyboard navigationManual (QA)Per featureAll interactive elements
Screen readerNVDA (Windows), VoiceOver (macOS)MonthlyCritical paths (create WO, approve, complete)
Contrast verificationAutomated (Lighthouse)Every PRAll text elements
Mobile accessibilityManual (iOS VoiceOver, Android TalkBack)Per releaseCore flows on tablet

5. Error Experience Design

5.1 Error Categories & User Experience

CategoryUser SeesTechnical DetailRecovery Action
ValidationInline field-level message with specific fix422 + field error arrayFix the specific field; no page reload
Permission denied"You need [specific role] to [action]. Contact [admin name]."403 + required_permission + admin_contactClear escalation path; no guessing
Compliance block"This transition requires [specific approval/condition]. [Action link]"403 + compliance_rule + resolution_stepsLink directly to resolution (e.g., "Request QA Approval")
Conflict"This WO was updated by [person] [time ago]. Review changes and retry."409 + diff + current_versionSide-by-side diff; merge or override option
Agent failure"AI assistant encountered an issue. You can proceed manually or retry."500 + agent_error + fallback_optionManual fallback always available; never blocked by agent
Network"Connection lost. Your changes are saved locally. Reconnecting..."Network timeout + offline queueAuto-retry with progress; manual retry button
System error"Something unexpected happened. Reference: [ID]. Our team has been notified."500 + correlation_id + auto-alertReference ID for support; auto-notified engineering

5.2 Error Design Principles

PrincipleImplementation
Never show raw errorsEvery error maps to a human-readable message via error code catalog
Always provide next actionEvery error message includes what the user can do (not just what went wrong)
Preserve workAuto-save every 30 seconds; error states never lose user input
Correlate for supportEvery error generates a unique reference ID; one-click "Report Issue" button
Compliance errors are specialCompliance blocks explain the specific regulation, the specific rule, and the specific remediation — never vague "compliance issue"
Agent transparencyWhen AI agents fail, show what the agent was trying to do and offer manual alternative

5.3 Error Message Catalog Structure

interface ErrorDefinition {
code: string; // e.g., 'WO_INVALID_TRANSITION'
httpStatus: number;
userTitle: string; // "Invalid State Transition"
userMessage: string; // Template with {variables}
recoveryAction: string; // "Review the required approval chain..."
complianceRelevant: boolean;
auditTrailEntry: boolean; // Whether to log in audit trail
notifyEngineering: boolean; // Whether to auto-alert
}

// Example catalog entry
const WO_ERRORS = {
WO_INVALID_TRANSITION: {
code: 'WO_INVALID_TRANSITION',
httpStatus: 422,
userTitle: 'Cannot Change Status',
userMessage: 'This work order cannot move from {current_state} to {target_state}. The next valid step is {valid_transitions}.',
recoveryAction: 'Complete the required steps for {current_state} before advancing.',
complianceRelevant: true,
auditTrailEntry: true,
notifyEngineering: false,
},
WO_APPROVAL_MISSING: {
code: 'WO_APPROVAL_MISSING',
httpStatus: 403,
userTitle: 'Approval Required',
userMessage: 'This work order requires approval from {missing_approvers} before it can proceed.',
recoveryAction: 'Request approval from {missing_approvers} or contact your System Owner.',
complianceRelevant: true,
auditTrailEntry: true,
notifyEngineering: false,
},
};

6. Notification Architecture

6.1 Notification Types

TypeChannelUrgencyExample
Approval requestIn-app + email + Slack (optional)High"WO-2024-0042 requires your QA approval by Friday"
Status updateIn-appMedium"WO-2024-0042 moved to IN_PROGRESS by Marco"
AssignmentIn-app + emailHigh"You've been assigned to WO-2024-0042: HPLC Firmware Upgrade"
BlockedIn-app + email + SlackHigh"WO-2024-0042 is BLOCKED: calibration tool unavailable"
Deadline warningIn-app + emailMedium"WO-2024-0042 due in 2 days — currently IN_PROGRESS"
CompletionIn-appLow"Master WO-2024-0040 completed: all linked WOs closed"
Compliance alertIn-app + email + SlackCritical"Training expired for Marco — cannot assign to regulatory WOs"
Agent actionIn-appLow"Agent created 4 linked WOs for Master WO-2024-0040"

6.2 Notification Preferences

Users configure per channel and per type:

Notification Preferences:

In-App: [All notifications — not configurable, always on]
Email: ☑ Approval requests ☑ Assignments ☑ Blocked
☐ Status updates ☑ Deadlines ☐ Agent actions
Slack: ☑ Approval requests ☐ Assignments ☑ Blocked
☐ Status updates ☐ Deadlines ☐ Agent actions

Quiet hours: 8 PM – 7 AM (critical compliance alerts override)
Digest mode: ☐ Individual ☑ Hourly digest for low-priority

6.3 Notification Delivery Architecture

Event (NATS) → Notification Service → Route:
├─ In-App: WebSocket push to connected clients
│ Stored in notification table (read/unread tracking)
├─ Email: Queue → Email adapter (SendGrid/SES) → Delivery tracking
├─ Slack: Queue → Slack webhook adapter → Delivery tracking
└─ SMS: Queue → SMS adapter (Twilio) → Delivery tracking (critical only)

Preferences checked before each channel delivery.
Quiet hours enforced (except P0 compliance alerts).
All delivery attempts logged (per 67-integration-api-strategy.md §4).

7. Cross-Reference to Other Artifacts

TopicPrimary ArtifactUX Section
RBAC role definitions22-rbac-permissions-matrix.md§1.1 (persona ↔ role mapping)
State machine (user sees transitions)19-state-machine-with-guards.md§1.2 Journey 1 (create + approve flow)
E-signature flow17-e-signature-architecture.md§1.2 Journey 2 (approval signing)
Agent orchestration (user sees agent actions)25-agent-orchestration-spec.md§1.2 Journey 1 (agent suggestions)
API error responses67-integration-api-strategy.md §2.2§5 (error experience mapping)
Vendor portal scope22-rbac-permissions-matrix.md§1.2 Journey 4 (vendor scoped view)
Compliance dashboard40-comprehensive-compliance-dashboard.jsx§1.2 Journey 5 (audit readiness)
Onboarding (quick start)28-quick-start-guide.md§3 (first-run experience)

The system doesn't exist in a vacuum — it exists in front of humans who have deadlines, frustrations, and compliance auditors breathing down their necks. Every architectural decision that ignores the user experience is a decision that increases support tickets, reduces adoption, and ultimately threatens revenue. The journeys in this document are acceptance criteria — if a release breaks a critical journey, it doesn't ship.


Copyright 2026 AZ1.AI Inc. All rights reserved. Developer: Hal Casteel, CEO/CTO Product: CODITECT-BIO-QMS | Part of the CODITECT Product Suite Classification: Internal - Confidential