Giter VIP home page Giter VIP logo

hwc-mobile-app's Introduction

AMRIT

License: GPL v3

A.M.R.I.T (Accessible Medical Records vis Integrated technology) is a digital health platform initially developed by Piramal Swasthya Management Research Institute (PSMRI). It connects beneficiaries, health facilities & the health workforce in an integrated ecosystem through technology. AMRIT is leveraged by multiple Health and Wellness centres across states in India with services such as 104 helpline, 1097 HIV helpline and telemedicine.

This repository maintains the documentation framework for AMRIT project. Built using MkDocs and the static pages are written as markdown files.

Prerequisite

MkDocs is a fast, simple and downright gorgeous static site generator that's geared towards building project documentation. Documentation source files are written in Markdown, and configured with a single YAML configuration file.

This project uses Python. Please ensure that you have Python and pip installed. To install the Python packages listed in a requirements.txt file using pip, you can use the following command in your command prompt or terminal:

pip install -r requirements.txt

Alternatively, MkDocs can be installed with the following command:

pip install mkdocs

Additionally swagger-ui-tag plug-in and material theme can be installed using the following commands:

pip install mkdocs-swagger-ui-tag
pip install mkdocs-material

MkDocs comes with a built-in development server that lets you preview your documentation as you work on it. Make sure you're in the same directory as the mkdocs.yml configuration file, and then start the server by running the mkdocs serve command.

mkdocs serve

Open up http://127.0.0.1:8000/ in your browser, and you'll see the documentation home page being displayed.

Modify the documentation

  • Clone this GitHub repository for which the content needs to be updated.

  • If you wish to update the API spec of a service, run the Spring code locally (mvn spring-boot:run) and load http://localhost:8080/v2/api-docs where 8080 is the default port and v2 is the version of the Swagger specification being used.

  • Copy the page content and save as {module-name}-api-spec.json.

  • Checkout the PSMRI module code from GitHub and save the above json file under docs/api-specs/ folder.

  • Add swagger-ui tag in corresponding markdown file under docs/api-reference folder to include Swagger UI.

  • The markdown file path is mentioned in mkdocs.yml file under API-Reference navigation.

  • Execute mkdocs serve and load http://127.0.0.1:8000/ to view the updated content.

Publish AMRIT website to GitHub pages

  • Raise a merge request from develop branch to main branch.

  • The workflow file publish-site.yml gets triggered once the merge is done.

  • The publishing status can be viewed under Actions tab

hwc-mobile-app's People

Contributors

aryant97 avatar babs93 avatar babstar93 avatar challabeehyv avatar csainikhilesh avatar drtechie avatar ggakg avatar ishaandamadia avatar kalyan-chokkam avatar pauldibyendu avatar ramanan7532 avatar roopesh-beehyv avatar warisraza21 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

hwc-mobile-app's Issues

[DMP 2024]: Offline capability with cross-device communication

Ticket Contents

Description

Digital Bharat Collaborative (DBC) is an initiative of Piramal Swasthya, the healthcare arm of the Piramal Foundation. DBC's focus areas include building a robust digital public health delivery platform, improving data-driven governance and empowering healthcare workers. Piramal Swasthya is contributing with its experience and expertise in building innovative solutions that impact at scale. Piramal Swasthya is focused on bridging the public healthcare gaps by supplementing and complementing the Government of India's vision to meet Universal Health Coverage. Piramal Swasthya is operational in 21 States in India through 35 innovative public healthcare delivery programs and has served more than 112 million beneficiaries so far.

Health and Wellness Centre (HWC) Mobile Application is developed by DBC to meet all Comprehensive Primary Health Care (CPHC) services as per the guidelines of Ayushman Bharat Digital Mission (ABDM). Health and Wellness Centres are aimed to deliver Comprehensive Primary Health Care, that includes preventive, promotive, curative, rehabilitative and palliative care, with a focus on wellness and the delivery of an expanded range of services closer to the community.

What is currently available feature:
HWC Mobile App currently has the feature of offline and online capability concerning a single device, that is within a single device data stores locally (data entry of entire workflow) and synced to AMRIT server when there is a network availability.

What is not available and needed feature:
Many HWCs are located in places with poor to nil network coverage. When a beneficiary visits such a centre, the data must be transferred across devices of various actors like registrar, nurse, doctor and pharmacist. In this kind of environment, data should transfer from device to device. Finally, data must be synced to the Accessible Medical Records via Integrated Technologies (AMRIT) central server from preferred devices when there is network availability.

Goals & Mid-Point Milestone

Goals

  • Discover, explore and identify the technology and process that can exchange data between mobile devices without the internet in a closed offline environment
  • Within the environment establish communication between the selected devices (use technologies such as Bluetooth, Wi-Fi etc.)
  • Establish connections between devices in a fully offline peer-to-peer manner and transfer data from one device to another.
  • Create the ability to share photos or files during offline
  • Integrate sync of data between user roles and devices
  • [Goals Achieved By Mid-point Milestone are above]
  • Handle use cases of different online and offline scenarios
  • Sync data to the central server from preferred devices when there is a network availability

Setup/Installation

https://github.com/PSMRI/HWC-Mobile-App

Expected Outcome

  • Within the Health Facility establish communication between the selected devices and exchange data between user mobile devices without internet
  • Finally, sync data to the central server from preferred devices (user endpoint to sync data) when there is network availability
  • Mark the status of records synced and not synced

Acceptance Criteria

  • Data exchange should be cross-device in a real-time manner without the internet when devices are in proximity.
  • Data transfers should be secure and with fully encrypted data
  • The Data Sync process must be serialized, that is to follow the order of the syncing process
  • Maintain flags for offline and online records
  • The solution should work offline and online

Implementation Details

Potential tech that can be used:
https://developers.google.com/nearby/connections/overview

The offline data Sync process has below 2 Workflows:

  • For Sub centre-HWC (SC-HWC) User: CHO
  • For PHC Users: Registrar/ Nurse/ Doctor/Lab Technician/Pharmacist

In SC-HWC, CHO can work offline or online, in case of offline when there is network availability records/data start syncing to the central AMRIT server automatically. The syncing process must be serialized, this is the order of the syncing process:

Patient Demographic records >> Visit & Vitals records >> Prescription & Case records >> Lab results/Reports records >> Pharmacy dispensed records

There are two syncing processes:

  • Up sync: syncing offline records from Mobile devices to the AMRIT server
  • Down sync: updates/updated records from AMRIT server syncing back to respective Mobile device

Offline Functionality in SC-HWC:

In SC-HWC workflows, CHO User has mapped to all roles (Registrar, Nurse, Doctor, Lab Technician and Pharmacist). It is the single/same mobile device and data will sync to the central AMRIT server in a serialized process.

Offline Functionality in PHC-HWC:

Whereas in PHC-HWC Workflows, each of the users is mapped to single or multiple Roles
(example: Staff Nurse can be mapped to 3 Roles - Registrar, Nurse, Doctor and Pharmacist or single Role only Nurse)
Therefore, in PHC-HWC Workflow in the offline environment, records/data should flow between these users (devices): Registrar (DEO) >> Nurse >> Doctor >> Lab Technician and Pharmacist in this serialized process
In the syncing process, every record should maintain sync status, should be flagged as offline and online

Process Flow Diagram

From the below process flow diagram, consider the workflow process at the PHC – HWC to satisfy the use case of data exchange between Mobile devices of PHC staff in real-time without the internet.

image

Signs Specifications
Red Arrow This represents the Offline flow of data
Blue Arrow This Shows the Up-Sync of data when the user enters the network area
Purple Dotted Arrow This Shows the Down-Sync of data from the "AMRIT" server

Mockups/Wireframes

NA

Product Name

AMRIT Mobile

Organisation Name

Piramal Swasthya Management Research Institute

Domain

⁠Healthcare

Tech Skills Needed

Material-UI, RESTful APIs, Other

Mentor(s)

@drtechie

Category

Database, Mobile

[DMP 2024]: Identify and retrieve beneficiary details through face recognition

Ticket Contents

Description

Digital Bharat Collaborative (DBC) is an initiative of Piramal Swasthya, the healthcare arm of the Piramal Foundation. DBC's focus areas include building a robust digital public health delivery platform, improving data-driven governance and empowering healthcare workers.

Health and Wellness Centre (HWC) Mobile Application is developed by DBC to meet all Comprehensive Primary Health Care (CPHC) services as per the guidelines of Ayushman Bharat Digital Mission (ABDM). Health and Wellness Centres are aimed to deliver Comprehensive Primary Health Care, that includes preventive, promotive, curative, rehabilitative and palliative care, with a focus on wellness and the delivery of an expanded range of services closer to the community.

There are challenges in the field during the revisit of patients. When a patient revisits a centre, he/she must be looked up from the database in the most efficient and easiest way possible. The health worker should be able to fetch the details of the patient to prevent re-registration and thereby data duplication. By integrating facial recognition into the app, Community Health Officers (CHO) can quickly retrieve the registered patient's details, prefill the revisit form, look up medical history and prevent duplicate registrations.

The addition of this feature will ease the workflow of hundreds of health workers and indirectly ease the process of revisiting for thousands of beneficiaries.

Goals & Mid-Point Milestone

Goals

  • Research and identify face recognition models that can work offline
  • Collect and store face recognition data from a picture
  • Search the face with saved facial biometric data
  • [Goals Achieved By Mid-point Milestone are above]
  • Lookup for the existing beneficiary in DB with the matched face
  • Implement UI-UX elements for integrating the capture and recognition of images in the registration form

Setup/Installation

https://github.com/PSMRI/HWC-Mobile-App

Expected Outcome

  • Capture and store facial recognition data in case of first registration
  • Capture face and search beneficiaries from the existing registry of facial data in case of re-visit
  • User-intuitive UI-UX to prefill data for a beneficiary in case of a revisit.

Acceptance Criteria

  • Implement robust security measures to protect patient data, especially facial biometrics.
  • The solution must work offline.

Implementation Details

This repo is a good starting point for the implementation.

At a high level, the following may be the implementation steps:

  1. Launch Camera with lower resolution setting - Take a photo (you could also take a frame from the camera feed.
  2. Find the face in the photo and collect bounding box coordinates ( as a Rect ) using MLKit.
  3. Crop the face from the photo using the bounding box coordinates.
  4. Feed the cropped face to the FaceNet model to generate embeddings. Your output will be an 128 dimensional vector of the given face
  5. Load the list of patient IDs, names and their vectors to perform the face search on. This data set should be specific to the health workers' location and be cached for offline use.
  6. Compare the photo vector with the list using  either L2norm or cosine similarity
  7. If there are close matches - show the list of patients that matched closely along with a thumbnail of their photo.
  8. if the user chooses an already registered patient -> start a new visit for that patient.
  9. If there are no matches or the user chooses -register this as a new patient.
  10. Save a thumbnail of the photo and features against a new patient ID

image

Mockups/Wireframes

NA

Product Name

AMRIT Mobile

Organisation Name

Piramal Swasthya Management Research Institute

Domain

⁠Healthcare

Tech Skills Needed

Computer Vision, Machine Learning, Material-UI

Mentor(s)

@drtechie

Category

Machine Learning, Mobile

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.