Bahmni / openmrs-module-bahmniapps

Bahmni EMR Frontend code for Clinicians and staff members, written in Angular.JS and React
http://www.bahmni.org
GNU Affero General Public License v3.0
136 stars 291 forks source link

[C4GT] Document upload module in Bahmni to be written in React #571

Open gsluthra opened 1 year ago

gsluthra commented 1 year ago

UPDATE: 11-July-2023 The JIRA issue for this and related issues can be seen here: https://bahmni.atlassian.net/browse/BAH-3101?jql=labels%20%3D%20Code4GovTech

Note: Bahmni team tracks all issues in public JIRA repository. But since Code4GovTech requires all project details to be created in Github, we are writing the project details here. But eventually as per Bahmni community process, the actual stories will tracked in JIRA, and issue number in commit messages will need to be of JIRA ticket number (and optionally Github issue number).

Purpose

Write a replacement for the current Bahmni document upload, using React -- with a more user-friendly UX.

Introducing Bahmni

  1. Bahmni is an opensource hospital management system, used in low resource environments and is currently live in 600+ facilities across the world, including India, Nepal, Bangladesh, Uganda, Lesotho, Kenya, Cambodia, etc. It is also recognized as a Digital Public Good (DPG) by DPGA and Digital Square Alliance. For more details on Bahmni please visit: https://bahmni.org
  2. One can try out Bahmni online using our demo servers here: Online Bahmni Demo

Feature details

  1. Bahmni EMR UI was previously written in Angular. For the past 2 years, all new code in Bahmni is being written in React, to move away from legacy Angular.
  2. We would like to replace the current Patient Document upload module, with IBM Carbon Design system and React. To see how the current Document Upload module looks, you can read this documentation, or access our online demo servers.
  3. We have done something similar with the recent Lab Lite module which was newly developed in React/Carbon. See this Wiki Link: Lab Lite Module
  4. As part of this Feature, we would like to rewrite a new Patient Document Upload Module, that will replace the existing module, and be more UX friendly.
  5. Also see this JIRA issue: https://bahmni.atlassian.net/browse/BAH-3006

Learning Path

  1. Complexity: Medium.
  2. Skills Required: Frontend (React, Javascript, CSS, Carbon Design System). Backend (Java, MySQL). Local Install (Docker).
  3. Name of Mentors: @gsluthra @angshu
  4. Project Size: 4-6 weeks

Product Setup

  1. Docker based local setup. See: Running Bahmni on Docker

Acceptance Criteria

Milestones

C4GT

This issue is nominated for Code for GovTech (C4GT) 2023 edition. C4GT is India's first annual coding program to create a community that can build and contribute to global Digital Public Goods. If you want to use Open Source GovTech to create impact, then this is the opportunity for you! More about C4GT here: https://codeforgovtech.in/

ritikranjan12 commented 1 year ago

Hello @gsluthra, I hope this message finds you well. I wanted to express my interest in contributing to this project. I have thoroughly reviewed the issue details, discussions, and codebase, and I have prior experience with React.js, Javascript, CSS and MySQL, and with Docker too. Can you guide me on this project so that I can give my best?

gsluthra commented 1 year ago

Please install Bahmni and join our Slack (#community) channel. You can pick a volunteer ticket to get familiar. Thanks!

Links:

  1. Docker: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/3117744129/Getting+Started+Quickly+with+Bahmni+on+Docker
  2. Slack/Bahmni Talk Forum: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/414646273/Communication+Channels+and+Tools+Discourse+Slack
  3. Volunteer JIRA Links: https://bahmni.atlassian.net/wiki/spaces/BAH/pages/116069555/Contributing+to+Bahmni#ContributingtoBahmni-4.ContributeasaDeveloper%2FCoder%2FAnalyst%2FQAtoBahmni
  4. You will need to open a free Atlassian account to self-sign-up on Bahmni JIRA.
ritikranjan12 commented 1 year ago

Hi @gsluthra, I have completed all the steps mentioned above and it is working well. I had gone through the Document upload module and found it working with the proof attached below. As the UI for the same is not so much eye-catching for any user and I would be happy to contribute to making it more attention-grabbing.

I had already submitted a form for the signup link of the Slack channel. Please let me know if there's anything else I had to do or if I can go for a proposal for the same.

Thank you, Ritik Ranjan

brahimini

gsluthra commented 1 year ago

cc: @angshu.

@ritikranjan12 - Thanks for your interest. I have sent you a Bahmni slack invite. Request you to please discuss on the #community channel your suggestions for improvements and ensure we have JIRA tickets for every task you plan to pick up. That helps ensure Bahmni community members are informed of what changes are being made, and why.

If you are feeling confident about Bahmni codebase, I would recommend identifying the smallest piece of functionality you can improve here, and suggesting that on Slack, then creating a JIRA issue, assigning it to yourself and then working on PR changes. We need to have traceability for each PR to a JIRA issue. Thanks again!

heisdinesh commented 1 year ago

@gsluthra I am highly interested in contributing to the Bahmni Document Upload Replacement project. I would like to request permission to initiate a pull request and begin working on implementing this feature using React and the Carbon Design system. I look forward to learn more about this project, could you guide me in this

nikhilagastya commented 1 year ago

@gsluthra I am Nikhil Agastya , and I am thrilled to be part of the Bahmni community. With a strong passion for leveraging technology to improve healthcare accessibility, I am excited to contribute my skills to this remarkable open source project.

Having explored Bahmni's website and demo servers, I am inspired by the tremendous impact it has already made in low resource environments across the globe. The opportunity to work on the Patient Document Upload Module, utilizing the IBM Carbon Design system and React, aligns perfectly with my expertise and interests.

I bring extensive experience in React development and a deep understanding of user experience (UX) principles. Moreover, I have closely followed Bahmni's transition from Angular to React, and I am impressed by the project's commitment to modernizing its codebase while prioritizing user-centric design.

I have reviewed the existing module and the Lab Lite module, and I believe my skills can contribute to developing a more intuitive and user-friendly Patient Document Upload Module. The JIRA issue (BAH-3006) provides valuable insights into the requirements, which I am eager to tackle and exceed.

I am eager to collaborate with the Bahmni community, learn from experienced contributors, and work towards creating a truly impactful solution. Together, we can further enhance the accessibility and functionality of Bahmni, ultimately improving healthcare outcomes for communities worldwide.

I look forward to working closely with all of you on this exciting project!

ujjwalkirti commented 1 year ago

@gsluthra Hello sir, I have a few queries, could you have a look at them?

gsluthra commented 1 year ago

You can join Bahmni and contribute to any ticket (its an opensource project). Once you get familiar, you can possibly create a stronger proposal for the C4GT initiatives and submit them accordingly. As you please.

Aarav238 commented 1 year ago

Hello @gsluthra I want to contribute in this project . I am a full stack MERN developer and have knowledge of docker too. can you please guide to get started with this project ?