Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
17 tasks
gsluthra opened this issue May 19, 2023 · 9 comments
Open
17 tasks

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

gsluthra opened this issue May 19, 2023 · 9 comments

Comments

@gsluthra
Copy link
Contributor

gsluthra commented May 19, 2023

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

  • 1. All existing features of Document Upload functionality replicated in new module in React/Carbon design system.
  • 2. Pull Request reviewed/merged into Bahmni codebase, after feedback from Bahmni core team & mentor has been incorporated.
  • 3. Automation Tests pass on Github Actions CI.
  • 4. New Feature is deployed on our DEV environment.
  • 5. There is configuration which enables this new feature (so customers can choose when they want to switch to the new module).
  • 6. All message strings are added into translation files.
  • 7. A showcase is done of this feature in our public Bahmni PAT call (every Wed evening at 6:30 pm IST).

Milestones

  • 1. Install Bahmni locally.
  • 2. Demo the current document upload functionality, to ensure the contributor has understood the functionality.
  • 3. Work with mentor to create low-fi design/mockup for new screens.
  • 4. Create stories in JIRA (possibly 4-5) which list all requirements to develop this feature.
  • 5. Complete the development (with unit tests), with local showcase from your own machine.
  • 6. Raise PR for each story, and have it reviewed.
  • 7. Merge PRs for all stories.
  • 8. Validate and showcase the feature from our DEV server.
  • 9. Document the new screens in Bahmni public WIKI.
  • 10. Showcase the new feature in Community PAT call over zoom.

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
Copy link

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
Copy link
Contributor Author

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
Copy link

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
Copy link
Contributor Author

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
Copy link

@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
Copy link

@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
Copy link

ujjwalkirti commented May 29, 2023

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

  • Since this program is under CodeForGovTech initiative, where we have to submit proposal for contributing, and if selected we can contribute. Right? or do we start directly by becoming part of the Bahmni community and start contributing?

@gsluthra
Copy link
Contributor Author

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
Copy link

Aarav238 commented Jun 3, 2023

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 ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants