What is the OpenMRS Technical Roadmap?

The Technical OpenMRS Roadmap is a set of milestones for our Platform, Reference Application, community-sponsored modules, and related tasks that help us meet the needs of our implementations.

For information about how the roadmap milestones are chosen and prioritized, see the Technical Roadmap Planning page.


Milestones

Platform 2.4 (Fall 2020)

Release Manager:  TBD

Theme: Upgrading the stack

Feature

Description

Status

Point of Contact

Comments

Upgrade FHIR

Replace original fhir module with fhir2 module with support for FHIR R4

Ian Bacher
Upgrade SpringUpgrade to Spring 5.2.6



Upgrade HibernateUpgrade to Hibernate 5.4



Support Java 8 & 11Add support for Java 11, 13, 14 while not losing support for Java 8



Upgrade LiquibaseUpgrade to Liquibase 3.8.9



Reference Application 2.11 (TBD)

Release Manager: TBD

Theme: TBD

Feature

Description

Status

Point of Contact

Comments






Reference Application Someday

Feature

Description

Status

Point of Contact

Comments

Add Order Entry UI

Add some sort of user interface for doing order entry.


Daniel Kayiwa

We could polish up the orderentryui module, or do an OWA from scratch. Whichever we find easier.

Add Patient Flags Module



Still under development

Responsive ability to the clinician facing dashboard



Core and modules to advertise capabilities that can be configured and manipulated


Not started

MPI enhancements to Registration App and Registration Core

Production quality integration with OpenEMPI using HL7 v3 PIX/PDQ messaging standards

Nathaelf Hyppolite

Discussion on talk.

Pre-built Reporting Tools

This includes the ability to do several things.

  1. Run a report for a patient directly form the patient dashboard.

Mike Seaton

Patient summary module does not provide adequate configuration and doesn't work in Ref App.

27-March: We could include Reporting REST documentation that Darius Jazayeri and the Andela team have done.






OCL subscription module

Using KenyaEMR as a use case, create a tool for subscribing an OpenMRS instance to a dictionary (e.g. the CIEL dictionary)


Nicholas Ingosi and Rafa? Korytkowski


Retrospective data entry

Basic support for retrospective data entry within the Reference Application




Needs a user centric story - add to existing ticket

OpenMRS Web Framework

From discussions in #MOZ15, we would like for the OpenMRS Platform to evolve toward providing a web framework that allows developers to add functionality using standard development tools (e.g., HTML5 + JavaScript against REST services, AngularJS apps, OWA , ...).

Burke Mamlin

Ranking REST tickets on 5 Aug design call.

Burke Mamlin and Darius Jazayeri discussed 24-July-2015 and Darius will make a Talk topic to move this forward.

Bahmni technical deep dive scheduled for 4 June Developers Forum.

17 June design forum will discuss progress (coordinating various efforts). As well as look at how to make REST services more robust. Darius still working w/ Bahmni on fundamental pieces of their web framework to pull into OpenMRS (will talk about this on future call).

25 June dev forum on REST web services: how to substantially improve them W/ Burke Mamlin & Darius Jazayeri

Vertical Packaging

OpenMRS has a lot of flexibility and extensibility with a central concept dictionary, RBAC, forms, reports, modules, and apps; however, it's not always easy to know which metadata goes with which functionality. The goal of vertical packaging is to define best practices for managing and relating all of the components (metadata & behavior) that work together to solve a particular problem within OpenMRS. Eventually, we envision a way that someone could easily add the MDRTB package to their OpenMRS implementation to begin treating MDRTB patients... or upgrade their Oncology package, etc.

Rafal Korytkowski


Need to look at the design we had and see if we can get it in 2.3

Burke Mamlin to share first draft of metadata mapping design on Talk.

First step will be to add ability to map metadata, 22 June design forum

Discussed on 20 May design forum.

Condition List

Manage & view patient problems (e.g., on the patient dashboard and integrated with diagnosis capture)

See also:

Daniel Kayiwa

Ravinder Kumar

Daniel took a look at condition list to see what we need to do to get the API in 2.3 and believes if we do not get volunteers on admin sprint then condition list will not be ready.,

13 April WIP given on design call

1 June design forum to define how encounter diagnoses should work with conditions (and condition list).

Talked w/ Bahmni BA (Saranya) about use cases and requirements on 15 June design forum


Basic Order Entry for meds and tests

Basic ordering of meds and tests "out of the box" in Reference Application.



Ad Hoc Analysis tool (v1)

 Incorporate new cohort definition tool.

 




Concept Management Improvements

Allow for concept merging and easier browsing through concepts and references terms without losing frame of reference.




Improvements to Permissions (technical implementation)

Avoid giving all API privileges to users


Burke Mamlin

Needs discussion and design

Would like input from implementations, PIH (Mark, Mike, David) AMPATH, Kenya EMR, BAMI/JSS

Need to reach out for inputs!

Kiran has started helping with this

Provider Management

Would include provider types and ability to retire the old provider management module. Will remove UI library module once provider management is in the core.



Platform Someday

Feature

Description

Status

Comments

Anonymous Patients

Support for unnamed John Doe patients



Test Patients

Support for tagging & recognizing test/fake patients, so they can be ignored within reports.




Decision Support (v1)

The first trivial example of providing decision-support feedback (includes significant design and back-end discussions)



Clinical Encounter

Record the entire clinical transaction piece-by-piece as part of a Session, as opposed to via a Form.



Patient Lists

e.g. "My Patients", "Inpatients on Service XYZ", etc. (Related to RA-202.)



Program Enrollments

v1: capturing this data; v2: drive available forms/actions based on program state