Inspiration

As a medical student, I have observed a conflict that often arises between physicians and elderly patients when discussing patients' symptoms after taking medications: patients often require time to fully articulate their thoughts, while doctors are limited by appointment times and attempt to move along the conversation.

Clinilog seeks to fulfill both these seemingly-conflicting goals: allow patients to take their time discussing their clinical symptoms in a relaxed manner, while enabling physicians to receive the key components of the narrative in an efficient manner.

What it does

Clinilog allows patients to talk about their clinical symptoms at length into a site. This discussion is converted into text, which is then analyzed using an Entity and Semantic Parser, from which key clinical terms are identified and classified (as either "positive" or "negative" patient experiences).

This data is then used to automatically generate a patient report document, which details the key clinical components from the transcript and their classifications. This document can then be sent to the physician, who can quickly glean essential patient details from the breakdown, as opposed to spending time manually curating this information from a lengthy discussion with the patient.

How we built it

The Natural Language Processing technology behind the semantic analysis module utilizes Google Cloud Platform (GCP)'s Cloud Natural Language service. We implemented our own code to manipulate the entity and sentiment analysis results and dynamically generate a patient report from them.

The application is largely built in Python (and currently uses Flask as the web framework), with the frontend developed in HTML and vanilla Javascript.

Challenges we ran into

Striking a balance between technical features and ease-of-use -- especially given that this tool is targeted towards elderly patients -- was a challenge we consistently grappled with. Ultimately, we decided to wrap up all the semantic analysis modules under a layer which "just works" and requires minimal input from the user.

Accomplishments that we're proud of

Being able to put together a working product and corresponding pitch in such a short amount of time has been the greatest point of personal satisfaction of this process.

What we learned

We learned about the significant resources available via the Google Cloud Platform APIs, as well as how to quickly and efficiently leverage these resources when developing an application. Putting together a pitch also provided valuable experience in condensing our key ideas into a cohesive narrative.

What's next for Clinilog: AI-Assisted Symptom Analysis

While the GCP Cloud Natural Language Processing service offers a tremendous amount of power for semantically analyzing text, using more fine-tuned and domain-specific models will likely show improved performance when dealing with clinical data. Consequently, working on refining the semantic analysis component of this software will be a major focus of future challenges.

Moreover, we envision this tool being useful across different languages. Given that the speech-to-text and semantic analysis tools we used support other languages, adding support for other languages is another important priority.

Share this project:

Updates