G-Flex AI+ User Manual

Comprehensive guide for all user roles — Web Application & Mobile App

Introduction

G-Flex AI+ is a multi-tenant B2B2C HR & healthcare benefits platform developed by Genesis Flex Sdn. Bhd. for the Malaysian market. It connects employers (Corporates), healthcare providers (Merchants), and employees (Members) on a single platform, with an Admin layer for Genesis Flex staff.

Who This Manual Is For

This manual is organised by user role. Jump directly to your role using the left sidebar, or read sequentially for a complete understanding of the system.

RoleWho They ArePrimary PlatformKey Capabilities
Admin Genesis Flex staff Web App Full system control — corporates, merchants, members, plans, billing, reporting
Corporate HR / Finance teams at member companies Web App View & manage their employees, benefit plans, GLs, bills, NP claims approval
Merchant Clinic, hospital, pharmacy staff Web App Register patients, submit bills, manage GLs, view invoices
Member Employees and their dependants Mobile App (primary), Web App View benefits, e-card, claims history, GLs, find clinics

Key Concepts

Benefit Plans & Member Benefit Plans +

A Benefit Plan defines the rules — annual limit, encounter limit, covered merchant types, dependant eligibility. A Member Benefit Plan (MBP) is the enrolment linking a specific member to a specific plan, tracking their utilisation.

Guarantee Letters (GLs) +

A GL is a pre-authorisation issued to a member before a medical visit, guaranteeing payment to the merchant up to a specified amount. It must be issued before the visit for panel (registered) clinic visits.

Panel vs Non-Panel Claims +

Panel claims occur at registered G-Flex AI+ merchants — the merchant registers the patient, submits a bill, and payment is settled via invoice. Non-Panel (NP) claims are reimbursement claims submitted by the member for visits at non-G-Flex AI+ providers — subject to a two-tier approval workflow.

Bills → Invoices → E-Invoices +

Bills are individual encounter records submitted by merchants. Multiple bills are bundled into an Invoice for payment settlement with a corporate. An E-Invoice is the LHDN-compliant digital tax invoice submitted to Malaysia's tax authority.

Multi-Tenancy +

Each Administrator (Genesis Flex entity) is a separate tenant. All data — corporates, members, merchants, plans, bills — is isolated by administrator_id. Row-Level Security (RLS) in the database enforces this isolation automatically.

Language Support

The web application supports English and Bahasa Malaysia (BM) with comprehensive translation coverage. Toggle between languages using the language button at the bottom of the left sidebar. Your preference is saved across sessions.

BM translations cover: all sidebar navigation labels (Papan Pemuka, Korporat, Pedagang, Anggota, Pelan Manfaat, Surat Jaminan, Senarai Pantau, etc.), page titles and subtitles, table headers, status badges, filter labels, form labels, button text, loading and empty states, toast messages, report tabs, GL types, and common action phrases. The translation system uses a flat-key dictionary with approximately 170 keys per language, accessible via the t(key, fallback) helper function.

The web application also supports Dark Mode. Toggle dark mode using the moon/sun icon button in the top bar (next to the notifications bell). Your preference is saved in your browser. On the login screen, a separate dark mode toggle is available at the bottom of the login form.

💡 Tip
The mobile app also supports English and Bahasa Malaysia. Change your language preference in Profile → Settings.

System Architecture

Technical overview of the G-Flex AI+ platform

System Architecture

G-Flex AI+ consists of two frontend applications backed by a shared Supabase (PostgreSQL) database.

Web Application
Single HTML file (gflex-app.html)
Vanilla JavaScript — no framework
Works via file:// or HTTPS
Roles: Admin, Corporate, Merchant, Member
Mobile App
React Native + Expo SDK 52
iOS & Android
Expo Router (file-based navigation)
Roles: Member, Corporate Approver
Supabase Backend
PostgreSQL 17 database
73 tables, 131+ RLS policies
Supabase Auth (email/password)
13 storage buckets
Edge Functions (sync, push)
Realtime subscriptions
Integrations
LHDN (Malaysia e-invoicing)
NIH ICD-10-CM API (diagnosis codes)
Bubble.io (legacy data sync)
pg_cron (scheduled sync every 30 min)

User Data Flow

GL issued (if required)
→
Member visits clinic
→
Merchant registers patient
→
Bill submitted
→
Invoice created
→
E-Invoice (LHDN)
→
Payment settled

Browser / Device Requirements

PlatformRequirement
Web — Chrome / EdgeVersion 90+ recommended
Web — FirefoxVersion 88+
Web — SafariVersion 14+
Mobile — iOSiOS 15+ (iPhone 8 or newer)
Mobile — AndroidAndroid 10+
Internet connectionRequired for all operations (no offline mode in v1)

Getting Started

Accessing the system and logging in — web and mobile

Getting Started

Web Application — Login

The G-Flex AI+ web application uses a split-screen login layout. The left panel displays the Genesis Flex branding; the right panel contains the login form.

Sign in to G-Flex AI+
Enter your credentials to continue
EMAIL ADDRESS
PASSWORD
Remember me
Forgot password?
Sign In
Figure 1 — Web Login Screen (wireframe placeholder — replace with screenshot)
  1. 1
    Open the G-Flex AI+ web application in your browser. Your administrator will provide the URL.
  2. 2
    Enter your email address (the email registered with your G-Flex AI+ account).
  3. 3
    Enter your password. First-time users should use the temporary password provided by your administrator, then change it immediately in Settings → Profile.
  4. 4
    Tick "Remember me" to keep yourself logged in across browser sessions. Leave unticked on shared computers.
  5. 5
    Click "Sign In". You will be routed to the dashboard appropriate for your role.
  6. 6
    Accept Privacy Policy & Terms of Use (first login only). On your first login, you may be prompted to review and accept the Privacy Policy and Terms of Use. These legal documents are also accessible from links at the bottom of the login screen.
Legal Documents
The Privacy Policy and Terms of Use can be viewed at any time by clicking the links at the bottom of the login screen. They open in a scrollable modal overlay.
Password Reset
Click Forgot password? and enter your email address. A reset link will be sent to your inbox. The link expires after 1 hour.

Mobile Application — Login

Download G-Flex AI+ from the App Store (iOS) or Google Play (Android). Open the app and you will be presented with the login screen.

G-FLEX AI+
Welcome back
Sign in to manage your benefits
EMAIL ADDRESS
PASSWORD
Forgot password?
Remember me
Sign in
OR CONTINUE WITH
Face ID
Fingerprint
All rights reserved. Copyright 2026 Genesis Flex Sdn Bhd
Figure 2 — Mobile Login Screen (wireframe placeholder — replace with screenshot)

Biometric Login (Face ID / Fingerprint)

After your first successful password login, the app will offer to enable biometric authentication. Once enabled, subsequent logins show Face ID and Fingerprint buttons below the "Sign in" button. Biometric can be toggled off in Profile → Settings → Biometric Login.

💡 First Login
All migrated users have a temporary password: GFlex@Reset2026. Change it immediately after logging in via Settings → Profile → Change Password.

Navigating the Web Application

After login, a left sidebar appears with navigation links tailored to your role. Click any item to navigate — the main content area updates without a full page reload.

Dashboard
Corporates
Members
Merchants
Benefit Plans
Bills
GLs
Invoices
Reports
🌐 Bahasa Malaysia
🔓 Sign Out
Dashboard
Good morning, Admin
172
Corporates
3,490
Merchants
32K
Members
186K
Bills
Claim NoMemberMerchantAmountStatus
Figure 3 — Web Application Main Layout showing sidebar navigation and dashboard (wireframe placeholder)

Top Bar Elements

  • Page title — current module name on the left
  • Bell icon — in-app notification dropdown (unread count badge)
  • Language toggle — bottom of sidebar, switches EN ↔ BM
  • Sign Out — bottom of sidebar, logs you out and clears the session

Admin — Dashboard

System-wide overview and recent activity

Admin The Dashboard is the first screen after login. It provides a real-time snapshot of platform activity.

KPI Cards

CardDescriptionFilter
CorporatesCount of active corporate accountsActive only
MerchantsCount of active registered merchantsActive only
MembersCount of active members (principals + dependants)Active only
BillsTotal bills in system (all statuses)All
Dashboard
Corporates
Members
Bills
Reports
Dashboard
Genesis Flex Sdn. Bhd.
172
Corporates
3,490
Merchants
32,101
Members
186,240
Bills
Recent Bills
Claim NoVisit DateMemberMerchantAmountStatus
Approved
Pending
Figure 4 — Admin Dashboard with KPI cards and Recent Bills table (wireframe)

Recent Bills Table

Displays the 5 most recent non-draft bills ordered by visit date. Columns: Claim No, Visit Date, Member, Corporate, Merchant, Amount, Status. Click any row to navigate to the Bills module filtered to that bill.

Notifications Bell

The bell icon (top-right of sidebar) shows a badge with unread notification count. Click to open a dropdown showing recent notifications. Click "View all notifications" to go to the full Notifications page. Notifications are pushed in real-time for GL status changes, bill submissions, new members, and watchlist flags.

Notification Types

The system generates notifications for the following event types:

TypeTriggered ByRecipients
gl_status_changeGL is issued or its status changesTenant admins
bill_submittedA bill status changes (submitted, approved, paid, rejected)Admins or merchants (depending on direction)
member_addedA new member is createdTenant admins
watchlist_flaggedA member is flagged on the watchlistTenant admins
approval_requiredAn NP claim requires approvalDesignated approvers (routes to NP Approvals page)
corporate_addedA new corporate is createdTenant admins
merchant_addedA new merchant is createdTenant admins
system_announcementSystem-wide broadcast from adminAll users in tenant

Each notification has a severity level (info, success, warning, error) indicated by icon colour. The bell dropdown supports filter tabs: All, Unread, and Action Needed. Click any notification to navigate to the relevant module. The full Notifications page (accessible via "View all notifications") shows a paginated list with the same filter tabs and a "Mark All Read" action.

Admin — Corporates

Manage corporate client accounts

Admin The Corporates module is the master record for all employer clients. Each corporate has its own benefit configuration, service charges, and member pool.

Corporate Listing

  • Search by company name
  • Filter by status (Active / Inactive)
  • Pagination: 10 records per page with Load More
  • Export to CSV

Table Columns

ColumnDescription
Name / BRNCompany name (primary line) with Business Registration Number stacked below
EmailContact person email address
Contract PeriodContract start and end date range
StatusActive / Inactive badge
MembersCount of enrolled members for this corporate
ActionsView (eye icon) and Edit (pencil icon) action icons
Dashboard
Corporates
Members
Corporates
Export CSV
+ Add Corporate
Name / BRNEmailContract PeriodStatusMembersActions
Active
👁 ✏️
Inactive
👁 ✏️
Figure 5 — Corporates listing with filter bar and action buttons (wireframe)

Adding a Corporate

Click + Add Corporate. The modal has 10 sections:

  1. Company Information — company name (required), BRN, industry, website
  2. Contact Person — name, email, phone, designation
  3. Address — street, city, state, postcode, country
  4. Contract & Financial — contract start/end dates, payment terms, bank details
  5. Service Charges — admin fee %, outpatient/inpatient fee structures
  6. Member & Benefit Settings — max members, dependant policy, cover dependants toggle
  7. Feature Toggles — Enable TPA GL, Enable Corporate GL, Enable NP Claims, Teleconsult
  8. Watchlist Monitoring — enable/disable watchlist for this corporate
  9. Non-Panel Claims — NP auto-approve threshold, Tier 1 and Tier 2 thresholds
  10. Treatment Policy — rich text field for policy displayed to merchants and members
GL Disclaimers
The GL Disclaimers section (for TPA GL and Corporate GL text) is only visible when "Enable TPA GL" or "Enable Corporate GL" is toggled on.

Viewing / Editing a Corporate

Click the eye icon on any row to open the detail modal. The modal opens in read-only mode with 4 tabs:

TabContent
OverviewAll corporate details (read-only by default). Click Edit to modify.
MembersList of members belonging to this corporate
Benefit PlansAssigned benefit plans with limits
BillsRecent bills for this corporate's members

Activate / Deactivate

From the View modal, use the Deactivate button to set a corporate inactive. Inactive corporates remain in the system but their members cannot access benefits. Use Activate to reinstate.

Admin — Members

Manage all member records across all corporates

Admin Members are employees and their dependants enrolled in G-Flex AI+ benefit plans.

Member Listing

Filter members by: Corporate (typeahead search), Status (Active/Inactive), Relationship Type (Principal/Spouse/Child/Parent/Sibling/Other). Paginated at 10 per page. Export to CSV.

Table Columns

ColumnDescription
Name / NRICFull name (primary line) with NRIC stacked below
Employee IDEmployee ID number assigned by the corporate
CorporateName of the corporate the member belongs to
RelationshipPrincipal, Spouse, Child, Parent, Sibling, or Other
StatusActive / Inactive badge
ActionsView (eye icon) and Edit (pencil icon) action icons

Adding a Member

  1. 1
    Click "+ Add Member" to open the add member modal.
  2. 2
    Fill in required fields: Full Name, NRIC (12 digits, no dashes), Date of Birth, Gender, Relationship Type, Corporate.
  3. 3
    For dependants: set Relationship to Spouse/Child/Parent/etc., then select the Principal Member from the dropdown.
  4. 4
    Click Save. The member is created and an in-app notification is sent to admins.
⚠ NRIC Validation
NRIC must be exactly 12 digits with no spaces or dashes (e.g., 901231145678). The system validates this before saving.

Bulk CSV Upload

Click Upload CSV to import multiple members at once. Download the template, fill in member data, then upload. The system shows a preview with row-level validation errors before committing. A progress bar tracks the import.

Member Details Modal

Click the eye icon on any member row to open the Member Details modal. The header shows 3 clickable KPI cards:

  • Benefit Plans card → scrolls to the plans table within the modal
  • Bills card → navigates to Bills module filtered to this member
  • GLs card → navigates to GLs module filtered to this member

All three stat cards have a hover effect and pointer cursor to indicate they are interactive.

FY (Financial Year) Adjustments

In the Member Details modal, the Benefit Plans table shows a FY{YEAR} Adj column with colour-coded pills:

  • +500.00 Green pill for additions
  • -200.00 Red pill for deductions

The Limit column shows the base annual limit plus the FY adjustment. An Adjust button appears for admin and corporate users (only for members with a corporate_id). Clicking it opens the adjustment modal where you enter an addition or deduction amount with a reason. Adjustments are keyed by calendar year and automatically expire at year end — no manual cleanup is needed.

Walk-in Patients
Members without a corporate affiliation (walk-in clinic patients) do not show the Adjust button, as the benefit_plan_adjustments table requires a corporate_id.

Non-Panel (NP) Claim — from Members Page

If a corporate filter is active on the Members page, clicking Non-Panel Claim auto-populates the Corporate field in the NP Claim modal, scoping the member search to that corporate.

Register Patient — from Members Page

If a corporate filter is active, the member typeahead in the Register Patient modal is automatically scoped to that corporate.

Admin — Merchants

Manage healthcare providers and benefit merchants

Admin Merchants are clinics, hospitals, pharmacies, and other benefit providers registered on G-Flex AI+.

Merchant Type Badges

Each merchant displays a coloured type badge:

TypeColour
GP (General Practitioner)Blue
SpecialistPurple
DentalTeal
OptometristGold
HospitalRed
PharmacyGreen
Other (TCM, etc.)Amber

Table Columns

ColumnDescription
Name / TypeMerchant name (primary line) with colour-coded merchant type badge stacked below
ContactEmail (primary line) with phone number stacked below
SSTSST registered indicator (Yes/No)
CMSCMS module enabled indicator (Yes/No)
StatusActive / Inactive badge
ActionsView (eye icon) and Edit (pencil icon) action icons

Adding a Merchant

The Add Merchant modal includes:

  • Basic Info: Clinic name, merchant type (filtered to clinical types only), BRN, phone, email
  • Address: Full address with state/postcode
  • Operating Hours: 7-day schedule with open/close times. Use "Copy to Weekdays" to apply Monday's hours to Tue–Fri.
  • SST Registered: Toggle — when on, SST number field appears
  • CMS Module: Toggle to enable the merchant's CMS (clinic management system) features
Merchant Type Scoping
The Merchant Type dropdown only shows types where "Is Merchant = Yes" (clinical categories). Non-clinical benefit categories like Gym, Mileage, Childcare do not appear here — they are managed via Benefit Plans only.

View / Edit Merchant

Click the eye icon on any merchant row. The modal opens read-only. Click Edit to enable editing. All toggle fields (SST Registered, CMS Module) use the same toggle-switch design as the Add modal. Click Save Changes to commit edits.

Admin — Benefit Plans

Create and manage benefit plans, assign to corporates, enrol members

Admin Benefit Plans define what healthcare services are covered, the monetary limits, and eligibility rules.

Plan Types

Plan TypeDescription
PrimaryStandard plan — principal member's core coverage
Sub-planA child plan linked to a parent plan. Shares or extends the parent's entitlement.

Creating a Benefit Plan

  1. 1
    Click "+ Add Plan". The Add Benefit Plan modal opens.
  2. 2
    Select a Corporate using the typeahead search. Every plan must be associated with a corporate.
  3. 3
    Fill in plan details: Plan Name, Plan Type, Annual Limit, Encounter Limit (optional), Monthly Limit (optional).
  4. 4
    For sub-plans: when Plan Type = Sub-plan, a "Principal Plan (Parent)" dropdown appears showing plans for the selected corporate.
  5. 5
    Configure dependant coverage: Toggle "Cover Dependants" on to select which relationship types may use this plan (Spouse, Child, Parent, etc.). Set "Child Max Age" if covering children.
  6. 6
    Shared Entitlement toggle: When on, principal and dependants share one pool. The separate Dependant Limits section is hidden.
  7. 7
    Click Save. Plan is created and available for assignment.

Corporate Filter — Server-Side Fetch

When filtering plans by corporate, the system fetches all plans for that corporate from the database (not just the current page). This ensures no plans are missed even when the total exceeds the initial batch size.

FY Adjustments

Admins and Corporate users can create a one-off financial year adjustment (addition or deduction) for a specific member's plan via the Adjust button in the Member Details modal. Adjustments are keyed by calendar year and auto-expire at year end.

Admin — Bills

Review, approve, and manage all medical bills

Admin Bills are the primary transaction records representing patient visits at panel merchants.

Table Columns

ColumnDescription
Claim No / DateClaim number (primary line) with visit date stacked below
Member / CorporateMember name (primary line) with corporate name stacked below
MerchantClinic or provider name
TypePanel or Non-Panel (NP) badge
AmountTotal bill amount in RM
StatusColour-coded status badge (Draft / Pending / Submitted / Approved / Rejected / Paid / Cancelled)
ActionsView (eye icon) and Edit (pencil icon) action icons

Bill Status Workflow

Draft
→
Pending
→
Submitted
→
Review
→
Approved
/
Rejected
Approved
→
Paid
  or  
Submitted
→
Cancelled

Bill Line Item Types

TypeExamples
consultationDoctor consultation fee
diagnosisICD-10 diagnosis codes
medicationDrugs, supplements dispensed
treatmentProcedures, minor surgery
investigationBlood tests, urine tests
imagingX-ray, MRI, ultrasound
mcMedical certificate (date range)
miscMiscellaneous charges

Admin Submit Claim (on behalf of merchant)

From the Active Registrations modal, admins can submit a bill on behalf of a merchant by clicking Submit Claim on any open registration row. The form pre-populates member, merchant, and benefit plan details. Line items are added per type with lookup searchboxes (diagnosis uses NIH ICD-10-CM API + local cache; medications/treatments search local master lists).

Clinical Lookup — Add New Item

When typing a search term that returns no results, a dashed "Add [text] as new [Type]" option appears. Clicking it creates the item immediately. Admin users → item is approved instantly. Non-admin users → item is created as Pending and must be approved by an admin in Settings → Pending Items.

Non-Panel (NP) Claims via Bills Module

NP Claims appear in the Bills module with an additional NP Approval Status column. Their status workflow is separate and governed by the NP Approvals module.

Treatment Policy Display (Merchant View)

When a merchant selects a member during bill submission, the corporate's Treatment Policy (if configured) is displayed as a collapsible amber banner. This reminds the merchant of any corporate-specific treatment guidelines before submitting the bill. The same banner appears in the Register Patient modal when both merchant and member are selected.

Non-Panel Claims — Conditional Plan Section

In the NP Claim modal, the "Charge to Benefit Plan" section is initially hidden. It only becomes visible after the user selects a Provider Type from the dropdown. This enforces the correct workflow: select provider type first, then plans appear, then select a plan, then enter the claim amount (which is bounded by the plan's encounter limit).

Plans Blocked by Active Registration

Active Registration Lock
If a member has an open (active) registration at a panel clinic using a specific benefit plan, that plan is blocked from being used for a Non-Panel Claim. A yellow warning notice appears: "This member has an active open registration at [Merchant Name] using this plan. The registration must be closed (bill submitted by the clinic) before it can be used for a Non-Panel Claim." This prevents double-dipping on the same benefit plan from two concurrent encounters.

Admin — Guarantee Letters

Issue and manage pre-authorisation letters for member visits

Admin A Guarantee Letter (GL) pre-authorises payment to a merchant for a member's upcoming visit, up to a specified limit.

Table Columns

ColumnDescription
GL No / Type / DateGL number (primary line) with GL type and issue date stacked below
Member / CorporateMember name (primary line) with corporate name stacked below
MerchantClinic or provider name
AmountApproved GL amount in RM
StatusColour-coded status badge (Issued / Approved / Utilised / Cancelled)
ActionsView (eye icon) and Edit (pencil icon) action icons

GL Types

GL TypeUse Case
OutpatientStandard clinic or specialist visit
InpatientHospital admission
HSP (Hospital Stay Plan)Extended inpatient hospital stay
Post-hospitalisationFollow-up care after discharge
Government HospitalVisit to government facility
TPAThird-party administrator GL

Issuing a GL (4-Step Wizard)

  1. 1
    Select Corporate — typeahead search by company name.
  2. 2
    Select Member — typeahead filtered to the selected corporate. Member's date of birth is also fetched for age-based eligibility checks.
  3. 3
    GL Type & Amount — choose GL type, enter approved amount. The benefit info widget shows the member's applicable plans, annual limit, remaining balance, and FY adjustment.
  4. 4
    Select Merchant — typeahead search. Review and confirm. Click Issue GL.

GL Status Workflow

Issued
→
Approved
→
Utilised
  or  
Approved
→
Cancelled

GL Disclaimers (Rich Text)

Corporate-specific GL disclaimer text is stored as HTML and edited using a formatting toolbar (Bold, Italic, Underline, Bullet List) in the corporate record. The disclaimer text appears on the GL document shown to merchants and members.

Rich Text Formatting Toolbar

The GL disclaimer editor provides a formatting toolbar with Bold, Italic, Underline, and Bullet List buttons. The content is stored as HTML in the corporate's gl_disclaimers JSONB column. The editor uses a contenteditable div rather than a plain textarea.

Conditional Visibility

The GL Disclaimers section in the corporate add/edit modal is only visible when "Enable TPA GL" or "Enable Corporate GL" is toggled on. If both toggles are off, the disclaimers section is hidden — there is no need to configure disclaimers if GL issuance is not enabled for the corporate.

Dependant Eligibility Enforcement

When issuing a GL for a dependant, the system checks:

  • Whether the benefit plan's Allowed Dependant Types includes the dependant's relationship
  • Whether the dependant's age is within the plan's Child Max Age (for child dependants)

Ineligible plans are automatically excluded from the wizard's benefit info widget.

Admin — Invoices & E-Invoices

Bundle bills into invoices and submit to LHDN

Admin Invoices consolidate multiple approved bills into a single payment request issued to a corporate. E-Invoices are the LHDN-compliant digital tax invoices.

Table Columns

ColumnDescription
Invoice No / Type / DateInvoice number (primary line) with invoice type and date stacked below
Corporate / MerchantCorporate or merchant name (depending on invoice direction)
Grand TotalTotal invoice amount in RM
StatusColour-coded status badge (Draft / Finalised / Queued / Submitted / Paid / Cancelled)
ActionsView (eye icon), PDF (download icon), and Pay (payment icon) action icons

Invoice Types

TypeDescription
RegularStandard invoice for a set of bills
ConsolidatedGroups multiple billing periods
Credit NoteNegative adjustment to a prior invoice
Debit NoteAdditional charges to a prior invoice

Invoice Status Workflow

Draft
→
Finalised
→
Queued
→
Submitted
→
Paid

Creating an Invoice

  1. 1
    Click + Create Invoice. Select corporate, invoice type, and billing period.
  2. 2
    Select approved bills to include. Invoice number is auto-generated: INV-{YYYYMMDD}-{0001}.
  3. 3
    Click Create. Invoice is created in Draft status.
  4. 4
    Finalise → Queue → Submit as payment progresses.

E-Invoices (LHDN)

Generate an E-Invoice from a finalised invoice. The E-Invoice modal has 4 tabs:

TabContent
DetailsSupplier/buyer TIN, SST, MSIC code, BRN
Line ItemsIndividual bill line items with LHDN tax categories
ResponseLHDN submission response (UUID, timestamp)
QR CodeLHDN-generated QR code for the e-invoice

E-Invoice Status

Pending
→
Submitted
→
Validated
 / 
Rejected
 / 
Cancelled

Admin — NP Approvals

Two-tier approval workflow for non-panel claims

AdminCorporate Non-Panel (NP) Claims require approval before reimbursement. The system uses a two-tier workflow.

Approval Tiers

TierApproverTriggered When
Auto-approvedNone (automatic)Claim amount ≤ Auto-approve threshold
Tier 1 — CorporateCorporate approverAmount > Tier 1 threshold
Tier 2 — AdminGenesis Flex adminAmount > Tier 2 threshold (after corporate approval)

NP Approval Status Flow

Submitted
→
Amount check
→
Auto Approved
Pending Corporate
→
Corporate Approved
→
Tier 2 check
→
Pending Admin
→
Fully Approved

Approval Actions

  • Approve — approve the claim at the current tier
  • Reject — reject with mandatory remarks (notifies submitter)
  • Adjust Amount — partially approve with a lower amount
  • Request Info — send a note back to the submitter requesting more information

Configuring NP Approvers (Admin Settings)

Go to Settings → NP Approvers. Select a corporate, set the three thresholds (auto-approve, Tier 1, Tier 2), then add named approvers at each tier. Approvers receive in-app notifications when claims reach their tier.

Non-Panel Claim Submission (by Member)

  1. 1
    Member opens the NP Claim modal from the Members page (web) or Claims tab (mobile).
  2. 2
    Selects corporate → member → provider name & type.
  3. 3
    Selects a benefit plan (plans blocked by open panel registrations are shown as warnings and cannot be selected).
  4. 4
    Enters claim amount (bounded by encounter limit and annual remaining balance). Uploads supporting document (receipt/medical report, max 10MB).
  5. 5
    System generates an NP claim number (NPC-YY-MM-DD-001), uploads the document, and creates the bill. Approval routing is determined automatically.

Admin — Reports

7 live report types with export capability

Admin has access to all 7 report types. Corporate users see Bills, Sales, and MC Analysis reports for their own corporate.

Report Types

ReportDescriptionKey Columns
Bills ReportItemised bill listing with filtersDate, Member, Merchant, Amount, Status
Sales ReportAggregated by corporateCorporate, Total Bills, Total Amount
Drug RevenueAggregated by drug/medication nameDrug Name, Code, Quantity, Revenue
MC AnalysisMedical certificate analyticsMember, MC Days, Date Range
MC ReportAggregated by corporateCorporate, Total MCs, Total Days, Members Affected
Diagnosis ReportAggregated by ICD-10 diagnosis codeDiagnosis Code, Name, Count
Top BillersAggregated by merchant, with % of totalMerchant, Bill Count, Total Amount, % Share

Filters

All reports share a common filter bar: Date From / Date To, plus contextual filters per report type (Corporate, Merchant, Status, Merchant Type, Receipt Type).

KPI Cards

Each report type shows 4 KPI cards at the top (colour-coded border: blue, teal, green, gold). Values recalculate on filter change.

KPI Card Borders
The four KPI cards per report use distinct left-border colours for quick visual identification: Blue (1st card), Teal (2nd), Green (3rd), Gold (4th). Values are aggregated from the filtered result set and update live when filters change.

Export

Click Export CSV to download the filtered report. Files include a UTF-8 BOM for correct encoding in Microsoft Excel. Filename format: {report-type}_{date}.csv

Pagination

Reports paginate at 10 rows per page with numbered page buttons.

Admin — Watchlist

Flag and monitor suspicious member activity

Admin The Watchlist allows admins to flag members exhibiting suspicious claims behaviour for closer monitoring.

Creating a Watchlist Flag

  1. 1
    Click + Add Flag.
  2. 2
    Select the member (typeahead search).
  3. 3
    Enter a reason for flagging (e.g., "Excessive claims in short period").
  4. 4
    Optionally link specific merchants and visits.
  5. 5
    Click Flag Member. An in-app notification is sent to all tenant admins. The member sees an "Account Under Review" banner on their mobile home screen.

Resolve / Reopen

Use Resolve to close a flag when the investigation is complete. Use Reopen if new evidence emerges. The visit timeline tracks all watchlist activity.

Corporate & Merchant Views

  • Corporate: Read-only view — can see flags for their members
  • Merchant: Sees a masked NRIC view only (cannot see flag reason)
  • Member: Not applicable (members cannot see the Watchlist module)

Admin — Audit Log

System-wide activity trail for compliance and investigation

Admin only. The Audit Log records every create, update, delete, and significant read event across all modules.

Log Columns

ColumnDescription
Date / TimeUTC timestamp of the event
UserEmail of the user who performed the action
ModuleWhich module was affected (Corporates, Bills, etc.)
ActionCREATE / UPDATE / DELETE / READ (colour-coded badge)
DetailsHuman-readable description of what changed
Record IDUUID of the affected record

Filters

Filter by: Date range (From / To), Module, Action type, User (text search).

Detail View

Click any row to open the detail modal. For UPDATE events, the modal shows a side-by-side comparison of old_values vs new_values in JSON format, making it easy to see exactly what changed.

Export

Export the filtered audit log to CSV for compliance reporting. Includes BOM for Excel compatibility.

Login Events
Every successful login is automatically recorded in the audit log with module = "auth" and action = "READ".

Admin — Settings

Organisation configuration, users, benefit categories, and more

Admin Settings is the central configuration hub. Tabs are grouped by function.

Settings Tabs (Admin)

TabPurpose
OrganizationRead-only org details (edit via toggle): name, address, contact, NP claim prefix
BrandingLogo URL (with live preview), primary colour, landing page URL, favicon
UsersList all tenant users, add new users, activate/deactivate accounts. Also accessible as a standalone page from the sidebar.
Benefit CategoriesManage merchant_type categories. Each category has an "Is Merchant?" flag — only categories with Is Merchant = Yes appear in the Merchant Type dropdown.
Dependant TypesDefine and manage relationship types (Spouse, Child, Parent, Sibling, etc.) used in benefit plan dependant eligibility. Each entry maps a label to a relationship_value.
Clinical LookupsMaster lists for diagnoses, medications, treatments, imaging, and investigations used in bill submission typeahead search. Has 5 sub-tabs — one per item type. See details below.
Pending ItemsReview user-created clinical lookup items awaiting admin approval. Approve to make them available system-wide, or reject to discard. Items appear here when non-admin users (e.g. merchants) add custom diagnoses or medications during bill submission.
Merchant ServicesConfigure which clinical services are available per merchant type. Controls which line item types and lookup categories are shown during bill submission for each merchant classification.
NP ApproversConfigure non-panel claim approval thresholds and designated approvers per corporate.
ProfileYour personal profile — name, phone, language preference, and password change
Additional Settings
Dependant Types configuration, Pending Items review, NP Approvers management, and user administration are available as additional tabs or sub-sections depending on your tenant configuration and which feature flags have been enabled by Genesis Flex.

Dependant Types Tab

Manage the relationship types that can be assigned to dependant members and used in benefit plan eligibility rules:

  • Add a new dependant type with a label (e.g., "Spouse"), relationship value (spouse/child/parent/sibling/other), and sort order
  • Edit existing labels and sort order
  • Activate / Deactivate types as needed — deactivated types no longer appear in benefit plan configuration

NP Approvers Tab

Configure the two-tier approval workflow for non-panel claims on a per-corporate basis:

  1. 1
    Select a Corporate from the dropdown.
  2. 2
    Set thresholds: Auto-approve threshold (claims below this are auto-approved), Tier 1 threshold (corporate approval required), Tier 2 threshold (admin approval required after corporate approval).
  3. 3
    Assign approvers: Add users as Corporate-tier or Admin-tier approvers for this corporate. These users receive notifications when claims require their review.
Corporate View
Corporate users also have an NP Approvers tab in their Settings, but it is read-only — they can see the configured thresholds and approvers but cannot modify them.

Clinical Lookups Tab (5 Sub-tabs)

The Clinical Lookups tab manages the master lists used in bill submission typeahead searchboxes. It has 5 sub-tabs, one per line item type:

Sub-tabContentExample Items
DiagnosesICD-10 codes and custom diagnosis entriesJ06.9 Upper respiratory infection, K21.0 GERD
MedicationsDrugs, supplements, consumablesAmoxicillin 500mg, Paracetamol 1g
TreatmentsProcedures, minor surgery, servicesWound dressing, Nebulisation
ImagingX-ray, MRI, ultrasound, CT scanChest X-ray PA, Abdominal ultrasound
InvestigationsBlood tests, urine tests, lab workFBC, Fasting blood sugar, Urinalysis

Each item has: Code, Name, Description, Unit, Categories (which merchant types can use this item — shown as badges), and Active status. Add or edit items via the modal. At least one category must be selected. Items are scoped to your tenant.

Pending Items Tab

When non-admin users (e.g., merchants) add a custom diagnosis or medication during bill submission that does not exist in the master list, the item is created with Pending status. The Pending Items tab shows all such items across the clinical_lookup_items table in a unified list.

  • Approve — makes the item available system-wide with Approved status
  • Reject — marks the item as rejected (with confirmation dialog); it will no longer appear in search results

Merchant Services Tab

Controls which clinical line item types are available to merchants based on their merchant type classification. For example, a GP clinic may have access to all item types, while a pharmacy may only see Medication and Misc types. This filtering is applied during bill submission — the line item type sections shown in the bill form correspond to the services enabled for that merchant's type.

Changing Your Password

  1. 1
    Go to Settings → Profile.
  2. 2
    Click Change Password.
  3. 3
    Enter your new password (minimum 8 characters). Confirm it.
  4. 4
    Click Update Password. You will be signed out and need to sign in again with the new password.

Corporate — Dashboard

Overview of your organisation's benefit utilisation

Corporate Corporate users are HR or Finance staff at an employer company. They have read access to their company's data and can manage NP claim approvals.

Corporate Dashboard KPIs

KPIDescription
Active MembersTotal active employees enrolled in G-Flex AI+
Claims This MonthNumber of bills submitted for this corporate's members this month
Pending ApprovalsNP claims awaiting your approval

Corporate Navigation

  • Dashboard — KPI overview for your corporate
  • Members — view and manage your company's members
  • Benefit Plans — read-only view of assigned plans and limits
  • Bills — view all bills for your members; submit NP claims
  • Guarantee Letters — view and request GLs for members
  • NP Approvals — approve or reject non-panel claims at Tier 1
  • Invoices — view invoices issued to your corporate
  • Reports — Bills Report, Sales Report, MC Analysis
  • Settings — Profile & Company tabs; NP Approvers (read-only)
NP Approvals Access
Corporate users who are designated as Tier 1 approvers have access to the NP Approvals page, where they can approve, reject, adjust, or request additional information on non-panel claims submitted by their company's members.

Corporate — Members

View and manage your organisation's enrolled members

Corporate Corporate users see only their own company's members.

Key Actions

  • Search members by name or NRIC
  • Filter by status and relationship type
  • Click the eye icon to open Member Details — see benefit plan utilisation, bills history, and GL history
  • Click FY Adjust on a plan within Member Details to create a financial year adjustment for that member
  • Click Non-Panel Claim to submit a reimbursement claim on behalf of a member
Bulk Upload
Corporate users cannot bulk upload members — this is an Admin-only function. Contact your Genesis Flex administrator to add members in bulk.

Corporate — Benefit Plans

View assigned plans and member utilisation

Corporate Read-only access. Benefit plans are created and assigned by the Genesis Flex admin.

What You Can See

  • All benefit plans assigned to your corporate
  • Plan limits (annual, encounter, monthly)
  • Enrolled member count per plan
  • Dependant eligibility settings

FY Adjustments

Corporate users can create member-level adjustments. In Members → Member Details → Benefit Plans tab, click Adjust next to any plan. Enter an addition (+) or deduction (−) amount and a reason. The adjustment is applied immediately to that member's effective annual limit.

Corporate — Guarantee Letters

Request and view GLs for your members

Corporate Corporate users can view all GLs for their members and request new GLs.

Requesting a GL

Click Request GL from the GLs listing. Select the member and GL type. The request is sent to the Genesis Flex admin for issuance. You will receive an in-app notification when the GL is issued.

GL Status

Corporate users can view GL status (Issued / Approved / Utilised / Cancelled) but cannot approve or cancel GLs — only admins can do that.

Corporate — Bills & NP Claims

Monitor claims and submit non-panel reimbursements

Corporate

Panel Bills

View all bills submitted by merchants for your members. Bills are read-only for corporate users — approval is done by the Genesis Flex admin.

Non-Panel Claim Submission

Click Non-Panel Claim to submit a reimbursement for a visit at a non-G-Flex AI+ provider. The flow:

  1. Select corporate (auto-filled) → member → provider name & type
  2. Select benefit plan (blocked plans show a warning if there's an open registration)
  3. Enter amount (bounded by encounter limit and remaining annual balance)
  4. Upload supporting document (receipt, medical report)
  5. Submit → routed to the appropriate approval tier automatically

Treatment Policy Banner

When selecting a member for an NP claim, the corporate's treatment policy (if set) is shown in a collapsible amber banner. Review it before submitting.

Corporate — Reports

Benefit utilisation analytics for your company

Corporate Corporate users see 3 report types, scoped to their company's data only.

  • Bills Report — itemised claims for your members
  • Sales Report — aggregated spending by time period
  • MC Analysis — medical certificate analytics for your workforce

All filter, export, and pagination features work identically to the Admin Reports module.

Corporate — Settings

Profile and company configuration

Corporate Corporate settings has 3 tabs:

TabContent
ProfileYour name, phone, language preference, password change
CompanyRead-only view of your corporate record (set by admin)
NP ApproversRead-only view of NP claim thresholds and named approvers for your corporate

Merchant — Dashboard

Clinic operations overview

Merchant The merchant dashboard shows today's clinic activity.

KPI Cards

KPIDescription
Patients TodayRegistered patients for today's date
Open BillsBills in draft/pending status awaiting submission
Revenue (MTD)Total approved bill amounts for the current month
InvoicesNumber of outstanding invoices

Merchant Navigation

  • Dashboard — clinic overview
  • Patients — register a new patient / open active registrations
  • Bills — submit and manage bills for completed visits
  • GLs — view and verify guarantee letters
  • Products & Services — manage your product/service catalogue
  • Invoices — view invoices issued to your clinic
  • Queue — patient queue management
  • Telemedicine — teleconsultation sessions
  • Payors — TPA/payor management (CMS feature)

Merchant — Register Patient

Opening a visit record for a G-Flex AI+ member

Merchant Registering a patient creates an open registration that links the member to a benefit plan for this visit. The registration must be closed by submitting a bill.

Registration Workflow

  1. 1
    Click "Register Patient" from the Patients page or Dashboard.
  2. 2
    Search for the member by name or NRIC. If a corporate filter is active on the Members page, the search is scoped to that corporate.
  3. 3
    Review Treatment Policy. If the member's corporate has a treatment policy, it appears as a collapsible amber banner. Read it before proceeding.
  4. 4
    Select a benefit plan. Eligible plans are shown as cards with annual limit, remaining balance, and encounter limit. Plans blocked by an already-open registration show an informational message instead.
  5. 5
    Click "Register Patient". An open registration record is created. The patient is now in the active registrations list.
⚠ One Active Registration Per Plan
A member cannot have two concurrent open registrations using the same benefit plan. If a plan is already in use at another clinic, it will appear as blocked and cannot be selected until the other registration is closed (bill submitted).

Dependant Eligibility

When registering a dependant member, only plans that allow the dependant's relationship type are shown. Child dependants older than the plan's Child Max Age are automatically excluded.

Merchant — Bill Submission

Filing a completed visit record for payment

Merchant Bills are submitted after a patient visit is complete. They form the basis for invoicing and payment.

Submitting a Bill

  1. 1
    Select the member from the bill submission form. The treatment policy appears in a collapsible banner.
  2. 2
    Select the active registration (or create a new one if there's no open registration).
  3. 3
    Enter visit details: visit date, claim number, claim type.
  4. 4
    Add line items for each service provided. Line item types: Consultation, Diagnosis, Medication, Treatment, Investigation, Imaging, MC, Misc. Each type has a lookup searchbox connected to the clinical master list.
  5. 5
    SST toggle: if your clinic is SST-registered, toggle SST on. The SST amount (8%) is automatically calculated and added to the total.
  6. 6
    Click "Submit Bill". The bill moves to Pending status and an admin notification is triggered.

Line Item Type Filtering by Merchant Type

The line item types and clinical lookup items shown during bill submission are filtered by the merchant's type. For example, a dental clinic only sees diagnosis codes and treatments categorised for dentistry; a pharmacy may only see medication and miscellaneous items. This filtering is configured by the admin in Settings → Merchant Services and is based on the categories field on each clinical lookup item. Items whose categories array includes the current merchant's type will appear in the searchbox.

NIH ICD-10 Diagnosis Search

When adding diagnosis line items, the search queries both the local clinical lookup list and the NIH ICD-10-CM API (74,719 codes). NIH results are marked with a teal ICD-10 badge. Selecting an NIH code automatically saves it to the local list for faster future searches.

Adding a New Clinical Item

If your required medication, treatment, or diagnosis is not in the list, type it and click "Add [text] as new [Type]". The item is created as Pending and must be approved by the admin. You can still use it in the current bill — it will appear with a gold PENDING badge.

Merchant — Guarantee Letters

View and verify GLs for incoming patients

Merchant Merchants have read-only access to GLs. GLs are issued by the Genesis Flex admin or requested by the corporate.

Verifying a GL

When a patient presents a GL at the clinic, search for the member in the GL listing to verify the GL is valid, the approved amount, and the expiry date. Do not provide services exceeding the GL approved amount without contacting Genesis Flex.

GL Disclaimer

The corporate's GL disclaimer text is shown on the GL record. Read it carefully — it may contain specific treatment restrictions or pre-authorisation requirements.

Merchant — Active Registrations

Manage open patient visits

Merchant Active Registrations shows all open patient visits at your clinic. A registration is opened when you Register a Patient and closed when you submit a bill.

Active Registration Table

Each row shows: Member Name, NRIC (masked), Corporate, Benefit Plan, Registration Time. Actions:

  • Submit Claim — opens the bill submission modal pre-populated with the registration details
  • Force Close — closes the registration without submitting a bill (use only if the patient did not receive services)

Admin Submit Claim Modal

Admin Admins can submit a bill on behalf of a merchant from an active registration by clicking Submit Claim. This opens a full bill-submission form with:

  • Pre-populated summary — member name/NRIC, merchant, merchant type, benefit plan, registration timestamp
  • Visit details — date, claim number, claim type, SST toggle
  • Line items by type — one section per type (Diagnosis, Medication, Treatment, Investigation, Imaging, MC, Misc). Each section allows adding multiple rows.
  • Amount summary and Remarks

Clinical Lookup Searchboxes

Each line item row (except MC) includes a typeahead searchbox that searches the system's clinical lookup tables:

  • Diagnosis items use a hybrid search: local clinical_lookup_items results appear first, then the NIH ICD-10-CM API results are fetched in parallel and merged (deduplicated by code). NIH results display a teal ICD-10 badge. When an NIH code is selected, it is automatically saved to the local database for future searches.
  • Medication, Treatment, Investigation, Imaging, Misc items search the local clinical_lookup_items table only, filtered by the item's category and the merchant's type.

Adding a Custom Item

When typing 2+ characters with no matching results, a dashed "Add [text] as new [Type]" option appears at the bottom of the dropdown. Clicking it creates the item immediately:

  • Admin users — item is created as Approved and usable immediately
  • Non-admin users — item is created as Pending and must be approved by an admin in Settings → Pending Items. The item can still be used in the current bill regardless of approval status.

Approved items show normally in search results; pending items show a gold PENDING badge.

MC (Medical Certificate) Rows

MC rows use a date-range picker (MC From / MC To) instead of a lookup searchbox. Days are auto-computed (inclusive count). MC items are recorded with item_type='mc', qty = number of days, and unit price = 0.

Force Close
The Force Close button (red text, secondary style) closes the registration without submitting a bill. This releases the benefit plan lock. A tooltip explains its purpose. Only use this if the patient did not receive any services.

Filter & Refresh

Filter by Merchant Type and Registration Status. Click Refresh to update the list in real-time.

⚠ Force Close
Force closing a registration without submitting a bill releases the benefit plan lock. Only use this if the patient did not receive any services.

Merchant — Invoices

View invoices issued to your clinic

Merchant Merchants have read-only access to invoices. Invoices represent the bundled payment due from corporates for your submitted bills.

View invoice status (Finalised / Queued / Submitted / Paid), total amount, and the list of bills included. Contact your Genesis Flex account manager if you have queries about a specific invoice.

Member — Web Dashboard

Overview of your benefits and recent activity

⚠ Members Cannot Log In to the Web App
The G-Flex AI+ web application is restricted to Admin, Corporate, and Merchant users. Member accounts are redirected away at login. Members must use the mobile app (iOS / Android) to access their benefits, claims, e-card, and GLs.

Member All member-facing features described in this section are available exclusively through the G-Flex AI+ mobile app. See the Mobile App — Member Home section for full details.

What Members Can Do (Mobile App Only)

  • Home Dashboard — KPI cards: Active Plans, Open Claims, Active GLs
  • E-Card — Digital membership card with QR code
  • Benefits — View enrolled benefit plans and utilisation (push-navigated from Home)
  • Claims — View claims history and submit NP claims (push-navigated from Home)
  • Find Clinic — Search for G-Flex AI+ registered merchants (bottom tab)
  • GLs — View guarantee letters (push-navigated from Home)
  • Telemedicine — Teleconsultation sessions (push-navigated from Home)
  • Notifications — In-app notifications (push-navigated from Home)
  • Profile & Settings — Personal details, language, biometric, password (bottom tab)
  • Support — Contact Genesis Flex support (bottom tab)

Member — Benefits & GLs

Your enrolled plans, limits, and guarantee letters

Member

Benefits Page

Shows all your active benefit plans as cards. Each card displays:

  • Plan name and type
  • Annual limit and amount remaining (colour-coded progress bar)
  • Encounters used vs encounter limit (if applicable)
  • Covered merchant types (GP, Specialist, Dental, etc.)
  • Enrolment date and expiry date

Guarantee Letters

View all your GLs with their status, approved amount, merchant, and validity period. A GL is required before visiting certain specialists or hospitals — confirm with your HR team whether a GL is needed for your intended visit.

Member — Claims (Bills)

Your medical visit history and reimbursement claims

Member

Bills/Claims Page

Shows all your medical bills submitted by panel clinics, plus any non-panel (NP) reimbursement claims you have submitted. Each card shows:

  • Claim number and visit date
  • Merchant name (or NP provider name)
  • Total amount
  • Status badge (for panel bills: Pending / Approved / Paid; for NP claims: NP approval status)
  • Rx badge if a prescription was dispensed

Non-Panel Reimbursement

To claim reimbursement for a visit at a non-G-Flex AI+ clinic, contact your Corporate HR user or Genesis Flex admin — they will submit the NP claim on your behalf via the web app. On mobile, members can submit NP claims directly from the Claims tab.

Mobile App — Overview

G-Flex AI+ mobile for Members and Corporate Approvers

Mobile Application

The G-Flex AI+ mobile app (React Native + Expo) serves Members and Corporate Approvers. It is available on iOS and Android.

Installation

  1. Open the App Store (iOS) or Google Play (Android)
  2. Search for "G-Flex AI+"
  3. Download and install (free)
  4. Open the app — you will see the splash screen then the login screen

Supported Platforms

PlatformRequirement
iOSiOS 15.0+ (iPhone 8 or newer recommended)
AndroidAndroid 10.0+ (API level 29+)

Role Detection

After login, the app automatically detects your role and navigates to the appropriate tab layout:

  • Member → 4-tab layout: Home, Find Clinic, Support, Profile. Benefits, Claims, and GLs are push-navigated screens accessed via Quick Actions on the Home tab.
  • Corporate Approver → 3-tab layout: Approvals, History, Profile

Dark Mode

The app respects your device's system dark/light mode setting and switches automatically. You can also override it in Profile → Settings → Appearance.

Language

English and Bahasa Malaysia supported. Change in Profile → Settings → Language.

Mobile — Member Home

Dashboard with KPIs, quick actions, and recent claims

Member The Home tab is the main landing screen after login.

9:41◼◼◼ WiFi 🔋
Good morning,
Ahmad
🔔
G-FLEX AI+ E-CARD
AHMAD BIN ALI
Petronas · Principal
NRIC
901231-14-5678
Tap to view →
3
Active Plans
1
Open Claims
0
Active GLs
Claim
GL
Teleconsult
Rx
Outpatient Plan
RM 650 left of RM 1,000
Specialist Plan
RM 560 left of RM 2,000
Home
Find Clinic
Support
Profile
Figure 6 — Member Home Screen showing E-Card teaser, KPIs, Quick Actions, Benefit Snapshot (wireframe)

Screen Elements

ElementDescriptionTap Action
E-Card teaserGradient card showing name, corporate, NRICPush-navigates to full E-Card screen
KPI — Active PlansCount of enrolled benefit plansPush-navigates to Benefits screen
KPI — Open ClaimsBills in pending/submitted statusPush-navigates to Claims screen
KPI — Active GLsCurrently active guarantee lettersPush-navigates to GLs screen
Quick ActionsShortcut tiles: Claim, GL, Teleconsult, RxPush-navigates to respective screen
Benefit SnapshotProgress bars for each active planSee All → push-navigates to Benefits screen
Recent ClaimsLast 5 bills with Rx filter toggleTap row or See all → push-navigates to Claims screen
Bell icon (top-right)Notification buttonPush-navigates to Notifications screen
Push Navigation vs Tabs
Benefits, Claims, GLs, E-Card, Telemedicine, and Notifications are push-navigated screens — they are not bottom tabs. The 4 bottom tabs are: Home, Find Clinic, Support, Profile. All other screens are accessed from Quick Actions or KPI cards on the Home tab.

Watchlist Banner

If your account has been flagged by your plan administrator, an amber "Account Under Review" banner appears at the top of the home screen. Tap to expand and view the reason. Contact your HR administrator or use the Support tab if you believe the flag is in error.

Pull to Refresh

Pull down on the scroll view to refresh all dashboard data.

Mobile — E-Card

Your digital membership card

Member The E-Card is your digital proof of G-Flex AI+ membership. Present it at any G-Flex AI+ registered clinic.

E-Card Tabs

TabContent
Digital CardFull credit-card style card with name, NRIC, corporate, relationship, and coverage-at-a-glance panel
QR CodeQR code encoding your member ID for clinic scanning. Clinics can scan this instead of manually searching by NRIC.

Coverage-at-a-Glance

Below the card graphic, a coverage panel shows each active benefit plan with plan name, annual limit, amount remaining (colour-coded), and eligible merchant types. This gives clinic staff a quick overview of what's covered.

Share / Save

Tap the share icon (top-right) to share the E-Card image via your device's share sheet, or save it to your photo library.

💡 Offline Access
The E-Card screen caches the last-loaded card data. If you lose connectivity while at a clinic, the cached card will still display. Pull to refresh once connectivity is restored.

Mobile — Benefits

Full benefit plan listing with utilisation detail

Member The Benefits tab shows all your active plans in detail.

Hero Stat Card

At the top of the screen, a hero card shows your total remaining balance across all active plans combined, plus the number of plans and total annual limit.

Plan Cards

Each plan is shown as an expandable card. Tap to expand:

  • Annual Limit and amount remaining (with colour-coded progress bar — green <60%, amber 60–85%, red >85%)
  • Encounter Limit and encounters used
  • Monthly Limit (if applicable)
  • FY Adjustment — any financial year addition or deduction applied by your HR
  • Eligible Merchant Types — GP, Specialist, Dental, etc.
  • Enrolment Date and Expiry Date
  • Cover Dependants — which dependant types are covered under this plan
  • Treatment Policy button — tap to read your corporate's treatment policy for this plan

Pull to Refresh

Pull down to reload the latest utilisation data from the server.

Mobile — Claims & NP Claims

View panel bills and submit non-panel reimbursements

Member The Claims tab shows your full medical claims history and allows submission of non-panel (NP) reimbursement requests.

Claims List

Each claim card shows:

  • Icon tile (blue for panel, teal for NP)
  • Merchant name, visit date, claim number (Claim No)
  • Status badge (colour-coded)
  • NP tag and Rx pill (if applicable)
  • Total amount (right-aligned)

Tap any card to open the Claim Detail screen with full line items, diagnosis codes, and approval history (for NP claims).

Filter Tabs

Filter claims by: All, Panel, Non-Panel. An Rx-only toggle filters to claims with prescription dispensed.

Submitting an NP Claim (Mobile)

  1. 1
    Tap "+ NP Claim" button.
  2. 2
    Enter provider name, select provider type, choose the relevant benefit plan.
  3. 3
    Enter the claim amount. The app shows the encounter limit and remaining annual balance — the amount field is bounded to prevent over-claiming.
  4. 4
    Upload your receipt or medical document (camera or photo library).
  5. 5
    Tap Submit. The NP claim number is generated and the claim enters the approval queue.

NP Approvals (for Corporate Approver Members)

If you are also a designated corporate NP approver, a Pending Approval KPI card appears on your Home screen (in place of the Active GLs card). Tap it or navigate to the NP Approvals tab to review claims pending your action.

Mobile — Guarantee Letters

View your pre-authorisation letters

Member The GLs tab shows all guarantee letters issued for your account.

GL Card Details

  • GL type (Outpatient, Inpatient, HSP, etc.)
  • Merchant name and approved amount
  • Status badge (Issued / Approved / Utilised / Cancelled)
  • Issue date and expiry date

When Do You Need a GL?

GLs are typically required for:

  • Specialist visits
  • Hospital admissions (inpatient)
  • High-cost procedures

GP (general practitioner) visits at a panel clinic usually do not require a GL — just present your E-Card. Check with your HR team if unsure.

Requesting a GL

Members cannot request GLs directly from the mobile app (v1). Contact your HR/Corporate user or Genesis Flex admin to request a GL on your behalf.

Mobile — Corporate Approver

NP claim approval queue on mobile

Corporate Corporate Approvers use the mobile app with a 3-tab layout: Approvals, History, Profile.

Approvals Tab

Shows all NP claims pending your approval action. Each card shows:

  • Member name and corporate
  • Provider name and type
  • Claim amount and benefit plan
  • Submission date
  • Approval tier (Tier 1 - Corporate)

Tap any card to open the claim detail and take action:

  • Approve — approve at your tier. If Tier 2 threshold is met, the claim escalates to Admin.
  • Reject — reject with mandatory remarks
  • Adjust Amount — partially approve
  • Request Info — send a note back to the submitter

History Tab

Shows all NP claims you have previously actioned, with the outcome and remarks recorded.

9:41◼◼◼ WiFi 🔋
NP Approvals
3 Pending
Ahmad bin Ali
RM 250.00
Klinik Kesihatan Bangi · GP
Outpatient Plan · 2 May 2026
Approve
Reject
Siti binti Razak
RM 480.00
Klinik Prima · Specialist
Specialist Plan · 1 May 2026
Approve
Reject
Approvals
History
Profile
Figure 7 — Corporate Approver NP Approvals screen (wireframe)

Glossary

Key terms used throughout G-Flex AI+

TermDefinition
AdministratorA Genesis Flex entity (tenant). All data is isolated per administrator.
Annual LimitMaximum amount a member may claim per year under a specific benefit plan.
Assigned Benefit Plan (ABP)The link between a benefit plan and a corporate — activating that plan for the corporate's members.
BRNBusiness Registration Number — the corporate's official registration number.
CorporateAn employer company that has enrolled their employees in G-Flex AI+.
DependantA member whose relationship type is not 'principal' — typically spouse, child, or parent of an employee.
E-CardDigital membership card displayed on the mobile app, showing member identity and coverage summary.
E-InvoiceLHDN-compliant electronic invoice submitted to Malaysia's tax authority (Inland Revenue Board).
Encounter LimitMaximum number of visits (encounters) allowed per year under a benefit plan.
FY AdjustmentA financial year addition or deduction applied to a specific member's plan limit by an admin or corporate user.
GL (Guarantee Letter)Pre-authorisation letter issued to a member before a medical visit, guaranteeing payment to the merchant.
HSPHospital Stay Plan — GL type for extended inpatient stays.
ICD-10International Classification of Diseases, 10th Revision — the standard system for diagnosis codes.
InvoiceA bundled payment request sent to a corporate, covering multiple approved bills.
LHDNLembaga Hasil Dalam Negeri — Malaysia's Inland Revenue Board. Receives e-invoices.
MBP (Member Benefit Plan)The enrolment record linking a specific member to a specific plan, with their utilisation tracked.
MCMedical Certificate — issued by a doctor for sick leave. Tracked as a bill line item type.
MerchantA G-Flex AI+ registered healthcare or benefit provider (clinic, hospital, pharmacy, etc.).
MSICMalaysia Standard Industrial Classification — required for LHDN e-invoice submission.
NRICNational Registration Identity Card number — Malaysia's 12-digit national ID number (e.g., 901231145678).
NP ClaimNon-Panel Claim — a reimbursement claim for a visit at a non-G-Flex AI+ provider.
PanelA merchant registered in G-Flex AI+. Visiting a panel clinic means direct billing through G-Flex AI+.
PrincipalThe primary enrolled member (usually the employee). Dependants are linked to a principal.
RLSRow-Level Security — database-level access control ensuring data isolation between tenants and roles.
RPCRemote Procedure Call — a Supabase function call that executes server-side SQL logic.
SSTSales and Service Tax — Malaysia's 8% service tax applied by SST-registered merchants.
TINTax Identification Number — required for LHDN e-invoice submission.
TPAThird-Party Administrator — an external claims management company acting as intermediary.
UtilisationThe proportion of a benefit plan's annual limit that has been claimed/used.
WatchlistA flag placed by an admin on a member account suspected of fraudulent or excessive claiming.

Status Workflows

Visual reference for all status transitions

Status Reference

Bill Status

Draft
→
Pending
→
Submitted
→
Approved
→
Paid
Submitted
→
Rejected
Any
→
Cancelled

GL Status

Issued
→
Approved
→
Utilised
Approved
→
Cancelled

Invoice Status

Draft
→
Finalised
→
Queued
→
Submitted
→
Paid

E-Invoice Status

Pending
→
Submitted
→
Validated
Submitted
→
Rejected
Validated
→
Cancelled

NP Claim Approval Status

Submitted
→
Amount ≤ auto threshold?
→
Auto Approved
Pending Corporate
→
Corporate Approved
→
Amount > Tier 2?
→
Pending Admin
→
Fully Approved
Any pending
→
Rejected
Any pending
→
Info Requested

Status Badge Colour Reference

StatusBadgeMeaning
DraftDraftNot yet submitted; editable
PendingPendingAwaiting action or review
SubmittedSubmittedSubmitted for approval
ApprovedApprovedApproved; awaiting payment
PaidPaidPayment settled
ActiveActiveCurrently active record
InactiveInactiveDeactivated; not in use
RejectedRejectedDeclined; see remarks
Open / IssuedOpenIn progress (GL, registration)

FAQ

Frequently asked questions

Frequently Asked Questions

Login & Account

I forgot my password. What do I do? +
On the login screen, click Forgot password?, enter your email address, and check your inbox. The reset link expires in 1 hour. If you don't receive the email, check your spam folder or contact your administrator.
My account says "Inactive". Who do I contact? +
Contact your HR administrator or Genesis Flex support. Your account may have been deactivated by your company's admin.
Can I use the same email for web and mobile? +
Yes. The same credentials work for both the web app and the mobile app. Your session is separate between platforms.

Benefits & Claims

My benefit plan balance shows less than I expect. Why? +
Your balance reflects all approved bills, not just paid ones. Additionally, open registrations at panel clinics may temporarily hold entitlement. Contact your HR admin if you believe there is an error — they can review your FY adjustments and claim history.
Can I visit any clinic, or only G-Flex AI+ panel clinics? +
You can visit any clinic, but reimbursement processes differ. Panel clinics (G-Flex AI+ registered) handle billing directly — no out-of-pocket payment for covered services. Non-panel clinics require you to pay upfront and submit a Non-Panel (NP) reimbursement claim, subject to approval.
Do I need a GL before visiting a specialist? +
This depends on your corporate's policy. Some plans require a GL for all specialist visits; others only require one for inpatient admissions. Check your treatment policy (visible in the Benefits screen) or ask your HR team.
My NP claim has been in "Pending Corporate" status for days. What do I do? +
Contact your designated corporate NP approver or HR manager. They may not have been notified. You can also check the approval history in the Claim Detail screen to see if an "Info Requested" note has been sent to you.

Merchants (Clinic Staff)

A patient says their plan is blocked. What does this mean? +
The member's benefit plan is currently locked by an open registration at another G-Flex AI+ clinic. The patient cannot use the same plan at two clinics simultaneously. The other registration must be closed (bill submitted) before this clinic can register the patient with that plan. Offer to use a different plan if the member has one, or ask the patient to contact the other clinic.
The diagnosis code I need is not in the system. Can I add it? +
Yes. Type the diagnosis name or ICD-10 code in the searchbox. The system first searches local items and then the NIH ICD-10-CM API (74,719 codes). If not found, click "Add as new Diagnosis" — the item is created as Pending and must be approved by the admin. You can still use it in the current bill.
How do I close a patient registration without submitting a bill? +
In Active Registrations, click Force Close on the registration row. Use this only when the patient did not receive any services — for example, if they registered but left before being seen.

Admin

How often does data sync with Bubble.io? +
The Supabase → Bubble sync runs every 30 minutes via a scheduled Edge Function. Real-time changes in Supabase are also pushed to Bubble immediately via a database trigger and pg_net HTTP calls.
A merchant submitted a pending clinical item. How do I approve it? +
Go to Settings → Pending Items. You'll see a unified list of pending diagnoses and products/services. Click Approve to approve, or Reject (with confirmation) to reject. Approved items immediately become available in all bill submission searchboxes for that tenant.
How do I add a new admin user? +
Go to Settings → Users, click Add User, enter their email and role, and click Save. The user will receive an email from Supabase Auth to set their password. Their role determines what they can see and do in the system.

Support

For issues not covered in this manual, contact Genesis Flex support:

  • Email: support@genesisflex.my
  • Admin portal: admin@genesisflex.my
  • Hours: Monday–Friday, 9am–6pm MYT
💡 In-App Support (Mobile)
Members can access support via the mobile app: Profile → Support tab.

Telemedicine (Member Mobile)

Members can request and attend video consultations with panel clinics directly from the mobile app. The feature uses Daily.co for WebRTC video and Supabase Realtime to push live status updates without requiring the member to refresh.

Accessing Telemedicine

Tap Teleconsult in the Quick Actions section on the Home screen, or navigate via the bottom tab if your plan includes telemedicine coverage.

5-Step Booking Flow

1. Select Merchant
Choose a telemedicine-enabled clinic
→
2. Benefit Plan Check
System verifies coverage
→
3. Submit Request
Choose type: Video or Chat
→
4. Realtime Status
Live updates from clinic
→
5. Join Call
Daily.co video room

Step 1 — Select a Merchant

A list of telemedicine-enabled merchants appears. Merchants are filtered to those that match your enrolled benefit plans. Tap a merchant to proceed.

Step 2 — Benefit Plan Check

The app verifies that you have an active benefit plan covering telemedicine with this merchant. If no eligible plan is found, a message is shown explaining you are not covered for this merchant's teleconsult service.

Step 3 — Submit Request

Choose the session type (Video or Chat) and enter a brief reason for the consultation. Tap Request Consultation. A session record is created with status pending_request and the clinic is notified.

Step 4 — Realtime Status Updates

The app subscribes to Supabase Realtime on your session record. As the clinic acts, your screen updates automatically:

StatusWhat It MeansWhat You See
pending_requestAwaiting clinic confirmationSpinner with "Waiting for clinic..."
confirmedClinic accepted your requestAppointment confirmed message
waitingClinic is ready; you are in a virtual queue"You're next — clinic will start soon"
in_progressSession started; join nowJoin Call button appears
completedSession ended normallySession summary; Rx link if issued
cancelledEither party cancelledCancellation notice
declinedClinic declined the requestDeclined notice with reason if provided
no_showMember did not join in timeNo-show notice; may be rebookable

Step 5 — Join the Call

When status reaches in_progress, tap Join Call. The app opens the Daily.co video room using your daily_token_member token. Camera and microphone permissions are requested on first use. The call runs natively within the app — no browser required.

💡 After the Consultation
If the doctor issues an e-prescription, it will appear immediately in your Prescriptions screen (Rx quick action on the Home screen). Tap it to view your medications, dosage, and instructions.
Wireframe — Member Telemedicine (Waiting State)
Klinik Murni Sdn Bhd
Video Consultation
🎥
Confirmed
Your appointment is confirmed.
The doctor will start your call shortly.
REASON FOR VISIT
Fever and sore throat for 3 days
Live updates • Supabase Realtime connected

Wireframe placeholder — replace with screenshot

Prescriptions / Medication (Member Mobile)

The Rx quick action on the Home screen opens the Prescriptions screen, which lists all e-prescriptions issued to you by panel doctors — whether from teleconsult sessions, panel clinic visits, or direct clinic prescriptions.

Accessing Your Prescriptions

  1. Open the G-Flex AI+ mobile app and log in.
  2. On the Home screen, tap the Rx quick action card.
  3. Your prescriptions load in reverse chronological order (most recent first).

Prescription Card Information

Each prescription displays as a card with the following details:

FieldDescription
Prescription NumberUnique reference number (e.g. RX-2026-0042)
Prescriber NameDoctor who issued the prescription
Clinic / MerchantClinic name where the prescription originated
Status BadgeIssued, Dispensed, Expired, or Cancelled (colour-coded)
Source ChipTeleconsult, Panel Visit, or Clinic (icon + label)
Issued DateDate the prescription was created
Valid UntilExpiry date (if set by the doctor)
Drug ListOne row per drug with name, dosage, frequency, quantity, and instructions
Dispensed DateShown with ✓ icon when medication has been collected
Refills RemainingShown as "Refills: 1/3" when refills are allowed

Drug Row Details

Each drug in a prescription shows:

Prescription Sources

Source ChipIconMeaning
Teleconsult📹 video-outlineIssued after a video consultation session
Panel Visit🏥 hospital-buildingIssued alongside a panel clinic bill
Clinic💊 pillIssued directly by a clinic without a linked bill

Prescription Statuses

StatusColourMeaning
IssuedBlueActive prescription; not yet dispensed
DispensedGreenMedication collected from pharmacy
ExpiredGreyValidity period passed without being dispensed
CancelledRedPrescription voided by the prescriber
💊 Refills
If a prescription has refills allowed (Refill Limit > 0), a "Refills: X/Y" line appears at the bottom of the card. Present your prescription number at a panel pharmacy to use a refill. The app updates automatically once the pharmacist marks the refill as dispensed.
Wireframe — Member Prescriptions Screen
← Prescriptions
RX-2026-0042
Dr Amir Hassan · Klinik Murni
Issued
📹 Teleconsult Issued 3 May 2026 · Valid until 10 May 2026
💊
Amoxicillin
500mg · 3× daily · 7 days
Take after meals
×21 Tablet
💊
Paracetamol
1000mg · PRN
×10 Tablet
RX-2026-0031
Dr Priya Nair · Klinik Sehat
Dispensed
🏥 Panel Visit Issued 18 Apr 2026
✓ Dispensed 18 Apr 2026

Wireframe placeholder — replace with screenshot

Empty State

If you have no prescriptions yet, the screen shows a prescription icon with the message: "E-prescriptions issued by your doctor will appear here." Prescriptions only appear once a doctor explicitly issues an e-prescription — physical prescriptions are not automatically digitised.

Admin — Notifications

View and manage all system notifications in one place

Admin The full Notifications page provides a scrollable list of all in-app notifications with filtering, bulk actions, and click-to-navigate. It shares data with the topbar bell dropdown — no separate fetch is needed.

Accessing the Page

Click View all notifications at the bottom of the bell dropdown, or navigate directly from the sidebar.

Filter Tabs

TabShows
AllEvery notification (read and unread)
UnreadOnly notifications that have not been opened
Action NeededNotifications with severity warning or error, or those containing an action URL

Mark All Read

Click Mark all read to set every unread notification as read in one action. The bell badge count resets to zero.

Click-to-Navigate

Clicking a notification opens the notification detail drawer. If the notification carries an action_url (e.g., a specific bill or GL), the drawer provides a link to navigate directly to that record.

Realtime Updates
Notifications are pushed to the browser in real time via Supabase Realtime. New notifications appear instantly without refreshing. The bell badge count updates automatically.

Admin — Merchant Networks

Create and manage panel networks to control merchant access

Admin Merchant Networks (also called Panel Networks) let you define which merchants a corporate's members can visit. When a network is assigned to a corporate, only merchants in that network are available for registrations and GLs.

KPI Cards

KPIDescription
Total NetworksAll networks created for this tenant
ActiveNetworks currently enforced
Merchants CoveredTotal merchants assigned to at least one network
Corporates on NetworkCorporates assigned to at least one network

Creating a Network

  1. 1
    Click "Create Network" in the sidebar.
  2. 2
    Enter network name and optional code/description.
  3. 3
    Set Open Access toggle. When ON, all merchants are accessible. When OFF (restricted), only explicitly added merchants are accessible.
  4. 4
    Save the network.

Adding Merchants to a Network

Open a network and go to the Merchants tab. Two modes: Individual (typeahead search) or Bulk (add all merchants by type). Use merchant type filter tabs to narrow the list.

Assigning Corporates

Go to the Corporates tab. Search and add corporates. Once assigned, members of that corporate are restricted to merchants within this network.

Network Enforcement
Corporates without any network assignment have open access to all active merchants. Corporates on a restricted network see a warning during patient registration if they attempt to use a merchant outside the network.

Access Types

TypeBehaviour
RestrictedOnly merchants explicitly added to the network are available
Open AccessAll merchants are available — the network exists for grouping/reporting only

Admin — Users

Manage all platform users across your organisation

Admin The Users page is a dedicated standalone module for managing all tenant user accounts — admins, corporates, merchants, and members.

Table Columns

ColumnDescription
Name / EmailFull name (primary line) with email stacked below
RoleAdmin, Corporate, Merchant, or Member badge
StatusActive / Inactive badge
CreatedAccount creation date
ActionsView (eye icon) and Edit (pencil icon) action icons

KPI Cards

KPIDescription
Total UsersAll users in the tenant
Active UsersUsers with active status
Admin UsersUsers with the admin role
Inactive UsersDeactivated user accounts

Click any KPI card to instantly filter the table to that subset.

Adding a User

  1. 1
    Click "+ Add User" in the sidebar.
  2. 2
    Fill in required fields: Full Name, Email, Role. Optionally set phone number and initial password.
  3. 3
    Click Save. The user is created in both Supabase Auth and the public users table.
Tip
The Users page is also accessible via Settings → Users tab. Both routes open the same standalone page.

Admin — Prospects

Track and manage sales leads and potential corporate clients

Admin The Prospects module is a lightweight CRM for tracking potential corporate clients through the sales pipeline.

Marketing Feature Flag Required
This module is only visible when the Marketing Module feature flag is enabled in Settings → Organization → Feature Toggles.

Pipeline Stages

StageDescription
NewNewly added lead, not yet contacted
ContactedInitial outreach made
EngagedActive discussions underway
Meeting ScheduledDemo or meeting booked
Proposal SentFormal proposal submitted
WonDeal closed — prospect becomes a corporate client
LostProspect did not proceed

Adding a Prospect

Click + Add Prospect. Fill in Company Name (required), Contact Person, Email, Phone, Industry, Employee Count, Stage, Priority, Source, and Notes.

Admin — Demo Bookings

Manage product demo appointments from website enquiries

Admin The Demo Bookings module tracks demo appointments submitted via the G-Flex AI+ website contact form.

Marketing Feature Flag Required
This module is only visible when the Marketing Module feature flag is enabled.

Booking Statuses

StatusDescription
PendingAwaiting admin confirmation
ConfirmedDemo confirmed and scheduled
CompletedDemo has taken place
CancelledBooking was cancelled
No-showVisitor did not attend

Creating a Booking

Click + New Booking. Enter Visitor Name, Email, Phone, Company, Demo Type (Online / In-Person), Date, and Time Slot. Optionally link to an existing Prospect record.

Slot Configuration

Click Slot Config to manage available time slots and blocked dates (holidays, team events).

Email Notifications

When a demo booking is created, the system automatically sends an email notification to all admin users. The email includes the visitor name, company, booking date/time, reference number, and any notes.

Admin — Website CMS

Manage website pages, blog posts, media, and SEO

Admin The Website CMS module provides a built-in content management system for the G-Flex AI+ marketing website.

Marketing Feature Flag Required
This module is only visible when the Marketing Module feature flag is enabled.

CMS Tabs

TabPurpose
PagesStatic website pages (About, Contact, Features). Each page has a title, slug, content, and SEO metadata.
Blog PostsBlog articles with category (General, News, Updates, Tips), featured image, and rich content.
MediaMedia library for images, videos, and documents. Upload and filter by type.
SEO AuditAutomated SEO analysis of published pages — checks meta titles, descriptions, and heading structure.

Admin — Google Ads

Manage Google Ads campaigns directly from G-Flex AI+

Admin The Google Ads module integrates your Google Ads account with G-Flex AI+, allowing you to monitor campaigns, ad groups, ads, and assets.

Marketing Feature Flag Required
This module is only visible when the Marketing Module feature flag is enabled.

Initial Setup

Connect your Google Ads account by entering your Customer ID (XXX-XXX-XXXX), Developer Token, and OAuth Client ID/Secret. Click Save Credentials to authenticate.

Module Tabs

TabPurpose
CampaignsView all campaigns with status, budget, impressions, clicks, CTR, and cost metrics.
Ad GroupsBrowse ad groups within campaigns with targeting and performance data.
AdsView individual ad creatives, headlines, descriptions, and performance.
AssetsManage ad assets (images, logos, headlines, descriptions).
AI ChatAI-assisted campaign optimisation suggestions and natural language queries.
Admin Only
The Google Ads module is restricted to admin users only.

Merchant — POS / Bill Submission

Point-of-sale encounter workflow for panel and walk-in patients

Merchant The POS module is the primary clinical workspace for CMS-enabled merchants. It combines patient queue management, vitals recording, clinical prescriptions (line items), and billing into a single encounter-driven screen.

KPI Dashboard

KPIDescription
Queue WaitingPatients currently waiting in the queue
Queue ServingPatient currently being attended to
Patients TodayTotal patients registered today
Revenue TodayTotal billed amount for today (RM)
Open BillsBills in draft or pending status

Patient Queue

The left panel shows all patients with statuses Waiting and Serving:

  • Panel Patient — search by NRIC or name, select a benefit plan, queue with queue_type = 'panel'
  • Walk-In Patient — register a new patient or search for an existing one, queue with queue_type = 'walk_in'

Click Call Next to move the first waiting patient to "serving" status.

Encounter Tabs

  • Vitals — Blood pressure, heart rate, temperature, weight, height (BMI auto-calculated), SpO2, clinical notes
  • Prescriptions — Add line items: Diagnosis, Medication, Treatment, Investigation, Imaging, MC, Misc. Uses clinical lookup searchbox with NIH ICD-10 for diagnoses.
  • Billing — Itemised summary. Panel: "Submit to Corporate". Walk-in: "Collect Payment" (Cash, Card, E-Wallet, Bank Transfer).
  • Watchlist — Only visible if patient is flagged. Shows flag reason and visit history.

Watchlist Alerts

The POS page checks if the merchant or queued patients are flagged. Alerts appear as amber warning cards with masked NRICs.

Merchant — Patients

Patient database and clinical history for your clinic

Merchant The Patients module provides a comprehensive view of all patients who have visited your clinic, aggregated from historical bills.

Patient List

Table shows: Name, NRIC, Gender, Age (CMS only), Visit Count, Last Visit Date, Allergy indicator (CMS only). Search by name or NRIC. Pagination: 10 rows per page.

Patient Detail Panel

Click a patient row to open the detail side-panel with tabs:

  • Visit History — All bills at your clinic with date, Claim No, amount, status
  • Vitals — Historical vitals charts with sparklines (CMS only)
  • Profile — Member demographics (CMS only)
  • Allergies — Record and manage patient allergies (CMS only)
  • Documents — Upload and view patient documents (CMS only)
Note
Vitals, Allergies, Documents tabs; Age column; and Add Patient button are only visible when the CMS Module is enabled.

Merchant — Telemedicine

Remote video consultation management

Merchant The Telemedicine module allows CMS-enabled merchants to manage remote video consultation sessions with members.

Feature Toggle Required
Telemedicine only appears if the administrator has enabled the CMS Module for your merchant account.

Session Status Lifecycle

Pending → Confirmed → Waiting → In Progress → Completed

Terminal states: Cancelled, Declined, No Show

Managing Sessions

ActionWhen to UseResult
ConfirmMember submitted a teleconsult requestStatus → Confirmed; member notified
Start SessionAppointment time arrivedStatus → In Progress; video room activated
End / CompleteConsultation finishedStatus → Completed; "Issue Rx" and "Pre-fill Bill" actions available
DeclineCannot accommodateStatus → Declined; requires reason
Mark No ShowMember did not joinStatus → No Show; slot freed

Post-Session Actions

  • Issue Rx — Opens E-Prescription wizard pre-linked to the session
  • Pre-fill Bill — Opens bill submission with member/visit details pre-populated

Merchant — E-Prescriptions

Issue and manage digital prescriptions for members

Merchant Issue, track, and manage digital prescriptions (E-Rx). Linked to teleconsult sessions or submitted bills, immediately visible to members in their mobile app.

Note
E-Prescriptions requires the CMS Module to be enabled.

3-Step Wizard

  1. 1
    Patient Selection — pre-populated from teleconsult/bill, or search by name/NRIC. Capture prescriber name and MMC number. PDPA consent required.
  2. 2
    Add Drugs — Add drug rows with: Drug Name (typeahead), Dosage, Frequency, Duration, Quantity, UOM, Instructions. Click + Add Drug for more rows.
  3. 3
    Review & Issue — Review full prescription, set validity period (default 30 days), add clinical notes, then Issue Prescription.

Status Workflow

Issued → Sent → Dispensed

Terminal: Cancelled, Expired

Merchant — Products & Services

Manage your clinic's product and service catalogue

Merchant Manage medications, treatments, and services. Items are used for pricing in POS and clinical lookup searchboxes.

Feature Toggle Required
Requires the CMS Module to be enabled.

Catalogue

Table: Code, Name, Category (merchant type badge), Unit Price (RM), Status, Actions. Search by name/code, filter by category.

Editing

Click Edit to update name, code, category, unit price, and active status. Changes save to master_products_services.

Export

Click Export CSV to download the full catalogue.

Merchant — Payors / TPA

Third-party administrator and insurance payor management

Merchant Manage relationships with TPAs and insurance companies who pay for patient visits. Payor records are used for invoicing and payment tracking.

Feature Toggle Required
Requires the CMS Module to be enabled.

Payor List

Table: Name, Type (insurance/TPA/corporate/government), BRN, Contact Person, Phone, Email, Payment Terms, Credit Limit, Outstanding/Overdue Balance, Status.

Managing Payors

  • Add Payor — name, type, BRN, TIN, SST number, contact details, address, payment terms, credit limit
  • Edit — modify any field
  • Activate / Deactivate — toggle active status

Merchant — Accounting

Financial management for your clinic

Merchant Full double-entry bookkeeping system organised as a hub with multiple sub-modules.

Feature Toggle Required
Requires the Accounting feature to be enabled.

Sub-Modules

Sub-ModuleDescription
DashboardRevenue, expenses, net profit KPIs. Period selector (This Month/Quarter/Year/Custom).
Chart of AccountsAccount tree: Assets, Liabilities, Equity, Revenue, Expenses, COGS. Auto-seeded with Malaysian SME defaults.
Journal EntriesMulti-line debit/credit with auto-balancing. Statuses: Draft, Posted, Void.
General LedgerDrillable ledger by account with running balance and date range filter.
SuppliersSupplier records with contact details and category assignments.
ReportsTrial Balance, Profit & Loss, Balance Sheet, SST Report. Export to CSV/PDF.

Merchant — HR

Staff management, attendance, leave, and payroll

Merchant Complete staff management covering employee records, attendance, leave, and payroll with Malaysian statutory calculations.

Feature Toggle Required
Requires the HR feature to be enabled.

Sub-Modules

Sub-ModuleDescription
EmployeesPersonal info, position, department, salary, allowances. Add, edit, terminate.
AttendanceDaily tracking: Present, Absent, Late, Half Day, On Leave. Date picker for historical view.
LeaveRequest management with approval workflow. Leave calendar with colour-coded grid. Balance tracker.
PayrollMonthly processing with auto-calculated EPF, SOCSO, EIS, PCB. Summary table and payslip details.

Payroll Statutory Calculations

  • EPF — 11% employee, 13%/12% employer (salary bracket + age dependent)
  • SOCSO — contribution rate by salary bracket
  • EIS — 0.2% each (employee + employer)
  • PCB — Monthly tax deduction (progressive, considers marital status + children)

Merchant — Reports

Clinic-specific analytics and reporting

Merchant Clinic-specific analytics covering revenue, patient visits, and claims status.

Note
Only available for CMS-enabled merchants.

Report Tabs

TabKey Metrics
RevenueTotal Revenue, Average Bill Amount, Paid/Pending Bills
Patient VisitsTotal Visits, Unique Patients, Panel vs Walk-In split
Claims SummarySubmitted, Approved, Rejected, Pending counts

Each report has date range filters, KPI cards, and CSV export.

Merchant — Invoicing

Create and manage invoices for clinic services

Merchant Create, manage, and track invoices issued to patients, payors, and corporates. Separate from TPA Invoices (issued to the merchant).

Feature Toggle Required
Requires both CMS Module and Accounting features.

Creating an Invoice

  1. 1
    Select invoice type: Patient, Payor/TPA, or Manual entry.
  2. 2
    Add line items — auto-populate from bills or add manually.
  3. 3
    Review totals — subtotal, SST, grand total (with Malaysian Sen rounding).
  4. 4
    Preview and submit.

Invoice Actions

  • View — full invoice detail
  • PDF — download PDF version
  • Record Payment — partial or full payment with method and reference
  • Void — void draft/issued invoices
  • MC — generate medical certificate

Admin — Accounting

Entity-scoped double-entry bookkeeping across admin, corporate, and merchant

AdminCorporateMerchant The Accounting module is entity-scoped — each entity (admin organisation, corporate, or merchant) gets its own independent Chart of Accounts, General Ledger, and journal entries. Data is isolated per entity.

Entity Scoping

RoleAccounting Scope
AdminGenesis Flex's own books — revenue from service charges, corporate invoicing
CorporateCorporate's benefit expense tracking — claims paid, outstanding invoices
MerchantClinic's financial records — patient revenue, expenses, supplier payments

GL Posting Source Types

Journal entries are created automatically when certain business events occur. The 8 GL posting source types are:

Source TypeTriggered ByDescription
bill_approvedBill status changes to ApprovedDebits claims expense, credits accounts payable
bill_paidBill status changes to PaidDebits accounts payable, credits cash/bank
invoice_finalisedInvoice is finalisedDebits accounts receivable, credits service revenue
invoice_paidInvoice payment is recordedDebits cash/bank, credits accounts receivable
np_claim_approvedNP claim is fully approvedDebits NP claims expense, credits accounts payable
np_claim_paidNP claim reimbursement is settledDebits accounts payable, credits cash/bank
manual_entryUser creates a journal entry manuallyCustom debit/credit entries for adjustments, accruals, etc.
opening_balanceSystem initialisation or year-startSets opening balances for accounts at the start of a financial period

Sub-Modules

The accounting hub contains: Dashboard, Chart of Accounts, Journal Entries, General Ledger, Suppliers, and Reports (Trial Balance, P&L, Balance Sheet, SST Report). See the Merchant Accounting section for detailed sub-module descriptions — the structure is identical across all three entity types.

Admin — Notification Broadcast

Send system-wide announcements to all users

Admin The Notification Broadcast feature allows admins to send a system_announcement notification to all users within their tenant. This is useful for planned maintenance, policy updates, or urgent alerts.

How to Broadcast

  1. 1
    Navigate to Notifications (from the sidebar or bell dropdown "View all notifications").
  2. 2
    Click Broadcast Notification.
  3. 3
    Enter a Title and Body for the announcement. Select a Severity level (info, success, warning, error).
  4. 4
    Click Send. The notification is delivered to every user in the tenant in real-time via Supabase Realtime.
Broadcast Scope
Broadcast notifications are delivered to all users in the current tenant — admins, corporates, merchants, and members. Use judiciously.

Notification Severity Levels

LevelIcon ColourUse Case
infoBlueGeneral announcements, feature updates
successGreenPositive updates — system restored, migration complete
warningAmberPlanned maintenance, degraded service
errorRedUrgent alerts — system outage, security issue

Merchant — Letters

Generate appointment and withdrawal letters

Merchant Generate official clinic letters for panel network management.

Letter Types

TypePurpose
Appointment LetterConfirms the clinic has been appointed as a panel provider for a corporate/TPA network.
Withdrawal LetterFormally notifies withdrawal from the panel network.

Output

Letters include clinic letterhead, date, addressee details, body text, and signatory line. Print directly or save as PDF via the browser's print function.