Inspiration

The healthcare systems of developing countries without strong legislation regarding EHRs like the US rely almost entirely on paper medical records. This leads to the patients constantly having to lug around folders of records and makes continuity of care very difficult. In more developed countries, doctors have access to electronic records where they can easily look at the medical history of a patient, something that simply isn’t possible with paper medical records. However, the current implementation of electronic medical records is not feasible for the developing world, as data entry to make proper electronic records is a huge time sink and there is already a shortage of doctors, making them too busy to consider spending their time doing data entry.

What it does

We seek to help solve this problem by creating a mobile app that can act as a digital medical scribe for the patient. This scribe can ‘see’ and ‘hear’ just like a real scribe and generates electronic medical records from existing paper medical records and live doctors’ visits using the user’s phone’s camera and mic, making for a smooth integration into the existing workflow. These medical records are then stored locally on the patients phone, so that they are private and secure, as well as being easily accessible to the patient through the app. The patient can then refer to these records themselves for information regarding diagnoses, prescriptions, and recommendations, or even show this information to their doctor in future visits, giving the doctor a more holistic view of the patients health. This allows the patient to receive better care from the doctor without having had to implement a time consuming and expensive EMR system for their entire practice or hospital, and without the patient having had to lug around huge stacks of disorganized paper. There are three main features to enable this: Generates electronic health records from paper records (handwritten or otherwise) using Google’s computer vision API and the smartphone’s camera Generates electronic health records from audio during appointments with doctors using a Flutter Speech to Text library and the smartphone’s mic A Patient can view all of their health records that have been generated using the app.

How I built it

Split tasks up amongst everyone in the group in terms of what everyone was most familiar with or wanted to try out. Anyone with a strong grasp on a certain aspect of the app, for example frontend, were assigned to those task(s) while those who were less experienced could help out with it as needed. Worked on as much of our assigned tasks as we could and troubleshoot any errors we had or were uncertain of as a group. Once someone was done with their task and had pushed their code into github, everyone in the group was alerted via discord, then if needed they could offer assistance to others who may be struggling. Much of this assistance came in the form of either further researching coding methods or troubleshooting errors.
We used the MVP (minimum viable product) method in order to determine what would be the most beneficial features to have in our app and for our targeted audience, as well as what can be done in the span of 24-29 hours. With this in mind we decided to go ahead and focus on these features in order to develop a working product/prototype. Tried to center it around a “novel” feature. Finding something which was ‘novel’ and building our app off of that idea seemed like a much better idea rather than implementing a bunch of ideas together to create something ‘new’.

Challenges I ran into

Merging, when merging some codes were lost or replaced which led to further errors and backtracking in order to fix the issue(s) First time coding or using languages/softwares such as flutter, firebase, json, and so on. Many of us have a mediocre or prior knowledge of the programs that we used, so there was a big learning curve we had to overcome before we were able to properly code what we wanted or intended to. Trying to come up with a ‘novel’ idea because a lot of our previous ideas already existed. We discovered on the day of that our idea was already taken so there was a lot of tweaking and adjusting in order to create something that, hopefully, is new and hasn’t already been done by someone else. Time zones were also another major issue since all of us lived in different timezones so coordinating meetups and anything that had to do with at least 2 people meant that we had to be online or awake at the same time. Otherwise all we could really do was just ask it into the chat and wait for a reply. Troubleshooting errors within our codes. We came across a lot of errors as this was either our first time or we haven’t had enough exposure to properly be able to know what it was we wanted to do, so a lot of what we did was a constant trial and error. A lot of references were also used, from websites such as stackoverflow to watching clips on youtube.

What I learned

Learning Flutter in 24 hours and being able to somewhat successfully implement it into our app. We spent the majority of our time during the first day learning and even afterwards we still continue to do so as most of the concepts and languages were something we weren’t experienced with. Building a working MVP that could already be somewhat useful in the real world, with some additional work We are proud of generating and executing an idea that is unique, practical, and meaningful for healthcare workers and patients How to code using these softwares and languages which we weren’t used to/have little experience with. Learning new concepts like asynchronous waiting in apps, pub.dev libraries, widget trees, onTap observers, and effective prototyping.

What's next for Scriber

Use the FHIR electronic medical record format for peak interoperability with existing electronic health record systems along with an easy to use UI to navigate this more complex format. Introduce a feature where patients can temporarily share all or some of their records with a doctor so that they appear on a computer screen or the doctor’s phone for improved convenience Add support for languages other than English to allow for non English speaking populations to use this application as well We could further polish our app further so that it not only looks cleaner but also functions better and is much easier to use/navigate.

Built With

Share this project:

Updates