Modernization Roadmap

From OpenEMR Project Wiki

Objective

The OpenEMR project codebase and user interface can benefit from modern implementation approaches. The project itself is very large and modernizing it will be accomplished in a very fragmentary way that requires a very organized and enthusiastic approach.

Roadmap

(this is intentionally high level)

  • MVC framework with unit tests
  • Manual test cases
  • Normalized directory structure
  • User interface makeover
  • Cloud guide
  • Automated cloud solution
  • Patient context avatar

Manual Test Cases

In order to verify that code changes pass certification tests, contributors must execute the relevant test cases via the test mapping document. This document is currently being built up (Manual Tests) and will live in https://github.com/openemr/openemr/blob/master/tests/certification/tests.md Note that unit tests are being introduced in the code base to cover the more fine-grained functionality.

Codebase Refactor

Refactoring the codebase to leverage the MVC design pattern, unit tests, and a more maintainable design is very important.

All project tracking and information is here: Codebase Refactor (please assign yourself to individual tasks).

Frontend Rework

Simply put, our EMR needs a modern makeover.

All project tracking and information is here: UI Improvement (Robert, please create a project page for this so folks can assign themselves to individual work items).

Cloud Guide

Complete. A beta guide for manually setting up a production OpenEMR system on AWS. This solution is not HIPAA/BAA compliant. https://github.com/GoTeamEpsilon/OpenEMR-Cloud

Automated Cloud Solution

A fully automated solution for deploying OpenEMR to AWS. It contains a similar production architecture as the Beta AWS Guide, but without the manual steps. This solution is HIPAA/BAA compliant. https://github.com/GoTeamEpsilon/OpenEMR-Cloud

Continuous Integration

Enhance https://travis-ci.org/openemr/openemr (currently https://github.com/openemr/openemr/blob/master/ci/lint.sh is our only CI step).