CommunityPulse

CommunityPulse is a web application that helps outreach workers capture patient stories from those within the community in need. Through one-on-one interviews, it takes confidential patient information, parses and provides an in-depth analysis that helps to identiy social determinants of health. These are then plotted onto a geographical heatmap, thereby providing a visualization of community needs that can be filtered by age, gender, and other demographic factors.

Inspiration Behind Project - Understanding the Scope of the Problem

As per the World Health Organization, many physical and mental health problems are rooted in the socioeconomic determinants of health (I.e., the conditions in which people are born, grow, live, work, age and other wider forces that shape the daily lives of others across the globe).

Some immediate determinants may include:

  • Income and income distribution;
  • Quality education (I.e., literacy levels);
  • Unemployment and job security;
  • Employment and working conditions;
  • Housing, home repairs and neighbourhood conditions;
  • Access to healthy food;
  • Transportation issues;

However, there are wider forces at play that can also impact a person's onset of health problems, including:

  • Racism and discrimination;
  • Gender inequality;
  • Indigenous identity;
  • Language and culture;
  • Disability;
  • Sexual orientation;
  • Economic policies and systems etc.

According to research from WHO, the more deprived an area where people live, the higher their risk of premature death. As seen, a negative correlation exists, implicating the importance of addressing these social determinants of health to prevent the onset of health problems in the first place before issues escalate into more serious, costly, and difficult-to-treat conditions.

While most countries have different community outreach programs to connect with at-risk individuals, we believe that the information generated from these one-on-one interviews is often underutilized.

Knowing that WHO strongly encourages for action from both national and local political leaders to help address economic inequality, and ensure that everyone has the opportunity to attain their full health potential, we hope to help improve these processes by leveraging the information generated from these interviews to help identify and address the root causes of health problems in the first place.

Thus, we built CommunityPulse.

What is CommunityPulse?

CommunityPulse is a web application that helps outreach workers capture patient stories from those within the community in need. Through one-on-one interviews, it takes confidential patient information, parses and provides an in-depth analysis that helps to identiy social determinants of health. These are then plotted onto a geographical heatmap, thereby providing a visualization of high-risk areas that are in need of community services, which can be filtered by factors such as age, gender, and other demographic factors.

Key Features

Geographical Location Recording: To keep geographical information for each incident confidential, we decided to utilize a pinned location system, giving an approximate proximity of the incident. We did this to ensure that outreach workers can identify a particular district of incidents without revealing exact coordinates.

Interview Recording using the Web Speech API: For the interview intake, we emphasized on the importance of maintaining patient confidentiality. As such, we decided to attain broader patient information (I.e., age rackets rather than a designated numerical value; gender selection).

We also utilized the Web Speech API to allow outreach workers to record interviews in real-time, without the need for a third-party application, thereby preserving the privacy of our users in need.

Interview Transcript Anonymization & Analysis: We employed a combination of deterministic and probabilistic strategies to translate raw interview transcription into a structured data point. Our pipeline transforms each interview into a normalized record that combines predetermined metadata fields with model-generated analysis of both prevailing health issues and upstream socioeconomic determinants of health. This allows us to analyze transcripts not only in terms of the conditions a patient is experiencing, but also the broader structural and social factors contributing to those outcomes.

To achieve this, we built a two-agent pipeline powered by a local LLM through Ollama. The first agent is an anonymization agent whose sole responsibility is privacy protection: it removes personally identifying information from the transcript and generalizes location data by slightly perturbing coordinate information, helping preserve anonymity while still supporting meaningful geographic analysis. The second agent acts as a health determinants analysis agent, extracting structured biographic context, health issues, and social determinants of health from the anonymized transcript.

We also built several layers of validation into the pipeline to ensure quality and reliability. Outputs are checked and normalized after anonymization, validated again after analysis to ensure they conform to the expected structure, and then passed through an additional validation layer before being written to the database. This gives us a robust end-to-end workflow that turns unstructured interviews into privacy-conscious, analysis-ready data while maintaining a high standard for data quality.

Geographical Heatmap: Analyzed encounter records are plotted onto an interactive map built with Leaflet, giving health policy makers a live view of where community needs are concentrated across the city. The map uses official Statistics Canada Dissemination
Area boundaries, so the data aligns directly with the geographic units that public health reporting and resource allocation decisions are already based on.

The map can be filtered by health condition and social determinant of health, as well as by demographic factors like age and gender. Because each record captures the full picture of a patient's health issues and their underlying social
context, different filters reveal genuinely different parts of the city — making it possible to see, for example, where housing instability is driving health outcomes versus where language barriers are the dominant factor. This is the
kind of spatial, multi-factor view that is difficult to obtain from traditional aggregate health data, and that we believe can meaningfully inform where policy interventions are directed.

Tech Stack

CommunityPulse was built with the following technologies:

  • Next.js (A front-end framework for building web applications)
  • TypeScript (Programming language utilized for the Next.js framework)
  • Tailwind CSS (A CSS framework for building and customizing component designs)
  • Ollama (The local LLM used to process, anonymize and analyze interview transcriptions)
  • Leaflet (A JavaScript library for interactive maps)
  • Web Speech API (A JavaScript API for speech recognition and synthesis)
  • AWS Services (DynamoDB)

Challenges We Encountered

  • Balance protecting personal information with providing meaningful data to stakeholders
  • Optimize the user experience while server-side processes run sequential analyses

Accomplishments We're Proud Of

  1. Being able to configure and tailor our local LLM prompt to achieve exactly what we hoped for it to do!
  2. Integration of the Web Speech API to permit speech-to-text transcription
  3. Using a new technological tool to create a heatmap with additional features (I.e., sliders, filtering based off SDOH) to provide streamlined data to the end-user
  4. Making use of the technical skills that we've accrued through our past hackathon and current internship experiences to pull off a viable and functional MVP within less than 24 hours!

Future Plans

In terms of future feature implementations, we hope to accomplish the following with CommunityPulse:

  1. Multi-language expansion functionalities:

    We understand that many global communities speak different languages. Even for a city that is characterized by vast multiculturalism such as Vancouver, we hope to eventually expand our web application to support multiple languages to better serve the needs of our diverse communities. However, scalability is a challenge that we must address - we'll first streamline service delivery for those within the Greater Vancouver area before expanding to other regions (I.e., Calgary, Toronto - and one day, potentially the entirety of Canada).

  2. Integration with predictive analytics:

    As mentioned, the business model we wish to utilize for CommunityPulse is a "freemium" SaaS. For community-based organizations, such as non-profits and government agencies, we aim to provide a free tier of basic functionalities. However, for larger organizations, we hope to offer a premium tier that includes advanced features such as predictive analytics, which can be used to accurately predict and forecast potential healthcare crises' before they emerge and escalate as an enhaced preventative measure.

  3. Partnerships with government agencies:

    CommunityPulse is a tool that we believe can be of great use to government agencies in their efforts to address social determinants of health. By providing our local government with the tools and resources required to address growing community demands and needs, we believe that this step will be able to improve our target demographic: those who are most vulnerable.

Instructions to Locally Run This Project

For full setup instructions (prerequisites, local backend services, and troubleshooting), see the Developer Instructions.

References & Resources

Canadian Data

  1. https://www.canada.ca/en/public-health/services/health-promotion/population-health/what-determines-health.html

Vancouver-Based Data

  1. https://opentextbc.ca/peersupport/part/social-determinants-of-health/
  2. https://vancouver.ca/people-programs/research-and-data-toward-a-healthy-city-for-all.aspx (See: City of Vancouver Overall)
  3. https://communityhealth.phsa.ca/HealthProfiles/HealthReportFactorsThatAffectHealth/Vancouver%20-%20Aggregate
  4. https://pmc.ncbi.nlm.nih.gov/articles/PMC4910448/

The Problem Scope

  1. https://www.ncbi.nlm.nih.gov/books/NBK573923/
  2. https://www.who.int/news-room/fact-sheets/detail/social-determinants-of-health

Built With

Share this project:

Updates