Skip to content
An Open Source electronic patient record system. This is the Gold Master "Community Edition" release. Please note that this could be up to 6 months behind the latest development tip. If you are interested in being involved with latest developments, please speak to the OpenEyes Foundation or the Apperta Foundation.
Branch: master
Clone or download
Latest commit f4aa10e Mar 10, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.eslintignore added eslint ingnore to exclude 3rd party componenets from code style… Aug 3, 2018
.gitattributes updated gitattributes file list Nov 29, 2018
.gitignore try to fix header_logo changes being tracked by git Nov 15, 2017
.jshintrc OE-6208: Adds polyfill for dialog support Sep 23, 2016
LICENSE Update Dec 14, 2017
build.xml Removed debug Sep 23, 2016
composer.lock reduce number of composer dependencies Jan 21, 2019
exclude.txt Exclude file for archive building Mar 12, 2015
favicon.ico updated favicon to nice blue colour version Nov 29, 2011



OpenEyes is a collaborative, open source, project led by the OpenEyes Foundation ( The goal is to produce a framework which will allow the rapid, and continuous development of an electronic patient record (EPR for ophthalmology in particular and eye care in general). Clinical and technical contributions are made by Hospitals, Institutions, Academic departments, Companies, and Individuals.

The initial focus is on Ophthalmology, but the design is sufficiently flexible to be used for any clinical specialty.

Ophthalmic units of any size, from a single practitioner to a large eye hospital, should be able to make use of the structure, design, and code to produce a functional, easy to use EPR at minimal cost. By sharing experience, pooling ideas, and distributing development effort, it is expected that the range and capability of OpenEyes will evolve rapidly. OpenEyes should also be of values for use by non-medical staff such as optometrists in the delivery of share programs of eye care.


OpenEyes is provided under an GNU Affero GPL v3.0 (AGPL v3.0) license and all terms of that license apply ( Use of the OpenEyes software or code is entirely at user risk. The OpenEyes Foundation does not accept any responsibility for loss or damage to any person, property or reputation as a result of using the software or code. No warranty is provided by any party, implied or otherwise. For use of the software or code. This software and code is not guaranteed safe to use in a clinical environment; any user is advised to undertake a safety assessment to confirm that deployment matches local clinical safety requirements.


This is the main repository for development of the core OpenEyes framework. Event type modules are being developed in other repositories both by ourselves and third party developers. The OpenEyes Project Overview provides a list of currently stable modules. You may also be interested in our EyeDraw repository - this code is used by OpenEyes but may also be used independently.

The principal source of information on OpenEyes is the OpenEyes website

If you're interested in the OpenEyes project, or for general enquiries, email:

You can find us on twitter at:

Developers, developers, developers!

If you need to share repositories with members of the core development team, you can find them listed as organizational members at:

OpenEyes follows the gitflow model for git branches. As such, the stable release branch is always on master. For bleeding edge development, use the develop branch.

Setup and installation documentation is available from the README file in the oe_installer repository

We are beginning to evolve some documentation for developers on our github wiki including coding guidelines, working with the core team and our Event type module development guide.

Issues in the core should be logged through the github issues system for the moment. Though please be aware that no service level agreement exists for the open source project and no support can be given via github. The team will do their best to fix any critical issues reported, but no gaurantees are given. For official support with SLAs, please contact our commercial partner, ABEHR Digital

Dev Setup

To make life easier and also help ensure consistency in environments we use Vagrant. Full setup instructions can be found in the oe_installer repository

Once the build has finished you can access OpenEyes using the link:


Note: Google Chrome is the only supported browser for OpenEyes.

Command Line Options

(OPTIONAL) To allow for multiple environments to be built at the same time the hostname and the servername (used in the VM GUI to identify machines) can be changed via the command line as below when building the VM:

--servername="My Open Eyes Dev Server"

Full usage:

$ vagrant --hostname="" --servername="My Open Eyes Dev Server" up

If either are omitted the default vales of "openeyes.vm"" and "OpenEyes Dev Server" are used for the hostname and servername respectively.

Note: if the options are omitted the default values are used, the command line options have to be before the vagrant command for them to work.

Further Note: These options must be used each time the box is brought up; at the moment vagrant does not respect the original values used, and will fall over.

Useful Vagrant Commands

  • vagrant up - Will build the environment if it hasn't already been built
  • vagrant provision - Will update the machine with any Ansible configuration changes
  • vagrant status - Will tell you the status of the box
  • vagrant halt - Halt's the machine (going home for the night)
  • vagrant suspend - Will suspend the machine
  • vagrant destroy - Will remove the machine build

And if that's not enough there is the Vagrant documentation and also vagrant help


OpenEyes now supports full PDF printing using wkhtmltopdf, but it needs to be compiled with a patched QT library in order to work properly. As of version 1.12 a pre-compiled binary is shipped in the oe_installer repository. However, should you need to re-compile it, you can find instructions for doing this here.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.