Print Templates
Everything your clinic hands a patient on paper — the invoice, the prescription, the meal plan — is printed from a template you can rewrite. The words, the order, the colours and the paper are yours. Only the parts that come out of the record itself, like the list of drugs or the invoice's figures, stay ours to draw.
You start from a sheet we ship, make a copy, and edit the copy. Your own sheets and ours never mix, and the shipped ones can always be copied again.
Where to Find It
Click an address to open that screen on your own clinic. The first click asks which clinic you are, then remembers it. Addresses holding a {id} need a specific record, so they are shown but not linked.
| Screen | Address |
|---|---|
| Print Templates | /print-templates |
| Only the invoice sheets | /print-templates?type=invoice |
| Editing one of your sheets | /print-templates/{id}/edit |
| Printing a sheet with sample data | /print-templates/{id}/print |
Managing templates needs the Settings permission. Everyone who can print keeps printing without it.
The Screen
Templates are grouped by what they print, and then by who wrote them:
- Your templates — the sheets your clinic made. Edit, rename, set as default, archive or delete.
- System templates — the sheets we ship. They cannot be edited, only duplicated. That is what keeps a clinic that has broken its own sheet one click away from a working one. A system template is always the latest version: when we improve one, every clinic prints the improved sheet at once. Your copies are yours and do not change with it — Restore original brings a copy up to date.
Every card shows a picture of the sheet itself, drawn from sample data. Five sheets with the same name are told apart by looking at them.
TIP
The picture updates by itself the first time anyone opens the screen after an edit. If a sheet you just changed still looks old, reload the page once.
What you can design a sheet for
Each of these is a document type, and every one has at least one sheet we ship that you can duplicate and make your own:
| Document type | What it prints |
|---|---|
| Invoice | A visit's bill |
| Prescription | The drugs written for a patient |
| Meal plan | A nutrition plan and its days |
| Newborn summary | The birth record sheet |
| Vaccination card | The child's schedule and what has been given |
| Growth report | A child's curves and the visits behind them |
| Progress report | One course of physiotherapy: the charts, the readings, the goals and the attendance |
| Home exercise programme | The exercises a patient takes home, with pictures and space to write in |
| Payer claim | The month's claim to one insurer or company: every covered visit, its approval and the share being asked for |
| Payment receipt | What the patient takes home after paying on the dues page: the amount, the records it covered, and what is still owed after it |
| Statement | A patient's account over a period, with the opening balance, every movement and its running balance, and the closing balance — see Patient Statement |
Templates on the screen are grouped by type, and each type keeps its own default.
Nine prescription designs come ready, and a clinic that has not chosen one prints on the first:
| Design | What sets it apart |
|---|---|
| Classic with contact column | The doctor and clinic at the head, and a column beside the drugs with the next visit and three QR codes |
| Internal medicine | Boxes for blood pressure, pulse, sugar and weight, the drugs as a ruled table, and a circle for the clinic stamp |
| Dental side band | The clinic's details and a WhatsApp code down a band at the side |
| Ophthalmology | A refraction grid for each eye above the drugs, and two codes at the foot |
| Bilingual | Arabic and English facing each other, and every caption in both |
| A5 black and white | Half a page in black only, for a busy clinic |
| Obstetrics and gynaecology | Boxes for the pregnancy week, last period, due date and gravida/para |
| Bands | The doctor in a coloured band at the head, the patient in boxes, a side column with the next visit |
| Physiotherapy | A pain scale from 0 to 10, boxes for the course, and lines for home exercises |
The boxes a specialty measures — vital signs, a refraction, a pregnancy's dates, a pain score — print empty for the doctor's pen; open the sheet to type into them instead. One QR code on every design opens the patient's own page, Your file at the clinic, with nothing to set up. A code can also point at the clinic's online booking page, which prints only while online booking and the public site are on. The other codes come without a link and print nothing, caption included, until you double-click one and give it a link. Headings like Questions print only when the prescription has something under them.
Clinic logo faded behind the page, in the right panel, prints your logo pale behind the body of every page, as a printed pad has it.
Making Your Own Sheet
- Open Print Templates and find the shipped sheet closest to what you want.
- Press Duplicate. The copy opens in the editor immediately.
- Give it a name your staff will recognise — Invoice — Nasr City, not Copy of Invoice.
- Edit, then Save.
A copy is yours from that moment. Editing it never touches the shipped sheet, and never touches anyone else's copy.
The Editor
Three columns: what you can insert, the sheet you are writing, and how it is set.
Writing
The middle column is an ordinary rich-text editor — bold, headings, alignment, colours, tables, images, page breaks. Source shows the underlying HTML if you want to edit it by hand.
Uploading an image stores it on the server and puts a link on the sheet, so a template with a signature or a stamp on it stays small and still prints when the browser is offline.
Fields
The left panel lists everything the document can say: the patient's name, the invoice number, the date, the clinic's phone. Click one — or drag it onto the sheet — and it becomes a chip.
A chip is a placeholder, not text: at print time it is replaced by that record's own value. A field the record does not have prints as a dash, never as an empty space you cannot see and never as {{patient.name}}.
On an invoice, the Payments group prints how the bill was paid: inside a payments table each row gives the method, date, amount and reference of one payment. Payment methods used prints every method the invoice was paid with on a single line (Cash, Card), which suits the 80mm receipt. The ready-made sheets already use them: the classic invoice ends with a payments table, the 80mm receipt with a payment method line, and the elegant invoice — a cream page with the clinic's mark in a brown block — shows the payment details beside the totals. Only completed payments print. For an invoice written from a visit or a session, these are the payments taken on that visit or session.
Captions are the second list. A caption like Total or Patient is translated when the sheet prints, so one template can print in Arabic for one clinic and in English for another without being written twice.
Ready-made pieces
Below the fields are whole pieces of a sheet: the clinic letterhead, the invoice items table, the invoice payments table, the totals block, the drug list, the clinical notes, the meals of a plan.
Two kinds, and the difference matters:
- Pieces you can open up. A letterhead or a totals block becomes ordinary content you can rearrange, restyle or delete. Double-click it on the sheet.
- Pieces we keep drawing. Anything that repeats — the invoice's lines, the drugs, the meals — stays ours. How many rows print is a reading of the record, and a sheet that could get that wrong would be a sheet that prints the wrong bill. You still choose which columns it shows.
Every piece on the sheet shows what it prints, drawn from sample data, so you can see the drug list as a drug list rather than as its name. A piece that opens has a pencil on it: double-click it. On a prescription, the drug list, the clinical notes and the questions and answers open as a table you lay out yourself. One row is marked, and it prints once for each drug, note or answer. Attachments stay drawn by the system, because a picture cannot be written as a field.
Page footer (bottom of every page) is a box that prints at the very bottom of the paper rather than wherever the sheet's content ends — and on every page when a long prescription runs to a second one. Put the clinic's addresses and numbers in it. A long drug list never runs underneath it: each page keeps the footer's height free. In the editor it shows with a dashed edge where you wrote it; the preview shows it at the foot of the page.
QR code is offered on every kind of sheet — prescription, invoice and the rest. Pick it from the ready-made pieces, enter the link a phone should open when it is scanned (an Instagram page, the clinic's map pin, a booking link), then choose the icon in its middle (Instagram, Facebook, WhatsApp, location, the clinic's logo and others), the dot and corner shape, the size, the colour, and a caption to print under it such as Book on WhatsApp. The code is drawn fresh on every print: when the link or the colour changes, double-click the code on the sheet and edit it — no new image to make. Left on Sheet accent, its colour follows the template's. A code with no link prints nothing.
How it is set
The right panel holds the paper, the margins, the accent colour, the size of your logo, and a watermark if you want one.
The margin can go down to 0mm, for a sheet whose footer or coloured band runs to the edge of the paper. The content then needs its own padding — put it in a box with padding. Most office printers cannot print the last 3–4mm of the paper, so a band set edge to edge may come out with a thin white strip on them.
Backgrounds — a coloured footer, a faded logo behind the text — print as designed; nobody has to tick "background graphics" in the print dialog.
Fonts for a selection: Cairo, Tajawal, Amiri, Kufi, Naskh, Noto Sans, Times, and plain serif, sans and mono. Kufi, Naskh and Times are the faces most printed clinic letterheads are set in — a heavy Kufi for the doctor's name, a bold Naskh for the form's labels, Times for the phone numbers. Fonts are fetched from the internet; a computer that prints with no connection sets the sheet in its default face.
Paper includes A4, A5 and the 80mm receipt roll — so a thermal receipt is a template like any other, and you can rewrite what is printed on it.
Preview
The floating preview draws the sheet against sample data as you write, and can be moved out of the way. Print opens the real thing, still with sample data — nobody's record is printed from this screen.
The Default Sheet
One sheet per document type is the default: the one every invoice, prescription or meal plan prints on unless somebody picks another. Set it with the switch in the editor, or from the card's ⋯ menu.
One default, not one per language
A template's language decides what the typed words on it are written in. Which sheet your clinic prints on is a separate choice, and there is only ever one of it — setting an Arabic sheet as the default takes the badge off the English one.
Each ready-made design is written in Arabic and in English, but the list offers it once: in the language set under Print language in the clinic settings. Change that setting and the same designs come back in the other language. A ready-made sheet you made your default stays listed whatever the setting.
Anyone printing can still pick a different sheet for one document: the preview tab on an invoice, a prescription or a meal plan lists every sheet you have.
Turning a Sheet Off
Deactivate takes a sheet out of the print pickers and leaves everything already printed on it alone. It is how you retire a design without anyone wondering what last quarter's invoices were printed on.
It is also how you clear the shipped designs you do not use. We ship five prescription sheets; a clinic that prints on one of them can deactivate the other four and stop looking at them. Nothing is lost — inactive sheets are hidden until you press Show inactive, and Activate brings one back.
The last one stays
A document type always keeps one live sheet. Deactivating the only sheet left is refused, because there would be nothing to print a prescription on.
Delete removes one of your own for good. Shipped sheets are never deleted, only deactivated. Printing survives a delete either way: with no sheet of your own, a document prints on the one we ship.
Reset to original puts a copy back to the shipped design it started from — the way out of an edit that went wrong.
What Cannot Go Wrong
- A template cannot change a figure. Totals, quantities and doses are computed from the record and drawn by us; a sheet can move them and restyle them, and that is all.
- A template cannot run anything. Everything written is cleaned when it is saved and again when it prints, so a pasted script never reaches paper — or a patient's browser.
- A template cannot print another clinic's data, or reach any field the document does not publish.