Login Info for Judges

Email: tyler@tylerl.in Password: mednet


We made MedNet to address two major issues in modern healthcare: a lack of interoperability (transfer of data between disparate health systems) and a lack of physical equipment for workers. Because different hospitals use different electronic health records and health worker registries (HWRs), it is often impossible for hospitals to exchange health data that would be very useful for testing and communication purposes. We are aware of this problem, so we wanted to give MedNet users the ability to link their HWR and automatically connect their workers to the system, preventing the need to manually write data to a worker database. Furthermore, in the age of COVID-19 especially, personal protective equipment (PPE) such as respirators, ventilators, and masks are being used at an extraordinarily high rate, which inspired us to create a system that connects hospital departments in need of equipment to hospitals with resources to provide.

What it does

MedNet allows hospitals in need of equipment to register on the website by inputting the hospital name and the link to the data store for their health worker registry. After signing up, hospital department representatives may text the MedNet text line to ask for as much equipment as they need and set how urgent the request is. It was important that MedNet communicates over text, as hospitals in less-developed area generally have more access to mobile devices than computers. This information is sent to the website, which displays all current requests in order of urgency. All requests include the address, phone number, email, items in need, description, and urgency. Now, hospitals that have equipment to donate can browse through the requests and arrange donations with the requesting department via phone or email.

How we built it

MedNet was made in accordance with the Care Services Discovery (CSD) profile. Hospitals that register input the link to the data store for their health worker registry, a.k.a. their "Care Services InfoManager", as well as the XML document to query from. Here is an example HWR document. An OpenHIM mediator periodically fetches data from the HWR and sends to a Google Cloud MySQL database in JSON format via a PUT request to a RESTful API made in Node.js and Express. Therefore, when workers text the MedNet text line, we can check their phone numbers against the API to match the numbers to their respective owners and departments. The text line itself is made with Twilio's Programmable SMS service. When a worker finishes a text request, the request information is sent to a Google Cloud Firestore database via a request to another RESTful API made with Flask. Finally, the MedNet website retrieves requests from Firestore and updates its listings accordingly. The website and both APIs run on a Google Cloud Compute Engine Virtual Machine instance on Ubuntu. Registering and logging in are handled with Google Firebase Authentication.

Challenges we ran into

  • Figuring out how to create a Twilio SMS flow and connecting it to the Firestore database
  • Setting up an API with Flask
  • Initializing the development environment (OpenInfoMan and OpenHIM)
  • Managing permissions in the Google Cloud project
  • Connecting to the Cloud MySQL server
  • Opening ports on the Compute Engine Virtual Machine

Accomplishments that we're proud of

  • Establishing an organized plan
  • Figuring out how to add requests to Firestore after finishing a Twilio conversation
  • Fetching data from Firestore from the website
  • Creating a RESTful MySQL API with Express
  • Making the website look good
  • Successfully creating an OpenHIM mediator with orchestrations

What we learned

  • How to use Google Cloud
    • Virtual Machines
    • Firestore/Firebase
    • MySQL
  • Flask
  • Javascript
  • Bootstrap
  • Twilio API
  • Web design

What's next for MedNet

There are many things we would like to add to MedNet if given the opportunity to do so. We would like to add support for more Health Worker Registry managers—currently, MedNet only supports the OpenInfoMan. We could further promote interoperability by allowing hospitals with private HWRs to participate by installing OpenHIM and the mediator themselves. The overall security of the system is also something we would like to work on in order to prevent possible data breaches and assure hospitals that their information is safe. Additionally, as MedNet is meant to be a global effort, we want to work on translating the service in the future so that all hospitals can participate, no matter what they speak. Finally, we will aim to make the process of fulfilling requests easier by providing contact information and email templates.

Share this project: