In 2013 a study published in the Journal of Patient Safety revealed that the number of American deaths from preventable medical error was over 400 000 per year. That means a loss of life on the scale of 9/11 every two months.
And it doesn't even count:
- fatalities in outpatient settings
- similar figures in other countries
- serious yet non-lethal complications
What kind of errors do we mean? A large portion of these are incorrect fields in medical records - for example misdiagnosis, or dispensing the wrong type/amount of drug.
Unfortunately, even if mistakes are spotted in the records they are rarely reported. In another study of 800 patient records in three leading hospitals, researchers found more than 350 errors. Only 4 were reported by clinicians.
Why? The medical profession notoriously stigmatises failure. One mistake can devastate the victim and doctor alike. We hear unhelpful euphemisms like "there were complications", "we did the best we could". This perpetuates a culture of keeping patients distant from their own healthcare while making mistakes too terrifying for clinicians to dare learn from.
What it does
- Patients or medical professionals can access records by entering the patient's identifier.
- View the patient's past and current conditions.
- View their prescribed medication.
- Anonymously submit potential discrepancies and corrections to the current data.
- Easily view the corrections people have submitted so that they can be looked into.
- katch's MediMap system maps conditions of patients to medication received.
- View statistics for medications prescribed to each condition
- Automatically detect possible discrepancies, using a minimum prescription value that can be changed to change the sensitivity.
How we built it
- Started with trying to understand the structure of the FHIR system with example records given to us by TPP.
- Built a system to parse the JSON files to return the information that we needed to use such as identifiers, medication and conditions.
- Allowed searching by identifier to return a specific patient's file.
- Built some JUnit tests to test helper functions.
- Focused on what information we most wanted to display, and built functions to display them for a given patient identifier.
- Built a basic console interface with prompts to make it easier for the user to navigate.
- Conceptualised and built the MediMap as a data structure to unify the conditions and medications.
- Learnt how to use Google's Protocol Buffers as a system for storing our own corrections to the patient files separately.
- Built the system to let users add corrections to a specific file and have them be displayed correctly.
- Used the MediMap to generate possible corrections for medication.
Challenges we ran into
- Start of the hackathon was hard because we found the FHIR structure complex and it took us a long time to properly grasp.
- Having to discard features we wanted like a graphical interface so that we could spend more time on more important features like the MediMap corrections.
- Managing our energy - we found the hackathon physically and mentally taxing.
Accomplishments that we're proud of
This was both our first time at IC Hack and any kind of Hackathon ever. We are both proud of how much we learned, how we pushed ourselves, and how we made something impactful in such a short space of time.
What we learned
- Learning how to use and manipulate complex and unfamiliar data structures.
- Managing tasks so that we could finish in time with a satisfactory product.
- The many ways that data is used in relation to the healthcare industry.
What's next for katch
- Integrate current access control methods to verify that only people who are legally allowed to access patient records are able.
- Add a graphical interface to make it easier for people to use katch.
- Integrate with web services to allow users to look up conditions and medications within the application.
- Use timestamps of conditions to more accurately pinpoint what medications are being prescribed for which conditions.
- Calculate and display trends in medication data to make easier for professionals to see where mistakes are being made on a wider scale.