I work with clinics in low-middle income areas of Kenya and after COVID-19 hit, my team and I noticed that patient visits were falling dramatically - in many cases over 50%, meaning that clinics are suddenly overstaffed and under-utilized.
When we started talking to clinics we realized that patients and staff were scared - health facilities had become a place where they could contract a deadly disease. Despite this, the existing disease burden hasn’t gone away, and patients still need to access care.
Most clinics aren't set up for any out-of-clinic care. They don't have secure ways of contacting patients, and patients don't have a platform that makes it easy to seek care. Our tool will connect these two groups, allowing clinics to generate demand for their services, and giving patients a way to seek care without needing an in-person visit.
What it does
Our platform is a simple and secure way for patients to get remote care, and for clinics to increase their patient volumes. The MVP allows them to find nearby clinics and contact medical staff at those clinics. They do this by texting the Mbali Health telemedicine WhatsApp number, which connects them with local care providers on the service based on their location. Practitioners at the patient's selected clinic can then choose to start a virtual consultation via the chat React PWA we built. Messages sent from the PWA are routed to the patient's WhatsApp and messages sent by the patient are routed to the appropriate practitioner.
What it doesn't do (yet)
A.K.A - low hanging fruit we didn't get to (Product RoadMap pt.1)
- The chatbot component is working perfectly, but we didn't have a chance to hook everything up in our demo video
- Didn't get a chance to hook up the "Waiting Room" where new messages that haven't been accepted by a practitioner should go.
- Patients should be able to see a menu of options at any point by sending the keyword menu. The menu will allow them to perform functions such as end their current consultation
- Allow VOIP calls
- Support multi-media messages. This is especially important for remote care because care providers might need the patient to send them pictures (an infected area, an injury, etc)
- Work with SMS
How I built it
We have two client-side messaging interfaces that allow a patient and a practitioner to speak to each other by routing messages through a server-side application.
- Patients send messages through WhatsApp to the Mbali Health WhatsApp number set up on Twilio
- Twilio forwards all messages to our backend, written in Node, using the Express framework.
- Messages are then either handled by a simple, menu-based chatbot that allows users to perform basic functions such as registering with a clinic, or forwarded to the socket layer, where they are pushed to the second client side messaging interface using socket.io
- The client-side for clinics and practitioners is a PWA built using react and styled with Material-UI. Messages are pushed down live using socket.io, and all other communication with the backend (such as retrieving chat history) is handled via a REST API
- We used MongoDb and Mongoose for our persistent storage. We would have added a caching layer for the chatbot to store message histories, but didn't have time.
Challenges I ran into
Our team was distributed across three timezones and we were working up to 7hrs difference from each other. This made coordinating tasks, reviewing each others' work, and making changes challenging.
Accomplishments that I'm proud of
- Coordinating a team of developers across three timezones to deliver a product in a few days
- Learning Express, ES6 and Mongo all two days (for one of us!)
What I learned
- Very practically, we all learned a lot about the stack we were using.
- We learned how to function better as a distributed, remote team
- We improved on identifying what needs to go into an MVP, and how to get there quickly
- How to divide up a complex task based on skills and interests
What's next for Mbali Health (Product RoadMap pt.2)
Our goal is to get this into clinics as fast as possible. Some of our team members work with Ilara Health, a health tech startup based in Nairobi that has a network of clinics it works with. We want to get this tool into the hands of clinicians as soon as possible so that they can start using it, and we can continue learning from them. However, be before we do that, we need to add some key features, in addition to the features mentioned above:
- Patients should have to enter a password after a period of inactivity to use the service
- A clinician should be able to send confidential data to a patient securely via a protected link. For example, if a clinician needed to send the results from a lab report, they could type them up, or take a picture, and then send the patient a password-protected link to that information. This would eventually be built out into a patient portal where patients would have full access to their
- Add additional channels such as Facebook Messenger and Telegram
In addition to the above, we want to integrate this tool with Ilara Health's COVID training program. Out of the box, our chatbot will allow clinics to administer care remotely, but we can go a step further by connecting patients with health facilities we know have undergone training on how to handle patients with COVID-19 symptoms, and directing them to those facilities. This will help patients find facilities that they will feel safer visiting, clinics attract more patients, and assist in the larger response to the COVID crisis in Kenya.
What does this look like integrated into the tool? Clinics that have undergone the training will be flagged as "COVID-ready" when patients are shown nearby clinics, and an automated message will go out at the beginning of each consultation chat letting the patient know that the clinic they are speaking with has been trained and can answer questions and direct the patient where appropriate.
This product was design to work in a real health ecosystem, not just as a fun project for a hackathon. Our team has deep expertise working in East Africa, and can make this a reality. After pilot, we want to offer this product as a subscription service with a fee that clinics pay based on the number of users that are registered with their facility. This is because, while clinics will certainly make some money from consultations as a revenue stream, this is also a demand generation tool that will increase footfall. Any consultations that need lab services or pharmaceuticals (the two areas where clinics make most of their money anyway) will increase clinic revenue through in-person traffic, and this figure will be priced into the subscription fee. Furthermore, as we add additional features, and integrate with other Health Information Systems, we can create additional premium tiers, further increasing revenue.
Note that the above, when combined with the training program mentioned under "COVID-19 Integration" means that this is still a safe, and effective way of keeping clinic revenue up during the COVID-19 pandemic.