Product scope

Ten modules. One deployment. Gates, not editions.

A clinic group activating four modules and a hospital activating ten are running the same deployment with different feature gates. There is no clinic edition, no hospital edition, and no upgrade migration between them โ€” a growing customer flips a gate.

M1DashboardM2Finance & general ledgerM2Payables & procure-to-payM3Revenue cycleM4Supply chainM5InventoryM6HR & payrollM7AssetsM8Reports & analyticsM9AI assistantM10Admin
M1

Dashboard

A role-composed landing: what happened overnight, what is waiting on you, what is due โ€” in that order. A work plan, not a wall of charts.

Tabs in this module
My dayApprovalsExceptionsKPI board

Exceptions across every module, in one aged list

A missing receipt, a clearinghouse reject, an unmatched deposit and a count variance are the same kind of problem to the person who has to clear them โ€” so they live in one queue, aged, assigned, and with the assistant naming the common cause rather than restating the rows.

Every KPI carries its definition

Each tile states how the metric is computed and drills through to the underlying rows. A KPI nobody can trace is a rumour.

M2

Finance & general ledger

Chart of accounts with real dimensions, journals with balance invariants enforced in the database, budgets, and a five-day close.

Tabs in this module
LedgerJournalsBudgetsReceivablesBank recCloseStatementsAP invoicesMatch exceptionsPayment runs

A ledger that cannot be edited

Append-only journal lines with balance invariants enforced in the database; balances are derived and materialised, never updated in place. Any historical position is reconstructable, which is exactly what a point-in-time audit query needs.

Money never touches a float

Integer minor units with explicit currency and scale, end to end. No floating point anywhere in a financial path โ€” because a rounding artifact in a payment run is a customer incident and an audit finding.

The close as an orchestrated process

A checklist with owners, dependencies and a live progress state, not a shared spreadsheet. Accruals post themselves from dock receipts; reconciliations show who owns what and how old it is.

M2

Payables & procure-to-pay

Three-way match with a stated tolerance policy, exception-only queues, deliberate payment runs, and discount capture that actually gets captured.

Tabs in this module
AP invoicesMatch exceptionsPayment runsVendors

Exception-only, by design

A clean three-way match posts without a human. The AP clerk's day is the exceptions list, not a data-entry queue โ€” which is what makes 89% straight-through a realistic target rather than a slide.

No duplicate payment via any path

Duplicate detection runs on the invoice, the payment run and the vendor bank record โ€” not on one of the three. Vendor bank-detail changes are verified out of band before a payment can use them.

M3

Revenue cycle

Eligibility โ†’ coding โ†’ scrub โ†’ claim โ†’ denial โ†’ cash. The spearhead module, and the one that closes the seam.

Tabs in this module
Patient accountsEligibility & authCodingClaimsDenialsPaymentsPayer contractsPatient billing

835 posting into the ledger, in one transaction

Cash, contractual allowance and denial reserve post against patient A/R together with the claim state update โ€” atomically, reconciled to the penny. This is the row no other platform in the category holds natively.

The denial workspace

A queue organised by reason code, with recoverability scoring so a specialist works the claims worth working. Appeal drafting is AI-assisted and always marked as such โ€” a human click is still outstanding on every one.

Underpayment detection against the contract

Payer contracts are modelled, so a payment that is technically 'paid' but below contracted rate surfaces as a variance rather than disappearing into cash.

M4

Supply chain

Requisitions, POs at contract price, dock receiving with accrual, the item master, vendors and contract compliance.

Tabs in this module
RequisitionsPurchase ordersReceivingItem masterVendorsContracts & pricingScorecards

Off-contract spend caught before the money leaves

Contract pricing is checked at requisition time, not discovered in a quarterly spend report. The buyer sees the on-contract alternative in the same screen where the off-contract line was raised.

The item master is treated as the hard part

Enrichment ships in phase one, not later โ€” because an un-enriched item master makes par automation, contract compliance and recall genealogy all degrade quietly.

M5

Inventory

Stock by location, par levels that replenish themselves, transfers, cycle counts, lot and expiry tracking, and recall response.

Tabs in this module
Stock by locationPar boardTransfersCycle countsExpiry & recallsValuation

A recall answered in minutes, not days

Lot genealogy runs from the dock receipt through every transfer to the point of use, so 'which patients received product from this lot' is a query rather than a project. Target: a complete answer inside five minutes.

Inventory ties to the GL continuously

Movements cost and post as they happen. There is no month-end exercise to reconcile the stock ledger to the general ledger, because they were never separate.

M6

HR & payroll

People, credentials with expiry escalation, and a pay rules engine built for 24/7 clinical staffing rather than retrofitted from an office payroll.

Tabs in this module
PeopleCredentialsPayroll runPay rulesLeave & benefitsSelf-service

Credentials as tracked obligations

A licence with an expiry date is a scheduled escalation, not a field on a form. The escalation reaches the manager, then the department head, before the lapse โ€” not after someone noticed on a chart audit.

The pay rules engine is the differentiator

Stacked differentials, on-call with callback minimums, charge and float premiums, union step tables, and a retroactive increase that re-derives all of the above. This is precisely where horizontal ERPs fail in healthcare.

Dual control on finalisation

A payroll run is finalised by HR and Finance together, with a variance diff against the prior cycle shown before either signs. One person cannot release pay alone.

M7

Assets

Biomedical registry, preventive maintenance and calibration schedules, work orders, and depreciation booked straight to the GL.

Tabs in this module
RegistryPM & calibrationWork ordersDepreciationCompliance flags

Calibration state is a compliance flag, not a spreadsheet

An infusion pump out of calibration surfaces in the same exception queue as a missing receipt, because to the person accountable for it, it is the same class of problem.

Depreciation posts to the ledger

No monthly journal keyed from a fixed-asset system that lives somewhere else.

M8

Reports & analytics

Governed metrics defined once, role dashboards, an ad-hoc builder over the semantic layer, and scheduled exports. Included in every tier.

Tabs in this module
LibraryAd-hoc builderKPI boardsCost per encounterScheduled exports

The semantic layer is the point

Every metric is defined once and consumed by the dashboard, the report builder and the assistant alike. The assistant and the dashboard cannot disagree, because they are reading the same definition.

Cost per encounter, supply and labour together

The number that requires both halves of the platform โ€” and the reason it does not exist in a product that owns only one of them.

M9

AI assistant

The whole platform, conversationally โ€” a module and a panel on every other screen. Ask, act, confirm, log.

Tabs in this module
ChatAction logAutomationsSources & permissions

Permission pass-through, not a second door

The assistant's tools are filtered by the caller's role before the model is invoked. It cannot see, say or do anything the signed-in user could not do themselves โ€” and every attempt is in the action log either way.

Figures come from the semantic layer

The model never does arithmetic on retrieved rows. That is the decision that makes an AI answer usable in a board pack.

Purple means a model produced it

Every drafted appeal, proposed code and explained variance carries the purple mark, in every theme. A user must never be unsure whether a human or a model wrote what they are reading.

M10

Admin

Users and roles, org structure, the visual approval canvas, integrations, the audit log and settings.

Tabs in this module
Users & rolesOrg structureApproval canvasIntegrationsAudit logSettings

One approval engine, one canvas

Requisitions, journals, payroll, write-offs and access requests all route through the same engine โ€” which is what makes dual control provable to an auditor in one place instead of six.

An action that cannot be logged does not happen

The audit log is append-only and hash-chained, and it covers the UI, the export, the API and the assistant identically.

Every module, switched on, seeded.

The demo hospital runs all ten with realistic synthetic data, and a role switcher so you can see the same screens as a CFO, then as a storekeeper.

Try the demo hospital