GithubHelp home page GithubHelp logo

msf-ocg / lime-emr-project-demo Goto Github PK

View Code? Open in Web Editor NEW
3.0 0.0 4.0 8.78 MB

A demo of OpenMRS 3.x EMR using configurations (not a distro)

Home Page: https://msf-ocg.github.io/LIME-EMR-project-demo/

Dockerfile 26.85% Shell 73.15%
digitalhealth docker emr msf openmrs electronic-medical-records sustainable-development-goals fhir interoperability openconceptlab

lime-emr-project-demo's Introduction

OpenMRS backend image build and push to Docker Hub OpenMRS frontend image build and push to Docker Hub

MSF-OCG LIME EMR Project - OpenMRS 3.x demo

A Generic Light Modular EMR using

Integration with

                          

Technical documentation of the project

https://msf-ocg.github.io/LIME-EMR-project-demo

Quick start

Package the distribution and prepare the run

docker compose build

Run the app

docker compose up

Ambitions and success criteria

  • Integrated – with OpenMRS ecosystem and community roadmap
  • Innovative – leveraging modern technology and approaches
  • Sustainable – using well maintained and documented tools and practices
  • Open – using open-source software and licenses allowing for reusability
  • Data driven – quality information will be available to the right people when they need it
  • Quality of care – address tangible needs from health care workers and patients
  • Relevant – content and patient flows representative of use cases defined healthcare workers
  • Harmonized – content is following global standards such as ICD, SNOMED, etc.
  • Portable – agnostic architecture, containerization, and orchestration
  • Adaptable – content and configuration management that can easily be updated
  • Recoverable – recommendations for a solid backup and recovery strategy
  • Testable – automated testing and reporting whenever possible
  • Secure – architecture and practices to meet GDPR and HIPAA regulations
  • Reliable – recommendations to support redundancy, failover, and monitoring by design
  • Interoperable – to support Health Information Exchange (HIE) and standards such as HL7 FHIR
  • Collaborative – share information, insights, strategies and deliverables within the community
  • Achievable – taking in account the overall roadmap and challenges of implementers

lime-emr-project-demo's People

Contributors

jnsereko avatar michaelbontyes avatar sherrif10 avatar yannick-dumas-sword avatar

Stargazers

 avatar  avatar  avatar

lime-emr-project-demo's Issues

Anonymize an OpenMRS database dump

Requirements

  • Identify PII (registration, users, providers, etc.) and sensitive data (notes, comments, pictures, scans, etc.) stored in an OpenMRS database dump
  • Write a script to de-identify personal data and anonymize sensitive data
  • Using existing open-souce, maintained, and configurable solutions is allowed

Role-based navigation and features

Assuming 3 roles in the EMR: registration, nurse, and doctor. Each of them can only see specific features based on the table below:

Role Navigation and features
Registration Register, Search, Appointments
Nurse + Service Queues, Patient chart
Doctor + Forms, Notes, Lab order

How to configure the the navigation and features they can access to based on their role?

Role-based forms

Assuming that some clinical forms should only be available to specific providers, how would you assign specific roles such as nurse, oncologist, surgeon, and gynecologist to specific forms?

It would prevent some roles to see or fill out forms that they should not have access to.

A configurable approach to backup OpenMRS database and patient files

Requirements

  • Setup a routine backup process (ex. nightly) for the production database and patient files (ex. attachments, x-rays, etc.)
  • Being able to configure the backup time and the destination folder
  • Backup process should consider potential active connections
  • Backup size assumption is between 500 Mo and 1 Go
  • Generate a log file in case of errors
  • Using an open-source tool that handles such requirements is allowed (ex. Xtrabackup, Percona, etc.)

Secrets and Vault

How to store database and OpenMRS secrets for all environments (dev, staging, uat, prod) without exposing them publicly in the Github repo?

Database redundancy

We're looking for database redundancy in case of any failure.

The scenario is:

  1. The main OpenMRS database is continuously and automatically synced to a secondary database as master-master or master-slave architecture.
  2. The main OpenMRS database the backend uses is failing - not responding anymore.
  3. The OpenMRS backend automatically switches to the secondary database to keep EMR operations running.
  4. Once fixed, the backend switched back to the primary database / normal behavior again.

Requirements and assumptions:

  • OpenMRS 3 is running on Docker-compose
  • Databases (MariaDB) instances are running on Docker-compose on the same network, but potentially on different devices/laptops.

Task:

  • Modify the docker-compose and create necessary configuration files to add that functionality

Modify the visit summaries in the patient chart

In the "Encounter" tab of the visit summaries in the patient chart, remove "Lab results" and "Notes" encounters as they are already available in the "Tests" and "Notes" tabs.

Screenshot 2023-10-26 at 11 16 39 AM

Also, rename "Encounters" tab by "Consultation".

Environment-based Docker images

In the OpenMRS Docker-Compose, find a way to select the right OpenMRS frontend image to use (dev, qa, main) depending on the current hostname.

Logic if hostname ends with:

  • D -> Docker OpenMRS frontend image tag should be dev
  • T -> Docker OpenMRS frontend image tag should be qa
  • P -> Docker OpenMRS frontend image tag should be main

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.