Founder & Lead Engineer, RAITHub
Medical practice management software runs a clinic's scheduling, billing and claims, patient records, reporting and staff roles in one system. For most practices, buying is right: Cliniko starts at US$45 a month for one practitioner. A custom build pays off only when your workflow, your integrations or your business model is the product, and no subscription tool can be bent to fit it.
If you would rather have it built for you, see how RAITHub would build this below.
What does medical practice management software actually cover?
Five modules, whatever the vendor calls them: scheduling, billing and claims, patient records, reporting, and roles and permissions. The table shows what each one involves in practice.
| Module | What it does | Where the hard engineering is |
|---|---|---|
| Scheduling | Practitioner calendars, rooms and equipment, online booking, reminders, waitlists | Preventing double-booking under concurrent requests; recurring appointments; time zones and daylight saving |
| Billing and claims | Invoices, card payments, insurer or government claims, remittances | Claims are an integration with an outside system, not a screen. Each payer has its own format, approval process and error codes |
| Patient records | Demographics, intake forms, clinical notes, documents, consent | Access control by role and relationship; logging who viewed a record, not only who changed it |
| Reporting | Utilisation, revenue, no-shows, outstanding claims | Reports that never leak data across locations or roles; reconciling payments with claims |
| Roles and permissions | Practitioner, reception, practice manager, billing, owner | Least-privilege defaults, and clean behaviour when someone changes role or leaves |
The most underestimated line is billing and claims. In the US, for example, CMS describes electronic data interchange as "the automated transfer of data in a specific format following specific data content rules between a health care provider and Medicare", and notes that the transfer may go through "a clearinghouse or billing service that represents a provider" (CMS electronic billing). A custom system almost never talks to every payer directly; it talks to a clearinghouse or a claiming gateway, and that integration is its own project.
What do off-the-shelf practice management tools cost?
Published prices for small practices sit in the tens of dollars per practitioner per month. Several vendors quote only after a demo.
| Product | Main markets | Published price | Notes |
|---|---|---|---|
| Cliniko | Australia origin, used internationally | US$45/month for 1 practitioner, up to US$395/month for 26–200 (Cliniko pricing) | Every feature on every plan; unlimited admin users; SMS at 10 cents a message |
| Jane | Canada origin, used in several countries | CAD $59, $79 or $99/month base, plus per-practitioner fees (Jane pricing) | Insurance billing is an add-on from CAD $20/month |
| Pabau | UK, US, Canada, Australia, EU | Varies by country and team size; larger tiers by quote (Pabau pricing) | Includes forms, payments, inventory, marketing automation and team roles |
| Semble | UK private healthcare | Not published; demo required (Semble) | EHR, telehealth, billing and NHS GP record access through a partner |
Prices were checked on 2 October 2026 and change often, so confirm on each vendor's page. A 10-practitioner clinic on Cliniko's 9–12 tier pays US$195 a month, about US$2,340 a year. That number is the bar a custom build has to beat on value, not on cost: a custom system will not be cheaper to own than that for a single clinic.
Buy, build or hire?
| Option | Examples | Choose this when | Watch out for |
|---|---|---|---|
| Off-the-shelf practice management | Cliniko, Jane, Pabau, Semble | You run one or more clinics with a standard workflow, and the tool supports claiming in your country | Your data model and integrations are the vendor's; exports and API limits decide how easily you can leave |
| No-code or template, around a tool | The vendor's API plus an automation or internal-tool builder | The core tool fits, but you need a custom report, a referral workflow or a sync with another system | Health data flowing through extra vendors, each of which needs a data agreement your adviser approves |
| Custom build | Your own web app, integrating payments, claims and messaging providers | You are building a product for many clinics, a specialty workflow no tool models, or a multi-site group whose operations are the differentiator | You own claims integrations, security, uptime and support for as long as the system runs |
When does a custom practice management system pay off?
In four situations, and rarely outside them.
- You are the software company. You are selling practice management to a specialty (physiotherapy chains, fertility, dental groups, allied health networks) and the workflow is your product. This is a SaaS build, and the multi-tenant design in our multi-tenant SaaS guide applies.
- A specialty workflow no tool models. Multi-stage treatment plans, packages tied to outcomes, or care pathways that cross several practitioners and sites, where staff now work around the tool with spreadsheets.
- A group whose operations are the edge. A 20-site group with central scheduling, its own referral network and custom reporting may outgrow per-site tools, and the subscription line becomes material.
- A product around the practice, not instead of it. Often the right answer is to keep the bought tool as the system of record and build a patient portal, a booking front end or an analytics layer on its API.
Signs you do not need custom yet: you have fewer than five practitioners, you have not run the bought tool for a year, or the gap is one report. Configure first; build when the gap is costing you staff time every week.
How do the requirements differ in Australia, the UK, New Zealand and South Africa?
The modules are the same; the payers, claiming channels and privacy laws are not. The notes below are general orientation, not a checklist.
General information; confirm with your adviser. Health privacy, claiming and records rules vary by country, state and profession, and change. Confirm what applies to your practice with a qualified local adviser before you specify a system.
| Country | Tools buyers often compare | What to check before building |
|---|---|---|
| Australia | Cliniko (pricing), Pabau (pricing) | Medicare and private health fund claiming generally run through government and industry channels with their own developer onboarding and testing; confirm the current requirements with Services Australia and your claiming provider. State and federal privacy law also applies |
| United Kingdom | Semble (site), Pabau, Cliniko | Private practices bill patients and private insurers; NHS-facing integrations have their own onboarding. UK GDPR treats data concerning health as special category data (ICO guidance) |
| New Zealand | Cliniko, Jane (pricing) | ACC-funded treatment has its own invoicing and provider rules, and the Health Information Privacy Code 2020 covers health information held by health agencies, including providers and ACC (Privacy Commissioner); confirm both with an NZ adviser |
| South Africa | International tools, and local billing systems | Medical scheme (medical aid) claiming usually runs through switching houses, and POPIA, in force since 1 July 2020, restricts processing of special personal information including health (POPIA text); local billing integration is often the deciding factor |
For the general HIPAA and GDPR picture, read our guide to building health software. If you sell into the EU from outside it, our note on outsourcing under GDPR covers the contract side.
Working hours matter for a build partner too. From Dhaka (UTC+6), RAITHub's overlap with a 9:00–18:00 day is 5 hours with Sydney and Melbourne on AEST (4 on AEDT), 3 hours with the UK in winter (4 in summer), 3 hours with Auckland on NZST (2 on NZDT) and 5 hours with Johannesburg. The rest runs async with written daily handoffs.
How should the claims integration be designed?
Behind one internal interface, with every payer or gateway as a separate adapter, and every submission stored as a state machine you can replay. That keeps a payer's outage or format change from touching scheduling or records.
// One interface for every claiming channel (clearinghouse, government
// gateway, insurer API). Each country or payer gets its own adapter.
type ClaimStatus = 'draft' | 'submitted' | 'accepted' | 'rejected' | 'paid'
interface ClaimLine {
serviceCode: string // the payer's item or procedure code
amountCents: number
serviceDate: string // ISO date
}
interface ClaimSubmission {
claimId: string
patientRef: string // an internal ID, never a name
providerRef: string
lines: ClaimLine[]
}
interface ClaimResult {
status: ClaimStatus
payerReference?: string
errors: { code: string; message: string }[]
}
interface ClaimsAdapter {
readonly channel: string
submit(claim: ClaimSubmission, idempotencyKey: string): Promise<ClaimResult>
fetchStatus(payerReference: string): Promise<ClaimResult>
}
// Retry only when the error is transient, and reuse the same key so a
// network timeout can never create a duplicate claim.
async function submitWithRetry(
adapter: ClaimsAdapter,
claim: ClaimSubmission,
attempts = 3,
): Promise<ClaimResult> {
const key = 'claim-' + claim.claimId
let last: ClaimResult = { status: 'draft', errors: [] }
for (let i = 0; i < attempts; i++) {
try {
last = await adapter.submit(claim, key)
if (last.status !== 'rejected' || !last.errors.some((e) => e.code === 'TRANSIENT')) {
return last
}
} catch {
// network error: fall through and retry with the same key
}
await new Promise((r) => setTimeout(r, 2 ** i * 1000))
}
return last
}
The idempotency key is the part teams skip. Without it, a timeout followed by a retry can submit the same claim twice, which is a reconciliation problem at best. Every state change should also land in an append-only audit log; our audit log design guide shows the table shape.
What does a custom practice management build cost?
Market guides put a basic patient-facing health app (intake forms, scheduling, a simple portal) at $40,000–$80,000 and an EHR-integrated platform at $150,000–$300,000 or more (Knack's HIPAA app cost guide). Those are third-party market figures, not RAITHub prices. The lines that move the number most are each claims channel, each external integration, the number of roles, and how much of the clinical record you hold versus link to. You can rough out scope with the MVP cost estimator.
Why RAITHub for this
- Health scheduling, built for a client. RAITHub's 8 client projects include a healthcare scheduling app. It has not shipped a regulated health product, and says so.
- Multi-role, payment-handling platforms in production. PropDesk runs Stripe rent collection across 4 roles with 1,024 automated tests. Sundor Skin, a B2B wholesale platform, has 146 PostgreSQL tables behind row-level security, 12 staff roles and 88 permission codes, the same shape of problem as clinic staff permissions.
- Multi-tenant from day one. BlockEstate, a multi-tenant listing platform, shipped its MVP in 6 weeks, which is the pattern for selling one system to many clinics.
- Data handling that stays in your controls. We sign NDAs and DPAs and work inside your controls; production and patient data stay in your own covered cloud account, and development uses synthetic data. Read the full picture on the HealthTech page.
When you don't need us
- You run one clinic or a small group with a standard workflow: buy Cliniko, Jane, Pabau, Semble or a local equivalent, and spend the budget on setup and training.
- You need a vendor with shipped, regulated claiming or EHR integrations in your country today. A specialist that has already passed your payer's onboarding will get there faster.
- You need a native iOS or Android app. RAITHub builds web apps and installable PWAs only.
- You want a vendor to own your compliance programme or certify the system. RAITHub does neither; your adviser sets the rules and RAITHub builds to them.
How RAITHub would build this
- Scope: scheduling with a database-level guard against double-booking; patient records with role-based access and read logging; invoicing and card payments; one claims channel behind the adapter interface above; and the five or six reports your practice managers actually use.
- Integrations: the bought tool's API if you are extending rather than replacing it, plus SMS or email reminders through a provider your adviser approves.
- Multi-tenancy, if you are selling it: tenant isolation enforced in PostgreSQL with row-level security, and tests that prove one clinic cannot read another's data.
- Timeline: a fixed-scope MVP in 4–6 weeks; a fuller SaaS or a backend with claims integrations in 6–12 weeks, depending on how many payers and how long their onboarding takes.
- What you receive: automated tests and CI on every change, handover docs and runbooks, and full IP under NDA.
Next step: book the free 15-minute technical audit. You get a written memo and then a fixed written quote, or a plain answer that a bought tool fits better. Please do not send patient data in the first message. Delivery phases are described in how RAITHub delivers software, and the build service on the SaaS development page.
Frequently asked questions
What is medical practice management software?
It is the system a clinic uses to run scheduling, billing and claims, patient records, reporting and staff roles. Some products also include clinical notes and telehealth; others link to a separate EHR.
How much does practice management software cost per month?
Published prices start low: Cliniko is US$45 a month for one practitioner and US$395 for 26–200, and Jane starts at CAD $59 a month. Pabau and Semble quote by region and team size. Check each vendor's pricing page, as prices change.
Should a small clinic build its own practice management system?
Almost never. A small clinic will pay far less for a subscription tool than for building and maintaining its own, and gets claiming integrations it would otherwise have to build. Custom pays off for software companies, specialty workflows and large groups.
Can I build custom features on top of Cliniko or Jane instead?
Often, yes. Where the vendor offers an API, you can keep it as the system of record and build a portal, a report or a sync around it. Check the API's coverage and rate limits, and have your adviser approve every extra vendor that touches patient data.
Is claims integration included in a custom build?
Only if it is scoped. Each claiming channel, such as a clearinghouse, a government gateway or a medical scheme switch, is a separate integration with its own onboarding and testing, and should be a separate line in any estimate.
Does RAITHub build mobile apps for clinics?
No native apps. RAITHub builds web apps and installable PWAs, which work on phones and tablets for booking, intake and staff use.
Is RAITHub HIPAA or GDPR compliant?
RAITHub makes no compliance or certification claims. It signs NDAs and DPAs, works inside your controls, keeps production and patient data in your own cloud account, and uses synthetic data in development. Your compliance adviser decides what the law requires.
Related posts
Ready to discuss your project?
Book a free 15-minute technical audit with our engineering team.