Kulcare Docs
DeveloperPatientLhr

Longitudinal Health Record (LHR) — patient app

Note (2026-05-11): This doc captures the original LHR feature spec for the patient app. The live implementation has shipped; the API Requirements and Mock Data Structure sections below predate it and are kept for historical context only.

Up-to-date references:

Overview

The Longitudinal Health Record provides a comprehensive, timeline-based view of a patient's complete health journey, with contextual information and trends visualization, including symptom tracking and health data entry capabilities.

User Stories

  • As a patient, I want to view my complete health history in chronological order
  • As a patient, I want to see trends in my vital signs over time
  • As a patient, I want to track my ongoing health conditions and treatments
  • As a patient, I want to understand how my health has changed over time
  • As a patient, I want to log and track my symptoms over time
  • As a patient, I want to see patterns and triggers for my symptoms
  • As a patient, I want to share my symptom history with my healthcare provider
  • As a patient, I want to correlate symptoms with medications and treatments
  • As a patient, I want to manually enter my vital signs and health data

Information Architecture

  • Patient Timeline
  • Vital Signs Trends
    • Manual Vital Entry
    • Trend Visualization
  • Problem List Management
  • Medication History
  • Lab Results Summary
  • Clinical Encounters
  • Health Events
  • Symptom Diary
    • Add Symptom Entry
    • Symptom Timeline
    • Symptom Trends Analysis
    • Quick Symptom Logger
  • Symptom-Medication Correlation
  • Symptom Pattern Detection

Component Specifications

Health Data Entry Components

Add Vital Signs Dialog

  • Date and time selection
  • Blood pressure, heart rate, temperature inputs
  • Weight and blood glucose tracking
  • Oxygen saturation monitoring
  • Notes field for additional context
  • Organized in tabs for different vital categories

Symptom Tracking Components

Add Symptom Dialog

  • Symptom Selection

    • Searchable dropdown with common symptoms
    • Auto-complete from previous entries
    • Option to add custom symptoms
  • Severity Assessment

    • Visual severity scale (1-5)
    • 1 = Mild, 2 = Moderate, 3 = Significant, 4 = Severe, 5 = Critical
    • Color-coded indicators for quick recognition
  • Duration Tracking

    • How long symptom has been present
    • Options: Minutes, Hours, Days, Weeks
    • Start/end time selection
  • Trigger Identification

    • Common triggers checklist (food, stress, activity, weather, medication)
    • Custom trigger input field
    • Multiple trigger selection
  • Relief Factors

    • What helps alleviate the symptom
    • Pre-defined options (medication, rest, position change, heat/cold)
    • Custom relief method input
  • Associated Symptoms

    • Multi-select for related symptoms
    • Shows potential correlations
    • Links to other logged symptoms
  • Impact Assessment

    • How it affects daily activities
    • Scale: None / Mild / Moderate / Severe impact
    • Specific activity limitations

Symptom List View

  • Chronological symptom history display
  • Filter options:
    • Date range selector
    • Severity level filter
    • Symptom type/category
    • Body system grouping
  • Color-coded severity indicators
  • Expandable cards for detailed view
  • Quick actions (edit, delete, duplicate)
  • Severity Trends Chart

    • Line chart showing severity over time
    • Multiple symptom comparison
    • Adjustable time ranges
  • Frequency Heat Map

    • Calendar view with intensity colors
    • Daily symptom frequency
    • Pattern identification
  • Common Symptoms Chart

    • Bar chart of most frequent symptoms
    • Percentage breakdown
    • Time period selection
  • Trigger Correlation Analysis

    • Visual correlation between triggers and symptoms
    • Statistical significance indicators
    • Actionable insights

Quick Symptom Logger

  • One-click logging for frequent symptoms
  • Recent symptoms list for quick selection
  • Pre-filled with last entry details
  • "Same as yesterday" quick option
  • Minimal fields for rapid entry
  • Voice input support (future enhancement)

API Requirements

Vital Signs Endpoints

  • POST /api/vitals - Create new vital sign entry
  • GET /api/vitals - Retrieve vital signs history
  • PUT /api/vitals/:id - Update vital sign entry
  • DELETE /api/vitals/:id - Delete vital sign entry
  • GET /api/vitals/trends - Get vital sign trends and analytics

Symptom Tracking Endpoints

  • POST /api/symptoms - Create new symptom entry
  • GET /api/symptoms - Retrieve symptom history with filtering
  • PUT /api/symptoms/:id - Update symptom entry
  • DELETE /api/symptoms/:id - Delete symptom entry
  • GET /api/symptoms/trends - Get symptom analytics and patterns
  • GET /api/symptoms/correlations - Get symptom-medication correlations
  • GET /api/symptoms/triggers - Analyze trigger patterns
  • GET /api/symptoms/common - Get list of common symptoms by body system

Mock Data Structure

Vital Entry

interface VitalEntry {
  id?: string;
  date: Date;
  time?: string;
  bloodPressure?: {
    systolic: number;
    diastolic: number;
  };
  heartRate?: number;
  temperature?: number;
  weight?: number;
  bloodGlucose?: {
    value: number;
    type: 'fasting' | 'postprandial' | 'random';
  };
  oxygenSaturation?: number;
  notes?: string;
  source: 'manual' | 'device' | 'provider';
  createdAt?: Date;
  updatedAt?: Date;
}

Symptom Entry

interface SymptomEntry {
  id?: string;
  date: Date;
  symptom: string;
  severity: 1 | 2 | 3 | 4 | 5; // 1-5 scale
  duration: string;
  triggers?: string[];
  relievingFactors?: string[];
  associatedSymptoms?: string[];
  impact: 'none' | 'mild' | 'moderate' | 'severe';
  notes?: string;
  createdAt?: Date;
  updatedAt?: Date;
}

Implementation Checklist

Core LHR Components

  • Create timeline component
  • Implement vital signs charts
  • Build problem list interface
  • Add medication history view
  • Create lab results display
  • Implement encounter history
  • Add filtering and search
  • Enable data export functionality

Health Data Entry

  • Define health data types (VitalEntry, SymptomEntry)
  • Create add vital signs dialog component
  • Implement vital signs API integration
  • Add data validation and error handling

Symptom Tracking

  • Define symptom data types
  • Create add symptom dialog component
  • Implement symptom list view
  • Build symptom trends visualization
  • Add quick symptom logger
  • Create symptom-medication correlation
  • Implement symptom pattern detection
  • Add symptom export functionality
  • Create common symptoms database
  • Implement trigger analysis
  • Add symptom sharing with providers

On this page