Giter Site home page Giter Site logo

madiroglobalhealth / uvl-emr Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 12.0 1.58 MB

OpenMRS 3 repository for Ubuntu Village of Life in Burundi - Madiro's HealthTech Challenge 2024

Home Page: http://uvl.southafricanorth.cloudapp.azure.com/

Shell 43.72% Batchfile 56.28%
digitalhealth digitalpublicgoods healthtech openmrs

uvl-emr's Introduction

Build all configurations and deploy

Screenshot 2024-08-06 at 4 22 22 PM

This project is part of Madiro's HealthTech Challenge 2024 connecting passionated people willing to engage in Global Goods for Digital Health with real-life needs and impactful opportunities.

This repository contains a distribution of OpenMRS 3 that will support UVL in its digitalization of clinical operations (patient registration, consultations, laboratory, pharmacy, reporting, billing, etc.). Implementing a Digital Public Good such as OpenMRS in a rural hospital in Burundi is key for improving patient care through better record-keeping and streamlined medical data management such as laboratory test results or drug prescriptions, ensuring that healthcare providers have accurate and up-to-date information.

Additionally, it facilitates efficient tracking of public health trends and resource allocation, which is essential for addressing the unique healthcare challenges in rural settings. For example, the financial support from the government for child care and maternal care is conditional to digitalization - contributing to the long term viability and independence of the hospital.

Users and teams

Screenshot 2024-08-06 at 4 44 07 PM

Quick Start using GitPod

You can run the project and contribute to it using GitPod in your browser or VSCode. This will allow you to easily run the project without installing dependencies on your local machine like Java SDK, Docker, etc.

Open in Gitpod

Quick Start on localhost

Prerequisites

  1. Install or update Git
  2. Install or update JAVA SDK
  3. Install or update Docker Compose (version ≥ 2.29)

Clone and Install

Clone the repository locally

git clone https://github.com/MadiroGlobalHealth/UVL-EMR.git

Open the cloned folder

cd UVL-EMR

Build UVL distro/version of OpenMRS 3

./scripts/mvnw clean package

Run and Open

Run UVL EMR (Mugamba polyclinic)

cd sites/mugamba/target/ozone-uvl-mugamba-1.0.0-SNAPSHOT/run/docker/scripts
./start-demo.sh

Open UVL EMR for end-users (OpenMRS 3) in your browser (the installation can take a few minutes)

open http://localhost/

Open the administration of UVL EMR in your browser

open http://localhost/openmrs/admin

Note that default admin user is admin and password is Admin123.

Maven configuration

In some cases, you might need to customize your Maven configuration file to build the project.

On Mac, you can edit those settings using: vi ~/.m2/settings.xml

Add the Maven Server config and API key in your Maven settings on your laptop:

  <servers>
    <server>
      <id>madiroglobalhealth-github-uvl-emr</id>
      <username>YOUR_GITHUB_USERNAME</username>
      <password>YOU_GITHUB_PASSWORD</password>
    </server>
  </servers>

Configuration hierarchy and inheritance

Hierarchy overview

── pom.xml - Aggredator / Orchestrator
      └── /distro/pom.xml - UVL-wide Config
      └── /countries - Country-specific Config
            └── /burundi/pom.xl
      └── /sites - Site-specific Config
            └── /mugamba/pom.xl

Contributing

Contributions are welcome! If you have any suggestions, improvements, or bug fixes, please feel free to open an issue or submit a pull request.

Acknowledgments

This project is made possible thanks to OpenMRS, OzoneHIS, and OpenConceptLab communities. Special thanks to the contributors who have contributed to the development of these tools.

                         

Resources

OpenMRS resources

Join the conversation

Slack, Calls, Forum, Conferences, JIRA, Wiki

Learn more

OpenMRS Academy, Youtube channel

Code

Official Github repositories for OpenMRS

Prerequisites

Git, Docker Compose, Maven

Demo to checkout and run locally here

UVL Burundi Challenge resources

Slack Channel for all participants to discuss the project

JIRA project to pick up and accomplish tasks

Contact

For any questions, please contact Michael Bontyes or reach out on the OpenMRS Slack.

Sign-up for the challenge

Enrollment are open until September 1st, 2024:
https://forms.gle/R1gTWSYYw1WWAErm7

License

This project is licensed under the MIT License. See the LICENSE file for more information.

uvl-emr's People

Contributors

dancinoman avatar michaelbontyes avatar

Stargazers

 avatar  avatar

Watchers

 avatar

uvl-emr's Issues

Add missing diagnosis

Compare the list of diagnosis from the UVL requirements:
https://docs.google.com/spreadsheets/d/1ZyqsvdSMR5sJ5JOQN47TLaPucLZOtB5mofWwiooz42E/edit?gid=46706108#gid=46706108

And flag the ones already present in the list of diagnosis in UVL OpenMRS:
http://uvl.southafricanorth.cloudapp.azure.com/openmrs/dictionary/concept.htm?conceptId=1259

Then add the missing tests in OpenMRS using the "concepts" domain from Initializer. For example to create the concepts:
https://github.com/openmrs/openmrs-distro-referenceapplication/blob/main/distro/configuration/concepts/diagnosis_core-demo.csv

All concepts with the data class "Diagnosis" will automatically be visible in the diagnosis dropdown of the UI.

Configure address hierarchy for Burundi

Requirements: https://docs.google.com/spreadsheets/d/1ZyqsvdSMR5sJ5JOQN47TLaPucLZOtB5mofWwiooz42E/edit?gid=478269595#gid=478269595

Structure:

  1. Country (ex. Burundi)
  2. Province (ex. Bururi)
  3. Commune (ex. Mugamba)
  4. Zone (ex. Kibezi)
  5. Colline (ex. Mutobo)

Example of configuration files:
https://github.com/openmrs/openmrs-distro-referenceapplication/tree/main/distro/configuration/addresshierarchy

In UVL EMR, address hierarchy is configured at the country level like here:
https://github.com/MadiroGlobalHealth/UVL-EMR/tree/main/countries/burundi/configs/openmrs/initializer_config/addresshierarchy

Add service types in billing module

Add service types:

  • Visit
  • Procedure
  • Drug
  • Lab test

Image

Services can be listed as answers in a coded concept with the UUID "21b8cf43-9f9f-4d02-9f4a-d710ece54261" using the Initialiser "Concept" domain.

Example (not the right UUID though):

Image

Configure Locations

How to

Acceptance criteria

  • All locations are visible upon login like here:

Image

Cloud Architecture Overview

Assuming:

  • CD-CI coming from Github Actions (configurations, binaries, Ozone execution)
  • Database using MariaDB from Azure OR Docker images depending on costs/added value
  • Using K3s or K8s if avoiding using a full VM is possible
  • Nightly backups of patient data and files
  • Uptime and performance monitoring
  • Enabling HTTPS

UVL-1: Add "UVL" to Docker volumes and Containers

When running UVL-EMR today, it uses the default naming from Ozone for volumes and containers. For examples:

Volumes:
Image
Containers
Image

The objective of this ticket is to modify the Ozone build and Docker Compose files to add "UVL" to volumes and containers to clearly identify them as part of the UVL project.

Add missing Lab Tests

Compare the list of tests from the UVL requirements:
https://docs.google.com/spreadsheets/d/1ZyqsvdSMR5sJ5JOQN47TLaPucLZOtB5mofWwiooz42E/edit?gid=1036769692#gid=1036769692

And flag the ones already present in the list of Tests in UVL OpenMRS:
http://uvl.southafricanorth.cloudapp.azure.com/openmrs/dictionary/concept.htm?conceptId=1259

Then add the missing tests in OpenMRS using the "concepts" domain from Initializer. For example to create the concepts:
https://github.com/openmrs/openmrs-distro-referenceapplication/blob/main/distro/configuration/concepts/tests_core-demo.csv
Then add them as members to the concept "Tests Orderability" for them to be visible in the order test dropdown:
https://github.com/openmrs/openmrs-distro-referenceapplication/blob/main/distro/configuration/concepts/convsets-core_demo.csv

Create testing users by roles

Using a similar method than here with liquibase, create testing users for the different roles:
https://github.com/MSF-OCG/LIME-EMR/blob/main/sites/mosul/configs/openmrs/initializer_config/liquibase/liquibase.xml

Users and roles needed:

Role Privileges Test username Test password Is provider?
Registration Officer Patient registration (NOT patient summary), View patient queues, Manage appointments RegistrationOfficer Admin123 No
Nurse Same as above + patient summary (create/edit/delete) Nurse Admin123 Yes
Doctor Same as above + patient summary (create/edit/delete) Doctor Admin123 Yes
Lab Technician Only access to the Lab feature LabTechnician Admin123 No
Pharmacist Only access to the Pharmacy and dispensing features Pharmacist Admin123 No
Cashier Only access to the Billing feature Cashier Admin123 No

Configure patient registration

Add the Data Visualizer module from UgandaEMR

Using the frontend (and backend if needed) configuration files for modules, add the Data visualizer module: https://github.com/METS-Programme/esm-ugandaemr-data-visualizer/tree/main

Example:
Image

UVL frontend modules config:
https://github.com/MadiroGlobalHealth/UVL-EMR/blob/main/distro/configs/openmrs/frontend_assembly/reference-application-spa-assemble-config.json

UVL backend modules config:

UVL-EMR/distro/pom.xml

Lines 29 to 40 in a8e776d

<dependencies>
<dependency>
<groupId>org.openmrs.module</groupId>
<artifactId>stockmanagement-omod</artifactId>
<version>${stockmanagement.version}</version>
</dependency>
<dependency>
<groupId>org.openmrs.module</groupId>
<artifactId>billing-omod</artifactId>
<version>${billing.version}</version>
</dependency>
</dependencies>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.