Skip to content

Triagify: ML-Powered Medical Triage System

Notifications You must be signed in to change notification settings

aidanbunch/hacksc-x-2023

 
 

Repository files navigation

Triagify - HackSC X 2023 Submission

HackSC 2023 Slide 16_9

Inspiration

Our inspiration for Triagify came from numerous conversations with healthcare professionals, including primary care physicians and the founder of Nicolette. We also spoke with individuals involved in patient safety and analyzed sample EHR implementations with FHIR. The main issue we identified was the overwhelming amount of data coming into healthcare command centers, leading to medical errors due to the difficulty in sorting through this influx of data. Current triage accuracy rates are alarmingly low, at 60 percent or below, a statistic we aim to improve with our project.

HackSC 2023 Slide 16_9

What it does

Triagify is a web application designed to assist command center workers in hospitals with patient triage. It provides recommendations based on the ESI index, using a combination of patient-provided data and EHR system data. When a patient hits the call button, we take pre-diagnostic data from them. The patient view is streamlined, allowing patients to verbally express how they're feeling and provide video and audio data from their room. This data is interpreted using a fine-tuned LLaMA 2 7B model and translated into chief complaints. Alongside data from the EHR system (such as vitals, medical history, previous conditions, etc), a machine learning model assigns an ESI triage level to each patient. The command center view presents a Kanban board view of patients with different ESI/triage levels assigned to each.

HackSC 2023 Slide 16_9 (1) HackSC 2023 Slide 16_9 (2) HackSC 2023 Slide 16_9 (3)

How we built it

We built Triagify using a combination of machine learning and natural language processing techniques. On the frontend, we designed out a user interface by wireframing using Figma and then translating this into a web application using Next.js and Tailwind CSS. For the backend, we wrote routes using Flask and created the data processing pipeline using Python. We used a fine-tuned LLaMA 2 7B parameter model to interpret patient-provided audio and video data, translating this into chief complaints. We then combined this data with information from the EHR system, including patients' vitals, medical history, previous visits, demographics, and current medications. A machine learning model was then used to assign an ESI triage level to each patient.

screenshot1 screenshot2

Challenges we ran into

One of the main challenges we faced was ensuring the accuracy and reliability of our machine learning model. We had to ensure that the model was correctly interpreting the patient-provided data and accurately assigning ESI triage levels. Additionally, ensuring the privacy and security of patient data was a significant concern, particularly given the sensitive nature of the data being processed. Many of the datasets we came across for training our model were not able to be accessed without taking a patient safety course or having research credentials.

HackSC 2023 Slide 16_9 (4)

What's next for Triagify

Looking ahead, we plan to continue refining and improving Triagify. We aim to further enhance the accuracy of our machine learning model and explore additional features that could further assist command center workers. In the future, we want to expand past only triaging when patients hit the button. A good venue to explore might be all the wasted time in the ER where people wait for doctors that could be used to get pre-diagnostic data. Then, we could run our data processing backend and improve the triage pipeline universally in hospitals.

HackSC 2023 Slide 16_9 10

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 86.1%
  • TypeScript 10.6%
  • Python 1.8%
  • Other 1.5%