Inspiration

One of the biggest issues with the health system right now is there is no way of dealing with the slew of information about patients. Let’s take a look at the process of changing family doctors. Your health record exists on their computer, now let’s say you move. Now you need to get all your records from their system and get them on the system for your new doctor. This process is laborious and a cause of a lot of pain. Now let’s take a look at a more serious example. With the pandemic, it’s vital to track what people have been exposed to the virus and how many people have been vaccinated. Unfortunately, many hospitals and clinics have health record systems that cannot communicate with each other. This makes the pandemic much harder to track. One of the reasons the health industry has been slow to digitize is due to privacy concerns. Health information is sensitive and it is vital to ensure that it does not fall into the wrong hand.

SO WE BROUGHT A SOLUTION

What it does

PrimeCare is a Patient Health Record Tracker in which patients can give access to their doctor on the platform. It is a heavily secure platform with end-to-end encryption so no unauthorized person can mess with your data. Let's dive a bit deeper. The features of this app:

FOR PATIENT PORTAL

  1. Dashboard - This is the area where you can see and edit your profile. You can see your upcoming and past appointments.
  2. Documents - Users whether patient/doctor can upload/download medical documents. Whether it's an XRAY or a Prescription. The files get uploaded to our fully encrypted servers
  3. Medicines - Here you can keep a track of all your medicines. You can add and remove medicines, set their quantities etc etc
  4. History - Here the patient can see every single change that happens to his PHR. Like whenever a new file is uploaded or a doctor logs in or when a security code is generated.
  5. Doctors - Here comes the fun part - This is how you can give access to a doctor and it works fully. You click on add button and you receive a security code on the mobile number through which you have registered yourself. Then you have to share the security code with the doctor, and the doctor will add you as a patient through his portal using your PHR ID and Security Code.

FOR DOCTOR PORTAL

  1. Dashboard - This is the area where you can see and edit your profile. You can see your upcoming and past patient appointments.
  2. Patient - Here you can add or remove patients as explained in the previous part

BASIC KEYS TO BE NOTED:

  1. Each person controls their own PHR -They should be able to control who can view it -
  2. PHRs contain health information from one’s entire lifetime - comprehensive
  3. PHRs are accessible from any place at any time - (Multiple people access to the system to add or remove files)
  4. PHRs are private and secure - Unauthorized user cannot see files
  5. PHRs are transparent. Individuals can see who has entered each piece of data, where it has been transferred from, and who has viewed it.
  6. PHRs permit the easy exchange of information across health care systems.
  7. Everyone has to go through login authentication by using their email and mobile number

How we built it

Time to spill the tea:

  1. Frontend - The whole frontend was done by HTML/CSS/JS.
  2. Backend - For the backend, we used Python and Django
  3. For Sending security code and reminders - Notivize API was used to send our security keys to the patients.
  4. For requesting calls from API - Google Cloud
  5. For Hosting - We used the Microsoft Azure App service for deploying and hosting our application easily and scalably.
  6. For designing - We have used Figma to prototype and design our entire web application.
  7. To generate the security key we used a package called, short-UUID. We verified using the key value in our database. Every time a doctor got access, the key was destroyed.
  8. Short-UUID is a package based on UUID. 9, For encryption, we have used the CP-ABE encryption standard. The encryption API was written in Java hosted on GCP.

Challenges we ran into

Coding challenges

  1. Encrypting the data. Deciding on a valid encryption standard was very important to our application and the user's privacy.
  2. Being absolute noobs in azure, Deploying with azure was difficult so we took some time there. It was tough but we did host it and deploy it successfully.
  3. Using GCP to deploy our cloud function was tough and very hard at first, but as we progressed we became more and more familiar and finally, worked our way out to actually deploy our cloud function. And setup API Calls

Soft Skills challenges

  • At first, we had a lot of ideas and recommendations from teammates about the project to work on. It was a hard decision to make to select any one project to work on.
  • When decided, we've tried to figure out what tools to use to make the project different from fellow hackers.
  • Our team is completely diverse and has people from 3 different time zones. It was pretty hard to manage but we decided to divide the work amongst the members and merged the work into a single project at the end.

Accomplishments that we're proud of

There are some accomplishments we are super proud of:

  1. Completing the project within the timeframe
  2. Successfully Initiating Notivize to send messages
  3. Using SHORT - UUID to create keys and also to verify them
  4. Completing the whole CP-ABE encryption
  5. Finishing the tough UI in pure HTML/CSS Code
  6. Hosting the app on azure!!

What we learned

This hackathon experience was super good and we definitely have some key takeaways

  1. Azure - As we told we were noobs but we gained confidence and learned basic hosting skills
  2. Notivize - Tbh absolute mind-blowing app will use it for further hackathons too
  3. Team cooperating skills - Being in diff timezones it was hard to collab

What's next for PrimaCare

  1. Using MCP-ABE to allow for instant revocation: can allow for multiple types of revocation: e.g. revoking users (gets fired), revoking certain attributes from the system (hospital closes down), revoking access to file
  2. Implementing medicine reminder -using Notivize to issue reminders
  3. Integration with insurance: reminder you have one free eye check-up this year expiring at the end of the month under your plan etc. 4, Admins - to control which health professional get which attribute
  4. Multiple Trusted Authority to remove the single point of failure
  5. Making the history realtime
  6. Improving the landing page
  • We will try our best to introduce PrimaCare as a real-world application as soon as possible.

Built With

Share this project:

Updates