...
Primary Mentor | |
Backup Mentor | TBD |
Assigned to | TBD |
Background
OpenMRS uses a central concept dictionary to define much of the clinical data that are stored. Instead of having a "pulse" attribute hardcoded into a database table, the idea of "pulse" is entered into the concept dictionary and, when a patient's pulse is recorded, an entry is added to the observation table referencing the "pulse" concept within the dictionary. Concepts in the dictionary are categorized (or classified) using Concept Classes. Some of the pre-defined concepts classes include "Test", "Procedure", "Drug", "Diagnosis", "Question", "Anatomy", etc. This list was a rather arbitrary classification scheme created to place concepts into high level "buckets" based on how there going to be used within the system. We've gotten very far using a relatively small number of concept classes and the constraint of each concept being assigned to a single concept class; however, as the number of implementations & distributions of OpenMRS grows, the constraints of concept classes are beginning to cause problemsWe have a number of implementations who would like using PostgreSQL instead of MySQL. There is also another category who have already invested in PostgreSQL servers, where requiring them to install and learn another type of database server would not only be an un necessary waste of their time, but also a wastage of computer resources.
Purpose
The goal of this project is to add PostgreSQL to the list of databases that OpenMRS supports, out of the box.
...
- OpenMRS Platform successfully runs on PostgreSQL
- Create a CI build which breaks when liquibase changesets fail to run on PostgresqlPostgreSQL
- Make changes as necessary, to the references application modules to ensure that they run on top of PostgreSQL.
...