We chose to focus on medication tracking because it seemed approachable and engaging. The problem had many facets and and could be approached from several angles. We reached out to several different pharmacists to get a better understanding of the issue from their perspective. One of the pharmacists was Dylan's aunt, Cindy, who owns a pharmacy. She walked us through a number of issues that she faces every day. As we talked to her, it became apparent that this challenge was one of communication and awareness.
What does RxCheck do?
RxCheck offers a platform that allows physicians, pharmacists, and patients to coordinate the receipt and consumption of prescription medication. No single solution can interact with that many people at once. RxCheck provides an interconnected platform that facilitates communication between all parties.
How did you build it?
We split up and completed features based on our personal programming skills. Dylan tackled the API and text messaging features; Blake spent most of his time getting the Google Assistant features set up; Cameron used his extensive Angular skills to build a beautiful web user interface; finally, Brandon assisted Cameron with the web user interface, worked on establishing seed data, and completed house keeping chores along the way.
What challenges did you experience?
- Google Assistant did not recognize some names.
- Coordinating so many interconnected parts required coordinated teamwork and communication.
- Twilio provided some difficulty in making callbacks to the RxCheck API.
- RxJS does not provide a great way to
flatMapwithout caring about the results of the flatMapped Observable.
- Adopting a "divide-and-conquer" strategy led to the development of a product whose future we are all confident in.
- Given the short amount of time, still being able to focus on providing a platform that is both expandable and extendable.
What did you learn and how did you grow?
We had the opportunity to explore and work with new APIs. As a group of developers, we were able to test the limits of our abilities to work together as a functional team.
What's next for RxCheck?
The problem at hand is too complex to be solved within forty-eight hours. As such, we will highlight a few areas where we can expand on our current project for the benefit of all parties involved.
First, we picture an application that syncs with pharmacies' prescription systems. Its objective would be to convey a patient's prescription status, without adding more work to already-busy pharmacists. At this level, we would focus on automation, reporting, and analytics.
Second, we would like to expand on our use of the IoT, digital assistant software, and mobile devices. We would like to give patients the opportunity to opt-in to prescription reminders pushed to their smart devices and cellphones, beyond the end-of-prescription check-ins already offered. These would serve to notify medical professionals that patients are on-track, or their treatment may require adjustment.
Third, compliance is a major challenge faced by pharmacies. In addition to this, keeping anything on the shelf longer than necessary penalizes the pharmacy for holding it, the patient for not taking it, and other patients who may require it. Further notifications could be provided to our pharmaceutical users to aid in their day-to-day efforts.
What did you use to build RxCheck?
- The persistence layer was Microsoft SQL Server
- The API was build with Java and Spring Boot, it is a RESTful service that is webhook enabled.
- The Web App was built with Angular
- The telephony system was built leveraging the Twilio API
- The Google Assistant Action was built with DialogFlow and Cloud Functions for Firebase