# Oziris RIS Roadmap

Last reviewed: 20 July 2026
Current state: core RIS and optional operational modules are implemented. Current work is focused on site validation, governance approval, production integration, and deployment readiness.

## Delivery snapshot

- Development completion: approximately **94%**
- Production and site readiness: approximately **72%**
- Overall release readiness: approximately **84%**
- Automated regression baseline: **177 tests, 814 assertions passing**
- Latest verified frontend state: Blade compilation and Vite production build passing
- Telegram delivery: application workflow complete, infrastructure activation intentionally on hold

## Phase 1 — Core RIS (complete)

- [x] Laravel 12 application with MariaDB/MySQL
- [x] Authenticated users, secure logout, throttling, RBAC, profiles, and localization
- [x] Patient registration, immutable MRN, identity search, history, duplicate detection, and merge
- [x] Modality → region → procedure clinical catalogue
- [x] Appointment, Walk-In, and Exam Request intake
- [x] Daily, weekly, and monthly appointment operations
- [x] Slot conflicts, cancellation reasons, Worklist push, and No-Show handling
- [x] Scheduled → Arrived → In Progress → Completed clinical workflow
- [x] Cancellation and rejection governance
- [x] Completed-exam directory and finalized-report search
- [x] Administration for users, roles, catalogue, settings, and system health
- [x] Primary-profession access model for doctors, radiographers, nurses, PPK, PTD, science officers, and system administrators
- [x] Separately assigned departmental responsibilities for HOD, Chief Radiographer, assets, inventory, statistics, quality, radiation safety, appointments, and notifications
- [x] HOD governance access separated from system-administrator authority
- [x] Audited responsibility changes with mandatory reason and previous/new assignment snapshots
- [x] Separate administrator password-change workflow with confirmation, reason, session termination, and immutable audit event
- [x] User-managed profile portrait and cover/background images with safe replacement and removal

## Phase 2 — Reporting, safety, and operations (complete)

- [x] Draft, attributed preliminary, and radiologist-finalized reporting
- [x] Transactional finalization, electronic signature, immutable versions, correction window, and addenda
- [x] Structured templates by modality/procedure
- [x] Administrator-selectable report editor with Tiptap default and CKEditor 5, TinyMCE, and Quill compatibility
- [x] Signed report PDF and consent-aware notification outbox
- [x] Critical-result communication and acknowledgement
- [x] Peer review, turnaround analytics, and workload distribution
- [x] OZI-RIS Statistics module for examination activity, modality/procedure volumes, staff workload, date-range analysis, and governed CSV export
- [x] Secondary MOH Standards dashboard with versioned definitions, explicit numerator/denominator, target comparison, and no-data safeguards
- [x] MDT case lifecycle, study linking, team assignment, decisions, and follow-up
- [x] Audit log, tamper-evident chain, retention controls, and export
- [x] MFA, inactivity timeout, account lockout, session invalidation, and break-glass access
- [x] Attachment quarantine, safe download controls, and malware-scanner boundary
- [x] Billing-ready procedure charge codes and study billing status
- [x] Performance/eager-loading audit and targeted operational indexes
- [x] Adult oncology, paediatric, and paediatric-oncology reporting profiles with specialist safety prompts
- [x] Patient-directory paediatric, oncology, active/previous MDT, and incomplete-details clinical indicators
- [x] Governed patient demographic corrections with identity verification, mandatory reason, masked before/after values, and authorized change history

## Phase 3 — Optional patient and referrer services (complete)

### Patient Journey Tracking

- [x] Module enable/disable control with records preserved while disabled
- [x] Internal staff journey dashboard
- [x] Approved public access using reference, hashed code, and DOB
- [x] Appointment, examination, and public-safe report milestones
- [x] Final-report/PDF sharing controls
- [x] Immediate revocation and secure code reissue with session invalidation
- [x] Append-only verification and access events
- [x] Responsive public tracker and configurable public-page entry point

### Clinical Exam Request Portal

- [x] Authenticated staff-only optional module
- [x] Requester dashboard and radiology review inbox
- [x] Registered-patient AJAX search and permission-aware patient registration return
- [x] Cascading modality → region → procedure selection
- [x] Routine, Urgent, and Emergency priority with direct-escalation warning
- [x] Clinical indication, history, diagnosis, pregnancy/LMP, allergy/contrast, and renal-function fields
- [x] Mobile examination checkbox with required location and clinical justification
- [x] Draft, Submitted, Clarification Required, Accepted, and Rejected lifecycle
- [x] Duplicate active-request confirmation
- [x] Requester clarification response and resubmission
- [x] Transactional creation of one linked RIS Study after acceptance
- [x] Append-only request decision history and submitted clinical snapshot
- [x] A4 portrait printable request aligned to PER.SS-RA301 field conventions
- [x] Mobile X-Ray catalogue with DICOM/station metadata, 6 regions, and 23 billing-ready procedures

### Secure Staff Messaging

- [x] Optional module control with protected routes and retained records while disabled
- [x] Authenticated direct and permission-controlled group conversations
- [x] Participant-only inbox, viewing, replies, acknowledgement, resolution, reopening, and personal archiving
- [x] Routine, review, appointment, exam, report, and urgent-operational categories
- [x] Normal, High, and Urgent priority indicators
- [x] Optional patient and examination context with separate linking and viewing permissions
- [x] Append-only message records and system audit coverage for every mutating action
- [x] Global unread indicator and participant-authorized live conversation polling
- [x] Announcement acknowledgement deadlines, progress, and overdue Kanban filtering
- [x] Explicit boundary preventing messaging from replacing critical-result communication
- [x] Interactive searchable recipient cards, color-coded priority routing, and optional clinical-context linking
- [x] Refreshed responsive compose, Kanban inbox, conversation thread, participant, action, and emoji interfaces
- [ ] Governed attachment support with quarantine and malware scanning
- [ ] Privacy-safe notification delivery and configurable quiet hours
- [ ] Configurable retention/disposal automation after governance approval

### Telegram Staff Notifications

- [x] Optional module boundary and encrypted bot/webhook configuration
- [x] Verified staff account linking with expiring one-time codes and revocation
- [x] Attending/specific-staff selection from submitted exam requests
- [x] Privacy-minimized exam cards with permission-protected RIS links
- [x] Acknowledgement-only callback with chat, token and webhook-secret verification
- [x] Queued retry delivery and delivery/acknowledgement audit dashboard
- [x] Explicit exclusion of chat, clinical actions, reports and critical-result escalation
- [~] Application implementation retained and tested; real bot, webhook, worker, and network activation on hold until approved infrastructure is available

### Notification Center

- [x] Unified Radiology Operations and System Monitoring dashboard
- [x] New exam, patient waiting, portable and urgent workflow alerts
- [x] Equipment downtime and shift-handover alert entry
- [x] Server, database, PACS, DICOM, queue, Laravel, backup, security and audit monitors
- [x] Severity, assignment, acknowledgement deadlines and resolution lifecycle
- [x] Deduplicated monitor alerts with automatic recovery events
- [x] Per-category enable/disable and severity-based Telegram routing
- [x] Append-only workflow history and privacy-minimized metadata
- [x] Multi-page operations center with shared left navigation
- [x] Encrypted auto-discovered Telegram bot metadata and Super Admin configuration policy
- [x] Staff availability, standard Telegram groups, workflow rules and system-alert rules
- [x] Searchable delivery history with CSV, Excel-compatible and PDF exports
- [x] Provider interface and injected Telegram client architecture for future channels

## Phase 4 — Interoperability (implementation complete; site validation active)

- [x] DICOM Study Instance UID and procedure-step identifiers
- [x] Secured MWL contract and native C-FIND gateway
- [x] MPPS N-CREATE/N-SET workflow matching
- [x] Accession/UID reconciliation and unmatched-event queue
- [x] PACS/DICOMweb query and controlled viewer launch
- [x] Storage-commitment result/status contract
- [x] Development DICOM conformance baseline
- [x] Administrator-managed gateway and workstation endpoints with per-workstation exam routing
- [x] Push-to-workstation workflow for scheduled and arrived/walk-in examinations
- [x] Supervised Fuji DR-ID 300CL / Console Advance MWL C-ECHO, C-FIND, and MPPS N-CREATE validation
- [x] MPPS terminal-state protection and live N-SET `COMPLETED` acceptance test (`0x0000`)
- [x] MWL/MPPS worklist marked **Stable — Alpha 1** after supervised Fuji validation; module remains default-off pending approval of each production modality/vendor
- [ ] Confirm a new operator-generated Fuji N-SET `COMPLETED` event and console-list refresh after Finish
- [ ] Validate MWL and MPPS with every production modality/vendor
- [ ] Validate storage commitment and failure behavior with the production PACS
  - Current evidence: C-ECHO and presentation-context negotiation pass, but `ORTHANC2` aborts N-ACTION and sends no N-EVENT-REPORT
- [ ] Complete product/gateway DICOM conformance claims after site acceptance
- [ ] Implement HL7 v2/FHIR patient, order, cancellation, ImagingStudy, and DiagnosticReport interfaces

## Phase 5 — Production readiness (active)

- [x] Automated unit and feature regression suite covering core workflows, security boundaries, optional modules, DICOM contracts, catalogue integrity, and print forms
- [x] Blade compilation and Vite production-build verification
- [x] Consolidated authenticated layout, settings-driven sidebar branding, grouped module navigation, and responsive operational-table baseline
- [x] Database backup/restore scripts and downtime/reconciliation documentation
- [x] Deployment and production environment guidance
- [x] Rich-text allowlist sanitization and identifier minimization for external AI processing
- [x] Appointment concurrency protection and database lifecycle constraints
- [x] Initial reusable Playwright browser smoke and Axe accessibility automation for public/authentication boundaries
- [x] Consolidated sticky navbar, simplified account menu, settings-driven sidebar brand, and responsive navigation shell
- [x] Professional OZI-RIS About page with developer attribution and “From Radiographers, For Radiology.” identity
- [x] Updated editable public page with OZI-RIS product identity, practice-led positioning, patient entry points, and hospital contact information
- [x] Refreshed profile and staff-messaging interfaces with responsive and dark-mode support
- [~] Expand browser automation across authenticated clinical workflows, responsive layouts and controlled print/PDF output
- [~] Security review completed for application controls; independent penetration testing remains required
- [~] Attachment antivirus is administrator-controlled and **Off by default**; disabled state blocks file uploads without bypassing quarantine. ClamAV portable installation was paused on 20 July 2026 at user request after 174.7 MB of the official x64 archive downloaded. ClamAV is not installed or enabled; resume the partial download, verify the package, update signatures, test scanning, then enable the setting.
- [ ] Clinical governance approval for electronic workflows and Malaysian controlled-form use
- [ ] Production privacy impact assessment and retention/disposal approval
- [ ] Site disaster-recovery exercise with signed evidence
- [ ] Centralized monitoring, alerting, log aggregation, and error reporting
- [~] MariaDB and database-queue integration profiles added; representative load, worker-failure, concurrency and slow-query execution remains active
- [ ] Make the full legacy feature suite MariaDB-compatible; 46 tests currently use SQLite-tolerated arbitrary appointment times that violate the enforced MariaDB slot constraint
- [ ] SSO/LDAP or approved enterprise identity integration
- [ ] Background delivery workers and production email/SMS provider configuration
- [ ] Supported workstation/browser and accessibility validation matrix

### Inventory & Examination Consumables

- [x] Optional module boundary with routes and navigation hidden while disabled
- [x] Item catalogue, batch/lot, expiry, location, quantity and stock ledger
- [x] Examination-linked consumable recording with transactional stock deduction
- [x] Mandatory contrast flow rate, total volume, brand, viscosity and extravasation status
- [x] Conditional extravasation volume, site, severity and immediate-action documentation
- [x] Procedure-level contrast documentation requirement before examination completion
- [x] Permission-controlled reversal that preserves clinical and stock history
- [x] Append-only audit events and duplicate-submission protection
- [x] Expanded departmental categories and stock-control characteristics
- [x] General department, modality, room, staff and disposal issues without patient exposure
- [x] Audited wastage and damaged-stock deduction
- [x] Low-stock and 60-day expiry operational alerts
- [x] Barcode/QR stock lookup and supplier/purchase-order receiving workflows
- [x] Batch recall dashboard with affected-patient examination tracing
- [x] Controlled whole-batch transfer between locations
- [x] Configurable expiry threshold and low-stock dashboard alerts
- [x] Usage analytics with permission-controlled CSV/PDF exports

## Future enhancements

### Asset Management

- [x] Separate optional module boundary from consumable inventory
- [x] Harta Modal and Aset Bernilai Rendah registration
- [x] Biomedical identity, criticality, maintenance and calibration controls
- [x] PTJ, department, location and custodian assignment
- [x] Inspection, transfer, loan, breakdown, loss and damage lifecycle events
- [x] Disposal/write-off request and independent approval separation
- [x] Immutable lifecycle and system-audit history
- [x] Maintenance, calibration and inspection due dashboard
- [x] Printable asset labels and CSV asset-register export
- [x] PTJ catalogue, governed certificates/documents and annual verification campaigns
- [x] SPPA/MySPS reconciliation export and A4 controlled-register support copy
- [x] JKPAK operational dashboard inputs and site acceptance checklist
- [ ] Facility approval of field mapping and controlled KEW.PA templates (external governance sign-off)

- [ ] Mobile/PWA interface
- [ ] Voice recognition and structured dictation
- [ ] Automated report quality assistance with human review
- [ ] Role-specific configurable dashboard widgets
- [ ] Department-scoped requester organizations from an authoritative staff directory
- [ ] Versioned amendment/cancellation requests after radiology acceptance
- [ ] Controlled request attachments and modality-specific checklists
- [ ] Electronic consent linkage for pregnancy, contrast, MRI, and interventional procedures

## Remaining development work available locally

- [ ] Governed staff-message attachments using the existing quarantine and malware-scanner boundary
- [ ] Messaging quiet hours, privacy-safe delivery, and retention/disposal automation
- [ ] Expand authenticated browser automation across clinical, administrative, responsive, and print workflows
- [ ] Role-specific configurable dashboard widgets
- [ ] Controlled exam-request attachments and modality-specific checklists
- [ ] Electronic consent linkage for pregnancy, contrast, MRI, and interventional procedures
- [ ] Mobile/PWA experience
- [ ] HL7 v2/FHIR interface implementation after the site profile is approved
- [ ] SSO/LDAP integration after the authoritative staff-directory design is confirmed

## Current priority

The next release gate is **site and governance validation**, not additional feature breadth. Priority order:

1. Approve the Clinical Exam Request and PER.SS-RA301-aligned print workflow with Radiology, Medical Records, privacy, and quality teams.
2. Complete production modality/PACS MWL, MPPS, and storage-commitment acceptance.
3. Perform independent penetration testing and a documented disaster-recovery exercise.
4. Establish production monitoring, background notification delivery, and representative load testing.
5. Define the HIS/EHR integration profile before implementing HL7/FHIR interfaces.
6. Complete governed messaging attachments, quiet hours, and retention rules after policy approval.
7. Refresh deployment evidence, supported-browser validation, and authenticated end-to-end automation before release sign-off.
