Discover powerful Dolibarr extensions designed to automate your business processes

Ophthalmology Clinic Management turns Dolibarr into a complete ERP solution dedicated to running an ophthalmology clinic or eye-care centre. It covers the entire administrative, medical, surgical, technical, financial and logistics activity of the organisation, from the moment a patient books an appointment to the moment the last procedure is paid for.
The module is a management tool. Medical and diagnostic decisions remain the sole responsibility of qualified healthcare professionals. All demonstration data shipped with the module is entirely fictitious.
· Patients and front office — patient records, appointments, emergencies, insurance schemes.
· Clinical staff — ophthalmologists, orthoptists, optometrists, anaesthetists, nurses, medical secretaries, biomedical technicians, and external referring doctors.
· Clinical activity — consultations, eye examinations, ocular imaging, diagnoses.
· Documents — medication prescriptions, optical prescriptions, medical certificates, reports.
· Surgery — procedures, operating theatres, safety checklist, post-operative follow-up.
· Inpatient care — admissions, rooms and beds, nursing care.
· Devices and pharmacy — intraocular implants, contact lenses, medications, consumables, lots and expiry dates.
· Technical assets — medical equipment, maintenance and calibration.
· Finance — procedure billing, insurers and complementary schemes, payments.
· Quality — audits, incidents and nonconformities, patient satisfaction.
· Portals — patient portal and referring-doctor portal.
· Steering — dashboard, reporting, Business Intelligence, alert centre and REST API.
|
Characteristic |
Value |
|
Module technical name |
ophthalmologyclinic |
|
Module number |
549300 |
|
Database tables |
34 (prefix llx_oph_) |
|
Managed objects |
34 |
|
Permission groups |
9 (patient, medical, surgery, hospital, stock, equipment, billing, quality, reporting) |
|
Permission entries |
26 |
|
Menu entries |
53 (1 top menu, 11 sections, 41 items) |
|
Translation keys |
900 per language, 5 languages |
|
Dependencies |
Third parties (modSociete), Products (modProduct) |
|
Minimum PHP version |
7.1 |
|
Minimum Dolibarr version |
16.0 |
|
Licence |
GPL v3 or later |
Every object is gated by one of nine permission groups, each offering read, create/modify and delete rights. Read and write are granted by default on activation so the module is immediately usable; delete and administration rights are not. Reporting and Business Intelligence are behind a dedicated read permission, which lets a clinic grant management reporting without exposing clinical records.
The dashboard is the module home page. It groups twenty-four indicators into six zones and eight analytical charts, and is designed to be read in a single glance at the start of a clinical day.
|
Zone |
Indicators |
|
Today's activity |
Consultations today, patients on site, patients waiting, emergencies today, scheduled surgeries, patients under follow-up |
|
Medical activity |
OCT scans, fundus examinations, angiographies, visual fields, laser sessions and surgeries performed this month |
|
Theatre and surgery |
Available theatres, theatre occupancy rate, current inpatients, planned maintenance interventions |
|
Finance |
Revenue this month, amount collected, outstanding amounts |
|
Stock and quality |
Items at critical stock, lots nearing expiry, patient satisfaction, audit quality score, open incidents |
· Activity over the last 14 days — consultations, examinations and surgeries per day.
· Monthly activity over 12 months — consultations and surgeries per month.
· Examinations by family — distribution across the seven examination families.
· Surgeries by specialty — distribution across the eight surgical families.
· Activity by practitioner — consultation volume per clinician.
· Main pathologies followed — the eight most frequent diagnoses.
· Revenue evolution — billed amount per month over 12 months.
· Satisfaction evolution — average patient score per month.
The patient record centralises identity, contact details, insurance coverage, medical background and care history.
· Identity — last name, first name, date of birth, gender, national identifier, photo.
· Contact — phone, email, address, city, postcode, emergency contact and phone.
· Coverage — insurance body, insured number, complementary scheme.
· Medical background — blood group, allergies, medical history, ocular history, current treatments.
· History — number of consultations, number of surgeries and last visit date, all recalculated automatically from the linked records.
· Status — new patient, active follow-up, under monitoring, archived record.
· A patient record can be linked to a native Dolibarr third party for invoicing and accounting.
· Six appointment types: consultation, examination, surgery, check-up, emergency, teleconsultation.
· Seven statuses: scheduled, confirmed, patient arrived, in progress, completed, cancelled, no-show.
· SMS and email reminders can be enabled per appointment.
· A waiting-list flag identifies patients to be rescheduled first.
· Arrival time is recorded, which feeds the patients-on-site and patients-waiting indicators.
· Six emergency types: ocular trauma, foreign body, painful red eye, sudden vision loss, chemical burn, suspected retinal detachment.
· Four triage levels, from level 1 (critical) to level 4 (non urgent).
· Symptoms, affected eye, care provided and waiting time are recorded.
· Five outcomes: discharged home, admitted, emergency surgery, transferred, scheduled review.
· Five organisation types: statutory scheme, complementary scheme, private insurance, corporate contract, self-paying patient.
· Coverage rate and payment delay drive the split between insurer share and patient share on every billed procedure.
· Direct-billing flag and agreement number are recorded per organisation.
· Patient count and pending amount are recalculated from the linked records.
· Seven roles: ophthalmologist, orthoptist, optometrist, anaesthetist, nurse, medical secretary, biomedical technician.
· Specialty, registration number, consulting room, weekly hours and consultation fee per practitioner.
· A practitioner can be linked to a Dolibarr user for rights and calendar integration.
· Consultation and surgery counters feed the per-practitioner report.
· Referring doctors are typed as general practitioner, specialist, optician or hospital, with an individual portal-access flag and a referral counter.
The consultation is the heart of the medical record: it links the patient, the practitioner, the optional referring doctor, the examinations, the diagnosis and the billing.
· Seven consultation types: general, specialised, follow-up, pre-operative, post-operative, emergency, teleconsultation.
· Clinical narrative: reason for consultation, symptoms, anamnesis, clinical examination.
· Ophthalmic measurements per eye: visual acuity, refraction, intraocular pressure.
· Diagnosis, prescribed treatment, requested examinations and conclusion.
· Duration and fee, the latter feeding procedure billing automatically.
The module covers the whole technical platform, organised into seven examination families.
|
Family |
Examinations |
|
Vision and refraction |
Distance visual acuity, near visual acuity, automated refraction, subjective refraction |
|
Intraocular pressure |
Tonometry |
|
Anterior segment |
Slit-lamp examination |
|
Posterior segment |
Fundus examination |
|
Imaging |
Macular OCT, optic disc OCT, anterior segment OCT, angiography, retinography, ocular ultrasound |
|
Biometry and cornea |
Corneal topography, pachymetry, ocular biometry, specular microscopy |
|
Functional testing |
Visual field, aberrometry |
· Each examination records a value per eye, a unit, an interpretation and an abnormal-result flag.
· The equipment used is linked, which feeds the per-device examination counter.
· Examination status follows requested → scheduled → performed → validated, with a cancelled branch; examinations left at *performed* appear in the alert centre as awaiting validation.
· Each examination carries a fee that feeds procedure billing.
· Seven modalities: OCT, OCT angiography, fluorescein angiography, colour retinography, topography, B-scan ultrasound, anterior segment photography.
· Acquisition protocol, image count and stored file path are traced.
· Report status follows awaiting reading → draft → validated → sent.
· The reading clinician is identified on each acquisition.
Sixteen pathologies are referenced with their ICD-10 code: cataract, glaucoma, age-related macular degeneration, diabetic retinopathy, keratoconus, uveitis, conjunctivitis, dry eye disease, retinal detachment, myopia, hyperopia, astigmatism, presbyopia, strabismus, amblyopia, and a free slot for any other diagnosis.
· Affected eye, severity (mild, moderate, severe) and progression (stable, improving, worsening).
· Care plan and diagnosis status (suspected, confirmed, treated, resolved) support longitudinal follow-up.
· Prescriptions — five types: medication, spectacles, contact lenses, examination request, orthoptic rehabilitation. Medication list, posology, duration, renewable flag and validity date.
· Optical prescriptions — sphere, cylinder, axis and addition per eye, pupillary distance, lens type and validity date.
· Medical certificates — five types: fitness, driving fitness, sports, sick leave, visual impairment, with purpose, content, validity and handed-to-patient flag.
· Medical reports — consultation report, examination report, operative report and discharge summary, with a draft → validated → sent circuit and a sent-to-referrer flag.
|
Surgical family |
Referenced procedures |
|
Cataract surgery |
Phacoemulsification with intraocular lens |
|
Glaucoma surgery |
Trabeculectomy |
|
Retinal surgery |
Vitrectomy, intravitreal injection |
|
Corneal surgery |
Keratoplasty, corneal cross-linking |
|
Eyelid surgery |
Blepharoplasty |
|
Lacrimal surgery |
Dacryocystorhinostomy |
|
Laser treatment |
YAG capsulotomy, selective laser trabeculoplasty, panretinal photocoagulation |
|
Refractive surgery |
LASIK, surface PRK |
· Scheduled date and actual date, operated eye, operating theatre, surgeon, anaesthetist and anaesthesia type (topical, peribulbar, general, conscious sedation).
· Surgical team, implant fitted with its power and serial number — full device traceability.
· Procedure duration, complications and the operative report written directly on the record.
· Status follows scheduled → pre-op work-up → in progress → performed → follow-up, with a cancelled branch.
· The procedure fee feeds billing automatically.
· Before induction — patient identity and operated eye confirmed with the patient, signed consent on file, known allergies verified and shared with the team.
· Before incision — surgical site marked, implant and power read aloud and double-checked, sterile equipment integrity confirmed.
· Before leaving theatre — swab and instrument count reconciled, implant traceability label attached to the record, post-operative instructions handed over.
· Each checkpoint records who verified it and when.
· Four theatre types: main theatre, day-surgery theatre, laser room, injection room.
· Air class, building, floor, daily capacity, occupancy rate and last deep cleaning.
· Status (available, occupied, cleaning in progress, under maintenance) drives the available-theatres indicator.
· Post-operative follow-up is scheduled at day 1, day 7 and day 30, recording resulting visual acuity, measured intraocular pressure, healing state and any complication.
· Three stay types: day case, overnight stay, full admission.
· Admission records room, bed, date and stay type; discharge records date and mode (home, transfer, against medical advice).
· Number of days, daily rate and total amount feed billing.
· Rooms and beds — single, double and recovery rooms with bed count, occupied beds and daily rate; occupancy is recalculated from the stays that are genuinely open.
· Nursing care — eye-drop instillation, eye dressing, injection, monitoring and patient education, with product used, dose, affected eye, pain score and observations.
· Five implant types: monofocal, toric, multifocal, extended depth of focus (EDOF), phakic.
· Manufacturer, model, material, power range, optic diameter and CE marking.
· Unit price, available stock and alert threshold.
· An implant can be linked to a native Dolibarr product for purchasing and native stock management.
· Contact lenses — daily disposable, monthly, rigid gas permeable, scleral and therapeutic, with base curve, diameter, power and replacement schedule.
· Medications — eye drops, ophthalmic gel, eye ointment, injectable solution and oral forms, classified as antibiotic, anti-inflammatory, ocular hypotensive, anti-VEGF, tear substitute, mydriatic or local anaesthetic, with a cold-chain flag.
· Consumables — viscoelastic devices, surgical kits, sutures, blades, drapes and sterile gloves, with sterile and single-use flags.
· Traceability spans all four stocked families: implants, lenses, medications, consumables.
· Lot number, serial number, supplier, warehouse, quantity received and quantity remaining.
· Receipt and expiry dates drive the status: available, reserved, near expiry, expired, consumed.
· The expiry alert window is configurable (90 days by default) and feeds the alert centre.
· Twelve equipment types: OCT scanner, biometer, slit lamp, tonometer, ophthalmic laser, operating microscope, phacoemulsifier, retinograph, automated perimeter, ocular ultrasound scanner, autorefractor, corneal topographer.
· Manufacturer, model, serial number, location, purchase date and price, warranty end and maintenance contract.
· Last and next calibration dates drive the maintenance alert (30 days by default).
· Status: operational, under maintenance, out of order, decommissioned.
· Maintenance — preventive, corrective, calibration and qualification interventions, with provider, technician, operations performed, parts replaced, downtime in hours, cost and result (conform, conform with reservation, nonconform).
· Six service types: consultation, additional examination, surgical procedure, inpatient stay, product sale, contact lens sale.
· Amount excluding tax, VAT rate and amount including tax.
· The insurer share is derived from the coverage rate of the scheme attached to the patient, and the patient share is the remainder — the two always total the invoiced amount.
· Status follows to be billed → invoiced → partially paid → paid, with an overdue branch.
· A billed procedure can be linked to a native Dolibarr invoice for accounting.
· Payments — card, cash, cheque, bank transfer and online payment, recording the payer (patient, insurance body, complementary scheme, employer), transaction reference and bank account.
· Audits — internal, external, hygiene, patient record and traceability audits, with scope, auditor, standard, conform and nonconform item counts, conformity score and conclusion.
· Incidents and nonconformities — care-related events, device vigilance, medication errors, identification errors, infection risks and organisational issues, graded minor to critical, with immediate action, root cause, corrective action, owner and due date.
· Patient satisfaction — questionnaires collected on paper, by email, by SMS or on an on-site kiosk, scoring reception, waiting time, care and information, with an overall score and a Net Promoter Score.
· Portal messaging — secure messages exchanged with patients and referring doctors, with attachments, read and answered flags.
Ten reports are available, each exportable to CSV, Excel and PDF, and printable directly: activity, activity by practitioner, examinations, surgeries, patients and pathologies, finance, insurers and schemes, stock, maintenance, and quality. Exports decode labels and accented characters, so no technical code and no HTML entity ever reaches the produced file.
· Forecast activity — appointments and surgeries booked over the next eight weeks.
· Room occupancy — capacity, procedures performed this month and occupancy rate per theatre.
· Profitability by activity — volume, revenue, average value and collection rate per service type.
· Stock consumption — quantities received and consumed per item family.
· Surgery and consultation tracking — volumes, average durations and fees by status and type.
· Decision indicators — no-show rate, complication rate, abnormal examination rate, average length of stay and collection rate. Both sides of every ratio are drawn from the same population, so a rate can never be diluted by records the numerator could not match.
· Missed appointments awaiting rescheduling.
· Surgeries scheduled within seven days.
· Stock below the alert threshold across all four stocked families.
· Expired or soon-to-expire lots.
· Calibrations and maintenance interventions coming due.
· Unclosed incidents, ordered by severity.
· Unpaid procedures with the outstanding balance.
· Examinations awaiting validation.
· A checkpoint with nothing to report states so explicitly, so an empty panel can never be mistaken for a failing query.
· Patient portal — appointments, downloadable medical reports, prescriptions and optical prescriptions, payment history with outstanding balance and online payment, and secure messaging.
· Referring doctor portal — referred patients and the consultations that followed with the resulting diagnosis, access to validated reports with their transmission status, and professional messaging. Portal access is enabled per referring doctor.
|
Native module |
Integration |
|
Third parties |
Patients, insurers and suppliers link to native third-party records |
|
Contacts |
Emergency contacts and organisation contacts |
|
Products |
Implants, lenses, medications and consumables link to native products |
|
Stock and warehouses |
Lots reference a native warehouse |
|
Quotations and orders |
Procedure estimates and supply orders through native third parties |
|
Invoices |
Billed procedures link to a native invoice |
|
Payments and banks |
Payment records carry mode, transaction reference and bank account |
|
Accounting |
Native invoices carry the activity into the accounting ledgers |
|
Calendar |
Practitioners link to Dolibarr users and their calendars |
|
ECM (document management) |
Imaging files, reports and attachments referenced by path |
|
Projects |
Clinical programmes and quality projects |
|
Users and groups |
Nine permission groups mapped to Dolibarr users and groups |
|
REST API |
Twenty-five resources plus KPI and stock-alert endpoints |
The module exposes a documented REST API under /api/index.php/ophthalmologyclinic/. It requires the native Api module to be enabled and an API key on the calling user. Every route is gated by the same permission groups as the user interface, and the authenticated caller is resolved from the API session rather than the web session.
|
Method and route |
Purpose |
|
GET endpoints |
List the exposed resources and their permission group |
|
GET {resource} |
Paginated list (sortfield, sortorder, limit, page) |
|
GET {resource}/{id} |
Retrieve one record |
|
POST {resource} |
Create a record |
|
PUT {resource}/{id} |
Update a record |
|
DELETE {resource}/{id} |
Delete a record |
|
GET reporting/kpis |
Aggregated clinic indicators matching the dashboard |
|
GET stock/alerts |
Items currently at or below their alert threshold |
Exposed resources: patients, appointments, emergencies, practitioners, referrers, consultations, exams, imaging, diagnoses, prescriptions, surgeries, followups, hospitalizations, implants, lenses, medications, consumables, lots, equipments, maintenances, billings, payments, audits, incidents, satisfactions.
· Patient file
· Prescription
· Optical prescription
· Medical report
· Medical certificate
· Operative report
· Procedure invoice
· Quotation
· Quality report
The configuration page carries a dedicated demonstration-data section with two actions.
· Populate demonstration data — regenerates a complete, realistic dataset: practitioners, patients, consultations, examinations, imaging studies, diagnoses, prescriptions, surgeries with their safety checklists, post-operative follow-up, admissions, nursing care, implants, lenses, medications, consumables, lots, equipment, maintenance, billing, payments, audits, incidents, satisfaction surveys and portal messages.
· Clear demonstration data — removes only the rows the generator created (tagged import_key = OPHDEMO), including the native Dolibarr third parties and products it created, and cascades to any child records added under a demonstration parent.
· The dataset spans twelve full months so every monthly chart is populated, and deliberately places records in the current day and month so the day-level indicators are meaningful immediately.
· All clinical content is fictitious and exists solely to demonstrate the module.
The module ships 900 translation keys in five languages: French (fr_FR), English (en_US), Spanish (es_ES), Italian (it_IT) and German (de_DE). Every key is namespaced to the module, so on a Dolibarr instance running many modules the wording shown on the module's own pages is always the module's own.
Ophthalmology Clinic Management is published by DoliResources (www.doliresources.com) and licensed under the GNU General Public License version 3 or later. Copyright © 2026 DoliResources.
This module is a management tool. Medical and diagnostic decisions remain the sole responsibility of qualified healthcare professionals. The clinic remains responsible for complying with the medical record-keeping, data protection and patient consent obligations applicable in its jurisdiction.