Skip to main content

What is OpenEyes?

OpenEyes™ is the leading open source Electronic Patient Record (EPR) system for ophthalmology, developed and maintained by the Apperta Foundation. It provides a comprehensive, flexible framework for managing patient records in ophthalmic units of any size—from single practitioners to large eye hospitals.
OpenEyes is designed specifically for ophthalmology but is flexible enough to be adapted for other clinical specialties.

Key Features

OpenEyes offers a robust set of features tailored for eye care:

Comprehensive Examinations

Full examination module with visual acuity, DR grading, phasing, and specialized ophthalmology elements

Event-Based Records

Modular event system supporting consultations, prescriptions, correspondence, procedures, and more

Clinical Workflows

Patient ticketing, worklist management, therapy applications, and case search functionality

Integration Ready

PASAPI support, SAML/OIDC authentication, LDAP integration, and extensive API capabilities

Specialized Modules

OpenEyes includes dedicated modules for various ophthalmology workflows:
  • OphCiExamination - Comprehensive examination elements with visual fields, DR grading, and more
  • OphCoCorrespondence - Clinical correspondence and letter generation
  • OphDrPrescription - Prescription management
  • OphCoTherapyapplication - Therapy application workflows
  • OphCoCvi - Certificate of Visual Impairment management
  • OphInBiometry - Biometry and IOL calculations
  • Genetics - Genetic results and DNA sample tracking
  • PatientTicketing - Patient queue and workflow management

Who Should Use OpenEyes?

OpenEyes is ideal for:
Single or multi-practitioner clinics requiring a complete EPR solution for outpatient eye care services
Large ophthalmology departments and dedicated eye hospitals needing comprehensive patient record management across multiple subspecialties
UK healthcare organizations requiring NHS-compliant patient record systems with proper data governance
Academic departments conducting ophthalmology research and clinical trials (includes OETrial module)
Non-medical staff delivering shared programs of eye care in collaboration with clinical teams

Technology Stack

OpenEyes is built on proven, enterprise-grade technologies:
{
  "name": "openeyes/openeyes",
  "description": "Electronic Patient Record system for use in Ophthalmology clinics",
  "require": {
    "php": "^7.4 || ^8.0 || ^8.1",
    "yiisoft/yii": "1.1.28",
    "ext-json": "*",
    "ext-dom": "*",
    "ext-openssl": "*"
  }
}

Core Technologies

  • PHP - Backend logic (PHP 7.4, 8.0, or 8.1)
  • Yii Framework 1.1 - MVC framework providing structure and components
  • MySQL/MariaDB - Primary database for patient records
  • JavaScript - Interactive UI components and client-side validation
  • EyeDraw - Specialized drawing library for ophthalmic diagrams

Key Dependencies

  • PDF Generation - FPDF, FPDI for reports and correspondence
  • Authentication - SAML (OneLogin), OIDC (OpenID Connect), LDAP support
  • Spreadsheet Export - PhpSpreadsheet for data exports
  • QR Codes - Endroid QR Code generation for patient identification
  • Security - Phpseclib for encryption, Quahog for antivirus scanning

Architecture Overview

OpenEyes follows a modular, event-driven architecture:
OpenEyes/
├── protected/
│   ├── models/          # Patient, Episode, Event, User models
│   ├── controllers/     # Request handling and routing
│   ├── views/           # HTML templates
│   ├── modules/         # Event type modules (Examination, Prescription, etc.)
│   ├── components/      # Reusable business logic components
│   ├── migrations/      # Database schema migrations
│   └── config/          # Application configuration
├── vendor/              # Composer dependencies
└── index.php           # Application entry point

Data Model

The core data structure centers around:
  1. Patient - Demographics, identifiers, contact information
  2. Episode - Care episodes grouped by subspecialty
  3. Event - Clinical events (examinations, procedures, correspondence)
  4. Elements - Structured data within events (findings, diagnoses, treatments)
OpenEyes is provided under AGPL v3.0 license. Any user is advised to undertake a safety assessment to confirm that deployment matches local clinical safety requirements. No warranty is provided for clinical use.

Open Source & Community

OpenEyes is a collaborative, open source project:
  • License: GNU Affero General Public License v3.0 (AGPL v3.0)
  • Copyright: 2019-2024 Apperta Foundation
  • Repository: GitHub
  • Website: openeyes.apperta.org
Clinical and technical contributions are made by hospitals, institutions, academic departments, companies, and individuals worldwide.

Getting Support

Issue Tracking

Report bugs and issues through GitHub

Professional Services

Accredited partner network for implementation and support

Community

Join the OpenEyes community

Twitter

Follow @openeyes_oef for updates
No service level agreement exists for the open source project. Official implementation and support is available from Accredited Professional Services Partners.

Next Steps

Quick Start

Get OpenEyes running quickly with Docker

Installation Guide

Detailed production installation instructions

Build docs developers (and LLMs) love