Kulcare Docs
DeveloperCare plansCare planCurrent state

Current State: What's Implemented Today

Last Updated: December 2025

This section documents the clinical documentation features that are fully implemented and working in Kulcare today.

Quick Summary

FeatureStatusLocation
Longitudinal Health Record (LHR)Implemented/careplan/patient/:patientId
Care Plan / PrescriptionImplemented/prescription/:appointmentId/:patientId/*
Encounter ManagementImplementedIntegrated with Prescription
AI ScribeImplementedSidebar in Prescription
HIPAA Audit TrailImplementedSettings > Security

Implemented Clinical Hierarchy

Today, Kulcare implements a two-level clinical hierarchy:

Patient
   |
   +-- Longitudinal Health Record (LHR) <-- AGGREGATE VIEW
   |       |
   |       +-- Problems (PatientProblem)
   |       +-- Medications (from prescriptions)
   |       +-- Vitals/Measurements (from encounters)
   |       +-- Encounter History (flat list)
   |       +-- Health Score (computed)
   |
   +-- Encounters (via Prescription)
           +-- Vitals
           +-- Observations
           +-- Medications
           +-- Investigations
           +-- Advice
           +-- Follow-up

Note: Episode of Care is a planned feature - see Future State for details.


Feature Details

1. Longitudinal Health Record (LHR)

Route: /cms/careplan/patient/:patientId

Component: LongitudinalHealthRecord.tsx

The LHR provides a patient-centric aggregated view of all clinical data:

ComponentPurpose
PatientSummaryDashboardHealth score, alerts, key metrics
VitalsTrendChartBP, weight, heart rate trends over time
ProblemListManagerPersistent problem tracking with severity
MedicationTimelineMedication history visualization
EncounterHistoryAll patient encounters

API Endpoints:

GET /api/v1/clinics/:clinic_id/patients/:patient_id/longitudinal_health_record
GET /api/v1/clinics/:clinic_id/patients/:patient_id/longitudinal_health_record/problems
GET /api/v1/clinics/:clinic_id/patients/:patient_id/longitudinal_health_record/vitals_trends
GET /api/v1/clinics/:clinic_id/patients/:patient_id/longitudinal_health_record/medications_timeline

See LHR Feature Details for complete implementation.

2. Care Plan / Prescription

Route: /cms/prescription/:appointmentId/:patientId/*

The Care Plan feature provides comprehensive clinical documentation:

Implemented Phases (from original plan):

  • Phase 1: Core Infrastructure (navigation, types, mock data, API service)
  • Phase 2: Dashboard & Patient Selection
  • Phase 3: Vitals & Observations
  • Phase 4: AI Scribe Integration
  • Phase 5: Medication Management
  • Phase 6: Auto-save and Data Management
  • Phase 7: Print-friendly Layouts

Key Components:

  • CarePlanDashboard - Dashboard with statistics and patient list
  • NewEncounter - Patient selection for new encounters
  • EncounterPage - Main encounter editor with tabs
  • AIScribeSidebar - Voice transcription and AI suggestions

See Care Plan Feature Details for complete implementation.

3. Encounter System

Status: Fully integrated with Prescription

Encounters are the atomic clinical events where documentation is created. Currently:

  • Encounters navigate to PrescriptionPage for clinical documentation
  • All encounter types use the Prescription model
  • Supports: in_person | teleconsultation | follow_up | home_visit
  • Supports practitioner types: doctor | physiotherapist | psychologist | therapist | nurse | dietitian | other

Gap: All practitioners use the same Prescription model, which is doctor-centric. See Future State: Multi-Practitioner Documents for planned improvements.

4. AI Scribe

Location: frontend/apps/cms/src/features/aiScribe/

The AI Scribe provides voice transcription and AI-powered documentation assistance:

  • Recording controls with device selection
  • Real-time transcription display
  • AI suggestions for medications, diagnoses, tests
  • Accept/reject/modify workflow
  • Integration with encounter tabs

5. HIPAA Audit Trail

Location: packages/api-client/src/hipaaAuditService.ts

Comprehensive audit logging for PHI access:

  • Organization-wide access (Settings > Security > Audit Trail)
  • Patient-specific access (Patients List > Shield Icon)
  • Encounter-level access (Patient Header > Shield Icon)
  • Event categorization and emergency access tracking

Database Models (Current)

ModelPurpose
EncounterClinical visit/session
PrescriptionDoctor's clinical documentation
PatientProblemPersistent health conditions
PatientMedicineMedication records
PatientVitalVital signs data
ClinicalImpressionClinical assessments
MedicationRequestMedication orders
ServiceRequestLab/test orders
AppointmentScheduled appointments

Limitations / Known Gaps

These are documented limitations that will be addressed in future releases:

  1. No Episode of Care: Encounters exist independently, not grouped into treatment programs
  2. Doctor-Centric Model: Prescription model doesn't fit therapists, physiotherapists, dietitians
  3. Single Document per Encounter: Currently 1:1 mapping between encounter and prescription
  4. No Multi-Practitioner Encounters: Single provider per encounter
  5. No Data-Driven Assessments: PHQ-9, GAD-7 not yet implemented as instruments

See Future State for planned solutions.


On this page