Today, emergency physicians have very little to no information necessary to treat their patients. They have no accurate method to retrieve vital information such as medication, allergies, past medical history, or events that lead up to the emergency. This can severely impact the effectiveness of emergency care, and as a result, can prove very detrimental to a patient's health.
We have decided to solve this problem through a transparent, accountable and interoperable system for data exchange called EMSights.
What it does
EMSights uses Ethereum smart contracts to
1) Handle patient consent before an emergency situation
2) Authorize and Authenticate EMS/Physicians who are treating the patient at the time of the emergency by verifying physician ID cards, and using Ethereum accounts
2) Retrieve data (such as clinical charts, medication history, allergy details) through FHIR EHR servers and personal health IoT Devices (such as an Apple Watch, Medtronic Pacemaker, etc.)
3) Converts the data into FHIR resources (such as the observation, adverse event or medication resource)
4) Analyzes and processes the resulting information (such as discrepancies in information obtained from various sources) through natural language processing, health guideline evaluation, and time-series analysis.
5) Display the insights learned through a dashboard that allows the physician to understand the patient's health in less than 30 seconds.
How we built it
We wanted to ensure that several goals were met: transparency of data transactions, interoperability of the data we are receiving, and proper presentation of data to the ER physicians who have very little time to digest the patient data.
As a result, we decided to keep the backbone of this project as a blockchain, where all data transactions are recorded in a blockchain, and all processes in the system are run by smart contracts, which control all the decisions that are made by the system.
Next, to ensure that EHR data such as medication information can be received in an interoperable manner, we used FHIR resources to access medical information regarding the patient.
Finally, to ensure that the ER Physician has just the right amount of information necessary to treat the patient, we decided to first use national health guidelines to filter for and highlight abnormal data (such as abnormal blood pressure readings, or EKG readings), use time-series analysis to determine the correct sequence of clinical events (such as diagnoses, or past ER visits) and medication (and present the data in a timeline), and then put all of this information on a dashboard that a physician can quickly look through and understand the patient being treated.
Challenges we ran into
The first challenge was one of authentication and authorization. How do we ensure that the correct physician and EMS personnel have access to the patient data, especially if they do not know who this patient is? We are using an ethereum account to authenticate the provider. However, if a physician does not have an account, we thought to allow image-based verification of the physician's ID card which they use to enter the hospital where they work. EMSights will create an account for the provider and get that incorporated for any subsequens invocations. The UI development was a bit of a challenge, as we chose a python dart based setup, and we had to chase several bugs that took up some time.
Accomplishments that we're proud of
- EMSights architecture
- Getting the smart contracts to function
- Getting FHIR resources to work
- Basic UI prototype that follows the SAMPLE history
What we learned
- EMR systems are very messy, and there is no clear/cut way to extract data
- Authentication, and using a universal identifier is a very hard problem to solve
What's next for EMSights: Emergency Insights
- We will continue to add smart contracts, and think of better ways to authenticate a physician.
- A better way of parsing medical data is also necessary, which we may use machine learning to do.