Skip to content
Systems

Engineer (TietoEvry), then independent build

Clinical Notes Intelligence

A clinical documentation assistant for therapists. It started at TietoEvry as a LangChain RAG summariser, then became an independent build: upload a session, get a transcript, summaries, SOAP and BIRP notes, and grounded Q&A.

Stack

Python, FastAPI, LangChain, Azure OpenAI, ChromaDB, Streamlit, React, TypeScript, ffmpeg

Problem

After each session a therapist has to turn a conversation into structured notes. The notes must be accurate and must never claim something the session does not support.

Interface

Architecture

AudioffmpegTranscriptSOAP, BIRPEmbeddingsChromaDBRerankGuardrailsGrounded Q&A

What I built

  1. At TietoEvry: a GenAI therapy notes summariser with LangChain, RAG and Streamlit that significantly reduced practitioner review time.
  2. Independent build: React + TypeScript frontend and FastAPI backend; audio (MP3, WAV, M4A) or text upload with an editable transcript and ffmpeg pre-processing.
  3. Overall summary, key entities, SOAP note and BIRP note generation on Azure OpenAI, with a non-Azure OpenAI fallback.
  4. RAG Q&A over the session: chunking, embeddings, ChromaDB retrieval and reranking, confidence-threshold flagging and per-question caching.
  5. Guardrails keep answers grounded in the transcript, with no diagnoses and no PII.
  6. Runs fully offline on heuristic stubs when no AI credentials are configured; high-contrast, keyboard-navigable UI.

Stack

  • Python
  • FastAPI
  • LangChain
  • Azure OpenAI
  • ChromaDB
  • Streamlit
  • React
  • TypeScript
  • ffmpeg