Giter Club home page Giter Club logo

openmrs-esm-fast-data-entry-app's Introduction

OpenMRS ESM Fast Data Entry App

The Fast Data Entry App is a module for the OpenMRS healthcare platform which allows for a natural workflow when entering many pre-recorded forms at a time. It is not meant for point-of-care workflows, but rather as a way to do retrospective data entry.

Overview

Currently the app consists of three main parts, a Forms Page to list available forms, Fast Data Entry which allows the rapid input of forms, and Group Sessions which enable recording information about a group session as well as individual forms for the session participants.

Forms Page

The Forms page lists all forms able to be seen by a user, filtered by that user's permission to edit the given form. Additionally implementors are able to customize the page by creating form categories and listing the forms inside of each category. These categories can then be shown or hidden using configuration (see more here). From these lists forms are able to be opened in the Form Workflow using the 'Fill form' button.

Fast Data Entry

Forms can be entered quickly with the Form Entry Workflow. This workflow depends on a state machine managed by the FormWorkflowReducer.

See the video below of a normal workflow.

fde-workflow.mov

State diagram for the Form Workflow.

Form Workflow State Diagram

Group Sessions

Group Sessions can be recorded with use of the Group Session Workflow. This workflow depends on a state machine managed by the GroupFormWorkflowReducer.

See the video below of a normal workflow

NormalGroupSessionWorkflow.mov

At the end, data from the group session will be visible on the patient's chart

Screen Shot 2022-10-06 at 5 14 27 AM

Group Builder

This app also contains a Group Builder for quickly putting together a group of patients and storing them as a cohort. While this feature arose to meet the needs of the workflow the concept is valid for the broader platform and could, some day, be moved to a more central location so more apps could make use of it. AddGroupModal was created in a way to reduce external dependencies so this eventual transition would be easier.

GroupSearch.CreateGroup.mov

Running this code

Clone the repo locally, then install and run using

yarn  # to install dependencies
yarn start  # to run the dev server

To customize your development build pass other arguments to yarn start (which under the hood is running npx openmrs develop). For example to point to a backend other than dev3 specify the --backend option. See the full example below for running against an ICRC backend.

yarn start --importmap "https://spa-modules.nyc3.digitaloceanspaces.com/import-map.json" --backend "https://openmrs-dev-v2.test.icrc.org/" --add-cookie "MRHSession=abcdefghijklmnop012345678910" --spa-path "/ui"

To see more options run npx openmrs --help

openmrs-esm-fast-data-entry-app's People

Contributors

zacbutko avatar ibacher avatar icrc-psousa avatar icrc-jofrancisco avatar denniskigen avatar vasharma05 avatar jexsie avatar manuelroemer avatar michaelbontyes avatar rbuisson avatar jona42-ui avatar icrc-loliveira avatar jwnasambu avatar

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.