Active Projects

  • Replace fidelius with a python alternative

    Opened by khavinshankar

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling TeleICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    Features To Be Implemented

    1. Implement the features of fidelius service in Python. Basically, we need the following 3 features to be implemented in python 3.
      • Generate key pairs according to the ABDM specifications
      • Encrypt the data according to the ABDM specifications
      • Decrypt the data according to the ABDM specifications
    2. Replace the fidelius service with the newly built utility Fidelius is used in 2 places, decrypting the incoming data from ABDM and encrypting the outgoing data.
    3. Add tests for the newly built utility.

    You can use any existing standard python packages to facilitate this.

    Context We are currently using a service called fidelius as a docker container for encrypting and decrypting data. It's used while sending and receiving data through ABDM (Ayushman Bharat Digital Mission or ABDM is a government initiative similar to UPI for exchanging medical records between entities.).

    ABDM expects the data to be encrypted and decrypted in a certain way. You can read more about the ABDM specifications here: https://sandbox.abdm.gov.in/abdm-docs/EncryptionAndDecryptionData

    Supportive Materials

    These material (threads) discuss the issues with python implementation:

    Learning Path

    Details
    Complexity Medium
    Required Skills Python, Django
    Mentors @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 175 Hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • All the CI/CD workflows should pass.
    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE as a product and understand the workflow.
    • Understand the requirements.
    • Implement the tasks mentioned above
    • Implement test cases to test the functionality
    • Optimise the code
    • Review and QA
  • Rewriting Middleware Server in Django

    Opened by sainak

    Project Details

    The middleware server in the CARE project, currently written in TypeScript, needs to be rewritten in Django to ensure better integration and maintainability within the existing ecosystem.

    Tasks

    1. Research Compatible ONVIF Packages for Python:

      • Search for Python packages compatible with ONVIF standards to handle interactions with ONVIF-enabled devices.
    2. Implement WebSockets Using Django Channels for Vitals Data:

      • Utilize Django Channels to implement WebSockets for real-time transmission of vital data from various sources within the healthcare system.
    3. Implement Authentication for Requests and WebSockets:

      • Ensure that both HTTP requests and WebSocket connections from the CARE and CARE_FE applications are authenticated properly within the Django middleware.
    4. Ensure Proper Typing Support:

      • Implement type annotations throughout the Django middleware codebase to enhance readability, maintainability, and type safety.
    5. Write Migrations to Alter Existing Tables to Match Django Models:

      • Create Django migrations to modify existing database tables to align with Django model definitions, ensuring data consistency and integrity.

    Learning Path

    Details
    Complexity Medium
    Required Skills ExpressJs, NodeJs, TypeScript, Django, Python
    Mentors @nihal467 , @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 350 hours

    Acceptance Criteria

    • The rewritten middleware server functions seamlessly within the CARE project.
    • Authentication mechanisms are implemented for both HTTP requests and WebSocket connections.
    • Proper type annotations are added to the codebase.
    • Migrations are written and applied successfully, ensuring database compatibility with Django models.

    Milestone

    • Research and select compatible ONVIF Python packages.
    • Implement WebSocket functionality using Django Channels.
    • Integrate authentication mechanisms for HTTP requests and WebSockets.
    • Add type annotations to the middleware codebase.
    • Write and apply migrations to align existing tables with Django models.

    Additional Notes

    Ensure thorough testing and documentation are provided for each implemented feature. Collaborate with the team to address any potential issues and ensure a smooth transition to the Django-based middleware server.

  • Explore other alternatives to generate PDF reports

    Opened by sainak

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling TeleICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    Features To Be Implemented

    Context

    We're exploring alternatives for generating PDF reports. Our current approach involves using a browser to render HTML pages as reports via django-hardcopy. https://github.com/coronasafe/care/blob/19b63d2f47f41d7642698e128877651c51e5d2f3/care/facility/utils/reports/discharge_summary.py#L102-L121 However, we're interested in finding a native Python package capable of generating reports, ideally with the capability to directly create PDFs from HTML/templates.

    Action Items

    • Identify a native Python package for generating PDF reports
    • Add new functions to generate the reports using the new packages
    • If required change the existing report template to support the format of the packages
    • Compare the resource usage of the workers for each package
    • Get user feedback on the new report PDFs
    • Select the best alternative by comparing the feedback on PDFs and resource usage of the packages
    • Update the old methods to use the new package
    • Add test cases to validate the reports generated
    • Cleanup Dockerfiles

    Learning Path

    Details
    Complexity Medium
    Required Skills Python, Django
    Mentors @nihal467 , @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 175 hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • All the CI/CD workflows should pass.
    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE as a product and understand the workflow.
    • Understand the user-level requirements and come up with an optimal solution.
    • Implement the required PDF generations (refer above action items)
    • Optimise and improve the PDF generation
    • Review and QA
  • Generic Scheduling System For CARE

    Opened by nihal467

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling TeleICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    Features To Be Implemented

    This project outlines the creation of a new feature to support a generic scheduling system for CARE. This feature aims to develop a simple scheduling system in CARE. This system will be able to manage different kinds of bookings, like doctor appointments and usage of hospital spaces such as Operation Theatres and ICUs. Even though these are different tasks, they will all use the same basic scheduling system. The features expected to be achieved are outlined below

    • Scheduling System: Develop a generic scheduling system for hospital tasks like doctor appointments and location management (ICU, OT), reusable for multiple purposes.
    • Dedicated Monitoring Page: Build a dedicated page for managing and scheduling resources within a facility. This page will serve as a centralized hub for all scheduling-related activities, ensuring smooth operation and easy accessibility.
    • Real-Time Notifications: Utilize the existing push notification mechanism to develop a system for sending real-time notifications to relevant parties regarding schedules.
    • Reporting and Analytics: Generate reports to understand usage patterns and trends.
    • Conflict Resolution: In case of any conflicting schedules, have an automatic detection and alerting mechanism.

    Learning Path

    Details
    Complexity Hard
    Required Skills ReactJS, NodeJS, TypeScript, Django
    Mentors @nihal467 , @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 350 hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • All the CI/CD workflows should pass.
    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE as a product and understand the workflow.
    • Understand the user-level requirements and come up with a design.
    • Design and implement the updated UI
    • Complete functionality of Generic Scheduling System
    • Implement a Basic Cypress automation test to test functionality
    • Optimise and improve UX
    • Review and QA
  • Integrating OHIF Viewer for DICOM Imaging within CARE's Frontend with S3-based File Management

    Opened by Ashesh3

    Project Detail

    The goal of this project is to incorporate a DICOM Viewer into the CARE platform, specifically for the care_fe frontend, utilizing the OHIF Viewer. This enhancement aims to support healthcare professionals by enabling the viewing of DICOM images directly within the CARE system. By integrating S3-based DICOM file management, the project facilitates efficient handling and storage of medical imaging files, thus improving the management of patient files and supporting the digitization of patient records. This feature is a significant step towards enhancing the CARE platform's capabilities in providing comprehensive patient care and management.

    Features To Be Implemented

    This project encompasses the integration of the OHIF Viewer for DICOM image viewing and the development of a robust S3-based file management system for DICOM files. The primary features to be implemented are:

    1. DICOM Viewer Integration:

      • Integrate the OHIF Viewer with care_fe to enable the viewing of DICOM images within the CARE platform.
      • Ensure compatibility with existing patient file management systems.
    2. S3-Based DICOM File Management:

      • Implement an S3-based system for the efficient upload, storage, and retrieval of DICOM files.
      • Secure and scalable storage solution to accommodate the growing needs of healthcare data.
    3. Sample DICOM File Procurement:

      • Source or generate sample DICOM files for testing and development purposes.
      • Ensure a variety of DICOM files are available to test the viewer's functionality across different types of medical imaging.
    4. Integration with Patient Files/File Upload:

      • Seamlessly integrate DICOM file handling into the existing patient files and file upload system within CARE.
      • Provide a user-friendly interface for healthcare professionals to manage and view DICOM images as part of patient records.

    Learning Path

    Details
    Complexity High
    Required Skills ReactJS, TypeScript, AWS S3, Python, Django
    Mentors @nihal467, @vigneshhari, @khavinshankar, @rithviknishad, @gigincg, @Ashesh3, @sainak
    Project Size 200 hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend and integrating the DICOM Viewer, refer to the readme file at: https://github.com/coronasafe/care_fe
    2. For backend setup and S3 integration, documentation can be found at: https://github.com/coronasafe/care
    3. OHIF Viewer integration documentation: https://github.com/OHIF/Viewers

    Acceptance Criteria

    • Successful integration of the OHIF Viewer into the care_fe platform.
    • Implementation of a robust and scalable S3-based DICOM file management system.
    • All functionalities should be thoroughly tested with a variety of DICOM files.
    • The solution should be documented thoroughly, including setup, configuration, and usage instructions.
    • CI/CD workflows should pass without errors.
    • The code should be well-structured, maintainable, and adhere to best practices.

    Milestone

    • Familiarize with the CARE platform and the OHIF Viewer.
    • Implement the integration of the OHIF Viewer with care_fe.
    • Develop the S3-based DICOM file management system.
    • Test the system with sample DICOM files to ensure functionality and compatibility.
    • Document the setup, configuration, and usage procedures.
    • Conduct thorough QA and code review to ensure quality and performance.
    • Finalize the project and merge the implementation into the main branch of CARE.
  • Add 2FA support for login

    Opened by bodhish

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling TeleICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    Features To Be Implemented

    This focuses on bolstering the security of the login process within the system. The key objective is to introduce a robust Two-Factor Authentication (2FA) mechanism, enhancing user account protection against unauthorized access. The features to be implemented are outlined below:

    1. 2FA Integration at Login:

      • Modify the login page to incorporate a second step for 2FA, specifically a field for entering a verification code following successful username and password verification.
      • The 2FA method proposed is TOTP (Time-Based One-Time Password) with backup tokens as fallback.
      • SMS based otp should be configurable by deployments
    2. Backend Support for TOTP:

    3. User Enrollment for 2FA:

      • Enable users to enroll in 2FA either via account settings.
      • Verify the 2FA method at the time of enrollment
      • This process involves generating a unique secret key for the user, which can then be added to their preferred authentication app.
      • Users should have the flexibility to add or remove 2FA from their profile settings at any time.
    4. Backup Code Provision:

      • Offer fallback options such as backup codes or sms/email based otp, enabling users to access their accounts in cases where they lose access to their 2FA device.
    5. Secure Storage of TOTP Secret Key:

      • Ensure the secret key for TOTP is stored securely within the database to prevent unauthorized access.
    6. Security Measures Against Brute Force Attacks:

      • Implement rate limiting on 2FA attempts to mitigate the risk of brute force attacks.
    7. User Support and Guidance:

      • Provide clear instructions and support to assist users in setting up and effectively using 2FA.
      • Ensure users are supplied with backup codes as a contingency for potential 2FA device loss.

    Learning Path

    Details
    Complexity Medium
    Required Skills ReactJS, TypeScript, Django, Python
    Mentors @nihal467 , @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 175 hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • All the CI/CD workflows should pass.
    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE as a product and understand the workflow.
    • Understand the user-level requirements and come up with a design.
    • Design and implement the updated UI
    • Complete functionality of 2FA support for login
    • Implement a Basic Cypress automation test to test functionality
    • Optimise and improve UX
    • Review and QA
  • Enhance the Doctor Notes Feature in the Patient Consultation Page

    Opened by nihal467

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling TeleICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    Features To Be Implemented

    This project outlines enhancements to the existing doctor notes functionality. These features aim to improve the user experience and enable users to upload images, hyperlink documents, and more. The features expected to be achieved are outlined below:

    • File Upload Option: Implement an option to upload files to doctor notes.
    • Markdown Support: Add markdown support to doctor notes for formatting.
    • Write Note to Specific File: Introduce functionality to write notes to a specific file.
    • User Tagging Mechanism: Implement a mechanism to tag specific users in doctor notes for communication purposes.
    • #7706

    Note: All uploaded files should be reflected in the patient consultation file under a separate section called "Doctor Notes".

    Learning Path

    Details
    Complexity Large
    Required Skills ReactJS, NodeJS, TypeScript, Django
    Mentors @nihal467 , @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 350 hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • All the CI/CD workflows should pass.
    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE as a product and understand the workflow.
    • Understand the user-level requirements and come up with a design.
    • Design and implement the updated UI
    • Complete functionality of Enhanced Doctor Notes
    • Implement a Basic Cypress automation test to test functionality
    • Optimise and improve UX
    • Review and QA
  • Support for showing GitHub discussions

    Opened by rithviknishad

    Project Detail

    Leaderboard collects data from GitHub and Slack to show off the work of our open source contributors

    Is your feature request related to a problem? Please describe.

    Currently, we are not tracking GitHub discussions of an organization. It'd be great if we could show discussion events happening in the org. in leaderboard.

    Features To Be Implemented

    • Add support to the scraper script to be able to scrap using github's graphql endpoint because discussion events can be accessed only via graphql.
    • Scrapper should scrap discussion events and all participants of each discussions would have a reverse relation to the discussion event.
    • Show latest 5 discussions in the leaderboard home page.
    • A show more button should land to a larger page where all discussion events of the organization are shown.
    • Contributor profile page should contain the discussion event if they are a participant or the author of the discussion.
    • #68

    Learning Path

    Details
    Complexity Medium
    Required Skills NextJS, TypeScript, Python
    Mentors @bodhish , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 90 hours

    Link to documentation for Product Set-Up

    1. Refer to the readme file available at: https://github.com/coronasafe/leaderboard/blob/main/README.md

    Acceptance Criteria

    • All the CI/CD workflows should pass (including the scraper workflow)
    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know Leaderboard as a tool and understand the workflow.
    • Understand the requirements and come up with a design.
    • Design and implement the updated UI
    • Complete functionality of scraping and showing GitHub discussion events
    • Optimise and improve UX
    • Review and QA
  • Whatsapp bot for CARE

    Opened by khavinshankar

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling Tele-ICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    Features To Be Implemented

    Build a wrapper on care that IM bots can use to get information or send a notification. The idea behind this feature is to ease and improve the user experience.

    • Build a generic IM wrapper for care which the respective bots can use to interact with care

    • Build a WhatsApp bot which can be used by both patients and hospital staff

      For Patients

      • Should fetch their patient records
      • Should fetch their current medications
      • Should fetch their procedures

      For Users (Hospital Staff)

      • Should fetch their schedules (to be done after scheduling)
      • Option to fetch asset status
      • Option to fetch inventory data

    The above-mentioned list of items (both For Patients and For Users) is subject to change, the mentioned features are just to give an idea of what needs to be done.

    While implementing this, a conscious effort should be taken to prevent the Private Personal Information (PPI) of other patients from being shared.

    Learning Path

    Details
    Complexity Medium
    Required Skills Python, Django
    Mentors @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 175 Hours

    Link to documentation for Product Set-Up

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE as a product and understand the workflow.
    • Understand the requirements.
    • Implement the tasks mentioned above
    • Write tests for the implemented functionality
    • Optimise the code
    • Review and QA
  • Rewrite the citizen app with *Next + Typescript*

    Opened by khavinshankar

    Project Detail

    CARE is a centralized capacity management and patient management system, central to the 10BedICU Project, integrating patients, doctors, hospitals, labs, specialized treatment centers, hospital administrators, and shifting control cells. Hospitals update crucial information about their assets, providing district administration with a comprehensive view of the healthcare system via smart dashboards. CARE digitizes patient records, streamlines workflows for pandemic management, and is deployed in remote areas, enabling Tele-ICU services for underserved citizens. It revolutionizes healthcare management, enhancing efficiency, accessibility, and patient outcomes.

    CARE can only be used by hospital staff (like nurses, doctors, admin staff, and so on), patients have no direct access to the CARE application. The Citizen application aims to solve this, in this app, the patient can log in using their mobile number and view their records associated with their phone number.

    We plan to refactor, redesign, and rebuild the existing citizen application.

    Features To Be Implemented

    • Currently, the citizen application is written in rescript, rewrite it in typescript with Next.
    • Should integrate ABDM patient-centric features (to be discussed further)
      • Patients should be able to register or log in using ABHA
      • Patients should be able to edit their ABHA profile
      • Patient should be able to scan QR from hospital to book a slot for OP consultation
      • (to be done last) Patients should be able to manage consent
      • Patients should be able to fetch their medical records
    • Come up with standardized UIUX similar to CARE
    • As patients will primarily use this application, it should be mobile responsive and should implement PWA support (consider capacitor for native app generation PWA is mandatory whereas capacitor is optional)
    • (optional) Write E2E tests

    References for ABDM Integration

    Learning Path

    Details
    Complexity Medium
    Required Skills Typescript, Next, React, Tailwind Python, Django
    Mentors @vigneshhari , @khavinshankar , @rithviknishad , @gigincg , @Ashesh3 , @sainak
    Project Size 175 Hours

    Link to documentation for Product Set-Up

    Setting up Citizen

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/citizen

    Setting up CARE

    1. For setting up the frontend, please refer to the readme file available at: https://github.com/coronasafe/care_fe
    2. For setting up the backend, please refer to the readme file available at: https://github.com/coronasafe/care

    Acceptance Criteria

    • Code is logically structured for long-term project sustainability.
    • Proper descriptions should be included for review purposes.
    • QA and Code Review

    Milestone

    • Get to know CARE and Citizen as a product and understand the workflow.
    • Understand the requirements.
    • Implement the tasks mentioned above
    • Optimise the code
    • Review and QA