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 with comprehensive translations across all modules — navigation labels, page titles, table headers, filter options, buttons, status badges, form labels, dashboard labels, loading/empty states, toast messages, report tabs, and GL types are all translated. Toggle between languages using the language button at the bottom of the left sidebar. Your preference is saved across sessions.

💡 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.

Figure 1 — Web Login Screen
Figure 1 — Web Login Screen
  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.
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.

Figure 2 — Mobile Login Screen
Figure 2 — Mobile Login Screen

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.

Figure 3 — Web Application Main Layout showing sidebar navigation and dashboard
Figure 3 — Web Application Main Layout showing sidebar navigation and dashboard

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
Figure 4 — Admin Dashboard with KPI cards and Recent Bills table
Figure 4 — Admin Dashboard with KPI cards and Recent Bills table

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.

Dashboard Watchlist

The Dashboard displays a summary of active watchlist flags. For corporate-level flags, the corporate name is shown (not "Unknown Member"). Click any flag to navigate to the Watchlist module for full details.

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 Broadcast

Admins can compose and send broadcast notifications to specific user groups. From the Notifications page, click Broadcast to open the compose form. Select the target audience (all users, corporates only, merchants only, members only, or a specific corporate's members), enter a title and body, and send. Recipients see the notification in their bell dropdown and on the Notifications page.

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

The table displays 6 columns:

ColumnContent
Name / BRNCompany name (top) and Business Registration Number (bottom), stacked
EmailPrimary contact email
Contract PeriodContract start and end dates
StatusActive / Inactive badge
MembersCount of enrolled members
ActionsIcon buttons: eye icon (View), edit icon (Edit)
  • Search by company name
  • Filter by status (Active / Inactive)
  • Pagination: 10 records per page with Load More
  • Export to CSV
Figure 5 — Corporates listing with filter bar and icon buttons
Figure 5 — Corporates listing with filter bar and icon buttons

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. 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

The table displays 6 columns:

ColumnContent
Name / NRICFull name (top) and 12-digit NRIC (bottom), stacked
Employee IDEmployee identifier
CorporateCorporate company name
RelationshipPrincipal / Spouse / Child / Parent / Sibling / Other
StatusActive / Inactive badge
ActionsIcon buttons: eye icon (View details)

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.

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

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 Listing

The table displays 6 columns:

ColumnContent
Name / TypeClinic name (top) and merchant type badge (bottom), stacked
ContactEmail (top) and phone number (bottom), stacked
SSTSST registration status
CMSCMS module enabled/disabled
StatusActive / Inactive badge
ActionsIcon buttons: eye icon (View), edit icon (Edit)

Merchant Type Badges

Each merchant displays a coloured type badge:

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

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.

Merchant Line Item Types
When submitting bills for a merchant, the available line item types (diagnosis, medication, treatment, etc.) are filtered based on the merchant's type. For example, a dental merchant may see a different set of investigation and treatment items than a GP.

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.

Bills Listing

The table displays 7 columns:

ColumnContent
Claim No / DateClaim number (top) and visit date (bottom), stacked
Member / CorporateMember name (top) and corporate name (bottom), stacked
MerchantClinic/provider name
TypeBill type indicator (Panel / Non-Panel)
AmountTotal bill amount
StatusStatus badge (Draft, Pending, Submitted, Approved, Paid, Rejected, Cancelled)
ActionsIcon buttons: eye icon (View), dollar icon (Pay), trash icon (Remove)

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.

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.

GL Listing

The table displays 6 columns:

ColumnContent
GL No / Type / DateGL number (top), GL type and date (bottom), stacked
Member / CorporateMember name (top) and corporate name (bottom), stacked
MerchantClinic/provider name
AmountApproved GL amount
StatusStatus badge (Issued, Approved, Utilised, Cancelled)
ActionsIcon buttons: eye icon (View), cancel icon (Cancel)

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.

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.

Invoice Listing

The table displays 5 columns:

ColumnContent
Invoice No / Type / DateInvoice number (top), type and date (bottom), stacked
Corporate / MerchantCorporate or merchant name associated with the invoice
Grand TotalTotal invoice amount
StatusStatus badge (Draft, Finalised, Queued, Submitted, Paid, Cancelled)
ActionsIcon buttons: eye icon (View), dollar icon (Pay), trash icon (Remove)

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, Claim 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.

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 — Networks

Manage merchant networks and corporate access

Admin Networks group merchants into logical sets that corporates can subscribe to. A corporate's members can only visit merchants within their assigned network(s).

Network Listing

The table displays 6 columns:

ColumnContent
Name / CodeNetwork name (top) and short code (bottom), stacked
Access TypeOpen or Restricted access
MerchantsCount of merchants in this network
Corporate OwnerThe corporate that owns or sponsors this network
StatusActive / Inactive badge
ActionsIcon buttons: eye icon (View), edit icon (Edit), trash icon (Delete)

Creating a Network

  1. 1
    Click "+ Add Network". Enter network name, code, and access type.
  2. 2
    Assign merchants to the network by searching and adding them.
  3. 3
    Link corporates that should have access to this network.
  4. 4
    Click Save. The network is created and active.

Admin — Accounting

General ledger configuration and posting rules

Admin The Accounting module manages General Ledger (GL) account configurations and posting rules for financial transactions across the platform.

Entity-Scoped GL Configuration

GL account configurations are scoped per entity. Each entity type (Admin, Corporate, Merchant) has its own set of GL accounts and posting rules, ensuring accurate financial segregation:

  • Admin: Platform-level GL accounts for overall revenue recognition, fees, and settlements
  • Corporate: Corporate-specific GL accounts for benefit expenses, payables, and accruals
  • Merchant: Merchant-specific GL accounts for receivables, revenue, and SST

GL Posting Source Types

All 8 GL posting source types are configured:

Source TypeDescriptionTriggered By
bill_approvedWhen a bill is approved, debit benefit expense, credit payableBill status change to Approved
invoice_finalizedWhen an invoice is finalised, create accounts receivable entryInvoice status change to Finalised
ar_receiptReceipt of payment against an accounts receivablePayment recorded
ap_paymentPayment made to a merchant against accounts payablePayment disbursement
payrollPayroll-related GL entriesPayroll processing
depreciationAsset depreciation entriesPeriod-end processing
bank_transferInter-account bank transfersManual bank transfer entry
opening_balance_adjOpening balance adjustments for new periodsPeriod start / manual adjustment

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 provides comprehensive configuration for your organisation. The following tabs are available:

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
UsersManage all users in the tenant. Add new users, edit roles, activate/deactivate accounts. The table shows 5 columns: Name/Email (stacked), Role, Status, Created, Actions (edit/deactivate icons).
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 dependant type entries (Spouse, Child, Parent, Sibling, etc.) used in benefit plan eligibility configuration. Add, edit label/relationship/sort order, activate/deactivate.
Clinical LookupsMaster lists for clinical items used in bill submission typeaheads. Has 5 sub-tabs: Diagnoses, Medications, Treatments, Imaging, Investigations. See details below.
Pending ItemsReview and approve/reject clinical items submitted by merchants. Shows a unified table of pending diagnoses and products/services. Approve to make items available system-wide; reject with confirmation.
Merchant ServicesConfigure which services are available to merchants within the platform.
NP ApproversSelect a corporate, configure auto-approve, Tier 1, and Tier 2 thresholds, and assign named approvers per corporate.
ProfilePersonal profile settings: name, phone, language preference, password change

Clinical Lookups Sub-tabs

The Clinical Lookups tab has 5 sub-tabs:

Sub-tabContent
DiagnosesICD-10 diagnosis codes. Also supplemented by live NIH ICD-10-CM API search (74,719 codes).
MedicationsDrugs, supplements, and other dispensed items
TreatmentsProcedures, minor surgeries, therapies
ImagingX-ray, MRI, ultrasound, CT scans
InvestigationsBlood tests, urine tests, lab investigations

Each sub-tab shows items with Code, Name, Description/Unit, Categories (which merchant types can use it), and Status. Add/edit items via the modal — at least one category must be selected. Items can be filtered by search, category, and status.

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.

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, full name, 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. You can also edit existing users' details and activate/deactivate accounts from the Users tab.

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.