Open Source7 min read

TPT Healthcare NZ: Open Source Healthcare Management for New Zealand Clinics

TPT Healthcare NZ is a free, open source practice management system for small New Zealand clinics. Built in the open so any provider can self-host, customise, and contribute.

What Is TPT Healthcare NZ?

TPT Healthcare NZ is an open source practice management system designed specifically for small clinics, solo practitioners, and allied health providers in New Zealand. It handles the day-to-day administration of a healthcare practice — appointment scheduling, patient records, billing, and referral tracking — without the cost or complexity of enterprise software.

The project lives on GitHub at github.com/PhillipC05/tpt-healthcare-nz and is freely available under an open source licence. Any clinic can self-host it, any developer can contribute to it, and any provider can customise it for their specific needs.

Why Build Healthcare Software in the Open?

Healthcare software in New Zealand is dominated by a handful of proprietary systems. For large GP practices and DHBs, these systems work well enough — the cost is justified by the volume of patients and the complexity of the clinical workflows involved.

For small providers — a solo physio, a speech language therapist, a community mental health worker — the cost and complexity of enterprise software is disproportionate. Many end up managing their practice with spreadsheets, paper diaries, and generic appointment apps that weren't built for healthcare.

There are three reasons TPT Healthcare NZ was built as open source:

Transparency. Healthcare software handles sensitive patient data. An open codebase means any provider — or any technically capable person they trust — can see exactly how patient data is stored, who can access it, and how it flows through the system. There are no black boxes.

Cost. Small providers shouldn't need to pay thousands of dollars a year for software to manage a dozen appointments a week. The open source model means the software is free to use, with costs limited to hosting (which can be as low as a few dollars a month on a small VPS).

Extensibility. New Zealand's healthcare system has specific requirements — ACC integration, the NHI number system, Te Tiriti obligations in certain contexts — that international software doesn't address well. An open codebase means these can be implemented properly, by people who understand the local context, rather than waiting for an offshore vendor to prioritise an NZ-specific feature request.

What It Does

Appointment Scheduling

The scheduling system is built around the realities of a small practice: single or multiple practitioners, variable appointment durations by type, and a mix of recurring patients and new referrals.

Appointments are managed through a week-view and day-view calendar. Creating a new appointment takes a few seconds — select the patient, appointment type, practitioner, and time. The system handles availability checking and prevents double-booking.

Reminder emails go out automatically before appointments, which reduces no-shows without any manual follow-up.

Patient Records

Each patient has a profile containing their contact details, NHI number, referral source, insurance status (ACC or private), and a chronological record of all appointments and clinical notes.

Notes are stored against individual appointments, giving you a complete clinical history in the order it happened. There's no separate "notes module" to navigate to — the timeline is the record.

Billing and ACC

For ACC-funded appointments, the system generates the correct billing codes and tracks claim status. For private billing, it generates invoices and tracks payment status.

This is the area where NZ-specific context matters most, and it's the reason an offshore system will never do this well out of the box.

Referral Tracking

Track incoming referrals — source, referral date, appointment booked, and outcome. Useful for understanding where patients are coming from and for reporting back to referring GPs.

Getting Started

The project is built with Next.js and Supabase, the same stack as the rest of TPT Solutions. If you can run a Node.js app and have a Supabase account, you can self-host it.

To run it locally:

git clone https://github.com/PhillipC05/tpt-healthcare-nz.git
cd tpt-healthcare-nz
npm install
cp .env.example .env.local
# Add your Supabase credentials to .env.local
npm run dev

Full setup instructions are in the README on GitHub, including how to run the database migrations and configure email reminders.

Contributing

Issues, pull requests, and feature discussions are open on GitHub. If you're a developer working with a healthcare provider, or a healthcare provider with development knowledge, contributions are welcome — particularly around:

  • ACC billing code updates
  • Telehealth appointment handling
  • Te Reo Māori localisation
  • Integration with referral networks

The codebase is TypeScript throughout, with the same patterns used across the rest of the TPT Solutions open source projects.

View the Project

The full source code, README, and issue tracker are at:

github.com/PhillipC05/tpt-healthcare-nz

Or see the project overview on this site: opensource.tptsolutions.co.nz/tpt-healthcare-nz