Patient Referral Program
Reward patients who bring their friends and family. A clinic gives every patient a personal referral code, and when someone they referred is seen, the referrer earns points that pay for part of their own bill. The program is off until the clinic switches it on, so nothing changes for a clinic that does not want it.
How it works
- A code and a link for every patient. Each patient has a short random code (eight characters, for example
ABCD-2345) and a share link (/book?ref=CODE). A new patient types the code on the booking form, or the front desk enters it when registering or booking them. The code cannot be guessed and is created the first time it is needed. - Guards against abuse. A patient cannot refer themselves, a patient who is already in the clinic cannot be referred, and a code that matches nobody is ignored with a notice or blocks the booking, as the clinic chooses. If the new patient shares a phone number or email with the referrer, the referral is held for staff to approve (the clinic can turn that check off).
- One referrer for life. A patient has one referrer. Staff with the right permission can approve a held referral, reject one, or move it to another referrer by typing the new referrer's code.
- Points arrive after the visit. Points are credited when the referred patient's appointment is completed or when they pay for their services, whichever comes first, and only once per visit. The clinic chooses how a visit is counted: add up every service, the highest single service, one flat award per visit, or one flat award for the first visit only. Each service can override its points. Nothing is awarded until the clinic sets the default points above zero.
- Campaigns. A clinic can run a campaign for a date range with its own rule (counting method, default points, a multiplier, points for particular services). A campaign can carry its own public campaign page (below). Campaigns that overlap in time are either refused, resolved in favour of the one that pays most, or combined, as the clinic chooses. The clinic can also choose to award points only to patients who were referred while a campaign was running.
- Points pay for services. At the cashier, staff apply points to an eligible line of the referrer's own bill. The clinic decides which kinds of lines points may pay for (services only by default; a service must also be ticked "Can be paid with referral points"), the highest share of a line points may cover, an optional number of points above which an administrator must approve, and whether points expire. 1 point is worth ₱1 by default and the clinic can change the value; a change affects points spent from then on, never ones already spent.
- Voids and refunds. Voiding a charge, or removing a line, gives the redeemed points back. Refunding a visit's payments in full takes the points that visit earned back; a partial refund, or a visit with money still paid on it, leaves the points alone. Points the referrer has already spent come out of their other unspent points, and the balance never goes negative.
- Manual adjustment. An administrator can add or remove points with a written reason.
- A nightly safety net. A scheduled job re-checks the last 45 days of visits of every referred patient, so a visit whose award failed once is credited later.
- When a patient is deleted. When a patient's records are permanently deleted, their referral code is deleted and any free-text note on a points record about them is erased. The points records keep their amounts and dates, so balances and reports still add up.
Campaign pages
A campaign can have a public page at /campaigns/{address} on the clinic's site, written by staff in a visual editor or in HTML. Visible pages are listed on the clinic's public page and in its sitemap, and a short summary with a link appears beside the referral code on the booking form.
- Safe by construction. What staff type is cleaned when the page is saved and only the cleaned result is kept. Scripts, forms, event handlers, unknown embeds and pasted pictures are removed for good. Video embeds are limited to YouTube and Vimeo.
- Styles stay inside the page. In HTML mode a
<style>block is allowed, but it is confined to the page: anything that fetches a file, positions or floats an element, clips or hides overflow, or reaches the clinic's own menus and header is dropped. A page can look different from what the CSS says on its own; use simple colour, spacing and type rules. - Pictures. Staff upload JPEG, PNG or WebP pictures (up to 5 MB each) to the clinic's own storage, or link a picture by an https address. A linked picture is loaded from the other site, so that site can see the visit; the editor says so. A picture aimed at the clinic's own address is refused.
- Who can see it. Per page: while the campaign is running, or until staff unpublish it. Unpublished or hidden pages show a plain "not found". Staff get a private preview. Per page, search engines may be allowed or not.
What patients see
A referrer sees their code, their link, their points and their history on their patient portal (the full-record link only; a link limited to one result or document never opens it). They also see the people they referred, with names partly hidden: the first two letters of the last name, two asterisks, then the first two letters of the first name and two asterisks (Juan Dela Cruz shows as De Ju), with the date and the points each referral earned and used. Only referrals that are active are listed, never a held or rejected one, and nothing else about the person is shown. A clinic can hide that list. The new patient is told about this on the booking form, next to the code field, whenever the list is switched on.
The code can appear on the email sent when staff confirm a booking (with the share link) and on the cashier receipt (the code only), as the clinic chooses; both are on by default. An email address shared by several patients gets no code block. It never appears on a prescription, certificate or any clinical document.
What staff see
| Where | What |
|---|---|
| Settings › Referral program | Switch the program on, set the point value, counting method, default points, expiry, spending limits and every policy choice |
| Patient page | A Referrals card: code, link, balance, who they referred, the points history and manual adjustment |
| Referrals | Referrals held for a decision, and the latest points activity |
| Referrals › Campaigns | Create, pause, end and delete campaigns, with their public pages and images |
| Referrals › Attribution report | Every referred patient with the points gained and used, filtered by date, referrer, campaign and status |
| Billing | A Pay with points button on each eligible line of the referrer's charge |
| Departments, on a service | Points a visit earns for that service, and whether it can be paid with referral points |
Permissions
| Access | Allows | Default roles |
|---|---|---|
| View referrals | The patient referral card, the referrals page and the attribution report | Admin, Receptionist, Cashier |
| Redeem points | Pay with points | Admin, Receptionist, Cashier |
| Manage referrals | Settings, campaigns and their pages, approve, reject and reassign, and approving a redemption above the clinic's limit | Admin |
| Adjust points | Manual point adjustments | Admin |
| Refund payments | Refunding a payment (a full refund takes the visit's points back) | Admin |
The Platform Admin can also change a clinic's referral settings from the clinic's page; the clinic is told about the change.
What it does not do
It does not pay cash, give points to people who are not patients, move points between patients, or run tiered rewards. There is no export of the attribution report.